aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/lol.h
diff options
context:
space:
mode:
authorFlorian Kagerer2009-05-21 16:46:40 +0000
committerFlorian Kagerer2009-05-21 16:46:40 +0000
commit6bd5dea027245d617687b7e4a4b76b52d84ce52d (patch)
tree763080d033fb4e8c4209742f907df481029e1b8d /engines/kyra/lol.h
parent6e93825b2e4d512d082bc8748ee169a09a234a94 (diff)
downloadscummvm-rg350-6bd5dea027245d617687b7e4a4b76b52d84ce52d.tar.gz
scummvm-rg350-6bd5dea027245d617687b7e4a4b76b52d84ce52d.tar.bz2
scummvm-rg350-6bd5dea027245d617687b7e4a4b76b52d84ce52d.zip
LOL: - implemented freeze spell
- fixed saveload code - added some opcode for the swamp svn-id: r40763
Diffstat (limited to 'engines/kyra/lol.h')
-rw-r--r--engines/kyra/lol.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h
index 79c7ead338..fa1d58fac4 100644
--- a/engines/kyra/lol.h
+++ b/engines/kyra/lol.h
@@ -568,7 +568,7 @@ private:
uint16 _currentBlock;
bool _sceneUpdateRequired;
int16 _visibleBlockIndex[18];
- uint16 _gameFlags[16];
+ uint16 _gameFlags[40];
int16 _globalScriptVars[24];
// emc opcode
@@ -639,6 +639,7 @@ private:
int olol_createHandItem(EMCState *script);
int olol_playAttackSound(EMCState *script);
int olol_characterJoinsParty(EMCState *script);
+ int olol_giveItem(EMCState *script);
int olol_loadTimScript(EMCState *script);
int olol_runTimScript(EMCState *script);
int olol_releaseTimScript(EMCState *script);
@@ -710,6 +711,7 @@ private:
int olol_getNextActiveCharacter(EMCState *script);
int olol_paralyzePoisonCharacter(EMCState *script);
int olol_drawCharPortrait(EMCState *script);
+ int olol_placeInventoryItemInHand(EMCState *script);
int olol_castSpell(EMCState *script);
int olol_pitDrop(EMCState *script);
int olol_paletteFlash(EMCState *script);
@@ -967,7 +969,6 @@ private:
const uint8 *_scrollYBottom;
int _scrollYBottomSize;
- int _unkFlag;
int _nextScriptFunc;
uint8 _currentLevel;
int _sceneDefaultUpdate;
@@ -1270,6 +1271,8 @@ private:
int checkMagic(int charNum, int spellNum, int spellLevel);
int getSpellTargetBlock(int currentBlock, int direction, int maxDistance, uint16 &targetBlock);
void inflictMagicalDamage(int target, int attacker, int damage, int index, int hitType);
+ void inflictMagicalDamageForBlock(int block, int attacker, int damage, int index);
+
ActiveSpell _activeSpell;
int8 _availableSpells[7];
@@ -1278,7 +1281,6 @@ private:
int _spellPropertiesSize;
int _subMenuIndex;
- uint16 _freezeStateFlags;
uint8 *_healOverlay;
uint8 _swarmSpellStatus;
@@ -1311,12 +1313,12 @@ private:
int paralyzePoisonCharacter(int charNum, int typeFlag, int immunityFlags, int hitChance, int redraw);
void paralyzePoisonAllCharacters(int typeFlag, int immunityFlags, int hitChance);
void stunCharacter(int charNum);
- void level11specialUnk();
+ void restoreSwampPalette();
void distObj1Sub(int a, int b, int c, int d);
void launchMagicViper();
- void attackWall(int a, int b);
+ void breakIceWall(uint8 *pal1, uint8 *pal2);
uint16 getNearestMonsterFromCharacter(int charNum);
uint16 getNearestMonsterFromCharacterForBlock(uint16 block, int charNum);