This adds more notifications to the responder to track the door closing
state. This was done to fix some problems observed with the door
clickable being re-enabled by the Python script racing the responder.
Also, fix the door clickable responder in Eder Tsogal to properly
enable/disable the clickable.
- [plResponderModifier] cRespBSDoorOps
Added new plNotifyMsgs for door closing and changed the state numbers
to match the enum in xBlueSpiral.py. Also fixed Eder Tsogal's
responder to properly enable/disable the door clickable, which must
have been missed in the earlier commit.
This turns off the door clickable while the door is animating. This
should prevent the game state from changing due to unexpected user input
during transitions.
- [plResponderModifier] cRespBSDoorOps
Disabled the door clickable when the door begins to open and re-enable
it when the door fully closes. This is done in the responder itself
instead of the code so that the clickable and visual states match
exactly. Previously, the EderTsogal door sent an enable/disable to the
clickable LogicModifier while the EderDelin door did nothing to try to
prevent spurious clicks. The enable/disable of the logic modifier was
maintained by routing the EnableMsg to the SceneObject with an
instruction to enable/disable the physical and route the message to
all modifiers.
This hardens the logic of synchronizing the bahro door animations by
adding an extra notification to the Python script for when the bahro
door begins to open. This also fixes Eder Delin's bahro door
fast-forwarding open the first time the blue spiral game is completed in
that Age.
- [plResponderModifier] cRespBSDoorOps
Added a `plNotifyMsg` back to the Python script at the beginning of
the door open (first) responder state with a state of 0 to indicate
that the door is not yet open. This change requires script changes.
- Eder Delin ONLY [plAGMasterMod] AnimGroupedBSdoorClose_0
Removed the link to the owning `plMsgForwarder` - this link caused
the door to fast-forward open. The field is nulled out in the Tsogal
door, which is known to work correctly.
- plResponderModifier [cRespBSDoorOps], [cSfxRespBSrotation]
Changed all plSoundMsgs in these responders to NOT use the command
`kIsLocalOnly` - this command prevented non-owners from hearing the
door sound effects.
- plPythonFileMod [cPythBlueSpiral]
Added attributes 25 and 26 - BlueSpiral solution and running variable
name strings.
- plCoordinateInterface [tsglBlueSpiralDoorPOS]
Moved the OneShot position up to z=-0.82 to prevent the player from
noticably sinking into the ground when playing the door press
animation at the bahro door.