aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/eobcommon.h
diff options
context:
space:
mode:
authorathrxx2011-08-06 00:40:53 +0200
committerJohannes Schickel2011-12-26 16:18:13 +0100
commitbac0caeb0ff712fe9002985c44c1ea651b86e018 (patch)
tree5fbfbe57957f441f07e7b644ba402fb21c5f1f40 /engines/kyra/eobcommon.h
parentaab9e62247af1c22772bb79821675fbab06c047d (diff)
downloadscummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.tar.gz
scummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.tar.bz2
scummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.zip
KYRA: (EOB) - lots of fixes towards EOB1 playability
also implement some new code (EOB1 portals, burning hands spell, etc.)
Diffstat (limited to 'engines/kyra/eobcommon.h')
-rw-r--r--engines/kyra/eobcommon.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/kyra/eobcommon.h b/engines/kyra/eobcommon.h
index 7ebc883f3e..33b4a2fc2d 100644
--- a/engines/kyra/eobcommon.h
+++ b/engines/kyra/eobcommon.h
@@ -508,6 +508,7 @@ protected:
void updateMonsters(int unit);
void updateMonsterDest(EobMonsterInPlay *m);
void updateMonsterDest2(EobMonsterInPlay *m);
+ void updateAllMonsterDests();
void turnFriendlyMonstersHostile();
int getNextMonsterDirection(int curBlock, int destBlock);
int getNextMonsterPos(EobMonsterInPlay *m, int block);
@@ -619,11 +620,12 @@ protected:
const uint8 *_dscDoorScaleMult2;
const uint8 *_dscDoorScaleMult3;
const uint8 *_dscDoorY1;
+ const uint8 *_dscDoorXE;
const uint8 *_wllFlagPreset;
int _wllFlagPresetSize;
const uint8 *_teleporterShapeCoords;
- const uint8 *_portalSeq;
+ const int8 *_portalSeq;
// Script
void runLevelScript(int block, int flags);
@@ -633,6 +635,7 @@ protected:
const uint8 *initScriptTimers(const uint8 *pos);
void updateScriptTimers();
+ virtual void updateScriptTimersExtra() {}
EobInfProcessor *_inf;
int _stepCounter;
@@ -803,7 +806,7 @@ protected:
int restParty_getCharacterWithLowestHp();
bool restParty_checkHealSpells(int charIndex);
bool restParty_checkSpellsToLearn();
- virtual void restParty_npc();
+ virtual void restParty_npc() {}
virtual bool restParty_extraAbortCondition();
// misc
@@ -840,6 +843,8 @@ protected:
const char *_rrNames[10];
int8 _rrId[10];
+ bool _allowSkip;
+
Screen_Eob *_screen;
GUI_Eob *_gui;
@@ -881,6 +886,7 @@ protected:
int _dstMonsterIndex;
bool _preventMonsterFlash;
int16 _foundMonstersArray[5];
+ int8 _monsterBlockPosArray[6];
// magic
void useMagicBookOrSymbol(int charIndex, int type);
@@ -969,6 +975,7 @@ protected:
void spellCallback_start_heal();
void spellCallback_start_layOnHands();
void spellCallback_start_turnUndead();
+ bool spellCallback_end_kuotoaAttack(EobFlyingObject *fo);
bool spellCallback_end_unk1Passive(EobFlyingObject *fo);
bool spellCallback_end_unk2Passive(EobFlyingObject *fo);
bool spellCallback_end_deathSpellPassive(EobFlyingObject *fo);
@@ -1038,6 +1045,7 @@ protected:
const uint8 *_magicFlightObjectProperties;
const uint8 *_turnUndeadEffect;
+ const uint8 *_burningHandsDest;
// Menu
EobMenuDef *_menuDefs;