allows negative vertical offsets in credits
This commit is contained in:
parent
b1e9b4d1c3
commit
f2158589ba
|
@ -0,0 +1,108 @@
|
||||||
|
; ActionCredit_Read
|
||||||
|
|
||||||
|
offset 0040d684
|
||||||
|
|
||||||
|
#define
|
||||||
|
var_a=ebp-30
|
||||||
|
len=ebp-34
|
||||||
|
var_text=ebp-2c
|
||||||
|
|
||||||
|
Credit.pData=49d614
|
||||||
|
Credit.offset=49d618
|
||||||
|
Credit.wait=49d61c
|
||||||
|
Credit.start_x=49d624
|
||||||
|
|
||||||
|
_memcpy=4813c0
|
||||||
|
GetScriptNumber=40db00
|
||||||
|
SetStripper=40d150
|
||||||
|
IsShiftJIS=410e90
|
||||||
|
#enddefine
|
||||||
|
|
||||||
|
mov ecx,[Credit.offset]
|
||||||
|
inc ecx
|
||||||
|
mov [Credit.offset],ecx
|
||||||
|
mov [var_a],ecx
|
||||||
|
|
||||||
|
:loop
|
||||||
|
mov eax,[Credit.pData]
|
||||||
|
add eax,[var_a]
|
||||||
|
movsx ecx,BYTE [eax]
|
||||||
|
cmp ecx,5d
|
||||||
|
je :break
|
||||||
|
push ecx
|
||||||
|
call IsShiftJIS
|
||||||
|
pop ecx
|
||||||
|
mov ecx,[var_a]
|
||||||
|
test eax,eax
|
||||||
|
je :notShiftJIS
|
||||||
|
inc ecx
|
||||||
|
:notShiftJIS
|
||||||
|
inc ecx
|
||||||
|
mov [var_a],ecx
|
||||||
|
jmp :loop
|
||||||
|
|
||||||
|
:break
|
||||||
|
; len = a - Credit.offset
|
||||||
|
mov edx,[var_a]
|
||||||
|
sub edx,[Credit.offset]
|
||||||
|
mov [len],edx
|
||||||
|
|
||||||
|
push edx ; Arg3 = len
|
||||||
|
|
||||||
|
mov ecx,[Credit.pData]
|
||||||
|
add ecx,[Credit.offset]
|
||||||
|
push ecx ; Arg2 = &Credit.pData[Credit.offset]
|
||||||
|
|
||||||
|
lea ecx,[var_text]
|
||||||
|
push ecx ; Arg1 = text
|
||||||
|
|
||||||
|
call _memcpy
|
||||||
|
add esp,0c
|
||||||
|
|
||||||
|
; text[len] = '\0'
|
||||||
|
mov ecx,[len]
|
||||||
|
mov [ecx+var_text],0
|
||||||
|
|
||||||
|
; Credit.offset = a+1
|
||||||
|
mov eax,[var_a]
|
||||||
|
inc eax
|
||||||
|
mov [Credit.offset],eax
|
||||||
|
|
||||||
|
|
||||||
|
add eax,[Credit.pData]
|
||||||
|
push eax ; Arg1 = &Credit.pData[Credit.offset]
|
||||||
|
call GetScriptNumber
|
||||||
|
; len = GetScriptNumber
|
||||||
|
mov [len],eax
|
||||||
|
pop ecx
|
||||||
|
|
||||||
|
push eax ; Arg4 = len
|
||||||
|
|
||||||
|
lea eax,[var_text]
|
||||||
|
push eax ; Arg3 = text
|
||||||
|
|
||||||
|
mov edx,1f000
|
||||||
|
mov eax,[Credit.wait]
|
||||||
|
cmp eax,0
|
||||||
|
jge :more
|
||||||
|
imul eax,eax,200
|
||||||
|
add edx,eax
|
||||||
|
:more
|
||||||
|
push edx
|
||||||
|
|
||||||
|
mov eax,[Credit.start_x]
|
||||||
|
push eax ; Arg1 = Credit.start_x
|
||||||
|
|
||||||
|
call SetStripper
|
||||||
|
add esp,10
|
||||||
|
|
||||||
|
; Credit.wait = 0
|
||||||
|
mov [Credit.wait],0
|
||||||
|
|
||||||
|
; Credit.offset += 0
|
||||||
|
mov eax,[Credit.offset]
|
||||||
|
add eax,4
|
||||||
|
mov [Credit.offset],eax
|
||||||
|
jmp 0040da6a
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -958,153 +958,83 @@ l2069
|
||||||
l3000
|
l3000
|
||||||
-0048
|
-0048
|
||||||
f7001:3002f7000:3001
|
f7001:3002f7000:3001
|
||||||
+0030[N.A]0221j3003
|
-0000+0030[N.A]0221j3003
|
||||||
l3001
|
l3001
|
||||||
+0030[Pol]0208j3003
|
-0000+0030[Pol]0208j3003
|
||||||
l3002
|
l3002
|
||||||
+0030[Spu]0216j3003
|
-0000+0030[Spu]0216j3003
|
||||||
|
|
||||||
l3003
|
l3003
|
||||||
f7009:3005f7008:3004
|
f7009:3005f7008:3004
|
||||||
+0070[N.A]0222j3006
|
-000.+0070[N.A]0222j3006
|
||||||
l3004
|
l3004
|
||||||
+0070[Mis]0209j3006
|
-000.+0070[Mis]0209j3006
|
||||||
l3005
|
l3005
|
||||||
+0070[Sup]0217j3006
|
-000.+0070[Sup]0217j3006
|
||||||
|
|
||||||
l3006
|
l3006
|
||||||
f7005:3007
|
f7005:3007
|
||||||
+0110[N.A]0223j3008
|
-000,+0110[N.A]0223j3008
|
||||||
l3007
|
l3007
|
||||||
+0110[M.G]0210j3008
|
-000,+0110[M.G]0210j3008
|
||||||
|
|
||||||
l3008
|
l3008
|
||||||
f7004:3009
|
f7004:3009
|
||||||
+0150[N.A]0224j3010
|
-000*+0150[N.A]0224j3010
|
||||||
l3009
|
l3009
|
||||||
+0150[Bub]0211j3010
|
-000*+0150[Bub]0211j3010
|
||||||
|
|
||||||
l3010
|
l3010
|
||||||
f7002:3011
|
f7002:3011
|
||||||
+0190[N.A]0225j3012
|
-000(+0190[N.A]0225j3012
|
||||||
l3011
|
l3011
|
||||||
+0190[FiB]0212j3012
|
-000(+0190[FiB]0212j3012
|
||||||
|
|
||||||
l3012
|
l3012
|
||||||
f7003:3013
|
f7003:3013
|
||||||
+0230[N.A]0226j3014
|
-000&+0230[N.A]0226j3014
|
||||||
l3013
|
l3013
|
||||||
+0230[Snk]0213j3014
|
-000&+0230[Snk]0213j3014
|
||||||
|
|
||||||
l3014
|
l3014
|
||||||
f7006:3015
|
f7006:3015
|
||||||
+0270[N.A]0227j3016
|
-000$+0270[N.A]0227j3016
|
||||||
l3015
|
l3015
|
||||||
+0270[Bld]0214j3016
|
-000$+0270[Bld]0214j3016
|
||||||
|
|
||||||
l3016
|
l3016
|
||||||
f7007:3017
|
f7007:3017
|
||||||
+0310[N.A]0228j3018
|
-000"+0310[N.A]0228j3018
|
||||||
l3017
|
l3017
|
||||||
+0310[Nem]0215j3018
|
-000"+0310[Nem]0215j3018
|
||||||
|
|
||||||
l3018
|
l3018
|
||||||
-0096
|
-0096
|
||||||
+0050[pup?]0132
|
-0000+0050[pup?]0132
|
||||||
+0100[pup?]0155
|
-000.+0100[pup?]0155
|
||||||
+0150[pup?]0168
|
-000,+0150[pup?]0168
|
||||||
+0200[pup?]0181
|
-000*+0200[pup?]0181
|
||||||
+0250[pup?]0194
|
-000(+0250[pup?]0194
|
||||||
-0024
|
-0024
|
||||||
+0050[pup?]0132
|
-0000+0050[pup?]0132
|
||||||
+0100[pup?]0155
|
-000.+0100[pup?]0155
|
||||||
+0150[pup?]0168
|
-000,+0150[pup?]0168
|
||||||
+0200[pup?]0181
|
-000*+0200[pup?]0181
|
||||||
+0250[pup?]0194
|
-000(+0250[pup?]0194
|
||||||
-0024
|
-0024
|
||||||
+0050[pup?]0132
|
-0000+0050[pup?]0132
|
||||||
+0100[pup?]0155
|
-000.+0100[pup?]0155
|
||||||
+0150[pup?]0168
|
-000,+0150[pup?]0168
|
||||||
+0200[pup?]0181
|
-000*+0200[pup?]0181
|
||||||
+0250[pup?]0194
|
-000(+0250[pup?]0194
|
||||||
-0024
|
-0024
|
||||||
+0050[pup?]0132
|
-0000+0050[pup?]0132
|
||||||
+0100[pup?]0155
|
-000.+0100[pup?]0155
|
||||||
+0150[pup?]0168
|
-000,+0150[pup?]0168
|
||||||
+0200[pup?]0181
|
-000*+0200[pup?]0181
|
||||||
+0250[pup?]0194
|
-000(+0250[pup?]0194
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
|
||||||
+0050[pup?]0132
|
|
||||||
+0100[pup?]0155
|
|
||||||
+0150[pup?]0168
|
|
||||||
+0200[pup?]0181
|
|
||||||
+0250[pup?]0194
|
|
||||||
-0024
|
-0024
|
||||||
|
|
||||||
|
-0096
|
||||||
/
|
/
|
||||||
j0999
|
j0999
|
Loading…
Reference in New Issue