Commit Graph
526 Commits
Author SHA1 Message Date
Lars Skovlund 416025cda9 Fix assertion failure in SCI0 saving code
svn-id: r54138
2010-11-08 11:02:43 +00:00
Filippos Karapetis 5de2668939 SCI: Some changes regarding the string heap in saved games
- Maintain the state of the string heap space in saved games
- Merged SegManager::reconstructScripts() inside SegManager::saveLoadWithSerializer()
- Disabled a now unnecessary script patch for the cipher puzzle in Castle of Dr. Brain, and performed some cleanup for another disabled patch
- Removed direct access to the _baseObj variable of objects

svn-id: r54133
2010-11-08 00:18:34 +00:00
Martin Kiewitz 130365ef0d SCI: fixing port restoring
- recalculate _freeCounter
- dont push disposed windows onto windowlist

svn-id: r54017
2010-11-01 20:08:42 +00:00
Martin Kiewitz a46b1adeae SCI: fixing bug when restoring ports
fixes assert

svn-id: r54016
2010-11-01 19:56:01 +00:00
Martin Kiewitz eefa151d70 SCI: saving/restoring script created windows now
fixes "GfxPorts::kernelSetActive" error
based on code by [md5]

svn-id: r54012
2010-11-01 16:09:33 +00:00
Filippos Karapetis 43221a3253 SCI: Removing obsolete function parameter
svn-id: r53986
2010-10-31 20:57:50 +00:00
Filippos Karapetis dca3c8d8bf SCI: Play time related changes
- Added support for savegame play time
- Removed obsolete variables for calculating the play time (EngineState::gameStartTime and Console::_enterTime)
- Renamed some variables to camelCase

svn-id: r53974
2010-10-31 01:45:24 +00:00
Martin Kiewitz a8df677c04 SCI: save/restore intensity of sysPalette
fixes bug #3072868
should be save for backporting

svn-id: r52875
2010-09-24 09:56:50 +00:00
Martin Kiewitz d5d8434fd6 SCI: now pausing/unpausing music in replaced restore dialog
dialog will not get replaced in sci32, nor in mother goose. Enable by adding "scireplacedialog" inside scummvm section of scummvm.ini file. Note: this feature is experimental

svn-id: r52318
2010-08-24 09:00:53 +00:00
Filippos Karapetis 397df8f350 SCI: added a wrapper for GUI::MessageDialog
svn-id: r52171
2010-08-17 20:33:22 +00:00
Filippos Karapetis 7935ebf4a3 SCI: Converted an error back into a warning when loading games
svn-id: r51816
2010-08-07 00:22:57 +00:00
Willem Jan Palenstijn 74304fb790 SCI: Fix infinite recursion when saving.
This was a regression from r51727.

