From 8634e10b6db4543e599322c1733233f01ef9ed64 Mon Sep 17 00:00:00 2001 From: nmlgc Date: Sun, 16 Dec 2018 01:48:50 +0100 Subject: [PATCH] [Reverse-engineering] [th04/th05] Bullet clear trigger and time Funded by zorg. --- th04/bullet_clear[bss].asm | 7 ++ th04_main.asm | 133 ++++++++++++++++++------------------- th05_main.asm | 123 +++++++++++++++++----------------- 3 files changed, 134 insertions(+), 129 deletions(-) create mode 100644 th04/bullet_clear[bss].asm diff --git a/th04/bullet_clear[bss].asm b/th04/bullet_clear[bss].asm new file mode 100644 index 00000000..5bf7d936 --- /dev/null +++ b/th04/bullet_clear[bss].asm @@ -0,0 +1,7 @@ +public _bullet_clear_trigger, _bullet_clear_time +; Set to non-zero to clear all on-screen bullets, giving out bonus points for +; each one. +_bullet_clear_trigger db ? +; # of frames left during which all on-screen bullets should decay. +; Does not give a point bonus when used on its own. (unsigned) +_bullet_clear_time db ? diff --git a/th04_main.asm b/th04_main.asm index 595d14ab..877d63da 100644 --- a/th04_main.asm +++ b/th04_main.asm @@ -4127,9 +4127,9 @@ sub_CA98 proc near push di mov si, 5A22h mov di, 1B8h - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short loc_CACF - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jnz short loc_CACF mov dword_255A4, 80008h mov di, 0F0h @@ -8907,9 +8907,9 @@ loc_EE60: cmp byte ptr es:[bx+0Bh], 63h ; 'c' ja short locret_EEA3 inc byte ptr es:[bx+0Bh] - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_EE8C - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_EE8C: nopcall sub_EEE8 @@ -11292,7 +11292,7 @@ loc_FFED: mov byte_259A2, 0FFh mov ax, fp_255AC mov fp_255AA, ax - mov byte_2CFFA, 0C0h + mov _bullet_clear_time, 192 call snd_se_play pascal, 13 mov byte_236E0, 1 les bx, dword_2CDC6 @@ -12602,7 +12602,7 @@ loc_10A60: mov al, es:[bx+0Eh] mov es:[bx+0Dh], al nopcall sub_EFA1 - mov byte_2CFFA, 20h ; ' ' + mov _bullet_clear_time, 32 leave retn ; --------------------------------------------------------------------------- @@ -15069,7 +15069,7 @@ sub_11ECB proc near mov word_266D0, 1 mov byte_266D2, 0 mov byte_266D3, 0 - mov byte_2CFF9, 0 + mov _bullet_clear_trigger, 0 mov word_2CFFC, 0 mov _circles_color, GC_R push 200010h @@ -17074,9 +17074,9 @@ loc_12D92: loc_12D96: cmp di, 0C8h jl loc_12CFA - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short loc_12DBE - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jnz short loc_12DBE mov ah, 0Fh call _grcg_setcolor_direct_noint_1 @@ -18831,7 +18831,7 @@ loc_1422D: ; --------------------------------------------------------------------------- loc_142A2: - mov byte_2CFF9, 1 + mov _bullet_clear_trigger, 1 push 5 call sub_19F6E @@ -19213,7 +19213,7 @@ loc_14629: push ax call sub_13D10 mov si, ax - mov byte_2CFF9, 1 + mov _bullet_clear_trigger, 1 mov al, byte_2559A mov ah, 0 mov dx, 14h @@ -20187,7 +20187,7 @@ loc_14E8E: loc_14EB5: mov byte_26708, 1 - mov byte_2CFF9, 1 + mov _bullet_clear_trigger, 1 mov al, byte_255B4 mov ah, 0 mov dx, 12h @@ -20793,7 +20793,7 @@ loc_15414: push ax call sub_13D10 mov si, ax - mov byte_2CFF9, 1 + mov _bullet_clear_trigger, 1 mov al, byte_255C7 mov ah, 0 mov dx, 1Eh @@ -23034,9 +23034,9 @@ loc_16723: call sub_1E692 loc_16742: - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1674E - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1674E: push 0 @@ -23078,9 +23078,9 @@ loc_16793: call sub_1E692 loc_167AF: - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_167BB - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_167BB: push 1 @@ -23160,9 +23160,9 @@ loc_1683E: call sub_1E692 loc_1685D: - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_16869 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_16869: push 0 @@ -23198,9 +23198,9 @@ loc_168A8: jl loc_169B8 push 4 call sub_15C7C - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_168C9 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_168C9: inc byte_26719 @@ -23270,7 +23270,7 @@ loc_16963: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_16986 push 3Ch ; '<' @@ -25471,9 +25471,9 @@ loc_17C0E: loc_17C21: call sub_1E692 - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_17C30 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_17C30: push 0Ah @@ -25500,7 +25500,7 @@ loc_17C54: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_17C77 push 28h ; '(' @@ -27014,9 +27014,9 @@ loc_1886E: call sub_19FD8 loc_18883: - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1888F - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1888F: pushd 0 @@ -27106,7 +27106,7 @@ loc_1895A: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_1897E push 0C8h @@ -28496,7 +28496,7 @@ loc_1955E: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_19581 push 14h @@ -29452,7 +29452,7 @@ loc_19E3D: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_19E60 push 0Ah @@ -32292,9 +32292,9 @@ arg_2 = word ptr 6 push bp mov bp, sp - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1B43E - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1B43E: push [bp+arg_2] @@ -32521,9 +32521,9 @@ loc_1B652: jnz loc_1B8EA push 2 call sub_15C7C - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1B681 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1B681: inc byte_26719 @@ -32779,7 +32779,7 @@ loc_1B8A4: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_1B8C7 push 46h ; 'F' @@ -34279,9 +34279,9 @@ loc_1C5DE: loc_1C5F1: call sub_1E692 - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1C600 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1C600: push 0Ah @@ -34310,7 +34310,7 @@ loc_1C62F: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_1C652 push 28h ; '(' @@ -34689,7 +34689,7 @@ var_2 = word ptr -2 mov [bp+var_2], 0 mov word_2D006, 0 mov si, 86B8h - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz loc_1CB44 xor di, di jmp loc_1CAFC @@ -34706,7 +34706,7 @@ loc_1C8EC: loc_1C8FE: inc [bp+var_2] - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jz short loc_1C961 cmp byte ptr [si+13h], 4 jnb short loc_1C939 @@ -34865,7 +34865,7 @@ loc_1CA43: ; --------------------------------------------------------------------------- loc_1CA49: - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jnz loc_1CAF8 sub ax, player_pos.cur.x sub dx, player_pos.cur.y @@ -34956,7 +34956,7 @@ loc_1CB3B: ; --------------------------------------------------------------------------- loc_1CB44: - mov al, byte_2CFF9 + mov al, _bullet_clear_trigger mov ah, 0 mov bx, 4 cwd @@ -35041,15 +35041,15 @@ loc_1CBF1: mov fp_259DE, offset sub_112D8 loc_1CC0A: - inc byte_2CFF9 + inc _bullet_clear_trigger cmp [bp+var_9], 4Ch ; 'L' jb short loc_1CC19 - mov byte_2CFF9, 0 + mov _bullet_clear_trigger, 0 loc_1CC19: - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jz short loc_1CC24 - dec byte_2CFFA + dec _bullet_clear_time loc_1CC24: pop di @@ -35540,7 +35540,7 @@ var_2 = byte ptr -2 var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CF14 mov al, byte_266EF mov [bp+var_2], al @@ -35567,7 +35567,7 @@ sub_1CF16 proc near var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CF30 mov al, byte_266EE mov [bp+var_1], al @@ -35590,7 +35590,7 @@ sub_1CF32 proc near var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CF4C mov al, byte_266EE mov [bp+var_1], al @@ -35613,7 +35613,7 @@ sub_1CF4E proc near var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CF68 mov al, byte_266EE mov [bp+var_1], al @@ -35636,7 +35636,7 @@ sub_1CF6A proc near var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CF84 mov al, byte_266EE mov [bp+var_1], al @@ -35659,7 +35659,7 @@ sub_1CF86 proc near var_1 = byte ptr -1 enter 2, 0 - cmp byte_2CFF9, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_1CFA0 mov al, byte_266EE mov [bp+var_1], al @@ -36045,9 +36045,9 @@ sub_1D218 endp sub_1D230 proc near push bp mov bp, sp - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jbe short loc_1D241 - cmp byte_2CFFA, 11h + cmp _bullet_clear_time, 17 jbe short loc_1D282 loc_1D241: @@ -36157,7 +36157,7 @@ loc_1D314: mov [bp+var_3], 2 cmp byte_266EE, 40h jb short loc_1D326 - cmp byte_2CFFA, 0 + cmp _bullet_clear_time, 0 jz short loc_1D338 loc_1D326: @@ -37171,9 +37171,9 @@ loc_1DBD0: jnz short loc_1DBF5 mov byte_259DB, 3 mov fp_259DE, offset sub_112D8 - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1DBF5 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1DBF5: inc power @@ -37275,9 +37275,9 @@ loc_1DCCC: mov power, 128 mov byte_259DB, 3 mov fp_259DE, offset sub_112D8 - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1DCFE - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1DCFE: call sub_11DE6 @@ -37322,9 +37322,9 @@ loc_1DD47: ; --------------------------------------------------------------------------- loc_1DD6F: - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1DD7B - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1DD7B: mov byte_259DB, 3 @@ -38218,9 +38218,9 @@ arg_2 = word ptr 6 call sub_15C7C cmp byte_2372D, 0 jnz short loc_1E719 - cmp byte_2CFFA, 14h + cmp _bullet_clear_time, 20 jnb short loc_1E716 - mov byte_2CFFA, 14h + mov _bullet_clear_time, 20 loc_1E716: call sub_1E692 @@ -40181,7 +40181,7 @@ loc_1F855: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_1F878 push 28h ; '(' @@ -41846,7 +41846,7 @@ loc_2066F: call sub_15CFC mov byte_26719, 0FEh mov al, byte_2671F - mov byte_2CFF9, al + mov _bullet_clear_trigger, al cmp byte_2671F, 0 jz short loc_20693 push 0C8h @@ -53566,8 +53566,7 @@ word_2CFF4 dw ? byte_2CFF6 db ? byte_2CFF7 db ? byte_2CFF8 db ? -byte_2CFF9 db ? -byte_2CFFA db ? +include th04/bullet_clear[bss].asm db ? word_2CFFC dw ? word_2CFFE dw ? diff --git a/th05_main.asm b/th05_main.asm index 1bf09fe0..09d5e359 100644 --- a/th05_main.asm +++ b/th05_main.asm @@ -3168,7 +3168,7 @@ loc_C4BC: push 0C00080h push 6000C0h nopcall sub_E752 - mov byte_2C979, al + mov _bullet_clear_time, al mov ax, fp_23F5A mov fp_23F58, ax call snd_se_play pascal, 13 @@ -7711,9 +7711,9 @@ sub_E5EE proc near mov si, 5DC6h mov di, 0B4h mov dword_23F52, 80008h - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jnz short loc_E638 - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jnz short loc_E638 loc_E60D: @@ -8254,7 +8254,7 @@ sub_EACE proc near mov byte_25FF8, 0 mov byte_25FE8, 0 mov byte_25FE9, 0 - mov byte_2C978, 0 + mov _bullet_clear_trigger, 0 mov word_2C97A, 0 mov _circles_color, GC_R push 200010h @@ -10249,9 +10249,9 @@ sub_FBFB proc near loc_FC08: cmp byte ptr [si], 0 jz loc_FD16 - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jnz short loc_FC1D - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jz short loc_FC30 loc_FC1D: @@ -10929,9 +10929,9 @@ loc_1016B: loc_10171: cmp [bp+var_2], 0DCh jl loc_100DE - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jnz short loc_101DC - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jnz short loc_101DC jmp short loc_101BD ; --------------------------------------------------------------------------- @@ -11455,9 +11455,9 @@ var_2 = byte ptr -2 jb short loc_105E6 mov byte_2CE87, 4 mov fp_2CE8A, offset sub_11DEA - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_105E6 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_105E6: mov al, dream @@ -14864,7 +14864,7 @@ loc_120F0: mov al, es:[bx+0Eh] mov bombs, al nopcall sub_104BB - mov byte_2C979, 20h ; ' ' + mov _bullet_clear_time, 32 leave retn ; --------------------------------------------------------------------------- @@ -21511,7 +21511,7 @@ include th05/playperf_adjust_speed.asm sub_15A5C proc near - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_15A6E push word_26006 call loc_15C94 @@ -21528,7 +21528,7 @@ sub_15A5C endp sub_15A70 proc near - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jnz short locret_15A8C mov byte_221C0, 1 push word_26006 @@ -21797,9 +21797,9 @@ off_15C16 dw offset loc_15AE3 sub_15C36 proc near - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jz short loc_15C47 - cmp byte_2C979, 11h + cmp _bullet_clear_time, 17 jnb short loc_15C47 loc_15C44: @@ -21908,7 +21908,7 @@ loc_15D18: mov al, 2 cmp byte ptr word_26006+1, 40h jb short loc_15D2F - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jz short loc_15D38 loc_15D2F: @@ -24214,9 +24214,9 @@ sub_16F05 proc near cmp lives, 99 jnb short loc_16F52 inc lives - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_16F3B - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_16F3B: call sub_10407 @@ -24260,9 +24260,9 @@ loc_16F76: jnz short loc_16F9B mov byte_2CE87, 3 mov fp_2CE8A, offset sub_11DEA - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_16F9B - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_16F9B: inc power @@ -24394,9 +24394,9 @@ loc_170B5: mov power, 128 mov byte_2CE87, 3 mov fp_2CE8A, offset sub_11DEA - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_170E7 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_170E7: call sub_E4FC @@ -24440,9 +24440,9 @@ loc_1712C: ; --------------------------------------------------------------------------- loc_17150: - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1715C - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1715C: mov byte_2CE87, 3 @@ -25738,7 +25738,7 @@ var_2 = word ptr -2 mov word_2CDF8, 0 mov word_2C97E, 0 mov si, 8FA6h - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jnz loc_17EC3 xor di, di jmp loc_17E78 @@ -25755,7 +25755,7 @@ loc_17C2E: loc_17C40: inc [bp+var_2] - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jz short loc_17CA3 cmp byte ptr [si+13h], 4 jnb short loc_17C7B @@ -25939,7 +25939,7 @@ loc_17DBF: ; --------------------------------------------------------------------------- loc_17DC5: - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jnz loc_17E74 sub ax, player_pos.cur.x sub dx, player_pos.cur.y @@ -26029,7 +26029,7 @@ loc_17EB5: ; --------------------------------------------------------------------------- loc_17EC3: - mov al, byte_2C978 + mov al, _bullet_clear_trigger mov ah, 0 mov bx, 4 cwd @@ -26120,15 +26120,15 @@ loc_17F8D: mov fp_2CE8A, offset sub_11DEA loc_17FA8: - inc byte_2C978 + inc _bullet_clear_trigger cmp [bp+var_9], 4Ch ; 'L' jb short loc_17FB7 - mov byte_2C978, 0 + mov _bullet_clear_trigger, 0 loc_17FB7: - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jz short loc_17FC2 - dec byte_2C979 + dec _bullet_clear_time loc_17FC2: pop di @@ -26301,7 +26301,7 @@ loc_1812B: jge short loc_1818B cmp _midboss_hp, 0 jg short loc_181C4 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 5 call sub_173AC push _midboss_pos.cur.x @@ -27329,9 +27329,9 @@ loc_18A9F: jg loc_18BA0 push 5 call sub_173AC - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_18ADC - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_18ADC: inc byte_26331 @@ -27369,7 +27369,7 @@ loc_18B24: jge short loc_18B67 cmp _midboss_hp, 0 jg short loc_18BA0 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 0Fh call sub_173AC push _midboss_pos.cur.x @@ -28609,7 +28609,7 @@ loc_195A1: loc_195BC: cmp _midboss_hp, 0 jg short loc_19613 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 0Fh call sub_173AC push _midboss_pos.cur.x @@ -29966,9 +29966,9 @@ loc_1A1E7: loc_1A1F8: inc byte_2D07D - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1A208 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1A208: push 1 @@ -30028,9 +30028,9 @@ loc_1A284: call sub_17416 push 1 call add_explode_effect_function - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1A2D7 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1A2D7: inc boss_phase @@ -31276,9 +31276,9 @@ loc_1ACF1: mov [bp+var_2], ax cmp boss_phase_frame, 10h jnz short loc_1AD29 - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1AD0D - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1AD0D: call snd_se_play pascal, 15 @@ -31446,7 +31446,7 @@ loc_1AE8B: loc_1AE98: inc boss_phase mov al, byte ptr word_2634A+1 - mov byte_2C978, al + mov _bullet_clear_trigger, al mov boss_phase_frame, 0 call snd_se_play pascal, 12 mov chara_invulnerable_time_left, 0FFh @@ -31963,7 +31963,7 @@ loc_1B32F: loc_1B34A: cmp _midboss_hp, 0 jg short loc_1B3A1 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 0Fh call sub_173AC push _midboss_pos.cur.x @@ -34365,7 +34365,7 @@ sub_1C8A3 proc near loc_1C8B1: cmp byte ptr [si], 0 jz loc_1C9AF - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jz short loc_1C8CC cmp byte ptr [si], 1 jnz short loc_1C8CC @@ -34802,9 +34802,9 @@ loc_1CC7F: mov byte_2D082, al push 0 call add_explode_effect_function - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1CCD0 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1CCD0: pop si @@ -35145,9 +35145,9 @@ loc_1D030: mov byte_2D082, al push 0 call add_explode_effect_function - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1D081 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1D081: pop di @@ -35706,9 +35706,9 @@ loc_1D599: inc byte ptr [si] loc_1D5B4: - cmp byte_2C979, 0 + cmp _bullet_clear_time, 0 jnz short loc_1D5C2 - cmp byte_2C978, 0 + cmp _bullet_clear_trigger, 0 jz short loc_1D5C5 loc_1D5C2: @@ -37620,9 +37620,9 @@ loc_1E776: jge short loc_1E7AF push 0Ah call sub_173AC - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1E7A4 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1E7A4: call snd_se_play pascal, 15 @@ -37665,7 +37665,7 @@ loc_1E7F2: jnb short loc_1E82B cmp _midboss_hp, 0 jg short loc_1E864 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 1Eh call sub_173AC push _midboss_pos.cur.x @@ -38880,7 +38880,7 @@ arg_2 = word ptr 6 cmp byte_229BA, 0 jnz short loc_1F25F mov byte_226C0, 1 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 call sub_1FB19 loc_1F25F: @@ -39633,7 +39633,7 @@ loc_1F936: sub _midboss_hp, ax cmp _midboss_hp, 0 jg short loc_1F9A1 - mov byte_2C978, 1 + mov _bullet_clear_trigger, 1 push 1Eh call sub_173AC push _midboss_pos.cur.x @@ -40003,9 +40003,9 @@ arg_2 = word ptr 6 call add_explode_effect_function cmp byte_229BA, 0 jnz short loc_1FB94 - cmp byte_2C979, 14h + cmp _bullet_clear_time, 20 jnb short loc_1FB91 - mov byte_2C979, 14h + mov _bullet_clear_time, 20 loc_1FB91: call sub_1FB19 @@ -40058,7 +40058,7 @@ loc_1FBED: call sub_1637A inc boss_phase mov al, byte ptr word_2634A+1 - mov byte_2C978, al + mov _bullet_clear_trigger, al cmp byte ptr word_2634A+1, 0;m_bSuccessDefeat jz short loc_1FC10 push [bp+n1000] @@ -51997,8 +51997,7 @@ byte_2C974 db ? db ? byte_2C976 db ? byte_2C977 db ? -byte_2C978 db ? -byte_2C979 db ? +include th04/bullet_clear[bss].asm word_2C97A dw ? word_2C97C dw ? word_2C97E dw ?