Closed bad1dea closed 1 year ago
I believe the same code is at 004EC57C on the PC version, albeit it seems to behave differently, so they maybe changed some code after the GameCube version?
You.. found it so easily.. while I struggled, I really appreciate you looking into it :)
It's essentially the same --
.text:004EC57A 8B C6 mov eax, esi
.text:004EC57C 0B 45 08 or eax, [ebp+arg_0]
changing those into mov eax, 1
Allows you to clip / Walk Through Walls..
May I ask, how you found that function .. so quickly -- I've spent quite some time trying to track it down..
Even searched for the 0FFBFFFFFh to help.. see if any or's were around it.
Managed to locate it on the switch now as well.. Thank you!!!!
My method was essentially to just find the player character's coordinates (I have done this in the past, as I tend to do it for every Tales PC game to look at debug rooms and such), after I use Cheat Engine's "Find out what accesses this address", let it run for a bit, and start noping out each address hoping it would result on something (it did), I found a few that let me pass through walls (with different results) and one of them was what I needed, after which I loaded the address into Ghidra for easier visiblity, then I traced back what modified that value.
In my small testing, in the room where you walk up to the Tower of Salvation, on GC you can walk next to the stairs without gaining height, on the PC ver, no matter where you are, you will gain height if you proceed northwest, so that's why I was confused a bit.
I probably wouldn't have found it so fast if the GC code wasn't already there though. Hopefully that helps. And you're welcome.
Definitely, looks like they added a Z plane check, forcing the Player to always align with Terrain Z unlike the GC which allows you to clip through Terrain as well. Which really isn't a huge problem.
I'll probably dig some more, but the info, helped a lot! I must try out Ghidra, I use IDA as it's what I've been using for.. close to two decades now..
Ahh, that would explain why the code generated from GC and PC are so different.
From what I've heard, there isn't much point to Ghidra if you already have IDA and it works for you, but then again, Ghidra is free so you can always see how it compares to IDA :)
Also, here's a small little bit of fun I accidentally did while looking for this :) https://cdn.discordapp.com/attachments/685868772216668177/1120108990408429638/2023-06-18_23-52-50.mp4
Hey,
I make cheats for Switch/PC as well, wondering if you were able to help.. with Tales of Symphonia, since you're into the Tales game.
Been trying to port over the Walk Through Walls for the GameCube Version to PC/Switch, but having a heck of a time..
looks like it's just forcing that r3 to 1..
Trying to trace it down, and playing with every OR the game code has, doesn't seem to do anything.
You think you can take a crack at it?