[Position independence] graph_putsa_fx() calls

Waiting with the `fx` parameter in TH01's calls for the decompilation
of this game's version of this function…

Part of P0062, funded by Touhou Patch Center.
This commit is contained in:
nmlgc 2019-12-21 18:08:24 +01:00
parent 705e942ca0
commit 7d329202e7
10 changed files with 628 additions and 1011 deletions

View File

@ -489,13 +489,7 @@ loc_A229:
shl bx, 2
lea ax, [bp+var_30]
add bx, ax
push word ptr ss:[bx+2]
push word ptr ss:[bx]
push [bp+arg_4]
push [bp+arg_2]
push si
call graph_putsa_fx
add sp, 0Ah
call graph_putsa_fx c, si, [bp+arg_2], [bp+arg_4], word ptr ss:[bx], word ptr ss:[bx+2]
loc_A24A:
add si, 10h
@ -1320,13 +1314,7 @@ loc_A814:
loc_A84F:
cmp si, 1Ah
jl short loc_A814
push ds
push offset aVb ; ""
push 823h
push 0F0h
push 20h ; ' '
call graph_putsa_fx
add sp, 0Ah
call graph_putsa_fx c, 32, 240, 823h, offset aVb, ds ; ""
mov di, 8260h
xor si, si
jmp short loc_A8AA
@ -1555,34 +1543,10 @@ arg_E = word ptr 14h
push 0
call _graph_accesspage_func
pop cx
push ds
push offset aB@cB@iB@ ; " 霊 位 "
push 33h ; '3'
push 30h ; '0'
push 20h ; ' '
call graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@cB@b@sob@b ; "  名  前  "
push 33h ; '3'
push 30h ; '0'
push 90h
call graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@uB@b@u_b@b ; "  得  点  "
push 33h ; '3'
push 30h ; '0'
push 160h
call graph_putsa_fx
add sp, 0Ah
push ds
push offset aGxgebGwbeglbGg ; "ステージ・ルート"
push 33h ; '3'
push 30h ; '0'
push 200h
call graph_putsa_fx
add sp, 0Ah
call graph_putsa_fx c, 32, 48, 33h, offset aB@cB@iB@, ds ; " 霊 位 "
call graph_putsa_fx c, 144, 48, 33h, offset aB@b@cB@b@sob@b, ds ; "  名  前  "
call graph_putsa_fx c, 352, 48, 33h, offset aB@b@uB@b@u_b@b, ds ; "  得  点  "
call graph_putsa_fx c, 512, 48, 33h, offset aGxgebGwbeglbGg, ds ; "ステージ・ルート"
xor si, si
jmp loc_AD66
; ---------------------------------------------------------------------------
@ -1759,9 +1723,9 @@ loc_AB36:
push ax
mov ax, si
shl ax, 4
add ax, 40h
add ax, 64
push ax
push 20h ; ' '
push 32
call graph_putsa_fx
add sp, 0Ah
jmp short $+2
@ -1800,9 +1764,9 @@ loc_AB77:
push ax
mov ax, si
shl ax, 4
add ax, 40h
add ax, 64
push ax
push 90h
push 144
call graph_putsa_fx
add sp, 0Ah
push 0
@ -1938,9 +1902,9 @@ loc_AC6D:
push ax
mov ax, si
shl ax, 4
add ax, 40h
add ax, 64
push ax
push 210h
push 528
call graph_putsa_fx
add sp, 0Ah
jmp short loc_ACCD
@ -1979,9 +1943,9 @@ loc_ACB5:
push ax
mov ax, si
shl ax, 4
add ax, 40h
add ax, 64
push ax
push 210h
push 528
call graph_putsa_fx
add sp, 0Ah
@ -2002,9 +1966,9 @@ loc_ACDD:
push ax
mov ax, si
shl ax, 4
add ax, 40h
add ax, 64
push ax
push 230h
push 560
call graph_putsa_fx
add sp, 0Ah
cmp si, di

View File

@ -1019,15 +1019,15 @@ arg_0 = word ptr 6
push bp
mov bp, sp
mov ax, [bp+arg_0]
mov bx, 46h ; 'F'
mov bx, 70
cwd
idiv bx
cmp dx, 32h ; '2'
cmp dx, 50
jge short loc_A954
push ds
push offset aVgvhvsb@vjvdvx ; "  "
push 2F0132h
push 0F4h
push (2Fh shl 16) or 306
push 244
call graph_putsa_fx
add sp, 0Ah
pop bp
@ -1051,8 +1051,8 @@ sub_A92C endp
sub_A96A proc far
var_14 = byte ptr -14h
var_4 = word ptr -4
var_2 = word ptr -2
@@y = word ptr -4
@@x = word ptr -2
arg_0 = word ptr 6
arg_2 = word ptr 8
@ -1066,11 +1066,11 @@ arg_2 = word ptr 8
push offset off_124CD
mov cx, 10h
call SCOPY@
mov [bp+var_2], 0F4h
mov [bp+@@x], 244
mov ax, si
imul ax, 14h
add ax, 114h
mov [bp+var_4], ax
add ax, 276
mov [bp+@@y], ax
mov bx, si
shl bx, 2
lea ax, [bp+var_14]
@ -1079,8 +1079,8 @@ arg_2 = word ptr 8
mov ax, [bp+arg_2]
or ax, 30h
push ax
push [bp+var_4]
push [bp+var_2]
push [bp+@@y]
push [bp+@@x]
call graph_putsa_fx
add sp, 0Ah
pop si

File diff suppressed because it is too large Load Diff

View File

