mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2024-11-08 07:54:31 +00:00
allows negative vertical offsets in credits
This commit is contained in:
parent
b1e9b4d1c3
commit
f2158589ba
108
cs-hacks/NegativeVerticalCreditOffset/ActionCredit_Read.txt
Normal file
108
cs-hacks/NegativeVerticalCreditOffset/ActionCredit_Read.txt
Normal file
|
@ -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
|
||||
-0048
|
||||
f7001:3002f7000:3001
|
||||
+0030[N.A]0221j3003
|
||||
-0000+0030[N.A]0221j3003
|
||||
l3001
|
||||
+0030[Pol]0208j3003
|
||||
-0000+0030[Pol]0208j3003
|
||||
l3002
|
||||
+0030[Spu]0216j3003
|
||||
-0000+0030[Spu]0216j3003
|
||||
|
||||
l3003
|
||||
f7009:3005f7008:3004
|
||||
+0070[N.A]0222j3006
|
||||
-000.+0070[N.A]0222j3006
|
||||
l3004
|
||||
+0070[Mis]0209j3006
|
||||
-000.+0070[Mis]0209j3006
|
||||
l3005
|
||||
+0070[Sup]0217j3006
|
||||
-000.+0070[Sup]0217j3006
|
||||
|
||||
l3006
|
||||
f7005:3007
|
||||
+0110[N.A]0223j3008
|
||||
-000,+0110[N.A]0223j3008
|
||||
l3007
|
||||
+0110[M.G]0210j3008
|
||||
-000,+0110[M.G]0210j3008
|
||||
|
||||
l3008
|
||||
f7004:3009
|
||||
+0150[N.A]0224j3010
|
||||
-000*+0150[N.A]0224j3010
|
||||
l3009
|
||||
+0150[Bub]0211j3010
|
||||
-000*+0150[Bub]0211j3010
|
||||
|
||||
l3010
|
||||
f7002:3011
|
||||
+0190[N.A]0225j3012
|
||||
-000(+0190[N.A]0225j3012
|
||||
l3011
|
||||
+0190[FiB]0212j3012
|
||||
-000(+0190[FiB]0212j3012
|
||||
|
||||
l3012
|
||||
f7003:3013
|
||||
+0230[N.A]0226j3014
|
||||
-000&+0230[N.A]0226j3014
|
||||
l3013
|
||||
+0230[Snk]0213j3014
|
||||
-000&+0230[Snk]0213j3014
|
||||
|
||||
l3014
|
||||
f7006:3015
|
||||
+0270[N.A]0227j3016
|
||||
-000$+0270[N.A]0227j3016
|
||||
l3015
|
||||
+0270[Bld]0214j3016
|
||||
-000$+0270[Bld]0214j3016
|
||||
|
||||
l3016
|
||||
f7007:3017
|
||||
+0310[N.A]0228j3018
|
||||
-000"+0310[N.A]0228j3018
|
||||
l3017
|
||||
+0310[Nem]0215j3018
|
||||
-000"+0310[Nem]0215j3018
|
||||
|
||||
l3018
|
||||
-0096
|
||||
+0050[pup?]0132
|
||||
+0100[pup?]0155
|
||||
+0150[pup?]0168
|
||||
+0200[pup?]0181
|
||||
+0250[pup?]0194
|
||||
-0000+0050[pup?]0132
|
||||
-000.+0100[pup?]0155
|
||||
-000,+0150[pup?]0168
|
||||
-000*+0200[pup?]0181
|
||||
-000(+0250[pup?]0194
|
||||
-0024
|
||||
+0050[pup?]0132
|
||||
+0100[pup?]0155
|
||||
+0150[pup?]0168
|
||||
+0200[pup?]0181
|
||||
+0250[pup?]0194
|
||||
-0000+0050[pup?]0132
|
||||
-000.+0100[pup?]0155
|
||||
-000,+0150[pup?]0168
|
||||
-000*+0200[pup?]0181
|
||||
-000(+0250[pup?]0194
|
||||
-0024
|
||||
+0050[pup?]0132
|
||||
+0100[pup?]0155
|
||||
+0150[pup?]0168
|
||||
+0200[pup?]0181
|
||||
+0250[pup?]0194
|
||||
-0000+0050[pup?]0132
|
||||
-000.+0100[pup?]0155
|
||||
-000,+0150[pup?]0168
|
||||
-000*+0200[pup?]0181
|
||||
-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
|
||||
+0050[pup?]0132
|
||||
+0100[pup?]0155
|
||||
+0150[pup?]0168
|
||||
+0200[pup?]0181
|
||||
+0250[pup?]0194
|
||||
-0000+0050[pup?]0132
|
||||
-000.+0100[pup?]0155
|
||||
-000,+0150[pup?]0168
|
||||
-000*+0200[pup?]0181
|
||||
-000(+0250[pup?]0194
|
||||
-0024
|
||||
|
||||
-0096
|
||||
/
|
||||
j0999
|
Loading…
Reference in a new issue