Sly 2:Circle Button Interacts

Circle Button Interacts
Game Mechanic
GameSly 2: Band of Thieves

Circle button interacts, such as pipes and door entrance triggers, have their own structs. However, unlike normal map objects, they only pool in specific circumstances, so the ones that don't pool have static map-specific addresses. Unless otherwise specified, changes to these objects' structs take effect immediately and without a map reload, and can be found by interacting with them using Sly and using the "last collision touched" pointer.

Poles

Pole Interact
Data Structure
GameSly 2: Band of Thieves

Poles, or any object that acts like them (Sly holds his cane in his mouth) are objects independent of the actual pole model. They contain an invisible spline with varying amounts of points depending on the size and shape of the pole. Note that pole interacts attached to pool-able poles do pool along with them. These may also stop working and/or despawn if moved too far away from their assigned pole object.

The struct is relatively short. The pole right outside the Paris safehouse is used here as an example:

Green: Start of the struct, which contains important information such as the object's ID as well as various pointers to relevant data, including the actual pole object, likely to borrow some properties from it. The specifics of the various pointers have not been thoroughly researched.

Dark Blue: Has not been researched.

Orange: The transform component for the entire spline, containing coordinates and rotation matrix. These don't need a map reload for changes to them to take effect. Note that some poles contain an extra transformation matrix above the normal one. If you want to make position changes to these, you'll need to change the first two set of coordinates. The first one controls the location Sly gravitates towards, the normal transform coordinates only control its position visually.

Magenta: Controls character-specific interactions when nearby. The "FFFFFFFF" can be changed to a text string ID, which causes it to display that string in the infobox GUI element, just like doors that warn you about abandoning jobs. If you climb the pole then jump off, an icon for that character will appear and follow you just like the sparkles do. The "00000001" dictates which character can use the pole. Setting it to 00000002 makes the makes it stop emitting blue sparkles and start emitting green sparkles, letting Bentley climb it with his unused climbing ability. Setting it to 00000004 does the same thing but purple particles and Murray. Setting it to 00000000 essentially disables the pole. Setting it to 000000FF makes the interact work with all characters, removing the need to use conditionals to let different characters use the interact. Values such as 3, 5, 6, and higher act like 1, 2, and 4, so the value's entire purpose is unknown. Poles are the only Thief Move-related circle button object other than Sneak Triggers that Bentley and Murray can interact with.

Cyan: Contains data related to the spline points, but not the actual positions themselves, including Sly's position on the pole. Needs more research.

Yellow: Contains the coordinates of each spline point relative to the center of the spline.

Red: Has not been researched.

Ropes

Rope Interact
Data Structure
GameSly 2: Band of Thieves

Ropes, or any object that acts like them (Sly runs/slides along them) are objects independent of the actual rope model. They contain an invisible spline with varying amounts of points depending on the size or shape of the pole.

The struct is slightly shorter than pole structs, however they contain more unknown data. A rope next to the Paris safehouse is used here as an example:

Green: Start of the struct, which contains important information such as the object's ID as well as various pointers to relevant data, including the actual rope object, likely to borrow some properties from it. The specifics of the various pointers have not been thoroughly researched.

Dark Blue: Has not been researched.

Orange: The transform component for the entire spline, containing coordinates and rotation matrix.

Magenta: Has not been researched.

Cyan: Contains data related to the spline points, but not the actual positions themselves. More data exists here that does not exist in pole structs, some of which resist change while Sly is interacting with the rope. This element needs more research. The "FFFFFFFF" can be changed to a text string ID, which causes it to display that string in the infobox GUI element, just like doors that warn you about abandoning jobs. If you walk along the rope then jump off, a Sly icon will appear and follow you just like the sparkles do. The "00000007" behaves just like the "00000001" in pole structs, however since only Sly can use them, it doesn't appear to serve much of a purpose. The values that emit blue sparles for poles also do the same thing here. The "00000000" directly below this dictates whether the rope is a slidy rope. Changing this to 00000001 or higher will turn a normal rope into a slidy one, and vice versa.

Yellow: Contains the coordinates of each spline point relative to the center of the spline, however this is jumbled up with many other seemingly unrelated sets of coordinates which also resist change when Sly is interacting with the rope. Additionally, changes made to the points' relative coordinates don't act the same compared to poles, being adjusted in unusual and inconsistent amounts, and often in random directions despite modifying one axis. More research needed.

Spire Points

Spire Point Interact
Data Structure
GameSly 2: Band of Thieves

Spire Points, or any objects that act like them (Sly lands on them and can rotate) are objects independent of the actual spire point model.

Their structs are one of the smallest out of all the Circle Button Interacts, usually fitting within a Cheat Engine memory viewer window:

Red: Start of the struct, which contains important information such as the object's ID as well as various pointers to relevant data. The specifics of the various pointers have not been thoroughly researched.

Yellow: Transform component. Usually you only have to modify the top set of coordinates and size floats, the bottom set immediately changing to match.

Cyan: The "FFFFFFFF" can be changed to a text string ID, which causes it to display that string in the infobox GUI element, just like doors that warn you about abandoning jobs. If you land on the spire point then jump off, a Sly icon will appear and hover over it. The "00000007" behaves just like the "00000001" in pole structs, however since only Sly can use them, it doesn't appear to serve much of a purpose. The values that emit blue sparles for poles also do the same thing here.

Green: Has not been researched.

Cane Swings

Cane Swing Interact
Data Structure
GameSly 2: Band of Thieves

Wall Hooks

Wall Hook Interact
Data Structure
GameSly 2: Band of Thieves

Crawlspaces

Crawlspace Interact
Data Structure
GameSly 2: Band of Thieves

Logo Interact Triggers

Logo Interact
Data Structure
GameSly 2: Band of Thieves

Sneak Triggers

Sneak Interact
Data Structure
GameSly 2: Band of Thieves

Statue Sneak Points

Statue Sneak Point Interact
Data Structure
GameSly 2: Band of Thieves

Ice Walls

Ice Wall Interact
Data Structure
GameSly 2: Band of Thieves