SlyCooperReloadCoded

Joined 8 October 2023
no edit summary
No edit summary
No edit summary
Line 1:
'''Personal scratchpad - the results of my experiments and findings can be found here. inb4 some of this leads to massive discoveries.'''
 
'''''Sly 2 stuff:'''''
Sly 2 NTSC-U Episode 5 hub - at address 0x4D8364 is a list that bears a resemblance to the fk$x list, but includes not only entities, but also objects, triggers, invisible things, path points, etc. Each (nameless) entry contains the address that marks the start of its struct, as well as some other info. Unable to find this in any other episode, but it most likely isn't specific to this map. Some things I've been able to find with it include entities like the bats flying around, but also an anchor point for a boat, a bounce-away trigger of some kind, some deactivated triggers, both parts of Sly's cane, and the patrol boat. Everything in the fk$x list probably has entries here.
 
Sly 2 NTSC-U Episode 5 hub - at address 0x4D8364 is a list that bears a resemblance to the fk$x list, but includes not only entities, but also objects, triggers, invisible things, path points, etc. Each (nameless) entry contains the address that marks the start of its struct, as well as some other info. Unable to find this in any other episode, but it most likely isn't specific to this map. Some things I've been able to find with it include entities like the bats flying around, but also an anchor point for a boat, a bounce-away trigger of some kind, some deactivated triggers, both parts of Sly's cane, and the patrol boat. Everything in the fk$x list probably has entries here.
 
"Collision" address on the addresses sheet isn't quite collision, the term "binding" fits it better. Instead of setting it to 0, set certain characters in the value to 0 - sometimes nothing will happen, sometimes the object will lose collision, and sometimes the object will lose its "rigid" behavior and can be pushed around by touching it - the entirety of Arpeggio's blimp can be tossed around, for example. This also removes the object's need for a map reload to change coordinates - it'll update live - then setting that value back to its default will lock it in place again. If you do this to the entire map's struct, large parts of the map model will gain physics, letting you throw mountains around, but most of the time everything but entities will disappear due to being mass-proxied away due to all the entities touching it.
Line 15 ⟶ 17:
Sound volumes exist, just like damage volumes. You can find them by deactivating them through visibility. If you find the right one and set it to 00000000, it will stop emitting sound. -0x2C from there is the start of its struct. I haven't explored this much, but it is weird that an object's sound isn't just part of the object.
 
'''''Sly 3 stuff:'''''
 
Sly 3 also has the pointer for the object touched by Bentley's first bomb: 0x4789FC with an offset of 180. Works the same way. The "last damage plane touched" also exists and is functionally identical. Can be used to find the struct of death planes as well, setting their visibility to 00000000 disables them completely.
 
Sly 3 September build has the same stuff. If you do 0x39DECC with an offset of 0x188 followed by an offset of 0x0, you get pointed to the "last damage plane touched" for the active character, instead of just for one specific character. A first offset of 0xA40 will take you to "collision touched" instead.