[Reverse-engineering] [th04] BGM/SE mode setup window rendering

Part of P0064, funded by Touhou Patch Center.
This commit is contained in:
nmlgc 2019-12-29 15:25:34 +01:00
parent 24fdd31192
commit 3c1b2473dd
5 changed files with 344 additions and 626 deletions

View File

@ -1,3 +1,259 @@
WINDOW_BORDER_W = 8
WINDOW_BORDER_H = 8
WINDOW_TILE_W = 16
WINDOW_TILE_H = 16
window_dropdown_row proc near
@@tile_x = word ptr -2
@@bottom_y = word ptr 4
@@left_x = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+@@left_x]
mov di, [bp+@@bottom_y]
push si
push di
mov ax, _window_tiles.x
shl ax, 4
push ax
push WINDOW_TILE_H
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 2
push si
lea ax, [di+WINDOW_BORDER_H]
push ax
push 6
call super_put
add si, WINDOW_TILE_W
mov [bp+@@tile_x], 1
jmp short @@tile_x_more?
; ---------------------------------------------------------------------------
@@tile_x_loop:
call super_put pascal, si, di, 0
push si
lea ax, [di+WINDOW_BORDER_H]
push ax
push 3
call super_put
inc [bp+@@tile_x]
add si, WINDOW_TILE_W
@@tile_x_more?:
mov ax, _window_tiles.x
dec ax
cmp ax, [bp+@@tile_x]
jg short @@tile_x_loop
call super_put pascal, si, di, 4
push si
lea ax, [di+WINDOW_BORDER_H]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
window_dropdown_row endp
window_rollup_row proc near
@@tile_x = word ptr -2
@@bottom_y = word ptr 4
@@left_x = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+@@left_x]
mov di, [bp+@@bottom_y]
push si
lea ax, [di+WINDOW_BORDER_H]
push ax
mov ax, _window_tiles.x
shl ax, 4
push ax
push WINDOW_TILE_H
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 6
add si, WINDOW_TILE_W
mov [bp+@@tile_x], 1
jmp short @@tile_x_more?
; ---------------------------------------------------------------------------
@@tile_x_loop:
call super_put pascal, si, di, 3
inc [bp+@@tile_x]
add si, WINDOW_TILE_W
@@tile_x_more?:
mov ax, _window_tiles.x
dec ax
cmp ax, [bp+@@tile_x]
jg short @@tile_x_loop
call super_put pascal, si, di, 7
pop di
pop si
leave
retn 4
window_rollup_row endp
public WINDOW_DROPDOWN_ANIMATE
window_dropdown_animate proc near
@@x = word ptr -2
@@top_y = word ptr 4
@@left_x = word ptr 6
enter 2, 0
push si
push di
mov ax, [bp+@@left_x]
mov [bp+@@x], ax
mov si, [bp+@@top_y]
call super_put pascal, ax, si, 5
add [bp+@@x], WINDOW_TILE_W
mov di, 1
jmp short @@top_more?
; ---------------------------------------------------------------------------
@@top_loop:
call super_put pascal, [bp+@@x], si, 1
inc di
add [bp+@@x], WINDOW_TILE_W
@@top_more?:
mov ax, _window_tiles.x
dec ax
cmp ax, di
jg short @@top_loop
call super_put pascal, [bp+@@x], si, 8
add si, WINDOW_TILE_H
mov di, 1
jmp short @@row_more?
; ---------------------------------------------------------------------------
@@row_loop:
call window_dropdown_row pascal, [bp+@@left_x], si
call frame_delay pascal, 1
inc di
add si, WINDOW_BORDER_H
@@row_more?:
mov ax, _window_tiles.y
add ax, ax
add ax, -3
cmp ax, di
jg short @@row_loop
pop di
pop si
leave
retn 4
window_dropdown_animate endp
public WINDOW_SINGLELINE
window_singleline proc near
@@tile_x = word ptr -2
@@top_y = word ptr 4
@@left_x = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+@@left_x]
mov di, [bp+@@top_y]
push si
push di
mov ax, _window_tiles.x
shl ax, 4
push ax
push WINDOW_BORDER_H + WINDOW_TILE_H + WINDOW_BORDER_H
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 5
push si
lea ax, [di+WINDOW_TILE_H]
push ax
push 6
call super_put
add si, WINDOW_TILE_W
mov [bp+@@tile_x], 1
jmp short @@tile_x_more?
; ---------------------------------------------------------------------------
@@tile_x_loop:
call super_put pascal, si, di, 1
push si
lea ax, [di+WINDOW_TILE_H]
push ax
push 3
call super_put
inc [bp+@@tile_x]
add si, WINDOW_TILE_W
@@tile_x_more?:
mov ax, _window_tiles.x
dec ax
cmp ax, [bp+@@tile_x]
jg short @@tile_x_loop
call super_put pascal, si, di, 8
push si
lea ax, [di+WINDOW_TILE_H]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
window_singleline endp
public WINDOW_ROLLUP_ANIMATE
window_rollup_animate proc near
@@top_y = word ptr 4
@@left_x = word ptr 6
push bp
mov bp, sp
push si
push di
mov si, [bp+@@top_y]
mov ax, _window_tiles.y
shl ax, 4
add ax, -WINDOW_TILE_H
add si, ax
mov di, 1
jmp short @@row_more?
; ---------------------------------------------------------------------------
@@row_loop:
call window_rollup_row pascal, [bp+@@left_x], si
call frame_delay pascal, 1
inc di
sub si, WINDOW_BORDER_H
@@row_more?:
mov ax, _window_tiles.y
add ax, ax
add ax, -2
cmp ax, di
jg short @@row_loop
pop di
pop si
pop bp
retn 4
window_rollup_animate endp
SETUP_LINE_H = 16
SETUP_CHOICE_X = 48
SETUP_CHOICE_Y = 136

View File

@ -3,6 +3,34 @@
* TH04/TH05 BGM/SE mode setup menu
*/
#define WINDOW_BORDER_W 8
#define WINDOW_BORDER_H 8
#define WINDOW_TILE_W 16
#define WINDOW_TILE_H 16
// Window width and height, including the border
extern Point window_tiles;
void pascal near window_dropdown_row(int left_x, int bottom_y)
{
}
void pascal near window_rollup_row(int left_x, int bottom_y)
{
}
void pascal near window_dropdown_animate(int left_x, int top_y)
{
}
void pascal near window_singleline(int left_x, int top_y)
{
}
void pascal near window_rollup_animate(int left_x, int top_y)
{
}
void pascal near setup_bgm_choice_put(bgm_mode_t mode, unsigned char col)
{
}

2
th04/setup[bss].asm Normal file
View File

@ -0,0 +1,2 @@
public _window_tiles
_window_tiles Point <?>

View File

@ -1553,279 +1553,6 @@ loc_B47B:
retf
_main endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B49F proc near
var_2 = word ptr -2
arg_0 = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+arg_2]
mov di, [bp+arg_0]
push si
push di
mov ax, word_11E88
shl ax, 4
push ax
push 10h
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 2
push si
lea ax, [di+8]
push ax
push 6
call super_put
add si, 16
mov [bp+var_2], 1
jmp short loc_B4F5
; ---------------------------------------------------------------------------
loc_B4DA:
call super_put pascal, si, di, 0
push si
lea ax, [di+8]
push ax
push 3
call super_put
inc [bp+var_2]
add si, 16
loc_B4F5:
mov ax, word_11E88
dec ax
cmp ax, [bp+var_2]
jg short loc_B4DA
call super_put pascal, si, di, 4
push si
lea ax, [di+8]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
sub_B49F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B519 proc near
var_2 = word ptr -2
@@y = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+arg_2]
mov di, [bp+@@y]
push si
lea ax, [di+8]
push ax
mov ax, word_11E88
shl ax, 4
push ax
push 10h
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 6
add si, 16
mov [bp+var_2], 1
jmp short loc_B55A
; ---------------------------------------------------------------------------
loc_B54B:
call super_put pascal, si, di, 3
inc [bp+var_2]
add si, 16
loc_B55A:
mov ax, word_11E88
dec ax
cmp ax, [bp+var_2]
jg short loc_B54B
call super_put pascal, si, di, 7
pop di
pop si
leave
retn 4
sub_B519 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B572 proc near
var_2 = word ptr -2
@@y = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov ax, [bp+arg_2]
mov [bp+var_2], ax
mov si, [bp+@@y]
call super_put pascal, ax, si, 5
add [bp+var_2], 16
mov di, 1
jmp short loc_B5A3
; ---------------------------------------------------------------------------
loc_B593:
call super_put pascal, [bp+var_2], si, 1
inc di
add [bp+var_2], 16
loc_B5A3:
mov ax, word_11E88
dec ax
cmp ax, di
jg short loc_B593
call super_put pascal, [bp+var_2], si, 8
add si, 16
mov di, 1
jmp short loc_B5D0
; ---------------------------------------------------------------------------
loc_B5BE:
push [bp+arg_2]
push si
call sub_B49F
push 1
call frame_delay
inc di
add si, 8
loc_B5D0:
mov ax, word_11E8A
add ax, ax
add ax, 0FFFDh
cmp ax, di
jg short loc_B5BE
pop di
pop si
leave
retn 4
sub_B572 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B5E2 proc near
var_2 = word ptr -2
@@y = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+arg_2]
mov di, [bp+@@y]
push si
push di
mov ax, word_11E88
shl ax, 4
push ax
push 20h ; ' '
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 5
push si
lea ax, [di+16]
push ax
push 6
call super_put
add si, 16
mov [bp+var_2], 1
jmp short loc_B638
; ---------------------------------------------------------------------------
loc_B61D:
call super_put pascal, si, di, 1
push si
lea ax, [di+16]
push ax
push 3
call super_put
inc [bp+var_2]
add si, 16
loc_B638:
mov ax, word_11E88
dec ax
cmp ax, [bp+var_2]
jg short loc_B61D
call super_put pascal, si, di, 8
push si
lea ax, [di+16]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
sub_B5E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B65C proc near
arg_0 = word ptr 4
arg_2 = word ptr 6
push bp
mov bp, sp
push si
push di
mov si, [bp+arg_0]
mov ax, word_11E8A
shl ax, 4
add ax, 0FFF0h
add si, ax
mov di, 1
jmp short loc_B686
; ---------------------------------------------------------------------------
loc_B674:
push [bp+arg_2]
push si
call sub_B519
push 1
call frame_delay
inc di
sub si, 8
loc_B686:
mov ax, word_11E8A
add ax, ax
add ax, 0FFFEh
cmp ax, di
jg short loc_B674
pop di
pop si
pop bp
retn 4
sub_B65C endp
include th04/setup.asm
; =============== S U B R O U T I N E =======================================
@ -1837,14 +1564,12 @@ sub_B794 proc near
var_2 = word ptr -2
enter 2, 0
mov word_11E88, 1Ch
push 600050h
call sub_B5E2
mov _window_tiles.x, (448 / WINDOW_TILE_W)
call window_singleline pascal, (96 shl 16) or 80
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_BGM_HEAD
mov word_11E88, 0Ah
mov word_11E8A, 4
push 200080h
call sub_B572
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_dropdown_animate pascal, ( 32 shl 16) or 128
mov [bp+var_2], 0
jmp short loc_B7EB
; ---------------------------------------------------------------------------
@ -1868,10 +1593,9 @@ loc_B7E4:
loc_B7EB:
cmp [bp+var_2], 3
jl short loc_B7D4
mov word_11E88, 19h
mov word_11E8A, 0Ah
push 0C00080h
call sub_B572
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_dropdown_animate pascal, (192 shl 16) or 128
call setup_bgm_help_put
mov [bp+var_2], 2
@ -1917,14 +1641,12 @@ loc_B870:
; ---------------------------------------------------------------------------
loc_B87A:
mov word_11E88, 19h
mov word_11E8A, 0Ah
push 0C00080h
call sub_B65C
mov word_11E88, 0Ah
mov word_11E8A, 4
push 200080h
call sub_B65C
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_rollup_animate pascal, (192 shl 16) or 128
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_rollup_animate pascal, ( 32 shl 16) or 128
les bx, _humaconfig
mov al, byte ptr [bp+var_2]
mov es:[bx+10h], al
@ -1942,14 +1664,12 @@ sub_B8B1 proc near
var_2 = word ptr -2
enter 2, 0
mov word_11E88, 1Ch
push 600050h
call sub_B5E2
mov _window_tiles.x, (448 / WINDOW_TILE_W)
call window_singleline pascal, (96 shl 16) or 80
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_SE_HEAD
mov word_11E88, 0Ah
mov word_11E8A, 4
push 200080h
call sub_B572
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_dropdown_animate pascal, ( 32 shl 16) or 128
mov [bp+var_2], 0
jmp short loc_B908
; ---------------------------------------------------------------------------
@ -1973,10 +1693,9 @@ loc_B901:
loc_B908:
cmp [bp+var_2], 3
jl short loc_B8F1
mov word_11E88, 19h
mov word_11E8A, 0Ah
push 0C00080h
call sub_B572
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_dropdown_animate pascal, (192 shl 16) or 128
call setup_se_help_put
mov [bp+var_2], 1
@ -2022,14 +1741,12 @@ loc_B98D:
; ---------------------------------------------------------------------------
loc_B997:
mov word_11E88, 19h
mov word_11E8A, 0Ah
push 0C00080h
call sub_B65C
mov word_11E88, 0Ah
mov word_11E8A, 4
push 200080h
call sub_B65C
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_rollup_animate pascal, (192 shl 16) or 128
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_rollup_animate pascal, ( 32 shl 16) or 128
les bx, _humaconfig
mov al, byte ptr [bp+var_2]
mov es:[bx+18h], al
@ -4782,8 +4499,7 @@ include th04/formats/cdg[bss].asm
dd ? ;
dd ? ;
dd ? ;
word_11E88 dw ?
word_11E8A dw ?
include th04/setup[bss].asm
include th04/zunsoft[bss].asm
dd ? ;
dd ? ;

View File

@ -1494,279 +1494,6 @@ loc_B058:
retf
_main endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B077 proc near
var_2 = word ptr -2
@@y = word ptr 4
@@x = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+@@x]
mov di, [bp+@@y]
push si
push di
mov ax, word_12F30
shl ax, 4
push ax
push 10h
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 2
push si
lea ax, [di+8]
push ax
push 6
call super_put
add si, 16
mov [bp+var_2], 1
jmp short loc_B0CD
; ---------------------------------------------------------------------------
loc_B0B2:
call super_put pascal, si, di, 0
push si
lea ax, [di+8]
push ax
push 3
call super_put
inc [bp+var_2]
add si, 16
loc_B0CD:
mov ax, word_12F30
dec ax
cmp ax, [bp+var_2]
jg short loc_B0B2
call super_put pascal, si, di, 4
push si
lea ax, [di+8]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
sub_B077 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B0F1 proc near
var_2 = word ptr -2
@@y = word ptr 4
@@x = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+@@x]
mov di, [bp+@@y]
push si
lea ax, [di+8]
push ax
mov ax, word_12F30
shl ax, 4
push ax
push 10h
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 6
add si, 16
mov [bp+var_2], 1
jmp short loc_B132
; ---------------------------------------------------------------------------
loc_B123:
call super_put pascal, si, di, 3
inc [bp+var_2]
add si, 16
loc_B132:
mov ax, word_12F30
dec ax
cmp ax, [bp+var_2]
jg short loc_B123
call super_put pascal, si, di, 7
pop di
pop si
leave
retn 4
sub_B0F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B14A proc near
var_2 = word ptr -2
@@y = word ptr 4
@@x = word ptr 6
enter 2, 0
push si
push di
mov ax, [bp+@@x]
mov [bp+var_2], ax
mov si, [bp+@@y]
call super_put pascal, ax, si, 5
add [bp+var_2], 10h
mov di, 1
jmp short loc_B17B
; ---------------------------------------------------------------------------
loc_B16B:
call super_put pascal, [bp+var_2], si, 1
inc di
add [bp+var_2], 10h
loc_B17B:
mov ax, word_12F30
dec ax
cmp ax, di
jg short loc_B16B
call super_put pascal, [bp+var_2], si, 8
add si, 10h
mov di, 1
jmp short loc_B1A8
; ---------------------------------------------------------------------------
loc_B196:
push [bp+@@x]
push si
call sub_B077
push 1
call frame_delay
inc di
add si, 8
loc_B1A8:
mov ax, word_12F32
add ax, ax
add ax, 0FFFDh
cmp ax, di
jg short loc_B196
pop di
pop si
leave
retn 4
sub_B14A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B1BA proc near
var_2 = word ptr -2
@@y = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+arg_2]
mov di, [bp+@@y]
push si
push di
mov ax, word_12F30
shl ax, 4
push ax
push 20h ; ' '
call egc_copy_rect_1_to_0
call super_put pascal, si, di, 5
push si
lea ax, [di+16]
push ax
push 6
call super_put
add si, 10h
mov [bp+var_2], 1
jmp short loc_B210
; ---------------------------------------------------------------------------
loc_B1F5:
call super_put pascal, si, di, 1
push si
lea ax, [di+16]
push ax
push 3
call super_put
inc [bp+var_2]
add si, 16
loc_B210:
mov ax, word_12F30
dec ax
cmp ax, [bp+var_2]
jg short loc_B1F5
call super_put pascal, si, di, 8
push si
lea ax, [di+16]
push ax
push 7
call super_put
pop di
pop si
leave
retn 4
sub_B1BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B234 proc near
arg_0 = word ptr 4
arg_2 = word ptr 6
push bp
mov bp, sp
push si
push di
mov si, [bp+arg_0]
mov ax, word_12F32
shl ax, 4
add ax, 0FFF0h
add si, ax
mov di, 1
jmp short loc_B25E
; ---------------------------------------------------------------------------
loc_B24C:
push [bp+arg_2]
push si
call sub_B0F1
push 1
call frame_delay
inc di
sub si, 8
loc_B25E:
mov ax, word_12F32
add ax, ax
add ax, 0FFFEh
cmp ax, di
jg short loc_B24C
pop di
pop si
pop bp
retn 4
sub_B234 endp
include th04/setup.asm
; =============== S U B R O U T I N E =======================================
@ -1778,14 +1505,12 @@ sub_B36C proc near
var_2 = word ptr -2
enter 2, 0
mov word_12F30, 1Ch
push 600050h
call sub_B1BA
mov _window_tiles.x, (448 / WINDOW_TILE_W)
call window_singleline pascal, (96 shl 16) or 80
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_BGM_HEAD
mov word_12F30, 0Ah
mov word_12F32, 4
push 200080h
call sub_B14A
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_dropdown_animate pascal, ( 32 shl 16) or 128
mov [bp+var_2], 0
jmp short loc_B3C3
; ---------------------------------------------------------------------------
@ -1809,10 +1534,9 @@ loc_B3BC:
loc_B3C3:
cmp [bp+var_2], 3
jl short loc_B3AC
mov word_12F30, 19h
mov word_12F32, 0Ah
push 0C00080h
call sub_B14A
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_dropdown_animate pascal, (192 shl 16) or 128
call setup_bgm_help_put
mov [bp+var_2], 2
@ -1858,14 +1582,12 @@ loc_B448:
; ---------------------------------------------------------------------------
loc_B452:
mov word_12F30, 19h
mov word_12F32, 0Ah
push 0C00080h
call sub_B234
mov word_12F30, 0Ah
mov word_12F32, 4
push 200080h
call sub_B234
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_rollup_animate pascal, (192 shl 16) or 128
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_rollup_animate pascal, ( 32 shl 16) or 128
les bx, _ksoconfig
mov al, byte ptr [bp+var_2]
mov es:[bx+12h], al
@ -1883,14 +1605,12 @@ sub_B489 proc near
var_2 = word ptr -2
enter 2, 0
mov word_12F30, 1Ch
push 600050h
call sub_B1BA
mov _window_tiles.x, (448 / WINDOW_TILE_W)
call window_singleline pascal, (96 shl 16) or 80
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_SE_HEAD
mov word_12F30, 0Ah
mov word_12F32, 4
push 200080h
call sub_B14A
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_dropdown_animate pascal, ( 32 shl 16) or 128
mov [bp+var_2], 0
jmp short loc_B4E0
; ---------------------------------------------------------------------------
@ -1914,10 +1634,9 @@ loc_B4D9:
loc_B4E0:
cmp [bp+var_2], 3
jl short loc_B4C9
mov word_12F30, 19h
mov word_12F32, 0Ah
push 0C00080h
call sub_B14A
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_dropdown_animate pascal, (192 shl 16) or 128
call setup_se_help_put
mov [bp+var_2], 1
@ -1963,14 +1682,12 @@ loc_B565:
; ---------------------------------------------------------------------------
loc_B56F:
mov word_12F30, 19h
mov word_12F32, 0Ah
push 0C00080h
call sub_B234
mov word_12F30, 0Ah
mov word_12F32, 4
push 200080h
call sub_B234
mov _window_tiles.x, (400 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 9
call window_rollup_animate pascal, (192 shl 16) or 128
mov _window_tiles.x, (160 / WINDOW_TILE_W)
mov _window_tiles.y, 1 + 3
call window_rollup_animate pascal, ( 32 shl 16) or 128
les bx, _ksoconfig
mov al, byte ptr [bp+var_2]
mov es:[bx+15h], al
@ -4778,8 +4495,7 @@ include th04/hardware/egccopyr[bss].asm
dd ? ;
dd ? ;
dd ? ;
word_12F30 dw ?
word_12F32 dw ?
include th04/setup[bss].asm
include th04/zunsoft[bss].asm
dd ? ;
dd ? ;