[Position independence] [th01/th02/th04/th05] False positives: Score values

Part of P0118, funded by -Tom- and Ember2528.
This commit is contained in:
nmlgc 2020-09-13 14:37:10 +02:00
parent a3723364d6
commit c790f5fba1
7 changed files with 179 additions and 174 deletions

View File

@ -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

View File

@ -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 ?

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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: