[Scummvm-cvs-logs] SF.net SVN: scummvm: [27545] scummvm/trunk/engines/saga
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Tue Jun 19 13:23:21 CEST 2007
Revision: 27545
http://scummvm.svn.sourceforge.net/scummvm/?rev=27545&view=rev
Author: thebluegr
Date: 2007-06-19 04:23:20 -0700 (Tue, 19 Jun 2007)
Log Message:
-----------
When saving the game in IHNM after a chapter point change, the chapter point change music will no longer be incorrectly saved, and the normal chapter music will be saved instead
Modified Paths:
--------------
scummvm/trunk/engines/saga/scene.cpp
scummvm/trunk/engines/saga/scene.h
scummvm/trunk/engines/saga/sfuncs.cpp
Modified: scummvm/trunk/engines/saga/scene.cpp
===================================================================
--- scummvm/trunk/engines/saga/scene.cpp 2007-06-19 11:12:56 UTC (rev 27544)
+++ scummvm/trunk/engines/saga/scene.cpp 2007-06-19 11:23:20 UTC (rev 27545)
@@ -568,6 +568,8 @@
event.time = 0;
_vm->_events->queue(&event);
+ _chapterPointsChanged = false;
+
if ((_vm->getGameType() == GType_IHNM) && (loadSceneParams->chapter != NO_CHAPTER_CHANGE)) {
if (loadSceneParams->loadFlag != kLoadBySceneNumber) {
error("loadScene wrong usage");
Modified: scummvm/trunk/engines/saga/scene.h
===================================================================
--- scummvm/trunk/engines/saga/scene.h 2007-06-19 11:12:56 UTC (rev 27544)
+++ scummvm/trunk/engines/saga/scene.h 2007-06-19 11:23:20 UTC (rev 27545)
@@ -321,6 +321,8 @@
void setCurrentMusicTrack(int tr) { _currentMusicTrack = tr; }
int getCurrentMusicRepeat() const { return _currentMusicRepeat; }
void setCurrentMusicRepeat(int rp) { _currentMusicRepeat = rp; }
+ bool haveChapterPointsChanged() const { return _chapterPointsChanged; }
+ void setChapterPointsChanged(bool cp) { _chapterPointsChanged = cp; }
void cutawaySkip() {
if (_vm->_scene->isInIntro())
@@ -361,6 +363,7 @@
int _sceneResourceId;
int _currentMusicTrack;
int _currentMusicRepeat;
+ bool _chapterPointsChanged;
bool _inGame;
bool _loadDescription;
SceneDescription _sceneDescription;
Modified: scummvm/trunk/engines/saga/sfuncs.cpp
===================================================================
--- scummvm/trunk/engines/saga/sfuncs.cpp 2007-06-19 11:12:56 UTC (rev 27544)
+++ scummvm/trunk/engines/saga/sfuncs.cpp 2007-06-19 11:23:20 UTC (rev 27545)
@@ -1683,8 +1683,13 @@
} else {
_vm->_music->setVolume(-1, 1);
_vm->_music->play(_vm->_music->_songTable[param1], param2 ? MUSIC_LOOP : MUSIC_NORMAL);
- _vm->_scene->setCurrentMusicTrack(param1);
- _vm->_scene->setCurrentMusicRepeat(param2);
+ if (!_vm->_scene->haveChapterPointsChanged()) {
+ _vm->_scene->setCurrentMusicTrack(param1);
+ _vm->_scene->setCurrentMusicRepeat(param2);
+ } else {
+ // Don't save this music track when saving in IHNM
+ _vm->_scene->setChapterPointsChanged(false);
+ }
}
}
}
@@ -1885,6 +1890,7 @@
_vm->_ethicsPoints[chapter] = ethics;
_vm->_spiritualBarometer = ethics * 256 / barometer;
+ _vm->_scene->setChapterPointsChanged(true); // don't save this music when saving in IHNM
}
void Script::sfSetPortraitBgColor(SCRIPTFUNC_PARAMS) {
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