diff options
author | Johannes Schickel | 2005-12-09 23:02:16 +0000 |
---|---|---|
committer | Johannes Schickel | 2005-12-09 23:02:16 +0000 |
commit | b57f03697541b21c981dcf153354163671773720 (patch) | |
tree | 5cad701f25ab12996c8dc860ff8355758741724a /kyra/kyra.h | |
parent | 775386459972b43308de3f82edf75660ad5e2161 (diff) | |
download | scummvm-rg350-b57f03697541b21c981dcf153354163671773720.tar.gz scummvm-rg350-b57f03697541b21c981dcf153354163671773720.tar.bz2 scummvm-rg350-b57f03697541b21c981dcf153354163671773720.zip |
Fixed bug with wrongly used shapes of items in a room.
Also implemented usage of NPC.EMC in the input function.
And implemented following opcodes:
- cmd_getCharactersLocation
- cmd_setBrandonStatusBit
- cmd_queryScenePhasingFlag
- cmd_resetScenePhasingFlag
- cmd_setScenePhasingFlag
- cmd_phaseInSameScene
- cmd_popMobileNPCIntoScene
- cmd_setCharactersMovementDelay
- cmd_queryBrandonStatusBit
And a fix for the pathfinder and various other functions
using the character positions values so they are now able to handle
negative positions.
svn-id: r19769
Diffstat (limited to 'kyra/kyra.h')
-rw-r--r-- | kyra/kyra.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kyra/kyra.h b/kyra/kyra.h index c85ac18c14..db9d912bc5 100644 --- a/kyra/kyra.h +++ b/kyra/kyra.h @@ -419,6 +419,7 @@ protected: int resetGameFlag(int flag); void enterNewScene(int sceneId, int facing, int unk1, int unk2, int brandonAlive); + void transcendScenes(int roomIndex, int roomName); void moveCharacterToPos(int character, int facing, int xpos, int ypos); void setCharacterPositionWithUpdate(int character); int setCharacterPosition(int character, int *facingTable); @@ -470,6 +471,8 @@ protected: void clickEventHandler2(); void updateMousePointer(); bool hasClickedOnExit(int xpos, int ypos); + int checkForNPCScriptRun(int xpos, int ypos); + void runNpcScript(int func); int countItemsInScene(uint16 sceneId); int processItemDrop(uint16 sceneId, uint8 item, int x, int y, int unk1, int unk2); @@ -484,6 +487,7 @@ protected: void animRemoveGameItem(int index); void animAddGameItem(int index, uint16 sceneId); + void animAddNPC(int character); AnimObject *objectRemoveQueue(AnimObject *queue, AnimObject *rem); AnimObject *objectAddHead(AnimObject *queue, AnimObject *head); @@ -603,6 +607,7 @@ protected: int16 _exitList[11]; SceneExits _sceneExits; uint16 _currentRoom; + int _scenePhasingFlag; uint8 *_maskBuffer; int _sceneChangeState; @@ -640,9 +645,11 @@ protected: Debugger *_debugger; ScriptState *_scriptMain; + + ScriptState *_npcScript; ScriptData *_npcScriptData; - ScriptState *_scriptClick; // TODO: rename to a better name + ScriptState *_scriptClick; ScriptData *_scriptClickData; Character *_characterList; |