[Reverse-engineering] [th02/th05] Current live and bomb counts

TH01 was done in 3b175c8, TH03 obviously has two of those and uses a
structure for it, TH04 doesn't move it out of the resident structure.

Funded by -Tom-.
This commit is contained in:
nmlgc 2018-04-17 19:30:14 +02:00
parent 47e5601613
commit 26d5747d71
2 changed files with 52 additions and 52 deletions

View File

@ -3423,9 +3423,9 @@ var_2 = word ptr -2
mov al, es:[bx+mikoconfig_t.stage]
mov stage_id, al
mov al, es:[bx+mikoconfig_t.start_lives]
mov byte_1E59C, al
mov lives, al
mov al, es:[bx+mikoconfig_t.start_bombs]
mov byte_1E59D, al
mov bombs, al
mov al, es:[bx+mikoconfig_t.rank]
mov byte_1E364, al
mov al, es:[bx+mikoconfig_t.start_power]
@ -3642,9 +3642,9 @@ loc_C516:
les bx, mikoconfig
mov es:[bx+mikoconfig_t.score_highest], eax
mov al, es:[bx+mikoconfig_t.start_lives]
mov byte_1E59C, al
mov lives, al
mov al, es:[bx+mikoconfig_t.start_bombs]
mov byte_1E59D, al
mov bombs, al
mov byte_1E516, 1
inc es:[bx+mikoconfig_t.continues_used]
call sub_DD1B
@ -6144,7 +6144,7 @@ arg_4 = word ptr 0Ah
loc_D6EB:
mov si, 3CE6h
shl cx, 4
mov al, byte_1E59C
mov al, lives
cbw
cmp ax, 5
jnz short loc_D705
@ -6553,11 +6553,11 @@ loc_D9E5:
; ---------------------------------------------------------------------------
loc_D9FA:
mov al, byte_1E59D
mov al, bombs
cbw
cmp ax, 5
jge short loc_DA21
inc byte_1E59D
inc bombs
add dword_218A4, 3E8h
push si
push word_2189C
@ -6619,11 +6619,11 @@ loc_DA85:
; ---------------------------------------------------------------------------
loc_DA9C:
mov al, byte_1E59C
mov al, lives
cbw
cmp ax, 5
jge short loc_DAB6
inc byte_1E59C
inc lives
call sub_DF76
call _snd_se_play c, 8
@ -7046,21 +7046,21 @@ loc_DE01:
mov eax, [bx+0B2Eh]
cmp eax, dword_1E598
jg short locret_DE4C
mov al, byte_1E59C
mov al, lives
cbw
cmp ax, 5
jge short loc_DE26
inc byte_1E59C
inc lives
call sub_DF76
jmp short loc_DE36
; ---------------------------------------------------------------------------
loc_DE26:
mov al, byte_1E59D
mov al, bombs
cbw
cmp ax, 5
jge short loc_DE36
inc byte_1E59D
inc bombs
call sub_DFC4
loc_DE36:
@ -7105,11 +7105,11 @@ loc_DE7A:
mov eax, [bx+0B2Eh]
cmp eax, dword_1E598
jg short loc_DEAB
mov al, byte_1E59C
mov al, lives
cbw
cmp ax, 5
jge short loc_DEA7
inc byte_1E59C
inc lives
call sub_DF76
call _snd_se_play c, 8
@ -7249,11 +7249,11 @@ loc_DF7E:
inc si
loc_DF95:
mov al, byte_1E59C
mov al, lives
cbw
cmp ax, si
jg short loc_DF7E
mov al, byte_1E59C
mov al, lives
cbw
mov si, ax
jmp short loc_DFBC
@ -7295,11 +7295,11 @@ loc_DFCC:
inc si
loc_DFE3:
mov al, byte_1E59D
mov al, bombs
cbw
cmp ax, si
jg short loc_DFCC
mov al, byte_1E59D
mov al, bombs
cbw
mov si, ax
jmp short loc_E00A
@ -7612,11 +7612,11 @@ sub_E280 proc near
mov bp, sp
cmp byte_218B4, 0
jnz short loc_E2D7
cmp byte_1E59D, 0
cmp bombs, 0
jz short loc_E2D7
mov byte_218B4, 1
mov byte_20606, 1
dec byte_1E59D
dec bombs
call sub_DFC4
mov word_218B6, 0
inc byte_218C2
@ -9247,7 +9247,7 @@ loc_F0B9:
push 800020h
push 1
call sub_4090
cmp byte_1E59C, 0
cmp lives, 0
jnz short loc_F107
mov byte_20609, 0
mov byte_218A1, 1
@ -9287,16 +9287,16 @@ loc_F12A:
loc_F13B:
cmp byte_20609, 2Bh ; '+'
jnz short loc_F198
dec byte_1E59C
dec lives
call sub_DF76
les bx, mikoconfig
assume es:nothing
mov al, es:[bx+mikoconfig_t.start_bombs]
mov byte_1E59D, al
cmp byte_1E59C, 0
mov bombs, al
cmp lives, 0
jnz short loc_F160
add al, 2
mov byte_1E59D, al
mov bombs, al
loc_F160:
call sub_DFC4
@ -28656,9 +28656,9 @@ loc_19C4A:
add eax, edx
mov es:[bx+mikoconfig_t.score], eax
mov es:[bx+mikoconfig_t.stage], 7Fh
mov al, byte_1E59C
mov al, lives
mov es:[bx+mikoconfig_t.rem_lives], al
mov al, byte_1E59D
mov al, bombs
mov es:[bx+mikoconfig_t.rem_bombs], al
call sub_19949
push ds
@ -34838,8 +34838,8 @@ word_1E594 dw 0BCB0h
byte_1E596 db 0C8h
byte_1E597 db 0
dword_1E598 dd 0
byte_1E59C db 3
byte_1E59D db 3
lives db 3
bombs db 3
db 0A0h
db 86h
db 1