svn-id: r51731
2010-08-04 12:11:23 +00:00
Max Horn fcf3ea61fe SCI: Simplify code (let the compiler interfer types where possible)
svn-id: r51727
2010-08-04 08:26:09 +00:00
Max Horn 5ed9ddaa2c SCI: Remove reference to common/serializer.h from vm_types.h
svn-id: r51726
2010-08-04 08:25:39 +00:00
Matthew Hoops 0eaa9bddb6 SCI: Fix restoring SCI32 games (a regression of r51712)
svn-id: r51723
2010-08-04 05:15:01 +00:00
Martin Kiewitz 2e11c1cf96 SCI: reset ports when restoring
fixes qfg3/fairy tales restoring (bug #3035626)
also fixes ScummVM menu restoring while a window is shown (e.g. sq5)

svn-id: r51712
2010-08-03 19:43:16 +00:00
Filippos Karapetis 32807512d9 SCI: Cleanup
svn-id: r51687
2010-08-03 12:41:36 +00:00
Johannes Schickel a76f5449bc SCI: Yet another slight leak fix.
svn-id: r51670
2010-08-02 23:03:04 +00:00
Johannes Schickel 4e33b7a3be GRAPHICS: Renamed skipThumbnailHeader to skipThumbnail.
svn-id: r51668
2010-08-02 22:28:30 +00:00
Johannes Schickel 0dba655085 SCI: Fix memory leak.
This was a quite bad leak in gamestate_restore. It was caused by the code only
deleting the Graphics::Surface object but not its data.

I changed the code to use skipThumbnailHeader now, since the code actually
ignores the thumbnail anyway.

svn-id: r51667
2010-08-02 22:27:50 +00:00
Martin Kiewitz 2d76fe0092 SCI: kGameIsRestarting returns 2 when we restored
fixes castle of dr. brain save issue in puzzle room, fixes island of dr. brain save issue when saving in first room

svn-id: r51538
2010-07-31 14:09:42 +00:00
Martin Kiewitz c422e39bf8 SCI: implemented kPalette(save/restore)
svn-id: r51381
2010-07-27 17:51:44 +00:00
Filippos Karapetis 19042d7873 SCI: Actually sync kPalVary data when saving/loading
svn-id: r51198
2010-07-23 08:26:20 +00:00
Filippos Karapetis 9db77be9d4 SCI: Dropped support for the very old savegame versions 12 and 13 (hopefully, the last ones to be dropped)
svn-id: r51197
2010-07-23 08:22:13 +00:00
Martin Kiewitz 15eebdb061 SCI: some changes to kPalVary saving
still needs to get tested

svn-id: r51196
2010-07-23 08:08:27 +00:00
Filippos Karapetis 3aa4f76ee4 SCI: Now saving the kPalVary state inside savegames
svn-id: r51194
2010-07-23 07:36:55 +00:00
Filippos Karapetis 8eca9d6acb SCI: Fixed a bug when loading some saved games (sometimes, the execution stack wasn't cleared properly when loading and you couldn't save or restore)
svn-id: r51140
2010-07-22 12:38:48 +00:00
Martin Kiewitz 625af1260b SCI: checking if within kernel function before overwrite a save (thx @ digitall)
svn-id: r50962
2010-07-17 17:58:50 +00:00
Martin Kiewitz ba776fb293 SCI: implemented subsignatures for kDoSound
svn-id: r50755
2010-07-09 12:06:41 +00:00
Filippos Karapetis 9add81aaf2 SCI: Dropped support for the very old saved game versions 9 - 11. Rationale: a lot has changed since then, we're still not stable, and this helps clean up the code, thus we're still in a position to drop support for old saved games
svn-id: r50738
2010-07-07 20:12:41 +00:00
Max Horn afd2850058 SCI: Add version to obsolete string
This way, if we ever get rid of support for savegames with
version <= 23, we can also get rid of this syncString()
call. Without this change, it would have "infected" every
new savegame version, forever.

svn-id: r50730
2010-07-06 23:24:36 +00:00
Max Horn aa6be750fb SCI: Invoke resetSegMan from SegManager::saveLoadWithSerializer, not from EngineState::saveLoadWithSerializer
svn-id: r50554
2010-07-01 16:06:04 +00:00
Max Horn c822cd67cb SCI: Make SegManager::_classTable private.
This require a small tweak to the save/load code: I moved the syncing
logic for _classtable from EngineState::saveLoadWithSerializer to
SegManager::saveLoadWithSerializer, which in theory should have no
effect (luckily, _classtable was being synced right after the
segment manager).

svn-id: r50551
2010-07-01 16:05:10 +00:00
Max Horn 3f429d64a2 SCI: Rename some variables to match our naming conventions
svn-id: r50549
2010-07-01 16:04:29 +00:00
Filippos Karapetis bff3e89e48 SCI: Removed the FreeSCI music code
svn-id: r50532
2010-06-30 13:49:05 +00:00
Filippos Karapetis 9f1413b338 When deleting a list node, erase its references to predecessor and successor nodes. Fixes cases where game scripts could reference a list node after it was deleted (e.g. QFG1 intro, Longbow when exiting the cave). Some slight cleanup
svn-id: r50515
2010-06-30 07:18:43 +00:00
Filippos Karapetis 9f1320d5cc SCI: Made the SoundCommandParser a member of the SciEngine class and removed it from the EngineState, since it's static throughout the course of a game
svn-id: r50484
2010-06-29 09:00:08 +00:00
Filippos Karapetis ee6aebc780 Don't initialize graphics again when loading
svn-id: r50464
2010-06-28 22:08:46 +00:00
Max Horn 30218a2c32 SCI: Make Script member vars private; add const qualifiers
Only three Script members remain public (for now)

svn-id: r50428
2010-06-28 11:22:20 +00:00
Filippos Karapetis 0a102981f0 Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
svn-id: r50183
2010-06-23 15:23:37 +00:00
Filippos Karapetis c28fa2cf19 Reverted the code which handles objects without a base object when loading, for now. This possibly indicates an issue related to the garbage collector
svn-id: r50142
2010-06-22 15:03:19 +00:00
Filippos Karapetis 53b82298e8 Stop saving the buffer, script and heap sizes of each script in saved games
svn-id: r50137
2010-06-22 08:57:25 +00:00
Martin Kiewitz 996bd693e0 SCI: resume when unable to locate base objects - fixes loading some saved games
svn-id: r50055
2010-06-19 19:04:35 +00:00
Filippos Karapetis db70d66e4a Strict mode: Changed several warnings due to logic bugs into errors. If an error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
svn-id: r49973
2010-06-17 23:50:28 +00:00
Martin Kiewitz b25aba1d1e SCI: SciGui/SciGui32 gone for good...
svn-id: r49860
2010-06-15 15:44:24 +00:00
Martin Kiewitz ba2de6dfa4 SCI: putting SciGui::init into SciEngine, removing it from SciGui(32)
svn-id: r49854
2010-06-15 13:34:40 +00:00
Filippos Karapetis e64eb71ce8 Properly reconstruct the running stack when restoring (a regression from commits #49376 and #49525), some formatting
svn-id: r49689
2010-06-15 09:11:26 +00:00
Filippos Karapetis ba3c43498b - Swapped the return value of gamestate_save (false = failed, true = succeeded)
- Removed some duplicate code inside Console::cmdSaveGame()

svn-id: r49688
2010-06-15 08:39:03 +00:00
Filippos Karapetis 0ad3bedf98 Added a signature of the game itself inside saved games (the size of script 0, as well as the offset of the game object, which are unique for each game), to prevent users from loading saved games across different versions of the same game. In the cases where we can't load a saved game, throw a nice GUI dialog instead of a console warning
svn-id: r49687
2010-06-15 08:25:51 +00:00
Filippos Karapetis 0dab9e0e1f Reorganized functions a bit
svn-id: r49685
2010-06-15 07:25:09 +00:00