aboutsummaryrefslogtreecommitdiff
path: root/gob/goblin.cpp
diff options
context:
space:
mode:
authorSven Hesse2006-01-07 22:28:54 +0000
committerSven Hesse2006-01-07 22:28:54 +0000
commitfdd5cfb635e4f37c18fc86469c1140b6b90dd901 (patch)
tree48cee91fb47786e0ab2f67afa2f3c7e3eeb6c0dd /gob/goblin.cpp
parentc5da1bb276ddbc41d788e6abcae47624a5493355 (diff)
downloadscummvm-rg350-fdd5cfb635e4f37c18fc86469c1140b6b90dd901.tar.gz
scummvm-rg350-fdd5cfb635e4f37c18fc86469c1140b6b90dd901.tar.bz2
scummvm-rg350-fdd5cfb635e4f37c18fc86469c1140b6b90dd901.zip
Added initial support for ADL music files; continued underscoring of member variables
svn-id: r19937
Diffstat (limited to 'gob/goblin.cpp')
-rw-r--r--gob/goblin.cpp1786
1 files changed, 893 insertions, 893 deletions
diff --git a/gob/goblin.cpp b/gob/goblin.cpp
index 91597d8f13..98158dcaa8 100644
--- a/gob/goblin.cpp
+++ b/gob/goblin.cpp
@@ -36,130 +36,130 @@
namespace Gob {
Goblin::Goblin(GobEngine *vm) : _vm(vm) {
- goesAtTarget = 0;
- readyToAct = 0;
- gobAction = 0;
- itemIndInPocket = 5;
- itemIdInPocket = 2;
- itemByteFlag = 0;
- destItemId = -1;
- destActionItem = 0;
- actDestItemDesc = 0;
- forceNextState[0] = -1;
- forceNextState[1] = -1;
- forceNextState[2] = -1;
- forceNextState[3] = -1;
- forceNextState[4] = -1;
- forceNextState[5] = -1;
- forceNextState[6] = -1;
- forceNextState[7] = 0;
- forceNextState[8] = 0;
- forceNextState[9] = 0;
-
- rotStates[0][0] = 0; rotStates[0][1] = 22; rotStates[0][2] = 23; rotStates[0][3] = 24;
- rotStates[1][0] = 13; rotStates[1][1] = 2; rotStates[1][2] = 12; rotStates[1][3] = 14;
- rotStates[2][0] = 16; rotStates[2][1] = 15; rotStates[2][2] = 4; rotStates[2][3] = 17;
- rotStates[3][0] = 27; rotStates[3][1] = 25; rotStates[3][2] = 26; rotStates[3][3] = 6;
-
- boreCounter = 0;
- positionedGob = 5;
-
- noPick = 0;
- objList = 0;
+ _goesAtTarget = 0;
+ _readyToAct = 0;
+ _gobAction = 0;
+ _itemIndInPocket = 5;
+ _itemIdInPocket = 2;
+ _itemByteFlag = 0;
+ _destItemId = -1;
+ _destActionItem = 0;
+ _actDestItemDesc = 0;
+ _forceNextState[0] = -1;
+ _forceNextState[1] = -1;
+ _forceNextState[2] = -1;
+ _forceNextState[3] = -1;
+ _forceNextState[4] = -1;
+ _forceNextState[5] = -1;
+ _forceNextState[6] = -1;
+ _forceNextState[7] = 0;
+ _forceNextState[8] = 0;
+ _forceNextState[9] = 0;
+
+ _rotStates[0][0] = 0; _rotStates[0][1] = 22; _rotStates[0][2] = 23; _rotStates[0][3] = 24;
+ _rotStates[1][0] = 13; _rotStates[1][1] = 2; _rotStates[1][2] = 12; _rotStates[1][3] = 14;
+ _rotStates[2][0] = 16; _rotStates[2][1] = 15; _rotStates[2][2] = 4; _rotStates[2][3] = 17;
+ _rotStates[3][0] = 27; _rotStates[3][1] = 25; _rotStates[3][2] = 26; _rotStates[3][3] = 6;
+
+ _boreCounter = 0;
+ _positionedGob = 5;
+
+ _noPick = 0;
+ _objList = 0;
for (int i = 0; i < 4; i++)
- goblins[i] = 0;
- currentGoblin = 0;
+ _goblins[i] = 0;
+ _currentGoblin = 0;
for (int i = 0; i < 16; i++)
- soundData[i] = 0;
+ _soundData[i] = 0;
for (int i = 0; i < 3; i++) {
- gobPositions[i].x = 0;
- gobPositions[i].y = 0;
+ _gobPositions[i].x = 0;
+ _gobPositions[i].y = 0;
}
- gobDestX = 0;
- gobDestY = 0;
- pressedMapX = 0;
- pressedMapY = 0;
- pathExistence = 0;
-
- some0ValPtr = 0;
-
- gobRetVarPtr = 0;
- curGobVarPtr = 0;
- curGobXPosVarPtr = 0;
- curGobYPosVarPtr = 0;
- itemInPocketVarPtr = 0;
-
- curGobStateVarPtr = 0;
- curGobFrameVarPtr = 0;
- curGobMultStateVarPtr = 0;
- curGobNextStateVarPtr = 0;
- curGobScrXVarPtr = 0;
- curGobScrYVarPtr = 0;
- curGobLeftVarPtr = 0;
- curGobTopVarPtr = 0;
- curGobRightVarPtr = 0;
- curGobBottomVarPtr = 0;
- curGobDoAnimVarPtr = 0;
- curGobOrderVarPtr = 0;
- curGobNoTickVarPtr = 0;
- curGobTypeVarPtr = 0;
- curGobMaxTickVarPtr = 0;
- curGobTickVarPtr = 0;
- curGobActStartStateVarPtr = 0;
- curGobLookDirVarPtr = 0;
- curGobPickableVarPtr = 0;
- curGobRelaxVarPtr = 0;
- curGobMaxFrameVarPtr = 0;
-
- destItemStateVarPtr = 0;
- destItemFrameVarPtr = 0;
- destItemMultStateVarPtr = 0;
- destItemNextStateVarPtr = 0;
- destItemScrXVarPtr = 0;
- destItemScrYVarPtr = 0;
- destItemLeftVarPtr = 0;
- destItemTopVarPtr = 0;
- destItemRightVarPtr = 0;
- destItemBottomVarPtr = 0;
- destItemDoAnimVarPtr = 0;
- destItemOrderVarPtr = 0;
- destItemNoTickVarPtr = 0;
- destItemTypeVarPtr = 0;
- destItemMaxTickVarPtr = 0;
- destItemTickVarPtr = 0;
- destItemActStartStVarPtr = 0;
- destItemLookDirVarPtr = 0;
- destItemPickableVarPtr = 0;
- destItemRelaxVarPtr = 0;
- destItemMaxFrameVarPtr = 0;
-
- destItemType = 0;
- destItemState = 0;
+ _gobDestX = 0;
+ _gobDestY = 0;
+ _pressedMapX = 0;
+ _pressedMapY = 0;
+ _pathExistence = 0;
+
+ _some0ValPtr = 0;
+
+ _gobRetVarPtr = 0;
+ _curGobVarPtr = 0;
+ _curGobXPosVarPtr = 0;
+ _curGobYPosVarPtr = 0;
+ _itemInPocketVarPtr = 0;
+
+ _curGobStateVarPtr = 0;
+ _curGobFrameVarPtr = 0;
+ _curGobMultStateVarPtr = 0;
+ _curGobNextStateVarPtr = 0;
+ _curGobScrXVarPtr = 0;
+ _curGobScrYVarPtr = 0;
+ _curGobLeftVarPtr = 0;
+ _curGobTopVarPtr = 0;
+ _curGobRightVarPtr = 0;
+ _curGobBottomVarPtr = 0;
+ _curGobDoAnimVarPtr = 0;
+ _curGobOrderVarPtr = 0;
+ _curGobNoTickVarPtr = 0;
+ _curGobTypeVarPtr = 0;
+ _curGobMaxTickVarPtr = 0;
+ _curGobTickVarPtr = 0;
+ _curGobActStartStateVarPtr = 0;
+ _curGobLookDirVarPtr = 0;
+ _curGobPickableVarPtr = 0;
+ _curGobRelaxVarPtr = 0;
+ _curGobMaxFrameVarPtr = 0;
+
+ _destItemStateVarPtr = 0;
+ _destItemFrameVarPtr = 0;
+ _destItemMultStateVarPtr = 0;
+ _destItemNextStateVarPtr = 0;
+ _destItemScrXVarPtr = 0;
+ _destItemScrYVarPtr = 0;
+ _destItemLeftVarPtr = 0;
+ _destItemTopVarPtr = 0;
+ _destItemRightVarPtr = 0;
+ _destItemBottomVarPtr = 0;
+ _destItemDoAnimVarPtr = 0;
+ _destItemOrderVarPtr = 0;
+ _destItemNoTickVarPtr = 0;
+ _destItemTypeVarPtr = 0;
+ _destItemMaxTickVarPtr = 0;
+ _destItemTickVarPtr = 0;
+ _destItemActStartStVarPtr = 0;
+ _destItemLookDirVarPtr = 0;
+ _destItemPickableVarPtr = 0;
+ _destItemRelaxVarPtr = 0;
+ _destItemMaxFrameVarPtr = 0;
+
+ _destItemType = 0;
+ _destItemState = 0;
for (int i = 0; i < 20; i++) {
- itemToObject[i] = 0;
- objects[i] = 0;
+ _itemToObject[i] = 0;
+ _objects[i] = 0;
}
- objCount = 0;
- gobsCount = 0;
+ _objCount = 0;
+ _gobsCount = 0;
}
char Goblin::rotateState(int16 from, int16 to) {
- return rotStates[from / 2][to / 2];
+ return _rotStates[from / 2][to / 2];
}
-int16 Goblin::peekGoblin(Gob_Object *curGob) {
+int16 Goblin::peekGoblin(Gob_Object *_curGob) {
Util::ListNode *ptr;
Gob_Object *desc;
int16 index;
int16 i;
- ptr = objList->pHead;
+ ptr = _objList->pHead;
index = 0;
while (ptr != 0) {
desc = (Gob_Object *) ptr->pData;
- if (desc != curGob) {
+ if (desc != _curGob) {
for (i = 0; i < 3; i++) {
- if (desc != goblins[i])
+ if (desc != _goblins[i])
continue;
if (_vm->_global->_inter_mouseX < desc->right &&
@@ -176,9 +176,9 @@ int16 Goblin::peekGoblin(Gob_Object *curGob) {
}
void Goblin::initList(void) {
- objList = (Util::List *) malloc(sizeof(Util::List));
- objList->pHead = 0;
- objList->pTail = 0;
+ _objList = (Util::List *) malloc(sizeof(Util::List));
+ _objList->pHead = 0;
+ _objList->pTail = 0;
}
void Goblin::sortByOrder(Util::List *list) {
@@ -199,7 +199,7 @@ void Goblin::sortByOrder(Util::List *list) {
if (objDesc->bottom != objDesc2->bottom)
continue;
- if (objDesc != goblins[currentGoblin])
+ if (objDesc != _goblins[_currentGoblin])
continue;
}
}
@@ -225,8 +225,8 @@ void Goblin::drawObjects(void) {
Gob_Object *gobDesc2;
int16 layer;
- ptr = objList->pHead;
- for (ptr = objList->pHead; ptr != 0; ptr = ptr->pNext) {
+ ptr = _objList->pHead;
+ for (ptr = _objList->pHead; ptr != 0; ptr = ptr->pNext) {
objDesc = (Gob_Object *) ptr->pData;
if (objDesc->type == 3)
@@ -235,12 +235,12 @@ void Goblin::drawObjects(void) {
objDesc->toRedraw = 0;
}
- for (ptr = objList->pHead; ptr != 0; ptr = ptr->pNext) {
+ for (ptr = _objList->pHead; ptr != 0; ptr = ptr->pNext) {
objDesc = (Gob_Object *) ptr->pData;
if (objDesc->toRedraw == 0)
continue;
- _vm->_video->drawSprite(_vm->_anim->_animSurf, _vm->_draw->backSurface,
+ _vm->_video->drawSprite(_vm->_anim->_animSurf, _vm->_draw->_backSurface,
objDesc->left, objDesc->top, objDesc->right,
objDesc->bottom, objDesc->left, objDesc->top, 0);
@@ -278,8 +278,8 @@ void Goblin::drawObjects(void) {
objDesc->dirtyBottom = 199;
}
- sortByOrder(objList);
- for (ptr = objList->pHead; ptr != 0; ptr = ptr->pNext) {
+ sortByOrder(_objList);
+ for (ptr = _objList->pHead; ptr != 0; ptr = ptr->pNext) {
objDesc = (Gob_Object *) ptr->pData;
if (objDesc->toRedraw) {
layer =
@@ -327,7 +327,7 @@ void Goblin::drawObjects(void) {
}
if (objDesc->type == 0 && objDesc->visible != 0) {
- for (ptr2 = objList->pHead; ptr2 != 0;
+ for (ptr2 = _objList->pHead; ptr2 != 0;
ptr2 = ptr2->pNext) {
gobDesc2 = (Gob_Object *) ptr2->pData;
@@ -364,7 +364,7 @@ void Goblin::drawObjects(void) {
}
}
- for (ptr = objList->pHead; ptr != 0; ptr = ptr->pNext) {
+ for (ptr = _objList->pHead; ptr != 0; ptr = ptr->pNext) {
objDesc = (Gob_Object *) ptr->pData;
if (objDesc->toRedraw == 0 || objDesc->type == 1)
continue;
@@ -388,7 +388,7 @@ void Goblin::drawObjects(void) {
if (objDesc->curFrame == sndFrame) {
if (sndItem != 0xff) {
- playSound(soundData[sndItem],
+ playSound(_soundData[sndItem],
repCount, freq);
}
}
@@ -400,7 +400,7 @@ void Goblin::drawObjects(void) {
if (objDesc->curFrame == sndFrame) {
if (sndItem != 0xff) {
- playSound(soundData[sndItem],
+ playSound(_soundData[sndItem],
repCount, freq);
}
}
@@ -413,7 +413,7 @@ void Goblin::drawObjects(void) {
if (objDesc->curFrame == sndFrame) {
if (sndItem != -1) {
- playSound(soundData[sndItem],
+ playSound(_soundData[sndItem],
repCount, freq);
}
}
@@ -429,7 +429,7 @@ void Goblin::animateObjects(void) {
Scenery::AnimLayer *pLayer;
int16 layer;
- for (node = objList->pHead; node != 0; node = node->pNext) {
+ for (node = _objList->pHead; node != 0; node = node->pNext) {
objDesc = (Gob_Object *) node->pData;
if (objDesc->doAnim != 1 || objDesc->type != 0)
continue;
@@ -465,7 +465,7 @@ void Goblin::animateObjects(void) {
if (objDesc->multState != -1) {
if (objDesc->multState > 39) {
- objDesc->stateMach = goblins[(int)(objDesc->multObjIndex)]->stateMach;
+ objDesc->stateMach = _goblins[(int)(objDesc->multObjIndex)]->stateMach;
objDesc->state = objDesc->multState - 40;
} else {
objDesc->stateMach = objDesc->realStateMach;
@@ -533,7 +533,7 @@ void Goblin::placeObject(Gob_Object *objDesc, char animated) {
objDesc->dirtyTop = objDesc->yPos;
objDesc->dirtyBottom = objDesc->yPos;
- _vm->_util->listInsertBack(objList, objDesc);
+ _vm->_util->listInsertBack(_objList, objDesc);
}
}
@@ -565,7 +565,7 @@ int16 Goblin::objIntersected(Gob_Object *obj1, Gob_Object *obj2) {
}
void Goblin::setMultStates(Gob_Object * gobDesc) {
- gobDesc->stateMach = goblins[(int)gobDesc->multObjIndex]->stateMach;
+ gobDesc->stateMach = _goblins[(int)gobDesc->multObjIndex]->stateMach;
}
int16 Goblin::nextLayer(Gob_Object *gobDesc) {
@@ -599,7 +599,7 @@ void Goblin::showBoredom(int16 gobIndex) {
int16 state;
int16 boreFlag;
- gobDesc = goblins[gobIndex];
+ gobDesc = _goblins[gobIndex];
layer = gobDesc->stateMach[gobDesc->state][0]->layer;
frameCount =
@@ -612,7 +612,7 @@ void Goblin::showBoredom(int16 gobIndex) {
boreFlag = 1 << _vm->_util->getRandom(7);
- if (gobIndex != currentGoblin && _vm->_util->getRandom(3) != 0) {
+ if (gobIndex != _currentGoblin && _vm->_util->getRandom(3) != 0) {
if (state == 21) {
if ((boreFlag & 16) || (boreFlag & 32)) {
gobDesc->multState = 92 + gobIndex;
@@ -648,15 +648,15 @@ void Goblin::switchGoblin(int16 index) {
if (VAR(59) != 0)
return;
- if (goblins[currentGoblin]->state <= 39 &&
- goblins[currentGoblin]->curFrame != 0)
+ if (_goblins[_currentGoblin]->state <= 39 &&
+ _goblins[_currentGoblin]->curFrame != 0)
return;
- if (index != 0 && goblins[index - 1]->type != 0)
+ if (index != 0 && _goblins[index - 1]->type != 0)
return;
if (index == 0)
- next = (currentGoblin + 1) % 3;
+ next = (_currentGoblin + 1) % 3;
else
next = index - 1;
@@ -664,46 +664,46 @@ void Goblin::switchGoblin(int16 index) {
_vm->_map->_passMap[_vm->_map->_curGoblinY][_vm->_map->_curGoblinX] == 6)
return;
- if (goblins[(currentGoblin + 1) % 3]->type != 0 &&
- goblins[(currentGoblin + 2) % 3]->type != 0)
+ if (_goblins[(_currentGoblin + 1) % 3]->type != 0 &&
+ _goblins[(_currentGoblin + 2) % 3]->type != 0)
return;
- gobPositions[currentGoblin].x = _vm->_map->_curGoblinX;
- gobPositions[currentGoblin].y = _vm->_map->_curGoblinY;
+ _gobPositions[_currentGoblin].x = _vm->_map->_curGoblinX;
+ _gobPositions[_currentGoblin].y = _vm->_map->_curGoblinY;
- goblins[currentGoblin]->doAnim = 1;
- goblins[currentGoblin]->nextState = 21;
+ _goblins[_currentGoblin]->doAnim = 1;
+ _goblins[_currentGoblin]->nextState = 21;
- nextLayer(goblins[currentGoblin]);
+ nextLayer(_goblins[_currentGoblin]);
- currentGoblin = next;
- if (goblins[currentGoblin]->type != 0)
- currentGoblin = (currentGoblin + 1) % 3;
+ _currentGoblin = next;
+ if (_goblins[_currentGoblin]->type != 0)
+ _currentGoblin = (_currentGoblin + 1) % 3;
- goblins[currentGoblin]->doAnim = 0;
- if (goblins[currentGoblin]->curLookDir == 4)
- goblins[currentGoblin]->nextState = 18;
+ _goblins[_currentGoblin]->doAnim = 0;
+ if (_goblins[_currentGoblin]->curLookDir == 4)
+ _goblins[_currentGoblin]->nextState = 18;
else
- goblins[currentGoblin]->nextState = 19;
+ _goblins[_currentGoblin]->nextState = 19;
- goblins[currentGoblin]->toRedraw = 1;
- nextLayer(goblins[currentGoblin]);
+ _goblins[_currentGoblin]->toRedraw = 1;
+ nextLayer(_goblins[_currentGoblin]);
- tmp = gobPositions[currentGoblin].x;
- pressedMapX = tmp;
+ tmp = _gobPositions[_currentGoblin].x;
+ _pressedMapX = tmp;
_vm->_map->_destX = tmp;
- gobDestX = tmp;
+ _gobDestX = tmp;
_vm->_map->_curGoblinX = tmp;
- tmp = gobPositions[currentGoblin].y;
- pressedMapY = tmp;
+ tmp = _gobPositions[_currentGoblin].y;
+ _pressedMapY = tmp;
_vm->_map->_destY = tmp;
- gobDestY = tmp;
+ _gobDestY = tmp;
_vm->_map->_curGoblinY = tmp;
- *curGobVarPtr = currentGoblin;
- pathExistence = 0;
- readyToAct = 0;
+ *_curGobVarPtr = _currentGoblin;
+ _pathExistence = 0;
+ _readyToAct = 0;
}
void Goblin::adjustDest(int16 posX, int16 posY) {
@@ -713,30 +713,30 @@ void Goblin::adjustDest(int16 posX, int16 posY) {
int16 deltaPix;
int16 i;
- if (_vm->_map->_passMap[pressedMapY][pressedMapX] == 0 &&
- (gobAction == 0
- || _vm->_map->_itemsMap[pressedMapY][pressedMapX] == 0)) {
+ if (_vm->_map->_passMap[_pressedMapY][_pressedMapX] == 0 &&
+ (_gobAction == 0
+ || _vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0)) {
resDelta = -1;
resDeltaDir = 0;
resDeltaPix = 0;
for (i = 1;
- i <= pressedMapX
- && _vm->_map->_passMap[pressedMapY][pressedMapX - i] == 0;
+ i <= _pressedMapX
+ && _vm->_map->_passMap[_pressedMapY][_pressedMapX - i] == 0;
i++);
- if (i <= pressedMapX) {
+ if (i <= _pressedMapX) {
resDeltaPix = (i - 1) * 12 + (posX % 12) + 1;
resDelta = i;
}
for (i = 1;
- (i + pressedMapX) < Map::kMapWidth
- && _vm->_map->_passMap[pressedMapY][pressedMapX + i] == 0;
+ (i + _pressedMapX) < Map::kMapWidth
+ && _vm->_map->_passMap[_pressedMapY][_pressedMapX + i] == 0;
i++);
- if (pressedMapX + i < Map::kMapWidth) {
+ if (_pressedMapX + i < Map::kMapWidth) {
deltaPix = (i * 12) - (posX % 12);
if (resDelta == -1 || deltaPix < resDeltaPix) {
resDeltaPix = deltaPix;
@@ -746,11 +746,11 @@ void Goblin::adjustDest(int16 posX, int16 posY) {
}
for (i = 1;
- (i + pressedMapY) < Map::kMapHeight
- && _vm->_map->_passMap[pressedMapY + i][pressedMapX] == 0;
+ (i + _pressedMapY) < Map::kMapHeight
+ && _vm->_map->_passMap[_pressedMapY + i][_pressedMapX] == 0;
i++);
- if (pressedMapY + i < Map::kMapHeight) {
+ if (_pressedMapY + i < Map::kMapHeight) {
deltaPix = (i * 6) - (posY % 6);
if (resDelta == -1 || deltaPix < resDeltaPix) {
resDeltaPix = deltaPix;
@@ -760,11 +760,11 @@ void Goblin::adjustDest(int16 posX, int16 posY) {
}
for (i = 1;
- i <= pressedMapY
- && _vm->_map->_passMap[pressedMapY - i][pressedMapX] == 0;
+ i <= _pressedMapY
+ && _vm->_map->_passMap[_pressedMapY - i][_pressedMapX] == 0;
i++);
- if (i <= pressedMapY) {
+ if (i <= _pressedMapY) {
deltaPix = (i * 6) + (posY % 6);
if (resDelta == -1 || deltaPix < resDeltaPix) {
resDeltaPix = deltaPix;
@@ -775,19 +775,19 @@ void Goblin::adjustDest(int16 posX, int16 posY) {
switch (resDeltaDir) {
case 0:
- pressedMapX -= resDelta;
+ _pressedMapX -= resDelta;
break;
case 1:
- pressedMapX += resDelta;
+ _pressedMapX += resDelta;
break;
case 2:
- pressedMapY += resDelta;
+ _pressedMapY += resDelta;
break;
case 3:
- pressedMapY -= resDelta;
+ _pressedMapY -= resDelta;
break;
}
@@ -795,36 +795,36 @@ void Goblin::adjustDest(int16 posX, int16 posY) {
}
void Goblin::adjustTarget(void) {
- if (gobAction == 4
- && _vm->_map->_itemsMap[pressedMapY][pressedMapX] == 0) {
+ if (_gobAction == 4
+ && _vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0) {
- if (pressedMapY > 0
- && _vm->_map->_itemsMap[pressedMapY - 1][pressedMapX] !=
+ if (_pressedMapY > 0
+ && _vm->_map->_itemsMap[_pressedMapY - 1][_pressedMapX] !=
0) {
- pressedMapY--;
- } else if (pressedMapX < Map::kMapWidth - 1
- && _vm->_map->_itemsMap[pressedMapY][pressedMapX + 1] !=
+ _pressedMapY--;
+ } else if (_pressedMapX < Map::kMapWidth - 1
+ && _vm->_map->_itemsMap[_pressedMapY][_pressedMapX + 1] !=
0) {
- pressedMapX++;
- } else if (pressedMapX < Map::kMapWidth - 1 && pressedMapY > 0
- && _vm->_map->_itemsMap[pressedMapY - 1][pressedMapX +
+ _pressedMapX++;
+ } else if (_pressedMapX < Map::kMapWidth - 1 && _pressedMapY > 0
+ && _vm->_map->_itemsMap[_pressedMapY - 1][_pressedMapX +
1] != 0) {
- pressedMapY--;
- pressedMapX++;
+ _pressedMapY--;
+ _pressedMapX++;
}
}
}
void Goblin::targetDummyItem(Gob_Object *gobDesc) {
- if (_vm->_map->_itemsMap[pressedMapY][pressedMapX] == 0 &&
- _vm->_map->_passMap[pressedMapY][pressedMapX] == 1) {
+ if (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0 &&
+ _vm->_map->_passMap[_pressedMapY][_pressedMapX] == 1) {
if (gobDesc->curLookDir == 0) {
- _vm->_map->_itemPoses[0].x = pressedMapX;
- _vm->_map->_itemPoses[0].y = pressedMapY;
+ _vm->_map->_itemPoses[0].x = _pressedMapX;
+ _vm->_map->_itemPoses[0].y = _pressedMapY;
_vm->_map->_itemPoses[0].orient = -4;
} else {
- _vm->_map->_itemPoses[0].x = pressedMapX;
- _vm->_map->_itemPoses[0].y = pressedMapY;
+ _vm->_map->_itemPoses[0].x = _pressedMapX;
+ _vm->_map->_itemPoses[0].y = _pressedMapY;
_vm->_map->_itemPoses[0].orient = -1;
}
}
@@ -839,106 +839,106 @@ void Goblin::targetItem(void) {
int16 tmpPosY;
Gob_Object *itemDesc;
- if (gobAction == 3 || gobAction == 4) {
- items = _vm->_map->_itemsMap[pressedMapY][pressedMapX];
- if (gobAction == 4 && (items & 0xff00) != 0 &&
- objects[itemToObject[(items & 0xff00) >> 8]]->
+ if (_gobAction == 3 || _gobAction == 4) {
+ items = _vm->_map->_itemsMap[_pressedMapY][_pressedMapX];
+ if (_gobAction == 4 && (items & 0xff00) != 0 &&
+ _objects[_itemToObject[(items & 0xff00) >> 8]]->
pickable == 1) {
- destItemId = (items & 0xff00) >> 8;
- destActionItem = (items & 0xff00) >> 8;
- itemByteFlag = 1;
+ _destItemId = (items & 0xff00) >> 8;
+ _destActionItem = (items & 0xff00) >> 8;
+ _itemByteFlag = 1;
} else if ((items & 0xff) == 0) {
- destItemId = (items & 0xff00) >> 8;
- destActionItem = (items & 0xff00) >> 8;
- itemByteFlag = 1;
- } else if (gobAction == 3 && currentGoblin == 2 &&
+ _destItemId = (items & 0xff00) >> 8;
+ _destActionItem = (items & 0xff00) >> 8;
+ _itemByteFlag = 1;
+ } else if (_gobAction == 3 && _currentGoblin == 2 &&
(items & 0xff00) != 0) {
- destItemId = (items & 0xff00) >> 8;
- destActionItem = (items & 0xff00) >> 8;
- itemByteFlag = 1;
+ _destItemId = (items & 0xff00) >> 8;
+ _destActionItem = (items & 0xff00) >> 8;
+ _itemByteFlag = 1;
} else {
- destItemId = items & 0xff;
- destActionItem = items & 0xff;
- itemByteFlag = 0;
+ _destItemId = items & 0xff;
+ _destActionItem = items & 0xff;
+ _itemByteFlag = 0;
}
- pressedMapY = _vm->_map->_itemPoses[destItemId].y;
- _vm->_map->_destY = _vm->_map->_itemPoses[destItemId].y;
- gobDestY = _vm->_map->_itemPoses[destItemId].y;
+ _pressedMapY = _vm->_map->_itemPoses[_destItemId].y;
+ _vm->_map->_destY = _vm->_map->_itemPoses[_destItemId].y;
+ _gobDestY = _vm->_map->_itemPoses[_destItemId].y;
- if (gobAction == 3 || destActionItem == 0) {
- pressedMapX = _vm->_map->_itemPoses[destItemId].x;
- _vm->_map->_destX = _vm->_map->_itemPoses[destItemId].x;
- gobDestX = _vm->_map->_itemPoses[destItemId].x;
+ if (_gobAction == 3 || _destActionItem == 0) {
+ _pressedMapX = _vm->_map->_itemPoses[_destItemId].x;
+ _vm->_map->_destX = _vm->_map->_itemPoses[_destItemId].x;
+ _gobDestX = _vm->_map->_itemPoses[_destItemId].x;
} else if ((items & 0xff00) != 0) {
- if (_vm->_map->_itemPoses[destItemId].orient == 4) {
- if ((_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX - 1] & 0xff00) ==
- (_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX] & 0xff00)) {
- pressedMapX--;
- _vm->_map->_destX = pressedMapX;
- gobDestX = pressedMapX;
+ if (_vm->_map->_itemPoses[_destItemId].orient == 4) {
+ if ((_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX - 1] & 0xff00) ==
+ (_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX] & 0xff00)) {
+ _pressedMapX--;
+ _vm->_map->_destX = _pressedMapX;
+ _gobDestX = _pressedMapX;
}
- } else if (_vm->_map->_itemPoses[destItemId].orient == 0) {
-
- if ((_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX + 1] & 0xff00) ==
- (_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX] & 0xff00)) {
- pressedMapX++;
- _vm->_map->_destX = pressedMapX;
- gobDestX = pressedMapX;
+ } else if (_vm->_map->_itemPoses[_destItemId].orient == 0) {
+
+ if ((_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX + 1] & 0xff00) ==
+ (_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX] & 0xff00)) {
+ _pressedMapX++;
+ _vm->_map->_destX = _pressedMapX;
+ _gobDestX = _pressedMapX;
}
}
- if ((_vm->_map->_itemsMap[pressedMapY +
- 1][pressedMapX] & 0xff00) ==
- (_vm->_map->_itemsMap[pressedMapY][pressedMapX] &
+ if ((_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX] & 0xff00) ==
+ (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX] &
0xff00)) {
- pressedMapY++;
- _vm->_map->_destY = pressedMapY;
- gobDestY = pressedMapY;
+ _pressedMapY++;
+ _vm->_map->_destY = _pressedMapY;
+ _gobDestY = _pressedMapY;
}
} else {
- if (_vm->_map->_itemPoses[destItemId].orient == 4) {
- if ((_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX - 1]) ==
- (_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX])) {
- pressedMapX--;
- _vm->_map->_destX = pressedMapX;
- gobDestX = pressedMapX;
+ if (_vm->_map->_itemPoses[_destItemId].orient == 4) {
+ if ((_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX - 1]) ==
+ (_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX])) {
+ _pressedMapX--;
+ _vm->_map->_destX = _pressedMapX;
+ _gobDestX = _pressedMapX;
}
- } else if (_vm->_map->_itemPoses[destItemId].orient == 0) {
-
- if ((_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX + 1]) ==
- (_vm->_map->_itemsMap[pressedMapY]
- [pressedMapX])) {
- pressedMapX++;
- _vm->_map->_destX = pressedMapX;
- gobDestX = pressedMapX;
+ } else if (_vm->_map->_itemPoses[_destItemId].orient == 0) {
+
+ if ((_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX + 1]) ==
+ (_vm->_map->_itemsMap[_pressedMapY]
+ [_pressedMapX])) {
+ _pressedMapX++;
+ _vm->_map->_destX = _pressedMapX;
+ _gobDestX = _pressedMapX;
}
}
- if ((_vm->_map->_itemsMap[pressedMapY +
- 1][pressedMapX]) ==
- (_vm->_map->_itemsMap[pressedMapY][pressedMapX])) {
- pressedMapY++;
- _vm->_map->_destY = pressedMapY;
- gobDestY = pressedMapY;
+ if ((_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX]) ==
+ (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX])) {
+ _pressedMapY++;
+ _vm->_map->_destY = _pressedMapY;
+ _gobDestY = _pressedMapY;
}
}
- if (gobAction == 4 && destActionItem != 0 &&
- itemToObject[destActionItem] != -1 &&
- objects[itemToObject[destActionItem]]->
+ if (_gobAction == 4 && _destActionItem != 0 &&
+ _itemToObject[_destActionItem] != -1 &&
+ _objects[_itemToObject[_destActionItem]]->
pickable == 1) {
itemDesc =
- objects[itemToObject[destActionItem]];
+ _objects[_itemToObject[_destActionItem]];
itemDesc->animation =
itemDesc->stateMach[itemDesc->state][0]->animation;
@@ -960,19 +960,19 @@ void Goblin::targetItem(void) {
if ((tmpX % 12) < 6 && tmpPosX > 0)
tmpPosX--;
- if (_vm->_map->_itemPoses[destActionItem].orient == 0 ||
- _vm->_map->_itemPoses[destActionItem].orient == -1) {
+ if (_vm->_map->_itemPoses[_destActionItem].orient == 0 ||
+ _vm->_map->_itemPoses[_destActionItem].orient == -1) {
tmpPosX++;
}
if (_vm->_map->_passMap[tmpPosY][tmpPosX] == 1) {
- pressedMapX = tmpPosX;
+ _pressedMapX = tmpPosX;
_vm->_map->_destX = tmpPosX;
- gobDestX = tmpPosX;
+ _gobDestX = tmpPosX;
- pressedMapY = tmpPosY;
+ _pressedMapY = tmpPosY;
_vm->_map->_destY = tmpPosY;
- gobDestY = tmpPosY;
+ _gobDestY = tmpPosY;
}
}
}
@@ -983,14 +983,14 @@ void Goblin::initiateMove(void) {
_vm->_map->findNearestToGob();
_vm->_map->optimizePoints();
- pathExistence = _vm->_map->checkDirectPath(_vm->_map->_curGoblinX, _vm->_map->_curGoblinY,
- pressedMapX, pressedMapY);
+ _pathExistence = _vm->_map->checkDirectPath(_vm->_map->_curGoblinX, _vm->_map->_curGoblinY,
+ _pressedMapX, _pressedMapY);
- if (pathExistence == 3) {
+ if (_pathExistence == 3) {
if (_vm->_map->checkLongPath(_vm->_map->_curGoblinX, _vm->_map->_curGoblinY,
- pressedMapX, pressedMapY,
+ _pressedMapX, _pressedMapY,
_vm->_map->_nearestWayPoint, _vm->_map->_nearestDest) == 0) {
- pathExistence = 0;
+ _pathExistence = 0;
} else {
_vm->_map->_destX = _vm->_map->_wayPoints[_vm->_map->_nearestWayPoint].x;
_vm->_map->_destY = _vm->_map->_wayPoints[_vm->_map->_nearestWayPoint].y;
@@ -1000,80 +1000,80 @@ void Goblin::initiateMove(void) {
void Goblin::moveFindItem(int16 posX, int16 posY) {
int16 i;
- if (gobAction == 3 || gobAction == 4) {
+ if (_gobAction == 3 || _gobAction == 4) {
for (i = 0; i < 20; i++) {
- if (objects[i] == 0)
+ if (_objects[i] == 0)
continue;
- if (objects[i]->type != 0)
+ if (_objects[i]->type != 0)
continue;
- if (objects[i]->left > posX)
+ if (_objects[i]->left > posX)
continue;
- if (objects[i]->right < posX)
+ if (_objects[i]->right < posX)
continue;
- if (objects[i]->top > posY)
+ if (_objects[i]->top > posY)
continue;
- if (objects[i]->bottom < posY)
+ if (_objects[i]->bottom < posY)
continue;
- if (objects[i]->right - objects[i]->left < 40)
+ if (_objects[i]->right - _objects[i]->left < 40)
posX =
- (objects[i]->left +
- objects[i]->right) / 2;
+ (_objects[i]->left +
+ _objects[i]->right) / 2;
- if (objects[i]->bottom - objects[i]->top < 40)
+ if (_objects[i]->bottom - _objects[i]->top < 40)
posY =
- (objects[i]->top +
- objects[i]->bottom) / 2;
+ (_objects[i]->top +
+ _objects[i]->bottom) / 2;
break;
}
- pressedMapX = posX / 12;
- pressedMapY = posY / 6;
+ _pressedMapX = posX / 12;
+ _pressedMapY = posY / 6;
- if (_vm->_map->_itemsMap[pressedMapY][pressedMapX] == 0
+ if (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0
&& i < 20) {
- if (_vm->_map->_itemsMap[pressedMapY +
- 1][pressedMapX] != 0) {
- pressedMapY++;
- } else if (_vm->_map->_itemsMap[pressedMapY +
- 1][pressedMapX + 1] != 0) {
- pressedMapX++;
- pressedMapY++;
+ if (_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX] != 0) {
+ _pressedMapY++;
+ } else if (_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX + 1] != 0) {
+ _pressedMapX++;
+ _pressedMapY++;
} else
- if (_vm->_map->_itemsMap[pressedMapY][pressedMapX +
+ if (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX +
1] != 0) {
- pressedMapX++;
- } else if (_vm->_map->_itemsMap[pressedMapY -
- 1][pressedMapX + 1] != 0) {
- pressedMapX++;
- pressedMapY--;
- } else if (_vm->_map->_itemsMap[pressedMapY -
- 1][pressedMapX] != 0) {
- pressedMapY--;
- } else if (_vm->_map->_itemsMap[pressedMapY -
- 1][pressedMapX - 1] != 0) {
- pressedMapY--;
- pressedMapX--;
+ _pressedMapX++;
+ } else if (_vm->_map->_itemsMap[_pressedMapY -
+ 1][_pressedMapX + 1] != 0) {
+ _pressedMapX++;
+ _pressedMapY--;
+ } else if (_vm->_map->_itemsMap[_pressedMapY -
+ 1][_pressedMapX] != 0) {
+ _pressedMapY--;
+ } else if (_vm->_map->_itemsMap[_pressedMapY -
+ 1][_pressedMapX - 1] != 0) {
+ _pressedMapY--;
+ _pressedMapX--;
} else
- if (_vm->_map->_itemsMap[pressedMapY][pressedMapX -
+ if (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX -
1] != 0) {
- pressedMapX--;
- } else if (_vm->_map->_itemsMap[pressedMapY +
- 1][pressedMapX - 1] != 0) {
- pressedMapX--;
- pressedMapY++;
+ _pressedMapX--;
+ } else if (_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX - 1] != 0) {
+ _pressedMapX--;
+ _pressedMapY++;
}
}
} else {
- pressedMapX = posX / 12;
- pressedMapY = posY / 6;
+ _pressedMapX = posX / 12;
+ _pressedMapY = posY / 6;
}
}
@@ -1082,26 +1082,26 @@ void Goblin::moveCheckSelect(int16 framesCount, Gob_Object * gobDesc, int16 *pGo
if (gobDesc->right > _vm->_global->_inter_mouseX &&
gobDesc->left < _vm->_global->_inter_mouseX &&
gobDesc->bottom > _vm->_global->_inter_mouseY &&
- gobDesc->bottom - 10 < _vm->_global->_inter_mouseY && gobAction == 0) {
+ gobDesc->bottom - 10 < _vm->_global->_inter_mouseY && _gobAction == 0) {
if (gobDesc->curLookDir & 4)
*nextAct = 16;
else
*nextAct = 23;
gobDesc->curFrame = framesCount - 1;
- pathExistence = 0;
+ _pathExistence = 0;
} else {
*pGobIndex = peekGoblin(gobDesc);
if (*pGobIndex != 0) {
- pathExistence = 0;
- } else if (_vm->_map->_curGoblinX == pressedMapX &&
- _vm->_map->_curGoblinY == pressedMapY) {
+ _pathExistence = 0;
+ } else if (_vm->_map->_curGoblinX == _pressedMapX &&
+ _vm->_map->_curGoblinY == _pressedMapY) {
- if (gobAction != 0)
- readyToAct = 1;
+ if (_gobAction != 0)
+ _readyToAct = 1;
- pathExistence = 0;
+ _pathExistence = 0;
}
}
}
@@ -1111,18 +1111,18 @@ void Goblin::moveInitStep(int16 framesCount, int16 action, int16 cont,
int16 posX;
int16 posY;
- if (cont != 0 && goesAtTarget == 0 &&
- readyToAct == 0 && VAR(59) == 0 &&
+ if (cont != 0 && _goesAtTarget == 0 &&
+ _readyToAct == 0 && VAR(59) == 0 &&
gobDesc->type != 1 &&
gobDesc->state != 10 && gobDesc->state != 11) {
if (gobDesc->state >= 40) {
gobDesc->curFrame = framesCount - 1;
}
- gobAction = action;
- forceNextState[0] = -1;
- forceNextState[1] = -1;
- forceNextState[2] = -1;
+ _gobAction = action;
+ _forceNextState[0] = -1;
+ _forceNextState[1] = -1;
+ _forceNextState[2] = -1;
if (action == 3) {
posX = _vm->_global->_inter_mouseX + 6;
@@ -1139,11 +1139,11 @@ void Goblin::moveInitStep(int16 framesCount, int16 action, int16 cont,
adjustDest(posX, posY);
adjustTarget();
- _vm->_map->_destX = pressedMapX;
- gobDestX = pressedMapX;
+ _vm->_map->_destX = _pressedMapX;
+ _gobDestX = _pressedMapX;
- _vm->_map->_destY = pressedMapY;
- gobDestY = pressedMapY;
+ _vm->_map->_destY = _pressedMapY;
+ _gobDestY = _pressedMapY;
targetDummyItem(gobDesc);
@@ -1153,10 +1153,10 @@ void Goblin::moveInitStep(int16 framesCount, int16 action, int16 cont,
moveCheckSelect(framesCount, gobDesc, pGobIndex, pNextAct);
} else {
- if (readyToAct != 0 &&
- (_vm->_map->_curGoblinX != pressedMapX ||
- _vm->_map->_curGoblinY != pressedMapY))
- readyToAct = 0;
+ if (_readyToAct != 0 &&
+ (_vm->_map->_curGoblinX != _pressedMapX ||
+ _vm->_map->_curGoblinY != _pressedMapY))
+ _readyToAct = 0;
if (gobDesc->type == 1) {
*pGobIndex = peekGoblin(gobDesc);
@@ -1165,19 +1165,19 @@ void Goblin::moveInitStep(int16 framesCount, int16 action, int16 cont,
}
void Goblin::moveTreatRopeStairs(Gob_Object *gobDesc) {
- if (currentGoblin != 1)
+ if (_currentGoblin != 1)
return;
if (gobDesc->nextState == 28
&& _vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX] == 6) {
- forceNextState[0] = 28;
- forceNextState[1] = -1;
+ _forceNextState[0] = 28;
+ _forceNextState[1] = -1;
}
if (gobDesc->nextState == 29
&& _vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX] == 6) {
- forceNextState[0] = 29;
- forceNextState[1] = -1;
+ _forceNextState[0] = 29;
+ _forceNextState[1] = -1;
}
if ((gobDesc->nextState == 28 || gobDesc->nextState == 29
@@ -1186,27 +1186,27 @@ void Goblin::moveTreatRopeStairs(Gob_Object *gobDesc) {
if ((gobDesc->curLookDir == 0 || gobDesc->curLookDir == 4
|| gobDesc->curLookDir == 2)
&& _vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX] == 6) {
- forceNextState[0] = 28;
- forceNextState[1] = -1;
+ _forceNextState[0] = 28;
+ _forceNextState[1] = -1;
} else if ((gobDesc->curLookDir == 0
|| gobDesc->curLookDir == 4
|| gobDesc->curLookDir == 6)
&& _vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX] == 6) {
- forceNextState[0] = 29;
- forceNextState[1] = -1;
+ _forceNextState[0] = 29;
+ _forceNextState[1] = -1;
}
}
if (gobDesc->nextState == 8
&& _vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX] == 3) {
- forceNextState[0] = 8;
- forceNextState[1] = -1;
+ _forceNextState[0] = 8;
+ _forceNextState[1] = -1;
}
if (gobDesc->nextState == 9
&& _vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX] == 3) {
- forceNextState[0] = 9;
- forceNextState[1] = -1;
+ _forceNextState[0] = 9;
+ _forceNextState[1] = -1;
}
if (gobDesc->nextState == 20
@@ -1214,49 +1214,49 @@ void Goblin::moveTreatRopeStairs(Gob_Object *gobDesc) {
if ((gobDesc->curLookDir == 0 || gobDesc->curLookDir == 4
|| gobDesc->curLookDir == 2)
&& _vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX] == 3) {
- forceNextState[0] = 8;
- forceNextState[1] = -1;
+ _forceNextState[0] = 8;
+ _forceNextState[1] = -1;
} else if ((gobDesc->curLookDir == 0
|| gobDesc->curLookDir == 4
|| gobDesc->curLookDir == 6)
&& _vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX] == 3) {
- forceNextState[0] = 9;
- forceNextState[1] = -1;
+ _forceNextState[0] = 9;
+ _forceNextState[1] = -1;
}
}
}
void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
- if (pathExistence == 1) {
- _vm->_map->_curGoblinX = gobPositions[currentGoblin].x;
- _vm->_map->_curGoblinY = gobPositions[currentGoblin].y;
+ if (_pathExistence == 1) {
+ _vm->_map->_curGoblinX = _gobPositions[_currentGoblin].x;
+ _vm->_map->_curGoblinY = _gobPositions[_currentGoblin].y;
- if (_vm->_map->_curGoblinX == pressedMapX &&
- _vm->_map->_curGoblinY == pressedMapY && gobAction != 0) {
- readyToAct = 1;
- pathExistence = 0;
+ if (_vm->_map->_curGoblinX == _pressedMapX &&
+ _vm->_map->_curGoblinY == _pressedMapY && _gobAction != 0) {
+ _readyToAct = 1;
+ _pathExistence = 0;
}
nextAct = _vm->_map->getDirection(_vm->_map->_curGoblinX, _vm->_map->_curGoblinY,
_vm->_map->_destX, _vm->_map->_destY);
if (nextAct == 0)
- pathExistence = 0;
- } else if (pathExistence == 3) {
- _vm->_map->_curGoblinX = gobPositions[currentGoblin].x;
- _vm->_map->_curGoblinY = gobPositions[currentGoblin].y;
-
- if (_vm->_map->_curGoblinX == gobDestX && _vm->_map->_curGoblinY == gobDestY) {
- pathExistence = 1;
- _vm->_map->_destX = pressedMapX;
- _vm->_map->_destY = pressedMapY;
+ _pathExistence = 0;
+ } else if (_pathExistence == 3) {
+ _vm->_map->_curGoblinX = _gobPositions[_currentGoblin].x;
+ _vm->_map->_curGoblinY = _gobPositions[_currentGoblin].y;
+
+ if (_vm->_map->_curGoblinX == _gobDestX && _vm->_map->_curGoblinY == _gobDestY) {
+ _pathExistence = 1;
+ _vm->_map->_destX = _pressedMapX;
+ _vm->_map->_destY = _pressedMapY;
} else {
if (_vm->_map->checkDirectPath(_vm->_map->_curGoblinX, _vm->_map->_curGoblinY,
- gobDestX, gobDestY) == 1) {
- _vm->_map->_destX = gobDestX;
- _vm->_map->_destY = gobDestY;
+ _gobDestX, _gobDestY) == 1) {
+ _vm->_map->_destX = _gobDestX;
+ _vm->_map->_destY = _gobDestY;
} else if (_vm->_map->_curGoblinX == _vm->_map->_destX && _vm->_map->_curGoblinY == _vm->_map->_destY) {
if (_vm->_map->_nearestWayPoint > _vm->_map->_nearestDest) {
@@ -1285,14 +1285,14 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
_vm->_map->_nearestWayPoint++;
} else {
if (_vm->_map->checkDirectPath(_vm->_map->_curGoblinX,
- _vm->_map->_curGoblinY, gobDestX,
- gobDestY) == 3 && _vm->_map->_passMap[pressedMapY][pressedMapX] != 0) {
+ _vm->_map->_curGoblinY, _gobDestX,
+ _gobDestY) == 3 && _vm->_map->_passMap[_pressedMapY][_pressedMapX] != 0) {
_vm->_map->_destX = _vm->_map->_wayPoints[_vm->_map->_nearestWayPoint].x;
_vm->_map->_destY = _vm->_map->_wayPoints[_vm->_map->_nearestWayPoint].y;
} else {
- pathExistence = 1;
- _vm->_map->_destX = pressedMapX;
- _vm->_map->_destY = pressedMapY;
+ _pathExistence = 1;
+ _vm->_map->_destX = _pressedMapX;
+ _vm->_map->_destY = _pressedMapY;
}
}
}
@@ -1302,7 +1302,7 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
}
}
- if (readyToAct != 0 && (gobAction == 3 || gobAction == 4))
+ if (_readyToAct != 0 && (_gobAction == 3 || _gobAction == 4))
nextAct = 0x4dc8;
switch (nextAct) {
@@ -1324,8 +1324,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirN:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1335,7 +1335,7 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
}
if (_vm->_map->_passMap[_vm->_map->_curGoblinY][_vm->_map->_curGoblinX] == 6 &&
- currentGoblin == 1) {
+ _currentGoblin == 1) {
gobDesc->nextState = 28;
break;
}
@@ -1345,8 +1345,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirS:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1356,7 +1356,7 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
}
if (_vm->_map->_passMap[_vm->_map->_curGoblinY][_vm->_map->_curGoblinX] == 6 &&
- currentGoblin == 1) {
+ _currentGoblin == 1) {
gobDesc->nextState = 29;
break;
}
@@ -1366,8 +1366,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirSE:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX + 1] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1380,8 +1380,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirSW:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY + 1][_vm->_map->_curGoblinX - 1] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1394,8 +1394,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirNW:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX - 1] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1408,8 +1408,8 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case Map::kDirNE:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY - 1][_vm->_map->_curGoblinX + 1] == 6 &&
- currentGoblin != 1) {
- pathExistence = 0;
+ _currentGoblin != 1) {
+ _pathExistence = 0;
break;
}
@@ -1422,45 +1422,45 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
case 0x4dc8:
- if (currentGoblin == 0 && gobAction == 3
- && itemIndInPocket == -1) {
- destItemId = -1;
- readyToAct = 0;
+ if (_currentGoblin == 0 && _gobAction == 3
+ && _itemIndInPocket == -1) {
+ _destItemId = -1;
+ _readyToAct = 0;
break;
}
- if (currentGoblin == 0 && gobAction == 4 &&
- itemIndInPocket == -1 && destActionItem == 0) {
+ if (_currentGoblin == 0 && _gobAction == 4 &&
+ _itemIndInPocket == -1 && _destActionItem == 0) {
gobDesc->multState = 104;
- destItemId = -1;
- readyToAct = 0;
+ _destItemId = -1;
+ _readyToAct = 0;
break;
}
- if (currentGoblin == 0 && gobAction == 4 &&
- itemIndInPocket == -1 && destActionItem != 0 &&
- itemToObject[destActionItem] != -1 &&
- objects[itemToObject[destActionItem]]->
+ if (_currentGoblin == 0 && _gobAction == 4 &&
+ _itemIndInPocket == -1 && _destActionItem != 0 &&
+ _itemToObject[_destActionItem] != -1 &&
+ _objects[_itemToObject[_destActionItem]]->
pickable == 0) {
gobDesc->multState = 104;
- destItemId = -1;
- readyToAct = 0;
+ _destItemId = -1;
+ _readyToAct = 0;
break;
}
- switch (_vm->_map->_itemPoses[destActionItem].orient) {
+ switch (_vm->_map->_itemPoses[_destActionItem].orient) {
case 0:
case -4:
gobDesc->nextState = 10;
gobDesc->curLookDir = 0;
- destItemId = -1;
+ _destItemId = -1;
break;
case -1:
case 4:
gobDesc->nextState = 11;
gobDesc->curLookDir = 4;
- destItemId = -1;
+ _destItemId = -1;
break;
}
break;
@@ -1468,7 +1468,7 @@ void Goblin::movePathFind(Gob_Object *gobDesc, int16 nextAct) {
default:
if (_vm->_map->_passMap[_vm->_map->_curGoblinY][_vm->_map->_curGoblinX] == 3 ||
(_vm->_map->_passMap[_vm->_map->_curGoblinY][_vm->_map->_curGoblinX] == 6
- && currentGoblin == 1)) {
+ && _currentGoblin == 1)) {
gobDesc->nextState = 20;
break;
}
@@ -1501,7 +1501,7 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
if (gobDesc->curFrame == 1)
gobDesc->actionStartState = gobDesc->state;
- if (goesAtTarget == 0
+ if (_goesAtTarget == 0
&& gobDesc->stateMach == gobDesc->realStateMach) {
switch (gobDesc->state) {
case 0:
@@ -1523,7 +1523,7 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
break;
case 28:
- if (currentGoblin != 1)
+ if (_currentGoblin != 1)
break;
gobDesc->curLookDir = 2;
break;
@@ -1537,7 +1537,7 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
break;
case 29:
- if (currentGoblin != 1)
+ if (_currentGoblin != 1)
break;
gobDesc->curLookDir = 6;
@@ -1559,22 +1559,22 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
_vm->_snd->speakerOn(10 * _vm->_util->getRandom(3) + 50, 5);
}
- if (currentGoblin == 0
+ if (_currentGoblin == 0
&& gobDesc->stateMach == gobDesc->realStateMach
&& (gobDesc->state == 10 || gobDesc->state == 11)
&& gobDesc->curFrame == 9) {
_vm->_snd->stopSound(0);
- if (itemIndInPocket != -1) {
- _vm->_snd->playSample(soundData[14], 1, 9000);
+ if (_itemIndInPocket != -1) {
+ _vm->_snd->playSample(_soundData[14], 1, 9000);
}
- if (itemIndInPocket == -1) {
- _vm->_snd->playSample(soundData[14], 1, 5000);
+ if (_itemIndInPocket == -1) {
+ _vm->_snd->playSample(_soundData[14], 1, 5000);
}
}
- if (boreCounter++ == 120) {
- boreCounter = 0;
+ if (_boreCounter++ == 120) {
+ _boreCounter = 0;
for (i = 0; i < 3; i++)
showBoredom(i);
}
@@ -1586,13 +1586,13 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
newX =
_vm->_scenery->animations[gobDesc->animation].
- layers[gobStateLayer]->animDeltaX + gobDesc->xPos;
+ layers[_gobStateLayer]->animDeltaX + gobDesc->xPos;
newY =
_vm->_scenery->animations[gobDesc->animation].
- layers[gobStateLayer]->animDeltaY + gobDesc->yPos;
+ layers[_gobStateLayer]->animDeltaY + gobDesc->yPos;
- gobStateLayer = nextLayer(gobDesc);
+ _gobStateLayer = nextLayer(gobDesc);
gobDesc->xPos = newX;
gobDesc->yPos = newY;
@@ -1600,79 +1600,79 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
if (gobDesc->curFrame == 3 &&
gobDesc->stateMach == gobDesc->realStateMach &&
(gobDesc->state < 10 ||
- (currentGoblin == 1 && (gobDesc->state == 28
+ (_currentGoblin == 1 && (gobDesc->state == 28
|| gobDesc->state == 29))
)) {
flag = 0;
- if (forceNextState[0] != -1) {
- gobDesc->nextState = forceNextState[0];
+ if (_forceNextState[0] != -1) {
+ gobDesc->nextState = _forceNextState[0];
for (i = 0; i < 9; i++)
- forceNextState[i] =
- forceNextState[i + 1];
+ _forceNextState[i] =
+ _forceNextState[i + 1];
}
- _vm->_map->_curGoblinX = gobPositions[currentGoblin].x;
- _vm->_map->_curGoblinY = gobPositions[currentGoblin].y;
+ _vm->_map->_curGoblinX = _gobPositions[_currentGoblin].x;
+ _vm->_map->_curGoblinY = _gobPositions[_currentGoblin].y;
if (gobDesc->nextState != gobDesc->state) {
- gobStateLayer = nextLayer(gobDesc);
+ _gobStateLayer = nextLayer(gobDesc);
flag = 1;
}
switch (gobDesc->state) {
case 0:
- gobPositions[currentGoblin].x--;
+ _gobPositions[_currentGoblin].x--;
break;
case 2:
case 8:
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].y--;
break;
case 4:
- gobPositions[currentGoblin].x++;
+ _gobPositions[_currentGoblin].x++;
break;
case 6:
case 9:
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].y++;
break;
case 1:
- gobPositions[currentGoblin].x--;
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].x--;
+ _gobPositions[_currentGoblin].y--;
break;
case 3:
- gobPositions[currentGoblin].x++;
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].x++;
+ _gobPositions[_currentGoblin].y--;
break;
case 5:
- gobPositions[currentGoblin].x++;
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].x++;
+ _gobPositions[_currentGoblin].y++;
break;
case 7:
- gobPositions[currentGoblin].x--;
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].x--;
+ _gobPositions[_currentGoblin].y++;
break;
case 38:
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].y++;
break;
}
- if (currentGoblin == 1) {
+ if (_currentGoblin == 1) {
if (gobDesc->state == 28)
- gobPositions[1].y--;
+ _gobPositions[1].y--;
if (gobDesc->state == 29)
- gobPositions[1].y++;
+ _gobPositions[1].y++;
}
if (flag != 0) {
- _vm->_scenery->updateAnim(gobStateLayer, 0,
+ _vm->_scenery->updateAnim(_gobStateLayer, 0,
gobDesc->animation, 0, gobDesc->xPos,
gobDesc->yPos, 0);
@@ -1685,79 +1685,79 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
}
if ((gobDesc->state == 10 || gobDesc->state == 11)
- && currentGoblin != 0)
- goesAtTarget = 1;
+ && _currentGoblin != 0)
+ _goesAtTarget = 1;
}
if (gobDesc->curFrame != framesCount)
return;
- if (forceNextState[0] != -1) {
- gobDesc->nextState = forceNextState[0];
+ if (_forceNextState[0] != -1) {
+ gobDesc->nextState = _forceNextState[0];
for (i = 0; i < 10; i++)
- forceNextState[i] =
- forceNextState[i + 1];
+ _forceNextState[i] =
+ _forceNextState[i + 1];
}
- _vm->_map->_curGoblinX = gobPositions[currentGoblin].x;
- _vm->_map->_curGoblinY = gobPositions[currentGoblin].y;
+ _vm->_map->_curGoblinX = _gobPositions[_currentGoblin].x;
+ _vm->_map->_curGoblinY = _gobPositions[_currentGoblin].y;
- gobStateLayer = nextLayer(gobDesc);
+ _gobStateLayer = nextLayer(gobDesc);
if (gobDesc->stateMach == gobDesc->realStateMach) {
switch (gobDesc->nextState) {
case 0:
- gobPositions[currentGoblin].x--;
+ _gobPositions[_currentGoblin].x--;
break;
case 2:
case 8:
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].y--;
break;
case 4:
- gobPositions[currentGoblin].x++;
+ _gobPositions[_currentGoblin].x++;
break;
case 6:
case 9:
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].y++;
break;
case 1:
- gobPositions[currentGoblin].x--;
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].x--;
+ _gobPositions[_currentGoblin].y--;
break;
case 3:
- gobPositions[currentGoblin].x++;
- gobPositions[currentGoblin].y--;
+ _gobPositions[_currentGoblin].x++;
+ _gobPositions[_currentGoblin].y--;
break;
case 5:
- gobPositions[currentGoblin].x++;
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].x++;
+ _gobPositions[_currentGoblin].y++;
break;
case 7:
- gobPositions[currentGoblin].x--;
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].x--;
+ _gobPositions[_currentGoblin].y++;
break;
case 38:
- gobPositions[currentGoblin].y++;
+ _gobPositions[_currentGoblin].y++;
break;
}
- if (currentGoblin == 1) {
+ if (_currentGoblin == 1) {
if (gobDesc->nextState == 28)
- gobPositions[1].y--;
+ _gobPositions[1].y--;
if (gobDesc->nextState == 29)
- gobPositions[1].y++;
+ _gobPositions[1].y++;
}
}
- _vm->_scenery->updateAnim(gobStateLayer, 0, gobDesc->animation, 0,
+ _vm->_scenery->updateAnim(_gobStateLayer, 0, gobDesc->animation, 0,
gobDesc->xPos, gobDesc->yPos, 0);
gobDesc->yPos =
@@ -1767,8 +1767,8 @@ void Goblin::moveAdvance(Gob_Object *gobDesc, int16 nextAct, int16 framesCount)
_vm->_map->_curGoblinX * 12 - (_vm->_scenery->toRedrawLeft - _vm->_scenery->animLeft);
if ((gobDesc->state == 10 || gobDesc->state == 11)
- && currentGoblin != 0)
- goesAtTarget = 1;
+ && _currentGoblin != 0)
+ _goesAtTarget = 1;
}
return;
}
@@ -1791,18 +1791,18 @@ int16 Goblin::doMove(Gob_Object *gobDesc, int16 cont, int16 action) {
gobDesc->order = (gobDesc->bottom) / 24 + 3;
}
- if (positionedGob != currentGoblin) {
- _vm->_map->_curGoblinX = gobPositions[currentGoblin].x;
- _vm->_map->_curGoblinY = gobPositions[currentGoblin].y;
+ if (_positionedGob != _currentGoblin) {
+ _vm->_map->_curGoblinX = _gobPositions[_currentGoblin].x;
+ _vm->_map->_curGoblinY = _gobPositions[_currentGoblin].y;
}
- positionedGob = currentGoblin;
+ _positionedGob = _currentGoblin;
gobDesc->animation =
gobDesc->stateMach[gobDesc->state][gobDesc->stateColumn]->
animation;
- gobStateLayer =
+ _gobStateLayer =
gobDesc->stateMach[gobDesc->state][gobDesc->stateColumn]->layer;
moveInitStep(framesCount, action, cont, gobDesc, &gobIndex,
@@ -1819,54 +1819,54 @@ void Goblin::freeObjects(void) {
int16 col;
for (i = 0; i < 16; i++) {
- if (soundData[i] == 0)
+ if (_soundData[i] == 0)
continue;
- _vm->_snd->freeSoundData(soundData[i]);
- soundData[i] = 0;
+ _vm->_snd->freeSoundData(_soundData[i]);
+ _soundData[i] = 0;
}
for (i = 0; i < 4; i++) {
- if (goblins[i] == 0)
+ if (_goblins[i] == 0)
continue;
- goblins[i]->stateMach = goblins[i]->realStateMach;
+ _goblins[i]->stateMach = _goblins[i]->realStateMach;
for (state = 0; state < 40; state++) {
for (col = 0; col < 6; col++) {
- free(goblins[i]->stateMach[state][col]);
- goblins[i]->stateMach[state][col] = 0;
+ free(_goblins[i]->stateMach[state][col]);
+ _goblins[i]->stateMach[state][col] = 0;
}
}
if (i == 3) {
for (state = 40; state < 70; state++) {
- free(goblins[3]->stateMach[state][0]);
- goblins[3]->stateMach[state][0] = 0;
+ free(_goblins[3]->stateMach[state][0]);
+ _goblins[3]->stateMach[state][0] = 0;
}
}
- free(goblins[i]->stateMach);
- free(goblins[i]);
- goblins[i] = 0;
+ free(_goblins[i]->stateMach);
+ free(_goblins[i]);
+ _goblins[i] = 0;
}
for (i = 0; i < 20; i++) {
- if (objects[i] == 0)
+ if (_objects[i] == 0)
continue;
- objects[i]->stateMach = objects[i]->realStateMach;
+ _objects[i]->stateMach = _objects[i]->realStateMach;
for (state = 0; state < 40; state++) {
for (col = 0; col < 6; col++) {
- free(objects[i]->stateMach[state][col]);
- objects[i]->stateMach[state][col] = 0;
+ free(_objects[i]->stateMach[state][col]);
+ _objects[i]->stateMach[state][col] = 0;
}
}
- free(objects[i]->stateMach);
- free(objects[i]);
- objects[i] = 0;
+ free(_objects[i]->stateMach);
+ free(_objects[i]);
+ _objects[i] = 0;
}
}
@@ -1874,17 +1874,17 @@ void Goblin::zeroObjects(void) {
int16 i;
for (i = 0; i < 4; i++)
- goblins[i] = 0;
+ _goblins[i] = 0;
for (i = 0; i < 20; i++)
- objects[i] = 0;
+ _objects[i] = 0;
for (i = 0; i < 16; i++)
- soundData[i] = 0;
+ _soundData[i] = 0;
}
void Goblin::freeAllObjects(void) {
- _vm->_util->deleteList(objList);
+ _vm->_util->deleteList(_objList);
freeObjects();
}
@@ -1893,7 +1893,7 @@ void Goblin::loadObjects(char *source) {
zeroObjects();
for (i = 0; i < 20; i++)
- itemToObject[i] = 100;
+ _itemToObject[i] = 100;
freeObjects();
initList();
@@ -1902,190 +1902,190 @@ void Goblin::loadObjects(char *source) {
_vm->_map->_sourceFile[strlen(_vm->_map->_sourceFile) - 4] = 0;
_vm->_map->loadMapObjects(source);
- for (i = 0; i < gobsCount; i++)
- placeObject(goblins[i], 0);
+ for (i = 0; i < _gobsCount; i++)
+ placeObject(_goblins[i], 0);
- for (i = 0; i < objCount; i++) {
- placeObject(objects[i], 1);
+ for (i = 0; i < _objCount; i++) {
+ placeObject(_objects[i], 1);
}
initVarPointers();
- actDestItemDesc = 0;
+ _actDestItemDesc = 0;
}
void Goblin::saveGobDataToVars(int16 xPos, int16 yPos, int16 someVal) {
Gob_Object *obj;
- *some0ValPtr = someVal;
- *curGobXPosVarPtr = xPos;
- *curGobYPosVarPtr = yPos;
- *itemInPocketVarPtr = itemIndInPocket;
-
- obj = goblins[currentGoblin];
-
- *curGobStateVarPtr = obj->state;
- *curGobFrameVarPtr = obj->curFrame;
- *curGobMultStateVarPtr = obj->multState;
- *curGobNextStateVarPtr = obj->nextState;
- *curGobScrXVarPtr = obj->xPos;
- *curGobScrYVarPtr = obj->yPos;
- *curGobLeftVarPtr = obj->left;
- *curGobTopVarPtr = obj->top;
- *curGobRightVarPtr = obj->right;
- *curGobBottomVarPtr = obj->bottom;
- *curGobDoAnimVarPtr = obj->doAnim;
- *curGobOrderVarPtr = obj->order;
- *curGobNoTickVarPtr = obj->noTick;
- *curGobTypeVarPtr = obj->type;
- *curGobMaxTickVarPtr = obj->maxTick;
- *curGobTickVarPtr = obj->tick;
- *curGobActStartStateVarPtr = obj->actionStartState;
- *curGobLookDirVarPtr = obj->curLookDir;
- *curGobPickableVarPtr = obj->pickable;
- *curGobRelaxVarPtr = obj->relaxTime;
- *curGobMaxFrameVarPtr = getObjMaxFrame(obj);
-
- if (actDestItemDesc == 0)
+ *_some0ValPtr = someVal;
+ *_curGobXPosVarPtr = xPos;
+ *_curGobYPosVarPtr = yPos;
+ *_itemInPocketVarPtr = _itemIndInPocket;
+
+ obj = _goblins[_currentGoblin];
+
+ *_curGobStateVarPtr = obj->state;
+ *_curGobFrameVarPtr = obj->curFrame;
+ *_curGobMultStateVarPtr = obj->multState;
+ *_curGobNextStateVarPtr = obj->nextState;
+ *_curGobScrXVarPtr = obj->xPos;
+ *_curGobScrYVarPtr = obj->yPos;
+ *_curGobLeftVarPtr = obj->left;
+ *_curGobTopVarPtr = obj->top;
+ *_curGobRightVarPtr = obj->right;
+ *_curGobBottomVarPtr = obj->bottom;
+ *_curGobDoAnimVarPtr = obj->doAnim;
+ *_curGobOrderVarPtr = obj->order;
+ *_curGobNoTickVarPtr = obj->noTick;
+ *_curGobTypeVarPtr = obj->type;
+ *_curGobMaxTickVarPtr = obj->maxTick;
+ *_curGobTickVarPtr = obj->tick;
+ *_curGobActStartStateVarPtr = obj->actionStartState;
+ *_curGobLookDirVarPtr = obj->curLookDir;
+ *_curGobPickableVarPtr = obj->pickable;
+ *_curGobRelaxVarPtr = obj->relaxTime;
+ *_curGobMaxFrameVarPtr = getObjMaxFrame(obj);
+
+ if (_actDestItemDesc == 0)
return;
- obj = actDestItemDesc;
- *destItemStateVarPtr = obj->state;
- *destItemFrameVarPtr = obj->curFrame;
- *destItemMultStateVarPtr = obj->multState;
- *destItemNextStateVarPtr = obj->nextState;
- *destItemScrXVarPtr = obj->xPos;
- *destItemScrYVarPtr = obj->yPos;
- *destItemLeftVarPtr = obj->left;
- *destItemTopVarPtr = obj->top;
- *destItemRightVarPtr = obj->right;
- *destItemBottomVarPtr = obj->bottom;
- *destItemDoAnimVarPtr = obj->doAnim;
- *destItemOrderVarPtr = obj->order;
- *destItemNoTickVarPtr = obj->noTick;
- *destItemTypeVarPtr = obj->type;
- *destItemMaxTickVarPtr = obj->maxTick;
- *destItemTickVarPtr = obj->tick;
- *destItemActStartStVarPtr = obj->actionStartState;
- *destItemLookDirVarPtr = obj->curLookDir;
- *destItemPickableVarPtr = obj->pickable;
- *destItemRelaxVarPtr = obj->relaxTime;
- *destItemMaxFrameVarPtr = getObjMaxFrame(obj);
-
- destItemState = obj->state;
- destItemType = obj->type;
+ obj = _actDestItemDesc;
+ *_destItemStateVarPtr = obj->state;
+ *_destItemFrameVarPtr = obj->curFrame;
+ *_destItemMultStateVarPtr = obj->multState;
+ *_destItemNextStateVarPtr = obj->nextState;
+ *_destItemScrXVarPtr = obj->xPos;
+ *_destItemScrYVarPtr = obj->yPos;
+ *_destItemLeftVarPtr = obj->left;
+ *_destItemTopVarPtr = obj->top;
+ *_destItemRightVarPtr = obj->right;
+ *_destItemBottomVarPtr = obj->bottom;
+ *_destItemDoAnimVarPtr = obj->doAnim;
+ *_destItemOrderVarPtr = obj->order;
+ *_destItemNoTickVarPtr = obj->noTick;
+ *_destItemTypeVarPtr = obj->type;
+ *_destItemMaxTickVarPtr = obj->maxTick;
+ *_destItemTickVarPtr = obj->tick;
+ *_destItemActStartStVarPtr = obj->actionStartState;
+ *_destItemLookDirVarPtr = obj->curLookDir;
+ *_destItemPickableVarPtr = obj->pickable;
+ *_destItemRelaxVarPtr = obj->relaxTime;
+ *_destItemMaxFrameVarPtr = getObjMaxFrame(obj);
+
+ _destItemState = obj->state;
+ _destItemType = obj->type;
}
void Goblin::initVarPointers(void) {
- gobRetVarPtr = (int32 *)VAR_ADDRESS(59);
- curGobStateVarPtr = (int32 *)VAR_ADDRESS(60);
- curGobFrameVarPtr = (int32 *)VAR_ADDRESS(61);
- curGobMultStateVarPtr = (int32 *)VAR_ADDRESS(62);
- curGobNextStateVarPtr = (int32 *)VAR_ADDRESS(63);
- curGobScrXVarPtr = (int32 *)VAR_ADDRESS(64);
- curGobScrYVarPtr = (int32 *)VAR_ADDRESS(65);
- curGobLeftVarPtr = (int32 *)VAR_ADDRESS(66);
- curGobTopVarPtr = (int32 *)VAR_ADDRESS(67);
- curGobRightVarPtr = (int32 *)VAR_ADDRESS(68);
- curGobBottomVarPtr = (int32 *)VAR_ADDRESS(69);
- curGobDoAnimVarPtr = (int32 *)VAR_ADDRESS(70);
- curGobOrderVarPtr = (int32 *)VAR_ADDRESS(71);
- curGobNoTickVarPtr = (int32 *)VAR_ADDRESS(72);
- curGobTypeVarPtr = (int32 *)VAR_ADDRESS(73);
- curGobMaxTickVarPtr = (int32 *)VAR_ADDRESS(74);
- curGobTickVarPtr = (int32 *)VAR_ADDRESS(75);
- curGobActStartStateVarPtr = (int32 *)VAR_ADDRESS(76);
- curGobLookDirVarPtr = (int32 *)VAR_ADDRESS(77);
- curGobPickableVarPtr = (int32 *)VAR_ADDRESS(80);
- curGobRelaxVarPtr = (int32 *)VAR_ADDRESS(81);
- destItemStateVarPtr = (int32 *)VAR_ADDRESS(82);
- destItemFrameVarPtr = (int32 *)VAR_ADDRESS(83);
- destItemMultStateVarPtr = (int32 *)VAR_ADDRESS(84);
- destItemNextStateVarPtr = (int32 *)VAR_ADDRESS(85);
- destItemScrXVarPtr = (int32 *)VAR_ADDRESS(86);
- destItemScrYVarPtr = (int32 *)VAR_ADDRESS(87);
- destItemLeftVarPtr = (int32 *)VAR_ADDRESS(88);
- destItemTopVarPtr = (int32 *)VAR_ADDRESS(89);
- destItemRightVarPtr = (int32 *)VAR_ADDRESS(90);
- destItemBottomVarPtr = (int32 *)VAR_ADDRESS(91);
- destItemDoAnimVarPtr = (int32 *)VAR_ADDRESS(92);
- destItemOrderVarPtr = (int32 *)VAR_ADDRESS(93);
- destItemNoTickVarPtr = (int32 *)VAR_ADDRESS(94);
- destItemTypeVarPtr = (int32 *)VAR_ADDRESS(95);
- destItemMaxTickVarPtr = (int32 *)VAR_ADDRESS(96);
- destItemTickVarPtr = (int32 *)VAR_ADDRESS(97);
- destItemActStartStVarPtr = (int32 *)VAR_ADDRESS(98);
- destItemLookDirVarPtr = (int32 *)VAR_ADDRESS(99);
- destItemPickableVarPtr = (int32 *)VAR_ADDRESS(102);
- destItemRelaxVarPtr = (int32 *)VAR_ADDRESS(103);
- destItemMaxFrameVarPtr = (int32 *)VAR_ADDRESS(105);
- curGobVarPtr = (int32 *)VAR_ADDRESS(106);
- some0ValPtr = (int32 *)VAR_ADDRESS(107);
- curGobXPosVarPtr = (int32 *)VAR_ADDRESS(108);
- curGobYPosVarPtr = (int32 *)VAR_ADDRESS(109);
- curGobMaxFrameVarPtr = (int32 *)VAR_ADDRESS(110);
-
- itemInPocketVarPtr = (int32 *)VAR_ADDRESS(114);
-
- *itemInPocketVarPtr = -2;
+ _gobRetVarPtr = (int32 *)VAR_ADDRESS(59);
+ _curGobStateVarPtr = (int32 *)VAR_ADDRESS(60);
+ _curGobFrameVarPtr = (int32 *)VAR_ADDRESS(61);
+ _curGobMultStateVarPtr = (int32 *)VAR_ADDRESS(62);
+ _curGobNextStateVarPtr = (int32 *)VAR_ADDRESS(63);
+ _curGobScrXVarPtr = (int32 *)VAR_ADDRESS(64);
+ _curGobScrYVarPtr = (int32 *)VAR_ADDRESS(65);
+ _curGobLeftVarPtr = (int32 *)VAR_ADDRESS(66);
+ _curGobTopVarPtr = (int32 *)VAR_ADDRESS(67);
+ _curGobRightVarPtr = (int32 *)VAR_ADDRESS(68);
+ _curGobBottomVarPtr = (int32 *)VAR_ADDRESS(69);
+ _curGobDoAnimVarPtr = (int32 *)VAR_ADDRESS(70);
+ _curGobOrderVarPtr = (int32 *)VAR_ADDRESS(71);
+ _curGobNoTickVarPtr = (int32 *)VAR_ADDRESS(72);
+ _curGobTypeVarPtr = (int32 *)VAR_ADDRESS(73);
+ _curGobMaxTickVarPtr = (int32 *)VAR_ADDRESS(74);
+ _curGobTickVarPtr = (int32 *)VAR_ADDRESS(75);
+ _curGobActStartStateVarPtr = (int32 *)VAR_ADDRESS(76);
+ _curGobLookDirVarPtr = (int32 *)VAR_ADDRESS(77);
+ _curGobPickableVarPtr = (int32 *)VAR_ADDRESS(80);
+ _curGobRelaxVarPtr = (int32 *)VAR_ADDRESS(81);
+ _destItemStateVarPtr = (int32 *)VAR_ADDRESS(82);
+ _destItemFrameVarPtr = (int32 *)VAR_ADDRESS(83);
+ _destItemMultStateVarPtr = (int32 *)VAR_ADDRESS(84);
+ _destItemNextStateVarPtr = (int32 *)VAR_ADDRESS(85);
+ _destItemScrXVarPtr = (int32 *)VAR_ADDRESS(86);
+ _destItemScrYVarPtr = (int32 *)VAR_ADDRESS(87);
+ _destItemLeftVarPtr = (int32 *)VAR_ADDRESS(88);
+ _destItemTopVarPtr = (int32 *)VAR_ADDRESS(89);
+ _destItemRightVarPtr = (int32 *)VAR_ADDRESS(90);
+ _destItemBottomVarPtr = (int32 *)VAR_ADDRESS(91);
+ _destItemDoAnimVarPtr = (int32 *)VAR_ADDRESS(92);
+ _destItemOrderVarPtr = (int32 *)VAR_ADDRESS(93);
+ _destItemNoTickVarPtr = (int32 *)VAR_ADDRESS(94);
+ _destItemTypeVarPtr = (int32 *)VAR_ADDRESS(95);
+ _destItemMaxTickVarPtr = (int32 *)VAR_ADDRESS(96);
+ _destItemTickVarPtr = (int32 *)VAR_ADDRESS(97);
+ _destItemActStartStVarPtr = (int32 *)VAR_ADDRESS(98);
+ _destItemLookDirVarPtr = (int32 *)VAR_ADDRESS(99);
+ _destItemPickableVarPtr = (int32 *)VAR_ADDRESS(102);
+ _destItemRelaxVarPtr = (int32 *)VAR_ADDRESS(103);
+ _destItemMaxFrameVarPtr = (int32 *)VAR_ADDRESS(105);
+ _curGobVarPtr = (int32 *)VAR_ADDRESS(106);
+ _some0ValPtr = (int32 *)VAR_ADDRESS(107);
+ _curGobXPosVarPtr = (int32 *)VAR_ADDRESS(108);
+ _curGobYPosVarPtr = (int32 *)VAR_ADDRESS(109);
+ _curGobMaxFrameVarPtr = (int32 *)VAR_ADDRESS(110);
+
+ _itemInPocketVarPtr = (int32 *)VAR_ADDRESS(114);
+
+ *_itemInPocketVarPtr = -2;
}
void Goblin::loadGobDataFromVars(void) {
Gob_Object *obj;
- itemIndInPocket = *itemInPocketVarPtr;
-
- obj = goblins[currentGoblin];
-
- obj->state = *curGobStateVarPtr;
- obj->curFrame = *curGobFrameVarPtr;
- obj->multState = *curGobMultStateVarPtr;
- obj->nextState = *curGobNextStateVarPtr;
- obj->xPos = *curGobScrXVarPtr;
- obj->yPos = *curGobScrYVarPtr;
- obj->left = *curGobLeftVarPtr;
- obj->top = *curGobTopVarPtr;
- obj->right = *curGobRightVarPtr;
- obj->bottom = *curGobBottomVarPtr;
- obj->doAnim = *curGobDoAnimVarPtr;
- obj->order = *curGobOrderVarPtr;
- obj->noTick = *curGobNoTickVarPtr;
- obj->type = *curGobTypeVarPtr;
- obj->maxTick = *curGobMaxTickVarPtr;
- obj->tick = *curGobTickVarPtr;
- obj->actionStartState = *curGobActStartStateVarPtr;
- obj->curLookDir = *curGobLookDirVarPtr;
- obj->pickable = *curGobPickableVarPtr;
- obj->relaxTime = *curGobRelaxVarPtr;
-
- if (actDestItemDesc == 0)
+ _itemIndInPocket = *_itemInPocketVarPtr;
+
+ obj = _goblins[_currentGoblin];
+
+ obj->state = *_curGobStateVarPtr;
+ obj->curFrame = *_curGobFrameVarPtr;
+ obj->multState = *_curGobMultStateVarPtr;
+ obj->nextState = *_curGobNextStateVarPtr;
+ obj->xPos = *_curGobScrXVarPtr;
+ obj->yPos = *_curGobScrYVarPtr;
+ obj->left = *_curGobLeftVarPtr;
+ obj->top = *_curGobTopVarPtr;
+ obj->right = *_curGobRightVarPtr;
+ obj->bottom = *_curGobBottomVarPtr;
+ obj->doAnim = *_curGobDoAnimVarPtr;
+ obj->order = *_curGobOrderVarPtr;
+ obj->noTick = *_curGobNoTickVarPtr;
+ obj->type = *_curGobTypeVarPtr;
+ obj->maxTick = *_curGobMaxTickVarPtr;
+ obj->tick = *_curGobTickVarPtr;
+ obj->actionStartState = *_curGobActStartStateVarPtr;
+ obj->curLookDir = *_curGobLookDirVarPtr;
+ obj->pickable = *_curGobPickableVarPtr;
+ obj->relaxTime = *_curGobRelaxVarPtr;
+
+ if (_actDestItemDesc == 0)
return;
- obj = actDestItemDesc;
-
- obj->state = *destItemStateVarPtr;
- obj->curFrame = *destItemFrameVarPtr;
- obj->multState = *destItemMultStateVarPtr;
- obj->nextState = *destItemNextStateVarPtr;
- obj->xPos = *destItemScrXVarPtr;
- obj->yPos = *destItemScrYVarPtr;
- obj->left = *destItemLeftVarPtr;
- obj->top = *destItemTopVarPtr;
- obj->right = *destItemRightVarPtr;
- obj->bottom = *destItemBottomVarPtr;
- obj->doAnim = *destItemDoAnimVarPtr;
- obj->order = *destItemOrderVarPtr;
- obj->noTick = *destItemNoTickVarPtr;
- obj->type = *destItemTypeVarPtr;
- obj->maxTick = *destItemMaxTickVarPtr;
- obj->tick = *destItemTickVarPtr;
- obj->actionStartState = *destItemActStartStVarPtr;
- obj->curLookDir = *destItemLookDirVarPtr;
- obj->pickable = *destItemPickableVarPtr;
- obj->relaxTime = *destItemRelaxVarPtr;
-
- if (obj->type != destItemType)
+ obj = _actDestItemDesc;
+
+ obj->state = *_destItemStateVarPtr;
+ obj->curFrame = *_destItemFrameVarPtr;
+ obj->multState = *_destItemMultStateVarPtr;
+ obj->nextState = *_destItemNextStateVarPtr;
+ obj->xPos = *_destItemScrXVarPtr;
+ obj->yPos = *_destItemScrYVarPtr;
+ obj->left = *_destItemLeftVarPtr;
+ obj->top = *_destItemTopVarPtr;
+ obj->right = *_destItemRightVarPtr;
+ obj->bottom = *_destItemBottomVarPtr;
+ obj->doAnim = *_destItemDoAnimVarPtr;
+ obj->order = *_destItemOrderVarPtr;
+ obj->noTick = *_destItemNoTickVarPtr;
+ obj->type = *_destItemTypeVarPtr;
+ obj->maxTick = *_destItemMaxTickVarPtr;
+ obj->tick = *_destItemTickVarPtr;
+ obj->actionStartState = *_destItemActStartStVarPtr;
+ obj->curLookDir = *_destItemLookDirVarPtr;
+ obj->pickable = *_destItemPickableVarPtr;
+ obj->relaxTime = *_destItemRelaxVarPtr;
+
+ if (obj->type != _destItemType)
obj->toRedraw = 1;
- if (obj->state != destItemState && obj->type == 0)
+ if (obj->state != _destItemState && obj->type == 0)
obj->toRedraw = 1;
}
@@ -2093,17 +2093,17 @@ void Goblin::pickItem(int16 indexToPocket, int16 idToPocket) {
int16 x;
int16 y;
- if (objects[indexToPocket]->pickable != 1)
+ if (_objects[indexToPocket]->pickable != 1)
return;
- objects[indexToPocket]->type = 3;
+ _objects[indexToPocket]->type = 3;
- itemIndInPocket = indexToPocket;
- itemIdInPocket = idToPocket;
+ _itemIndInPocket = indexToPocket;
+ _itemIdInPocket = idToPocket;
for (y = 0; y < Map::kMapHeight; y++) {
for (x = 0; x < Map::kMapWidth; x++) {
- if (itemByteFlag == 1) {
+ if (_itemByteFlag == 1) {
if (((_vm->_map->_itemsMap[y][x] & 0xff00) >> 8) ==
idToPocket)
_vm->_map->_itemsMap[y][x] &= 0xff;
@@ -2115,9 +2115,9 @@ void Goblin::pickItem(int16 indexToPocket, int16 idToPocket) {
}
if (idToPocket >= 0 && idToPocket < 20) {
- _vm->_map->_itemPoses[itemIdInPocket].x = 0;
- _vm->_map->_itemPoses[itemIdInPocket].y = 0;
- _vm->_map->_itemPoses[itemIdInPocket].orient = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].x = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].y = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].orient = 0;
}
}
@@ -2128,20 +2128,20 @@ void Goblin::placeItem(int16 indexInPocket, int16 idInPocket) {
int16 yPos;
int16 layer;
- itemDesc = objects[indexInPocket];
- lookDir = goblins[0]->curLookDir & 4;
+ itemDesc = _objects[indexInPocket];
+ lookDir = _goblins[0]->curLookDir & 4;
- xPos = gobPositions[0].x;
- yPos = gobPositions[0].y;
+ xPos = _gobPositions[0].x;
+ yPos = _gobPositions[0].y;
- itemIndInPocket = -1;
- itemIdInPocket = 0;
+ _itemIndInPocket = -1;
+ _itemIdInPocket = 0;
itemDesc->pickable = 1;
itemDesc->type = 0;
itemDesc->toRedraw = 1;
itemDesc->curFrame = 0;
- itemDesc->order = goblins[0]->order;
+ itemDesc->order = _goblins[0]->order;
itemDesc->animation =
itemDesc->stateMach[itemDesc->state][0]->animation;
layer =
@@ -2151,13 +2151,13 @@ void Goblin::placeItem(int16 indexInPocket, int16 idInPocket) {
itemDesc->xPos, itemDesc->yPos, 0);
itemDesc->yPos +=
- (gobPositions[0].y * 6) + 5 - _vm->_scenery->toRedrawBottom;
+ (_gobPositions[0].y * 6) + 5 - _vm->_scenery->toRedrawBottom;
if (lookDir == 4) {
- itemDesc->xPos += (gobPositions[0].x * 12 + 14)
+ itemDesc->xPos += (_gobPositions[0].x * 12 + 14)
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
} else {
- itemDesc->xPos += (gobPositions[0].x * 12)
+ itemDesc->xPos += (_gobPositions[0].x * 12)
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
}
@@ -2186,8 +2186,8 @@ void Goblin::placeItem(int16 indexInPocket, int16 idInPocket) {
}
if (idInPocket >= 0 && idInPocket < 20) {
- _vm->_map->_itemPoses[idInPocket].x = gobPositions[0].x;
- _vm->_map->_itemPoses[idInPocket].y = gobPositions[0].y;
+ _vm->_map->_itemPoses[idInPocket].x = _gobPositions[0].x;
+ _vm->_map->_itemPoses[idInPocket].y = _gobPositions[0].y;
_vm->_map->_itemPoses[idInPocket].orient = lookDir;
if (_vm->_map->_itemPoses[idInPocket].orient == 0) {
// _vm->_map->_itemPoses[idInPocket].x++;
@@ -2208,15 +2208,15 @@ void Goblin::swapItems(int16 indexToPick, int16 idToPick) {
int16 x;
int16 y;
- pickObj = objects[indexToPick];
- placeObj = objects[itemIndInPocket];
+ pickObj = _objects[indexToPick];
+ placeObj = _objects[_itemIndInPocket];
- idToPlace = itemIdInPocket;
+ idToPlace = _itemIdInPocket;
pickObj->type = 3;
- itemIndInPocket = indexToPick;
- itemIdInPocket = idToPick;
+ _itemIndInPocket = indexToPick;
+ _itemIdInPocket = idToPick;
- if (itemByteFlag == 0) {
+ if (_itemByteFlag == 0) {
for (y = 0; y < Map::kMapHeight; y++) {
for (x = 0; x < Map::kMapWidth; x++) {
if ((_vm->_map->_itemsMap[y][x] & 0xff) == idToPick)
@@ -2240,19 +2240,19 @@ void Goblin::swapItems(int16 indexToPick, int16 idToPick) {
if (idToPick >= 0 && idToPick < 20) {
_vm->_map->_itemPoses[idToPlace].x =
- _vm->_map->_itemPoses[itemIdInPocket].x;
+ _vm->_map->_itemPoses[_itemIdInPocket].x;
_vm->_map->_itemPoses[idToPlace].y =
- _vm->_map->_itemPoses[itemIdInPocket].y;
+ _vm->_map->_itemPoses[_itemIdInPocket].y;
_vm->_map->_itemPoses[idToPlace].orient =
- _vm->_map->_itemPoses[itemIdInPocket].orient;
+ _vm->_map->_itemPoses[_itemIdInPocket].orient;
- _vm->_map->_itemPoses[itemIdInPocket].x = 0;
- _vm->_map->_itemPoses[itemIdInPocket].y = 0;
- _vm->_map->_itemPoses[itemIdInPocket].orient = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].x = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].y = 0;
+ _vm->_map->_itemPoses[_itemIdInPocket].orient = 0;
}
- itemIndInPocket = -1;
- itemIdInPocket = 0;
+ _itemIndInPocket = -1;
+ _itemIdInPocket = 0;
placeObj->type = 0;
placeObj->nextState = -1;
@@ -2260,7 +2260,7 @@ void Goblin::swapItems(int16 indexToPick, int16 idToPick) {
placeObj->unk14 = 0;
placeObj->toRedraw = 1;
placeObj->curFrame = 0;
- placeObj->order = goblins[0]->order;
+ placeObj->order = _goblins[0]->order;
placeObj->animation =
placeObj->stateMach[placeObj->state][0]->animation;
@@ -2271,13 +2271,13 @@ void Goblin::swapItems(int16 indexToPick, int16 idToPick) {
placeObj->yPos, 0);
placeObj->yPos +=
- (gobPositions[0].y * 6) + 5 - _vm->_scenery->toRedrawBottom;
+ (_gobPositions[0].y * 6) + 5 - _vm->_scenery->toRedrawBottom;
if (_vm->_map->_itemPoses[idToPlace].orient == 4) {
- placeObj->xPos += (gobPositions[0].x * 12 + 14)
+ placeObj->xPos += (_gobPositions[0].x * 12 + 14)
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
} else {
- placeObj->xPos += (gobPositions[0].x * 12)
+ placeObj->xPos += (_gobPositions[0].x * 12)
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
}
}
@@ -2286,7 +2286,7 @@ void Goblin::treatItemPick(int16 itemId) {
int16 itemIndex;
Gob_Object *gobDesc;
- gobDesc = goblins[currentGoblin];
+ gobDesc = _goblins[_currentGoblin];
if (gobDesc->curFrame != 9)
return;
@@ -2294,31 +2294,31 @@ void Goblin::treatItemPick(int16 itemId) {
if (gobDesc->stateMach != gobDesc->realStateMach)
return;
- readyToAct = 0;
- goesAtTarget = 0;
+ _readyToAct = 0;
+ _goesAtTarget = 0;
- itemIndex = itemToObject[itemId];
+ itemIndex = _itemToObject[itemId];
if (itemId != 0 && itemIndex != -1
- && objects[itemIndex]->pickable != 1)
+ && _objects[itemIndex]->pickable != 1)
itemIndex = -1;
- if (itemIndInPocket != -1 && itemIndInPocket == itemIndex)
+ if (_itemIndInPocket != -1 && _itemIndInPocket == itemIndex)
itemIndex = -1;
- if (itemIndInPocket != -1 && itemIndex != -1
- && objects[itemIndex]->pickable == 1) {
+ if (_itemIndInPocket != -1 && itemIndex != -1
+ && _objects[itemIndex]->pickable == 1) {
swapItems(itemIndex, itemId);
- itemIndInPocket = itemIndex;
- itemIdInPocket = itemId;
+ _itemIndInPocket = itemIndex;
+ _itemIdInPocket = itemId;
return;
}
- if (itemIndInPocket != -1 && itemIndex == -1) {
- placeItem(itemIndInPocket, itemIdInPocket);
+ if (_itemIndInPocket != -1 && itemIndex == -1) {
+ placeItem(_itemIndInPocket, _itemIdInPocket);
return;
}
- if (itemIndInPocket == -1 && itemIndex != -1) {
+ if (_itemIndInPocket == -1 && itemIndex != -1) {
pickItem(itemIndex, itemId);
return;
}
@@ -2327,51 +2327,51 @@ void Goblin::treatItemPick(int16 itemId) {
int16 Goblin::treatItem(int16 action) {
int16 state;
- state = goblins[currentGoblin]->state;
+ state = _goblins[_currentGoblin]->state;
if ((state == 10 || state == 11) &&
- goblins[currentGoblin]->curFrame == 0) {
- readyToAct = 0;
+ _goblins[_currentGoblin]->curFrame == 0) {
+ _readyToAct = 0;
}
- if (action == 3 && currentGoblin == 0 &&
- (state == 10 || state == 11) && goblins[0]->curFrame == 0) {
- saveGobDataToVars(gobPositions[currentGoblin].x,
- gobPositions[currentGoblin].y, 0);
- goesAtTarget = 1;
+ if (action == 3 && _currentGoblin == 0 &&
+ (state == 10 || state == 11) && _goblins[0]->curFrame == 0) {
+ saveGobDataToVars(_gobPositions[_currentGoblin].x,
+ _gobPositions[_currentGoblin].y, 0);
+ _goesAtTarget = 1;
return -1;
}
- if (noPick == 0 && currentGoblin == 0 &&
+ if (_noPick == 0 && _currentGoblin == 0 &&
(state == 10 || state == 11)) {
- treatItemPick(destActionItem);
+ treatItemPick(_destActionItem);
- saveGobDataToVars(gobPositions[currentGoblin].x,
- gobPositions[currentGoblin].y, 0);
+ saveGobDataToVars(_gobPositions[_currentGoblin].x,
+ _gobPositions[_currentGoblin].y, 0);
return 0;
}
- if (goesAtTarget == 0) {
- saveGobDataToVars(gobPositions[currentGoblin].x,
- gobPositions[currentGoblin].y, 0);
+ if (_goesAtTarget == 0) {
+ saveGobDataToVars(_gobPositions[_currentGoblin].x,
+ _gobPositions[_currentGoblin].y, 0);
return 0;
} else {
- if (itemToObject[destActionItem] != 100 &&
- destActionItem != 0) {
+ if (_itemToObject[_destActionItem] != 100 &&
+ _destActionItem != 0) {
- if (itemToObject[destActionItem] == -1) {
- actDestItemDesc = 0;
+ if (_itemToObject[_destActionItem] == -1) {
+ _actDestItemDesc = 0;
} else {
- actDestItemDesc =
- objects[itemToObject
- [destActionItem]];
+ _actDestItemDesc =
+ _objects[_itemToObject
+ [_destActionItem]];
}
}
- goesAtTarget = 0;
- saveGobDataToVars(gobPositions[currentGoblin].x,
- gobPositions[currentGoblin].y, 0);
- return destActionItem;
+ _goesAtTarget = 0;
+ saveGobDataToVars(_gobPositions[_currentGoblin].x,
+ _gobPositions[_currentGoblin].y, 0);
+ return _destActionItem;
}
}
@@ -2397,14 +2397,14 @@ void Goblin::interFunc(void) {
_vm->_global->_inter_execPtr += 2;
if (cmd > 0 && cmd < 17) {
extraData = _vm->_inter->load16();
- objDesc = objects[extraData];
+ objDesc = _objects[extraData];
objDescSet = true;
extraData = _vm->_inter->load16();
}
if (cmd > 90 && cmd < 107) {
extraData = _vm->_inter->load16();
- objDesc = goblins[extraData];
+ objDesc = _goblins[extraData];
objDescSet = true;
extraData = _vm->_inter->load16();
cmd -= 90;
@@ -2412,12 +2412,12 @@ void Goblin::interFunc(void) {
if (cmd > 110 && cmd < 128) {
extraData = _vm->_inter->load16();
- objDesc = goblins[extraData];
+ objDesc = _goblins[extraData];
objDescSet = true;
cmd -= 90;
} else if (cmd > 20 && cmd < 38) {
extraData = _vm->_inter->load16();
- objDesc = objects[extraData];
+ objDesc = _objects[extraData];
objDescSet = true;
}
@@ -2439,50 +2439,50 @@ void Goblin::interFunc(void) {
case 1:
objDesc->state = extraData;
- if (objDesc == actDestItemDesc)
- *destItemStateVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemStateVarPtr = extraData;
break;
case 2:
objDesc->curFrame = extraData;
- if (objDesc == actDestItemDesc)
- *destItemFrameVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemFrameVarPtr = extraData;
break;
case 3:
objDesc->nextState = extraData;
- if (objDesc == actDestItemDesc)
- *destItemNextStateVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemNextStateVarPtr = extraData;
break;
case 4:
objDesc->multState = extraData;
- if (objDesc == actDestItemDesc)
- *destItemMultStateVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemMultStateVarPtr = extraData;
break;
case 5:
objDesc->order = extraData;
- if (objDesc == actDestItemDesc)
- *destItemOrderVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemOrderVarPtr = extraData;
break;
case 6:
objDesc->actionStartState = extraData;
- if (objDesc == actDestItemDesc)
- *destItemActStartStVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemActStartStVarPtr = extraData;
break;
case 7:
objDesc->curLookDir = extraData;
- if (objDesc == actDestItemDesc)
- *destItemLookDirVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemLookDirVarPtr = extraData;
break;
case 8:
objDesc->type = extraData;
- if (objDesc == actDestItemDesc)
- *destItemTypeVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemTypeVarPtr = extraData;
if (extraData == 0)
objDesc->toRedraw = 1;
@@ -2490,44 +2490,44 @@ void Goblin::interFunc(void) {
case 9:
objDesc->noTick = extraData;
- if (objDesc == actDestItemDesc)
- *destItemNoTickVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemNoTickVarPtr = extraData;
break;
case 10:
objDesc->pickable = extraData;
- if (objDesc == actDestItemDesc)
- *destItemPickableVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemPickableVarPtr = extraData;
break;
case 12:
objDesc->xPos = extraData;
- if (objDesc == actDestItemDesc)
- *destItemScrXVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemScrXVarPtr = extraData;
break;
case 13:
objDesc->yPos = extraData;
- if (objDesc == actDestItemDesc)
- *destItemScrYVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemScrYVarPtr = extraData;
break;
case 14:
objDesc->doAnim = extraData;
- if (objDesc == actDestItemDesc)
- *destItemDoAnimVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemDoAnimVarPtr = extraData;
break;
case 15:
objDesc->relaxTime = extraData;
- if (objDesc == actDestItemDesc)
- *destItemRelaxVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemRelaxVarPtr = extraData;
break;
case 16:
objDesc->maxTick = extraData;
- if (objDesc == actDestItemDesc)
- *destItemMaxTickVarPtr = extraData;
+ if (objDesc == _actDestItemDesc)
+ *_destItemMaxTickVarPtr = extraData;
break;
case 21:
@@ -2775,10 +2775,10 @@ void Goblin::interFunc(void) {
xPos = _vm->_inter->load16();
yPos = _vm->_inter->load16();
- gobPositions[item].x = xPos * 2;
- gobPositions[item].y = yPos * 2;
+ _gobPositions[item].x = xPos * 2;
+ _gobPositions[item].y = yPos * 2;
- objDesc = goblins[item];
+ objDesc = _goblins[item];
objDesc->nextState = 21;
nextLayer(objDesc);
@@ -2789,33 +2789,33 @@ void Goblin::interFunc(void) {
objDesc->xPos, objDesc->yPos, 0);
objDesc->yPos =
- (gobPositions[item].y * 6 + 6) - (_vm->_scenery->toRedrawBottom -
+ (_gobPositions[item].y * 6 + 6) - (_vm->_scenery->toRedrawBottom -
_vm->_scenery->animTop);
objDesc->xPos =
- gobPositions[item].x * 12 - (_vm->_scenery->toRedrawLeft -
+ _gobPositions[item].x * 12 - (_vm->_scenery->toRedrawLeft -
_vm->_scenery->animLeft);
objDesc->curFrame = 0;
objDesc->state = 21;
- if (currentGoblin == item) {
- *curGobScrXVarPtr = objDesc->xPos;
- *curGobScrYVarPtr = objDesc->yPos;
+ if (_currentGoblin == item) {
+ *_curGobScrXVarPtr = objDesc->xPos;
+ *_curGobScrYVarPtr = objDesc->yPos;
- *curGobFrameVarPtr = 0;
- *curGobStateVarPtr = 18;
- pressedMapX = gobPositions[item].x;
- pressedMapY = gobPositions[item].y;
+ *_curGobFrameVarPtr = 0;
+ *_curGobStateVarPtr = 18;
+ _pressedMapX = _gobPositions[item].x;
+ _pressedMapY = _gobPositions[item].y;
}
break;
case 52:
item = _vm->_inter->load16();
- *retVarPtr = gobPositions[item].x >> 1;
+ *retVarPtr = _gobPositions[item].x >> 1;
break;
case 53:
item = _vm->_inter->load16();
- *retVarPtr = gobPositions[item].y >> 1;
+ *retVarPtr = _gobPositions[item].y >> 1;
break;
case 150:
@@ -2823,7 +2823,7 @@ void Goblin::interFunc(void) {
xPos = _vm->_inter->load16();
yPos = _vm->_inter->load16();
- objDesc = goblins[item];
+ objDesc = _goblins[item];
if (yPos == 0) {
objDesc->multState = xPos;
objDesc->nextState = xPos;
@@ -2838,15 +2838,15 @@ void Goblin::interFunc(void) {
_vm->_scenery->animations[objDesc->animation].layers[layer]->
posY;
- *curGobScrXVarPtr = objDesc->xPos;
- *curGobScrYVarPtr = objDesc->yPos;
- *curGobFrameVarPtr = 0;
- *curGobStateVarPtr = objDesc->state;
- *curGobNextStateVarPtr = objDesc->nextState;
- *curGobMultStateVarPtr = objDesc->multState;
- *curGobMaxFrameVarPtr =
+ *_curGobScrXVarPtr = objDesc->xPos;
+ *_curGobScrYVarPtr = objDesc->yPos;
+ *_curGobFrameVarPtr = 0;
+ *_curGobStateVarPtr = objDesc->state;
+ *_curGobNextStateVarPtr = objDesc->nextState;
+ *_curGobMultStateVarPtr = objDesc->multState;
+ *_curGobMaxFrameVarPtr =
getObjMaxFrame(objDesc);
- noPick = 1;
+ _noPick = 1;
break;
}
@@ -2864,21 +2864,21 @@ void Goblin::interFunc(void) {
objDesc->xPos =
xPos * 12 - (_vm->_scenery->toRedrawLeft - _vm->_scenery->animLeft);
- gobPositions[item].x = xPos;
- pressedMapX = xPos;
+ _gobPositions[item].x = xPos;
+ _pressedMapX = xPos;
_vm->_map->_curGoblinX = xPos;
- gobPositions[item].y = yPos;
- pressedMapY = yPos;
+ _gobPositions[item].y = yPos;
+ _pressedMapY = yPos;
_vm->_map->_curGoblinY = yPos;
- *curGobScrXVarPtr = objDesc->xPos;
- *curGobScrYVarPtr = objDesc->yPos;
- *curGobFrameVarPtr = 0;
- *curGobStateVarPtr = 21;
- *curGobNextStateVarPtr = 21;
- *curGobMultStateVarPtr = -1;
- noPick = 0;
+ *_curGobScrXVarPtr = objDesc->xPos;
+ *_curGobScrYVarPtr = objDesc->yPos;
+ *_curGobFrameVarPtr = 0;
+ *_curGobStateVarPtr = 21;
+ *_curGobNextStateVarPtr = 21;
+ *_curGobMultStateVarPtr = -1;
+ _noPick = 0;
break;
case 250:
@@ -2886,10 +2886,10 @@ void Goblin::interFunc(void) {
xPos = _vm->_inter->load16();
yPos = _vm->_inter->load16();
- gobPositions[item].x = xPos;
- gobPositions[item].y = yPos;
+ _gobPositions[item].x = xPos;
+ _gobPositions[item].y = yPos;
- objDesc = goblins[item];
+ objDesc = _goblins[item];
objDesc->nextState = 21;
nextLayer(objDesc);
@@ -2906,14 +2906,14 @@ void Goblin::interFunc(void) {
objDesc->curFrame = 0;
objDesc->state = 21;
- if (currentGoblin == item) {
- *curGobScrXVarPtr = objDesc->xPos;
- *curGobScrYVarPtr = objDesc->yPos;
- *curGobFrameVarPtr = 0;
- *curGobStateVarPtr = 18;
+ if (_currentGoblin == item) {
+ *_curGobScrXVarPtr = objDesc->xPos;
+ *_curGobScrYVarPtr = objDesc->yPos;
+ *_curGobFrameVarPtr = 0;
+ *_curGobStateVarPtr = 18;
- pressedMapX = gobPositions[item].x;
- pressedMapY = gobPositions[item].y;
+ _pressedMapX = _gobPositions[item].x;
+ _pressedMapY = _gobPositions[item].y;
}
break;
@@ -2921,7 +2921,7 @@ void Goblin::interFunc(void) {
item = _vm->_inter->load16();
state = _vm->_inter->load16();
- objDesc = goblins[item];
+ objDesc = _goblins[item];
objDesc->nextState = state;
nextLayer(objDesc);
@@ -2932,19 +2932,19 @@ void Goblin::interFunc(void) {
objDesc->yPos =
_vm->_scenery->animations[objDesc->animation].layers[layer]->posY;
- if (item == currentGoblin) {
- *curGobScrXVarPtr = objDesc->xPos;
- *curGobScrYVarPtr = objDesc->yPos;
- *curGobFrameVarPtr = 0;
- *curGobStateVarPtr = objDesc->state;
- *curGobMultStateVarPtr = objDesc->multState;
+ if (item == _currentGoblin) {
+ *_curGobScrXVarPtr = objDesc->xPos;
+ *_curGobScrYVarPtr = objDesc->yPos;
+ *_curGobFrameVarPtr = 0;
+ *_curGobStateVarPtr = objDesc->state;
+ *_curGobMultStateVarPtr = objDesc->multState;
}
break;
case 252:
item = _vm->_inter->load16();
state = _vm->_inter->load16();
- objDesc = objects[item];
+ objDesc = _objects[item];
objDesc->nextState = state;
@@ -2957,38 +2957,38 @@ void Goblin::interFunc(void) {
objDesc->toRedraw = 1;
objDesc->type = 0;
- if (objDesc == actDestItemDesc) {
- *destItemScrXVarPtr = objDesc->xPos;
- *destItemScrYVarPtr = objDesc->yPos;
+ if (objDesc == _actDestItemDesc) {
+ *_destItemScrXVarPtr = objDesc->xPos;
+ *_destItemScrYVarPtr = objDesc->yPos;
- *destItemStateVarPtr = objDesc->state;
- *destItemNextStateVarPtr = -1;
- *destItemMultStateVarPtr = -1;
- *destItemFrameVarPtr = 0;
+ *_destItemStateVarPtr = objDesc->state;
+ *_destItemNextStateVarPtr = -1;
+ *_destItemMultStateVarPtr = -1;
+ *_destItemFrameVarPtr = 0;
}
break;
case 152:
item = _vm->_inter->load16();
val = _vm->_inter->load16();
- objDesc = objects[item];
+ objDesc = _objects[item];
objDesc->unk14 = val;
break;
case 200:
- itemIdInPocket = _vm->_inter->load16();
+ _itemIdInPocket = _vm->_inter->load16();
break;
case 201:
- itemIndInPocket = _vm->_inter->load16();
+ _itemIndInPocket = _vm->_inter->load16();
break;
case 202:
- *retVarPtr = itemIdInPocket;
+ *retVarPtr = _itemIdInPocket;
break;
case 203:
- *retVarPtr = itemIndInPocket;
+ *retVarPtr = _itemIndInPocket;
break;
case 204:
@@ -3004,7 +3004,7 @@ void Goblin::interFunc(void) {
case 500:
extraData = _vm->_inter->load16();
- objDesc = objects[extraData];
+ objDesc = _objects[extraData];
objDesc->relaxTime--;
if (objDesc->relaxTime < 0 &&
@@ -3017,34 +3017,34 @@ void Goblin::interFunc(void) {
case 502:
item = _vm->_inter->load16();
- *retVarPtr = gobPositions[item].x;
+ *retVarPtr = _gobPositions[item].x;
break;
case 503:
item = _vm->_inter->load16();
- *retVarPtr = gobPositions[item].y;
+ *retVarPtr = _gobPositions[item].y;
break;
case 600:
- pathExistence = 0;
+ _pathExistence = 0;
break;
case 601:
extraData = _vm->_inter->load16();
- goblins[extraData]->visible = 1;
+ _goblins[extraData]->visible = 1;
break;
case 602:
extraData = _vm->_inter->load16();
- goblins[extraData]->visible = 0;
+ _goblins[extraData]->visible = 0;
break;
case 603:
extraData = _vm->_inter->load16();
item = _vm->_inter->load16();
- objDesc = objects[extraData];
- if (objIntersected(objDesc, goblins[item]) != 0)
+ objDesc = _objects[extraData];
+ if (objIntersected(objDesc, _goblins[item]) != 0)
*retVarPtr = 1;
else
*retVarPtr = 0;
@@ -3054,8 +3054,8 @@ void Goblin::interFunc(void) {
extraData = _vm->_inter->load16();
item = _vm->_inter->load16();
- objDesc = goblins[extraData];
- if (objIntersected(objDesc, goblins[item]) != 0)
+ objDesc = _goblins[extraData];
+ if (objIntersected(objDesc, _goblins[item]) != 0)
*retVarPtr = 1;
else
*retVarPtr = 0;
@@ -3074,11 +3074,11 @@ void Goblin::interFunc(void) {
case 1000:
extraData = _vm->_inter->load16();
- if (_vm->_game->extHandle >= 0)
- _vm->_dataio->closeData(_vm->_game->extHandle);
+ if (_vm->_game->_extHandle >= 0)
+ _vm->_dataio->closeData(_vm->_game->_extHandle);
loadObjects((char *)VAR_ADDRESS(extraData));
- _vm->_game->extHandle = _vm->_dataio->openData(_vm->_game->curExtFile);
+ _vm->_game->_extHandle = _vm->_dataio->openData(_vm->_game->_curExtFile);
break;
case 1001:
@@ -3106,11 +3106,11 @@ void Goblin::interFunc(void) {
if ((uint16)VAR(xPos) == 0) {
item =
- doMove(goblins[currentGoblin], 1,
+ doMove(_goblins[_currentGoblin], 1,
(uint16)VAR(extraData));
} else {
item =
- doMove(goblins[currentGoblin], 1, 3);
+ doMove(_goblins[_currentGoblin], 1, 3);
}
if (item != 0)
@@ -3139,59 +3139,59 @@ void Goblin::interFunc(void) {
break;
case 1010:
- doMove(goblins[currentGoblin], 0, 0);
+ doMove(_goblins[_currentGoblin], 0, 0);
break;
case 1011:
extraData = _vm->_inter->load16();
if (VAR(extraData) != 0)
- goesAtTarget = 1;
+ _goesAtTarget = 1;
else
- goesAtTarget = 0;
+ _goesAtTarget = 0;
break;
case 1015:
extraData = _vm->_inter->load16();
extraData = VAR(extraData);
- objects[10]->xPos = extraData;
+ _objects[10]->xPos = extraData;
extraData = _vm->_inter->load16();
extraData = VAR(extraData);
- objects[10]->yPos = extraData;
+ _objects[10]->yPos = extraData;
break;
case 2005:
- gobDesc = goblins[0];
- if (currentGoblin != 0) {
- goblins[currentGoblin]->doAnim = 1;
- goblins[currentGoblin]->nextState = 21;
+ gobDesc = _goblins[0];
+ if (_currentGoblin != 0) {
+ _goblins[_currentGoblin]->doAnim = 1;
+ _goblins[_currentGoblin]->nextState = 21;
- nextLayer(goblins[currentGoblin]);
- currentGoblin = 0;
+ nextLayer(_goblins[_currentGoblin]);
+ _currentGoblin = 0;
gobDesc->doAnim = 0;
gobDesc->type = 0;
gobDesc->toRedraw = 1;
- pressedMapX = gobPositions[0].x;
- _vm->_map->_destX = gobPositions[0].x;
- gobDestX = gobPositions[0].x;
+ _pressedMapX = _gobPositions[0].x;
+ _vm->_map->_destX = _gobPositions[0].x;
+ _gobDestX = _gobPositions[0].x;
- pressedMapY = gobPositions[0].y;
- _vm->_map->_destY = gobPositions[0].y;
- gobDestY = gobPositions[0].y;
+ _pressedMapY = _gobPositions[0].y;
+ _vm->_map->_destY = _gobPositions[0].y;
+ _gobDestY = _gobPositions[0].y;
- *curGobVarPtr = 0;
- pathExistence = 0;
- readyToAct = 0;
+ *_curGobVarPtr = 0;
+ _pathExistence = 0;
+ _readyToAct = 0;
}
- if (gobDesc->state != 10 && itemIndInPocket != -1 &&
+ if (gobDesc->state != 10 && _itemIndInPocket != -1 &&
getObjMaxFrame(gobDesc) == gobDesc->curFrame) {
gobDesc->stateMach = gobDesc->realStateMach;
- xPos = gobPositions[0].x;
- yPos = gobPositions[0].y;
+ xPos = _gobPositions[0].x;
+ yPos = _gobPositions[0].y;
gobDesc->nextState = 10;
layer = nextLayer(gobDesc);
@@ -3209,13 +3209,13 @@ void Goblin::interFunc(void) {
if (gobDesc->state != 10)
break;
- if (itemIndInPocket == -1)
+ if (_itemIndInPocket == -1)
break;
if (gobDesc->curFrame != 10)
break;
- objDesc = objects[itemIndInPocket];
+ objDesc = _objects[_itemIndInPocket];
objDesc->type = 0;
objDesc->toRedraw = 1;
objDesc->curFrame = 0;
@@ -3230,18 +3230,18 @@ void Goblin::interFunc(void) {
objDesc->xPos, objDesc->yPos, 0);
objDesc->yPos +=
- (gobPositions[0].y * 6 + 5) - _vm->_scenery->toRedrawBottom;
+ (_gobPositions[0].y * 6 + 5) - _vm->_scenery->toRedrawBottom;
if (gobDesc->curLookDir == 4) {
- objDesc->xPos += gobPositions[0].x * 12 + 14
+ objDesc->xPos += _gobPositions[0].x * 12 + 14
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
} else {
- objDesc->xPos += gobPositions[0].x * 12
+ objDesc->xPos += _gobPositions[0].x * 12
- (_vm->_scenery->toRedrawLeft + _vm->_scenery->toRedrawRight) / 2;
}
- itemIndInPocket = -1;
- itemIdInPocket = -1;
+ _itemIndInPocket = -1;
+ _itemIdInPocket = -1;
_vm->_util->beep(50);
break;