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