[Scummvm-cvs-logs] CVS: scummvm/scumm saveload.cpp,1.166,1.167 saveload.h,1.38,1.39 sound.cpp,1.360,1.361 sound.h,1.72,1.73

Travis Howell kirben at users.sourceforge.net
Sun Aug 8 18:08:01 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24439/scumm

Modified Files:
	saveload.cpp saveload.h sound.cpp sound.h 
Log Message:

Add patch #999887 - Possible fix for bug #998276
Also saves _currentMusic


Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -d -r1.166 -r1.167
--- saveload.cpp	28 Jul 2004 12:05:30 -0000	1.166
+++ saveload.cpp	9 Aug 2004 01:07:48 -0000	1.167
@@ -383,6 +383,7 @@
 	};
 
 	const SaveLoadEntry *actorEntries = Actor::getSaveLoadEntries();
+	const SaveLoadEntry *soundEntries = _sound->getSaveLoadEntries();
 
 	const SaveLoadEntry verbEntries[] = {
 		MKLINE(VerbSlot, curRect.left, sleInt16, VER(8)),
@@ -672,6 +673,7 @@
 	}
 
 	s->saveLoadArrayOf(_actors, _numActors, sizeof(_actors[0]), actorEntries);
+	s->saveLoadEntries(_sound, soundEntries);
 
 	if (savegameVersion < VER(9))
 		s->saveLoadArrayOf(vm.slot, 25, sizeof(vm.slot[0]), scriptSlotEntries);

Index: saveload.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- saveload.h	28 Jul 2004 11:56:14 -0000	1.38
+++ saveload.h	9 Aug 2004 01:07:48 -0000	1.39
@@ -32,7 +32,7 @@
 // Can be useful for other ports too :)
 
 #define VER(x) x
-#define CURRENT_VER 34
+#define CURRENT_VER 35
 
 // To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types,
 // we use a small trick: instead of 0 we use 42. Why? Well, it seems newer GCC

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.360
retrieving revision 1.361
diff -u -d -r1.360 -r1.361
--- sound.cpp	9 Aug 2004 00:58:21 -0000	1.360
+++ sound.cpp	9 Aug 2004 01:07:48 -0000	1.361
@@ -25,6 +25,7 @@
 #include "scumm/imuse.h"
 #include "scumm/imuse_digi/dimuse.h"
 #include "scumm/scumm.h"
+#include "scumm/saveload.h"
 #include "scumm/sound.h"
 
 #include "common/config-manager.h"
@@ -1116,4 +1117,14 @@
 	AudioCD.updateCD();
 }
 
+const SaveLoadEntry *Sound::getSaveLoadEntries() {
+	static const SaveLoadEntry soundEntries[] = {
+		MKLINE(Sound, _currentCDSound, sleInt16, VER(35)),
+		MKLINE(Sound, _currentMusic, sleInt16, VER(35)),
+		MKEND()
+	};
+
+	return soundEntries;
+}
+
 } // End of namespace Scumm

Index: sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.h,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- sound.h	9 Aug 2004 00:58:21 -0000	1.72
+++ sound.h	9 Aug 2004 01:07:48 -0000	1.73
@@ -32,6 +32,7 @@
 class ScummFile;
 
 struct MP3OffsetTable;
+struct SaveLoadEntry;
 
 enum {
 	kTalkSoundID = 10000
@@ -72,8 +73,8 @@
 
 	int _overrideFreq;
 
-	int _currentCDSound;
-	int _currentMusic;
+	int16 _currentCDSound;
+	int16 _currentMusic;
 public:
 	PlayingSoundHandle _talkChannelHandle;	// Handle of mixer channel actor is talking on
 	PlayingSoundHandle _musicChannelHandle;	// Handle of mixer channel music is on
@@ -110,6 +111,9 @@
 	void updateCD();
 	int getCurrentCDSound() const { return _currentCDSound; }
 
+	// Used by the save/load system:
+	const SaveLoadEntry *getSaveLoadEntries();
+
 protected:
 	ScummFile *openSfxFile();
 	void startSfxSound(File *file, int file_size, PlayingSoundHandle *handle, int id = -1);





More information about the Scummvm-git-logs mailing list