ScummVM API documentation
Gob::Goblin Class Referenceabstract
Inheritance diagram for Gob::Goblin:
Gob::Goblin_v1 Gob::Goblin_v2 Gob::Goblin_v3 Gob::Goblin_v4 Gob::Goblin_v7

Classes

struct  Gob_Object
 
struct  Gob_Pos
 
struct  Gob_State
 

Public Types

typedef Gob_StateGob_PState
 
typedef Gob_PState Gob_StateLine[6]
 

Public Member Functions

char rotateState (int16 from, int16 to)
 
void playSound (SoundDesc &snd, int16 repCount, int16 freq)
 
void drawObjects ()
 
void animateObjects ()
 
int16 getObjMaxFrame (Gob_Object *obj)
 
bool 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 zeroObjects ()
 
void freeAllObjects ()
 
void loadObjects (const char *source)
 
void initVarPointers ()
 
void saveGobDataToVars (int16 xPos, int16 yPos, int16 someVal)
 
void loadGobDataFromVars ()
 
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)
 
void setState (int16 index, int16 state)
 
void updateLayer1 (Mult::Mult_AnimData *animData)
 
void updateLayer2 (Mult::Mult_AnimData *animData)
 
void move (int16 destX, int16 destY, int16 objIndex)
 
void animate (Mult::Mult_Object *obj)
 
virtual void handleGoblins ()=0
 
virtual void placeObject (Gob_Object *objDesc, char animated, int16 index, int16 x, int16 y, int16 state)=0
 
virtual void freeObjects ()=0
 
virtual void initiateMove (Mult::Mult_Object *obj)=0
 
virtual void moveAdvance (Mult::Mult_Object *obj, Gob_Object *gobDesc, int16 nextAct, int16 framesCount)=0
 
virtual void setGoblinState (Mult::Mult_Object *obj, int16 animState)
 
 Goblin (GobEngine *vm)
 

Public Attributes

struct Gob::Goblin::Gob_State PACKED_STRUCT
 
struct Gob::Goblin::Gob_Object PACKED_STRUCT
 
struct Gob::Goblin::Gob_Pos PACKED_STRUCT
 
Gob_Object_goblins [4]
 
int16 _currentGoblin
 
SoundDesc _soundData [16]
 
int16 _gobStateLayer
 
char _goesAtTarget
 
char _readyToAct
 
int16 _gobAction
 
Gob_Pos _gobPositions [3]
 
int16 _gobDestX
 
int16 _gobDestY
 
int16 _pressedMapX
 
int16 _pressedMapY
 
char _pathExistence
 
VariableReference _some0ValPtr
 
VariableReference _gobRetVarPtr
 
VariableReference _curGobVarPtr
 
VariableReference _curGobXPosVarPtr
 
VariableReference _curGobYPosVarPtr
 
VariableReference _itemInPocketVarPtr
 
VariableReference _curGobStateVarPtr
 
VariableReference _curGobFrameVarPtr
 
VariableReference _curGobMultStateVarPtr
 
VariableReference _curGobNextStateVarPtr
 
VariableReference _curGobScrXVarPtr
 
VariableReference _curGobScrYVarPtr
 
VariableReference _curGobLeftVarPtr
 
VariableReference _curGobTopVarPtr
 
VariableReference _curGobRightVarPtr
 
VariableReference _curGobBottomVarPtr
 
VariableReference _curGobDoAnimVarPtr
 
VariableReference _curGobOrderVarPtr
 
VariableReference _curGobNoTickVarPtr
 
VariableReference _curGobTypeVarPtr
 
VariableReference _curGobMaxTickVarPtr
 
VariableReference _curGobTickVarPtr
 
VariableReference _curGobActStartStateVarPtr
 
VariableReference _curGobLookDirVarPtr
 
VariableReference _curGobPickableVarPtr
 
VariableReference _curGobRelaxVarPtr
 
VariableReference _curGobMaxFrameVarPtr
 
VariableReference _destItemStateVarPtr
 
VariableReference _destItemFrameVarPtr
 
VariableReference _destItemMultStateVarPtr
 
VariableReference _destItemNextStateVarPtr
 
VariableReference _destItemScrXVarPtr
 
VariableReference _destItemScrYVarPtr
 
VariableReference _destItemLeftVarPtr
 
VariableReference _destItemTopVarPtr
 
VariableReference _destItemRightVarPtr
 
VariableReference _destItemBottomVarPtr
 
VariableReference _destItemDoAnimVarPtr
 
VariableReference _destItemOrderVarPtr
 
VariableReference _destItemNoTickVarPtr
 
VariableReference _destItemTypeVarPtr
 
VariableReference _destItemMaxTickVarPtr
 
VariableReference _destItemTickVarPtr
 
VariableReference _destItemActStartStVarPtr
 
VariableReference _destItemLookDirVarPtr
 
VariableReference _destItemPickableVarPtr
 
VariableReference _destItemRelaxVarPtr
 
VariableReference _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
 
int16 _soundSlotsCount
 
int16 _soundSlots [60]
 
bool _gob1Busy
 
bool _gob2Busy
 
int16 _gob1RelaxTimeVar
 
int16 _gob2RelaxTimeVar
 
bool _gob1NoTurn
 
bool _gob2NoTurn
 

Protected Member Functions

int16 peekGoblin (Gob_Object *curGob)
 
void initList ()
 
void sortByOrder (Util::List *list)
 
void adjustDest (int16 posX, int16 posY)
 
void adjustTarget ()
 
void targetDummyItem (Gob_Object *gobDesc)
 
void targetItem ()
 
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 playSounds (Mult::Mult_Object *obj)
 
virtual bool isMovement (int8 state)=0
 
virtual void advMovement (Mult::Mult_Object *obj, int8 state)=0
 
virtual void movePathFind (Mult::Mult_Object *obj, Gob_Object *gobDesc, int16 nextAct)=0
 

Protected Attributes

Util::List_objList
 
int16 _rotStates [4][4]
 
GobEngine_vm
 

The documentation for this class was generated from the following file: