[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