[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.463,2.464 saveload.cpp,1.213,1.214 scumm.cpp,1.464,1.465
kirben
kirben at users.sourceforge.net
Tue Apr 26 08:19:35 CEST 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15047/scumm
Modified Files:
intern.h saveload.cpp scumm.cpp
Log Message:
Save addtion HE opcodes specific variables.
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.463
retrieving revision 2.464
diff -u -d -r2.463 -r2.464
--- intern.h 26 Apr 2005 14:01:31 -0000 2.463
+++ intern.h 26 Apr 2005 15:13:02 -0000 2.464
@@ -693,8 +693,7 @@
byte *_heV7RoomOffsets;
- int _heSndSoundFreq, _heSndOffset, _heSndChannel, _heSndSoundId, _heSndFlags, _heSBNGId;
-
+ int32 _heSndSoundId, _heSndOffset, _heSndChannel, _heSndFlags, _heSndSoundFreq;
public:
ScummEngine_v70he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]);
~ScummEngine_v70he();
@@ -910,8 +909,10 @@
const OpcodeEntryV80he *_opcodesV80he;
+ int32 _heSBNGId;
+
public:
- ScummEngine_v80he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) : ScummEngine_v72he(detector, syst, gs, md5sum) {}
+ ScummEngine_v80he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]);
protected:
virtual void setupOpcodes();
@@ -953,27 +954,28 @@
const char *desc;
};
+ const OpcodeEntryV90he *_opcodesV90he;
+
struct FloodStateParameters {
Common::Rect box;
- int field_10;
- int field_14;
- int field_18;
- int field_1C;
+ int32 field_10;
+ int32 field_14;
+ int32 field_18;
+ int32 field_1C;
};
- int _heObject, _heObjectNum;
- int _hePaletteNum;
-
- const OpcodeEntryV90he *_opcodesV90he;
FloodStateParameters _floodStateParams;
- int _curMaxSpriteId;
- int _curSpriteId;
- int _curSpriteGroupId;
- int _varNumSpriteGroups;
- int _numSpritesToProcess;
- int _varNumSprites;
- int _varMaxSprites;
+ int32 _heObject, _heObjectNum;
+ int32 _hePaletteNum;
+
+ int32 _curMaxSpriteId;
+ int32 _curSpriteId;
+ int32 _curSpriteGroupId;
+ int32 _numSpritesToProcess;
+ int32 _varNumSpriteGroups;
+ int32 _varNumSprites;
+ int32 _varMaxSprites;
SpriteInfo *_spriteTable;
SpriteGroup *_spriteGroups;
SpriteInfo **_activeSpritesTable;
@@ -1192,7 +1194,7 @@
const char *desc;
};
- int _heResId, _heResType;
+ int32 _heResId, _heResType;
const OpcodeEntryV100he *_opcodesV100he;
@@ -1204,6 +1206,8 @@
virtual void executeOpcode(byte i);
virtual const char *getOpcodeDesc(byte i);
+ virtual void saveOrLoad(Serializer *s, uint32 savegameVersion);
+
virtual void decodeParseString(int a, int b);
/* HE version 100 script opcodes */
Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.213
retrieving revision 1.214
diff -u -d -r1.213 -r1.214
--- saveload.cpp 26 Apr 2005 14:18:32 -0000 1.213
+++ saveload.cpp 26 Apr 2005 15:13:03 -0000 1.214
@@ -958,15 +958,63 @@
MKEND()
};
+ const SaveLoadEntry HE70Entries[] = {
+ MKLINE(ScummEngine_v70he, _heSndSoundId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndOffset, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndChannel, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v70he, _heSndFlags, sleInt32, VER(51)),
+ MKEND()
+ };
+
if (_heversion >= 71) {
s->saveLoadArrayOf(_wiz._polygons, ARRAYSIZE(_wiz._polygons), sizeof(_wiz._polygons[0]), polygonEntries);
}
+
+ s->saveLoadEntries(this, HE70Entries);
}
void ScummEngine_v90he::saveOrLoad(Serializer *s, uint32 savegameVersion) {
ScummEngine_v70he::saveOrLoad(s, savegameVersion);
+ const SaveLoadEntry floodStateEntries[] = {
+ MKLINE(FloodStateParameters, box.left, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.top, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.right, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, box.bottom, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_10, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_14, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_18, sleInt32, VER(51)),
+ MKLINE(FloodStateParameters, field_1C, sleInt32, VER(51)),
+ MKEND()
+ };
+
+ const SaveLoadEntry HE90Entries[] = {
+ MKLINE(ScummEngine_v90he, _curMaxSpriteId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _curSpriteId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _curSpriteGroupId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _heObject, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _heObjectNum, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v90he, _hePaletteNum, sleInt32, VER(51)),
+ MKEND()
+ };
+
saveOrLoadSpriteData(&*s, savegameVersion);
+
+ s->saveLoadArrayOf(&_floodStateParams, 1, sizeof(_floodStateParams), floodStateEntries);
+ s->saveLoadEntries(this, HE90Entries);
+}
+
+void ScummEngine_v100he::saveOrLoad(Serializer *s, uint32 savegameVersion) {
+ ScummEngine_v90he::saveOrLoad(s, savegameVersion);
+
+ const SaveLoadEntry HE100Entries[] = {
+ MKLINE(ScummEngine_v100he, _heResId, sleInt32, VER(51)),
+ MKLINE(ScummEngine_v100he, _heResType, sleInt32, VER(51)),
+ MKEND()
+ };
+
+ s->saveLoadEntries(this, HE100Entries);
}
void ScummEngine::saveLoadResource(Serializer *ser, int type, int idx) {
Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.464
retrieving revision 1.465
diff -u -d -r1.464 -r1.465
--- scumm.cpp 26 Apr 2005 07:52:37 -0000 1.464
+++ scumm.cpp 26 Apr 2005 15:13:04 -0000 1.465
@@ -1266,7 +1266,6 @@
_heSndChannel = 0;
_heSndFlags = 0;
_heSndSoundFreq = 0;
- _heSBNGId = 0;
VAR_NUM_SOUND_CHANNELS = 0xFF;
}
@@ -1296,6 +1295,11 @@
VAR_WIZ_TCOLOR = 0xFF;
}
+ScummEngine_v80he::ScummEngine_v80he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16])
+ : ScummEngine_v72he(detector, syst, gs, md5sum) {
+ _heSBNGId = 0;
+}
+
ScummEngine_v8::ScummEngine_v8(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16])
: ScummEngine_v7(detector, syst, gs, md5sum) {
_objectIDMap = 0;
More information about the Scummvm-git-logs
mailing list