Prev: 53749 Up: Map Next: 53812
53758: Script Routine: (70) Vat action
Clear the vat's busy bit and reset it onto the post-reset script at 53236.
Input
IX Address of complex state data for an entity
ScriptRoutine_VatClearBit6AndReset 53758 BIT 6,(IX+9) Is bit 6 of the current entity's direction / state set? If not, jump to AdvanceScriptInstruction.
53762 JP Z,AdvanceScriptInstruction
53765 RES 6,(IX+9) Reset bit 6 of the current entity's direction / state.
53769 PUSH IX Stash IX on the stack.
53771 LD IX,(53045) Load IX from TemporaryEntityPointer_Misc.
53775 LD (IX+0),0 Write 0 to the current entity's entity type.
53779 BIT 5,(IX+1) Is bit 5 of the current entity's flags byte 1 set? If not, jump to ScriptRoutine_VatClearBit6AndReset_RestoreQueueSound.
53783 JR Z,ScriptRoutine_VatClearBit6AndReset_RestoreQueueSound
53785 LD IX,37019 Point IX at the camera-follow entity (StateData_Berk).
53789 SET 0,(IX+3) Set bit 0 of the current entity's flags byte 3.
53793 LD HL,47669 Point HL at Berk script data BerkPutDownScript_CameraFollow.
53796 LD (29361),HL Store HL in Berk's script position pointer (Pointer_BerkScriptPosition).
Restore IX, queue the vat sound, and run the post-reset script at 53236.
ScriptRoutine_VatClearBit6AndReset_RestoreQueueSound 53799 POP IX Restore IX from the stack.
53801 LD A,17 Load A with sound index 17.
53803 CALL Queue_Sound Call Queue_Sound to queue a sound effect.
53806 LD HL,53236 Point HL at Drutt script data 53236.
53809 JP ScriptInstruction Jump to ScriptInstruction to execute the script instruction at HL.
Prev: 53749 Up: Map Next: 53812