1156 lines
32 KiB
ArmAsm
1156 lines
32 KiB
ArmAsm
# Most original codes by Ralf @ GC-Forever and Aleron Ives, except where noted
|
|
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
|
|
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
|
# Xbox ports by fuzziqersoftware
|
|
# TODO: Port the rest of the GC patches to Xbox
|
|
|
|
.meta visibility="all"
|
|
.meta name="Bug fixes"
|
|
.meta description="Fixes many minor\ngameplay, sound,\nand graphical bugs"
|
|
|
|
|
|
entry_ptr:
|
|
reloc0:
|
|
.offsetof start
|
|
start:
|
|
.include WriteCodeBlocks
|
|
|
|
|
|
|
|
|
|
# Olga Flow Barta Bug Fix (makes barta work on ice weakness Olga Flow instead of damaging player)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g1_hook_call, <VERS 0x802BB4B0 0x802BC3E0 0x802BD528 0x802BD2C0 0x802BBEF4 0x802BBF38 0x802BD474 0x802BCC08>
|
|
.label g1_hook_loc, 0x8000D980
|
|
.data g1_hook_loc
|
|
.deltaof g1_hook_start, g1_hook_end
|
|
.address g1_hook_loc
|
|
g1_hook_start:
|
|
lwz r3, [r28]
|
|
cmpwi r3, 19
|
|
bnelr
|
|
li r3, 0x0002
|
|
blr
|
|
g1_hook_end:
|
|
|
|
.data g1_hook_call
|
|
.data 4
|
|
.address g1_hook_call
|
|
bl g1_hook_loc
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.label g1_hook_call, <VERS 0x000970E0 0x000973F0 0x00097460 0x00097140 0x000970E0 0x00097160 0x00096FE0>
|
|
.label g1_hook_loc, <VERS 0x00097124 0x00097434 0x000974A4 0x00097184 0x00097124 0x000971A4 0x00097024>
|
|
.data g1_hook_call
|
|
.data 6
|
|
.address g1_hook_call
|
|
mov eax, esi
|
|
cmp al, 19
|
|
jmp g1_hook_loc
|
|
g1_hook_call_end:
|
|
.data g1_hook_loc
|
|
.deltaof g1_hook_start, g1_hook_end
|
|
.address g1_hook_loc
|
|
g1_hook_start:
|
|
jne g1_hook_skip_replace_value
|
|
mov al, 2
|
|
g1_hook_skip_replace_value:
|
|
cmp eax, [ebx + 0x440] // Original opcode
|
|
jmp g1_hook_call_end
|
|
g1_hook_end:
|
|
|
|
|
|
|
|
# Morfos Frozen Player Bug Fix (stops Morfos Laser multi-hitting when player is frozen)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g2_hook_call, <VERS 0x80335060 0x803360CC 0x803375E8 0x8033739C 0x80335A50 0x80335A94 0x80337570 0x803369B4>
|
|
.label g2_hook_loc, 0x8000D9A0
|
|
.data g2_hook_loc
|
|
.deltaof g2_hook_start, g2_hook_end
|
|
.address g2_hook_loc
|
|
g2_hook_start:
|
|
lfs f2, [r2 - <VERS 0x0388 0x0380 0x0380 0x0380 0x0378 0x0378 0x0378 0x0378>]
|
|
lwz r3, [r30 + 0x0030]
|
|
andi. r3, r3, 0x0020
|
|
beqlr
|
|
lfs f2, [r2 - <VERS 0x0370 0x0368 0x0368 0x0368 0x0360 0x0360 0x0360 0x0360>]
|
|
blr
|
|
g2_hook_end:
|
|
|
|
.data g2_hook_call
|
|
.data 4
|
|
.address g2_hook_call
|
|
bl g2_hook_loc
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.label g2_hook_call, <VERS 0x0012E257 0x0012E387 0x0012E4E7 0x0012E537 0x0012E567 0x0012E557 0x0012E5A7>
|
|
.label g2_hook_loc1, <VERS 0x0012E5F4 0x0012E724 0x0012E884 0x0012E8D4 0x0012E904 0x0012E8F4 0x0012E944>
|
|
.label g2_hook_loc2, <VERS 0x0012E622 0x0012E752 0x0012E8B2 0x0012E902 0x0012E932 0x0012E922 0x0012E972>
|
|
.data g2_hook_call
|
|
.data 6
|
|
.address g2_hook_call
|
|
call g2_hook_loc1
|
|
nop
|
|
.data g2_hook_loc1
|
|
.deltaof g2_hook_start1, g2_hook_end1
|
|
.address g2_hook_loc1
|
|
g2_hook_start1:
|
|
fld1 st0 // st = [1.0, speed]
|
|
fld1 st0 // st = [1.0, 1.0, speed]
|
|
fadd st0, st1 // st = [2.0, 1.0, speed]
|
|
fdivp st1, st0 // st = [0.5, speed]
|
|
jmp g2_hook_loc2
|
|
g2_hook_end1:
|
|
|
|
.data g2_hook_loc2
|
|
.deltaof g2_hook_start2, g2_hook_end2
|
|
.address g2_hook_loc2
|
|
g2_hook_start2:
|
|
test byte [esi + 0x30], 0x20 // If not set, use 1.5; if set, use 0.5
|
|
jnz g2_hook_entity_is_frozen
|
|
fld1 st0 // st = [1, 0.5, speed]
|
|
faddp st1, st0 // st = [1.5, speed]
|
|
g2_hook_entity_is_frozen:
|
|
fmulp st1, st0 // st = [((game_flags & 0x20) ? 0.5 : 1.5) * speed]
|
|
ret
|
|
g2_hook_end2:
|
|
|
|
|
|
|
|
# Tiny Grass Assassins Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x800BC750 0x800BCA58 0x800BCBD0 0x800BCB80 0x800BC9E8 0x800BC9E8 0x800BCB90 0x800BCB58>
|
|
.data 4
|
|
b +0x10
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x0016227A 0x0016238A 0x0016232A 0x0016240A 0x0016229A 0x0016242A 0x0016225A>
|
|
.data 0x00000002
|
|
.binary EB0E
|
|
|
|
|
|
|
|
# Bulclaw HP Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80091528 0x80091814 0x8009198C 0x8009193C 0x800917B4 0x800917B4 0x8009194C 0x80091914>
|
|
.data 8
|
|
bl +0x024C
|
|
sth [r3 + 0x032C], r30
|
|
|
|
|
|
|
|
# Control Tower: Delbiter Death SFX Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g3_patch_loc, <VERS 0x80301600 0x803025CC 0x80303A1C 0x803037D0 0x80301F58 0x80301F9C 0x8030398C 0x80302D64>
|
|
.data g3_patch_loc
|
|
.deltaof g3_code_start, g3_code_end
|
|
.address g3_patch_loc
|
|
g3_code_start:
|
|
b +0x20
|
|
subi r3, r3, 0x57D0
|
|
lwz r0, [r13 - <VERS 0x4674 0x466C 0x464C 0x464C 0x465C 0x465C 0x463C 0x45FC>]
|
|
cmpwi r0, 35
|
|
bne g3_skip
|
|
subi r3, r3, 0x04D8
|
|
g3_skip:
|
|
b +0x8C
|
|
g3_code_end:
|
|
|
|
.data <VERS 0x803016A0 0x8030266C 0x80303ABC 0x80303870 0x80301FF8 0x8030203C 0x80303A2C 0x80302E04>
|
|
.data 0x00000004
|
|
b -0x9C
|
|
|
|
|
|
|
|
# Weapon Attributes Patch (allows attributes to work on minibosses and Olga Flow)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g4_hook_call1, <VERS 0x800142DC 0x8001430C 0x800146A4 0x800142BC 0x800142F4 0x800142F4 0x800142BC 0x80014334>
|
|
.label g4_hook_call2, <VERS 0x80015D04 0x80015D34 0x80016174 0x80015CE4 0x80015D1C 0x80015D1C 0x80015CE4 0x80015D5C>
|
|
.label g4_hook_loc, 0x8000C8C0
|
|
.data g4_hook_loc
|
|
.deltaof g4_hook_start, g4_hook_end
|
|
.address g4_hook_loc
|
|
g4_hook_start:
|
|
andi. r0, r0, 0x000F
|
|
g4_hook_entry2:
|
|
andi. r0, r0, 0x004F
|
|
cmpwi r0, 4
|
|
blr
|
|
g4_hook_end:
|
|
|
|
.data g4_hook_call1
|
|
.data 4
|
|
.address g4_hook_call1
|
|
bl g4_hook_start
|
|
|
|
.data g4_hook_call2
|
|
.data 4
|
|
.address g4_hook_call2
|
|
bl g4_hook_entry2
|
|
|
|
|
|
|
|
# Ruins Laser Fence SFX Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80166324 0x801666D8 0x80166848 0x8016679C 0x801666E0 0x801666E0 0x80166800 0x80166CC4>
|
|
.data 8
|
|
lis r3, 0x4005
|
|
b +0x9C
|
|
|
|
.data <VERS 0x801663C0 0x80166774 0x801668E4 0x80166838 0x8016677C 0x8016677C 0x8016689C 0x80166D60>
|
|
.data 4
|
|
b +0x1C
|
|
|
|
|
|
|
|
# SFX Cancellation Distance Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x805CB608 0x805D5C08 0x805DD0A8 0x805DCE48 0x805CBF10 0x805D2F30 0x805DC750 0x805D8990>
|
|
.data 4
|
|
.float 22500
|
|
|
|
.data <VERS 0x805CB8A8 0x805D5EA8 0x805DD348 0x805DD0E8 0x805CC1B0 0x805D31D0 0x805DC9F0 0x805D8C30>
|
|
.data 4
|
|
.float 200
|
|
|
|
|
|
|
|
# Foie SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8022E2A8 0x8022EC44 0x8022FB30 0x8022F8E4 0x8022EB64 0x8022EB64 0x8022FC18 0x8022F4B0>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x8022E2D8 0x8022EC74 0x8022FB60 0x8022F914 0x8022EB94 0x8022EB94 0x8022FC48 0x8022F4E0>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x8022E308 0x8022ECA4 0x8022FB90 0x8022F944 0x8022EBC4 0x8022EBC4 0x8022FC78 0x8022F510>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Gifoie SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x802300B8 0x80230A54 0x80231940 0x802316F4 0x80230974 0x80230974 0x80231A28 0x802312C0>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x802300E8 0x80230A84 0x80231970 0x80231724 0x802309A4 0x802309A4 0x80231A58 0x802312F0>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80230118 0x80230AB4 0x802319A0 0x80231754 0x802309D4 0x802309D4 0x80231A88 0x80231320>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Rafoie SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x802365AC 0x80236F68 0x80237E54 0x80237C08 0x80236E88 0x80236E88 0x80237F3C 0x802377D4>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x802365DC 0x80236F98 0x80237E84 0x80237C38 0x80236EB8 0x80236EB8 0x80237F6C 0x80237804>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x8023660C 0x80236FC8 0x80237EB4 0x80237C68 0x80236EE8 0x80236EE8 0x80237F9C 0x80237834>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
.data <VERS 0x80236FC0 0x8023797C 0x80238868 0x8023861C 0x8023789C 0x8023789C 0x80238950 0x802381E8>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x80236FF0 0x802379AC 0x80238898 0x8023864C 0x802378CC 0x802378CC 0x80238980 0x80238218>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80237020 0x802379DC 0x802388C8 0x8023867C 0x802378FC 0x802378FC 0x802389B0 0x80238248>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Barta SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80229B54 0x8022A4F0 0x8022B3E0 0x8022B190 0x8022A410 0x8022A410 0x8022B4C4 0x8022AD5C>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x80229B84 0x8022A520 0x8022B410 0x8022B1C0 0x8022A440 0x8022A440 0x8022B4F4 0x8022AD8C>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80229BB4 0x8022A550 0x8022B440 0x8022B1F0 0x8022A470 0x8022A470 0x8022B524 0x8022ADBC>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Gibarta SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8022EAB4 0x8022F450 0x80230340 0x802300F0 0x8022F370 0x8022F370 0x80230424 0x8022FCBC>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x8022EAE4 0x8022F480 0x80230370 0x80230120 0x8022F3A0 0x8022F3A0 0x80230454 0x8022FCEC>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x8022EB14 0x8022F4B0 0x802303A0 0x80230150 0x8022F3D0 0x8022F3D0 0x80230484 0x8022FD1C>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Rabarta SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80235DD4 0x80236790 0x8023767C 0x80237430 0x802366B0 0x802366B0 0x80237764 0x80236FFC>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x80235E10 0x802367CC 0x802376B8 0x8023746C 0x802366EC 0x802366EC 0x802377A0 0x80237038>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80235E4C 0x80236808 0x802376F4 0x802374A8 0x80236728 0x80236728 0x802377DC 0x80237074>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Zonde SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8023B2C8 0x8023BC84 0x8023CB70 0x8023C924 0x8023BBA4 0x8023BBA4 0x8023CC58 0x8023C4F0>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x8023B2F8 0x8023BCB4 0x8023CBA0 0x8023C954 0x8023BBD4 0x8023BBD4 0x8023CC88 0x8023C520>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x8023B328 0x8023BCE4 0x8023CBD0 0x8023C984 0x8023BC04 0x8023BC04 0x8023CCB8 0x8023C550>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Gizonde SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80230E08 0x802317C4 0x802326B0 0x80232464 0x802316E4 0x802316E4 0x80232798 0x80232030>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x80230E38 0x802317F4 0x802326E0 0x80232494 0x80231714 0x80231714 0x802327C8 0x80232060>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80230E68 0x80231824 0x80232710 0x802324C4 0x80231744 0x80231744 0x802327F8 0x80232090>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Razonde SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80237998 0x80238354 0x80239240 0x80238FF4 0x80238274 0x80238274 0x80239328 0x80238BC0>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x802379C8 0x80238384 0x80239270 0x80239024 0x802382A4 0x802382A4 0x80239358 0x80238BF0>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x802379F8 0x802383B4 0x802392A0 0x80239054 0x802382D4 0x802382D4 0x80239388 0x80238C20>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Grants SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x802316FC 0x802320B8 0x80232FA4 0x80232D58 0x80231FD8 0x80231FD8 0x8023308C 0x80232924>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x80231734 0x802320F0 0x80232FDC 0x80232D90 0x80232010 0x80232010 0x802330C4 0x8023295C>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x8023176C 0x80232128 0x80233014 0x80232DC8 0x80232048 0x80232048 0x802330FC 0x80232994>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Megid SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x802337A8 0x80234164 0x80235050 0x80234E04 0x80234084 0x80234084 0x80235138 0x802349D0>
|
|
.data 4
|
|
li r4, 0xFFFFFF00
|
|
|
|
.data <VERS 0x802337D8 0x80234194 0x80235080 0x80234E34 0x802340B4 0x802340B4 0x80235168 0x80234A00>
|
|
.data 4
|
|
li r4, 0xFFFFFE80
|
|
|
|
.data <VERS 0x80233808 0x802341C4 0x802350B0 0x80234E64 0x802340E4 0x802340E4 0x80235198 0x80234A30>
|
|
.data 4
|
|
li r4, 0xFFFFFDB0
|
|
|
|
|
|
|
|
# Anti SFX Pitch Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80229354 0x80229CF0 0x8022ABDC 0x8022A990 0x80229C10 0x80229C10 0x8022ACC4 0x8022A55C>
|
|
.data 4
|
|
cmpwi r0, 1
|
|
|
|
|
|
|
|
# Shield DFP/EVP Bug Fix (allows shields to reach true max DFP/EVP values)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x801185B0 0x801187CC 0x8011885C 0x80118764 0x80118854 0x80118854 0x80118774 0x8011894C>
|
|
.data 4
|
|
lbz r0, [r4 + 0x0016]
|
|
.data <VERS 0x801185BC 0x801187D8 0x80118868 0x80118770 0x80118860 0x80118860 0x80118780 0x80118958>
|
|
.data 4
|
|
lbz r0, [r4 + 0x0017]
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x00185D8E 0x00185F4E 0x0018600E 0x00185F0E 0x00185F6E 0x00185F2E 0x00185F2E>
|
|
.data 0x00000001
|
|
.binary 16
|
|
.data <VERS 0x00185D97 0x00185F57 0x00186017 0x00185F17 0x00185F77 0x00185F37 0x00185F37>
|
|
.data 0x00000001
|
|
.binary 17
|
|
|
|
|
|
|
|
# VR Spaceship Item Drop Bug Fix (allows items to drop from enemies above a certain Y position)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x805C996C 0x805D3F6C 0x805DB40C 0x805DB1AC 0x805CA274 0x805D1294 0x805DAAB4 0x805D6CF4>
|
|
.data 4
|
|
.float 220
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x00175D75 0x00175E55 0x00175F35 0x00175EC5 0x00175ED5 0x00175EE5 0x00175E95>
|
|
.data 0x00000002
|
|
.data 0x435C0000
|
|
|
|
|
|
|
|
# Invalid Items Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8011CA90 0x8011CCD4 0x8011CD0C 0x8011CC6C 0x8011CD34 0x8011CD34 0x8011CC7C 0x8011CE54>
|
|
.data 0x0C
|
|
mr r3, r0
|
|
subi r3, r3, 0x0001
|
|
b -0x18
|
|
|
|
.data <VERS 0x8011CB4C 0x8011CD90 0x8011CDC8 0x8011CD28 0x8011CDF0 0x8011CDF0 0x8011CD38 0x8011CF10>
|
|
.data 0x0C
|
|
mr r3, r0
|
|
subi r3, r3, 0x0001
|
|
b -0x18
|
|
|
|
.data <VERS 0x8011CB9C 0x8011CDE0 0x8011CE18 0x8011CD78 0x8011CE40 0x8011CE40 0x8011CD88 0x8011CF60>
|
|
.data 0x0C
|
|
mr r4, r0
|
|
subi r4, r4, 0x0001
|
|
b -0x18
|
|
|
|
|
|
|
|
# Item Removal Maxed Stats Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g5_hook1_call, <VERS 0x801B9A88 0x801B9EF4 0x801BCF6C 0x801B9FC0 0x801B9E74 0x801B9E74 0x801BA024 0x801BA4E0>
|
|
.label g5_hook1_ret, <VERS 0x801B9A8C 0x801B9EF8 0x801BCF70 0x801B9FC4 0x801B9E78 0x801B9E78 0x801BA028 0x801BA4E4>
|
|
.label g5_hook2_call, <VERS 0x8010B970 0x8010BB70 0x8010BC04 0x8010BAF0 0x8010BC14 0x8010BC14 0x8010BB00 0x8010BCF0>
|
|
.label g5_hook3_call, <VERS 0x8010DD98 0x8010DF98 0x8010E0E4 0x8010DF24 0x8010E03C 0x8010E03C 0x8010DF34 0x8010E118>
|
|
.label g5_hook3_ret, <VERS 0x8010DD9C 0x8010DF9C 0x8010E0E8 0x8010DF28 0x8010E040 0x8010E040 0x8010DF38 0x8010E11C>
|
|
.label g5_hook3_apply_bonuses, <VERS 0x8010B90C 0x8010BB0C 0x8010BBA0 0x8010BA8C 0x8010BBB0 0x8010BBB0 0x8010BA9C 0x8010BC8C>
|
|
.label g5_hooks_loc, 0x8000B088
|
|
.data g5_hooks_loc
|
|
.deltaof g5_hook1_start, g5_hooks_end
|
|
.address g5_hooks_loc
|
|
g5_hook1_start:
|
|
mr r3, r29
|
|
li r4, 0x0000
|
|
bl [<VERS 801B97B4 801B9C20 801BCC98 801B9CEC 801B9BA0 801B9BA0 801B9D50 801BA20C>]
|
|
mr r3, r29
|
|
b g5_hook1_ret
|
|
g5_hook2_start:
|
|
lbz r0, [r31]
|
|
cmplwi r9, 1
|
|
bnelr
|
|
lbz r0, [r31 + 1]
|
|
addi r31, r31, 2
|
|
blr
|
|
g5_hook3_start:
|
|
li r9, 0x0000
|
|
bl g5_hook3_apply_bonuses
|
|
mr r3, r26
|
|
mr r4, r27
|
|
mr r5, r28
|
|
mr r6, r29
|
|
mr r7, r30
|
|
mr r8, r31
|
|
li r9, 1
|
|
bl g5_hook3_apply_bonuses
|
|
b g5_hook3_ret
|
|
g5_hooks_end:
|
|
|
|
.data g5_hook1_call
|
|
.data 4
|
|
.address g5_hook1_call
|
|
b g5_hook1_start
|
|
|
|
.data g5_hook2_call
|
|
.data 4
|
|
.address g5_hook2_call
|
|
bl g5_hook2_start
|
|
|
|
.data g5_hook3_call
|
|
.data 4
|
|
.address g5_hook3_call
|
|
b g5_hook3_start
|
|
|
|
.label g5_hook4_loc, 0x8000C3F8
|
|
.label g5_hook4_call, <VERS 0x801B97B4 0x801B9C20 0x801BCC98 0x801B9CEC 0x801B9BA0 0x801B9BA0 0x801B9D50 0x801BA20C>
|
|
.label g5_hook4_ret, <VERS 0x801B97B8 0x801B9C24 0x801BCC9C 0x801B9CF0 0x801B9BA4 0x801B9BA4 0x801B9D54 0x801BA210>
|
|
.label TItemEquipBase_v16, <VERS 0x8010B094 0x8010B294 0x8010B390 0x8010B214 0x8010B338 0x8010B338 0x8010B224 0x8010B414>
|
|
.label TItemEquipBase_v17, <VERS 0x8010AF18 0x8010B118 0x8010B204 0x8010B098 0x8010B1BC 0x8010B1BC 0x8010B0A8 0x8010B298>
|
|
.data g5_hook4_loc
|
|
.deltaof g5_hook4_start, g5_hook4_end
|
|
.address g5_hook4_loc
|
|
g5_hook4_start:
|
|
cmplwi r4, 0
|
|
beqlr
|
|
stwu [r1 - 0x0010], r1
|
|
b g5_hook4_ret
|
|
g5_hook4_entry:
|
|
stwu [r1 - 0x20], r1
|
|
mflr r0
|
|
stw [r1 + 0x24], r0
|
|
stmw [r1 + 0x08], r26
|
|
mr r31, r3
|
|
bl g5_hook4_start
|
|
li r30, 0
|
|
addi r29, r31, 0x0D04
|
|
lwz r27, [r31 + 0x032C]
|
|
g5_hook4_again:
|
|
lwz r28, [r29]
|
|
mr. r3, r28
|
|
beq g5_hook4_skip
|
|
li r4, 1
|
|
bl TItemEquipBase_v17
|
|
mr r3, r28
|
|
li r4, 1
|
|
bl TItemEquipBase_v16
|
|
g5_hook4_skip:
|
|
addi r29, r29, 4
|
|
addi r30, r30, 1
|
|
cmpwi r30, 13
|
|
blt g5_hook4_again
|
|
stw [r31 + 0x032C], r27
|
|
lmw r26, [r1 + 0x08]
|
|
lwz r0, [r1 + 0x24]
|
|
mtlr r0
|
|
addi r1, r1, 0x0020
|
|
blr
|
|
g5_hook4_end:
|
|
|
|
.data g5_hook4_call
|
|
.data 4
|
|
.address g5_hook4_call
|
|
b g5_hook4_entry
|
|
|
|
|
|
|
|
# Unit Present Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g6_hook_loc, 0x8000C640
|
|
.label g6_hook_call, <VERS 0x80118CE0 0x80118EFC 0x80118FD8 0x80118E94 0x80118F84 0x80118F84 0x80118EA4 0x8011907C>
|
|
.data g6_hook_loc
|
|
.deltaof g6_hook_start, g6_hook_end
|
|
.address g6_hook_loc
|
|
g6_hook_start:
|
|
rlwinm. r0, r4, 0, 25, 25
|
|
beq g6_hook_skip
|
|
li r4, 0x0000
|
|
g6_hook_skip:
|
|
addi r0, r4, 0x0009
|
|
blr
|
|
g6_hook_end:
|
|
|
|
.data g6_hook_call
|
|
.data 4
|
|
.address g6_hook_call
|
|
bl g6_hook_start
|
|
|
|
|
|
|
|
# Bank Item Stacking Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g7_hook1_loc, 0x8000C6D0
|
|
.label g7_hook1_call, <VERS 0x8021D098 0x8021D9FC 0x8021E8E8 0x8021E69C 0x8021D91C 0x8021D91C 0x8021E9D0 0x8021E268>
|
|
.label g7_hook2_call, <VERS 0x80220528 0x80220EBC 0x80221DA8 0x80221B5C 0x80220DDC 0x80220DDC 0x80221E90 0x80221728>
|
|
.data g7_hook1_loc
|
|
.deltaof g7_hook1_start, g7_hooks_end
|
|
.address g7_hook1_loc
|
|
g7_hook1_start:
|
|
li r0, 1
|
|
stw [r29 + 0x54], r0
|
|
lwz r3, [r29 + 0x24]
|
|
blr
|
|
g7_hook2_start:
|
|
li r0, 1
|
|
stw [r31 + 0x0378], r0
|
|
lwz r3, [r31 + 0x24]
|
|
blr
|
|
g7_hooks_end:
|
|
|
|
.data g7_hook1_call
|
|
.data 4
|
|
.address g7_hook1_call
|
|
bl g7_hook1_start
|
|
|
|
.data g7_hook2_call
|
|
.data 4
|
|
.address g7_hook2_call
|
|
bl g7_hook2_start
|
|
|
|
|
|
|
|
# Dropped Mag Color Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80114378 0x8011458C 0x80114634 0x80114524 0x8011461C 0x8011461C 0x80114534 0x8011470C>
|
|
.data 4
|
|
li r0, 0x12
|
|
|
|
.versions 4OJB
|
|
|
|
.data 0x001759E6
|
|
.data 1
|
|
.binary 12
|
|
.data 0x00180898
|
|
.data 1
|
|
.binary 12
|
|
|
|
|
|
|
|
# Meseta Drop System Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80107478 0x80107654 0x80107708 0x801075D4 0x8010771C 0x8010771C 0x801075E4 0x801077D4>
|
|
.data 4
|
|
b +0x0C
|
|
|
|
.data <VERS 0x8010748C 0x80107668 0x8010771C 0x801075E8 0x80107730 0x80107730 0x801075F8 0x801077E8>
|
|
.data 4
|
|
mr r3, r0
|
|
|
|
|
|
|
|
# Present Color Bug Fix
|
|
|
|
.versions 3OJ2 3OE0 3OE1
|
|
|
|
.data <VERS 0x80101C14 0x80101EB8 0x80101EB8>
|
|
.data 4
|
|
nop
|
|
|
|
|
|
|
|
# Offline Quests Drop Table Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80104B48 0x80104D24 0x80104DE0 0x80104CA4 0x80104DEC 0x80104DEC 0x80104CB4 0x80104EA4>
|
|
.data 4
|
|
beq +0x0C
|
|
|
|
|
|
|
|
# Mag Revival Priority Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g8_hook_loc, 0x8000C8A0
|
|
.label g8_hook_call, <VERS 0x80112664 0x80112864 0x80112A3C 0x801127F0 0x80112908 0x80112908 0x80112800 0x801129E4>
|
|
.data g8_hook_loc
|
|
.deltaof g8_hook_start, g8_hook_end
|
|
.address g8_hook_loc
|
|
g8_hook_start:
|
|
mulli r0, r0, 10
|
|
rlwinm. r4, r31, 0, 30, 30
|
|
beqlr
|
|
extsh r0, r29
|
|
blr
|
|
g8_hook_end:
|
|
|
|
.data g8_hook_call
|
|
.data 4
|
|
.address g8_hook_call
|
|
bl g8_hook_start
|
|
|
|
|
|
|
|
# Mag Revival Challenge & Quest Mode Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x801CA1F4 0x801CA6E0 0x801CB5EC 0x801CA7AC 0x801CA610 0x801CA610 0x801CA810 0x801CACCC>
|
|
.data 4
|
|
b +0x10
|
|
|
|
|
|
|
|
# Chat Bubble Window TAB Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80250264 0x80250CB0 0x80251CA4 0x802519A4 0x80250AEC 0x80250AEC 0x80251C68 0x802514B0>
|
|
.data 4
|
|
nop
|
|
|
|
|
|
|
|
# Chat Log Window LF/Tab Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80267DDC 0x80268A88 0x80269AE4 0x80269898 0x80268788 0x80268788 0x80269B5C 0x802693A4>
|
|
.data 4
|
|
nop
|
|
|
|
|
|
|
|
# Dark/Hell Special GFX Bug Fix (makes Dark/Hell display graphic on success like in PSO BB)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g9_hook_loc, 0x8000E1E0
|
|
.label g9_hook_call1, <VERS 0x80355984 0x80356D88 0x803582E4 0x80358098 0x80356838 0x8035687C 0x80358464 0x80357858>
|
|
.label g9_hook_call2, <VERS 0x80355A04 0x80356E08 0x80358364 0x80358118 0x803568B8 0x803568FC 0x803584E4 0x803578D8>
|
|
.data g9_hook_loc
|
|
.deltaof g9_hook_start, g9_hook_end
|
|
.address g9_hook_loc
|
|
g9_hook_start:
|
|
mflr r30
|
|
li r5, 0x0000
|
|
li r6, 0x001E
|
|
li r7, 0x0040
|
|
bl [<VERS 800864A0 8008678C 80086904 800868B4 8008672C 8008672C 800868C4 8008688C>]
|
|
mtlr r30
|
|
blr
|
|
g9_hook_end:
|
|
|
|
.data g9_hook_call1
|
|
.data 4
|
|
.address g9_hook_call1
|
|
bl g9_hook_start
|
|
|
|
.data g9_hook_call2
|
|
.data 4
|
|
.address g9_hook_call2
|
|
bl g9_hook_start
|
|
|
|
.data <VERS 0x80355960 0x80356D64 0x803582C0 0x80358074 0x80356814 0x80356858 0x80358440 0x80357834>
|
|
.data 4
|
|
li r4, 0x01E8
|
|
|
|
.data <VERS 0x803559F4 0x80356DF8 0x80358354 0x80358108 0x803568A8 0x803568EC 0x803584D4 0x803578C8>
|
|
.data 4
|
|
li r4, 0x01E8
|
|
|
|
|
|
|
|
# Gol Dragon Camera Bug Fix (makes the camera after Gol Dragon display "normally")
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x802FB99C 0x802FC968 0x802FDE60 0x802FDB6C 0x802FC2F4 0x802FC338 0x802FDD28 0x802FD100>
|
|
.data 4
|
|
cmpwi r3, 1
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x000A8AE1 0x000A8C51 0x000A8BD1 0x000A89C1 0x000A8961 0x000A89E1 0x000A8921>
|
|
.data 0x00000002
|
|
.binary 01
|
|
|
|
|
|
|
|
# Box/Fence Fadeout Bug Fix (stops boxes and other environmental objects fading in and out as you approach)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x80189A54 0x80189E2C 0x80189F90 0x80189EF0 0x80189E20 0x80189E20 0x80189F54 0x8018A418>
|
|
.data 4
|
|
nop
|
|
|
|
.data <VERS 0x801933DC 0x801937B0 0x80193914 0x80193874 0x801937A8 0x801937A8 0x801938D8 0x80193D9C>
|
|
.data 4
|
|
nop
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x001D229B 0x001D244B 0x001D295B 0x001D241B 0x001D26AB 0x001D243B 0x001D26DB>
|
|
.data 2
|
|
nop
|
|
nop
|
|
|
|
.data <VERS 0x001DF7C4 0x001DF924 0x001DFD94 0x001DF964 0x001DFB04 0x001DF984 0x001DFA74>
|
|
.data 6
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
|
|
|
|
# TP Bar Color Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8026DA74 0x8026E738 0x8026F794 0x8026F548 0x8026E2D4 0x8026E2D4 0x8026F6FC 0x8026EF44>
|
|
.data 4
|
|
subi r4, r4, 0x5506
|
|
.data <VERS 0x8026DB88 0x8026E84C 0x8026F8A8 0x8026F65C 0x8026E3E8 0x8026E3E8 0x8026F810 0x8026F058>
|
|
.data 4
|
|
subi r3, r3, 0x5506
|
|
.data <VERS 0x8026DC10 0x8026E8D4 0x8026F930 0x8026F6E4 0x8026E470 0x8026E470 0x8026F898 0x8026F0E0>
|
|
.data 4
|
|
subi r4, r3, 0x5506
|
|
.data <VERS 0x804CBB40 0x804CF290 0x804D17E0 0x804D1580 0x804CC310 0x804CC7F0 0x804D0E58 0x804D1248>
|
|
.data 4
|
|
.data 0xFF0074EE
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x002779CE 0x00277C7E 0x0027808E 0x00277DAE 0x00277ECE 0x00277DCE 0x00277F9E>
|
|
.data 0x00000004
|
|
.data 0xFF00AAFA
|
|
.data <VERS 0x002779DE 0x00277C8E 0x0027809E 0x00277DBE 0x00277EDE 0x00277DDE 0x00277FAE>
|
|
.data 0x00000004
|
|
.data 0xFF00AAFA
|
|
.data <VERS 0x00277A24 0x00277CD4 0x002780E4 0x00277E04 0x00277F24 0x00277E24 0x00277FF4>
|
|
.data 0x00000004
|
|
.data 0xFF00AAFA
|
|
.data <VERS 0x0054543C 0x00545ACC 0x0054D5B4 0x0054AA34 0x0054A2D4 0x0054AA34 0x0054ADD4>
|
|
.data 0x00000004
|
|
.data 0xFF0074EE
|
|
|
|
|
|
|
|
# Devil's and Demon's Special Damage Display Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8001306C 0x8001309C 0x80013364 0x8001304C 0x80013084 0x80013084 0x8001304C 0x800130C4>
|
|
.data 4
|
|
b -0x0340
|
|
|
|
|
|
|
|
# Christmas Trees Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g10_hook_loc, 0x8000B5C8
|
|
.label g10_hook_call, <VERS 0x80183E94 0x8018425C 0x801843C0 0x80184320 0x80184250 0x80184250 0x80184384 0x80184848>
|
|
.label g10_hook_ret, <VERS 0x80183E98 0x80184260 0x801843C4 0x80184324 0x80184254 0x80184254 0x80184388 0x8018484C>
|
|
.data g10_hook_loc
|
|
.deltaof g10_hook_start, g10_hook_end
|
|
.address g10_hook_loc
|
|
g10_hook_start:
|
|
lwz r3, [r3 + 0x98]
|
|
bl [<VERS 803DFCC0 803E269C 803E453C 803E42EC 803E0F64 803E0FBC 803E46BC 803E31AC>]
|
|
lwz r3, [r31 + 0x042C]
|
|
lwz r4, [r31 + 0x0430]
|
|
b g10_hook_ret
|
|
g10_hook_end:
|
|
|
|
.data g10_hook_call
|
|
.data 4
|
|
.address g10_hook_call
|
|
b g10_hook_start
|
|
|
|
.data <VERS 0x80183ED4 0x8018429C 0x80184400 0x80184360 0x80184290 0x80184290 0x801843C4 0x80184888>
|
|
.data 4
|
|
nop
|
|
|
|
|
|
|
|
# Rain Drops Color Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x804B3738 0x804B6E58 0x804B92F8 0x804B90B8 0x804B3EF0 0x804B43D0 0x804B8990 0x804B8E10>
|
|
.data 8
|
|
.data 0x70808080
|
|
.data 0x60707070
|
|
|
|
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
|
|
|
|
.data <VERS 0x0054D670 0x0054DD00 0x005557E8 0x00552C68 0x00552508 0x00552C68 0x00553008>
|
|
.data 0x00000008
|
|
.binary 7080808060707070
|
|
|
|
|
|
|
|
# Reverser Target Lock Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x801C5EA4 0x801C6360 0x801C6604 0x801C642C 0x801C62C0 0x801C62C0 0x801C6490 0x801C694C>
|
|
.data 4
|
|
addi r4, r31, 0x02FC
|
|
|
|
|
|
|
|
# Deband/Shifta/Resta Target Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8022CF84 0x8022D920 0x8022E85C 0x8022E5C0 0x8022D840 0x8022D840 0x8022E8F4 0x8022E18C>
|
|
.data 4
|
|
bgt +0x0630
|
|
|
|
.versions 3OJ2 3OE0 3OE1
|
|
.data <VERS 0x8022D278 0x8022DB34 0x8022DB34>
|
|
.data 4
|
|
bgt +0x033C
|
|
|
|
.data <VERS 0x8022D36C 0x8022DC28 0x8022DC28>
|
|
.data 4
|
|
bgt +0x0248
|
|
|
|
|
|
|
|
# Tech Auto Targeting Bug Fix
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.data <VERS 0x8022C850 0x8022D1EC 0x8022E128 0x8022DE8C 0x8022D10C 0x8022D10C 0x8022E1C0 0x8022DA58>
|
|
.data 4
|
|
nop
|
|
|
|
.data <VERS 0x804C6EE4 0x804CA61C 0x804CCB6C 0x804CC90C 0x804C76B4 0x804C7B94 0x804CC1E4 0x804CC5D4>
|
|
.data 4
|
|
.data 0x0000001E
|
|
|
|
.data <VERS 0x804C6F3C 0x804CA674 0x804CCBC4 0x804CC964 0x804C770C 0x804C7BEC 0x804CC23C 0x804CC62C>
|
|
.data 4
|
|
.data 0x00000028
|
|
|
|
.data <VERS 0x804C6F68 0x804CA6A0 0x804CCBF0 0x804CC990 0x804C7738 0x804C7C18 0x804CC268 0x804CC658>
|
|
.data 4
|
|
.data 0x00000032
|
|
|
|
.data <VERS 0x804C6F94 0x804CA6CC 0x804CCC1C 0x804CC9BC 0x804C7764 0x804C7C44 0x804CC294 0x804CC684>
|
|
.data 4
|
|
.data 0x0000003C
|
|
|
|
.data <VERS 0x804C6FA4 0x804CA6DC 0x804CCC2C 0x804CC9CC 0x804C7774 0x804C7C54 0x804CC2A4 0x804CC694>
|
|
.data 4
|
|
.data 0x0018003C
|
|
|
|
.data <VERS 0x804C71FC 0x804CA934 0x804CCE84 0x804CCC24 0x804C79CC 0x804C7EAC 0x804CC4FC 0x804CC8EC>
|
|
.data 4
|
|
.data 0x00000028
|
|
|
|
|
|
|
|
# Enable Trap Animations
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label g11_hook_loc, 0x8000BBD0
|
|
.label g11_hook_call, <VERS 0x80170C54 0x80171008 0x80171260 0x801710CC 0x80171010 0x80171010 0x80171130 0x801715F4>
|
|
.data g11_hook_loc
|
|
.deltaof g11_hook_start, g11_hook_end
|
|
.address g11_hook_loc
|
|
g11_hook_start:
|
|
lwz r4, [r31 + 0x0370]
|
|
subi r4, r4, 0x0400
|
|
stw [r31 + 0x0370], r4
|
|
lwz r3, [r31 + 0x14]
|
|
cmplwi r3, 0
|
|
beqlr
|
|
stw [r3 + 0x0060], r4
|
|
blr
|
|
g11_hook_end:
|
|
|
|
.data g11_hook_call
|
|
.data 4
|
|
.address g11_hook_call
|
|
bl g11_hook_start
|
|
|
|
.data <VERS 0x80170C74 0x80171028 0x80171280 0x801710EC 0x80171030 0x80171030 0x80171150 0x80171614>
|
|
.data 4
|
|
ori r0, r4, 0x0420
|
|
|
|
|
|
|
|
# Belra arm bug fix (this part by fuzziqersoftware)
|
|
|
|
.versions 3OJ2 3OE0 3OE1
|
|
|
|
.label g12_hook1_call, <VERS 0x80095724 0x800959B0 0x800959B0>
|
|
.label g12_hook2_call, <VERS 0x80095734 0x800959C0 0x800959C0>
|
|
.label g12_hook_loc, 0x8000B06C
|
|
.data g12_hook_loc
|
|
.deltaof g12_hook1_start, g12_hook_end
|
|
.address g12_hook_loc
|
|
g12_hook1_start:
|
|
li r0, 1
|
|
stw [r13 - <VERS 0x2E48 0x2E30 0x2E30>], r0 # Anchor: 80039388 @ 3OE1
|
|
b [<VERS 803D3140 803D4410 803D4468>]
|
|
g12_hook2_start:
|
|
li r4, 0
|
|
stw [r13 - <VERS 0x2E48 0x2E30 0x2E30>], r4
|
|
lwz r4, [r28 + 0x04]
|
|
blr
|
|
g12_hook_end:
|
|
|
|
.data g12_hook1_call
|
|
.data 4
|
|
.address g12_hook1_call
|
|
bl g12_hook1_start
|
|
|
|
.data g12_hook2_call
|
|
.data 4
|
|
.address g12_hook2_call
|
|
bl g12_hook2_start
|
|
|
|
|
|
|
|
# Tsumikiri J-Sword special attack + rapid weapon switch bug fix (this part by fuzziqersoftware)
|
|
|
|
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
|
|
|
.label tjs_switch_fix_hook_call, <VERS 0x8034CFA8 0x8034E3AC 0x8034F908 0x8034F6BC 0x8034DE5C 0x8034DEA0 0x8034FA88 0x8034EE7C>
|
|
.label tjs_switch_fix_hook_loc, 0x8000B050
|
|
.data tjs_switch_fix_hook_loc
|
|
.deltaof tjs_switch_fix_hook_start, tjs_switch_fix_hook_end
|
|
.address tjs_switch_fix_hook_loc
|
|
tjs_switch_fix_hook_start:
|
|
lwz r0, [r3 + 0x0188]
|
|
cmpwi r0, 0
|
|
bnelr
|
|
mflr r31
|
|
addi r31, r31, 0x100
|
|
mtlr r31
|
|
blr
|
|
tjs_switch_fix_hook_end:
|
|
|
|
.data tjs_switch_fix_hook_call
|
|
.data 8
|
|
.address tjs_switch_fix_hook_call
|
|
beq +0x108
|
|
bl tjs_switch_fix_hook_loc
|
|
|
|
|
|
|
|
# Battle param reload bug fix (this part by fuzziqersoftware)
|
|
|
|
.versions 3OJ2 3OE0 3OE1
|
|
|
|
.label end_loading_screen, <VERS 0x8001C6D0 0x8001C8F0 0x8001C8F0>
|
|
.label load_battle_params, <VERS 0x8001DA48 0x8001DC68 0x8001DC68>
|
|
.label bp_reload_hook_loc, 0x8000E1BC
|
|
.label bp_reload_hook_call, <VERS 0x801A3A70 0x801A3E4C 0x801A3E4C>
|
|
.data bp_reload_hook_loc
|
|
.deltaof bp_reload_hook_start, bp_reload_hook_end
|
|
.address bp_reload_hook_loc
|
|
bp_reload_hook_start:
|
|
mflr r0
|
|
stwu [r1 - 0x20], r1
|
|
stw [r1 + 0x24], r0
|
|
bl end_loading_screen
|
|
bl load_battle_params
|
|
lwz r0, [r1 + 0x24]
|
|
addi r1, r1, 0x20
|
|
mtlr r0
|
|
blr
|
|
bp_reload_hook_end:
|
|
.data bp_reload_hook_call
|
|
.data 4
|
|
.address bp_reload_hook_call
|
|
bl bp_reload_hook_start
|
|
|
|
|
|
|
|
.all_versions
|
|
|
|
.data 0
|
|
.data 0
|