Sanitarium:ActionList
Jump to navigation
Jump to search
opcode: name (parameters)
00: RETURN 01: SET_GAME_FLAG (flag) 02: CLEAR_GAME_FLAG (flag) 03: TOGGLE_GAME_FLAG (flag) 04: JMP_GAME_FLAG (flag, type, destination), type - {0:JumpIfNotSet, 1:JumpIfSet} 05: HIDE_CURSOR 06: SHOW_CURSOR 07: PLAY_ANIM (id,?,?,?) 08: MOVE_SCENE_POSITION (x, y, stepping, waitForComplete, setMotionStatus) stepping - {< 1:Instant, > 0: pixelDelta} 09: HIDE_ACTOR (actorID), actorID - {-1:playerActor} 0A: SHOW_ACTOR (actorID), actorID - {-1:playerActor} 0B: SET_ACTOR_STATS (actorID, x, y, direction, frameNum), actorID - {-1:playerActor} 0C: SET_SCENE_MOTIONSTAT (value) 0D: DISABLE_ACTOR (actor) 0E: ENABLE_ACTOR (actor) 0F: ENABLE_BARRIERS (barrier, ?, ?, ...), [... - Other barriers recursively] 10: RETURN 11: DESTROY_OBJECT (object) 12: 13: 14: 15: 16: RESET_ANIM (object), (object.flag & 0x10000) - {0:sets frame to start, else to end} 17: CLEAR_FLAG_BIT0 18: 19: JMP_FLAG2_BIT0 (object, destination, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1A: SET_FLAG2_BIT0 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1B: CLR_FLAG2_BIT0 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1C: JMP_FLAG2_BIT2 (object, destination, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1D: SET_FLAG2_BIT2 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1E: CLR_FLAG2_BIT2 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 1F: JMP_FLAG2_BIT1 (object, destination, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 20: SET_FLAG2_BIT1 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 21: CLR_FLAG2_BIT1 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 22: 23: 24: 25: RUN_ENCOUNTER (encounterIndex, object1, object2, characterIndex, encounter_flag03, ?) 26: JMP_FLAG2_BIT4 (object, destination, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 27: SET_FLAG2_BIT4 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 28: CLR_FLAG2_BIT4 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 29: SET_ACTOR_FIELD638 (actor, value) 2A: JMP_ACTOR_FIELD638 (actor, value, destination) 2B: CHANGE_SCENE (numChapter) 2C: 2D: PLAY_MOVIE (movieID, matteOption, ?) 2E: STOP_ALL_OBJECT_SOUNDS (object) 2F: SET_ACTION_FLAG01 30: CLR_ACTION_FLAG01 31: 32: CHANGE_MUSIC_BY_ID (musicID, musicStatusOption) 33: STOP_MUSIC 34: 35: 36: 37: RUN_BLOWUP_PUZZLE (blowUpPuzzleIdx) 38: JMP_FLAG2_BIT3 (object, destination, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 39: SET_FLAG2_BIT3 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 3A: CLR_FLAG2_BIT3 (object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 3B: 3C: 3D: WAIT_UNTIL_FRAME (object, frame), frame - {-1:WaitUntilCompletion, > -1:frameNum} 3E: 3F: 40: 41: PLAY_SPEECH (sound, ?, ?, ?, ?, ?) 42: 43: CENTER_SCENE_ON_ACTOR (actorID, valueForFieldA0, waitForComplete, ?, ?, setMotionStatus), actorID - {-1:playerActor} 44: PALETTE_FADE (milliseconds, ?) 45: START_PALETTE_FADE (milliseconds, ?) 46: 47: FACE_OBJECT (actor, object, objectType), objectType - {<= 0:Barrier, == 1:ActionItem, > 1:Actor} 48: 49: 4A: JMP_SND_PLAYING (sound, destination, type), type - {0:JumpIfNotSet, 1:JumpIfSet} 4B: CHANGE_PLAYER_CHAR_IDX (actor) 4C: 4D: STOP_SOUND (sound) 4E: 4F: DRAW_GAME (value), value - {boolean} 50: QUIT 51: JMP_IF_OBJ_FRAME (object, frameNum, CurrFrameNotEqual, CurrFrameNotLess, CurrFrameNotGreater, CurrFrameNotLessOrEqual, CurrFrameNotGreaterOrEqual, CurrFrameEqual, destination)