Sly 1:LOCKG: Difference between revisions
m
Fix typo
TheOnlyZac (talk | contribs) (Started struct fields table) |
TheOnlyZac (talk | contribs) m (Fix typo) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1:
{{Infobox data structure
| image= File:Sly 1 SDC 3key unlocking.png
| official= y
}}
Line 11:
The LOCKG struct has the following fields:
{{Struct top}}
{{Struct field|
{{Struct field|offset=|size=
{{Struct field|offset=|size=4|type=struct
{{Struct field||4|int|coidLock|Count of lock OIDs}}
{{Struct field||32|enum OID[8]|aoidLock|Array of lock OIDs}}
{{Struct field|offset=|size=4|type=int|name=cplock|description=Count of locks in the group}}
{{Struct field|offset=|size=32|type=LOCK*[8]|name=aplock|description=Array of lock pointers}}
{{Struct bottom}}
Line 20 ⟶ 24:
== Implementation ==
When the trigger volume associated with a LOCKG is triggered it sets off a sequence of events. It starts with the animation that spawns a
▲When the trigger volume associated with a LOCKG is triggered it sets off a sequence of events. It starts with the animation that spawns a [[Sly 1:KEY]] for each [[Sly 1:LOCK]] in the <code>apLock</code> array. Each key flies to its assigned lock and then despawns.
At some point a message with ID 0xXXX{{check}} is sent to the
If the check passes, it uses the <code>LOCKG->FWS</code> as a bitmask to set the corresponding flag on the FWS of the current WS. It then unlocks the locks and sets the
Once all locks complete their unlock
== Example ==
In Prowling the Grounds, the LOCKG which handles unlocking the cannon is based at address 0xXXXXXX{{check}}. It’s <code>
If the check fails, nothing happens. If the check passes, it sets the SMA goal to 0xXXXXXX{{check}}, which seems to handle removing the lid from the cannon.
Line 37 ⟶ 40:
== Notes ==
* The <code>
{{Navbox Sly 1}}
|