[Reverse-engineering] [th04/th05] Adding new player shots

Funded by -Tom-.
This commit is contained in:
nmlgc 2019-02-25 23:15:16 +01:00
parent 9a2c6f72ba
commit b9f3d86e44
5 changed files with 176 additions and 174 deletions

28
th04/shots_add.asm Normal file
View File

@ -0,0 +1,28 @@
; Searches and returns the next free shot slot, or NULL if there are no more
; free ones.
; shot_t* shots_add(void);
public _shots_add
_shots_add proc near
xor ax, ax
@@loop:
cmp _shot_last_id, SHOT_COUNT
jnb short @@ret
mov bx, _shot_ptr
add _shot_ptr, size shot_t
cmp [bx+shot_t.flag], 0
jz short @@found
inc _shot_last_id
jmp short @@loop
@@found:
mov word ptr [bx+shot_t.flag], 1
mov eax, player_pos.cur
mov dword ptr [bx+shot_t.pos.cur], eax
mov dword ptr [bx+shot_t.pos.velocity], (-12 shl 4) shl 16 or (0)
mov ax, bx
@@ret:
retn
_shots_add endp

6
th04/shots_add[bss].asm Normal file
View File

@ -0,0 +1,6 @@
public _shot_ptr, _shot_last_id
; Points to the next free entry in [shots].
_shot_ptr dw ?
; Index of the last valid entry in [shots].
_shot_last_id db ?
db ?

View File