View File

@ -571,9 +571,9 @@ sub_B063 proc near
mov al, es:[bx+14h]
mov byte_25FEF, al
mov al, es:[bx+0Eh]
mov byte_25351, al
mov bombs, al
mov al, es:[bx+0Dh]
mov byte_25350, al
mov lives, al
xor si, si
jmp short loc_B09F
; ---------------------------------------------------------------------------
@ -3182,7 +3182,7 @@ sub_C483 proc near
mov bp, sp
cmp byte_2429A, 0
jnz loc_C518
cmp byte_25351, 0
cmp bombs, 0
jz loc_C518
cmp byte_2C96C, 0
jnz short loc_C518
@ -3195,7 +3195,7 @@ sub_C483 proc near
mov byte_2CEBD, 0
loc_C4BC:
dec byte_25351
dec bombs
nopcall sub_104BB
mov byte_2429A, 1
mov byte_2429B, 0
@ -10793,9 +10793,9 @@ loc_FBB5:
mov byte_2CEC3, 1
les bx, dword_23EF0
mov al, es:[bx+0Eh]
mov byte_25351, al
mov bombs, al
mov al, es:[bx+0Dh]
mov byte_25350, al
mov lives, al
nopcall sub_E4FC
nopcall sub_10407
nopcall sub_104BB
@ -11839,7 +11839,7 @@ var_1 = byte ptr -1
mov bp, sp
sub sp, 2
push si
mov al, byte_25350
mov al, lives
dec al
mov [bp+var_1], al
cmp [bp+var_1], 6
@ -11923,10 +11923,10 @@ var_1 = byte ptr -1
sub sp, 2
push si
mov [bp+var_2], 0
cmp byte_25351, 5
cmp bombs, 5
ja short loc_10514
mov si, 3Eh ; '>'
mov al, byte_25351
mov al, bombs
mov [bp+var_1], al
jmp short loc_104ED
; ---------------------------------------------------------------------------
@ -11955,7 +11955,7 @@ loc_1050C:
; ---------------------------------------------------------------------------
loc_10514:
mov al, byte_25351
mov al, bombs
mov [bp+var_1], al
call text_putsa pascal, (62 shl 16) + 11, ds, offset aB@b@bB@b@_0, TX_WHITE
cmp [bp+var_1], 0Ah
@ -15436,7 +15436,7 @@ loc_120B6:
mov byte_2CEC8, al
cmp byte_2CEC2, 4
jnb short locret_12148
cmp byte_25350, 1
cmp lives, 1
jbe short loc_120F0
test byte_2CEC2, 1
jz short loc_120E5
@ -15459,13 +15459,13 @@ loc_120F0:
mov word ptr dword_2CEA4+2, 1700h
mov word_2CEA8, 0
mov word_2CEAA, 0FFE0h
cmp byte_25350, 1
cmp lives, 1
jbe short loc_12142
dec byte_25350
dec lives
nopcall sub_10407
les bx, dword_23EF0
mov al, es:[bx+0Eh]
mov byte_25351, al
mov bombs, al
nopcall sub_104BB
mov byte_2C979, 20h ; ' '
leave
@ -24522,7 +24522,7 @@ loc_1683E:
push 22000Ah
push eax
nopcall sub_1FA0E
mov al, byte_25350
mov al, lives
mov ah, 0
imul ax, 3E8h
add ax, 0FC18h
@ -25418,7 +25418,7 @@ loc_16EC6:
mov [bp+var_8], 3
loc_16ECB:
cmp byte_25350, 1
cmp lives, 1
jnz short loc_16ED7
mov [bp+var_8], 6
@ -25466,9 +25466,9 @@ sub_16F05 proc near
push 4
call sub_E720
inc byte_226C4
cmp byte_25350, 63h ; 'c'
cmp lives, 99
jnb short loc_16F52
inc byte_25350
inc lives
cmp byte_2C979, 14h
jnb short loc_16F3B
mov byte_2C979, 14h
@ -25677,7 +25677,7 @@ loc_1710E:
; ---------------------------------------------------------------------------
loc_1711E:
inc byte_25351
inc bombs
mov si, 64h ; 'd'
call sub_104BB
jmp short loc_17174
@ -25686,7 +25686,7 @@ loc_1711E:
loc_1712C:
push 3
call sub_E720
inc byte_25350
inc lives
call sub_10407
call snd_se_play pascal, 7
mov byte_2CE87, 1
@ -46596,8 +46596,8 @@ byte_25348 db ?
word_25349 dw ?
dword_2534B dd ?
db ?
byte_25350 db ?
byte_25351 db ?
lives db ?
bombs db ?
byte_25352 db ?
byte_25353 db ?
map_seg dw ?