mirror of https://github.com/nmlgc/ReC98.git
[Reverse-engineering] [th04/th05] Text popups
As in, "HiScore Entry!!", "Extend!!", "Full PowerUp!!", etc. Class CFloatingText in uth05win… but I decided against naming it like that because of some stage/BGM title-related variables in the middle. Funded by -Tom-.
This commit is contained in:
parent
fac879f8e6
commit
3ba536a2d8
|
@ -0,0 +1,245 @@
|
||||||
|
; void popup_update_and_render(void);
|
||||||
|
public popup_update_and_render
|
||||||
|
popup_update_and_render proc near
|
||||||
|
|
||||||
|
@@i = byte ptr -1
|
||||||
|
|
||||||
|
enter 2, 0
|
||||||
|
mov al, _popup_id_new
|
||||||
|
cmp al, _popup_id_cur
|
||||||
|
jz short @@needs_init?
|
||||||
|
cmp _popup_frame, 64
|
||||||
|
jb short @@needs_init?
|
||||||
|
call text_putsa pascal, (PLAYFIELD_TRAM_X shl 16) + POPUP_TRAM_Y, _PLAYFIELD_BLANK_ROW, TX_WHITE
|
||||||
|
call text_putsa pascal, (PLAYFIELD_TRAM_X shl 16) + 23, _PLAYFIELD_BLANK_ROW, TX_WHITE
|
||||||
|
mov _popup_frame, 0
|
||||||
|
|
||||||
|
@@needs_init?:
|
||||||
|
cmp _popup_frame, 0
|
||||||
|
jnz short @@done?
|
||||||
|
mov al, _popup_id_new
|
||||||
|
mov _popup_id_cur, al
|
||||||
|
mov [bp+@@i], 0
|
||||||
|
jmp short @@shiftbuf_init_more?
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@shiftbuf_init_loop:
|
||||||
|
mov al, [bp+@@i]
|
||||||
|
mov ah, 0
|
||||||
|
mov bx, ax
|
||||||
|
mov _popup_shiftbuf[bx], g_EMPTY
|
||||||
|
inc [bp+@@i]
|
||||||
|
|
||||||
|
@@shiftbuf_init_more?:
|
||||||
|
cmp [bp+@@i], POPUP_LEN
|
||||||
|
jb short @@shiftbuf_init_loop
|
||||||
|
mov al, _popup_id_cur
|
||||||
|
mov ah, 0
|
||||||
|
shl ax, 2
|
||||||
|
mov bx, ax
|
||||||
|
pushd _POPUP_STRINGS[bx]
|
||||||
|
call _strlen
|
||||||
|
add sp, 4
|
||||||
|
mov _popup_gaiji_len, ax
|
||||||
|
mov bx, _popup_gaiji_len
|
||||||
|
mov _popup_shiftbuf[bx], 0
|
||||||
|
add ax, ax
|
||||||
|
mov dx, PLAYFIELD_TRAM_X + PLAYFIELD_TRAM_W
|
||||||
|
sub dx, ax
|
||||||
|
mov _popup_cur_tram_x, dx
|
||||||
|
cmp _popup_id_new, POPUP_ID_BONUS
|
||||||
|
jz short @@enforce_bonus_text_width
|
||||||
|
mov ax, PLAYFIELD_TRAM_X + (PLAYFIELD_TRAM_W / 2)
|
||||||
|
sub ax, _popup_gaiji_len
|
||||||
|
mov _popup_dest_tram_x, ax
|
||||||
|
jmp short @@finish_init
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
; Since we print the number of points separately...
|
||||||
|
@@enforce_bonus_text_width:
|
||||||
|
mov _popup_dest_tram_x, 16
|
||||||
|
|
||||||
|
@@finish_init:
|
||||||
|
mov _popup_dest_reached, 0
|
||||||
|
|
||||||
|
@@done?:
|
||||||
|
cmp _popup_frame, POPUP_DURATION
|
||||||
|
jb short @@shift_needed?
|
||||||
|
call text_putsa pascal, (PLAYFIELD_TRAM_X shl 16) + POPUP_TRAM_Y, _PLAYFIELD_BLANK_ROW, TX_WHITE
|
||||||
|
mov _popup_frame, 0
|
||||||
|
mov _popup_fp, offset nullfunc_near
|
||||||
|
leave
|
||||||
|
retn
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@shift_needed?:
|
||||||
|
mov al, _popup_frame
|
||||||
|
mov ah, 0
|
||||||
|
mov dx, _popup_gaiji_len
|
||||||
|
dec dx
|
||||||
|
cmp ax, dx
|
||||||
|
jge short @@use_unshifted_string
|
||||||
|
mov [bp+@@i], 0
|
||||||
|
jmp short @@shift_more?
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@shift_loop:
|
||||||
|
mov al, [bp+@@i]
|
||||||
|
mov ah, 0
|
||||||
|
mov bx, ax
|
||||||
|
mov al, _popup_shiftbuf[bx+1]
|
||||||
|
mov dl, [bp+@@i]
|
||||||
|
mov dh, 0
|
||||||
|
mov bx, dx
|
||||||
|
mov _popup_shiftbuf[bx], al
|
||||||
|
inc [bp+@@i]
|
||||||
|
|
||||||
|
@@shift_more?:
|
||||||
|
mov al, [bp+@@i]
|
||||||
|
mov ah, 0
|
||||||
|
mov dx, _popup_gaiji_len
|
||||||
|
dec dx
|
||||||
|
cmp ax, dx
|
||||||
|
jl short @@shift_loop
|
||||||
|
mov al, _popup_id_cur
|
||||||
|
mov ah, 0
|
||||||
|
shl ax, 2
|
||||||
|
mov bx, ax
|
||||||
|
les bx, _POPUP_STRINGS[bx]
|
||||||
|
assume es:nothing
|
||||||
|
mov al, _popup_frame
|
||||||
|
mov ah, 0
|
||||||
|
add bx, ax
|
||||||
|
mov al, es:[bx]
|
||||||
|
mov bx, offset _popup_shiftbuf
|
||||||
|
dec bx
|
||||||
|
add bx, _popup_gaiji_len
|
||||||
|
mov [bx], al
|
||||||
|
call gaiji_putsa pascal, _popup_cur_tram_x, POPUP_TRAM_Y, ds, offset _popup_shiftbuf, TX_WHITE
|
||||||
|
jmp @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@use_unshifted_string:
|
||||||
|
mov ax, _popup_cur_tram_x
|
||||||
|
cmp ax, _popup_dest_tram_x
|
||||||
|
jle short @@dest_reached
|
||||||
|
push ax
|
||||||
|
push 2
|
||||||
|
mov al, _popup_id_cur
|
||||||
|
mov ah, 0
|
||||||
|
shl ax, 2
|
||||||
|
mov bx, ax
|
||||||
|
pushd _POPUP_STRINGS[bx]
|
||||||
|
push TX_WHITE
|
||||||
|
call gaiji_putsa
|
||||||
|
mov ax, _popup_gaiji_len
|
||||||
|
add ax, ax
|
||||||
|
add ax, _popup_cur_tram_x
|
||||||
|
cmp ax, PLAYFIELD_TRAM_X + PLAYFIELD_TRAM_W - GAIJI_TRAM_W
|
||||||
|
jg short @@still_shifting
|
||||||
|
mov ax, _popup_gaiji_len
|
||||||
|
add ax, ax
|
||||||
|
add ax, _popup_cur_tram_x
|
||||||
|
call text_putca pascal, ax, (POPUP_TRAM_Y shl 16) or ' ', TX_WHITE
|
||||||
|
|
||||||
|
@@still_shifting:
|
||||||
|
sub _popup_cur_tram_x, GAIJI_TRAM_W
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@dest_reached:
|
||||||
|
cmp _popup_dest_reached, 0
|
||||||
|
jnz short @@put_regular
|
||||||
|
mov _popup_dest_reached, 1
|
||||||
|
call text_putsa pascal, (PLAYFIELD_TRAM_X shl 16) + POPUP_TRAM_Y, _PLAYFIELD_BLANK_ROW, TX_WHITE
|
||||||
|
|
||||||
|
@@put_regular:
|
||||||
|
push _popup_dest_tram_x
|
||||||
|
push POPUP_TRAM_Y
|
||||||
|
mov al, _popup_id_cur
|
||||||
|
mov ah, 0
|
||||||
|
shl ax, 2
|
||||||
|
mov bx, ax
|
||||||
|
pushd _POPUP_STRINGS[bx]
|
||||||
|
push TX_WHITE
|
||||||
|
call gaiji_putsa
|
||||||
|
cmp _popup_id_cur, POPUP_ID_BONUS
|
||||||
|
jnz short @@ret
|
||||||
|
if GAME eq 5
|
||||||
|
call hud_points_put pascal, ((PLAYFIELD_TRAM_X + (PLAYFIELD_TRAM_W / 2)) shl 16) + 2, large [_popup_bonus]
|
||||||
|
else
|
||||||
|
call popup_points_put pascal, large [_popup_bonus]
|
||||||
|
endif
|
||||||
|
|
||||||
|
@@ret:
|
||||||
|
inc _popup_frame
|
||||||
|
leave
|
||||||
|
retn
|
||||||
|
popup_update_and_render endp
|
||||||
|
|
||||||
|
|
||||||
|
if GAME eq 4
|
||||||
|
; Yes, specific to the bonus popup, due to the hardcoded position.
|
||||||
|
|
||||||
|
; void pascal near popup_points_put(unsigned long points);
|
||||||
|
public popup_points_put
|
||||||
|
popup_points_put proc pascal near
|
||||||
|
arg @@points:dword
|
||||||
|
local @@digit:dword, @@divisor:dword, @@buf:byte:SCORE_DIGITS + 2 ; padding...
|
||||||
|
|
||||||
|
push si
|
||||||
|
push di
|
||||||
|
mov @@divisor, 1000000
|
||||||
|
xor si, si
|
||||||
|
xor di, di
|
||||||
|
jmp short @@more_digits?
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@digit_loop:
|
||||||
|
mov eax, @@points
|
||||||
|
xor edx, edx
|
||||||
|
div @@divisor
|
||||||
|
mov @@digit, eax
|
||||||
|
mov eax, @@points
|
||||||
|
xor edx, edx
|
||||||
|
div @@divisor
|
||||||
|
mov @@points, edx
|
||||||
|
or di, word ptr @@digit
|
||||||
|
or di, di
|
||||||
|
jz short @@omit_leading_zeroes
|
||||||
|
mov al, byte ptr @@digit
|
||||||
|
add al, GB_DIGITS
|
||||||
|
mov @@buf[si], al
|
||||||
|
jmp short @@divisor_next
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@omit_leading_zeroes:
|
||||||
|
mov @@buf[si], g_EMPTY
|
||||||
|
|
||||||
|
@@divisor_next:
|
||||||
|
mov ebx, 10
|
||||||
|
mov eax, @@divisor
|
||||||
|
xor edx, edx
|
||||||
|
div ebx
|
||||||
|
mov @@divisor, eax
|
||||||
|
inc si
|
||||||
|
|
||||||
|
@@more_digits?:
|
||||||
|
cmp @@divisor, 1
|
||||||
|
ja short @@digit_loop
|
||||||
|
mov al, byte ptr @@points
|
||||||
|
add al, gb_0_
|
||||||
|
mov @@buf[SCORE_DIGITS - 2], al ; (ones)
|
||||||
|
mov @@buf[SCORE_DIGITS - 1], gb_0_ ; ("continues used" digit)
|
||||||
|
mov @@buf[SCORE_DIGITS - 0], 0 ; (null terminator)
|
||||||
|
push ((PLAYFIELD_TRAM_X + (PLAYFIELD_TRAM_W / 2)) shl 16) + POPUP_TRAM_Y
|
||||||
|
push ss
|
||||||
|
lea ax, @@buf
|
||||||
|
push ax
|
||||||
|
push TX_WHITE
|
||||||
|
call gaiji_putsa
|
||||||
|
pop di
|
||||||
|
pop si
|
||||||
|
ret
|
||||||
|
popup_points_put endp
|
||||||
|
endif
|
|
@ -0,0 +1,27 @@
|
||||||
|
POPUP_TRAM_Y = 2
|
||||||
|
POPUP_LEN = 8
|
||||||
|
POPUP_DURATION = 128
|
||||||
|
|
||||||
|
public _popup_gaiji_len, _popup_id_cur, _popup_dest_reached, _popup_shiftbuf
|
||||||
|
public _popup_cur_tram_x, _popup_dest_tram_x, _bgm_title_id, _popup_id_new
|
||||||
|
public _overlay_text_fp, _popup_fp, _popup_byte_unknown, _popup_bonus
|
||||||
|
_popup_gaiji_len dw ?
|
||||||
|
_popup_id_cur db ?
|
||||||
|
_popup_dest_reached db ?
|
||||||
|
|
||||||
|
; Buffer used for shifting in the popup text from the right of the playfield.
|
||||||
|
; Only used while the text isn't fully visible.
|
||||||
|
_popup_shiftbuf db (POPUP_LEN + 1) dup(?)
|
||||||
|
db ? ; (word alignment)
|
||||||
|
if GAME eq 5
|
||||||
|
dd ? ;
|
||||||
|
endif
|
||||||
|
_popup_cur_tram_x dw ?
|
||||||
|
_popup_dest_tram_x dw ?
|
||||||
|
_bgm_title_id db ?
|
||||||
|
_popup_id_new db ?
|
||||||
|
_overlay_text_fp dw ?
|
||||||
|
_popup_fp dw ?
|
||||||
|
_popup_byte_unknown db ?
|
||||||
|
db ?
|
||||||
|
_popup_bonus dd ?
|
|
@ -1,3 +1,11 @@
|
||||||
|
POPUP_ID_HISCORE_ENTRY = 0
|
||||||
|
POPUP_ID_EXTEND = 1
|
||||||
|
POPUP_ID_BONUS = 2
|
||||||
|
POPUP_ID_FULL_POWERUP = 3
|
||||||
|
if GAME eq 5
|
||||||
|
POPUP_ID_DREAMBONUS_MAX = 4
|
||||||
|
endif
|
||||||
|
|
||||||
gStage_1 db 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 2, 0A1h, 0
|
gStage_1 db 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 2, 0A1h, 0
|
||||||
gFINAL_STAGE db 0AFh, 0B2h, 0B7h, 0AAh, 0B5h, 2, 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 0
|
gFINAL_STAGE db 0AFh, 0B2h, 0B7h, 0AAh, 0B5h, 2, 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 0
|
||||||
gEXTRA_STAGE db 0AEh, 0C1h, 0BDh, 0BBh, 0AAh, 2, 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 0
|
gEXTRA_STAGE db 0AEh, 0C1h, 0BDh, 0BBh, 0AAh, 2, 0BCh, 0BDh, 0AAh, 0B0h, 0AEh, 0
|
||||||
|
@ -5,3 +13,17 @@ gpHISCORE_ENTRY db 40h, 41h, 42h, 43h, 44h, 45h, 46h, 47h, 0
|
||||||
gpEXTEND db 48h, 49h, 4Ah, 4Bh, 4Ch, 0
|
gpEXTEND db 48h, 49h, 4Ah, 4Bh, 4Ch, 0
|
||||||
gpBONUS db 58h, 59h, 5Ah, 5Bh, 0
|
gpBONUS db 58h, 59h, 5Ah, 5Bh, 0
|
||||||
gpFULL_POWERUP db 50h, 51h, 52h, 53h, 54h, 55h, 56h, 57h, 0
|
gpFULL_POWERUP db 50h, 51h, 52h, 53h, 54h, 55h, 56h, 57h, 0
|
||||||
|
if GAME eq 5
|
||||||
|
gpDREAMBONUS_MAX db 65h, 66h, 67h, 68h, 69h, 6Ah, 6Bh, 6Ch, 6Dh, 6Eh, 0
|
||||||
|
endif
|
||||||
|
align 2
|
||||||
|
|
||||||
|
public _POPUP_STRINGS
|
||||||
|
_POPUP_STRINGS label dword
|
||||||
|
dd gpHISCORE_ENTRY
|
||||||
|
dd gpEXTEND
|
||||||
|
dd gpBONUS
|
||||||
|
dd gpFULL_POWERUP
|
||||||
|
if GAME eq 5
|
||||||
|
dd gpDREAMBONUS_MAX
|
||||||
|
endif
|
|
@ -7,3 +7,5 @@ include th04/hardware/grcg.inc
|
||||||
include th04/hardware/input.inc
|
include th04/hardware/input.inc
|
||||||
include th04/math/randring_next.inc
|
include th04/math/randring_next.inc
|
||||||
include th04/math/motion.inc
|
include th04/math/motion.inc
|
||||||
|
include th02/gaiji_boldfont.inc
|
||||||
|
include th04/gaiji.inc
|
||||||
|
|
437
th04_main.asm
437
th04_main.asm
|
@ -394,8 +394,8 @@ loc_ABD8:
|
||||||
call sub_12CE5
|
call sub_12CE5
|
||||||
call _circles_render
|
call _circles_render
|
||||||
GRCG_OFF_CLOBBERING dx
|
GRCG_OFF_CLOBBERING dx
|
||||||
call fp_259DC
|
call _overlay_text_fp
|
||||||
call fp_259DE
|
call _popup_fp
|
||||||
call sub_CD36
|
call sub_CD36
|
||||||
call far ptr _input_reset_sense
|
call far ptr _input_reset_sense
|
||||||
mov ax, vsync_Count1
|
mov ax, vsync_Count1
|
||||||
|
@ -677,7 +677,7 @@ sub_AED0 proc near
|
||||||
loc_AEF9:
|
loc_AEF9:
|
||||||
mov word_213DE, 1
|
mov word_213DE, 1
|
||||||
call text_fillca pascal, (' ' shl 16) + TX_BLACK + TX_REVERSE
|
call text_fillca pascal, (' ' shl 16) + TX_BLACK + TX_REVERSE
|
||||||
mov fp_23D90, offset nullsub_1
|
mov fp_23D90, offset nullfunc_near
|
||||||
call sub_AD03
|
call sub_AD03
|
||||||
les bx, _humaconfig
|
les bx, _humaconfig
|
||||||
cmp byte ptr es:[bx+3Eh], 0
|
cmp byte ptr es:[bx+3Eh], 0
|
||||||
|
@ -906,8 +906,8 @@ loc_B156:
|
||||||
|
|
||||||
loc_B1AE:
|
loc_B1AE:
|
||||||
nopcall sub_CB99
|
nopcall sub_CB99
|
||||||
mov fp_259DC, offset sub_10DA3
|
mov _overlay_text_fp, offset sub_10DA3
|
||||||
mov fp_259DE, offset nullsub_1
|
mov _popup_fp, offset nullfunc_near
|
||||||
pop si
|
pop si
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -1835,10 +1835,10 @@ RANDRING_NEXT_DEF 1
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
public nullfunc_near
|
||||||
nullsub_1 proc near
|
nullfunc_near proc near
|
||||||
retn
|
retn
|
||||||
nullsub_1 endp
|
nullfunc_near endp
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
nop
|
nop
|
||||||
|
@ -4012,15 +4012,15 @@ loc_CF70:
|
||||||
mov al, stage_id
|
mov al, stage_id
|
||||||
add al, al
|
add al, al
|
||||||
add al, 2
|
add al, 2
|
||||||
mov bgm_title_id, al
|
mov _bgm_title_id, al
|
||||||
cmp stage_id, 3
|
cmp stage_id, 3
|
||||||
jnz short loc_CFAC
|
jnz short loc_CFAC
|
||||||
cmp playchar, 0
|
cmp playchar, 0
|
||||||
jz short loc_CFAC
|
jz short loc_CFAC
|
||||||
mov bgm_title_id, 10h
|
mov _bgm_title_id, 10h
|
||||||
|
|
||||||
loc_CFAC:
|
loc_CFAC:
|
||||||
mov fp_259DC, offset sub_11195
|
mov _overlay_text_fp, offset sub_11195
|
||||||
mov al, 1
|
mov al, 1
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -6602,7 +6602,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_25660, 24h ; '$'
|
cmp byte_25660, 24h ; '$'
|
||||||
jb short loc_E47B
|
jb short loc_E47B
|
||||||
call sub_10D4B
|
call sub_10D4B
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov al, 1
|
mov al, 1
|
||||||
jmp short loc_E4CD
|
jmp short loc_E4CD
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -6678,7 +6678,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_25660, 0
|
cmp byte_25660, 0
|
||||||
jnz short loc_E4EB
|
jnz short loc_E4EB
|
||||||
call sub_10D77
|
call sub_10D77
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov al, 1
|
mov al, 1
|
||||||
jmp short loc_E53D
|
jmp short loc_E53D
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -7493,7 +7493,7 @@ loc_EBD8:
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_EBE4:
|
loc_EBE4:
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
|
|
||||||
loc_EBEA:
|
loc_EBEA:
|
||||||
pop di
|
pop di
|
||||||
|
@ -7865,8 +7865,8 @@ loc_EE60:
|
||||||
|
|
||||||
loc_EE8C:
|
loc_EE8C:
|
||||||
nopcall sub_EEE8
|
nopcall sub_EEE8
|
||||||
mov byte_259DB, 1
|
mov _popup_id_new, POPUP_ID_EXTEND
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
call snd_se_play pascal, 7
|
call snd_se_play pascal, 7
|
||||||
|
|
||||||
locret_EEA3:
|
locret_EEA3:
|
||||||
|
@ -10161,7 +10161,7 @@ sub_FFA4 proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
mov byte_256A8, 0
|
mov byte_256A8, 0
|
||||||
mov fp_255AA, offset nullsub_1
|
mov fp_255AA, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_FFA4 endp
|
sub_FFA4 endp
|
||||||
|
@ -10461,7 +10461,7 @@ loc_10245:
|
||||||
jnz short loc_10281
|
jnz short loc_10281
|
||||||
mov _scroll_active, 0
|
mov _scroll_active, 0
|
||||||
call graph_scrollup pascal, 0
|
call graph_scrollup pascal, 0
|
||||||
mov fp_255AA, offset nullsub_1
|
mov fp_255AA, offset nullfunc_near
|
||||||
mov al, Palettes+42
|
mov al, Palettes+42
|
||||||
mov byte_257D6, al
|
mov byte_257D6, al
|
||||||
mov al, Palettes+43
|
mov al, Palettes+43
|
||||||
|
@ -11887,16 +11887,16 @@ var_1 = byte ptr -1
|
||||||
les bx, _humaconfig
|
les bx, _humaconfig
|
||||||
cmp byte ptr es:[bx+3Eh], 0
|
cmp byte ptr es:[bx+3Eh], 0
|
||||||
jnz short loc_10DC6
|
jnz short loc_10DC6
|
||||||
mov fp_259DC, offset sub_10F36
|
mov _overlay_text_fp, offset sub_10F36
|
||||||
jmp short loc_10DDE
|
jmp short loc_10DDE
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_10DC6:
|
loc_10DC6:
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
call gaiji_putsa pascal, (18 shl 16) + 12, ds, offset gDEMO_PLAY, TX_YELLOW + TX_BLINK
|
call gaiji_putsa pascal, (18 shl 16) + 12, ds, offset gDEMO_PLAY, TX_YELLOW + TX_BLINK
|
||||||
|
|
||||||
loc_10DDE:
|
loc_10DDE:
|
||||||
mov byte_259E0, 0
|
mov _popup_byte_unknown, 0
|
||||||
jmp short loc_10E35
|
jmp short loc_10E35
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -11970,7 +11970,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_22EA2, 0
|
cmp byte_22EA2, 0
|
||||||
jnz short loc_10E51
|
jnz short loc_10E51
|
||||||
call sub_10D77
|
call sub_10D77
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
jmp short loc_10EA1
|
jmp short loc_10EA1
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -12088,7 +12088,7 @@ sub_10EED proc near
|
||||||
var_1 = byte ptr -1
|
var_1 = byte ptr -1
|
||||||
|
|
||||||
enter 2, 0
|
enter 2, 0
|
||||||
mov al, byte_259E0
|
mov al, _popup_byte_unknown
|
||||||
add al, byte_22EA3
|
add al, byte_22EA3
|
||||||
mov [bp+var_1], al
|
mov [bp+var_1], al
|
||||||
cmp [bp+var_1], 0
|
cmp [bp+var_1], 0
|
||||||
|
@ -12118,9 +12118,9 @@ sub_10EED endp
|
||||||
sub_10F36 proc near
|
sub_10F36 proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
cmp byte_259E0, 0C0h
|
cmp _popup_byte_unknown, 0C0h
|
||||||
jb loc_10FED
|
jb loc_10FED
|
||||||
cmp byte_259E0, 0C0h
|
cmp _popup_byte_unknown, 0C0h
|
||||||
jnz short loc_10F53
|
jnz short loc_10F53
|
||||||
call sub_10D4B
|
call sub_10D4B
|
||||||
mov byte_22EF6, 0
|
mov byte_22EF6, 0
|
||||||
|
@ -12128,17 +12128,17 @@ sub_10F36 proc near
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_10F53:
|
loc_10F53:
|
||||||
test byte_259E0, 1
|
test _popup_byte_unknown, 1
|
||||||
jnz short loc_10F5E
|
jnz short loc_10F5E
|
||||||
inc byte_22EF6
|
inc byte_22EF6
|
||||||
|
|
||||||
loc_10F5E:
|
loc_10F5E:
|
||||||
cmp byte_22EF6, 10h
|
cmp byte_22EF6, 10h
|
||||||
jb short loc_10F80
|
jb short loc_10F80
|
||||||
test byte_259E0, 1
|
test _popup_byte_unknown, 1
|
||||||
jz loc_1118F
|
jz loc_1118F
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov byte_259E0, 0
|
mov _popup_byte_unknown, 0
|
||||||
mov byte_22EF6, 0
|
mov byte_22EF6, 0
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -12189,7 +12189,7 @@ loc_10FA1:
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_10FED:
|
loc_10FED:
|
||||||
cmp byte_259E0, 0
|
cmp _popup_byte_unknown, 0
|
||||||
jnz short loc_11057
|
jnz short loc_11057
|
||||||
mov byte_22EF6, 10h
|
mov byte_22EF6, 10h
|
||||||
mov al, stage_id
|
mov al, stage_id
|
||||||
|
@ -12198,13 +12198,13 @@ loc_10FED:
|
||||||
mov al, stage_id
|
mov al, stage_id
|
||||||
add al, al
|
add al, al
|
||||||
inc al
|
inc al
|
||||||
mov bgm_title_id, al
|
mov _bgm_title_id, al
|
||||||
cmp stage_id, 0
|
cmp stage_id, 0
|
||||||
jnz short loc_11023
|
jnz short loc_11023
|
||||||
cmp playchar, 0
|
cmp playchar, 0
|
||||||
jnz short loc_11023
|
jnz short loc_11023
|
||||||
mov stage_title_id, 0
|
mov stage_title_id, 0
|
||||||
mov bgm_title_id, 0
|
mov _bgm_title_id, 0
|
||||||
|
|
||||||
loc_11023:
|
loc_11023:
|
||||||
mov al, stage_title_id
|
mov al, stage_title_id
|
||||||
|
@ -12215,7 +12215,7 @@ loc_11023:
|
||||||
call _strlen
|
call _strlen
|
||||||
add sp, 4
|
add sp, 4
|
||||||
mov stage_title_len, ax
|
mov stage_title_len, ax
|
||||||
mov al, bgm_title_id
|
mov al, _bgm_title_id
|
||||||
mov ah, 0
|
mov ah, 0
|
||||||
shl ax, 2
|
shl ax, 2
|
||||||
mov bx, ax
|
mov bx, ax
|
||||||
|
@ -12279,7 +12279,7 @@ loc_110A1:
|
||||||
sub ax, bgm_title_len
|
sub ax, bgm_title_len
|
||||||
push ax
|
push ax
|
||||||
push 23
|
push 23
|
||||||
mov al, bgm_title_id
|
mov al, _bgm_title_id
|
||||||
mov ah, 0
|
mov ah, 0
|
||||||
shl ax, 2
|
shl ax, 2
|
||||||
mov bx, ax
|
mov bx, ax
|
||||||
|
@ -12328,9 +12328,9 @@ loc_11128:
|
||||||
push stage_title_len
|
push stage_title_len
|
||||||
call sub_10EA5
|
call sub_10EA5
|
||||||
GRCG_OFF_CLOBBERING dx
|
GRCG_OFF_CLOBBERING dx
|
||||||
test byte_259E0, 3
|
test _popup_byte_unknown, 3
|
||||||
jnz short loc_1118F
|
jnz short loc_1118F
|
||||||
cmp byte_259E0, 0
|
cmp _popup_byte_unknown, 0
|
||||||
jz short loc_1118F
|
jz short loc_1118F
|
||||||
inc byte_22EF6
|
inc byte_22EF6
|
||||||
cmp byte_22EF6, 18h
|
cmp byte_22EF6, 18h
|
||||||
|
@ -12338,7 +12338,7 @@ loc_11128:
|
||||||
mov byte_22EF6, 0
|
mov byte_22EF6, 0
|
||||||
|
|
||||||
loc_1118F:
|
loc_1118F:
|
||||||
inc byte_259E0
|
inc _popup_byte_unknown
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_10F36 endp
|
sub_10F36 endp
|
||||||
|
@ -12370,7 +12370,7 @@ loc_111BB:
|
||||||
jb short loc_111D8
|
jb short loc_111D8
|
||||||
test byte_22EA3, 1
|
test byte_22EA3, 1
|
||||||
jz loc_112D2
|
jz loc_112D2
|
||||||
mov fp_259DC, offset nullsub_1
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov byte_22EA3, 0
|
mov byte_22EA3, 0
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -12401,7 +12401,7 @@ loc_11211:
|
||||||
cmp byte_22EA3, 0
|
cmp byte_22EA3, 0
|
||||||
jnz short loc_11237
|
jnz short loc_11237
|
||||||
mov byte_22EF6, 10h
|
mov byte_22EF6, 10h
|
||||||
mov al, bgm_title_id
|
mov al, _bgm_title_id
|
||||||
mov ah, 0
|
mov ah, 0
|
||||||
shl ax, 2
|
shl ax, 2
|
||||||
mov bx, ax
|
mov bx, ax
|
||||||
|
@ -12422,7 +12422,7 @@ loc_11237:
|
||||||
sub ax, word_259C6
|
sub ax, word_259C6
|
||||||
push ax
|
push ax
|
||||||
push 23
|
push 23
|
||||||
mov al, bgm_title_id
|
mov al, _bgm_title_id
|
||||||
mov ah, 0
|
mov ah, 0
|
||||||
shl ax, 2
|
shl ax, 2
|
||||||
mov bx, ax
|
mov bx, ax
|
||||||
|
@ -12463,257 +12463,7 @@ loc_112D2:
|
||||||
retn
|
retn
|
||||||
sub_11195 endp
|
sub_11195 endp
|
||||||
|
|
||||||
|
include th04/hud/popup.asm
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
|
||||||
|
|
||||||
sub_112D8 proc near
|
|
||||||
|
|
||||||
var_1 = byte ptr -1
|
|
||||||
|
|
||||||
enter 2, 0
|
|
||||||
mov al, byte_259DB
|
|
||||||
cmp al, byte_259CA
|
|
||||||
jz short loc_11317
|
|
||||||
cmp byte_22EA4, 40h
|
|
||||||
jb short loc_11317
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_22EF8, TX_WHITE
|
|
||||||
call text_putsa pascal, (4 shl 16) + 23, off_22EF8, TX_WHITE
|
|
||||||
mov byte_22EA4, 0
|
|
||||||
|
|
||||||
loc_11317:
|
|
||||||
cmp byte_22EA4, 0
|
|
||||||
jnz short loc_1138B
|
|
||||||
mov al, byte_259DB
|
|
||||||
mov byte_259CA, al
|
|
||||||
mov [bp+var_1], 0
|
|
||||||
jmp short loc_11339
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_1132A:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov bx, ax
|
|
||||||
mov byte ptr [bx+468Ch], 2
|
|
||||||
inc [bp+var_1]
|
|
||||||
|
|
||||||
loc_11339:
|
|
||||||
cmp [bp+var_1], 8
|
|
||||||
jb short loc_1132A
|
|
||||||
mov al, byte_259CA
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd dword ptr [bx+1BA6h]
|
|
||||||
call _strlen
|
|
||||||
add sp, 4
|
|
||||||
mov word_259C8, ax
|
|
||||||
mov bx, word_259C8
|
|
||||||
mov byte ptr [bx+468Ch], 0
|
|
||||||
add ax, ax
|
|
||||||
mov dx, 34h ; '4'
|
|
||||||
sub dx, ax
|
|
||||||
mov word_259D6, dx
|
|
||||||
cmp byte_259DB, 2
|
|
||||||
jz short loc_11380
|
|
||||||
mov ax, 1Ch
|
|
||||||
sub ax, word_259C8
|
|
||||||
mov word_259D8, ax
|
|
||||||
jmp short loc_11386
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11380:
|
|
||||||
mov word_259D8, 10h
|
|
||||||
|
|
||||||
loc_11386:
|
|
||||||
mov byte_259CB, 0
|
|
||||||
|
|
||||||
loc_1138B:
|
|
||||||
cmp byte_22EA4, 80h
|
|
||||||
jb short loc_113B2
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_22EF8, TX_WHITE
|
|
||||||
mov byte_22EA4, 0
|
|
||||||
mov fp_259DE, offset nullsub_1
|
|
||||||
leave
|
|
||||||
retn
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_113B2:
|
|
||||||
mov al, byte_22EA4
|
|
||||||
mov ah, 0
|
|
||||||
mov dx, word_259C8
|
|
||||||
dec dx
|
|
||||||
cmp ax, dx
|
|
||||||
jge short loc_11424
|
|
||||||
mov [bp+var_1], 0
|
|
||||||
jmp short loc_113DF
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_113C6:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov bx, ax
|
|
||||||
mov al, [bx+468Dh]
|
|
||||||
mov dl, [bp+var_1]
|
|
||||||
mov dh, 0
|
|
||||||
mov bx, dx
|
|
||||||
mov [bx+468Ch], al
|
|
||||||
inc [bp+var_1]
|
|
||||||
|
|
||||||
loc_113DF:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov dx, word_259C8
|
|
||||||
dec dx
|
|
||||||
cmp ax, dx
|
|
||||||
jl short loc_113C6
|
|
||||||
mov al, byte_259CA
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
les bx, off_22EE6[bx]
|
|
||||||
assume es:nothing
|
|
||||||
mov al, byte_22EA4
|
|
||||||
mov ah, 0
|
|
||||||
add bx, ax
|
|
||||||
mov al, es:[bx]
|
|
||||||
mov bx, 468Ch
|
|
||||||
dec bx
|
|
||||||
add bx, word_259C8
|
|
||||||
mov [bx], al
|
|
||||||
call gaiji_putsa pascal, word_259D6, 2, ds, offset unk_259CC, TX_WHITE
|
|
||||||
jmp loc_114BF
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11424:
|
|
||||||
mov ax, word_259D6
|
|
||||||
cmp ax, word_259D8
|
|
||||||
jle short loc_11474
|
|
||||||
push ax
|
|
||||||
push 2
|
|
||||||
mov al, byte_259CA
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd off_22EE6[bx] ; strp
|
|
||||||
push TX_WHITE
|
|
||||||
call gaiji_putsa
|
|
||||||
mov ax, word_259C8
|
|
||||||
add ax, ax
|
|
||||||
add ax, word_259D6
|
|
||||||
cmp ax, 32h ; '2'
|
|
||||||
jg short loc_1146D
|
|
||||||
mov ax, word_259C8
|
|
||||||
add ax, ax
|
|
||||||
add ax, word_259D6
|
|
||||||
call text_putca pascal, ax, (2 shl 16) + ' ', TX_WHITE
|
|
||||||
|
|
||||||
loc_1146D:
|
|
||||||
sub word_259D6, 2
|
|
||||||
jmp short loc_114BF
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11474:
|
|
||||||
cmp byte_259CB, 0
|
|
||||||
jnz short loc_11493
|
|
||||||
mov byte_259CB, 1
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_22EF8, TX_WHITE
|
|
||||||
|
|
||||||
loc_11493:
|
|
||||||
push word_259D8
|
|
||||||
push 2
|
|
||||||
mov al, byte_259CA
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd off_22EE6[bx] ; strp
|
|
||||||
push TX_WHITE
|
|
||||||
call gaiji_putsa
|
|
||||||
cmp byte_259CA, 2
|
|
||||||
jnz short loc_114BF
|
|
||||||
pushd [dword_259E2]
|
|
||||||
call sub_114C5
|
|
||||||
|
|
||||||
loc_114BF:
|
|
||||||
inc byte_22EA4
|
|
||||||
leave
|
|
||||||
retn
|
|
||||||
sub_112D8 endp
|
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
|
||||||
|
|
||||||
sub_114C5 proc near
|
|
||||||
|
|
||||||
var_12 = dword ptr -12h
|
|
||||||
var_E = dword ptr -0Eh
|
|
||||||
var_A = byte ptr -0Ah
|
|
||||||
var_4 = byte ptr -4
|
|
||||||
var_3 = byte ptr -3
|
|
||||||
var_2 = byte ptr -2
|
|
||||||
arg_0 = dword ptr 4
|
|
||||||
|
|
||||||
enter 12h, 0
|
|
||||||
push si
|
|
||||||
push di
|
|
||||||
mov [bp+var_E], 0F4240h
|
|
||||||
xor si, si
|
|
||||||
xor di, di
|
|
||||||
jmp short loc_11521
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_114D9:
|
|
||||||
mov eax, [bp+arg_0]
|
|
||||||
xor edx, edx
|
|
||||||
div [bp+var_E]
|
|
||||||
mov [bp+var_12], eax
|
|
||||||
mov eax, [bp+arg_0]
|
|
||||||
xor edx, edx
|
|
||||||
div [bp+var_E]
|
|
||||||
mov [bp+arg_0], edx
|
|
||||||
or di, word ptr [bp+var_12]
|
|
||||||
or di, di
|
|
||||||
jz short loc_11508
|
|
||||||
mov al, byte ptr [bp+var_12]
|
|
||||||
add al, 0A0h
|
|
||||||
mov [bp+si+var_A], al
|
|
||||||
jmp short loc_1150C
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11508:
|
|
||||||
mov [bp+si+var_A], 2
|
|
||||||
|
|
||||||
loc_1150C:
|
|
||||||
mov ebx, 0Ah
|
|
||||||
mov eax, [bp+var_E]
|
|
||||||
xor edx, edx
|
|
||||||
div ebx
|
|
||||||
mov [bp+var_E], eax
|
|
||||||
inc si
|
|
||||||
|
|
||||||
loc_11521:
|
|
||||||
cmp [bp+var_E], 1
|
|
||||||
ja short loc_114D9
|
|
||||||
mov al, byte ptr [bp+arg_0]
|
|
||||||
add al, 0A0h
|
|
||||||
mov [bp+var_4], al
|
|
||||||
mov [bp+var_3], 0A0h
|
|
||||||
mov [bp+var_2], 0
|
|
||||||
push (28 shl 16) + 2
|
|
||||||
push ss
|
|
||||||
lea ax, [bp+var_A]
|
|
||||||
push ax
|
|
||||||
push TX_WHITE
|
|
||||||
call gaiji_putsa
|
|
||||||
pop di
|
|
||||||
pop si
|
|
||||||
leave
|
|
||||||
retn 4
|
|
||||||
sub_114C5 endp
|
|
||||||
|
|
||||||
include th04/formats/bb_txt_load.asm
|
include th04/formats/bb_txt_load.asm
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
@ -12908,8 +12658,8 @@ loc_116FD:
|
||||||
or al, al
|
or al, al
|
||||||
jz short loc_11718
|
jz short loc_11718
|
||||||
mov _is_hiscore, 1
|
mov _is_hiscore, 1
|
||||||
mov byte_259DB, 0
|
mov _popup_id_new, POPUP_ID_HISCORE_ENTRY
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
|
|
||||||
loc_11718:
|
loc_11718:
|
||||||
mov eax, _score_delta_frame
|
mov eax, _score_delta_frame
|
||||||
|
@ -15234,7 +14984,7 @@ var_1 = byte ptr -1
|
||||||
jnz short loc_12996
|
jnz short loc_12996
|
||||||
cmp word_2671A, 2
|
cmp word_2671A, 2
|
||||||
jg short loc_12A05
|
jg short loc_12A05
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
|
|
||||||
loc_12991:
|
loc_12991:
|
||||||
call tiles_render_all
|
call tiles_render_all
|
||||||
|
@ -27865,8 +27615,8 @@ off_19EB0 dw offset loc_19AC8
|
||||||
sub_19EBC proc far
|
sub_19EBC proc far
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
mov _midboss_invalidate?, offset nullsub_1
|
mov _midboss_invalidate?, offset nullfunc_near
|
||||||
mov _midboss_render, offset nullsub_1
|
mov _midboss_render, offset nullfunc_near
|
||||||
setfarfp _midboss_update, nullsub_2
|
setfarfp _midboss_update, nullsub_2
|
||||||
mov _midboss_active, 0
|
mov _midboss_active, 0
|
||||||
mov _midboss_hp, 0
|
mov _midboss_hp, 0
|
||||||
|
@ -33329,7 +33079,7 @@ loc_1CB7F:
|
||||||
mov [bp+var_8], 7D0h
|
mov [bp+var_8], 7D0h
|
||||||
|
|
||||||
loc_1CB84:
|
loc_1CB84:
|
||||||
mov dword_259E2, 0
|
mov _popup_bonus, 0
|
||||||
xor di, di
|
xor di, di
|
||||||
jmp short loc_1CBF1
|
jmp short loc_1CBF1
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -33352,7 +33102,7 @@ loc_1CB91:
|
||||||
|
|
||||||
loc_1CBB7:
|
loc_1CBB7:
|
||||||
movzx eax, [bp+var_4]
|
movzx eax, [bp+var_4]
|
||||||
add dword_259E2, eax
|
add _popup_bonus, eax
|
||||||
add _score_delta, eax
|
add _score_delta, eax
|
||||||
push word ptr [si+2]
|
push word ptr [si+2]
|
||||||
push word ptr [si+4]
|
push word ptr [si+4]
|
||||||
|
@ -33377,10 +33127,10 @@ loc_1CBED:
|
||||||
loc_1CBF1:
|
loc_1CBF1:
|
||||||
cmp di, 1B8h
|
cmp di, 1B8h
|
||||||
jl short loc_1CB91
|
jl short loc_1CB91
|
||||||
cmp dword_259E2, 0
|
cmp _popup_bonus, 0
|
||||||
jz short loc_1CC0A
|
jz short loc_1CC0A
|
||||||
mov byte_259DB, 2
|
mov _popup_id_new, POPUP_ID_BONUS
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
|
|
||||||
loc_1CC0A:
|
loc_1CC0A:
|
||||||
inc _bullet_clear_trigger
|
inc _bullet_clear_trigger
|
||||||
|
@ -35511,8 +35261,8 @@ loc_1DBD0:
|
||||||
jnb short loc_1DC04
|
jnb short loc_1DC04
|
||||||
cmp power, 127
|
cmp power, 127
|
||||||
jnz short loc_1DBF5
|
jnz short loc_1DBF5
|
||||||
mov byte_259DB, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
cmp _bullet_clear_time, 20
|
cmp _bullet_clear_time, 20
|
||||||
jnb short loc_1DBF5
|
jnb short loc_1DBF5
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
@ -35615,8 +35365,8 @@ loc_1DCCC:
|
||||||
cmp power, 128
|
cmp power, 128
|
||||||
jb short loc_1DCFE
|
jb short loc_1DCFE
|
||||||
mov power, 128
|
mov power, 128
|
||||||
mov byte_259DB, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
cmp _bullet_clear_time, 20
|
cmp _bullet_clear_time, 20
|
||||||
jnb short loc_1DCFE
|
jnb short loc_1DCFE
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
@ -35658,8 +35408,8 @@ loc_1DD47:
|
||||||
inc byte ptr es:[bx+0Bh]
|
inc byte ptr es:[bx+0Bh]
|
||||||
call sub_EEE8
|
call sub_EEE8
|
||||||
call snd_se_play pascal, 7
|
call snd_se_play pascal, 7
|
||||||
mov byte_259DB, 1
|
mov _popup_id_new, POPUP_ID_EXTEND
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
jmp short loc_1DD90 ; jumptable 0001CCD9 case 696
|
jmp short loc_1DD90 ; jumptable 0001CCD9 case 696
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -35669,8 +35419,8 @@ loc_1DD6F:
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
|
||||||
loc_1DD7B:
|
loc_1DD7B:
|
||||||
mov byte_259DB, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_259DE, offset sub_112D8
|
mov _popup_fp, offset popup_update_and_render
|
||||||
mov power, 128
|
mov power, 128
|
||||||
call sub_11DE6
|
call sub_11DE6
|
||||||
|
|
||||||
|
@ -35941,7 +35691,7 @@ sub_1DF61 proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
setfarfp _boss_update, nullsub_2
|
setfarfp _boss_update, nullsub_2
|
||||||
mov _boss_fg_render, offset nullsub_1
|
mov _boss_fg_render, offset nullfunc_near
|
||||||
mov byte_26719, 0
|
mov byte_26719, 0
|
||||||
mov byte_2671D, 0
|
mov byte_2671D, 0
|
||||||
mov byte_2671F, 0
|
mov byte_2671F, 0
|
||||||
|
@ -35993,8 +35743,8 @@ sub_1DFEF proc far
|
||||||
call bb_stage_load pascal, ds, offset aSt00_bb
|
call bb_stage_load pascal, ds, offset aSt00_bb
|
||||||
mov Palettes, 0FFh
|
mov Palettes, 0FFh
|
||||||
mov Palettes+1, 0FFh
|
mov Palettes+1, 0FFh
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retf
|
retf
|
||||||
sub_1DFEF endp
|
sub_1DFEF endp
|
||||||
|
@ -36039,8 +35789,8 @@ sub_1E0B3 proc far
|
||||||
push ( 32 shl 16) or 8
|
push ( 32 shl 16) or 8
|
||||||
call select_for_rank
|
call select_for_rank
|
||||||
mov byte_2D01E, al
|
mov byte_2D01E, al
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retf
|
retf
|
||||||
sub_1E0B3 endp
|
sub_1E0B3 endp
|
||||||
|
@ -36081,8 +35831,8 @@ sub_1E186 proc far
|
||||||
call super_entry_bfnt
|
call super_entry_bfnt
|
||||||
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt02bk_cdg, 0
|
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt02bk_cdg, 0
|
||||||
call bb_stage_load pascal, ds, offset aSt02_bb
|
call bb_stage_load pascal, ds, offset aSt02_bb
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retf
|
retf
|
||||||
sub_1E186 endp
|
sub_1E186 endp
|
||||||
|
@ -36177,8 +35927,8 @@ loc_1E3A6:
|
||||||
push 0
|
push 0
|
||||||
call _cdg_load_single_noalpha
|
call _cdg_load_single_noalpha
|
||||||
call bb_stage_load pascal, ds, offset aSt03_bb
|
call bb_stage_load pascal, ds, offset aSt03_bb
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retf
|
retf
|
||||||
sub_1E245 endp
|
sub_1E245 endp
|
||||||
|
@ -36192,7 +35942,7 @@ sub_1E3C2 proc far
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
setfarfp _midboss_update_func, nullsub_2
|
setfarfp _midboss_update_func, nullsub_2
|
||||||
mov _midboss_render_func, offset nullsub_1
|
mov _midboss_render_func, offset nullfunc_near
|
||||||
mov frames_until_midboss, 60000
|
mov frames_until_midboss, 60000
|
||||||
call sub_1DF61
|
call sub_1DF61
|
||||||
mov _boss_pos.cur.x, (192 shl 4)
|
mov _boss_pos.cur.x, (192 shl 4)
|
||||||
|
@ -36231,7 +35981,7 @@ sub_1E47C proc far
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
setfarfp _midboss_update_func, nullsub_2
|
setfarfp _midboss_update_func, nullsub_2
|
||||||
mov _midboss_render_func, offset nullsub_1
|
mov _midboss_render_func, offset nullfunc_near
|
||||||
mov frames_until_midboss, 60000
|
mov frames_until_midboss, 60000
|
||||||
call sub_1DF61
|
call sub_1DF61
|
||||||
mov _boss_pos.cur.x, (192 shl 4)
|
mov _boss_pos.cur.x, (192 shl 4)
|
||||||
|
@ -36245,8 +35995,8 @@ sub_1E47C proc far
|
||||||
mov _boss_hitbox_radius.x, (24 shl 4)
|
mov _boss_hitbox_radius.x, (24 shl 4)
|
||||||
mov _boss_hitbox_radius.y, (48 shl 4)
|
mov _boss_hitbox_radius.y, (48 shl 4)
|
||||||
call bb_stage_load pascal, ds, offset aSt05_bb
|
call bb_stage_load pascal, ds, offset aSt05_bb
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
push (48 shl 16) or 64
|
push (48 shl 16) or 64
|
||||||
push (80 shl 16) or 96
|
push (80 shl 16) or 96
|
||||||
call select_for_rank
|
call select_for_rank
|
||||||
|
@ -36294,8 +36044,8 @@ sub_1E518 proc far
|
||||||
mov byte_2D01E, 0
|
mov byte_2D01E, 0
|
||||||
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt06bk_cdg, 0
|
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt06bk_cdg, 0
|
||||||
call bb_stage_load pascal, ds, offset aSt06_bb
|
call bb_stage_load pascal, ds, offset aSt06_bb
|
||||||
mov _stage_render, offset nullsub_1
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_1
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retf
|
retf
|
||||||
sub_1E518 endp
|
sub_1E518 endp
|
||||||
|
@ -36616,8 +36366,8 @@ loc_1E801:
|
||||||
mov _boss_sprite_cur, 128
|
mov _boss_sprite_cur, 128
|
||||||
mov _boss_hitbox_radius.x, (24 shl 4)
|
mov _boss_hitbox_radius.x, (24 shl 4)
|
||||||
mov _boss_hitbox_radius.y, (48 shl 4)
|
mov _boss_hitbox_radius.y, (48 shl 4)
|
||||||
mov bgm_title_id, 0Fh
|
mov _bgm_title_id, 0Fh
|
||||||
mov fp_259DC, offset sub_11195
|
mov _overlay_text_fp, offset sub_11195
|
||||||
call _cdg_free pascal, 16
|
call _cdg_free pascal, 16
|
||||||
call bb_stage_free
|
call bb_stage_free
|
||||||
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt06bk2_cdg, 0
|
call _cdg_load_single_noalpha pascal, 16, ds, offset aSt06bk2_cdg, 0
|
||||||
|
@ -36660,7 +36410,7 @@ loc_1E8C9:
|
||||||
call sub_B80F
|
call sub_B80F
|
||||||
|
|
||||||
loc_1E8D5:
|
loc_1E8D5:
|
||||||
mov fp_259DC, offset sub_10E39
|
mov _overlay_text_fp, offset sub_10E39
|
||||||
kajacall KAJA_SONG_FADE, 10
|
kajacall KAJA_SONG_FADE, 10
|
||||||
jmp short loc_1E905
|
jmp short loc_1E905
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -41093,19 +40843,15 @@ word_22E9E dw 0
|
||||||
word_22EA0 dw 0
|
word_22EA0 dw 0
|
||||||
byte_22EA2 db 0
|
byte_22EA2 db 0
|
||||||
byte_22EA3 db 0
|
byte_22EA3 db 0
|
||||||
byte_22EA4 db 0
|
public _popup_frame
|
||||||
|
_popup_frame db 0
|
||||||
db 0
|
db 0
|
||||||
include th04/formats/bb_txt[data].asm
|
include th04/formats/bb_txt[data].asm
|
||||||
include th04/strings/popup[data].asm
|
include th04/hud/popup[data].asm
|
||||||
db 0
|
|
||||||
off_22EE6 dd gpHISCORE_ENTRY
|
|
||||||
dd gpEXTEND
|
|
||||||
dd gpBONUS
|
|
||||||
dd gpFULL_POWERUP
|
|
||||||
byte_22EF6 db 0
|
byte_22EF6 db 0
|
||||||
db 0
|
db 0
|
||||||
off_22EF8 dd asc_22F6A
|
public _PLAYFIELD_BLANK_ROW
|
||||||
; " "...
|
_PLAYFIELD_BLANK_ROW dd aPLAYFIELD_BLANK_ROW
|
||||||
STAGE_TITLE dd aMCB@bPhantomLa ; "幻野 ~ Phantom Land "
|
STAGE_TITLE dd aMCB@bPhantomLa ; "幻野 ~ Phantom Land "
|
||||||
dd aMCsb@bPhantomN ; "幻夜 ~ Phantom Night"
|
dd aMCsb@bPhantomN ; "幻夜 ~ Phantom Night"
|
||||||
dd aMKib@bLakeOfBl ; "枯渇 ~ Lake of Blood"
|
dd aMKib@bLakeOfBl ; "枯渇 ~ Lake of Blood"
|
||||||
|
@ -41132,7 +40878,7 @@ BGM_TITLE dd aWitchingDream ; "Witching Dream"
|
||||||
dd aVivavvvvilcvb@ ; "かわいい悪魔 ~ Innocence"
|
dd aVivavvvvilcvb@ ; "かわいい悪魔 ~ Innocence"
|
||||||
dd aPnpcuyszlB@bCa ; "少女綺想曲 ~ Capriccio "
|
dd aPnpcuyszlB@bCa ; "少女綺想曲 ~ Capriccio "
|
||||||
include th04/strings/demoplay[data].asm
|
include th04/strings/demoplay[data].asm
|
||||||
asc_22F6A db ' ',0
|
aPLAYFIELD_BLANK_ROW db ' ',0
|
||||||
aMCB@bPhantomLa db '幻野 ~ Phantom Land ',0
|
aMCB@bPhantomLa db '幻野 ~ Phantom Land ',0
|
||||||
aMCsb@bPhantomN db '幻夜 ~ Phantom Night',0
|
aMCsb@bPhantomN db '幻夜 ~ Phantom Night',0
|
||||||
aMKib@bLakeOfBl db '枯渇 ~ Lake of Blood',0
|
aMKib@bLakeOfBl db '枯渇 ~ Lake of Blood',0
|
||||||
|
@ -42114,22 +41860,7 @@ bgm_title_len dw ?
|
||||||
stage_title_id db ?
|
stage_title_id db ?
|
||||||
db ?
|
db ?
|
||||||
word_259C6 dw ?
|
word_259C6 dw ?
|
||||||
word_259C8 dw ?
|
include th04/hud/popup[bss].asm
|
||||||
byte_259CA db ?
|
|
||||||
byte_259CB db ?
|
|
||||||
unk_259CC db ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
db ? ;
|
|
||||||
word_259D6 dw ?
|
|
||||||
word_259D8 dw ?
|
|
||||||
bgm_title_id db ?
|
|
||||||
byte_259DB db ?
|
|
||||||
fp_259DC dw ?
|
|
||||||
fp_259DE dw ?
|
|
||||||
byte_259E0 db ?
|
|
||||||
db ?
|
|
||||||
dword_259E2 dd ?
|
|
||||||
byte_259E6 db ?
|
byte_259E6 db ?
|
||||||
db ?
|
db ?
|
||||||
fp_259E8 dw ?
|
fp_259E8 dw ?
|
||||||
|
|
369
th05_main.asm
369
th05_main.asm
|
@ -444,8 +444,8 @@ loc_AF2D:
|
||||||
call sub_100C6
|
call sub_100C6
|
||||||
call _circles_render
|
call _circles_render
|
||||||
GRCG_OFF_CLOBBERING dx
|
GRCG_OFF_CLOBBERING dx
|
||||||
call fp_2CE88
|
call _overlay_text_fp
|
||||||
call fp_2CE8A
|
call _popup_fp
|
||||||
call sub_10287
|
call sub_10287
|
||||||
call far ptr _input_reset_sense
|
call far ptr _input_reset_sense
|
||||||
mov al, byte_25FF8
|
mov al, byte_25FF8
|
||||||
|
@ -752,7 +752,7 @@ sub_B237 proc near
|
||||||
loc_B260:
|
loc_B260:
|
||||||
mov word_20A84, 1
|
mov word_20A84, 1
|
||||||
call text_fillca pascal, (' ' shl 16) + TX_BLACK + TX_REVERSE
|
call text_fillca pascal, (' ' shl 16) + TX_BLACK + TX_REVERSE
|
||||||
mov fp_2300E, offset nullsub_2
|
mov fp_2300E, offset nullfunc_near
|
||||||
call sub_B063
|
call sub_B063
|
||||||
les bx, _ksoconfig
|
les bx, _ksoconfig
|
||||||
cmp byte ptr es:[bx+17h], 0
|
cmp byte ptr es:[bx+17h], 0
|
||||||
|
@ -1051,8 +1051,8 @@ loc_B506:
|
||||||
kajacall KAJA_SONG_PLAY
|
kajacall KAJA_SONG_PLAY
|
||||||
|
|
||||||
loc_B52C:
|
loc_B52C:
|
||||||
mov fp_2CE88, offset sub_11914
|
mov _overlay_text_fp, offset sub_11914
|
||||||
mov fp_2CE8A, offset nullsub_2
|
mov _popup_fp, offset nullfunc_near
|
||||||
pop si
|
pop si
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -2095,10 +2095,10 @@ RANDRING_NEXT_DEF 1
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
public nullfunc_near
|
||||||
nullsub_2 proc near
|
nullfunc_near proc near
|
||||||
retn
|
retn
|
||||||
nullsub_2 endp
|
nullfunc_near endp
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
nop
|
nop
|
||||||
|
@ -2606,7 +2606,7 @@ sub_C473 proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
mov byte_2429A, 0
|
mov byte_2429A, 0
|
||||||
mov fp_23F58, offset nullsub_2
|
mov fp_23F58, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_C473 endp
|
sub_C473 endp
|
||||||
|
@ -2986,7 +2986,7 @@ loc_C7AE:
|
||||||
jnz short loc_C7C9
|
jnz short loc_C7C9
|
||||||
mov _scroll_active, 0
|
mov _scroll_active, 0
|
||||||
call graph_scrollup pascal, 0
|
call graph_scrollup pascal, 0
|
||||||
mov fp_23F58, offset nullsub_2
|
mov fp_23F58, offset nullfunc_near
|
||||||
jmp short loc_C7D0
|
jmp short loc_C7D0
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -3244,7 +3244,7 @@ sub_C9DA proc near
|
||||||
jnz short loc_C9FD
|
jnz short loc_C9FD
|
||||||
mov _scroll_active, 0
|
mov _scroll_active, 0
|
||||||
call graph_scrollup pascal, 0
|
call graph_scrollup pascal, 0
|
||||||
mov fp_23F58, offset nullsub_2
|
mov fp_23F58, offset nullfunc_near
|
||||||
|
|
||||||
loc_C9FD:
|
loc_C9FD:
|
||||||
call sub_C99E
|
call sub_C99E
|
||||||
|
@ -3473,7 +3473,7 @@ sub_CBFD proc near
|
||||||
jnz short loc_CC20
|
jnz short loc_CC20
|
||||||
mov _scroll_active, 0
|
mov _scroll_active, 0
|
||||||
call graph_scrollup pascal, 0
|
call graph_scrollup pascal, 0
|
||||||
mov fp_23F58, offset nullsub_2
|
mov fp_23F58, offset nullfunc_near
|
||||||
|
|
||||||
loc_CC20:
|
loc_CC20:
|
||||||
call sub_CB30
|
call sub_CB30
|
||||||
|
@ -3673,7 +3673,7 @@ loc_CDB4:
|
||||||
jnz short loc_CDCF
|
jnz short loc_CDCF
|
||||||
mov _scroll_active, 0
|
mov _scroll_active, 0
|
||||||
call graph_scrollup pascal, 0
|
call graph_scrollup pascal, 0
|
||||||
mov fp_23F58, offset nullsub_2
|
mov fp_23F58, offset nullfunc_near
|
||||||
jmp short loc_CDD6
|
jmp short loc_CDD6
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -7483,7 +7483,7 @@ sub_EE58 proc near
|
||||||
mov _boss_update, eax
|
mov _boss_update, eax
|
||||||
mov ax, _boss_fg_render_func
|
mov ax, _boss_fg_render_func
|
||||||
mov _boss_fg_render, ax
|
mov _boss_fg_render, ax
|
||||||
mov fp_2CE88, offset sub_11CBB
|
mov _overlay_text_fp, offset sub_11CBB
|
||||||
mov al, 1
|
mov al, 1
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -8553,7 +8553,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_2C99C, 24h ; '$'
|
cmp byte_2C99C, 24h ; '$'
|
||||||
jb short loc_F8B0
|
jb short loc_F8B0
|
||||||
call sub_118D1
|
call sub_118D1
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov al, 1
|
mov al, 1
|
||||||
jmp short loc_F902
|
jmp short loc_F902
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -8629,7 +8629,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_2C99C, 0
|
cmp byte_2C99C, 0
|
||||||
jnz short loc_F920
|
jnz short loc_F920
|
||||||
call sub_118F3
|
call sub_118F3
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov al, 1
|
mov al, 1
|
||||||
jmp short loc_F972
|
jmp short loc_F972
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -9733,8 +9733,8 @@ var_2 = byte ptr -2
|
||||||
ja short loc_105E6
|
ja short loc_105E6
|
||||||
cmp dream, 128
|
cmp dream, 128
|
||||||
jb short loc_105E6
|
jb short loc_105E6
|
||||||
mov byte_2CE87, 4
|
mov _popup_id_new, POPUP_ID_DREAMBONUS_MAX
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
cmp _bullet_clear_time, 20
|
cmp _bullet_clear_time, 20
|
||||||
jnb short loc_105E6
|
jnb short loc_105E6
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
@ -12219,7 +12219,7 @@ sub_118D1 proc near
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_118DA:
|
loc_118DA:
|
||||||
call text_putsa pascal, 4, si, off_228EE, TX_WHITE
|
call text_putsa pascal, 4, si, _PLAYFIELD_BLANK_ROW, TX_WHITE
|
||||||
inc si
|
inc si
|
||||||
|
|
||||||
loc_118EB:
|
loc_118EB:
|
||||||
|
@ -12244,7 +12244,7 @@ sub_118F3 proc near
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_118FC:
|
loc_118FC:
|
||||||
call text_putsa pascal, 4, si, off_228EE, TX_BLACK + TX_REVERSE
|
call text_putsa pascal, 4, si, _PLAYFIELD_BLANK_ROW, TX_BLACK + TX_REVERSE
|
||||||
inc si
|
inc si
|
||||||
|
|
||||||
loc_1190C:
|
loc_1190C:
|
||||||
|
@ -12278,16 +12278,16 @@ var_1 = byte ptr -1
|
||||||
jnz short loc_1193E
|
jnz short loc_1193E
|
||||||
|
|
||||||
loc_11936:
|
loc_11936:
|
||||||
mov fp_2CE88, offset sub_11AAE
|
mov _overlay_text_fp, offset sub_11AAE
|
||||||
jmp short loc_11956
|
jmp short loc_11956
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_1193E:
|
loc_1193E:
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
call gaiji_putsa pascal, (18 shl 16) + 12, ds, offset gDEMO_PLAY, TX_YELLOW + TX_BLINK
|
call gaiji_putsa pascal, (18 shl 16) + 12, ds, offset gDEMO_PLAY, TX_YELLOW + TX_BLINK
|
||||||
|
|
||||||
loc_11956:
|
loc_11956:
|
||||||
mov byte_2CE8C, 0
|
mov _popup_byte_unknown, 0
|
||||||
jmp short loc_119AD
|
jmp short loc_119AD
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -12361,7 +12361,7 @@ var_1 = byte ptr -1
|
||||||
cmp byte_2288A, 0
|
cmp byte_2288A, 0
|
||||||
jnz short loc_119C9
|
jnz short loc_119C9
|
||||||
call sub_118F3
|
call sub_118F3
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
jmp short loc_11A19
|
jmp short loc_11A19
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -12479,7 +12479,7 @@ sub_11A65 proc near
|
||||||
var_1 = byte ptr -1
|
var_1 = byte ptr -1
|
||||||
|
|
||||||
enter 2, 0
|
enter 2, 0
|
||||||
mov al, byte_2CE8C
|
mov al, _popup_byte_unknown
|
||||||
add al, byte_2288B
|
add al, byte_2288B
|
||||||
mov [bp+var_1], al
|
mov [bp+var_1], al
|
||||||
cmp [bp+var_1], 0
|
cmp [bp+var_1], 0
|
||||||
|
@ -12509,9 +12509,9 @@ sub_11A65 endp
|
||||||
sub_11AAE proc near
|
sub_11AAE proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
cmp byte_2CE8C, 0C0h
|
cmp _popup_byte_unknown, 0C0h
|
||||||
jb loc_11B65
|
jb loc_11B65
|
||||||
cmp byte_2CE8C, 0C0h
|
cmp _popup_byte_unknown, 0C0h
|
||||||
jnz short loc_11ACB
|
jnz short loc_11ACB
|
||||||
call sub_118D1
|
call sub_118D1
|
||||||
mov byte_228EC, 0
|
mov byte_228EC, 0
|
||||||
|
@ -12519,17 +12519,17 @@ sub_11AAE proc near
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_11ACB:
|
loc_11ACB:
|
||||||
test byte_2CE8C, 1
|
test _popup_byte_unknown, 1
|
||||||
jnz short loc_11AD6
|
jnz short loc_11AD6
|
||||||
inc byte_228EC
|
inc byte_228EC
|
||||||
|
|
||||||
loc_11AD6:
|
loc_11AD6:
|
||||||
cmp byte_228EC, 10h
|
cmp byte_228EC, 10h
|
||||||
jb short loc_11AF8
|
jb short loc_11AF8
|
||||||
test byte_2CE8C, 1
|
test _popup_byte_unknown, 1
|
||||||
jz loc_11CB5
|
jz loc_11CB5
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov byte_2CE8C, 0
|
mov _popup_byte_unknown, 0
|
||||||
mov byte_228EC, 0
|
mov byte_228EC, 0
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -12580,7 +12580,7 @@ loc_11B19:
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
loc_11B65:
|
loc_11B65:
|
||||||
cmp byte_2CE8C, 0
|
cmp _popup_byte_unknown, 0
|
||||||
jnz short loc_11B91
|
jnz short loc_11B91
|
||||||
mov byte_228EC, 10h
|
mov byte_228EC, 10h
|
||||||
pushd [_stage_title]
|
pushd [_stage_title]
|
||||||
|
@ -12680,9 +12680,9 @@ loc_11C4E:
|
||||||
push word_2CE6A
|
push word_2CE6A
|
||||||
call sub_11A1D
|
call sub_11A1D
|
||||||
GRCG_OFF_CLOBBERING dx
|
GRCG_OFF_CLOBBERING dx
|
||||||
test byte_2CE8C, 3
|
test _popup_byte_unknown, 3
|
||||||
jnz short loc_11CB5
|
jnz short loc_11CB5
|
||||||
cmp byte_2CE8C, 0
|
cmp _popup_byte_unknown, 0
|
||||||
jz short loc_11CB5
|
jz short loc_11CB5
|
||||||
inc byte_228EC
|
inc byte_228EC
|
||||||
cmp byte_228EC, 18h
|
cmp byte_228EC, 18h
|
||||||
|
@ -12690,7 +12690,7 @@ loc_11C4E:
|
||||||
mov byte_228EC, 0
|
mov byte_228EC, 0
|
||||||
|
|
||||||
loc_11CB5:
|
loc_11CB5:
|
||||||
inc byte_2CE8C
|
inc _popup_byte_unknown
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_11AAE endp
|
sub_11AAE endp
|
||||||
|
@ -12722,7 +12722,7 @@ loc_11CE1:
|
||||||
jb short loc_11CFE
|
jb short loc_11CFE
|
||||||
test byte_2288B, 1
|
test byte_2288B, 1
|
||||||
jz loc_11DE4
|
jz loc_11DE4
|
||||||
mov fp_2CE88, offset nullsub_2
|
mov _overlay_text_fp, offset nullfunc_near
|
||||||
mov byte_2288B, 0
|
mov byte_2288B, 0
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
|
@ -12803,183 +12803,7 @@ loc_11DE4:
|
||||||
retn
|
retn
|
||||||
sub_11CBB endp
|
sub_11CBB endp
|
||||||
|
|
||||||
|
include th04/hud/popup.asm
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
|
||||||
|
|
||||||
sub_11DEA proc near
|
|
||||||
|
|
||||||
var_1 = byte ptr -1
|
|
||||||
|
|
||||||
enter 2, 0
|
|
||||||
mov al, byte_2CE87
|
|
||||||
cmp al, byte_2CE72
|
|
||||||
jz short loc_11E29
|
|
||||||
cmp byte_2288C, 40h
|
|
||||||
jb short loc_11E29
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_228EE, TX_WHITE
|
|
||||||
call text_putsa pascal, (4 shl 16) + 23, off_228EE, TX_WHITE
|
|
||||||
mov byte_2288C, 0
|
|
||||||
|
|
||||||
loc_11E29:
|
|
||||||
cmp byte_2288C, 0
|
|
||||||
jnz short loc_11E9D
|
|
||||||
mov al, byte_2CE87
|
|
||||||
mov byte_2CE72, al
|
|
||||||
mov [bp+var_1], 0
|
|
||||||
jmp short loc_11E4B
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11E3C:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov bx, ax
|
|
||||||
mov byte ptr [bx-3B6Ch], 2
|
|
||||||
inc [bp+var_1]
|
|
||||||
|
|
||||||
loc_11E4B:
|
|
||||||
cmp [bp+var_1], 8
|
|
||||||
jb short loc_11E3C
|
|
||||||
mov al, byte_2CE72
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd dword ptr [bx+1EF8h]
|
|
||||||
call _strlen
|
|
||||||
add sp, 4
|
|
||||||
mov word_2CE70, ax
|
|
||||||
mov bx, word_2CE70
|
|
||||||
mov byte ptr [bx-3B6Ch], 0
|
|
||||||
add ax, ax
|
|
||||||
mov dx, 34h ; '4'
|
|
||||||
sub dx, ax
|
|
||||||
mov word_2CE82, dx
|
|
||||||
cmp byte_2CE87, 2
|
|
||||||
jz short loc_11E92
|
|
||||||
mov ax, 1Ch
|
|
||||||
sub ax, word_2CE70
|
|
||||||
mov word_2CE84, ax
|
|
||||||
jmp short loc_11E98
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11E92:
|
|
||||||
mov word_2CE84, 10h
|
|
||||||
|
|
||||||
loc_11E98:
|
|
||||||
mov byte_2CE73, 0
|
|
||||||
|
|
||||||
loc_11E9D:
|
|
||||||
cmp byte_2288C, 80h
|
|
||||||
jb short loc_11EC4
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_228EE, TX_WHITE
|
|
||||||
mov byte_2288C, 0
|
|
||||||
mov fp_2CE8A, offset nullsub_2
|
|
||||||
leave
|
|
||||||
retn
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11EC4:
|
|
||||||
mov al, byte_2288C
|
|
||||||
mov ah, 0
|
|
||||||
mov dx, word_2CE70
|
|
||||||
dec dx
|
|
||||||
cmp ax, dx
|
|
||||||
jge short loc_11F36
|
|
||||||
mov [bp+var_1], 0
|
|
||||||
jmp short loc_11EF1
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11ED8:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov bx, ax
|
|
||||||
mov al, [bx-3B6Bh]
|
|
||||||
mov dl, [bp+var_1]
|
|
||||||
mov dh, 0
|
|
||||||
mov bx, dx
|
|
||||||
mov [bx-3B6Ch], al
|
|
||||||
inc [bp+var_1]
|
|
||||||
|
|
||||||
loc_11EF1:
|
|
||||||
mov al, [bp+var_1]
|
|
||||||
mov ah, 0
|
|
||||||
mov dx, word_2CE70
|
|
||||||
dec dx
|
|
||||||
cmp ax, dx
|
|
||||||
jl short loc_11ED8
|
|
||||||
mov al, byte_2CE72
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
les bx, [bx+1EF8h]
|
|
||||||
assume es:nothing
|
|
||||||
mov al, byte_2288C
|
|
||||||
mov ah, 0
|
|
||||||
add bx, ax
|
|
||||||
mov al, es:[bx]
|
|
||||||
mov bx, 0C494h
|
|
||||||
dec bx
|
|
||||||
add bx, word_2CE70
|
|
||||||
mov [bx], al
|
|
||||||
call gaiji_putsa pascal, word_2CE82, 2, ds, offset unk_2CE74, TX_WHITE
|
|
||||||
jmp loc_11FD9
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11F36:
|
|
||||||
mov ax, word_2CE82
|
|
||||||
cmp ax, word_2CE84
|
|
||||||
jle short loc_11F86
|
|
||||||
push ax
|
|
||||||
push 2
|
|
||||||
mov al, byte_2CE72
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd off_228D8[bx]
|
|
||||||
push TX_WHITE
|
|
||||||
call gaiji_putsa
|
|
||||||
mov ax, word_2CE70
|
|
||||||
add ax, ax
|
|
||||||
add ax, word_2CE82
|
|
||||||
cmp ax, 32h ; '2'
|
|
||||||
jg short loc_11F7F
|
|
||||||
mov ax, word_2CE70
|
|
||||||
add ax, ax
|
|
||||||
add ax, word_2CE82
|
|
||||||
call text_putca pascal, ax, 22020h, TX_WHITE
|
|
||||||
|
|
||||||
loc_11F7F:
|
|
||||||
sub word_2CE82, 2
|
|
||||||
jmp short loc_11FD9
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_11F86:
|
|
||||||
cmp byte_2CE73, 0
|
|
||||||
jnz short loc_11FA5
|
|
||||||
mov byte_2CE73, 1
|
|
||||||
call text_putsa pascal, (4 shl 16) + 2, off_228EE, TX_WHITE
|
|
||||||
|
|
||||||
loc_11FA5:
|
|
||||||
push word_2CE84
|
|
||||||
push 2
|
|
||||||
mov al, byte_2CE72
|
|
||||||
mov ah, 0
|
|
||||||
shl ax, 2
|
|
||||||
mov bx, ax
|
|
||||||
pushd off_228D8[bx]
|
|
||||||
push TX_WHITE
|
|
||||||
call gaiji_putsa
|
|
||||||
cmp byte_2CE72, 2
|
|
||||||
jnz short loc_11FD9
|
|
||||||
call hud_points_put pascal, ((PLAYFIELD_TRAM_X + (PLAYFIELD_TRAM_W / 2)) shl 16) + 2, large [dword_2CE8E]
|
|
||||||
|
|
||||||
loc_11FD9:
|
|
||||||
inc byte_2288C
|
|
||||||
leave
|
|
||||||
retn
|
|
||||||
sub_11DEA endp
|
|
||||||
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
@ -17980,8 +17804,8 @@ loc_14435:
|
||||||
or al, al
|
or al, al
|
||||||
jz short loc_14450
|
jz short loc_14450
|
||||||
mov _is_hiscore, 1
|
mov _is_hiscore, 1
|
||||||
mov byte_2CE87, 0
|
mov _popup_id_new, POPUP_ID_HISCORE_ENTRY
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
|
|
||||||
loc_14450:
|
loc_14450:
|
||||||
mov eax, _score_delta_frame
|
mov eax, _score_delta_frame
|
||||||
|
@ -18067,8 +17891,8 @@ sub_144CB proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
setfarfp _boss_update, nullsub_1
|
setfarfp _boss_update, nullsub_1
|
||||||
mov _boss_fg_render, offset nullsub_2
|
mov _boss_fg_render, offset nullfunc_near
|
||||||
mov _boss_custombullets_render, offset nullsub_2
|
mov _boss_custombullets_render, offset nullfunc_near
|
||||||
mov boss_phase, 0
|
mov boss_phase, 0
|
||||||
mov byte_26349, 0
|
mov byte_26349, 0
|
||||||
mov byte ptr word_2634A+1, 0
|
mov byte ptr word_2634A+1, 0
|
||||||
|
@ -18122,8 +17946,8 @@ sub_14544 proc near
|
||||||
call super_entry_bfnt
|
call super_entry_bfnt
|
||||||
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt00bk_cdg
|
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt00bk_cdg
|
||||||
call bb_stage_load pascal, ds, offset aSt00_bb
|
call bb_stage_load pascal, ds, offset aSt00_bb
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_14544 endp
|
sub_14544 endp
|
||||||
|
@ -18209,8 +18033,8 @@ sub_146D0 proc near
|
||||||
call super_entry_bfnt
|
call super_entry_bfnt
|
||||||
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt02bk_cdg
|
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt02bk_cdg
|
||||||
call bb_stage_load pascal, ds, offset aSt02_bb
|
call bb_stage_load pascal, ds, offset aSt02_bb
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_146D0 endp
|
sub_146D0 endp
|
||||||
|
@ -18256,8 +18080,8 @@ sub_1479F proc near
|
||||||
call super_entry_bfnt
|
call super_entry_bfnt
|
||||||
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt03bk_cdg
|
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt03bk_cdg
|
||||||
call bb_stage_load pascal, ds, offset aSt03_bb
|
call bb_stage_load pascal, ds, offset aSt03_bb
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_1479F endp
|
sub_1479F endp
|
||||||
|
@ -18310,8 +18134,8 @@ sub_14879 proc near
|
||||||
push (24 shl 16) or 24
|
push (24 shl 16) or 24
|
||||||
nopcall select_for_rank
|
nopcall select_for_rank
|
||||||
mov _yumeko_interval_phase7, al
|
mov _yumeko_interval_phase7, al
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_14879 endp
|
sub_14879 endp
|
||||||
|
@ -18325,7 +18149,7 @@ sub_14976 proc near
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
setfarfp _midboss_update_func, nullsub_1
|
setfarfp _midboss_update_func, nullsub_1
|
||||||
mov _midboss_render_func, offset nullsub_2
|
mov _midboss_render_func, offset nullfunc_near
|
||||||
mov frames_until_midboss, 30000
|
mov frames_until_midboss, 30000
|
||||||
call sub_144CB
|
call sub_144CB
|
||||||
mov _boss_pos.cur.x, (192 shl 4)
|
mov _boss_pos.cur.x, (192 shl 4)
|
||||||
|
@ -18342,8 +18166,8 @@ sub_14976 proc near
|
||||||
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt05bk_cdg
|
call _cdg_load_all_noalpha pascal, 16, ds, offset aSt05bk_cdg
|
||||||
call _cdg_load_all_noalpha pascal, 17, ds, offset aSt05bk2_cdg
|
call _cdg_load_all_noalpha pascal, 17, ds, offset aSt05bk2_cdg
|
||||||
call bb_stage_load pascal, ds, offset aSt05_bb
|
call bb_stage_load pascal, ds, offset aSt05_bb
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_14976 endp
|
sub_14976 endp
|
||||||
|
@ -18382,8 +18206,8 @@ sub_14A06 proc near
|
||||||
push offset aSt06_bmt ; "st06.bmt"
|
push offset aSt06_bmt ; "st06.bmt"
|
||||||
call super_entry_bfnt
|
call super_entry_bfnt
|
||||||
call bb_stage_load pascal, ds, offset aSt03_bb_0
|
call bb_stage_load pascal, ds, offset aSt03_bb_0
|
||||||
mov _stage_render, offset nullsub_2
|
mov _stage_render, offset nullfunc_near
|
||||||
mov _stage_invalidate, offset nullsub_2
|
mov _stage_invalidate, offset nullfunc_near
|
||||||
pop bp
|
pop bp
|
||||||
retn
|
retn
|
||||||
sub_14A06 endp
|
sub_14A06 endp
|
||||||
|
@ -22011,8 +21835,8 @@ sub_16F05 proc near
|
||||||
|
|
||||||
loc_16F3B:
|
loc_16F3B:
|
||||||
call sub_10407
|
call sub_10407
|
||||||
mov byte_2CE87, 1
|
mov _popup_id_new, POPUP_ID_EXTEND
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
call snd_se_play pascal, 7
|
call snd_se_play pascal, 7
|
||||||
|
|
||||||
loc_16F52:
|
loc_16F52:
|
||||||
|
@ -22049,8 +21873,8 @@ loc_16F76:
|
||||||
jnb short loc_16FAA
|
jnb short loc_16FAA
|
||||||
cmp power, 127
|
cmp power, 127
|
||||||
jnz short loc_16F9B
|
jnz short loc_16F9B
|
||||||
mov byte_2CE87, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
cmp _bullet_clear_time, 20
|
cmp _bullet_clear_time, 20
|
||||||
jnb short loc_16F9B
|
jnb short loc_16F9B
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
@ -22183,8 +22007,8 @@ loc_170B5:
|
||||||
cmp power, 128
|
cmp power, 128
|
||||||
jb short loc_170E7
|
jb short loc_170E7
|
||||||
mov power, 128
|
mov power, 128
|
||||||
mov byte_2CE87, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
cmp _bullet_clear_time, 20
|
cmp _bullet_clear_time, 20
|
||||||
jnb short loc_170E7
|
jnb short loc_170E7
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
@ -22225,8 +22049,8 @@ loc_1712C:
|
||||||
inc lives
|
inc lives
|
||||||
call sub_10407
|
call sub_10407
|
||||||
call snd_se_play pascal, 7
|
call snd_se_play pascal, 7
|
||||||
mov byte_2CE87, 1
|
mov _popup_id_new, POPUP_ID_EXTEND
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
jmp short loc_17171
|
jmp short loc_17171
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -22236,8 +22060,8 @@ loc_17150:
|
||||||
mov _bullet_clear_time, 20
|
mov _bullet_clear_time, 20
|
||||||
|
|
||||||
loc_1715C:
|
loc_1715C:
|
||||||
mov byte_2CE87, 3
|
mov _popup_id_new, POPUP_ID_FULL_POWERUP
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
mov power, 128
|
mov power, 128
|
||||||
call sub_E4FC
|
call sub_E4FC
|
||||||
|
|
||||||
|
@ -22466,8 +22290,8 @@ sub_1720E endp
|
||||||
sub_172FF proc far
|
sub_172FF proc far
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
mov _midboss_invalidate?, offset nullsub_2
|
mov _midboss_invalidate?, offset nullfunc_near
|
||||||
mov _midboss_render, offset nullsub_2
|
mov _midboss_render, offset nullfunc_near
|
||||||
setfarfp _midboss_update, nullsub_1
|
setfarfp _midboss_update, nullsub_1
|
||||||
mov _midboss_hp, 0
|
mov _midboss_hp, 0
|
||||||
pop bp
|
pop bp
|
||||||
|
@ -23841,7 +23665,7 @@ loc_17EE9:
|
||||||
|
|
||||||
loc_17EFA:
|
loc_17EFA:
|
||||||
mov [bp+var_8], ax
|
mov [bp+var_8], ax
|
||||||
mov dword_2CE8E, 0
|
mov _popup_bonus, 0
|
||||||
xor di, di
|
xor di, di
|
||||||
jmp loc_17F8D
|
jmp loc_17F8D
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -23864,7 +23688,7 @@ loc_17F0B:
|
||||||
|
|
||||||
loc_17F31:
|
loc_17F31:
|
||||||
movzx eax, [bp+var_4]
|
movzx eax, [bp+var_4]
|
||||||
add dword_2CE8E, eax
|
add _popup_bonus, eax
|
||||||
add _score_delta, eax
|
add _score_delta, eax
|
||||||
push word ptr [si+2]
|
push word ptr [si+2]
|
||||||
push word ptr [si+4]
|
push word ptr [si+4]
|
||||||
|
@ -23904,10 +23728,10 @@ loc_17F89:
|
||||||
loc_17F8D:
|
loc_17F8D:
|
||||||
cmp di, 190h
|
cmp di, 190h
|
||||||
jl loc_17F0B
|
jl loc_17F0B
|
||||||
cmp dword_2CE8E, 0
|
cmp _popup_bonus, 0
|
||||||
jz short loc_17FA8
|
jz short loc_17FA8
|
||||||
mov byte_2CE87, 2
|
mov _popup_id_new, POPUP_ID_BONUS
|
||||||
mov fp_2CE8A, offset sub_11DEA
|
mov _popup_fp, offset popup_update_and_render
|
||||||
|
|
||||||
loc_17FA8:
|
loc_17FA8:
|
||||||
inc _bullet_clear_trigger
|
inc _bullet_clear_trigger
|
||||||
|
@ -29305,7 +29129,7 @@ loc_1AF66:
|
||||||
|
|
||||||
loc_1AF85:
|
loc_1AF85:
|
||||||
call sub_F2B4
|
call sub_F2B4
|
||||||
mov fp_2CE88, offset sub_11CBB
|
mov _overlay_text_fp, offset sub_11CBB
|
||||||
mov boss_phase, 0
|
mov boss_phase, 0
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov _boss_fg_render, offset sub_10F12
|
mov _boss_fg_render, offset sub_10F12
|
||||||
|
@ -30806,7 +30630,7 @@ loc_1BCE7:
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov boss_phase, 0FDh
|
mov boss_phase, 0FDh
|
||||||
call sub_1B3C2
|
call sub_1B3C2
|
||||||
mov _boss_custombullets_render, offset nullsub_2
|
mov _boss_custombullets_render, offset nullfunc_near
|
||||||
jmp short loc_1BD09
|
jmp short loc_1BD09
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -32013,7 +31837,7 @@ loc_1C7E3:
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov boss_phase, 0FDh
|
mov boss_phase, 0FDh
|
||||||
call sub_1B3C2
|
call sub_1B3C2
|
||||||
mov _boss_custombullets_render, offset nullsub_2
|
mov _boss_custombullets_render, offset nullfunc_near
|
||||||
jmp short loc_1C805
|
jmp short loc_1C805
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -33354,7 +33178,7 @@ loc_1D4F4:
|
||||||
call boss_explode_small pascal, 4
|
call boss_explode_small pascal, 4
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov boss_phase, 0FDh
|
mov boss_phase, 0FDh
|
||||||
mov _boss_custombullets_render, offset nullsub_2
|
mov _boss_custombullets_render, offset nullfunc_near
|
||||||
jmp short loc_1D513
|
jmp short loc_1D513
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -37024,7 +36848,7 @@ loc_1F643:
|
||||||
call boss_explode_small pascal, 4
|
call boss_explode_small pascal, 4
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov boss_phase, 0FDh
|
mov boss_phase, 0FDh
|
||||||
mov _boss_custombullets_render, offset nullsub_2
|
mov _boss_custombullets_render, offset nullfunc_near
|
||||||
mov byte_226C0, 0
|
mov byte_226C0, 0
|
||||||
jmp short loc_1F666
|
jmp short loc_1F666
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -37771,7 +37595,7 @@ loc_1FC55:
|
||||||
inc boss_phase
|
inc boss_phase
|
||||||
mov boss_phase_frame, 0
|
mov boss_phase_frame, 0
|
||||||
mov byte_2C96C, 1
|
mov byte_2C96C, 1
|
||||||
mov _boss_fg_render, offset nullsub_2
|
mov _boss_fg_render, offset nullfunc_near
|
||||||
jmp loc_1FD5D
|
jmp loc_1FD5D
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -37840,7 +37664,7 @@ loc_1FD19:
|
||||||
call sub_E480
|
call sub_E480
|
||||||
|
|
||||||
loc_1FD25:
|
loc_1FD25:
|
||||||
mov fp_2CE88, offset sub_119B1
|
mov _overlay_text_fp, offset sub_119B1
|
||||||
kajacall KAJA_SONG_FADE, 10
|
kajacall KAJA_SONG_FADE, 10
|
||||||
jmp short loc_1FD51
|
jmp short loc_1FD51
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
@ -38743,22 +38567,17 @@ off_22884 dw offset sub_1F776
|
||||||
dw offset sub_1F823
|
dw offset sub_1F823
|
||||||
byte_2288A db 0
|
byte_2288A db 0
|
||||||
byte_2288B db 0
|
byte_2288B db 0
|
||||||
byte_2288C db 0
|
public _popup_frame
|
||||||
|
_popup_frame db 0
|
||||||
db 0
|
db 0
|
||||||
include th04/formats/bb_txt[data].asm
|
include th04/formats/bb_txt[data].asm
|
||||||
include th04/strings/popup[data].asm
|
include th04/hud/popup[data].asm
|
||||||
gpDREAMBONUS_MAX db 65h, 66h, 67h, 68h, 69h, 6Ah, 6Bh, 6Ch, 6Dh, 6Eh, 0
|
|
||||||
off_228D8 dd gpHISCORE_ENTRY
|
|
||||||
dd gpEXTEND
|
|
||||||
dd gpBONUS
|
|
||||||
dd gpFULL_POWERUP
|
|
||||||
dd gpDREAMBONUS_MAX
|
|
||||||
byte_228EC db 0
|
byte_228EC db 0
|
||||||
db 0
|
db 0
|
||||||
off_228EE dd asc_228FC
|
public _PLAYFIELD_BLANK_ROW
|
||||||
; " "...
|
_PLAYFIELD_BLANK_ROW dd aPLAYFIELD_BLANK_ROW
|
||||||
include th04/strings/demoplay[data].asm
|
include th04/strings/demoplay[data].asm
|
||||||
asc_228FC db ' ',0
|
aPLAYFIELD_BLANK_ROW db ' ',0
|
||||||
db 0
|
db 0
|
||||||
SHOT_FUNCS label word
|
SHOT_FUNCS label word
|
||||||
; Reimu
|
; Reimu
|
||||||
|
@ -45914,23 +45733,9 @@ fp_2CE68 dw ?
|
||||||
word_2CE6A dw ?
|
word_2CE6A dw ?
|
||||||
word_2CE6C dw ?
|
word_2CE6C dw ?
|
||||||
word_2CE6E dw ?
|
word_2CE6E dw ?
|
||||||
word_2CE70 dw ?
|
|
||||||
byte_2CE72 db ?
|
include th04/hud/popup[bss].asm
|
||||||
byte_2CE73 db ?
|
|
||||||
unk_2CE74 db ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
dd ? ;
|
|
||||||
db ? ;
|
|
||||||
word_2CE82 dw ?
|
|
||||||
word_2CE84 dw ?
|
|
||||||
db ? ;
|
|
||||||
byte_2CE87 db ?
|
|
||||||
fp_2CE88 dw ?
|
|
||||||
fp_2CE8A dw ?
|
|
||||||
byte_2CE8C db ?
|
|
||||||
db ?
|
|
||||||
dword_2CE8E dd ?
|
|
||||||
public _stage_title, _stage_bgm_title, _boss_bgm_title
|
public _stage_title, _stage_bgm_title, _boss_bgm_title
|
||||||
_stage_title dd ?
|
_stage_title dd ?
|
||||||
_stage_bgm_title dd ?
|
_stage_bgm_title dd ?
|
||||||
|
|
Loading…
Reference in New Issue