@ -8585,7 +8585,7 @@ sub_2000C endp
sub_20071 proc far
var_8 = byte ptr -8
var_2 = word ptr -2
@@x = word ptr -2
enter 8, 0
push si
@ -8625,7 +8625,7 @@ loc_200B4:
add bx, ax
cmp dword ptr es:[bx], 2710h
jbe short loc_200D0
mov [bp+var_2], 0FFF8h
mov [bp+@@x], -8
jmp short loc_20101
; ---------------------------------------------------------------------------
@ -8636,7 +8636,7 @@ loc_200D0:
add bx, ax
cmp dword ptr es:[bx], 3E8h
jbe short loc_200EC
mov [bp+var_2], 0
mov [bp+@@x], 0
jmp short loc_20101
; ---------------------------------------------------------------------------
@ -8646,7 +8646,7 @@ loc_200EC:
les bx, off_39EAC
add bx, ax
cmp dword ptr es:[bx], 64h ; 'd'
mov [bp+var_2], 8
mov [bp+@@x], 8
loc_20101:
or di, di
@ -8675,7 +8675,7 @@ loc_20116:
les bx, font
add bx, ax
mov ax, es:[bx]
add ax, [bp+var_2]
add ax, [bp+@@x]
push ax
call _egc_copy_rect_1_to_0
add sp, 8
@ -8708,7 +8708,7 @@ loc_20167:
push ss
lea ax, [bp+var_8]
push ax
push 27h ; '''
push 27h
mov ax, si
add ax, ax
les bx, off_39E88
@ -8722,7 +8722,7 @@ loc_20167:
les bx, font
add bx, ax
mov ax, es:[bx]
add ax, [bp+var_2]
add ax, [bp+@@x]
push ax
call graph_putsa_fx
add sp, 0Ah

View File

@ -299,21 +299,9 @@ sub_9624 endp
sub_973E proc near
push bp
mov bp, sp
push 500110h
push 2Fh ; '/'
push ds
push offset unk_F72C
call graph_putsa_fx
push 500120h
push 2Fh ; '/'
push ds
push offset unk_F769
call graph_putsa_fx
push 500130h
push 2Fh ; '/'
push ds
push offset unk_F7A6
call graph_putsa_fx
call graph_putsa_fx pascal, (80 shl 16) or 272, 2Fh, ds, offset unk_F72C
call graph_putsa_fx pascal, (80 shl 16) or 288, 2Fh, ds, offset unk_F769
call graph_putsa_fx pascal, (80 shl 16) or 304, 2Fh, ds, offset unk_F7A6
pop bp
retn
sub_973E endp
@ -638,14 +626,14 @@ loc_9A8E:
sar ax, 1
add ax, ax
mov [bp+var_4], ax
push 500124h
push 2Fh ; '/'
push (80 shl 16) or 292
push 2Fh
mov bx, [bp+var_4]
shl bx, 2
pushd CHAR_TITLE[bx]
call graph_putsa_fx
push 800134h
push 2Fh ; '/'
push (128 shl 16) or 308
push 2Fh
mov bx, [bp+var_4]
shl bx, 2
pushd CHAR_NAME[bx]
@ -659,14 +647,14 @@ loc_9A8E:
sar ax, 1
add ax, ax
mov [bp+var_4], ax
push 1500124h
push 2Fh ; '/'
push (336 shl 16) or 292
push 2Fh
mov bx, [bp+var_4]
shl bx, 2
pushd CHAR_TITLE[bx]
call graph_putsa_fx
push 1800134h
push 2Fh ; '/'
push (384 shl 16) or 308
push 2Fh
mov bx, [bp+var_4]
shl bx, 2
pushd CHAR_NAME[bx]
@ -1128,7 +1116,7 @@ var_2 = word ptr -2
mov si, 1
mov [bp+var_2], 0
mov word ptr [bp+var_6+2], ds
mov word ptr [bp+var_6], 8D8h
mov word ptr [bp+var_6], offset a0
xor di, di
jmp short loc_9FB3
; ---------------------------------------------------------------------------
@ -1161,11 +1149,7 @@ loc_9FC8:
les bx, [bp+var_6]
add al, es:[bx]
mov es:[bx], al
push (576 shl 16) or 371
push 2Fh ; '/'
push word ptr [bp+var_6+2]
push bx
call graph_putsa_fx
call graph_putsa_fx pascal, (576 shl 16) or 371, 2Fh, word ptr [bp+var_6+2], bx
push 1
call palette_black_in
@ -1217,11 +1201,7 @@ loc_A069:
dec byte ptr es:[bx+36h]
les bx, [bp+var_6]
dec byte ptr es:[bx]
push (576 shl 16) or 371
push 2Fh ; '/'
push word ptr [bp+var_6+2]
push bx
call graph_putsa_fx
call graph_putsa_fx pascal, (576 shl 16) or 371, 2Fh, word ptr [bp+var_6+2], bx
jmp short loc_A0C5
; ---------------------------------------------------------------------------
@ -1848,20 +1828,20 @@ sub_A5D3 endp
sub_A5FC proc near
push bp
mov bp, sp
add word_105D0, 10h
cmp word_105D0, 230h
add point_105D0.x, 16
cmp point_105D0.x, 560
jl short loc_A64B
add word_105D2, 10h
mov word_105D0, 90h
cmp word_105D2, 180h
add point_105D0.y, 16
mov point_105D0.x, 144
cmp point_105D0.y, 384
jl short loc_A64B
cmp byte_105CE, 0
jnz short loc_A62D
call input_wait_for_change pascal, 0
loc_A62D:
mov word_105D0, 50h ; 'P'
mov word_105D2, 140h
mov point_105D0.x, 80
mov point_105D0.y, 320
graph_accesspage 1
call sub_A45B
graph_accesspage 0
@ -1911,9 +1891,9 @@ loc_A67C:
jmp word ptr cs:[bx+20h] ; switch jump
loc_A680:
add word_105D2, 10h ; jumptable 0000A67C case 110
mov word_105D0, 50h ; 'P'
cmp word_105D2, 180h
add point_105D0.y, 16 ; jumptable 0000A67C case 110
mov point_105D0.x, 80
cmp point_105D0.y, 384
jl loc_AC1E ; default
loc_A695:
@ -1937,8 +1917,8 @@ loc_A6C4:
inc word ptr dword_105C6
loc_A6C8:
mov word_105D0, 50h ; 'P'
mov word_105D2, 140h
mov point_105D0.x, 80
mov point_105D0.y, 320
graph_accesspage 1
call sub_A45B
graph_accesspage 0
@ -2222,8 +2202,8 @@ loc_A945:
push ax
call sub_A50A
graph_accesspage 1
push word_105D0
push word_105D2
push point_105D0.x
push point_105D0.y
mov ax, [bp+var_2]
dec ax
push ax
@ -2232,8 +2212,8 @@ loc_A945:
push ax
call graph_gaiji_putc
graph_accesspage 0
push word_105D0
push word_105D2
push point_105D0.x
push point_105D0.y
push [bp+var_2]
mov al, byte_105D6
mov ah, 0
@ -2552,9 +2532,9 @@ var_1 = byte ptr -1
enter 6, 0
push si
mov word ptr [bp+var_6+2], ds
mov word ptr [bp+var_6], 902h
mov word_105D0, 50h ; 'P'
mov word_105D2, 140h
mov word ptr [bp+var_6], offset asc_EFC2
mov point_105D0.x, 80
mov point_105D0.y, 320
mov word_105D4, 1
mov byte_105D6, 0Fh
mov byte_105D7, 20h ; ' '
@ -2608,8 +2588,8 @@ loc_ACFB:
mov es:[bx+1], al
inc word ptr dword_105C6
graph_accesspage 1
push word_105D0
push word_105D2
push point_105D0.x
push point_105D0.y
mov al, byte_105D6
or al, byte_105D7
mov ah, 0
@ -2618,8 +2598,8 @@ loc_ACFB:
push bx
call graph_putsa_fx
graph_accesspage 0
push word_105D0
push word_105D2
push point_105D0.x
push point_105D0.y
mov al, byte_105D6
or al, byte_105D7
mov ah, 0
@ -3562,7 +3542,7 @@ loc_B3E0:
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+906h]
pushd aSCORE_PLAYCHARS[bx]
call graph_putsa_fx
add si, 70h ; 'p'
push si
@ -5190,23 +5170,23 @@ var_2 = word ptr -2
enter 4, 0
push si
push di
push 16000AEh
push 2Fh ; '/'
push (352 shl 16) or 174
push 2Fh
mov al, byte_10BD7
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+0AE2h]
pushd aVERDICT_PLAYCHARS[bx]
call graph_putsa_fx
push 16800C7h
push (360 shl 16) or 199
push 2Fh ; '/'
mov al, _rank
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+0B06h]
pushd aVERDICT_RANKS[bx]
call graph_putsa_fx
mov si, 198h
mov si, 408
mov [bp+var_4], 0
mov [bp+var_2], 8
jmp short loc_C319
@ -5230,12 +5210,12 @@ loc_C2F7:
cmp [bp+var_4], 0
jz short loc_C316
push si
push 0E0002Fh
push (224 shl 16) or 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
add si, 10h
add si, 16
loc_C316:
dec [bp+var_2]
@ -5247,36 +5227,36 @@ loc_C319:
mov ah, 0
mov di, ax
push si
push 0E0002Fh
push (224 shl 16) or 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
push 19800F8h
push 2Fh ; '/'
push (408 shl 16) or 248
push 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
mov al, byte_10BD8
mov ah, 0
mov bx, 64h ; 'd'
mov bx, 100
cwd
idiv bx
mov di, ax
mov si, 198h
mov si, 408
mov [bp+var_4], 0
or di, di
jz short loc_C38D
sub si, 10h
sub si, 16
mov [bp+var_4], 1
push si
push 123002Fh
push (291 shl 16) or 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
add si, 10h
add si, 16
loc_C38D:
mov al, byte_10BD8
@ -5300,12 +5280,12 @@ loc_C3B4:
cmp [bp+var_4], 0
jz short loc_C3D3
push si
push 123002Fh
push (291 shl 16) or 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
add si, 10h
add si, 16
loc_C3D3:
mov al, byte_10BD8
@ -5315,17 +5295,13 @@ loc_C3D3:
idiv bx
mov di, dx
push si
push 123002Fh
push (291 shl 16) or 2Fh
mov bx, di
shl bx, 2
pushd dword ptr [bx+0B16h]
call graph_putsa_fx
lea ax, [si+10h]
push ax
push 123002Fh
push ds
push offset aU_ ; "点"
pushd aVERDICT_NUMBERS[bx]
call graph_putsa_fx
lea ax, [si+16]
call graph_putsa_fx pascal, ax, (291 shl 16) or 2Fh, ds, offset aU_ ; "“_"
pop di
pop si
leave
@ -5795,14 +5771,12 @@ include th03/snd/se_state[data].asm
include th02/formats/pfopen[data].asm
include th03/formats/cdg[data].asm
include th03/snd/se_priority[data].asm
db 30h ; 0
db 0
a0 db '0',0
aOver_pi db 'over.pi',0
include th03/formats/pi_slot_put_mask[data].asm
db 20h
db 20h
db 0
db 0
asc_EFC2 db ' ', 0
even
aSCORE_PLAYCHARS label dword
dd aNoEntry ; " No Entry! "
dd aB@b@sCB@b@ ; "  靈夢  "
dd aB@b@cgcvb@b@ ; "  魅魔  "
@ -5984,6 +5958,7 @@ off_EE4E dd a@00ed_txt
db 0
include th03/formats/cdg_put_dissolve[data].asm
aVERDICT_PLAYCHARS label dword
dd aFocab@sC_0 ; " 博麗 靈夢"
dd aCgCv_0 ; " 魅 魔"
dd aCIjb@cvcan_0 ; " 霧雨 魔理沙 "
@ -5993,10 +5968,12 @@ include th03/formats/cdg_put_dissolve[data].asm
dd aB@tisqb@canb_0 ; " 朝倉 理香子"
dd aCkftiB@vVfvs_0 ; " 北白河 ちゆり"
dd aB@iknsb@cF_0 ; "  岡崎 夢美"
aVERDICT_RANKS label dword
dd aVdvbvuvs ; " "
dd aVmvpvtvnvbvm ; " "
dd aVgvbvtvd ; " "
dd aVkvxvovbvfvivg ; ""
aVERDICT_NUMBERS label dword
dd aVo ; ""
dd aVp ; ""
dd aVq ; ""
@ -6136,8 +6113,7 @@ dword_105C6 dd ?
dword_105CA dd ?
byte_105CE db ?
db ?
word_105D0 dw ?
word_105D2 dw ?
point_105D0 Point <?>
word_105D4 dw ?
byte_105D6 db ?
byte_105D7 db ?

View File

@ -1615,11 +1615,11 @@ var_1 = byte ptr -1
sub al, _music_page
mov [bp+var_1], al
graph_accesspage al
push 10h
push 16
mov al, [bp+@@sel]
mov ah, 0
shl ax, 4
add ax, 28h ; '('
add ax, 40
push ax
mov al, [bp+@@color]
mov ah, 0
@ -1632,11 +1632,11 @@ var_1 = byte ptr -1
pushd _MUSIC_TITLES[bx]
call graph_putsa_fx
graph_accesspage _music_page
push 10h
push 16
mov al, [bp+@@sel]
mov ah, 0
shl ax, 4
add ax, 28h ; '('
add ax, 40
push ax
mov al, [bp+@@color]
mov ah, 0

View File

@ -931,12 +931,12 @@ sub_A713 endp
sub_A73B proc near
push bp
mov bp, sp
add word_124BC, 10h
cmp word_124BC, 230h
add point_124BC.x, 16
cmp point_124BC.x, 560
jl short loc_A78D
add word_124BE, 10h
mov word_124BC, 90h
cmp word_124BE, 180h
add point_124BC.y, 16
mov point_124BC.x, 144
cmp point_124BC.y, 384
jl short loc_A78D
call sub_A815
cmp byte_1247E, 0
@ -944,8 +944,8 @@ sub_A73B proc near
call input_wait_for_change pascal, 0
loc_A76F:
mov word_124BC, 50h ; 'P'
mov word_124BE, 140h
mov point_124BC.x, 80
mov point_124BC.y, 320
graph_accesspage 1
call sub_A59E
graph_accesspage 0
@ -1099,9 +1099,9 @@ loc_A876:
jmp word ptr cs:[bx+20h] ; switch jump
loc_A87A:
add word_124BE, 10h ; jumptable 0000A876 case 110
mov word_124BC, 50h ; 'P'
cmp word_124BE, 180h
add point_124BC.y, 16 ; jumptable 0000A876 case 110
mov point_124BC.x, 80
cmp point_124BC.y, 384
jl loc_ADB5 ; default
loc_A88F:
@ -1126,8 +1126,8 @@ loc_A8C0:
inc word_12478
loc_A8C4:
mov word_124BC, 50h ; 'P'
mov word_124BE, 140h
mov point_124BC.x, 80
mov point_124BC.y, 320
graph_accesspage 1
call sub_A59E
graph_accesspage 0
@ -1142,7 +1142,7 @@ loc_A8E5:
push ax
call sub_A64D
mov al, byte ptr [bp+var_2]
mov byte_124C2, al
mov col_124C2, al
jmp loc_ADB5 ; default
; ---------------------------------------------------------------------------
@ -1373,10 +1373,10 @@ loc_AAF2:
push ax
call sub_A64D
graph_accesspage 1
push word_124BC
push word_124BE
push point_124BC.x
push point_124BC.y
push [bp+var_2]
mov al, byte_124C2
mov al, col_124C2
mov ah, 0
push ax
call graph_gaiji_putc
@ -1693,11 +1693,11 @@ var_1 = byte ptr -1
enter 6, 0
mov word ptr [bp+var_6+2], ds
mov word ptr [bp+var_6], 654h
mov word_124BC, 50h ; 'P'
mov word_124BE, 140h
mov word ptr [bp+var_6], offset asc_EB84
mov point_124BC.x, 80
mov point_124BC.y, 320
mov word_124C0, 1
mov byte_124C2, 0Fh
mov col_124C2, 15
mov _graph_putsa_fx_func, 2
call sub_A4AE
mov byte_1247E, 0
@ -1749,9 +1749,9 @@ loc_AE82:
inc word_12478
graph_showpage 0
graph_accesspage 1
push word_124BC
push word_124BE
mov al, byte_124C2
push point_124BC.x
push point_124BC.y
mov al, col_124C2
mov ah, 0
push ax
push word ptr [bp+var_6+2]
@ -2714,19 +2714,15 @@ loc_B851:
cmp si, 8
jl short loc_B82A
mov [bp+var_4], 0
push 0A00060h
push 10h
push (160 shl 16) or 96
push 16
push ss
lea ax, [bp+var_C]
push ax
push 0Eh
push 14
call graph_gaiji_puts
mov [bp+var_2], 1
push 1200060h
push 0Eh
push ds
push offset aU_ ; "点"
call graph_putsa_fx
call graph_putsa_fx pascal, (288 shl 16) or 96, 14, ds, offset aU_ ; "点"
pop si
leave
retn
@ -2816,26 +2812,16 @@ loc_B8FC:
div ebx
mov [bp+var_2], ax
mov byte_EC73, 1
lea ax, [si+30h]
lea ax, [si+48]
push ax
push di
push [bp+var_2]
call sub_B787
mov byte_EC73, 0
lea ax, [si+30h]
push ax
push di
push 0Eh
push ds
push offset aBd ; ""
call graph_putsa_fx
lea ax, [si+60h]
push ax
push di
push 0Eh
push ds
push offset aBu ; ""
call graph_putsa_fx
lea ax, [si+48]
call graph_putsa_fx pascal, ax, di, 14, ds, offset aBd ; ""
lea ax, [si+96]
call graph_putsa_fx pascal, ax, di, 14, ds, offset aBu ; ""
pop di
pop si
leave
@ -2879,19 +2865,14 @@ arg_6 = word ptr 0Ah
div ebx
mov [bp+var_2], ax
mov byte_EC73, 1
lea ax, [si+30h]
lea ax, [si+48]
push ax
push di
push [bp+var_2]
call sub_B787
mov byte_EC73, 0
lea ax, [si+30h]
push ax
push di
push 0Eh
push ds
push offset aBd_0 ; ""
call graph_putsa_fx
lea ax, [si+48]
call graph_putsa_fx pascal, ax, di, 14, ds, offset aBd_0 ; ""
pop di
pop si
leave
@ -3039,11 +3020,7 @@ loc_BB48:
push 0C00108h
pushd [bp+var_4]
call sub_B97B
push 1200108h
push 0Eh
push ds
push offset aBu_0 ; ""
call graph_putsa_fx
call graph_putsa_fx pascal, (288 shl 16) or 264, 14, ds, offset aBu_0 ; ""
leave
retn
sub_B9F2 endp
@ -3070,66 +3047,18 @@ var_4 = dword ptr -4
mov _graph_putsa_fx_func, 2
graph_accesspage 0
graph_showpage al
push 100030h
push 0Fh
push ds
push offset aB@b@b@b@b@b@b@ ; "        腕前判定"
call graph_putsa_fx
push 100048h
push 0Fh
push ds
push offset aUqiUx ; "難易度"
call graph_putsa_fx
push 100060h
push 0Fh
push ds
push offset aNPiuU_ ; "最終得点"
call graph_putsa_fx
push 100078h
push 0Fh
push ds
push offset aGGxi ; "ミス回数"
call graph_putsa_fx
push 100090h
push 0Fh
push ds
push offset aGGaogcpi ; "ボム使用回数"
call graph_putsa_fx
push 1000A8h
push 0Fh
push ds
push offset aGqbGatbrmcj ; "ゲーム達成率"
call graph_putsa_fx
push 1000C0h
push 0Fh
push ds
push offset aIlcSObcj ; "悪霊退治率"
call graph_putsa_fx
push 1000D8h
push 0Fh
push ds
push offset aGagcgegai ; "アイテム回収率"
call graph_putsa_fx
push 1000F0h
push 0Fh
push ds
push offset aUU_gagcgeganNv ; "得点アイテム最高点率"
call graph_putsa_fx
push 100108h
push 0Fh
push ds
push offset aLcnzvv ; "気合い"
call graph_putsa_fx
push 100120h
push 0Fh
push ds
push offset aPicacovCj ; "処理落ち率"
call graph_putsa_fx
push 100150h
push 0Fh
push ds
push offset aVavVVSrso ; "あなたの腕前"
call graph_putsa_fx
call graph_putsa_fx pascal, (16 shl 16) or 48, 15, ds, offset aB@b@b@b@b@b@b@ ; "        腕前判定"
call graph_putsa_fx pascal, (16 shl 16) or 72, 15, ds, offset aUqiUx ; "難易度"
call graph_putsa_fx pascal, (16 shl 16) or 96, 15, ds, offset aNPiuU_ ; "最終得点"
call graph_putsa_fx pascal, (16 shl 16) or 120, 15, ds, offset aGGxi ; "ミス回数"
call graph_putsa_fx pascal, (16 shl 16) or 144, 15, ds, offset aGGaogcpi ; "ボム使用回数"
call graph_putsa_fx pascal, (16 shl 16) or 168, 15, ds, offset aGqbGatbrmcj ; "ゲーム達成率"
call graph_putsa_fx pascal, (16 shl 16) or 192, 15, ds, offset aIlcSObcj ; "悪霊退治率"
call graph_putsa_fx pascal, (16 shl 16) or 216, 15, ds, offset aGagcgegai ; "アイテム回収率"
call graph_putsa_fx pascal, (16 shl 16) or 240, 15, ds, offset aUU_gagcgeganNv ; "得点アイテム最高点率"
call graph_putsa_fx pascal, (16 shl 16) or 264, 15, ds, offset aLcnzvv ; "気合い"
call graph_putsa_fx pascal, (16 shl 16) or 288, 15, ds, offset aPicacovCj ; "処理落ち率"
call graph_putsa_fx pascal, (16 shl 16) or 336, 15, ds, offset aVavVVSrso ; "あなたの腕前"
les bx, _humaconfig
cmp byte ptr es:[bx+11h], 6
jnz short loc_BC71
@ -3165,16 +3094,8 @@ loc_BC79:
mov ah, 0
push ax
call sub_B787
push 1200078h
push 0Eh
push ds
push offset aTimes ; "回"
call graph_putsa_fx
push 1200090h
push 0Eh
push ds
push offset aTimes_0 ; "回"
call graph_putsa_fx
call graph_putsa_fx pascal, (288 shl 16) or 120, 14, ds, offset aTimes ; "回"
call graph_putsa_fx pascal, (288 shl 16) or 144, 14, ds, offset aTimes_0 ; "回"
mov byte_124CC, 1
les bx, _humaconfig
cmp byte ptr es:[bx+11h], 6
@ -3435,11 +3356,7 @@ loc_BFD9:
push 0C00150h
pushd [dword_124CE]
call sub_B97B
push 1200150h
push 0Eh
push ds
push offset aPoint ; "点"
call graph_putsa_fx
call graph_putsa_fx pascal, (288 shl 16) or 336, 14, ds, offset aPoint ; "点"
push ds
push offset a_ude_txt ; "_ude.txt"
call file_ropen
@ -3498,21 +3415,17 @@ loc_C084:
call file_close
push 40h
call frame_delay
push 400168h
push 0Fh
push (64 shl 16) or 360
push 15
push ds
push offset unk_124D3
jmp short loc_C0CB
; ---------------------------------------------------------------------------
loc_C0AE:
push 0C00150h
push 0Eh
push ds
push offset aBhbhbhbhbhbhu_ ; "??????点"
call graph_putsa_fx
push 400168h
push 0Fh
call graph_putsa_fx pascal, (192 shl 16) or 336, 14, ds, offset aBhbhbhbhbhbhu_ ; "??????点"
push (64 shl 16) or 360
push 15
push ds
push offset aPicacovVVcvsfT ; "処理落ちによる判定不可"
@ -4651,16 +4564,8 @@ loc_C8D9:
mov ah, 0
push ax
call sub_C7C9
push 7C00C4h
push 9
push ds
push offset aGxgnbGvbGhvVGv ; "スローモードでのプレイでは、スコアは記・...
call graph_putsa_fx
push 7800C0h
push 2
push ds
push offset aGxgnbGvbGhvV_1 ; "スローモードでのプレイでは、スコアは記・...
call graph_putsa_fx
call graph_putsa_fx pascal, (124 shl 16) or 196, 9, ds, offset aGxgnbGvbGhvVGv ; "スローモードでのプレイでは、スコアは記・...
call graph_putsa_fx pascal, (120 shl 16) or 192, 2, ds, offset aGxgnbGvbGhvV_1 ; "スローモードでのプレイでは、スコアは記・...
loc_C909:
les bx, _humaconfig
@ -5207,10 +5112,8 @@ include th03/formats/pi_slot_put_mask[data].asm
db 0FFh
db 0FFh
db 0FFh
db 20h
db 20h
db 0
db 0
asc_EB84 db ' ', 0
even
aSff1_pi db 'sff1.pi',0
aStaff db 'staff',0
aSff1_cdg db 'sff1.cdg',0
@ -7374,10 +7277,9 @@ byte_1247E db ?
dd ? ;
dd ? ;
db ? ;
word_124BC dw ?
word_124BE dw ?
point_124BC Point <?>
word_124C0 dw ?
byte_124C2 db ?
col_124C2 db ?
db ? ;
word_124C4 dw ?
byte_124C6 db ?

View File

@ -619,17 +619,17 @@ loc_AB59:
mov _graph_putsa_fx_func, 2
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+9Eh] ; s
pushd _MENU_DESC[bx]
call _strlen
add sp, 4
shl ax, 3
mov dx, 270h
mov dx, 624
sub dx, ax
push dx
push 180000Fh
push (384 shl 16) or 15
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+9Eh]
pushd _MENU_DESC[bx]
call graph_putsa_fx
loc_ABC4:
@ -853,17 +853,17 @@ loc_ADC0:
mov _graph_putsa_fx_func, 2
mov bx, si
shl bx, 2
pushd dword ptr [bx+9Eh] ; s
pushd _MENU_DESC[bx]
call _strlen
add sp, 4
shl ax, 3
mov dx, 270h
mov dx, 624
sub dx, ax
push dx
push 180000Fh
push (384 shl 16) or 15
mov bx, si
shl bx, 2
pushd dword ptr [bx+9Eh]
pushd _MENU_DESC[bx]
call graph_putsa_fx
loc_AE11:
@ -2125,7 +2125,7 @@ var_1 = byte ptr -1
sub al, _music_page
mov [bp+var_1], al
graph_accesspage al
push 10h
push 16
mov al, [bp+@@sel]
mov ah, 0
shl ax, 4
@ -2141,7 +2141,7 @@ var_1 = byte ptr -1
pushd _MUSIC_TITLES[bx]
call graph_putsa_fx
graph_accesspage _music_page
push 10h
push 16
mov al, [bp+@@sel]
mov ah, 0
shl ax, 4
@ -2213,11 +2213,7 @@ draw_cmt_lines proc near
push bp
mov bp, sp
push si
push 1400040h
push 7
push ds
push offset _music_cmt
call graph_putsa_fx
call graph_putsa_fx pascal, (320 shl 16) or 64, 7, ds, offset _music_cmt
mov si, 1
jmp short loc_C306
; ---------------------------------------------------------------------------
@ -2227,7 +2223,7 @@ loc_C2DE:
imul bx, MUSIC_CMT_LINE_LEN
cmp _music_cmt[bx], ';'
jz short loc_C305
push 140h
push 320
lea ax, [si+4]
shl ax, 4
push ax
@ -3951,15 +3947,15 @@ arg_0 = word ptr 4
; ---------------------------------------------------------------------------
loc_D29B:
mov di, 50h ; 'P'
mov di, 80
jmp short loc_D2A3
; ---------------------------------------------------------------------------
loc_D2A0:
mov di, 170h
mov di, 368
loc_D2A3:
mov [bp+var_2], 138h
mov [bp+var_2], 312
lea ax, [di+8]
push ax
mov ax, [bp+var_2]
@ -3968,17 +3964,17 @@ loc_D2A3:
push 0Fh
mov bx, si
shl bx, 3
pushd dword ptr [bx+13D4h]
pushd aPLAYCHAR_NAME_AND_TITLE[bx]
call graph_putsa_fx
lea ax, [di+8]
push ax
mov ax, [bp+var_2]
add ax, 28h ; '('
add ax, 40
push ax
push 0Fh
mov bx, si
shl bx, 3
pushd dword ptr [bx+13D8h]
pushd aPLAYCHAR_TYPE[bx]
call graph_putsa_fx
mov ax, 1
sub ax, si
@ -3991,12 +3987,12 @@ loc_D2A3:
; ---------------------------------------------------------------------------
loc_D2F2:
mov di, 50h ; 'P'
mov di, 80
jmp short loc_D2FA
; ---------------------------------------------------------------------------
loc_D2F7:
mov di, 170h
mov di, 368
loc_D2FA:
lea ax, [di+8]
@ -4007,17 +4003,17 @@ loc_D2FA:
push 3
mov bx, si
shl bx, 3
pushd dword ptr [bx+13D4h]
pushd aPLAYCHAR_NAME_AND_TITLE[bx]
call graph_putsa_fx
lea ax, [di+8]
push ax
mov ax, [bp+var_2]
add ax, 28h ; '('
add ax, 40
push ax
push 3
mov bx, si
shl bx, 3
pushd dword ptr [bx+13D8h]
pushd aPLAYCHAR_TYPE[bx]
call graph_putsa_fx
pop di
pop si
@ -4173,17 +4169,17 @@ loc_D488:
; ---------------------------------------------------------------------------
loc_D498:
mov si, 138h
mov si, 312
mov [bp+var_5], 1
jmp short loc_D4A8
; ---------------------------------------------------------------------------
loc_D4A1:
mov si, 150h
mov si, 336
mov [bp+var_5], 2
loc_D4A8:
mov [bp+var_2], 140h
mov [bp+var_2], 320
mov al, byte_132B8
mov ah, 0
imul ax, 5
@ -4194,11 +4190,11 @@ loc_D4A8:
jz short loc_D4E5
mov _graph_putsa_fx_func, 0
mov ax, [bp+var_2]
add ax, 0FFF8h
add ax, -8
push ax
lea ax, [si+4]
push ax
push 0Fh
push 15
push ds
push offset aStar
call graph_putsa_fx
@ -4210,7 +4206,7 @@ loc_D4E5:
push ax
lea ax, [si+4]
push ax
push 0Fh
push 15
mov al, byte_132B8
mov ah, 0
shl ax, 3
@ -4218,7 +4214,7 @@ loc_D4E5:
shl dx, 2
add ax, dx
mov bx, ax
pushd dword ptr [bx+13E4h]
pushd aPLAYCHAR_SHOT[bx]
call graph_putsa_fx
mov ax, 1
sub ax, di
@ -4231,13 +4227,13 @@ loc_D4E5:
; ---------------------------------------------------------------------------
loc_D51F:
mov si, 138h
mov si, 312
mov [bp+var_5], 1
jmp short loc_D52F
; ---------------------------------------------------------------------------
loc_D528:
mov si, 150h
mov si, 336
mov [bp+var_5], 2
loc_D52F:
@ -4251,11 +4247,11 @@ loc_D52F:
jz short loc_D567
mov _graph_putsa_fx_func, 0
mov ax, [bp+var_2]
add ax, 0FFF8h
add ax, -8
push ax
lea ax, [si+4]
push ax
push 0Fh
push 15
push ds
push offset aStar
call graph_putsa_fx
@ -4275,7 +4271,7 @@ loc_D567:
shl dx, 2
add ax, dx
mov bx, ax
pushd dword ptr [bx+13E4h]
pushd aPLAYCHAR_SHOT[bx]
call graph_putsa_fx
pop di
pop si
@ -4350,7 +4346,7 @@ sub_D595 proc near
push 8
call grcg_round_boxfill
GRCG_OFF_CLOBBERING dx
push 98h
push 152
lea ax, [si+4]
push ax
push 3
@ -4818,6 +4814,8 @@ unk_F3D1 db 0
_menu_sel db 0
_quit db 0
_main_menu_unused_1 db 1
public _MENU_DESC
_MENU_DESC label dword
dd aGqbGav ; "ゲームを開始します"
dd aGgglgxgggigxge ; "エキストラステージを開始します"
dd aMNVGngcgxgrgav ; "現在のハイスコアを表\示します"
@ -5043,10 +5041,13 @@ aOp0b_pi db 'op0b.pi',0
aOp_1 db 'op',0
aOp1_pi_1 db 'op1.pi',0
db 0
aPLAYCHAR_NAME_AND_TITLE label dword
dd aB@focasCBiiPcv ; " 博麗靈夢(巫女さん) "
aPLAYCHAR_TYPE label dword
dd aNlfINumvmB@ ; " 広範囲攻撃型  "
dd aCIjcvcanBicvc@ ; " 霧雨魔理沙(魔法使い)"
dd aNumvcPdolm ; " 攻撃力重視型 "
aPLAYCHAR_SHOT label dword
dd aB@GtbGGvgzgbgg ; "  サーチショット  "
dd aGpgcghgvgzgbgg ; " ワイドショット "
dd aGcgkgebGwgzgug ; "イリュージョンレーザー"

View File

@ -599,12 +599,12 @@ sub_A7FE endp
sub_A826 proc near
push bp
mov bp, sp
add word_15004, 10h
cmp word_15004, 230h
add point_15004.x, 16
cmp point_15004.x, 560
jl short loc_A864
add word_15006, 10h
mov word_15004, 90h ; '・
cmp word_15006, 180h
add point_15004.y, 16
mov point_15004.x, 144
cmp point_15004.y, 384
jl short loc_A864
call sub_A8EC
cmp byte_14F8E, 0
@ -613,8 +613,8 @@ sub_A826 proc near
call sub_A92B
loc_A858:
mov word_15004, 50h ; 'P'
mov word_15006, 140h
mov point_15004.x, 80
mov point_15004.y, 320
loc_A864:
pop bp
@ -766,7 +766,7 @@ loc_A95C:
loc_A962:
call _input_reset_sense_held
push 240h
push word_15006
push point_15004.y
push 100010h
call bgimage_put_rect
or si, si
@ -778,7 +778,7 @@ loc_A962:
test _key_det.hi, high INPUT_CANCEL
jnz short loc_A9BD
push 240h
push word_15006
push point_15004.y
mov ax, di
shr ax, 3
and ax, 3
@ -843,9 +843,9 @@ loc_A9F2:
jmp word ptr cs:[bx+20h] ; switch jump
loc_A9F6:
add word_15006, 10h ; jumptable 0000A9F2 case 110
mov word_15004, 50h ; 'P'
cmp word_15006, 180h
add point_15004.y, 16 ; jumptable 0000A9F2 case 110
mov point_15004.x, 80
cmp point_15004.y, 384
jl loc_AF8F ; default
loc_AA0B:
@ -871,8 +871,8 @@ loc_AA3A:
inc word_14F88
loc_AA3E:
mov word_15004, 50h ; 'P'
mov word_15006, 140h
mov point_15004.x, 80
mov point_15004.y, 320
graph_accesspage 1
push 500140h
push 1E00040h
@ -901,7 +901,7 @@ loc_AA6A:
push ax
call sub_A738
mov al, byte ptr [bp+var_2]
mov byte_1500A, al
mov col_1500A, al
jmp loc_AF8F ; default
; ---------------------------------------------------------------------------
@ -1456,17 +1456,17 @@ word_AF96 dw 24h, 3Dh, 40h, 62h
sub_AFD6 proc near
var_A = word ptr -0Ah
var_8 = dword ptr -8
@@str = dword ptr -8
var_3 = word ptr -3
enter 0Ah, 0
push si
mov word ptr [bp+var_8+2], ds
mov word ptr [bp+var_8], 75Ah
mov word_15004, 50h ; 'P'
mov word_15006, 140h
mov word ptr [bp+@@str+2], ds
mov word ptr [bp+@@str], offset asc_1085A
mov point_15004.x, 80
mov point_15004.y, 320
mov word_15008, 2
mov byte_1500A, 0Fh
mov col_1500A, 15
mov _graph_putsa_fx_func, 2
mov byte_14F8E, 0
@ -1589,10 +1589,10 @@ loc_B0E2:
loc_B0F4:
graph_showpage 0
graph_accesspage 1
push word_15004
push word_15006
push point_15004.x
push point_15004.y
push [bp+var_3+1]
mov al, byte_1500A
mov al, col_1500A
mov ah, 0
push ax
call graph_gaiji_putc
@ -1600,16 +1600,16 @@ loc_B0F4:
; ---------------------------------------------------------------------------
loc_B118:
les bx, [bp+var_8]
les bx, [bp+@@str]
mov al, byte ptr [bp+var_3]
mov es:[bx], al
mov bx, word_14F88
mov al, [bx]
mov byte ptr [bp+var_3], al
mov bx, word ptr [bp+var_8]
mov bx, word ptr [bp+@@str]
mov es:[bx+1], al
inc word_14F88
cmp word_15004, 50h ; 'P'
cmp point_15004.x, 80
jnz short loc_B164
xor si, si
jmp short loc_B15B
@ -1619,11 +1619,11 @@ loc_B140:
mov bx, si
imul bx, 6
mov ax, [bx+4ED3h]
les bx, [bp+var_8]
les bx, [bp+@@str]
cmp ax, es:[bx]
jnz short loc_B15A
mov al, [si+4ECBh]
mov byte_1500A, al
mov col_1500A, al
jmp short loc_B164
; ---------------------------------------------------------------------------
@ -1639,12 +1639,12 @@ loc_B15B:
loc_B164:
graph_showpage 0
graph_accesspage 1
push word_15004
push word_15006
mov al, byte_1500A
push point_15004.x
push point_15004.y
mov al, col_1500A
mov ah, 0
push ax
pushd [bp+var_8]
pushd [bp+@@str]
call graph_putsa_fx
graph_accesspage 0
@ -1676,7 +1676,7 @@ word_B1A5 dw 21h, 3Fh, 68h, 74h
sub_B1B5 proc near
var_4 = dword ptr -4
@@str = dword ptr -4
enter 4, 0
push si
@ -1685,8 +1685,8 @@ var_4 = dword ptr -4
shl bx, 2
mov ax, word ptr (ALLCAST_PTRS+2)[bx]
mov dx, word ptr ALLCAST_PTRS[bx]
mov word ptr [bp+var_4+2], ax
mov word ptr [bp+var_4], dx
mov word ptr [bp+@@str+2], ax
mov word ptr [bp+@@str], dx
mov bx, allcast_screen_plus_one
add bx, bx
mov ax, word ptr ALLCAST_LINES_PER_SCREEN[bx]
@ -1704,17 +1704,9 @@ var_4 = dword ptr -4
; ---------------------------------------------------------------------------
loc_B1F7:
push 40h
push si
push 0Fh
pushd [bp+var_4]
call graph_putsa_fx
call graph_putsa_fx pascal, 64, si, 15, large [bp+@@str]
call sub_B37C
push 40h
push si
push 0Fh
pushd [bp+var_4]
call graph_putsa_fx
call graph_putsa_fx pascal, 64, si, 15, large [bp+@@str]
call sub_B37C
dec _graph_putsa_fx_func
inc di
@ -1723,17 +1715,9 @@ loc_B21E:
cmp di, 4
jl short loc_B1F7
mov _graph_putsa_fx_func, 2
push 40h
push si
push 0Fh
pushd [bp+var_4]
call graph_putsa_fx
call graph_putsa_fx pascal, 64, si, 15, large [bp+@@str]
call sub_B37C
push 40h
push si
push 0Fh
pushd [bp+var_4]
call graph_putsa_fx
call graph_putsa_fx pascal, 64, si, 15, large [bp+@@str]
call sub_B37C
inc allcast_step
inc allcast_line_on_screen
@ -3889,16 +3873,8 @@ loc_C2BB:
mov ah, 0
push ax
call sub_BCD3
push 7C00C4h
push 9
push ds
push offset aGxgnbGvbGhvVGv
call graph_putsa_fx
push 7800C0h
push 2
push ds
push offset aGxgnbGvbGhvV_0
call graph_putsa_fx
call graph_putsa_fx pascal, (124 shl 16) or 196, 9, ds, offset aGxgnbGvbGhvVGv
call graph_putsa_fx pascal, (120 shl 16) or 192, 2, ds, offset aGxgnbGvbGhvV_0
loc_C2EB:
call bgimage_snap
@ -4306,7 +4282,7 @@ loc_C658:
push ss
lea ax, [bp+var_4]
push ax
push word_116E4
push col_116E4
call graph_gaiji_puts
pop si
leave
@ -4325,7 +4301,7 @@ var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = dword ptr 4
arg_4 = word ptr 8
@@y = word ptr 8
arg_6 = word ptr 0Ah
enter 0Ch, 0
@ -4392,20 +4368,15 @@ loc_C6F1:
jle short loc_C6B9
mov [bp+var_3], 0
push di
push [bp+arg_4]
push 10h
push [bp+@@y]
push 16
push ss
lea ax, [bp+var_C]
push ax
push word_116E4
push col_116E4
call graph_gaiji_puts
lea ax, [di+90h]
push ax
push [bp+arg_4]
push word_116E4
push ds
push offset aU__0
call graph_putsa_fx
lea ax, [di+144]
call graph_putsa_fx pascal, ax, [bp+@@y], col_116E4, ds, offset aU__0
pop di
pop si
leave
@ -4503,26 +4474,16 @@ loc_C7B6:
div ebx
mov [bp+var_2], ax
mov byte_11713, 1
lea ax, [si+30h]
lea ax, [si+48]
push ax
push di
push [bp+var_2]
call sub_C5E7
mov byte_11713, 0
lea ax, [si+30h]
push ax
push di
push word_116E4
push ds
push offset aBd
call graph_putsa_fx
lea ax, [si+60h]
push ax
push di
push word_116E4
push ds
push offset aBu
call graph_putsa_fx
lea ax, [si+48]
call graph_putsa_fx pascal, ax, di, col_116E4, ds, offset aBd
lea ax, [si+96]
call graph_putsa_fx pascal, ax, di, col_116E4, ds, offset aBu
pop di
pop si
leave
@ -4538,14 +4499,14 @@ sub_C835 proc near
var_2 = word ptr -2
arg_0 = dword ptr 4
arg_4 = word ptr 8
@@y = word ptr 8
arg_6 = word ptr 0Ah
enter 2, 0
push si
push di
mov si, [bp+arg_6]
mov di, [bp+arg_4]
mov di, [bp+@@y]
mov eax, [bp+arg_0]
mov ebx, 2710h
xor edx, edx
@ -4566,19 +4527,14 @@ arg_6 = word ptr 0Ah
div ebx
mov [bp+var_2], ax
mov byte_11713, 1
lea ax, [si+30h]
lea ax, [si+48]
push ax
push di
push [bp+var_2]
call sub_C5E7
mov byte_11713, 0
lea ax, [si+30h]
push ax
push di
push word_116E4
push ds
push offset aBd_0
call graph_putsa_fx
lea ax, [si+48]
call graph_putsa_fx pascal, ax, di, col_116E4, ds, offset aBd_0
pop di
pop si
leave
@ -4702,21 +4658,21 @@ loc_C9B3:
imul eax, 64h
mov [bp+var_4], eax
add dword_1517E, eax
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 0D8h
mov ax, y_116E8
add ax, 216
push ax
pushd [bp+var_4]
call sub_C835
mov ax, word_116E2
add ax, 110h
mov ax, x_116E2
add ax, 272
push ax
mov ax, word_116E8
add ax, 0D8h
mov ax, y_116E8
add ax, 216
push ax
push word_116E4
push col_116E4
push ds
push offset aBu_0
call graph_putsa_fx
@ -4840,97 +4796,92 @@ var_4 = dword ptr -4
push si
mov dword_1517E, 0
mov _graph_putsa_fx_func, 2
push word_116E2
push word_116E8
push word_116E4
push ds
push offset aB@b@b@b@b@b@b@ ; "        腕前判定"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 18h
call graph_putsa_fx pascal, x_116E2, y_116E8, col_116E4, ds, offset aB@b@b@b@b@b@b@ ; "        腕前判定"
push x_116E2
mov ax, y_116E8
add ax, 24
push ax
push word_116E4
push col_116E4
push ds
push offset aUqiUx ; "難易度"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 30h ; '0'
push x_116E2
mov ax, y_116E8
add ax, 48
push ax
push word_116E4
push col_116E4
push ds
push offset aNPiuU_ ; "最終得点"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 48h ; 'H'
push x_116E2
mov ax, y_116E8
add ax, 72
push ax
push word_116E4
push col_116E4
push ds
push offset aGGxi
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 60h
push x_116E2
mov ax, y_116E8
add ax, 96
push ax
push word_116E4
push col_116E4
push ds
push offset aGGaogcpi
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 78h ; 'x'
push x_116E2
mov ax, y_116E8
add ax, 120
push ax
push word_116E4
push col_116E4
push ds
push offset aGqbGatbrmcj ; "ゲーム達成率"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 90h ; '・
push x_116E2
mov ax, y_116E8
add ax, 144
push ax
push word_116E4
push col_116E4
push ds
push offset aIlcSObcj ; "悪霊退治率"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0A8h ; 'ィ'
push x_116E2
mov ax, y_116E8
add ax, 168
push ax
push word_116E4
push col_116E4
push ds
push offset aGagcgegai
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0C0h
push x_116E2
mov ax, y_116E8
add ax, 192
push ax
push word_116E4
push col_116E4
push ds
push offset aUU_gagcgeganNv ; "得点アイテム最高点率"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0D8h
push x_116E2
mov ax, y_116E8
add ax, 216
push ax
push word_116E4
push col_116E4
push ds
push offset aLcnzvv ; "気合い"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0F0h ; '・
push x_116E2
mov ax, y_116E8
add ax, 240
push ax
push word_116E4
push col_116E4
push ds
push offset aPicacovCj ; "処理落ち率"
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 110h
push x_116E2
mov ax, y_116E8
add ax, 272
push ax
push word_116E4
push col_116E4
push ds
push offset aVavVVSrso ; "あなたの腕前"
call graph_putsa_fx
@ -4947,11 +4898,11 @@ loc_CBDB:
loc_CBE3:
mov _verdict_rank, al
mov ax, word_116E2
add ax, 0A0h
mov ax, x_116E2
add ax, 160
push ax
mov ax, word_116E8
add ax, 18h
mov ax, y_116E8
add ax, 24
push ax
push 10h
push ds
@ -4960,58 +4911,58 @@ loc_CBE3:
shl ax, 3
add ax, offset grEASY
push ax
push word_116E4
push col_116E4
call graph_gaiji_puts
mov ax, word_116E2
add ax, 80h
mov ax, x_116E2
add ax, 128
push ax
mov ax, word_116E8
add ax, 30h ; '0'
mov ax, y_116E8
add ax, 48
push ax
mov ax, word ptr _ksoconfig
add ax, 20h ; ' '
push word ptr _ksoconfig+2
push ax
call sub_C67F
mov ax, word_116E2
add ax, 0E0h ; '・
mov ax, x_116E2
add ax, 224
push ax
mov ax, word_116E8
add ax, 48h ; 'H'
mov ax, y_116E8
add ax, 72
push ax
les bx, _ksoconfig
mov al, es:[bx+1Bh]
mov ah, 0
push ax
call sub_C5E7
mov ax, word_116E2
add ax, 0E0h ; '・
mov ax, x_116E2
add ax, 224
push ax
mov ax, word_116E8
add ax, 60h
mov ax, y_116E8
add ax, 96
push ax
les bx, _ksoconfig
mov al, es:[bx+1Ch]
mov ah, 0
push ax
call sub_C5E7
mov ax, word_116E2
add ax, 110h
mov ax, x_116E2
add ax, 272
push ax
mov ax, word_116E8
add ax, 48h ; 'H'
mov ax, y_116E8
add ax, 72
push ax
push word_116E4
push col_116E4
push ds
push offset aI
call graph_putsa_fx
mov ax, word_116E2
add ax, 110h
mov ax, x_116E2
add ax, 272
push ax
mov ax, word_116E8
add ax, 60h
mov ax, y_116E8
add ax, 96
push ax
push word_116E4
push col_116E4
push ds
push offset aI_0
call graph_putsa_fx
@ -5024,11 +4975,11 @@ loc_CBE3:
mov word ptr es:[bx+2Ch], 0B3B0h
loc_CCB3:
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 78h ; 'x'
mov ax, y_116E8
add ax, 120
push ax
push 0B3B0h
jmp short loc_CCE8
@ -5041,11 +4992,11 @@ loc_CCC6:
mov word ptr es:[bx+2Ch], 3200h
loc_CCD7:
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 78h ; 'x'
mov ax, y_116E8
add ax, 120
push ax
push 3200h
@ -5054,31 +5005,31 @@ loc_CCE8:
push word ptr es:[bx+2Ch]
call sub_C729
mov byte_1517C, 0
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 90h ; '・
mov ax, y_116E8
add ax, 144
push ax
les bx, _ksoconfig
push word ptr es:[bx+36h]
push word ptr es:[bx+38h]
call sub_C729
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 0A8h ; 'ィ'
mov ax, y_116E8
add ax, 168
push ax
les bx, _ksoconfig
push word ptr es:[bx+2Eh]
push word ptr es:[bx+30h]
call sub_C729
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 0C0h
mov ax, y_116E8
add ax, 192
push ax
les bx, _ksoconfig
push word ptr es:[bx+32h]
@ -5086,11 +5037,11 @@ loc_CCE8:
call sub_C729
call sub_C8AE
mov byte_116EA, 1
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 0F0h ; '・
mov ax, y_116E8
add ax, 240
push ax
les bx, _ksoconfig
mov eax, es:[bx+40h]
@ -5320,21 +5271,21 @@ loc_D01A:
shr eax, 1
cmp eax, es:[bx+3Ch]
jbe loc_D120
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 110h
mov ax, y_116E8
add ax, 272
push ax
pushd [dword_1517E]
call sub_C835
mov ax, word_116E2
add ax, 110h
mov ax, x_116E2
add ax, 272
push ax
mov ax, word_116E8
add ax, 110h
mov ax, y_116E8
add ax, 272
push ax
push word_116E4
push col_116E4
push ds
push offset aU_
call graph_putsa_fx
@ -5412,21 +5363,21 @@ loc_D0E1:
; ---------------------------------------------------------------------------
loc_D120:
mov ax, word_116E2
add ax, 0B0h ; 'ー'
mov ax, x_116E2
add ax, 176
push ax
mov ax, word_116E8
add ax, 110h
mov ax, y_116E8
add ax, 272
push ax
push word_116E4
push col_116E4
push ds
push offset aBhbhbhbhbhbhu_ ; "??????点"
call graph_putsa_fx
mov ax, word_116E2
add ax, 30h ; '0'
mov ax, x_116E2
add ax, 48
push ax
mov ax, word_116E8
add ax, 128h
mov ax, y_116E8
add ax, 296
push ax
push word_116E6
push ds
@ -5461,21 +5412,21 @@ sub_D16F proc near
mov bp, sp
cmp byte_15187, 0
jz short loc_D1AF
mov ax, word_116E2
add ax, 30h ; '0'
mov ax, x_116E2
add ax, 48
push ax
mov ax, word_116E8
add ax, 128h
mov ax, y_116E8
add ax, 296
push ax
push word_116E6
push ds
push offset byte_15187
call graph_putsa_fx
mov ax, word_116E2
add ax, 30h ; '0'
mov ax, x_116E2
add ax, 48
push ax
mov ax, word_116E8
add ax, 138h
mov ax, y_116E8
add ax, 312
push ax
push word_116E6
push ds
@ -5531,68 +5482,68 @@ var_2 = word ptr -2
enter 2, 0
push si
push di
push word_116E2
mov ax, word_116E8
add ax, 40h
push x_116E2
mov ax, y_116E8
add ax, 64
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vpcB@ ; " 1面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 60h
push x_116E2
mov ax, y_116E8
add ax, 96
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vqcB@ ; " 2面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 80h
push x_116E2
mov ax, y_116E8
add ax, 128
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vrcB@ ; " 3面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0A0h
push x_116E2
mov ax, y_116E8
add ax, 160
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vscB@ ; " 4面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0C0h
push x_116E2
mov ax, y_116E8
add ax, 192
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vtcB@ ; " 5面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 0E0h ; '・
push x_116E2
mov ax, y_116E8
add ax, 224
push ax
push word_116E4
push col_116E4
push ds
push offset aB@vucB@ ; " 6面 "
call graph_putsa_fx
push word_116E2
mov ax, word_116E8
add ax, 120h
push x_116E2
mov ax, y_116E8
add ax, 288
push ax
push word_116E4
push col_116E4
push ds
push offset aNPiuU__0 ; "最終得点"
call graph_putsa_fx
mov ax, word_116E2
add ax, 80h
mov ax, x_116E2
add ax, 128
mov [bp+var_2], ax
xor si, si
mov ax, word_116E8
add ax, 40h
mov ax, y_116E8
add ax, 64
mov di, ax
jmp short loc_D2FE
; ---------------------------------------------------------------------------
@ -5615,8 +5566,8 @@ loc_D2FE:
cmp si, 6
jl short loc_D2E0
push [bp+var_2]
mov ax, word_116E8
add ax, 120h
mov ax, y_116E8
add ax, 288
push ax
mov ax, word ptr _ksoconfig
add ax, 20h ; ' '
@ -7761,10 +7712,10 @@ var_2 = word ptr -2
enter 4, 0
push si
push di
mov word_116E2, 20h ; ' '
mov word_116E4, 0Dh
mov x_116E2, 32
mov col_116E4, 13
mov word_116E6, 0Dh
mov word_116E8, 10h
mov y_116E8, 16
mov PaletteTone, 0
call far ptr palette_show
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
@ -8224,10 +8175,8 @@ byte_10830 db 0
db 0FFh
db 0FFh
db 0FFh
db 20h
db 20h
db 0
db 0
asc_1085A db ' ', 0
even
byte_1085E db 0
db 0
dd aExed01_pi ; "EXED01.pi"
@ -8474,10 +8423,10 @@ aGxgnbGvbGhvVGv db '
aGxgnbGvbGhvV_0 db 'スローモードでのプレイでは、スコアは記録されません',0
aName db 'name',0
db 0
word_116E2 dw 150h
word_116E4 dw 2
x_116E2 dw 336
col_116E4 dw 2
word_116E6 dw 6
word_116E8 dw 30h
y_116E8 dw 48
byte_116EA db 0
include th04/strings/verdict[data].asm
byte_11713 db 0
@ -10662,10 +10611,9 @@ byte_14F8E db ?
dd ? ;
dd ? ;
db ? ;
word_15004 dw ?
word_15006 dw ?
point_15004 Point <?>
word_15008 dw ?
byte_1500A db ?
col_1500A db ?
db ?
word_1500C dw ?
measure_1500E dw ?

View File

@ -524,17 +524,17 @@ loc_A69A:
mov _graph_putsa_fx_func, 2
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr MENU_DESC[bx] ; s
pushd _MENU_DESC[bx]
call _strlen
add sp, 4
shl ax, 3
mov dx, 270h
mov dx, 624
sub dx, ax
push dx
push 1800009h
push (384 shl 16) or 9
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr MENU_DESC[bx]
pushd _MENU_DESC[bx]
call graph_putsa_fx
loc_A705:
@ -757,17 +757,17 @@ loc_A900:
mov _graph_putsa_fx_func, 2
mov bx, si
shl bx, 2
pushd dword ptr MENU_DESC[bx] ; s
pushd _MENU_DESC[bx]
call _strlen
add sp, 4
shl ax, 3
mov dx, 270h
mov dx, 624
sub dx, ax
push dx
push 1800009h
push (384 shl 16) or 9
mov bx, si
shl bx, 2
pushd dword ptr MENU_DESC[bx]
pushd _MENU_DESC[bx]
call graph_putsa_fx
loc_A951:
@ -1818,11 +1818,7 @@ var_2 = word ptr -2
mov word_12F30, 1Ch
push 600050h
call sub_B1BA
push 700058h
push 0Fh
push ds
push offset aSETUP_BGM_HEAD ; "     使用する音源を選択して下さい・...
call graph_putsa_fx
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
@ -2489,8 +2485,8 @@ loc_BF14:
mov dx, word ptr _MUSIC_TITLES[bx]
mov [bp+var_2], ax
mov [bp+var_4], dx
add si, 60h
push 0Ch
add si, 96
push 12
push si
mov al, [bp+var_5]
mov ah, 0
@ -2544,15 +2540,9 @@ loc_BF6B:
add ax, 2
cmp ax, si
jg short loc_BF55
push 0C0050h
push 5
pushd [MUSICROOM_UP]
call graph_putsa_fx
push 0C0120h
push 5
pushd [MUSICROOM_DOWN]
call graph_putsa_fx
push 0C0020h
call graph_putsa_fx pascal, (12 shl 16) or 80, 5, large [MUSICROOM_UP]
call graph_putsa_fx pascal, (12 shl 16) or 288, 5, large [MUSICROOM_DOWN]
push (12 shl 16) or 32
push 3
mov bx, music_game
shl bx, 2
@ -2575,11 +2565,7 @@ draw_cmt_lines proc pascal near
push si
push di
push 1400020h
push 7
push ds
push offset _music_cmt
call graph_putsa_fx
call graph_putsa_fx pascal, (320 shl 16) or 32, 7, ds, offset _music_cmt
mov si, offset _music_cmt + MUSIC_CMT_LINE_LEN
mov di, 1
mov @@y, 180
@ -2589,12 +2575,7 @@ draw_cmt_lines proc pascal near
loc_C351:
cmp byte ptr [si], ';'
jz short loc_C365
push 320
push @@y
push 7
push ds
push si
call graph_putsa_fx
call graph_putsa_fx pascal, 320, @@y, 7, ds, si
loc_C365:
inc di
@ -4428,7 +4409,8 @@ op_02_TEXT ends
_menu_sel db 0
_quit db 0
_main_menu_unused_1 db 1
MENU_DESC dd aMENU_START ; "ゲームを開始します"
public _MENU_DESC
_MENU_DESC dd aMENU_START ; "ƒQ<C692>[ƒ€ðŠJŽnµÜ·"
dd aMENU_START_EXTRA ; "エキストラステージを開始します"
dd aMENU_HISCORE ; "現在のハイスコアを表\示します"
dd aMENU_MUSICROOM ; "音楽室に入ります"