[Scummvm-cvs-logs] CVS: scummvm/saga saga.h,1.89,1.90 saveload.cpp,1.7,1.8
Andrew Kurushin
h00ligan at users.sourceforge.net
Sun May 15 07:47:51 CEST 2005
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29835
Modified Files:
saga.h saveload.cpp
Log Message:
add save game chunk
Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- saga.h 8 May 2005 14:04:05 -0000 1.89
+++ saga.h 15 May 2005 14:46:13 -0000 1.90
@@ -434,12 +434,12 @@
void shutDown() { _quit = true; }
void save() { //TODO: remove
- save("iteSCUMMVM.sav");
+ save("iteSCUMMVM.sav", "default");
}
void load() { //TODO: remove
load("iteSCUMMVM.sav");
}
- void save(const char *fileName);
+ void save(const char *fileName, const char *saveName);
void load(const char *fileName);
int _soundEnabled;
Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saveload.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- saveload.cpp 12 May 2005 15:11:32 -0000 1.7
+++ saveload.cpp 15 May 2005 14:46:13 -0000 1.8
@@ -37,13 +37,33 @@
#include "saga/scene.h"
#include "saga/render.h"
+#define CURRENT_SAGA_VER 1
+
namespace Saga {
-void SagaEngine::save(const char *fileName) {
+struct SaveGameHeader {
+ uint32 type;
+ uint32 size;
+ uint32 version;
+ char name[32];
+};
+//TODO:
+// - get savegame list
+// - make/create save filename string
+// - delete savegame
+
+void SagaEngine::save(const char *fileName, const char *saveName) {
Common::File out;
+ SaveGameHeader header;
out.open(fileName, Common::File::kFileWriteMode);
- //TODO: version number
+
+ header.type = MKID('SAGA');
+ header.size = 0;
+ header.version = CURRENT_SAGA_VER;
+ strcpy(header.name, saveName);
+
+ out.write(&header, sizeof(header));
// Surrounding scene
out.writeSint32LE(_scene->getOutsetSceneNumber());
@@ -74,13 +94,19 @@
int sceneNumber, insetSceneNumber;
int mapx, mapy;
uint16 i;
+ SaveGameHeader header;
in.open(fileName);
if (!in.isOpen())
return;
+ in.read(&header, sizeof(header));
+ if (header.type != MKID('SAGA')) {
+ error("SagaEngine::load wrong format");
+ }
+
// Surrounding scene
sceneNumber = in.readSint32LE();
More information about the Scummvm-git-logs
mailing list