@ -5593,8 +5593,8 @@ shot_marisa_l0 proc near
mov bp, sp
push si
mov _shot_ptr, offset _shots
mov byte_256A6, 0
call sub_11D96
mov _shot_last_id, 0
call _shots_add
mov si, ax
or ax, ax
jz short loc_DA70
@ -5614,8 +5614,8 @@ shot_marisa_l1 proc near
mov bp, sp
push si
mov _shot_ptr, offset _shots
mov byte_256A6, 0
call sub_11D96
mov _shot_last_id, 0
call _shots_add
mov si, ax
or ax, ax
jz short loc_DAA3
@ -5671,8 +5671,8 @@ loc_DADA:
cmp byte_22C1A, 4
ja short loc_DB39
mov _shot_ptr, offset _shots
mov byte_256A6, 0
call sub_11D96
mov _shot_last_id, 0
call _shots_add
mov si, ax
or ax, ax
jz short loc_DB17
@ -5684,7 +5684,7 @@ loc_DADA:
mov [si+2], ax
loc_DB17:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jz short loc_DB45
@ -5718,7 +5718,7 @@ shot_marisa_a_l2 proc near
push 0
call sub_DAA6
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DB7C
; ---------------------------------------------------------------------------
@ -5736,7 +5736,7 @@ loc_DB62:
; ---------------------------------------------------------------------------
loc_DB7C:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DB62
@ -5759,7 +5759,7 @@ shot_marisa_a_l3 proc near
push 0
call sub_DAA6
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DBC1
; ---------------------------------------------------------------------------
@ -5780,7 +5780,7 @@ loc_DBB5:
jle short loc_DBCA
loc_DBC1:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DBA4
@ -5804,7 +5804,7 @@ shot_marisa_a_l4 proc near
push 1
call sub_DAA6
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DC07
; ---------------------------------------------------------------------------
@ -5825,7 +5825,7 @@ loc_DBFB:
jle short loc_DC10
loc_DC07:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DBEA
@ -5849,7 +5849,7 @@ shot_marisa_a_l5 proc near
call sub_DAA6
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DC53
; ---------------------------------------------------------------------------
@ -5867,7 +5867,7 @@ loc_DC35:
jle short loc_DC5C
loc_DC53:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DC35
@ -5891,7 +5891,7 @@ shot_marisa_a_l6 proc near
call sub_DAA6
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DCA0
; ---------------------------------------------------------------------------
@ -5909,7 +5909,7 @@ loc_DC82:
jle short loc_DCA9
loc_DCA0:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DC82
@ -5933,7 +5933,7 @@ shot_marisa_a_l7 proc near
call sub_DAA6
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DCED
; ---------------------------------------------------------------------------
@ -5951,7 +5951,7 @@ loc_DCCF:
jle short loc_DCF6
loc_DCED:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DCCF
@ -5975,7 +5975,7 @@ shot_marisa_a_l8 proc near
call sub_DAA6
mov byte ptr [bp-1], 0B4h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DD3A
; ---------------------------------------------------------------------------
@ -5993,7 +5993,7 @@ loc_DD1C:
jle short loc_DD43
loc_DD3A:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DD1C
@ -6017,7 +6017,7 @@ shot_marisa_a_l9 proc near
call sub_DAA6
mov byte ptr [bp-1], 0B4h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DD87
; ---------------------------------------------------------------------------
@ -6035,7 +6035,7 @@ loc_DD69:
jle short loc_DD90
loc_DD87:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DD69
@ -6056,7 +6056,7 @@ shot_marisa_b_l2 proc near
push di
mov di, 3
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DDEA
; ---------------------------------------------------------------------------
@ -6095,7 +6095,7 @@ loc_DDE7:
jle short loc_DDF3
loc_DDEA:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DDA9
@ -6116,7 +6116,7 @@ shot_marisa_b_l3 proc near
push di
mov di, 4
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DE4F
; ---------------------------------------------------------------------------
@ -6158,7 +6158,7 @@ loc_DE4C:
jle short loc_DE58
loc_DE4F:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DE0C
@ -6179,7 +6179,7 @@ shot_marisa_b_l4 proc near
push di
mov di, 4
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DEC9
; ---------------------------------------------------------------------------
@ -6232,7 +6232,7 @@ loc_DEC6:
jle short loc_DED2
loc_DEC9:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DE71
@ -6253,7 +6253,7 @@ shot_marisa_b_l5 proc near
mov di, 5
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DF49
; ---------------------------------------------------------------------------
@ -6303,7 +6303,7 @@ loc_DF46:
jle short loc_DF52
loc_DF49:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DEF0
@ -6324,7 +6324,7 @@ shot_marisa_b_l6 proc near
mov di, 7
mov byte ptr [bp-3], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_DFD4
; ---------------------------------------------------------------------------
@ -6381,7 +6381,7 @@ loc_DFD1:
jle short loc_DFDD
loc_DFD4:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_DF70
@ -6414,7 +6414,7 @@ var_3 = word ptr -3
mov di, 7
mov byte ptr [bp+var_3], 0B6h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_E068
; ---------------------------------------------------------------------------
@ -6471,7 +6471,7 @@ loc_E065:
jle short loc_E071
loc_E068:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_E004
@ -6504,7 +6504,7 @@ var_3 = word ptr -3
mov di, 8
mov byte ptr [bp+var_3], 0B6h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_E118
; ---------------------------------------------------------------------------
@ -6575,7 +6575,7 @@ loc_E115:
jle short loc_E123
loc_E118:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_E099
@ -6608,7 +6608,7 @@ var_3 = word ptr -3
mov di, 0Ah
mov byte ptr [bp+var_3], 0B6h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_E1D8
; ---------------------------------------------------------------------------
@ -6689,7 +6689,7 @@ loc_E1D5:
jle short loc_E1E3
loc_E1D8:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_E14B
@ -8917,8 +8917,8 @@ shot_reimu_l0 proc near
mov bp, sp
push si
mov _shot_ptr, offset _shots
mov byte_256A6, 0
call sub_11D96
mov _shot_last_id, 0
call _shots_add
mov si, ax
or ax, ax
jz short loc_F38D
@ -8938,8 +8938,8 @@ shot_reimu_l1 proc near
mov bp, sp
push si
mov _shot_ptr, offset _shots
mov byte_256A6, 0
call sub_11D96
mov _shot_last_id, 0
call _shots_add
mov si, ax
or ax, ax
jz short loc_F3C0
@ -8984,7 +8984,7 @@ loc_F3D7:
loc_F3E9:
inc byte_256A2
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F446
; ---------------------------------------------------------------------------
@ -9031,7 +9031,7 @@ loc_F43F:
jle short loc_F44F
loc_F446:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F3FA
@ -9068,7 +9068,7 @@ loc_F467:
loc_F479:
inc byte_256A2
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F4DC
; ---------------------------------------------------------------------------
@ -9119,7 +9119,7 @@ loc_F4D9:
jle short loc_F4E5
loc_F4DC:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F48A
@ -9156,7 +9156,7 @@ loc_F510:
inc byte_256A2
mov byte ptr [bp-1], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F578
; ---------------------------------------------------------------------------
@ -9204,7 +9204,7 @@ loc_F575:
jle short loc_F581
loc_F578:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F525
@ -9241,7 +9241,7 @@ loc_F5AC:
inc byte_256A2
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F614
; ---------------------------------------------------------------------------
@ -9289,7 +9289,7 @@ loc_F611:
jle short loc_F61D
loc_F614:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F5C1
@ -9326,7 +9326,7 @@ loc_F648:
inc byte_256A2
mov byte ptr [bp-1], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F6B0
; ---------------------------------------------------------------------------
@ -9374,7 +9374,7 @@ loc_F6AD:
jle short loc_F6B9
loc_F6B0:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F65D
@ -9416,7 +9416,7 @@ loc_F6E4:
inc byte_256A2
mov byte ptr [bp+var_2+1], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_F780
; ---------------------------------------------------------------------------
@ -9490,7 +9490,7 @@ loc_F77D:
jle short loc_F78B
loc_F780:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_F6FA
@ -9519,7 +9519,7 @@ var_2 = word ptr -2
inc byte_256A2
mov byte ptr [bp+var_2+1], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_F833
; ---------------------------------------------------------------------------
@ -9592,7 +9592,7 @@ loc_F830:
jle short loc_F83E
loc_F833:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_F7B1
@ -9636,7 +9636,7 @@ loc_F86C:
inc byte_256A2
mov byte ptr [bp-1], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_F948
; ---------------------------------------------------------------------------
@ -9744,7 +9744,7 @@ loc_F945:
jle short loc_F953
loc_F948:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_F882
@ -9786,7 +9786,7 @@ loc_F96C:
loc_F97E:
inc byte_256A2
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_F9D9
; ---------------------------------------------------------------------------
@ -9829,7 +9829,7 @@ loc_F9D2:
jle short loc_F9E2
loc_F9D9:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_F98F
@ -9865,7 +9865,7 @@ loc_F9FB:
loc_FA0D:
inc byte_256A2
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FA70
; ---------------------------------------------------------------------------
@ -9913,7 +9913,7 @@ loc_FA63:
jle short loc_FA79
loc_FA70:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_FA1E
@ -9950,7 +9950,7 @@ loc_FAA4:
inc byte_256A2
mov byte ptr [bp-3], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FB15
; ---------------------------------------------------------------------------
@ -9997,7 +9997,7 @@ loc_FB0C:
jle short loc_FB1E
loc_FB15:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz short loc_FAB9
@ -10034,7 +10034,7 @@ loc_FB49:
inc byte_256A2
mov byte ptr [bp-3], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FBD9
; ---------------------------------------------------------------------------
@ -10105,7 +10105,7 @@ loc_FBD0:
jle short loc_FBE4
loc_FBD9:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_FB5E
@ -10147,7 +10147,7 @@ loc_FC17:
inc byte_256A2
mov byte ptr [bp-3], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FCA7
; ---------------------------------------------------------------------------
@ -10218,7 +10218,7 @@ loc_FC9E:
jle short loc_FCB2
loc_FCA7:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_FC2C
@ -10260,7 +10260,7 @@ loc_FCE5:
inc byte_256A2
mov byte ptr [bp-3], 0BAh
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FD75
; ---------------------------------------------------------------------------
@ -10331,7 +10331,7 @@ loc_FD6C:
jle short loc_FD80
loc_FD75:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_FCFA
@ -10373,7 +10373,7 @@ loc_FDB3:
inc byte_256A2
mov byte ptr [bp-3], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp short loc_FE43
; ---------------------------------------------------------------------------
@ -10444,7 +10444,7 @@ loc_FE3A:
jle short loc_FE4E
loc_FE43:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_FDC8
@ -10486,7 +10486,7 @@ loc_FE81:
inc byte_256A2
mov byte ptr [bp-3], 0B8h
mov _shot_ptr, offset _shots
mov byte_256A6, 0
mov _shot_last_id, 0
jmp loc_FF19
; ---------------------------------------------------------------------------
@ -10562,7 +10562,7 @@ loc_FF10:
jle short loc_FF24
loc_FF19:
call sub_11D96
call _shots_add
mov si, ax
or ax, ax
jnz loc_FE97
@ -14252,35 +14252,7 @@ loc_11D92:
retn
sub_11C1A endp
; =============== S U B R O U T I N E =======================================
sub_11D96 proc near
xor ax, ax
loc_11D98:
cmp byte_256A6, SHOT_COUNT
jnb short locret_11DC9
mov bx, _shot_ptr
add _shot_ptr, size shot_t
cmp [bx+shot_t.flag], 0
jz short loc_11DB3
inc byte_256A6
jmp short loc_11D98
; ---------------------------------------------------------------------------
loc_11DB3:
mov word ptr [bx], 1
mov eax, player_pos.cur
mov dword ptr [bx+shot_t.pos.cur], eax
mov dword ptr [bx+shot_t.pos.velocity], (-12 shl 4) shl 16 or (0)
mov ax, bx
locret_11DC9:
retn
sub_11D96 endp
include th04/shots_add.asm
; =============== S U B R O U T I N E =======================================
@ -43899,9 +43871,7 @@ dword_2569A dd ?
dword_2569E dd ?
byte_256A2 db ?
db ?
_shot_ptr dw ?
byte_256A6 db ?
db ?
include th04/shots_add[bss].asm
byte_256A8 db ?
byte_256A9 db ?
fp_256AA dw ?

28
th05/shots_add.asm Normal file
View File

@ -0,0 +1,28 @@
; Searches and returns the next free shot slot, or NULL if there are no more
; free ones.
; shot_t* shots_add(void)
public _shots_add
_shots_add proc near
xor ax, ax
mov bx, _shot_ptr
@@loop:
cmp bx, offset _shots_end
jnb short @@ret
add bx, size shot_t
cmp [bx+shot_t.flag], 0
jnz short @@loop
mov word ptr [bx+shot_t.flag], 1
mov eax, player_pos.cur
mov dword ptr [bx+shot_t.pos.cur], eax
mov dword ptr [bx+shot_t.pos.velocity], (-12 shl 4) shl 16 or (0)
mov word ptr [bx+shot_t.patnum_base], 20
mov ax, bx
add bx, size shot_t
mov _shot_ptr, bx
@@ret:
retn
_shots_add endp
even

View File

@ -6862,35 +6862,7 @@ sub_E480 proc far
retf
sub_E480 endp
; =============== S U B R O U T I N E =======================================
sub_E4A6 proc near
xor ax, ax
mov bx, _shot_ptr
loc_E4AC:
cmp bx, offset _shots_end
jnb short locret_E4DC
add bx, size shot_t
cmp [bx+shot_t.flag], 0
jnz short loc_E4AC
mov word ptr [bx+shot_t.flag], 1
mov eax, player_pos.cur
mov dword ptr [bx+shot_t.pos.cur], eax
mov dword ptr [bx+shot_t.pos.velocity], (-12 shl 4) shl 16 or (0)
mov word ptr [bx+shot_t.patnum_base], 20
mov ax, bx
add bx, size shot_t
mov _shot_ptr, bx
locret_E4DC:
retn
sub_E4A6 endp
; ---------------------------------------------------------------------------
nop
include th05/shots_add.asm
; =============== S U B R O U T I N E =======================================
@ -14821,7 +14793,7 @@ loc_12951:
loc_12955:
mov _shot_ptr, offset _shots
mov byte_2D064, 0
mov _shot_last_id, 0
mov al, [bp+var_1]
leave
retn
@ -14857,7 +14829,7 @@ shot_l0 proc near
call sub_12914
test al, 1
jz short loc_1299E
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jz short loc_1299E
@ -14881,7 +14853,7 @@ shot_l1 proc near
call sub_12914
test al, 1
jz short loc_129C8
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jz short loc_129C8
@ -14963,7 +14935,7 @@ loc_12A34:
jbe short loc_12A49
loc_12A40:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_129E9
@ -15040,7 +15012,7 @@ loc_12AB8:
jbe short loc_12ACD
loc_12AC4:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12A6A
@ -15115,7 +15087,7 @@ loc_12B32:
jbe short loc_12B51
loc_12B48:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12AEE
@ -15201,7 +15173,7 @@ loc_12BCF:
jbe short loc_12BEE
loc_12BE5:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12B75
@ -15287,7 +15259,7 @@ loc_12C6C:
jbe short loc_12C8B
loc_12C82:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12C12
@ -15373,7 +15345,7 @@ loc_12D09:
jbe short loc_12D28
loc_12D1F:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12CAF
@ -15448,7 +15420,7 @@ loc_12D8A:
jbe short loc_12DA9
loc_12DA0:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12D3D
@ -15544,7 +15516,7 @@ loc_12E3E:
jbe short loc_12E5F
loc_12E54:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_12DCE
@ -15619,7 +15591,7 @@ loc_12ECC:
jbe short loc_12EE1
loc_12ED8:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_12E80
@ -15721,7 +15693,7 @@ loc_12F7D:
jbe short loc_12F94
loc_12F89:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_12F07
@ -15846,7 +15818,7 @@ loc_13077:
jbe short loc_1308E
loc_13083:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_12FC2
@ -15975,7 +15947,7 @@ loc_1317E:
jbe short loc_13195
loc_1318A:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_130C0
@ -16112,7 +16084,7 @@ loc_13287:
jbe short loc_1329E
loc_13293:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_131CA
@ -16268,7 +16240,7 @@ loc_133C1:
jbe short loc_133D8
loc_133CD:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_132D8
@ -16426,7 +16398,7 @@ loc_134FF:
jbe short loc_13516
loc_1350B:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13416
@ -16612,7 +16584,7 @@ loc_13680:
jbe short loc_13697
loc_1368C:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13554
@ -16698,7 +16670,7 @@ loc_1370B:
jbe short loc_13720
loc_13717:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_136D1
@ -16773,7 +16745,7 @@ loc_13783:
jbe short loc_13798
loc_1378F:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_13741
@ -16862,7 +16834,7 @@ loc_13813:
jbe short loc_13828
loc_1381F:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_137B9
@ -16956,7 +16928,7 @@ loc_138AB:
jbe short loc_138C0
loc_138B7:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_13856
@ -17058,7 +17030,7 @@ loc_13957:
jbe short loc_1396C
loc_13963:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_138EF
@ -17163,7 +17135,7 @@ loc_13A08:
jbe short loc_13A1F
loc_13A14:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_1399B
@ -17274,7 +17246,7 @@ loc_13AD0:
jbe short loc_13AE7
loc_13ADC:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13A54
@ -17416,7 +17388,7 @@ loc_13BD1:
jbe short loc_13BE8
loc_13BDD:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13B19
@ -17500,7 +17472,7 @@ loc_13C55:
jbe short loc_13C74
loc_13C6B:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_13C1D
@ -17585,7 +17557,7 @@ loc_13CEA:
jbe short loc_13CFF
loc_13CF6:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_13C96
@ -17675,7 +17647,7 @@ loc_13D7E:
jbe short loc_13D9D
loc_13D94:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz short loc_13D23
@ -17780,7 +17752,7 @@ loc_13E32:
jbe short loc_13E53
loc_13E48:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13DC2
@ -17911,7 +17883,7 @@ loc_13F13:
jbe short loc_13F34
loc_13F29:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13E81
@ -18058,7 +18030,7 @@ loc_14012:
jbe short loc_14033
loc_14028:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_13F6A
@ -18209,7 +18181,7 @@ loc_14110:
jbe short loc_14131
loc_14126:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_1406C
@ -18374,7 +18346,7 @@ loc_14227:
jbe short loc_14248
loc_1423D:
call sub_E4A6
call _shots_add
mov si, ax
or ax, ax
jnz loc_1416D
@ -49184,9 +49156,7 @@ word_2D05C dw ?
word_2D05E dw ?
byte_2D060 db ?
db ?
_shot_ptr dw ?
byte_2D064 db ?
db ?
include th04/shots_add[bss].asm
include th04/boss_funcs[bss].asm
byte_2D076 db ?
byte_2D077 db ?