Some minor clean-up
svn-id: r40166
This commit is contained in:
parent
f177c7142c
commit
c88b077fcc
13 changed files with 71 additions and 143 deletions
|
@ -348,7 +348,7 @@ void Draw::adjustCoords(char adjust, int16 *coord1, int16 *coord2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int Draw::stringLength(const char *str, int16 fontIndex) {
|
int Draw::stringLength(const char *str, int16 fontIndex) {
|
||||||
static const int8 dword_8F74C[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
static const int8 japaneseExtraCharLen[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
|
||||||
if ((fontIndex < 0) || (fontIndex > 7) || !_fonts[fontIndex])
|
if ((fontIndex < 0) || (fontIndex > 7) || !_fonts[fontIndex])
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -359,7 +359,7 @@ int Draw::stringLength(const char *str, int16 fontIndex) {
|
||||||
|
|
||||||
for (int i = 0; str[i] != 0; i++) {
|
for (int i = 0; str[i] != 0; i++) {
|
||||||
if (((unsigned char) str[i+1]) < 128) {
|
if (((unsigned char) str[i+1]) < 128) {
|
||||||
len += dword_8F74C[4];
|
len += japaneseExtraCharLen[4];
|
||||||
i++;
|
i++;
|
||||||
} else
|
} else
|
||||||
len += _fonts[fontIndex]->itemWidth;
|
len += _fonts[fontIndex]->itemWidth;
|
||||||
|
|
|
@ -617,8 +617,8 @@ void Draw_v2::spriteOperation(int16 operation) {
|
||||||
bool deltaVeto;
|
bool deltaVeto;
|
||||||
int16 left;
|
int16 left;
|
||||||
int16 ratio;
|
int16 ratio;
|
||||||
// Some handle, but always assigned to -1 in Game::loadTotFile()
|
// Always assigned to -1 in Game::loadTotFile()
|
||||||
int16 word_2F2D2 = -1;
|
int16 someHandle = -1;
|
||||||
|
|
||||||
deltaVeto = (operation & 0x10) != 0;
|
deltaVeto = (operation & 0x10) != 0;
|
||||||
operation &= 0x0F;
|
operation &= 0x0F;
|
||||||
|
@ -816,7 +816,7 @@ void Draw_v2::spriteOperation(int16 operation) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
if ((word_2F2D2 < 0) || (_textToPrint[i] != ' ')) {
|
if ((someHandle < 0) || (_textToPrint[i] != ' ')) {
|
||||||
_vm->_video->drawLetter(_textToPrint[i], _destSpriteX,
|
_vm->_video->drawLetter(_textToPrint[i], _destSpriteX,
|
||||||
_destSpriteY, _fonts[_fontIndex], _transparency,
|
_destSpriteY, _fonts[_fontIndex], _transparency,
|
||||||
_frontColor, _backColor, _spritesArray[_destSurface]);
|
_frontColor, _backColor, _spritesArray[_destSurface]);
|
||||||
|
|
|
@ -327,7 +327,7 @@ public:
|
||||||
virtual ~Game_v6() {}
|
virtual ~Game_v6() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
uint32 _dword_63E44;
|
uint32 _someTimeDly;
|
||||||
|
|
||||||
virtual void setCollisions(byte arg_0 = 1);
|
virtual void setCollisions(byte arg_0 = 1);
|
||||||
virtual void collSub(uint16 offset);
|
virtual void collSub(uint16 offset);
|
||||||
|
@ -336,7 +336,7 @@ protected:
|
||||||
|
|
||||||
virtual int16 checkMousePoint(int16 all, int16 *resId, int16 *resIndex);
|
virtual int16 checkMousePoint(int16 all, int16 *resId, int16 *resIndex);
|
||||||
|
|
||||||
void sub_1BA78();
|
void collSubReenter();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // End of namespace Gob
|
} // End of namespace Gob
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
namespace Gob {
|
namespace Gob {
|
||||||
|
|
||||||
Game_v6::Game_v6(GobEngine *vm) : Game_v2(vm) {
|
Game_v6::Game_v6(GobEngine *vm) : Game_v2(vm) {
|
||||||
_dword_63E44 = 0;
|
_someTimeDly = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// flagbits: 5 = freeInterVariables, 6 = skipPlay
|
// flagbits: 5 = freeInterVariables, 6 = skipPlay
|
||||||
|
@ -266,7 +266,7 @@ int16 Game_v6::checkCollisions(byte handleMouse, int16 deltaTime, int16 *pResId,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_1BA78();
|
collSubReenter();
|
||||||
if (!_vm->_draw->_noInvalidated) {
|
if (!_vm->_draw->_noInvalidated) {
|
||||||
if (handleMouse != 0)
|
if (handleMouse != 0)
|
||||||
_vm->_draw->animateCursor(-1);
|
_vm->_draw->animateCursor(-1);
|
||||||
|
@ -345,7 +345,7 @@ int16 Game_v6::checkCollisions(byte handleMouse, int16 deltaTime, int16 *pResId,
|
||||||
if ((_lastCollKey != 0) && (_lastCollId & 0x8000))
|
if ((_lastCollKey != 0) && (_lastCollId & 0x8000))
|
||||||
collAreaSub(_lastCollAreaIndex, 1);
|
collAreaSub(_lastCollAreaIndex, 1);
|
||||||
} else
|
} else
|
||||||
sub_1BA78();
|
collSubReenter();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((deltaTime == -2) && (key == 0) && (_mouseButtons == 0)) {
|
if ((deltaTime == -2) && (key == 0) && (_mouseButtons == 0)) {
|
||||||
|
@ -1022,7 +1022,7 @@ void Game_v6::collSub(uint16 offset) {
|
||||||
_shouldPushColls = 0;
|
_shouldPushColls = 0;
|
||||||
_vm->_global->_inter_execPtr = savedIP;
|
_vm->_global->_inter_execPtr = savedIP;
|
||||||
|
|
||||||
if ((_vm->_util->getTimeKey() - _dword_63E44) > 500)
|
if ((_vm->_util->getTimeKey() - _someTimeDly) > 500)
|
||||||
setCollisions(0);
|
setCollisions(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1135,7 +1135,7 @@ int16 Game_v6::checkMousePoint(int16 all, int16 *resId, int16 *resIndex) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game_v6::sub_1BA78() {
|
void Game_v6::collSubReenter() {
|
||||||
int16 lastCollAreaIndex = _lastCollAreaIndex;
|
int16 lastCollAreaIndex = _lastCollAreaIndex;
|
||||||
int16 lastCollId = _lastCollId;
|
int16 lastCollId = _lastCollId;
|
||||||
int16 collKey = checkMousePoint(1, &_lastCollId, &_lastCollAreaIndex);
|
int16 collKey = checkMousePoint(1, &_lastCollId, &_lastCollAreaIndex);
|
||||||
|
|
|
@ -327,7 +327,7 @@ public:
|
||||||
virtual ~Goblin_v4() {}
|
virtual ~Goblin_v4() {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int16 sub_20430(int16 state, uint16 dir);
|
int16 turnState(int16 state, uint16 dir);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // End of namespace Gob
|
} // End of namespace Gob
|
||||||
|
|
|
@ -126,17 +126,17 @@ void Goblin_v4::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16
|
||||||
if (_vm->_map->_widthByte == 4) {
|
if (_vm->_map->_widthByte == 4) {
|
||||||
switch (dir) {
|
switch (dir) {
|
||||||
case Map::kDirNW:
|
case Map::kDirNW:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirNW);
|
animData->nextState = turnState(animData->state, Map::kDirNW);
|
||||||
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
||||||
(animData->nextState == 1))
|
(animData->nextState == 1))
|
||||||
animData->nextState = 40;
|
animData->nextState = 40;
|
||||||
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY - 2) != 10)
|
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY - 2) != 10)
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirNW);
|
animData->nextState = turnState(animData->state, Map::kDirNW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirN:
|
case Map::kDirN:
|
||||||
animData->nextState =
|
animData->nextState =
|
||||||
(animData->curLookDir == 2) ? 2 : sub_20430(animData->state, Map::kDirN);
|
(animData->curLookDir == 2) ? 2 : turnState(animData->state, Map::kDirN);
|
||||||
if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) {
|
if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) {
|
||||||
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY - 2) != 10) {
|
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY - 2) != 10) {
|
||||||
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY - 2) == 10)
|
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY - 2) == 10)
|
||||||
|
@ -155,34 +155,34 @@ void Goblin_v4::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirNE:
|
case Map::kDirNE:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirNE);
|
animData->nextState = turnState(animData->state, Map::kDirNE);
|
||||||
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
||||||
(animData->nextState == 3))
|
(animData->nextState == 3))
|
||||||
animData->nextState = 42;
|
animData->nextState = 42;
|
||||||
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY - 2) != 10)
|
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY - 2) != 10)
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirNE);
|
animData->nextState = turnState(animData->state, Map::kDirNE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirW:
|
case Map::kDirW:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirW);
|
animData->nextState = turnState(animData->state, Map::kDirW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirE:
|
case Map::kDirE:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirE);
|
animData->nextState = turnState(animData->state, Map::kDirE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirSW:
|
case Map::kDirSW:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirSW);
|
animData->nextState = turnState(animData->state, Map::kDirSW);
|
||||||
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
||||||
(animData->nextState == 7))
|
(animData->nextState == 7))
|
||||||
animData->nextState = 41;
|
animData->nextState = 41;
|
||||||
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY) != 10)
|
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY) != 10)
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirSW);
|
animData->nextState = turnState(animData->state, Map::kDirSW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirS:
|
case Map::kDirS:
|
||||||
animData->nextState =
|
animData->nextState =
|
||||||
(animData->curLookDir == 6) ? 6 : sub_20430(animData->state, Map::kDirS);
|
(animData->curLookDir == 6) ? 6 : turnState(animData->state, Map::kDirS);
|
||||||
if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) {
|
if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) {
|
||||||
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY + 2) != 10) {
|
if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY + 2) != 10) {
|
||||||
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY + 2) == 10)
|
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY + 2) == 10)
|
||||||
|
@ -192,7 +192,7 @@ void Goblin_v4::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16
|
||||||
} else
|
} else
|
||||||
animData->nextState = 41;
|
animData->nextState = 41;
|
||||||
}
|
}
|
||||||
// loc_20AAD
|
|
||||||
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 20) &&
|
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 20) &&
|
||||||
(animData->nextState == 6))
|
(animData->nextState == 6))
|
||||||
animData->nextState = 39;
|
animData->nextState = 39;
|
||||||
|
@ -202,66 +202,57 @@ void Goblin_v4::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Map::kDirSE:
|
case Map::kDirSE:
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirSE);
|
animData->nextState = turnState(animData->state, Map::kDirSE);
|
||||||
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
if ((_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) &&
|
||||||
(animData->nextState == 5))
|
(animData->nextState == 5))
|
||||||
animData->nextState = 43;
|
animData->nextState = 43;
|
||||||
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY) != 10)
|
if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY) != 10)
|
||||||
animData->nextState = sub_20430(animData->state, Map::kDirSE);
|
animData->nextState = turnState(animData->state, Map::kDirSE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// loc_20D18
|
|
||||||
switch (animData->state) {
|
switch (animData->state) {
|
||||||
case 0:
|
case 0:
|
||||||
case 8:
|
case 8:
|
||||||
// loc_21134
|
|
||||||
animData->nextState = 8;
|
animData->nextState = 8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
case 10:
|
case 10:
|
||||||
case 40:
|
case 40:
|
||||||
// loc_21152
|
|
||||||
animData->nextState = 10;
|
animData->nextState = 10;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
case 29:
|
case 29:
|
||||||
// loc_2113E
|
|
||||||
animData->nextState = 29;
|
animData->nextState = 29;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
case 11:
|
case 11:
|
||||||
case 42:
|
case 42:
|
||||||
// loc_2115C
|
|
||||||
animData->nextState = 11;
|
animData->nextState = 11;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
case 9:
|
case 9:
|
||||||
// loc_2112A
|
|
||||||
animData->nextState = 9;
|
animData->nextState = 9;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
case 30:
|
case 30:
|
||||||
case 43:
|
case 43:
|
||||||
// loc_21166
|
|
||||||
animData->nextState = 30;
|
animData->nextState = 30;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
case 28:
|
case 28:
|
||||||
// loc_21148
|
|
||||||
animData->nextState = 28;
|
animData->nextState = 28;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
case 31:
|
case 31:
|
||||||
case 41:
|
case 41:
|
||||||
// loc_21170
|
|
||||||
animData->nextState = 31;
|
animData->nextState = 31;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -541,8 +532,8 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int16 Goblin_v4::sub_20430(int16 state, uint16 dir) {
|
int16 Goblin_v4::turnState(int16 state, uint16 dir) {
|
||||||
static const int16 word_3F25E[8][8] = {
|
static const int16 newStates[8][8] = {
|
||||||
{ 0, 1, 10, 10, 10, 31, 31, 7},
|
{ 0, 1, 10, 10, 10, 31, 31, 7},
|
||||||
{ 0, 1, 2, 29, 29, 29, 8, 8},
|
{ 0, 1, 2, 29, 29, 29, 8, 8},
|
||||||
{10, 1, 2, 3, 11, 11, 11, 10},
|
{10, 1, 2, 3, 11, 11, 11, 10},
|
||||||
|
@ -557,56 +548,46 @@ int16 Goblin_v4::sub_20430(int16 state, uint16 dir) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 0:
|
case 0:
|
||||||
case 8:
|
case 8:
|
||||||
// loc_20447
|
|
||||||
dx = 0;
|
dx = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
case 10:
|
case 10:
|
||||||
case 40:
|
case 40:
|
||||||
// loc_2044B
|
|
||||||
dx = 1;
|
dx = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
case 11:
|
case 11:
|
||||||
case 42:
|
case 42:
|
||||||
// loc_20455
|
|
||||||
dx = 3;
|
dx = 3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
case 30:
|
case 30:
|
||||||
case 43:
|
case 43:
|
||||||
// loc_2045F
|
|
||||||
dx = 5;
|
dx = 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
case 31:
|
case 31:
|
||||||
case 41:
|
case 41:
|
||||||
// loc_20469
|
|
||||||
dx = 7;
|
dx = 7;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9:
|
case 9:
|
||||||
// loc_2045A
|
|
||||||
dx = 4;
|
dx = 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 28:
|
case 28:
|
||||||
// loc_20464
|
|
||||||
dx = 6;
|
dx = 6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 29:
|
case 29:
|
||||||
// loc_20450
|
|
||||||
dx = 2;
|
dx = 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// loc_2046C
|
|
||||||
|
|
||||||
switch (dir) {
|
switch (dir) {
|
||||||
case Map::kDirNW:
|
case Map::kDirNW:
|
||||||
cx = 1;
|
cx = 1;
|
||||||
|
@ -641,7 +622,7 @@ int16 Goblin_v4::sub_20430(int16 state, uint16 dir) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return word_3F25E[dx][cx];
|
return newStates[dx][cx];
|
||||||
}
|
}
|
||||||
|
|
||||||
} // End of namespace Gob
|
} // End of namespace Gob
|
||||||
|
|
|
@ -625,7 +625,7 @@ protected:
|
||||||
virtual const char *getOpcodeFuncDesc(byte i, byte j);
|
virtual const char *getOpcodeFuncDesc(byte i, byte j);
|
||||||
virtual const char *getOpcodeGoblinDesc(int i);
|
virtual const char *getOpcodeGoblinDesc(int i);
|
||||||
|
|
||||||
byte _byte_8AA14;
|
byte _gob_97_98_val;
|
||||||
|
|
||||||
void o5_deleteFile();
|
void o5_deleteFile();
|
||||||
void o5_initScreen();
|
void o5_initScreen();
|
||||||
|
|
|
@ -946,26 +946,24 @@ void Inter_v5::o5_loadSystemSpecs(OpGobParams ¶ms) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Calculating whether speed throttling is necessary?
|
speedSum = MAX(_cdSpeed, 150);
|
||||||
|
speedSum += (_ram << 3);
|
||||||
|
speedSum += (_cpuSpeed << 3);
|
||||||
|
speedSum /= 17;
|
||||||
|
|
||||||
var_E = MAX(_cdSpeed, 150);
|
needThrottle2 = (speedSum > 81) ? 1 : 0;
|
||||||
var_E += (_ram << 3);
|
needThrottle1 = (_total >= 95) ? 1 : 0;
|
||||||
var_E += (_cpuSpeed << 3);
|
|
||||||
var_E /= 17;
|
|
||||||
|
|
||||||
byte_8A61E = (var_E > 81) ? 1 : 0;
|
if (needThrottle1 == 1) {
|
||||||
byte_8A5E0 = (_total >= 95) ? 1 : 0;
|
speedThrottle1 = 100;
|
||||||
|
speedThrottle2 = 1;
|
||||||
if (byte_8A5E0 == 1) {
|
speedThrottle3 = 1;
|
||||||
word_8AEE2 = 100;
|
speedThrottle4 = 0;
|
||||||
byte_8AEE4 = 1;
|
|
||||||
byte_8AEE5 = 1;
|
|
||||||
word_8AEE6 = 0;
|
|
||||||
} else {
|
} else {
|
||||||
word_8AEE2 = 0;
|
speedThrottle1 = 0;
|
||||||
byte_8AEE4 = 0;
|
speedThrottle2 = 0;
|
||||||
byte_8AEE5 = 0;
|
speedThrottle3 = 0;
|
||||||
word_8AEE6 = 40;
|
speedThrottle4 = 40;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
@ -975,7 +973,7 @@ void Inter_v5::o5_gob92(OpGobParams ¶ms) {
|
||||||
|
|
||||||
_vm->_global->_inter_execPtr += 2;
|
_vm->_global->_inter_execPtr += 2;
|
||||||
|
|
||||||
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) byte_86B9E)) */);
|
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) _gob92_1)) */);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inter_v5::o5_gob95(OpGobParams ¶ms) {
|
void Inter_v5::o5_gob95(OpGobParams ¶ms) {
|
||||||
|
@ -983,87 +981,37 @@ void Inter_v5::o5_gob95(OpGobParams ¶ms) {
|
||||||
|
|
||||||
_vm->_global->_inter_execPtr += 2;
|
_vm->_global->_inter_execPtr += 2;
|
||||||
|
|
||||||
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int16) word_8AEE6)) */);
|
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int16) speedThrottle4)) */);
|
||||||
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) byte_8AEE5)) */);
|
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) speedThrottle3)) */);
|
||||||
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) byte_8AEE4)) */);
|
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int8) speedThrottle2)) */);
|
||||||
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int16) word_8AEE2)) */);
|
WRITE_VAR_UINT32(load16(), 0 /* (uint32) ((int32) ((int16) speedThrottle1)) */);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inter_v5::o5_gob96(OpGobParams ¶ms) {
|
void Inter_v5::o5_gob96(OpGobParams ¶ms) {
|
||||||
int16 word_8AEE6, word_85B50, word_8AEE2;
|
int16 speedThrottle4, speedThrottle1;
|
||||||
byte byte_8AEE5, byte_8AEE4;
|
byte speedThrottle3, speedThrottle2;
|
||||||
|
|
||||||
_vm->_global->_inter_execPtr += 2;
|
_vm->_global->_inter_execPtr += 2;
|
||||||
|
|
||||||
word_8AEE6 = word_85B50 = READ_VAR_UINT16(load16());
|
speedThrottle4 = READ_VAR_UINT16(load16());
|
||||||
byte_8AEE5 = READ_VAR_UINT8(load16());
|
speedThrottle3 = READ_VAR_UINT8(load16());
|
||||||
byte_8AEE4 = READ_VAR_UINT8(load16());
|
speedThrottle2 = READ_VAR_UINT8(load16());
|
||||||
word_8AEE2 = READ_VAR_UINT16(load16());
|
speedThrottle1 = READ_VAR_UINT16(load16());
|
||||||
|
|
||||||
warning("Dynasty Stub: GobFunc 96: %d, %d, %d, %d",
|
warning("Dynasty Stub: GobFunc 96: %d, %d, %d, %d",
|
||||||
word_8AEE6, byte_8AEE5, byte_8AEE4, word_8AEE2);
|
speedThrottle4, speedThrottle3, speedThrottle2, speedThrottle1);
|
||||||
|
|
||||||
// .--- sub_194B0 ---
|
|
||||||
|
|
||||||
int16 word_8A8F0, word_8A8F2, word_8A8F4, word_8A8F6, word_8A8F8, word_8A8FA;
|
|
||||||
|
|
||||||
int16 word_8A62C = 1;
|
|
||||||
int16 word_8A63C, word_8A640, word_8B464, word_8B466;
|
|
||||||
|
|
||||||
byte byte_8A62E;
|
|
||||||
|
|
||||||
int16 var_2, var_4;
|
|
||||||
|
|
||||||
var_2 = word_85B50 + 31;
|
|
||||||
word_8A8F0 = word_8A8F2 = var_2;
|
|
||||||
word_8A8F4 = word_85B50;
|
|
||||||
|
|
||||||
var_4 = 315 - word_85B50;
|
|
||||||
word_8A8F6 = word_8A8F8 = var_4;
|
|
||||||
|
|
||||||
word_8A8FA = 479 - word_85B50;
|
|
||||||
|
|
||||||
if (word_8A62C == 0) {
|
|
||||||
word_8A63C = word_8A8F0;
|
|
||||||
word_8A640 = word_8A8F6;
|
|
||||||
word_8B464 = word_8A8F0;
|
|
||||||
word_8B466 = word_8A8F6;
|
|
||||||
} else if (word_8A62C == 1) {
|
|
||||||
word_8A63C = word_85B50;
|
|
||||||
word_8A640 = word_8A8FA;
|
|
||||||
word_8B464 = word_85B50;
|
|
||||||
word_8B466 = word_8A8FA;
|
|
||||||
} else if (word_8A62C == 2) {
|
|
||||||
word_8A63C = word_8A8F4;
|
|
||||||
word_8A640 = word_8A8FA;
|
|
||||||
word_8B464 = word_8A8F4;
|
|
||||||
word_8B466 = word_8A8FA;
|
|
||||||
} else if (word_8A62C == 3) {
|
|
||||||
word_8A63C = word_8A8F4;
|
|
||||||
word_8A640 = word_8A8FA;
|
|
||||||
word_8B464 = word_8A8F4;
|
|
||||||
word_8B466 = word_8A8FA;
|
|
||||||
} else if (word_8A62C == 4) {
|
|
||||||
word_8A63C = word_8A8F4;
|
|
||||||
word_8A640 = word_8A8FA;
|
|
||||||
word_8B464 = word_8A8F4;
|
|
||||||
word_8B466 = word_8A8FA;
|
|
||||||
}
|
|
||||||
|
|
||||||
byte_8A62E = 1;
|
|
||||||
|
|
||||||
// '--- ---
|
|
||||||
|
|
||||||
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inter_v5::o5_gob97(OpGobParams ¶ms) {
|
void Inter_v5::o5_gob97(OpGobParams ¶ms) {
|
||||||
_byte_8AA14 = 1;
|
_gob_97_98_val = 1;
|
||||||
|
|
||||||
_vm->_global->_inter_execPtr += 2;
|
_vm->_global->_inter_execPtr += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inter_v5::o5_gob98(OpGobParams ¶ms) {
|
void Inter_v5::o5_gob98(OpGobParams ¶ms) {
|
||||||
_byte_8AA14 = 0;
|
_gob_97_98_val = 0;
|
||||||
|
|
||||||
_vm->_global->_inter_execPtr += 2;
|
_vm->_global->_inter_execPtr += 2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -982,10 +982,10 @@ bool Inter_v6::o6_fillRect(OpFuncParams ¶ms) {
|
||||||
evalExpr(0);
|
evalExpr(0);
|
||||||
|
|
||||||
_vm->_draw->_backColor = _vm->_global->_inter_resVal & 0xFFFF;
|
_vm->_draw->_backColor = _vm->_global->_inter_resVal & 0xFFFF;
|
||||||
uint16 word_63E64 = _vm->_global->_inter_resVal >> 16;
|
uint16 extraVar = _vm->_global->_inter_resVal >> 16;
|
||||||
|
|
||||||
if (word_63E64 != 0)
|
if (extraVar != 0)
|
||||||
warning("Urban Stub: o6_fillRect(), word_63E64 = %d", word_63E64);
|
warning("Urban Stub: o6_fillRect(), extraVar = %d", extraVar);
|
||||||
|
|
||||||
if (_vm->_draw->_spriteRight < 0) {
|
if (_vm->_draw->_spriteRight < 0) {
|
||||||
_vm->_draw->_destSpriteX += _vm->_draw->_spriteRight - 1;
|
_vm->_draw->_destSpriteX += _vm->_draw->_spriteRight - 1;
|
||||||
|
|
|
@ -628,7 +628,7 @@ void Mult_v2::drawStatics(bool &stop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mult_v2::drawAnims(bool &stop) { // loc_50D5
|
void Mult_v2::drawAnims(bool &stop) {
|
||||||
int16 count;
|
int16 count;
|
||||||
int animIndex;
|
int animIndex;
|
||||||
|
|
||||||
|
@ -698,7 +698,6 @@ void Mult_v2::newCycleAnim(Mult_Object &animObj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (animData.animType == 4) {
|
if (animData.animType == 4) {
|
||||||
// loc_1E091
|
|
||||||
animData.frame = 0;
|
animData.frame = 0;
|
||||||
animData.isPaused = 1;
|
animData.isPaused = 1;
|
||||||
if (animData.animation < 0)
|
if (animData.animation < 0)
|
||||||
|
|
|
@ -136,7 +136,7 @@ public:
|
||||||
Parse_v2(GobEngine *vm);
|
Parse_v2(GobEngine *vm);
|
||||||
virtual ~Parse_v2() {}
|
virtual ~Parse_v2() {}
|
||||||
|
|
||||||
virtual int16 sub_12063(int16 arg_0, byte arg_2, uint32 arg_3, uint16 arg_7, uint16 arg_9);
|
virtual int16 getOffset(int16 arg_0, byte arg_2, uint32 arg_3, uint16 arg_7, uint16 arg_9);
|
||||||
|
|
||||||
virtual int16 parseVarIndex(uint16 *arg_0 = 0, uint16 *arg_4 = 0);
|
virtual int16 parseVarIndex(uint16 *arg_0 = 0, uint16 *arg_4 = 0);
|
||||||
virtual int16 parseValExpr(byte stopToken = 99);
|
virtual int16 parseValExpr(byte stopToken = 99);
|
||||||
|
|
|
@ -87,7 +87,7 @@ int16 Parse_v2::parseVarIndex(uint16 *arg_0, uint16 *arg_4) {
|
||||||
for (int i = 0; i < var_A; i++) {
|
for (int i = 0; i < var_A; i++) {
|
||||||
temp2 = parseValExpr(OP_END_MARKER);
|
temp2 = parseValExpr(OP_END_MARKER);
|
||||||
|
|
||||||
int16 ax = sub_12063(temp2, var_12[i], varPos, 0, 0);
|
int16 ax = getOffset(temp2, var_12[i], varPos, 0, 0);
|
||||||
|
|
||||||
var_6 = var_6 * var_12[i] + ax;
|
var_6 = var_6 * var_12[i] + ax;
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ int16 Parse_v2::parseValExpr(byte stopToken) {
|
||||||
for (int i = 0; i < var_A; i++) {
|
for (int i = 0; i < var_A; i++) {
|
||||||
temp2 = parseValExpr(OP_END_MARKER);
|
temp2 = parseValExpr(OP_END_MARKER);
|
||||||
|
|
||||||
int16 ax = sub_12063(temp2, var_12[i], varPos, 0, 0);
|
int16 ax = getOffset(temp2, var_12[i], varPos, 0, 0);
|
||||||
|
|
||||||
var_6 = var_6 * var_12[i] + ax;
|
var_6 = var_6 * var_12[i] + ax;
|
||||||
}
|
}
|
||||||
|
@ -510,7 +510,7 @@ int16 Parse_v2::parseExpr(byte stopToken, byte *arg_2) {
|
||||||
for (int i = 0; i < var_A; i++) {
|
for (int i = 0; i < var_A; i++) {
|
||||||
temp2 = parseValExpr(OP_END_MARKER);
|
temp2 = parseValExpr(OP_END_MARKER);
|
||||||
|
|
||||||
int16 ax = sub_12063(temp2, var_12[i], varPos, 0, 0);
|
int16 ax = getOffset(temp2, var_12[i], varPos, 0, 0);
|
||||||
|
|
||||||
var_6 = var_6 * var_12[i] + ax;
|
var_6 = var_6 * var_12[i] + ax;
|
||||||
}
|
}
|
||||||
|
@ -1049,7 +1049,7 @@ int16 Parse_v2::parseExpr(byte stopToken, byte *arg_2) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int16 Parse_v2::sub_12063(int16 arg_0, byte arg_2, uint32 arg_3, uint16 arg_7, uint16 arg_9) {
|
int16 Parse_v2::getOffset(int16 arg_0, byte arg_2, uint32 arg_3, uint16 arg_7, uint16 arg_9) {
|
||||||
if (arg_0 < 0)
|
if (arg_0 < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -242,8 +242,8 @@ void Video_v6::drawPacked(const byte *sprBuf, int16 x, int16 y, SurfaceDesc *sur
|
||||||
|
|
||||||
uncBuf = new byte[size];
|
uncBuf = new byte[size];
|
||||||
|
|
||||||
//sub_4F020(data, buf);
|
//spriteUncompressor(data, buf);
|
||||||
warning("Urban Stub: drawPacked: sub_4F020(data, uncBuf)");
|
warning("Urban Stub: drawPacked: spriteUncompressor(data, uncBuf)");
|
||||||
|
|
||||||
srcData = uncBuf;
|
srcData = uncBuf;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue