[Scummvm-cvs-logs] SF.net SVN: scummvm:[43782] scummvm/trunk/engines/gob/save
strangerke at users.sourceforge.net
strangerke at users.sourceforge.net
Fri Aug 28 21:28:55 CEST 2009
Revision: 43782
http://scummvm.svn.sourceforge.net/scummvm/?rev=43782&view=rev
Author: strangerke
Date: 2009-08-28 19:28:54 +0000 (Fri, 28 Aug 2009)
Log Message:
-----------
Playtoons - Save temp sprites. This fixes some of the Bambou graphical issues, and the Playtoons menu (history selection)
Modified Paths:
--------------
scummvm/trunk/engines/gob/save/saveload.h
scummvm/trunk/engines/gob/save/saveload_playtoons.cpp
Modified: scummvm/trunk/engines/gob/save/saveload.h
===================================================================
--- scummvm/trunk/engines/gob/save/saveload.h 2009-08-28 18:14:55 UTC (rev 43781)
+++ scummvm/trunk/engines/gob/save/saveload.h 2009-08-28 19:28:54 UTC (rev 43782)
@@ -466,7 +466,7 @@
static const uint32 kSlotCount = 60;
static const uint32 kSlotNameLength = 40;
- static const uint32 kPropsSize = 1642;
+ static const uint32 kPropsSize = 3921;
/** Index. kSlotCount * kSlotNameLength bytes. */
static const uint32 kIndexSize = kSlotCount * kSlotNameLength;
@@ -508,6 +508,7 @@
byte _index[kIndexSize];
File *_slotFile;
+ TempSpriteHandler *_tempSpriteHandler;
void buildIndex(byte *buffer) const;
};
Modified: scummvm/trunk/engines/gob/save/saveload_playtoons.cpp
===================================================================
--- scummvm/trunk/engines/gob/save/saveload_playtoons.cpp 2009-08-28 18:14:55 UTC (rev 43781)
+++ scummvm/trunk/engines/gob/save/saveload_playtoons.cpp 2009-08-28 19:28:54 UTC (rev 43782)
@@ -32,6 +32,7 @@
SaveLoad_Playtoons::SaveFile SaveLoad_Playtoons::_saveFiles[] = {
{ "did.inf", kSaveModeSave, 0, 0}, // Purpose ignored at the moment, intensively used to save things.
{ "dan.itk", kSaveModeNone, 0, 0}, // Playtoons CK detection file
+ { "cat.inf", kSaveModeNone, 0, 0},
{ "titre.009", kSaveModeIgnore, 0, 0}, // Playtoons theoritical title files that are checked for nothing
{ "titre.010", kSaveModeIgnore, 0, 0},
{ "titre.011", kSaveModeIgnore, 0, 0},
@@ -95,11 +96,13 @@
memset(_props, 0, kPropsSize);
memset(_index, 0, kIndexSize);
+ _tempSpriteHandler = new TempSpriteHandler(vm);
_slotFile = new File(vm, target);
}
SaveLoad_Playtoons::GameHandler::~GameHandler() {
delete _slotFile;
+ delete _tempSpriteHandler;
}
int32 SaveLoad_Playtoons::GameHandler::getSize() {
@@ -112,8 +115,16 @@
}
bool SaveLoad_Playtoons::GameHandler::load(int16 dataVar, int32 size, int32 offset) {
- uint32 varSize = SaveHandler::getVarSize(_vm);
+ uint32 varSize;
+ if (size < 0) {
+ // Load a temporary sprite
+ debugC(2, kDebugSaveLoad, "Loading temporary sprite %d at pos %d", size, offset);
+ _tempSpriteHandler->load(dataVar, size, offset);
+ return true;
+ }
+
+ varSize = SaveHandler::getVarSize(_vm);
if (varSize == 0)
return false;
@@ -197,10 +208,17 @@
}
bool SaveLoad_Playtoons::GameHandler::save(int16 dataVar, int32 size, int32 offset) {
- uint32 varSize = SaveHandler::getVarSize(_vm);
+ uint32 varSize;
- warning("Saving %d %d %d", dataVar, size, offset);
+ if (size < 0) {
+ // Save a temporary sprite
+ debugC(2, kDebugSaveLoad, "Saving temporary sprite %d at pos %d", size, offset);
+ _tempSpriteHandler->save(dataVar, size, offset);
+ return true;
+ }
+ varSize = SaveHandler::getVarSize(_vm);
+
if (varSize == 0)
return false;
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