Editing User:Scalerize
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
<pre> | <pre> | ||
apiRequest(0.1) | apiRequest(0.1) | ||
Line 13: | Line 4: | ||
local eeObj = getEEObject() | local eeObj = getEEObject() | ||
local emuObj = getEmuObject() | local emuObj = getEmuObject() | ||
-- We only need to write these opcodes once. Writing in perpetuity is unharmful, sure, but unneeded! | |||
eeObj.WriteMem32(0x0011F38C, 0x0803FFC8) -- <-- //Address to change for other Ratchet games | |||
eeObj.WriteMem32(0x000FFF20, 0x3C1B000F) | |||
eeObj.WriteMem32(0x000FFF24, 0x377BFF00) | |||
eeObj.WriteMem32(0x000FFF28, 0xAF770000) | |||
eeObj.WriteMem32(0x000FFF2C, 0xAF760004) | |||
eeObj.WriteMem32(0x000FFF30, 0xAF750008) | |||
eeObj.WriteMem32(0x000FFF34, 0xAF74000C) | |||
eeObj.WriteMem32(0x000FFF38, 0x3C1701FF) | |||
eeObj.WriteMem32(0x000FFF3C, 0x36F7FCF0) | |||
eeObj.WriteMem32(0x000FFF40, 0x24167000) | |||
eeObj.WriteMem32(0x000FFF44, 0x26D618B4) | |||
eeObj.WriteMem32(0x000FFF48, 0x8EF70000) | |||
eeObj.WriteMem32(0x000FFF4C, 0x02D7B821) | |||
eeObj.WriteMem32(0x000FFF50, 0x3C157120) | |||
eeObj.WriteMem32(0x000FFF54, 0x36B5CDA8) | |||
eeObj.WriteMem32(0x000FFF5C, 0x12950004) | |||
eeObj.WriteMem32(0x000FFF58, 0x8EF40000) | |||
eeObj.WriteMem32(0x000FFF64, 0x26F70004) | |||
eeObj.WriteMem32(0x000FFF68, 0x1000FFFB) | |||
eeObj.WriteMem32(0x000FFF70, 0xAF770010) | |||
eeObj.WriteMem32(0x000FFF74, 0x8F740014) | |||
eeObj.WriteMem32(0x000FFF78, 0x12970004) | |||
eeObj.WriteMem32(0x000FFF80, 0x24160150) --Ensures the vsync hook catches the value | |||
eeObj.WriteMem32(0x000FFF84, 0x26D6FFFF) | |||
eeObj.WriteMem32(0x000FFF88, 0x16C0FFFE) | |||
eeObj.WriteMem32(0x000FFF90, 0x8F74000C) | |||
eeObj.WriteMem32(0x000FFF94, 0x8F760004) | |||
eeObj.WriteMem32(0x000FFF98, 0x8F750008) | |||
eeObj.WriteMem32(0x000FFF9C, 0xAF770014) | |||
eeObj.WriteMem32(0x000FFFA0, 0x8F770000) | |||
eeObj.WriteMem32(0x000FFFA4, 0x241B0000) | |||
eeObj.WriteMem32(0x000FFFA8, 0x08047CE4) -- <-- //Opcode to change for other Ratchet games | |||
--Continuously check for updates, and patch the necessary offsets | |||
local Hooks = function() | |||
if eeObj.ReadMem32(0x000FFF10) ~= 0 and eeObj.ReadMem32(0x000FFF14) ~= eeObj.ReadMem32(0x000FFF10) then | |||
--Add new hooks | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10),0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x8,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xB8,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xC0,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x158,0x701188FC, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x160,0x70E0CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj. | eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x1F8,0x7019CC3F, function() eeObj.AdvanceClock(2000) end) | ||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x200,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2A8,0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2B0,0x7009E688, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x350,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x358,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F0,0x701188FC, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F8,0x70E0CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x490,0x7019CC3F, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x498,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x540,0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x548,0x7009E688, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5E8,0x0019C900, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5F0,0x0325C820, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x688,0x000F7880, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x690,0x22310006, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x728,0x7017BEC8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x730,0x71D18D88, function() eeObj.AdvanceClock(2000) end) | |||
--Remove previous hooks | |||
if eeObj.ReadMem32(0x000FFF14) ~= 0 then | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14),0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x8,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0xB8,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0xC0,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x158,0x701188FC, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x160,0x70E0CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x1F8,0x7019CC3F, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x200,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x2A8,0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x2B0,0x7009E688, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x350,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x358,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x3F0,0x701188FC, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x3F8,0x70E0CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x490,0x7019CC3F, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x498,0x00000000, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x540,0x7120CDA8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x548,0x7009E688, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x5E8,0x0019C900, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x5F0,0x0325C820, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x688,0x000F7880, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x690,0x22310006, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x728,0x7017BEC8, function() eeObj.AdvanceClock(2000) end) | |||
eeObj.RemoveHook(eeObj.ReadMem32(0x000FFF14)+0x730,0x71D18D88, function() eeObj.AdvanceClock(2000) end) | |||
end | |||
end | |||
end | end | ||
emuObj.AddVsyncHook( | emuObj.AddVsyncHook(Hooks) | ||
</pre> | </pre> |