[Scummvm-cvs-logs] SF.net SVN: scummvm:[39351] scummvm/trunk/engines/sci/engine

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Mar 12 04:26:21 CET 2009


Revision: 39351
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39351&view=rev
Author:   fingolfin
Date:     2009-03-12 03:26:21 +0000 (Thu, 12 Mar 2009)

Log Message:
-----------
SCI: Moved savegame specific stuff from state.h to a new header savegame.h

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kfile.cpp
    scummvm/trunk/engines/sci/engine/savegame.cfsml
    scummvm/trunk/engines/sci/engine/savegame.cpp
    scummvm/trunk/engines/sci/engine/scriptdebug.cpp
    scummvm/trunk/engines/sci/engine/state.h

Added Paths:
-----------
    scummvm/trunk/engines/sci/engine/savegame.h

Modified: scummvm/trunk/engines/sci/engine/kfile.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kfile.cpp	2009-03-12 03:26:03 UTC (rev 39350)
+++ scummvm/trunk/engines/sci/engine/kfile.cpp	2009-03-12 03:26:21 UTC (rev 39351)
@@ -37,6 +37,7 @@
 #include "sci/sci.h"
 #include "sci/engine/state.h"
 #include "sci/engine/kernel.h"
+#include "sci/engine/savegame.h"
 
 namespace Sci {
 

Modified: scummvm/trunk/engines/sci/engine/savegame.cfsml
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.cfsml	2009-03-12 03:26:03 UTC (rev 39350)
+++ scummvm/trunk/engines/sci/engine/savegame.cfsml	2009-03-12 03:26:21 UTC (rev 39351)
@@ -40,6 +40,7 @@
 #include "sci/sfx/iterator.h"
 #include "sci/engine/state.h"
 #include "sci/engine/intmap.h"
+#include "sci/engine/savegame.h"
 
 #ifdef _WIN32
 #pragma warning( disable : 4101 )

Modified: scummvm/trunk/engines/sci/engine/savegame.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.cpp	2009-03-12 03:26:03 UTC (rev 39350)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp	2009-03-12 03:26:21 UTC (rev 39351)
@@ -40,6 +40,7 @@
 #include "sci/sfx/iterator.h"
 #include "sci/engine/state.h"
 #include "sci/engine/intmap.h"
+#include "sci/engine/savegame.h"
 
 #ifdef _WIN32
 #pragma warning( disable : 4101 )
@@ -3948,7 +3949,7 @@
 
 // Auto-generated CFSML declaration and function block ends here
 // Auto-generation performed by cfsml.pl 0.8.2
-#line 385 "engines/sci/engine/savegame.cfsml"
+#line 386 "engines/sci/engine/savegame.cfsml"
 
 void write_songlib_t(Common::WriteStream *fh, songlib_t const *songlib) {
 	song_t *seeker = *(songlib->lib);
@@ -3965,7 +3966,7 @@
 	_cfsml_write_song_t(fh, seeker);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 397 "engines/sci/engine/savegame.cfsml"
+#line 398 "engines/sci/engine/savegame.cfsml"
 		seeker = seeker->next;
 	}
 	WSprintf(fh, "]\n");
@@ -4013,7 +4014,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 421 "engines/sci/engine/savegame.cfsml"
+#line 422 "engines/sci/engine/savegame.cfsml"
 		song_lib_add(*songlib, newsong);
 	}
 	l = fh->readLine(); // "]"
@@ -4028,7 +4029,7 @@
 	_cfsml_write_song_t(fh, *foo);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 431 "engines/sci/engine/savegame.cfsml"
+#line 432 "engines/sci/engine/savegame.cfsml"
 }
 
 SongIterator *build_iterator(EngineState *s, int song_nr, int type, songit_id_t id);
@@ -4062,7 +4063,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 441 "engines/sci/engine/savegame.cfsml"
+#line 442 "engines/sci/engine/savegame.cfsml"
 	(*foo)->_delay = 0;
 	(*foo)->it = NULL;
 	(*foo)->next_playing = (*foo)->next_stopping = (*foo)->next = NULL;
@@ -4075,7 +4076,7 @@
 	_cfsml_write_IntMapper(fh, *foo);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 449 "engines/sci/engine/savegame.cfsml"
+#line 450 "engines/sci/engine/savegame.cfsml"
 }
 
 int read_IntMapperPtr(Common::SeekableReadStream *fh, IntMapper **foo, const char *lastval, int *line, int *hiteof) {
@@ -4104,7 +4105,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 454 "engines/sci/engine/savegame.cfsml"
+#line 455 "engines/sci/engine/savegame.cfsml"
 	(*foo)->holes = NULL;
 	return 0;
 }
@@ -4120,7 +4121,7 @@
 	write_IntMapperNodePtr(fh, &((*foo)->next));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 465 "engines/sci/engine/savegame.cfsml"
+#line 466 "engines/sci/engine/savegame.cfsml"
 		} else
 			WSprintf(fh, "L");
 		WSprintf(fh, "]");
@@ -4168,7 +4169,7 @@
 	_cfsml_write_menubar_t(fh, (*foo));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 508 "engines/sci/engine/savegame.cfsml"
+#line 509 "engines/sci/engine/savegame.cfsml"
 	} else { // Nothing to write
 		WSprintf(fh, "\\null\\");
 	}
@@ -4204,7 +4205,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 520 "engines/sci/engine/savegame.cfsml"
+#line 521 "engines/sci/engine/savegame.cfsml"
 	}
 	return *hiteof;
 }
@@ -4244,7 +4245,7 @@
 	_cfsml_write_int(fh, &foo->segmgr_id);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 555 "engines/sci/engine/savegame.cfsml"
+#line 556 "engines/sci/engine/savegame.cfsml"
 	switch (foo->type) {
 	case MEM_OBJ_SCRIPT:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4252,7 +4253,7 @@
 	_cfsml_write_Script(fh, &foo->data.script);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 558 "engines/sci/engine/savegame.cfsml"
+#line 559 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_CLONES:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4260,7 +4261,7 @@
 	_cfsml_write_CloneTable(fh, &foo->data.clones);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 561 "engines/sci/engine/savegame.cfsml"
+#line 562 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_LOCALS:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4268,7 +4269,7 @@
 	_cfsml_write_LocalVariables(fh, &foo->data.locals);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 564 "engines/sci/engine/savegame.cfsml"
+#line 565 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_SYS_STRINGS:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4276,7 +4277,7 @@
 	_cfsml_write_SystemStrings(fh, &foo->data.sys_strings);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 567 "engines/sci/engine/savegame.cfsml"
+#line 568 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_STACK:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4284,7 +4285,7 @@
 	_cfsml_write_int(fh, &foo->data.stack.nr);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 570 "engines/sci/engine/savegame.cfsml"
+#line 571 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_HUNK:
 		break;
@@ -4296,7 +4297,7 @@
 	_cfsml_write_ListTable(fh, &foo->data.lists);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 577 "engines/sci/engine/savegame.cfsml"
+#line 578 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_NODES:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4304,7 +4305,7 @@
 	_cfsml_write_NodeTable(fh, &foo->data.nodes);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 580 "engines/sci/engine/savegame.cfsml"
+#line 581 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_DYNMEM:
 #line 822 "engines/sci/engine/savegame.cfsml"
@@ -4312,7 +4313,7 @@
 	_cfsml_write_DynMem(fh, &foo->data.dynmem);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 583 "engines/sci/engine/savegame.cfsml"
+#line 584 "engines/sci/engine/savegame.cfsml"
 	break;
 	default:
 	break;
@@ -4352,7 +4353,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 597 "engines/sci/engine/savegame.cfsml"
+#line 598 "engines/sci/engine/savegame.cfsml"
 	switch (foo->type) {
 	case MEM_OBJ_SCRIPT:
 // Auto-generated CFSML data reader code
@@ -4381,7 +4382,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 600 "engines/sci/engine/savegame.cfsml"
+#line 601 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_CLONES:
 // Auto-generated CFSML data reader code
@@ -4410,7 +4411,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 603 "engines/sci/engine/savegame.cfsml"
+#line 604 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_LOCALS:
 // Auto-generated CFSML data reader code
@@ -4439,7 +4440,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 606 "engines/sci/engine/savegame.cfsml"
+#line 607 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_SYS_STRINGS:
 // Auto-generated CFSML data reader code
@@ -4468,7 +4469,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 609 "engines/sci/engine/savegame.cfsml"
+#line 610 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_LISTS:
 // Auto-generated CFSML data reader code
@@ -4497,7 +4498,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 612 "engines/sci/engine/savegame.cfsml"
+#line 613 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_NODES:
 // Auto-generated CFSML data reader code
@@ -4526,7 +4527,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 615 "engines/sci/engine/savegame.cfsml"
+#line 616 "engines/sci/engine/savegame.cfsml"
 	break;
 	case MEM_OBJ_STACK:
 // Auto-generated CFSML data reader code
@@ -4555,7 +4556,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 618 "engines/sci/engine/savegame.cfsml"
+#line 619 "engines/sci/engine/savegame.cfsml"
 	foo->data.stack.entries = (reg_t *)sci_calloc(foo->data.stack.nr, sizeof(reg_t));
 	break;
 	case MEM_OBJ_HUNK:
@@ -4590,7 +4591,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 627 "engines/sci/engine/savegame.cfsml"
+#line 628 "engines/sci/engine/savegame.cfsml"
 	break;
 	default:
 		break;
@@ -4606,7 +4607,7 @@
 	write_MemObject(fh, (*foo));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 638 "engines/sci/engine/savegame.cfsml"
+#line 639 "engines/sci/engine/savegame.cfsml"
 	} else { // Nothing to write
 		WSprintf(fh, "\\null\\");
 	}
@@ -4641,7 +4642,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 649 "engines/sci/engine/savegame.cfsml"
+#line 650 "engines/sci/engine/savegame.cfsml"
 		return *hiteof;
 	}
 	return 0;
@@ -4655,7 +4656,7 @@
 	_cfsml_write_string(fh, (&t));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 658 "engines/sci/engine/savegame.cfsml"
+#line 659 "engines/sci/engine/savegame.cfsml"
 }
 
 int read_CommonString(Common::SeekableReadStream *fh, Common::String *string, const char *lastval, int *line, int *hiteof)
@@ -4690,7 +4691,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 665 "engines/sci/engine/savegame.cfsml"
+#line 666 "engines/sci/engine/savegame.cfsml"
 	if (*hiteof) return *hiteof;
 	*string = t;
 	free(t);
@@ -4703,13 +4704,13 @@
 	_cfsml_write_bool(fh, &((*foo)->isSci1_1));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 673 "engines/sci/engine/savegame.cfsml"
+#line 674 "engines/sci/engine/savegame.cfsml"
 #line 822 "engines/sci/engine/savegame.cfsml"
 // Auto-generated CFSML data writer code
 	_cfsml_write_SegManager(fh, *foo);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 674 "engines/sci/engine/savegame.cfsml"
+#line 675 "engines/sci/engine/savegame.cfsml"
 }
 
 int read_SegManagerPtr(Common::SeekableReadStream *fh, SegManager **foo, const char *lastval, int *line, int *hiteof) {
@@ -4740,7 +4741,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 681 "engines/sci/engine/savegame.cfsml"
+#line 682 "engines/sci/engine/savegame.cfsml"
 	*foo = new SegManager(sci11);
 	token = _cfsml_get_identifier(fh, line, hiteof, &assignment);
 // Auto-generated CFSML data reader code
@@ -4767,7 +4768,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 684 "engines/sci/engine/savegame.cfsml"
+#line 685 "engines/sci/engine/savegame.cfsml"
 	return 0;
 }
 
@@ -4816,13 +4817,13 @@
 	_cfsml_write_SavegameMetadata(fh, (&meta));
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 728 "engines/sci/engine/savegame.cfsml"
+#line 729 "engines/sci/engine/savegame.cfsml"
 #line 822 "engines/sci/engine/savegame.cfsml"
 // Auto-generated CFSML data writer code
 	_cfsml_write_EngineState(fh, s);
 	WSprintf(fh, "\n");
 // End of auto-generated CFSML data writer code
-#line 729 "engines/sci/engine/savegame.cfsml"
+#line 730 "engines/sci/engine/savegame.cfsml"
 
 	_gamestate_unfrob(s);
 
@@ -5129,7 +5130,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 1004 "engines/sci/engine/savegame.cfsml"
+#line 1005 "engines/sci/engine/savegame.cfsml"
 
 	if (read_eof)
 		return false;
@@ -5185,7 +5186,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 1028 "engines/sci/engine/savegame.cfsml"
+#line 1029 "engines/sci/engine/savegame.cfsml"
 
 	sfx_exit(&s->sound);
 	_gamestate_unfrob(retval);
@@ -5323,7 +5324,7 @@
 		}
 	}
 // End of auto-generated CFSML data reader code
-#line 1134 "engines/sci/engine/savegame.cfsml"
+#line 1135 "engines/sci/engine/savegame.cfsml"
 
 	if (read_eof)
 		return false;

Added: scummvm/trunk/engines/sci/engine/savegame.h
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.h	                        (rev 0)
+++ scummvm/trunk/engines/sci/engine/savegame.h	2009-03-12 03:26:21 UTC (rev 39351)
@@ -0,0 +1,74 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef SCI_ENGINE_SAVEGAME_H
+#define SCI_ENGINE_SAVEGAME_H
+
+#include "common/scummsys.h"
+#include "common/str.h"
+
+#include "sci/scicore/versions.h"
+
+namespace Sci {
+
+class EngineState;
+
+// Savegame metadata
+struct SavegameMetadata {
+	Common::String savegame_name;
+	int savegame_version;
+	Common::String game_version;
+	sci_version_t version;
+	int savegame_date;
+	int savegame_time;
+};
+
+
+/**
+ * Saves a game state to the hard disk in a portable way.
+ * @param s			The state to save
+ * @param save		The stream to save to
+ * @param savename	The description of the savegame
+ * @return 0 on success, 1 otherwise
+ */
+int gamestate_save(EngineState *s, Common::WriteStream *save, const char *savename);
+
+/**
+ * Restores a game state from a directory.
+ * @param s			An older state from the same game
+ * @param dirname	The subdirectory to restore from
+ * @return NULL on failure, a pointer to a valid EngineState otherwise
+ */
+EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *save);
+
+/**
+ * Read the header from a savegame.
+ */
+bool get_savegame_metadata(Common::SeekableReadStream* stream, SavegameMetadata* meta);
+
+
+} // End of namespace Sci
+
+#endif // SCI_ENGINE_SAVEGAME_H


Property changes on: scummvm/trunk/engines/sci/engine/savegame.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author URL Id
Added: svn:eol-style
   + native

Modified: scummvm/trunk/engines/sci/engine/scriptdebug.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/scriptdebug.cpp	2009-03-12 03:26:03 UTC (rev 39350)
+++ scummvm/trunk/engines/sci/engine/scriptdebug.cpp	2009-03-12 03:26:21 UTC (rev 39351)
@@ -31,6 +31,7 @@
 #include "sci/engine/kdebug.h"
 #include "sci/engine/kernel_types.h"
 #include "sci/engine/kernel.h"
+#include "sci/engine/savegame.h"
 #include "sci/gfx/gfx_widgets.h"
 #include "sci/gfx/sci_widgets.h"
 #include "sci/gfx/gfx_state_internal.h"	// required for gfxw_container_t, gfxw_port_t, gfxw_visual_t

Modified: scummvm/trunk/engines/sci/engine/state.h
===================================================================
--- scummvm/trunk/engines/sci/engine/state.h	2009-03-12 03:26:03 UTC (rev 39350)
+++ scummvm/trunk/engines/sci/engine/state.h	2009-03-12 03:26:21 UTC (rev 39351)
@@ -91,16 +91,6 @@
 	int palette;
 };
 
-// Savegame metadata
-struct SavegameMetadata {
-	Common::String savegame_name;
-	int savegame_version;
-	Common::String game_version;
-	sci_version_t version;
-	int savegame_date;
-	int savegame_time;
-};
-
 class FileHandle {
 public:
 	Common::String _name;
@@ -290,28 +280,6 @@
 	EngineState *successor; /* Successor of this state: Used for restoring */
 };
 
-
-#define STATE_T_DEFINED
-
-int gamestate_save(EngineState *s, Common::WriteStream *save, const char *savename);
-/* Saves a game state to the hard disk in a portable way
-** Parameters: (EngineState *) s: The state to save
-**             (WriteStream *) save: The stream to save to
-**             (char *) savename: The description of the savegame
-** Returns   : (int) 0 on success, 1 otherwise
-*/
-
-EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *save);
-/* Restores a game state from a directory
-** Parameters: (EngineState *) s: An older state from the same game
-**             (char *) dirname: The subdirectory to restore from
-** Returns   : (EngineState *) NULL on failure, a pointer to a valid EngineState otherwise
-*/
-
-bool get_savegame_metadata(Common::SeekableReadStream* stream, SavegameMetadata* meta);
-/* Read the header from a savegame
-*/
-
 PaletteEntry get_pic_color(EngineState *s, int color);
 /* Retrieves the gfx_pixmap_color_t associated with a game color index
 ** Parameters: (EngineState *) s: The game state


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