aboutsummaryrefslogtreecommitdiff
path: root/gob/goblin.h
diff options
context:
space:
mode:
authorMax Horn2006-02-11 22:45:04 +0000
committerMax Horn2006-02-11 22:45:04 +0000
commit26ee630756ebdd7c96bccede0881a8c8b98e8f2b (patch)
tree26e378d5cf990a2b81c2c96e9e683a7f333b62e8 /gob/goblin.h
parent2a9a0d4211b1ea5723f1409d91cb95de8984429e (diff)
downloadscummvm-rg350-26ee630756ebdd7c96bccede0881a8c8b98e8f2b.tar.gz
scummvm-rg350-26ee630756ebdd7c96bccede0881a8c8b98e8f2b.tar.bz2
scummvm-rg350-26ee630756ebdd7c96bccede0881a8c8b98e8f2b.zip
Moved engines to the new engines/ directory
svn-id: r20582
Diffstat (limited to 'gob/goblin.h')
-rw-r--r--gob/goblin.h231
1 files changed, 0 insertions, 231 deletions
diff --git a/gob/goblin.h b/gob/goblin.h
deleted file mode 100644
index 858bf247ae..0000000000
--- a/gob/goblin.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2004 Ivan Dubrov
- * Copyright (C) 2004-2006 The ScummVM project
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-#ifndef GOB_GOBLIN_H
-#define GOB_GOBLIN_H
-
-#include "gob/util.h"
-#include "gob/sound.h"
-
-namespace Gob {
-
-#define TYPE_USUAL 0
-#define TYPE_AMORPHOUS 1
-#define TYPE_MOBILE 3
-
-class Goblin {
-public:
-#pragma START_PACK_STRUCTS
- struct Gob_State {
- int16 animation;// +0h
- int16 layer; // +2h
- int16 unk0; // +4h
- int16 unk1; // +6h
- int16 sndItem; // +8h, high/low byte - sound sample index
- int16 freq; // +Ah, high/low byte * 100 - frequency
- int16 repCount; // +Ch high/low byte - repeat count
- int16 sndFrame; // +Eh
- } GCC_PACK;
-
- typedef Gob_State *Gob_PState;
-
- typedef Gob_PState Gob_StateLine[6];
-
- struct Gob_Object {
- int16 animation; // +0h
- int16 state; // +2h
- int16 stateColumn; // +4h
- int16 curFrame; // +6h
- int16 xPos; // +8h
- int16 yPos; // +Ah
- int16 dirtyLeft; // +Ch
- int16 dirtyTop; // +Eh
- int16 dirtyRight; // +10h
- int16 dirtyBottom; // +12h
- int16 left; // +14h
- int16 top; // +16h
- int16 right; // +18h
- int16 bottom; // +1ah
- int16 nextState; // +1ch
- int16 multState; // +1eh
- int16 actionStartState; // +20h
- int16 curLookDir; // +22h
- int16 pickable; // +24h
- int16 relaxTime; // +26h
- Gob_StateLine *stateMach; // +28h
- Gob_StateLine *realStateMach; // +2ch
- char doAnim; // +30h
- char order; // +31h
- char noTick; // +32h
- char toRedraw; // +33h
- char type; // +34h
- char maxTick; // +35h
- char tick; // +36h
- char multObjIndex; // +37h, from which play mult animations
- char unk14; // +38h
- char visible; // +39h
- } GCC_PACK;
-
- struct Gob_Pos {
- char x;
- char y;
- } GCC_PACK;
-#pragma END_PACK_STRUCTS
-
- Util::List *_objList;
- Gob_Object *_goblins[4];
- int16 _currentGoblin;
- Snd::SoundDesc *_soundData[16];
- int16 _gobStateLayer;
- char _goesAtTarget;
- char _readyToAct;
- int16 _gobAction; // 0 - move, 3 - do action, 4 - pick
- // goblins 0 - picker, 1 - fighter, 2 - mage
- Gob_Pos _gobPositions[3];
- int16 _gobDestX;
- int16 _gobDestY;
- int16 _pressedMapX;
- int16 _pressedMapY;
- char _pathExistence;
-
- // Pointers to interpreter variables
- int32 *_some0ValPtr;
-
- int32 *_gobRetVarPtr;
- int32 *_curGobVarPtr;
- int32 *_curGobXPosVarPtr;
- int32 *_curGobYPosVarPtr;
- int32 *_itemInPocketVarPtr;
-
- int32 *_curGobStateVarPtr;
- int32 *_curGobFrameVarPtr;
- int32 *_curGobMultStateVarPtr;
- int32 *_curGobNextStateVarPtr;
- int32 *_curGobScrXVarPtr;
- int32 *_curGobScrYVarPtr;
- int32 *_curGobLeftVarPtr;
- int32 *_curGobTopVarPtr;
- int32 *_curGobRightVarPtr;
- int32 *_curGobBottomVarPtr;
- int32 *_curGobDoAnimVarPtr;
- int32 *_curGobOrderVarPtr;
- int32 *_curGobNoTickVarPtr;
- int32 *_curGobTypeVarPtr;
- int32 *_curGobMaxTickVarPtr;
- int32 *_curGobTickVarPtr;
- int32 *_curGobActStartStateVarPtr;
- int32 *_curGobLookDirVarPtr;
- int32 *_curGobPickableVarPtr;
- int32 *_curGobRelaxVarPtr;
- int32 *_curGobMaxFrameVarPtr;
-
- int32 *_destItemStateVarPtr;
- int32 *_destItemFrameVarPtr;
- int32 *_destItemMultStateVarPtr;
- int32 *_destItemNextStateVarPtr;
- int32 *_destItemScrXVarPtr;
- int32 *_destItemScrYVarPtr;
- int32 *_destItemLeftVarPtr;
- int32 *_destItemTopVarPtr;
- int32 *_destItemRightVarPtr;
- int32 *_destItemBottomVarPtr;
- int32 *_destItemDoAnimVarPtr;
- int32 *_destItemOrderVarPtr;
- int32 *_destItemNoTickVarPtr;
- int32 *_destItemTypeVarPtr;
- int32 *_destItemMaxTickVarPtr;
- int32 *_destItemTickVarPtr;
- int32 *_destItemActStartStVarPtr;
- int32 *_destItemLookDirVarPtr;
- int32 *_destItemPickableVarPtr;
- int32 *_destItemRelaxVarPtr;
- int32 *_destItemMaxFrameVarPtr;
-
- int16 _destItemType;
- int16 _destItemState;
- int16 _itemToObject[20];
- Gob_Object *_objects[20];
- int16 _objCount;
- int16 _gobsCount;
- int16 _itemIndInPocket;
- int16 _itemIdInPocket;
- char _itemByteFlag;
- int16 _destItemId;
- int16 _destActionItem;
- Gob_Object *_actDestItemDesc;
- int16 _forceNextState[10];
- char _boreCounter;
- int16 _positionedGob;
- char _noPick;
-
- // Functions
- char rotateState(int16 from, int16 to);
- void playSound(Snd::SoundDesc * snd, int16 repCount, int16 freq);
- void drawObjects(void);
- void animateObjects(void);
- void placeObject(Gob_Object * objDesc, char animated);
- int16 getObjMaxFrame(Gob_Object * obj);
- int16 objIntersected(Gob_Object * obj1, Gob_Object * obj2);
- void setMultStates(Gob_Object * gobDesc);
- int16 nextLayer(Gob_Object * gobDesc);
- void showBoredom(int16 gobIndex);
- void switchGoblin(int16 index);
- void freeObjects(void);
- void zeroObjects(void);
- void freeAllObjects(void);
- void loadObjects(char *source);
- void initVarPointers(void);
- void saveGobDataToVars(int16 xPos, int16 yPos, int16 someVal);
- void loadGobDataFromVars(void);
- void pickItem(int16 indexToPocket, int16 idToPocket);
- void placeItem(int16 indexInPocket, int16 idInPocket);
- void swapItems(int16 indexToPick, int16 idToPick);
- void treatItemPick(int16 itemId);
- int16 treatItem(int16 action);
- int16 doMove(Gob_Object *gobDesc, int16 cont, int16 action);
-
- Goblin(GobEngine *vm);
-
-protected:
- int16 _rotStates[4][4];
- GobEngine *_vm;
-
- int16 peekGoblin(Gob_Object *curGob);
- void initList(void);
- void sortByOrder(Util::List *list);
- void adjustDest(int16 posX, int16 posY);
- void adjustTarget(void);
- void targetDummyItem(Gob_Object *gobDesc);
- void targetItem(void);
- void initiateMove(void);
- void moveFindItem(int16 posX, int16 posY);
- void moveCheckSelect(int16 framesCount, Gob_Object * gobDesc, int16 *pGobIndex, int16 *nextAct);
- void moveInitStep(int16 framesCount, int16 action, int16 cont,
- Gob_Object *gobDesc, int16 *pGobIndex, int16 *pNextAct);
- void moveTreatRopeStairs(Gob_Object *gobDesc);
- void movePathFind(Gob_Object *gobDesc, int16 nextAct);
- void moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount);
-};
-
-} // End of namespace Gob
-
-#endif /* __GOBLIN_H */