[Scummvm-cvs-logs] SF.net SVN: scummvm:[43312] scummvm/branches/gsoc2009-draci/engines/draci
dkasak13 at users.sourceforge.net
dkasak13 at users.sourceforge.net
Wed Aug 12 09:34:32 CEST 2009
Revision: 43312
http://scummvm.svn.sourceforge.net/scummvm/?rev=43312&view=rev
Author: dkasak13
Date: 2009-08-12 07:34:31 +0000 (Wed, 12 Aug 2009)
Log Message:
-----------
Fixed dialogues logic (some indexes were calculated erroneously +/- 1).
Modified Paths:
--------------
scummvm/branches/gsoc2009-draci/engines/draci/game.cpp
scummvm/branches/gsoc2009-draci/engines/draci/script.cpp
Modified: scummvm/branches/gsoc2009-draci/engines/draci/game.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/game.cpp 2009-08-12 05:38:15 UTC (rev 43311)
+++ scummvm/branches/gsoc2009-draci/engines/draci/game.cpp 2009-08-12 07:34:31 UTC (rev 43312)
@@ -560,7 +560,7 @@
break;
}
_lastBlock = _lines[hit];
- _dialogueVars[_dialogueOffsets[dialogueID] + _lastBlock + 1] += 1;
+ _dialogueVars[_dialogueOffsets[dialogueID] + _lastBlock] += 1;
_dialogueBegin = false;
oldLines = _dialogueLines;
@@ -598,7 +598,7 @@
}
for (i = _dialogueLines; i < kDialogueLines; ++i) {
- _lines[i] = 0;
+ _lines[i] = -1;
anim = _dialogueAnims[i];
dialogueLine = reinterpret_cast<Text *>(anim->getFrame());
dialogueLine->setText("");
@@ -672,7 +672,7 @@
}
_loopStatus = kStatusDialogue;
- _lastBlock = 0;
+ _lastBlock = -1;
_dialogueBegin = true;
}
Modified: scummvm/branches/gsoc2009-draci/engines/draci/script.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/script.cpp 2009-08-12 05:38:15 UTC (rev 43311)
+++ scummvm/branches/gsoc2009-draci/engines/draci/script.cpp 2009-08-12 07:34:31 UTC (rev 43312)
@@ -223,15 +223,20 @@
}
int Script::funcLastBlock(int blockID) {
+ blockID -= 1;
return _vm->_game->_lastBlock == blockID;
}
int Script::funcBlockVar(int blockID) {
+ blockID -= 1;
+
return _vm->_game->_dialogueVars[_vm->_game->_dialogueOffsets[_vm->_game->_currentDialogue] + blockID];
}
int Script::funcHasBeen(int blockID) {
+ blockID -= 1;
+
return _vm->_game->_dialogueVars[_vm->_game->_dialogueOffsets[_vm->_game->_currentDialogue] + blockID] > 0;
}
@@ -692,7 +697,7 @@
}
void Script::resetBlock(Common::Queue<int> ¶ms) {
- int blockID = params.pop();
+ int blockID = params.pop() - 1;
_vm->_game->_dialogueVars[_vm->_game->_dialogueOffsets[_vm->_game->_currentDialogue]+blockID] = 0;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list