XenonRecomp icon indicating copy to clipboard operation
XenonRecomp copied to clipboard

Added handling of normal compression for patching xex files

Open Jellybaby34 opened this issue 9 months ago • 6 comments

This looks like it works and is mostly mimiced from xenia canary. Haven't completely tested it as I need to redo all the switch table definitions but patched file that is generated looks good, xenia canary works with it, and xenon analyse passes it as an unencrypted/uncompressed file

Jellybaby34 avatar Mar 25 '25 23:03 Jellybaby34

I'll also add functionality to xenon analyse when I get round to it

Jellybaby34 avatar Mar 25 '25 23:03 Jellybaby34

XenonAnalyse now generates switch tables for normal compression xex files

Jellybaby34 avatar Mar 26 '25 13:03 Jellybaby34

It works with XenonRecomp too I imagine?

blueskythlikesclouds avatar Mar 26 '25 20:03 blueskythlikesclouds

Yeah just ran XenonAnalyse and XenonRecomp using the encrypted/compressed xex and seems to work correctly. The switch file generated by XenonAnalyse is the same as with the xextool uncompressed xex. Same with XenonRecomp and the PPC files that are generated

I have only tested it with Army of Two and it's relevant title update though and it's difficult for me to judge if the patch has worked correctly or written to places in ways I'm not aware of

Jellybaby34 avatar Mar 26 '25 21:03 Jellybaby34

After doing all the switch function declarations, it seems to be fine and I'm pretty confident it works correctly. A quick 5 minutes on xenia canary ran fine and the Army of Two recomp now reaches NtAllocateVirtualMemory instead of spinning in NtEnterCriticalSection on launch

Jellybaby34 avatar Mar 27 '25 22:03 Jellybaby34

Nice! I'll look into merging this when I have the chance, it seems good to me from a quick look.

blueskythlikesclouds avatar Mar 28 '25 11:03 blueskythlikesclouds

Added the changes, apologies it took a while

Jellybaby34 avatar Apr 12 '25 08:04 Jellybaby34