From c790f5fba12e7d654736f87ac1c32804b1b23fd6 Mon Sep 17 00:00:00 2001 From: nmlgc Date: Sun, 13 Sep 2020 14:37:10 +0200 Subject: [PATCH] [Position independence] [th01/th02/th04/th05] False positives: Score values Part of P0118, funded by -Tom- and Ember2528. --- th01_reiiden.asm | 216 +++++++++++++++++++-------------------- th02_main.asm | 66 ++++++------ th04/main/item/items.hpp | 4 + th04_main.asm | 24 ++--- th04_maine.asm | 6 +- th05_main.asm | 33 +++--- th05_maine.asm | 4 +- 7 files changed, 179 insertions(+), 174 deletions(-) diff --git a/th01_reiiden.asm b/th01_reiiden.asm index e7220296..d7dd6e24 100644 --- a/th01_reiiden.asm +++ b/th01_reiiden.asm @@ -2519,7 +2519,7 @@ sub_D02F proc far push bp mov bp, sp movsx eax, word_34A8A - imul eax, 61A80h + imul eax, 400000 cmp eax, _score ja short loc_D07A cmp _lives, LIVES_MAX @@ -3233,7 +3233,7 @@ loc_D583: les bx, _resident mov eax, es:[bx+reiidenconfig_t.score] mov _score, eax - mov ebx, 61A80h + mov ebx, 400000 cdq idiv ebx inc ax @@ -7071,9 +7071,9 @@ arg_0 = word ptr 6 mov ax, word_39DAC imul ax, 3 mov si, ax - cmp si, 1999h + cmp si, 6553 jle short loc_13210 - mov si, 1999h + mov si, 6553 loc_13210: xor di, di @@ -7082,7 +7082,7 @@ loc_13210: loc_13214: movsx eax, si - add dword_34A5E, eax + add score_34A5E, eax inc di loc_1321E: @@ -7113,9 +7113,9 @@ loc_1321E: mov ax, _cardcombo_max imul ax, 100 mov si, ax - cmp si, 1999h + cmp si, 6553 jle short loc_13277 - mov si, 1999h + mov si, 6553 loc_13277: xor di, di @@ -7124,7 +7124,7 @@ loc_13277: loc_1327B: movsx eax, si - add dword_34A5E, eax + add score_34A5E, eax inc di loc_13285: @@ -7139,15 +7139,15 @@ loc_13285: call _graph_putsa_fx add sp, 0Ah mov ax, _lives - imul ax, 0C8h + imul ax, 200 mov si, ax mov al, _bombs cbw - imul ax, 64h + imul ax, 100 add si, ax - cmp si, 1999h + cmp si, 6553 jle short loc_132C2 - mov si, 1999h + mov si, 6553 loc_132C2: xor di, di @@ -7156,7 +7156,7 @@ loc_132C2: loc_132C6: movsx eax, si - add dword_34A5E, eax + add score_34A5E, eax inc di loc_132D0: @@ -7172,11 +7172,11 @@ loc_132D0: add sp, 0Ah mov ax, [bp+arg_0] dec ax - imul ax, 0C8h + imul ax, 200 mov si, ax - cmp si, 1999h + cmp si, 6553 jle short loc_13305 - mov si, 1999h + mov si, 6553 loc_13305: xor di, di @@ -7185,7 +7185,7 @@ loc_13305: loc_13309: movsx eax, si - add dword_34A5E, eax + add score_34A5E, eax inc di loc_13313: @@ -7199,14 +7199,14 @@ loc_13313: push 256 call _graph_putsa_fx add sp, 0Ah - mov eax, dword_34A5E + mov eax, score_34A5E add _score, eax - mov ebx, 2710h + mov ebx, 10000 xor edx, edx div ebx mov [bp+var_A], ax - imul ax, 2710h - mov dx, word ptr dword_34A5E + imul ax, 10000 + mov dx, word ptr score_34A5E sub dx, ax mov [bp+var_C], dx mov ax, [bp+arg_0] @@ -7217,7 +7217,7 @@ loc_13313: shl dx, 2 les bx, _resident add bx, dx - mov eax, dword_34A5E + mov eax, score_34A5E mov es:[bx+reiidenconfig_t.bonus_per_stage], eax mov ax, [bp+var_A] mov bx, 0Ah @@ -7239,7 +7239,7 @@ loc_13313: call sub_13033 add sp, 6 mov ax, [bp+var_C] - mov bx, 3E8h + mov bx, 1000 cwd idiv bx push ax @@ -7249,13 +7249,13 @@ loc_13313: push ax call sub_13033 add sp, 6 - mov bx, 3E8h + mov bx, 1000 mov ax, [bp+var_C] cwd idiv bx mov [bp+var_C], dx mov ax, [bp+var_C] - mov bx, 64h ; 'd' + mov bx, 100 cwd idiv bx push ax @@ -7265,13 +7265,13 @@ loc_13313: push ax call sub_13033 add sp, 6 - mov bx, 64h ; 'd' + mov bx, 100 mov ax, [bp+var_C] cwd idiv bx mov [bp+var_C], dx mov ax, [bp+var_C] - mov bx, 0Ah + mov bx, 10 cwd idiv bx push ax @@ -7312,7 +7312,7 @@ loc_1345A: jz short loc_13452 loc_13468: - mov dword_34A5E, 0 + mov score_34A5E, 0 pop di pop si leave @@ -7361,9 +7361,9 @@ arg_0 = word ptr 6 imul ax, 5 movzx eax, ax mov [bp+var_6], eax - cmp [bp+var_6], 1999h + cmp [bp+var_6], 6553 jle short loc_13505 - mov [bp+var_6], 1999h + mov [bp+var_6], 6553 loc_13505: xor si, si @@ -7372,45 +7372,45 @@ loc_13505: loc_13509: mov eax, [bp+var_6] - add dword_34A5E, eax + add score_34A5E, eax inc si loc_13513: cmp si, 0Ah jb short loc_13509 mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx push ax pushd 56h ; 'V' call sub_12BAB mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx push ax push 10056h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx push ax push 20056h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx mov [bp+var_6], edx @@ -7427,9 +7427,9 @@ loc_13513: imul ax, 200 cwde mov [bp+var_6], eax - cmp [bp+var_6], 1999h + cmp [bp+var_6], 6553 jle short loc_135D4 - mov [bp+var_6], 1999h + mov [bp+var_6], 6553 loc_135D4: xor si, si @@ -7438,45 +7438,45 @@ loc_135D4: loc_135D8: mov eax, [bp+var_6] - add dword_34A5E, eax + add score_34A5E, eax inc si loc_135E2: cmp si, 0Ah jb short loc_135D8 mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx push ax pushd 6Bh ; 'k' call sub_12BAB mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx push ax push 1006Bh call sub_12BAB mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx push ax push 2006Bh call sub_12BAB mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx mov [bp+var_6], edx @@ -7490,17 +7490,17 @@ loc_135E2: call _frame_delay pop cx mov ax, _lives - imul ax, 1F4h + imul ax, 500 cwde mov [bp+var_6], eax mov al, _bombs cbw - imul ax, 0C8h + imul ax, 200 cwde add [bp+var_6], eax - cmp [bp+var_6], 1999h + cmp [bp+var_6], 6553 jle short loc_136B1 - mov [bp+var_6], 1999h + mov [bp+var_6], 6553 loc_136B1: xor si, si @@ -7509,45 +7509,45 @@ loc_136B1: loc_136B5: mov eax, [bp+var_6] - add dword_34A5E, eax + add score_34A5E, eax inc si loc_136BF: cmp si, 0Ah jb short loc_136B5 mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx push ax pushd 80h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx push ax push 10080h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx push ax push 20080h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx mov [bp+var_6], edx @@ -7561,12 +7561,12 @@ loc_136BF: call _frame_delay pop cx mov ax, [bp+arg_0] - imul ax, 3E8h + imul ax, 1000 cwde mov [bp+var_6], eax - cmp [bp+var_6], 0FFFAh + cmp [bp+var_6], 65530 jle short loc_13784 - mov [bp+var_6], 0FFFAh + mov [bp+var_6], 65530 loc_13784: xor si, si @@ -7575,50 +7575,50 @@ loc_13784: loc_13788: mov eax, [bp+var_6] - add dword_34A5E, eax + add score_34A5E, eax inc si loc_13792: cmp si, 0Ah jb short loc_13788 mov eax, [bp+var_6] - mov ebx, 2710h + mov ebx, 10000 cdq idiv ebx push ax push 0FFFF0095h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 2710h + mov ebx, 10000 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx push ax pushd 95h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 3E8h + mov ebx, 1000 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx push ax push 10095h call sub_12BAB mov eax, [bp+var_6] - mov ebx, 64h ; 'd' + mov ebx, 100 cdq idiv ebx mov [bp+var_6], edx mov eax, [bp+var_6] - mov ebx, 0Ah + mov ebx, 10 cdq idiv ebx push ax @@ -7633,14 +7633,14 @@ loc_13792: push 5 call _frame_delay pop cx - mov eax, dword_34A5E + mov eax, score_34A5E add _score, eax - mov ebx, 2710h + mov ebx, 10000 xor edx, edx div ebx mov [bp+var_2], ax - imul ax, 2710h - mov dx, word ptr dword_34A5E + imul ax, 10000 + mov dx, word ptr score_34A5E sub dx, ax mov di, dx mov ax, [bp+var_2] @@ -7727,7 +7727,7 @@ loc_13933: jz short loc_1392B loc_13941: - mov dword_34A5E, 0 + mov score_34A5E, 0 call _ptn_free stdcall, PTN_SLOT_NUMB pop cx pop di @@ -15418,7 +15418,7 @@ loc_1BFEF: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -15788,7 +15788,7 @@ loc_1C3AC: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -16118,7 +16118,7 @@ loc_1C702: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -16492,7 +16492,7 @@ loc_1CABD: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -16926,7 +16926,7 @@ loc_1CFDC: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -17596,7 +17596,7 @@ loc_1D6C4: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -18320,7 +18320,7 @@ loc_1DF5A: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -21553,7 +21553,7 @@ loc_1FBAC: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -21674,7 +21674,7 @@ loc_1FCF7: push ax push seg main_32_TEXT push offset sub_21884 - push 1388h + push 5000 push 2 push ss lea ax, [bp+var_2] @@ -21898,9 +21898,9 @@ loc_1FECE: les bx, off_39EAC add bx, ax mov es:[bx], edx - cmp dword ptr es:[bx], 6400h + cmp dword ptr es:[bx], 25600 jbe short loc_1FF15 - mov dword ptr es:[bx], 6400h + mov dword ptr es:[bx], 25600 loc_1FF15: mov ax, si @@ -25132,7 +25132,7 @@ arg_4 = dword ptr 0Ah arg_8 = dword ptr 0Eh arg_C = dword ptr 12h arg_10 = byte ptr 16h -arg_12 = word ptr 18h +@@score = word ptr 18h arg_14 = dword ptr 1Ah arg_18 = byte ptr 1Eh @@hitbox_left = word ptr 20h @@ -25218,7 +25218,7 @@ loc_21B5B: mov _orb_velocity_x, OVX_4_LEFT loc_21B61: - movsx eax, [bp+arg_12] + movsx eax, [bp+@@score] add _score, eax call _hud_score_and_cardcombo_render push 3 @@ -27830,7 +27830,7 @@ loc_23118: push ax push seg main_32_TEXT push offset sub_21884 - push 0BB8h + push 3000 push 1 push ss lea ax, [bp+var_2] @@ -27930,7 +27930,7 @@ loc_2320E: push ax push seg main_32_TEXT push offset sub_21884 - push 0BB8h + push 3000 push 1 push ss lea ax, [bp+var_2] @@ -30532,7 +30532,7 @@ loc_24B3E: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_4] @@ -30616,7 +30616,7 @@ loc_24C2A: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_4] @@ -30654,7 +30654,7 @@ loc_24C81: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_4] @@ -30737,7 +30737,7 @@ loc_24D59: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_4] @@ -36148,7 +36148,7 @@ loc_2827D: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_8] @@ -36276,7 +36276,7 @@ loc_283D4: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_8] @@ -36471,7 +36471,7 @@ loc_285A5: push ax push seg main_32_TEXT push offset sub_21884 - push 1B58h + push 7000 push 4 push ss lea ax, [bp+var_8] @@ -42938,7 +42938,7 @@ loc_2C440: push [bp+var_5] push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_5+1] @@ -43031,7 +43031,7 @@ loc_2C533: push [bp+var_5] push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_5+1] @@ -43149,7 +43149,7 @@ loc_2C64F: push [bp+var_5] push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_5+1] @@ -43270,7 +43270,7 @@ loc_2C784: push [bp+var_5] push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_5+1] @@ -43644,7 +43644,7 @@ loc_2CBC2: push [bp+var_5] push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_5+1] @@ -47166,7 +47166,7 @@ loc_2EFDD: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47278,7 +47278,7 @@ loc_2F0F7: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47408,7 +47408,7 @@ loc_2F22D: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47520,7 +47520,7 @@ loc_2F347: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47643,7 +47643,7 @@ loc_2F470: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47761,7 +47761,7 @@ loc_2F5A2: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -47956,7 +47956,7 @@ loc_2F766: push ax push seg main_32_TEXT push offset sub_21884 - push 2710h + push 10000 push 3 push ss lea ax, [bp+var_C] @@ -48446,7 +48446,7 @@ byte_34A58 db 0 _player_sliding db 0 public _score _score dd 0 -dword_34A5E dd 0 +score_34A5E dd 0 dword_34A62 dd 0 _continues_total dd 0 dw 0 diff --git a/th02_main.asm b/th02_main.asm index 9359708f..d6838c31 100644 --- a/th02_main.asm +++ b/th02_main.asm @@ -6570,7 +6570,7 @@ loc_DBFE: loc_DC28: mov eax, dword_218A4 - add dword_218AC, eax + add score_218AC, eax loc_DC31: call sub_C914 @@ -6603,7 +6603,7 @@ loc_DCE0: mov eax, [bx+0B2Eh] cmp eax, _score jle short loc_DCDC - mov dword_218AC, 0 + mov score_218AC, 0 pop bp retn sub_DCD1 endp @@ -6616,9 +6616,9 @@ sub_DCD1 endp sub_DCFE proc far push bp mov bp, sp - mov eax, dword_218AC + mov eax, score_218AC add _score, eax - mov dword_218AC, 0 + mov score_218AC, 0 mov word_218B0, 0 pop bp retf @@ -6633,9 +6633,9 @@ sub_DD1B proc near push bp mov bp, sp mov _score, 0 - mov dword_218AC, 0 + mov score_218AC, 0 mov word_218B0, 0 - mov dword_1E5B8, 9C40h + mov dword_1E5B8, 40000 pop bp retn sub_DD1B endp @@ -6652,15 +6652,15 @@ var_4 = dword ptr -4 push bp mov bp, sp sub sp, 4 - cmp dword_218AC, 0 + cmp score_218AC, 0 jz loc_DE46 cmp byte_2066C, 0 jnz short loc_DDA1 - mov eax, dword_218AC + mov eax, score_218AC mov [bp+var_4], eax - cmp [bp+var_4], 20h ; ' ' + cmp [bp+var_4], 32 jge short loc_DD6F - mov [bp+var_4], 20h ; ' ' + mov [bp+var_4], 32 loc_DD6F: mov eax, [bp+var_4] @@ -6669,9 +6669,9 @@ loc_DD6F: movzx eax, word_218B0 cmp eax, [bp+var_4] jge short loc_DDA7 - cmp [bp+var_4], 457h + cmp [bp+var_4], 1111 jle short loc_DD99 - mov [bp+var_4], 457h + mov [bp+var_4], 1111 loc_DD99: mov ax, word ptr [bp+var_4] @@ -6680,22 +6680,22 @@ loc_DD99: ; --------------------------------------------------------------------------- loc_DDA1: - mov word_218B0, 0C27h + mov word_218B0, 3111 loc_DDA7: - mov eax, dword_218AC + mov eax, score_218AC mov [bp+var_4], eax movzx eax, word_218B0 sub [bp+var_4], eax cmp [bp+var_4], 0 jge short loc_DDCE - mov ax, word ptr dword_218AC + mov ax, word ptr score_218AC mov word_218B0, ax mov [bp+var_4], 0 loc_DDCE: mov eax, [bp+var_4] - mov dword_218AC, eax + mov score_218AC, eax movzx eax, word_218B0 add _score, eax call hud_score_put pascal, 6, large [_score] @@ -6751,7 +6751,7 @@ sub_DD41 endp sub_DE4E proc far push bp mov bp, sp - mov eax, dword_218AC + mov eax, score_218AC add _score, eax call hud_score_put pascal, 6, large [_score] mov eax, _score @@ -9623,7 +9623,7 @@ loc_FD5A: cdq idiv ebx mov [bp+var_4], eax - add dword_218AC, eax + add score_218AC, eax call _snd_se_reset call sub_DE4E call _snd_se_update @@ -9762,7 +9762,7 @@ loc_FEB9: cdq idiv ebx mov [bp+var_4], eax - add dword_218AC, eax + add score_218AC, eax call _snd_se_reset call sub_DE4E call _snd_se_update @@ -12513,7 +12513,7 @@ loc_1161B: loc_1166B: call _snd_se_play c, 2 mov byte ptr [si+2BF0h], 1 - add dword_218AC, 4E20h + add score_218AC, 20000 jmp short loc_11689 ; --------------------------------------------------------------------------- @@ -12831,7 +12831,7 @@ loc_118DC: cmp ax, [bx+2BD4h] jg short loc_1193E mov byte ptr [si+2BF0h], 2 - add dword_218AC, 7530h + add score_218AC, 30000 cmp si, 3 jg short loc_11939 mov bx, si @@ -14951,7 +14951,7 @@ loc_129BA: loc_129CD: mov ax, [bp+var_8] - add word ptr dword_218AC, ax + add word ptr score_218AC, ax mov ax, [bp+var_8] pop di pop si @@ -17106,7 +17106,7 @@ loc_13A4B: loc_13A6B: call _snd_se_play c, 2 mov byte_2066A, 1 - add dword_218AC, 2710h + add score_218AC, 10000 jmp short loc_13AB8 ; --------------------------------------------------------------------------- @@ -17588,7 +17588,7 @@ var_2 = word ptr -2 loc_13F18: mov byte_2066A, 1 - add dword_218AC, 4E20h + add score_218AC, 20000 mov _player_invincibility_time, BOSS_DEFEAT_INVINCIBILITY_FRAMES loc_13F2B: @@ -18114,7 +18114,7 @@ loc_1438D: loc_143AD: call _snd_se_play c, 2 mov byte_2066A, 1 - add dword_218AC, 4E20h + add score_218AC, 20000 jmp short loc_143E1 ; --------------------------------------------------------------------------- @@ -18410,7 +18410,7 @@ loc_14628: cmp word_2065A, 960h jl short loc_14699 mov byte_2066A, 1 - add dword_218AC, 7530h + add score_218AC, 30000 mov _player_invincibility_time, BOSS_DEFEAT_INVINCIBILITY_FRAMES jmp short loc_14699 ; --------------------------------------------------------------------------- @@ -24191,7 +24191,7 @@ loc_17864: call _snd_se_play c, 3 mov bx, word_26C48 mov eax, [bx+12h] - add dword_218AC, eax + add score_218AC, eax mov al, _rank cbw cmp ax, RANK_LUNATIC @@ -27957,7 +27957,7 @@ loc_19C4A: les bx, _resident mov es:[bx+mikoconfig_t.score_highest], eax mov eax, _score - imul eax, 0Ah + imul eax, 10 movzx edx, es:[bx+mikoconfig_t.continues_used] add eax, edx mov es:[bx+mikoconfig_t.score], eax @@ -28391,7 +28391,7 @@ loc_1A07E: jle short loc_1A0CA call _snd_se_play c, 2 mov byte_2066A, 1 - add dword_218AC, 0C350h + add score_218AC, 50000 cmp word_20616, 660h jnz short loc_1A0B6 mov di, 4 @@ -29372,7 +29372,7 @@ loc_1AABB: cmp word_2065A, 384h jl short loc_1AAD6 mov byte_2066A, 1 - add dword_218AC, 4E20h + add score_218AC, 20000 mov _player_invincibility_time, BOSS_DEFEAT_INVINCIBILITY_FRAMES loc_1AAD6: @@ -29487,7 +29487,7 @@ loc_1ABD1: mov bx, si add bx, bx mov word ptr [bx-6D46h], 1 - add dword_218AC, 1388h + add score_218AC, 5000 loc_1ABEE: mov al, _page_front @@ -33819,7 +33819,7 @@ bombs db 3 db 0F5h db 5 word_1E5B6 dw 0 -dword_1E5B8 dd 9C40h +dword_1E5B8 dd 40000 include th02/main/hud/score_put[data].asm word_1E5D8 dw 4140h word_1E5DA dw 4342h @@ -34829,7 +34829,7 @@ dword_218A4 dd ? byte_218A8 db ? db ? word_218AA dw ? -dword_218AC dd ? +score_218AC dd ? word_218B0 dw ? shot_level db ? db ? diff --git a/th04/main/item/items.hpp b/th04/main/item/items.hpp index 8a096693..fb2697e5 100644 --- a/th04/main/item/items.hpp +++ b/th04/main/item/items.hpp @@ -43,6 +43,10 @@ void pascal near items_add(Subpixel x, Subpixel y, item_type_t type); extern unsigned char item_playperf_raise; extern unsigned char item_playperf_lower; +#if GAME == 5 + extern unsigned int item_point_score_at_full_dream; +#endif + // Items dropped when losing a life // -------------------------------- #define MISS_ITEM_COUNT 5 diff --git a/th04_main.asm b/th04_main.asm index 52a225fc..705ef9eb 100644 --- a/th04_main.asm +++ b/th04_main.asm @@ -29803,8 +29803,8 @@ var_4 = dword ptr -4 les bx, _resident mov al, es:[bx+resident_t.stage] mov ah, 0 - imul ax, 64h - add ax, 64h ; 'd' + imul ax, 100 + add ax, 100 mov si, ax movzx eax, si mov [bp+var_4], eax @@ -29854,21 +29854,21 @@ var_4 = dword ptr -4 call sub_1D48E mov eax, [bp+var_4] add _score_delta, eax - cmp [bp+var_8], 124F80h + cmp [bp+var_8], 1200000 jb short loc_1D814 push 4 jmp short loc_1D82E ; --------------------------------------------------------------------------- loc_1D814: - cmp [bp+var_8], 0C3500h + cmp [bp+var_8], 800000 jb short loc_1D822 push 2 jmp short loc_1D82E ; --------------------------------------------------------------------------- loc_1D822: - cmp [bp+var_8], 7A120h + cmp [bp+var_8], 500000 jb short loc_1D835 push 1 @@ -29878,14 +29878,14 @@ loc_1D82E: ; --------------------------------------------------------------------------- loc_1D835: - cmp [bp+var_8], 186A0h + cmp [bp+var_8], 100000 ja short loc_1D843 push 2 jmp short loc_1D84F ; --------------------------------------------------------------------------- loc_1D843: - cmp [bp+var_8], 30D40h + cmp [bp+var_8], 200000 ja short loc_1D854 push 1 @@ -29956,7 +29956,7 @@ loc_1D922: call text_putsa call text_putsa pascal, (6 shl 16) + 17, ds, offset aBONUS_POINT_2, TX_WHITE call text_putsa pascal, (6 shl 16) + 21, ds, offset aBONUS_TOTAL_2, TX_WHITE - mov si, 3E8h + mov si, 1000 movzx eax, si mov [bp+var_4], eax push 6 @@ -29990,8 +29990,8 @@ loc_1D922: les bx, _resident mov al, es:[bx+resident_t.rem_lives] mov ah, 0 - imul ax, 3E8h - add ax, 0FC18h + imul ax, 1000 + add ax, -1000 jmp short loc_1D9CE ; --------------------------------------------------------------------------- @@ -29999,8 +29999,8 @@ loc_1D9BD: les bx, _resident mov al, es:[bx+resident_t.rem_lives] mov ah, 0 - imul ax, 0BB8h - add ax, 0F448h + imul ax, 3000 + add ax, -3000 loc_1D9CE: mov si, ax diff --git a/th04_maine.asm b/th04_maine.asm index 7a917a8b..99787db4 100644 --- a/th04_maine.asm +++ b/th04_maine.asm @@ -3044,15 +3044,15 @@ loc_BD24: loc_BDD4: les bx, _resident movzx eax, es:[bx+resident_t.score_last][6] - imul eax, 2710h + imul eax, 10000 add dword_124CE, eax cmp es:[bx+resident_t.score_last][7], 3 jbe short loc_BE08 mov al, es:[bx+resident_t.score_last][7] mov ah, 0 - add ax, 0FFFDh + add ax, -3 cwde - imul eax, 186A0h + imul eax, 100000 add dword_124CE, eax loc_BE08: diff --git a/th05_main.asm b/th05_main.asm index 920d7f0d..cfb282ff 100644 --- a/th05_main.asm +++ b/th05_main.asm @@ -684,7 +684,7 @@ loc_B16F: jmp cs:off_B225[bx] @@easy: - mov word_2C988, 1770h + mov _item_point_score_at_full_dream, 6000 mov score_2C97C, 25 mov _playperf_min, 16 mov _playperf_max, 32 @@ -693,7 +693,7 @@ loc_B16F: ; --------------------------------------------------------------------------- @@normal: - mov word_2C988, 2710h + mov _item_point_score_at_full_dream, 10000 mov score_2C97C, 50 mov _playperf_min, 24 mov _playperf_max, 40 @@ -701,7 +701,7 @@ loc_B16F: ; --------------------------------------------------------------------------- @@hard: - mov word_2C988, 3A98h + mov _item_point_score_at_full_dream, 15000 mov _playperf, 44 mov score_2C97C, 100 mov _playperf_min, 44 @@ -711,7 +711,7 @@ loc_B16F: ; --------------------------------------------------------------------------- @@lunatic: - mov word_2C988, 4E20h + mov _item_point_score_at_full_dream, 20000 mov score_2C97C, 200 mov _playperf, 48 mov _playperf_min, 48 @@ -721,7 +721,7 @@ loc_B16F: ; --------------------------------------------------------------------------- @@extra: - mov word_2C988, 9C40h + mov _item_point_score_at_full_dream, 40000 mov score_2C97C, 500 mov _playperf_min, 32 mov _playperf_max, 36 @@ -10443,7 +10443,7 @@ loc_12783: mov ax, _player_pos.cur.y cmp ax, [bp+var_6] jb short loc_127BD - add si, 16h + add si, 22 loc_127BD: cmp byte_2297E, 0 @@ -12660,8 +12660,8 @@ loc_165F8: call text_putsa pascal, (6 shl 16) + 21, ds, BONUS_TOTAL, TX_WHITE mov al, _stage_id mov ah, 0 - imul ax, 64h - add ax, 64h ; 'd' + imul ax, 100 + add ax, 100 mov si, ax movzx eax, si mov [bp+var_4], eax @@ -12716,21 +12716,21 @@ loc_166B2: nopcall hud_points_put loc_166CD: - cmp [bp+var_4], 124F80h + cmp [bp+var_4], 1200000 jb short loc_166DB push 4 jmp short loc_166F5 ; --------------------------------------------------------------------------- loc_166DB: - cmp [bp+var_4], 0C3500h + cmp [bp+var_4], 800000 jb short loc_166E9 push 2 jmp short loc_166F5 ; --------------------------------------------------------------------------- loc_166E9: - cmp [bp+var_4], 7A120h + cmp [bp+var_4], 500000 jb short loc_166FC push 1 @@ -12740,14 +12740,14 @@ loc_166F5: ; --------------------------------------------------------------------------- loc_166FC: - cmp [bp+var_4], 186A0h + cmp [bp+var_4], 100000 ja short loc_1670A push 2 jmp short loc_16716 ; --------------------------------------------------------------------------- loc_1670A: - cmp [bp+var_4], 30D40h + cmp [bp+var_4], 200000 ja short loc_1671B push 1 @@ -12837,7 +12837,7 @@ loc_16825: loc_1683E: call text_putsa pascal, (6 shl 16) + 18, ds, POINT_TOTAL, TX_CYAN call text_putsa pascal, (6 shl 16) + 21, ds, BONUS_TOTAL, TX_WHITE - mov si, 3E8h + mov si, 1000 movzx eax, si mov [bp+var_4], eax push (34 shl 16) + 6 @@ -13239,7 +13239,7 @@ loc_16FE3: loc_17003: mov [bp+var_2], 0 - mov si, word_2C988 + mov si, _item_point_score_at_full_dream loc_1700C: cmp [bp+var_2], 0 @@ -28073,7 +28073,8 @@ score_2C97C dw ? include th04/main/bullet/pellet_r[bss].asm db 6 dup(?) word_2C986 dw ? -word_2C988 dw ? +public _item_point_score_at_full_dream +_item_point_score_at_full_dream dw ? byte_2C98A db ? db ? include th04/main/midboss/funcs[bss].asm diff --git a/th05_maine.asm b/th05_maine.asm index 17173469..06b39fa1 100644 --- a/th05_maine.asm +++ b/th05_maine.asm @@ -4707,10 +4707,10 @@ loc_CCE8: loc_CDCB: les bx, _resident movzx eax, es:[bx+resident_t.score_highest][6] - imul eax, 1388h + imul eax, 5000 add dword_1517E, eax movzx eax, es:[bx+resident_t.score_highest][7] - imul eax, 0C350h + imul eax, 50000 add dword_1517E, eax loc_CDF3: