aboutsummaryrefslogtreecommitdiff
path: root/kyra/kyra.h
diff options
context:
space:
mode:
authorJohannes Schickel2005-12-09 23:02:16 +0000
committerJohannes Schickel2005-12-09 23:02:16 +0000
commitb57f03697541b21c981dcf153354163671773720 (patch)
tree5cad701f25ab12996c8dc860ff8355758741724a /kyra/kyra.h
parent775386459972b43308de3f82edf75660ad5e2161 (diff)
downloadscummvm-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.h9
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;