NEVERHOOD: Add GameVars::dumpVars() for debugging

This commit is contained in:
johndoe123
2013-05-08 20:47:32 +02:00
committed by Willem Jan Palenstijn
parent 126a306c89
commit ef8f0215cf
4 changed files with 12 additions and 20 deletions
-2
View File
@@ -20,8 +20,6 @@
*
*/
// TODO: I couldn't come up with a better name than 'Module' so far
#ifndef NEVERHOOD_GAMEMODULE_H
#define NEVERHOOD_GAMEMODULE_H
+10 -18
View File
@@ -32,41 +32,32 @@ GameVars::~GameVars() {
}
uint32 GameVars::getGlobalVar(uint32 nameHash) {
//debug("GameVars::getGlobalVar(%08X)", nameHash);
int16 varIndex = findSubVarIndex(0, nameHash);
return varIndex != -1 ? _vars[varIndex].value : 0;
}
void GameVars::setGlobalVar(uint32 nameHash, uint32 value) {
//debug("GameVars::setGlobalVar(%08X, %d)", nameHash, value);
_vars[getSubVarIndex(0, nameHash)].value = value;
}
uint32 GameVars::getSubVar(uint32 nameHash, uint32 subNameHash) {
//debug("GameVars::getSubVar(%08X, %08X)", nameHash, subNameHash);
uint32 value = 0;
int16 varIndex = findSubVarIndex(0, nameHash);
if (varIndex != -1) {
int16 subVarIndex = findSubVarIndex(varIndex, subNameHash);
if (subVarIndex != -1) {
if (subVarIndex != -1)
value = _vars[subVarIndex].value;
}
}
return value;
}
void GameVars::setSubVar(uint32 nameHash, uint32 subNameHash, uint32 value) {
//debug("GameVars::setSubVar(%08X, %08X, %d)", nameHash, subNameHash, value);
int16 varIndex = getSubVarIndex(0, nameHash);
//debug(" varIndex = %d", varIndex);
int16 subVarIndex = getSubVarIndex(varIndex, subNameHash);
//debug(" subVarIndex = %d", subVarIndex);
_vars[subVarIndex].value = value;
//_vars[getSubVarIndex(getSubVarIndex(0, nameHash), subNameHash)].value = value;
}
int16 GameVars::addVar(uint32 nameHash, uint32 value) {
//debug("GameVars::addVar(%08X, %d)", nameHash, value);
GameVar gameVar;
gameVar.nameHash = nameHash;
gameVar.value = value;
@@ -77,16 +68,13 @@ int16 GameVars::addVar(uint32 nameHash, uint32 value) {
}
int16 GameVars::findSubVarIndex(int16 varIndex, uint32 subNameHash) {
//debug("GameVars::findSubVarIndex(%d, %08X)", varIndex, subNameHash);
for (int16 nextIndex = _vars[varIndex].firstIndex; nextIndex != -1; nextIndex = _vars[nextIndex].nextIndex) {
for (int16 nextIndex = _vars[varIndex].firstIndex; nextIndex != -1; nextIndex = _vars[nextIndex].nextIndex)
if (_vars[nextIndex].nameHash == subNameHash)
return nextIndex;
}
return -1;
}
int16 GameVars::addSubVar(int16 varIndex, uint32 subNameHash, uint32 value) {
//debug("GameVars::addSubVar(%d, %08X, %d)", varIndex, subNameHash, value);
int16 nextIndex = _vars[varIndex].firstIndex;
int16 subVarIndex;
if (nextIndex == -1) {
@@ -102,13 +90,17 @@ int16 GameVars::addSubVar(int16 varIndex, uint32 subNameHash, uint32 value) {
}
int16 GameVars::getSubVarIndex(int16 varIndex, uint32 subNameHash) {
//debug("GameVars::getSubVarIndex(%d, %08X)", varIndex, subNameHash);
int16 subVarIndex = findSubVarIndex(varIndex, subNameHash);
if (subVarIndex == -1) {
if (subVarIndex == -1)
subVarIndex = addSubVar(varIndex, subNameHash, 0);
debug("need to create: subVarIndex = %d", subVarIndex);
}
return subVarIndex;
}
void GameVars::dumpVars() {
for (Common::Array<GameVar>::iterator it = _vars.begin(); it != _vars.end(); ++it) {
GameVar gameVar = *it;
debug("%08X %08X %3d %3d", gameVar.nameHash, gameVar.value, gameVar.firstIndex, gameVar.nextIndex);
}
}
} // End of namespace Neverhood
+1
View File
@@ -176,6 +176,7 @@ public:
void setGlobalVar(uint32 nameHash, uint32 value);
uint32 getSubVar(uint32 nameHash, uint32 subNameHash);
void setSubVar(uint32 nameHash, uint32 subNameHash, uint32 value);
void dumpVars();
protected:
Common::Array<GameVar> _vars;
int16 addVar(uint32 nameHash, uint32 value);
+1
View File
@@ -155,6 +155,7 @@ Common::Error NeverhoodEngine::run() {
_gameModule->draw();
_screen->update();
nextFrameTime = _screen->getNextFrameTime();
//_gameVars->dumpVars();
};
_soundMan->update();