Commit graph

50 commits

Author SHA1 Message Date
Colin Snover
9916b26383 SCUMM: Replace UB-triggering serialization code with Common::Serializer
Fixes Trac#10342.
2018-01-31 17:58:01 +01:00
Robert Crossfield
44000ba826 SCUMM: Maniac V0: Implement original walkbox queue, Cleanup actor walk code 2016-07-19 18:54:14 +10:00
Robert Crossfield
814d9b1153 SCUMM: Maniac V0: Correctly handle 'slanted' walk-boxes, Add new variables to save-games, Bump the SaveGame Version number, remove obsolete V0 code in V2 functions 2014-12-02 16:25:03 +11:00
Johannes Schickel
4069f63eb0 SCUMM: Save/load music/sfx data in AD player.
This makes sure that the currently playing music and sfx are resumed when
loading a save game.
2014-06-04 18:51:15 +02:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
80ab4c5242 SCUMM: Implement original AD AdLib output.
This implements the original AD output and enables it for Indy3 and Loom DOS.
It is not enabled for Monkey Island DOS because it would break multi MIDI
support. However, there are also drawbacks for Indy3. In the catacombs
we were able to play sfx (Indy walking around) and the background music
at once. This was not supported in the original player and thus also does
not work with this reimplementation.

This fixes bug #2027877 "INDY3: Non-Looping Sound Effects".
This fixes bug #1159581 "ADLIB: Adlib Emulation doesn't Respect Volume Settings"
for Indy3 and Loom.
2013-07-24 03:28:47 +02:00
Johannes Schickel
ff7a34aec5 SCUMM: Silence C++11 narrowing warnings. 2013-01-09 07:24:37 +01:00
Torbjörn Andersson
f784d683e0 SCUMM: Save/load Mac music engine state for Loom and MI1
Note that while this removes _townsPlayer->saveLoadWithSerializer(s)
it really shouldn't break anything because _musicEngine also points
to the FM Towns player. Famous last words...
2012-11-15 22:23:44 +01:00
Johannes Schickel
6ea51e8c45 SCUMM: Implement support for special sfx in MI2 Mac.
This also increases the savegame version, since it introduces a new
Instrument subclass.
2012-09-20 02:13:03 +02:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Willem Jan Palenstijn
784472a669 Revert "SCUMM: revert savegame version to 89"
This reverts commit 65fc7225bb.

Increasing the savegame version on a branch and then decreasing it again
leads to problems with loading current savegames in old commits during
a bisect.
2012-02-11 10:55:55 +01:00
Tobias Gunkel
65fc7225bb SCUMM: revert savegame version to 89
Previous versions 89-92 are merged into version 89.
2012-02-11 08:36:38 +01:00
Tobias Gunkel
8d3b272939 SCUMM: save complete v0 state and initialize actors correctly 2012-02-11 08:30:07 +01:00
Tobias Gunkel
2b657283d7 SCUMM: forward savegame version is needed due to previous savegame changes) 2012-02-11 08:29:55 +01:00
Tobias Gunkel
f99dab78e4 SCUMM: fix for old savegames 2012-02-11 08:29:29 +01:00
segrax
e331421eae SCUMM: Save the new variables, move the setting of the unknown variable to after the setDirection call 2012-02-11 08:29:00 +01:00
athrxx
ae5192c5d3 SCUMM: make FM-Towns save files compatible between DS and other platforms
(only applies to new save files)
2011-11-24 21:29:14 +01:00
athrxx
8315d5d2c8 SCUMM: fix save file incompatibility between DS and other ports for non FM-TOWNS games 2011-11-01 17:04:31 +01:00
Johannes Schickel
003c16920c SCUMM: Also save first used color beyond 80 in Indy4 Amiga palette. 2011-08-27 19:57:45 +02:00
Johannes Schickel
f77fc07b6b SCUMM: Save Indy4 Amiga specific palettes like the original did.
For older saves I added a warning and a fallback which tries to setup
everything correctly. This might cause some issues, but should hopefully be
just fine.
2011-08-26 18:43:28 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Travis Howell
2f254a3531 SCUMM: Add alternative version of patch #3094717 - MMC64: save actor state.
svn-id: r53842
2010-10-26 04:20:20 +00:00
Florian Kagerer
01c9b17068 SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2
svn-id: r53052
2010-10-07 19:23:49 +00:00
Florian Kagerer
0d8f4a22ae SCUMM/FM-TOWNS: fix palette and other graphics issues
This commit should fix at least the following bugs/feature requests: #1032859, #1252088, #1055391, #1315968, #1315938, #1742106, #812891.
The FM-Towns version of Scumm games use a mixed graphics mode with 2 layers (one with 32767 colors and one with 16 colors). Among other things I have added a screen output class which emulates this  dual layer approach which allows specific hardware effects like enabling and disabling layers (e.g. in the voodoo priestess scene in MI1).

Old savegames (saved before this update) will load, but you’ll encounter palette glitches in the verb/inventory screen, since the 16 color palette for layer 2 is not contained in your savegame. This will be true at least for version 5 games. Certain scene change actions (which require the verb/inventory part to be redrawn) might correct this (e.g. try looking at the treasure map in MI1 and closing it). Version 3 games should be okay, since they use a static text palette which is never changed and which will be reset after loading a savegame.

This update requires a USE_RGB_COLORS setting for proper operation. 8 bit users will get a warning that they’ll have to expect palette glitches . Apart from that the engine in 8 bit mode should not only still work okay, but also benefit from some of the other (non palette related) improvements (e.g. bug #1032859 should be fixed even in 8 bit mode).

Japanese font drawing hasn’t been improved much yet. This will be a separate task.

svn-id: r52966
2010-10-01 19:24:52 +00:00
Florian Kagerer
29a5c6a45b SCUMM/FM-TOWNS: start rewriting audio code
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one).
- All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent).
- Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example).
- some other minor improvements
- The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently.

svn-id: r52198
2010-08-18 21:38:43 +00:00
Travis Howell
43d57fd333 Update branch specific save game changes, to prevent conflicts.
svn-id: r43421
2009-08-16 01:46:47 +00:00
Max Horn
eb9600b5e9 SCUMM: Moved _inventoryOffset to ScummEngine_v2 and save it.
Fixes bug #2828417: Zak V2: inventory position isn't reset when loading.

svn-id: r42870
2009-07-28 23:19:33 +00:00
Travis Howell
c02ad3b7bf Add patch #2821100 - MM C64 Objects / Verb fixes, with minor clean up applied.
svn-id: r42737
2009-07-25 06:27:41 +00:00
Travis Howell
248d9db3b1 Restore correct camera values for old saves games of FT, Dig, and COMI.
svn-id: r36274
2009-02-11 23:22:52 +00:00
Paweł Kołodziejski
5fc53e262e - added initial radio chatter sfx, still not fully correct
- remove obsolete mixerStreamRunning track variable

svn-id: r35801
2009-01-10 13:04:33 +00:00
Johannes Schickel
9138128f5c - Committed Max' compressed save backseeking support from patch #2050337 "KYRA/SCUMM: Thumbnail support/improvement"
- Extended SCUMM engine to support savegames without thumbnail header. (Increased savegame version to prevent saves to be loaded from older ScummVM versions)
- Fixed KYRA to properly support savegames without thumbnail header.

svn-id: r34054
2008-08-20 14:24:16 +00:00
Max Horn
5f4c9f913f Turned InSaveFile & OutSaveFile into simple typedefs
svn-id: r33606
2008-08-04 11:38:25 +00:00
Eugene Sandulenko
3047e084c1 Fix for bug #1945335: "SCUMM: Invalid charset id can be stored".
Regressions possible.

svn-id: r33552
2008-08-02 22:51:53 +00:00
Max Horn
511019bd83 Change InSaveFile -> SeekableReadStream where possible
svn-id: r30722
2008-02-01 23:32:20 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Eugene Sandulenko
bd67214c96 Improved version of patch to fix bug #1722153: "FT: Error on loading a game saved during a dialogue"
svn-id: r26987
2007-05-28 08:02:10 +00:00
Eugene Sandulenko
f1e29981ed Patch from bug #1722153: "FT: Error on loading a game saved during a dialogue"
svn-id: r26947
2007-05-26 17:39:33 +00:00
Gregory Montoir
642fa67da9 Added code for decodeParseString.SO_PRINT_WRAP and rewrote the CHARSET_1 function in order to match the original V8 interpreter. This should fix bugs #1036707 and #1662610 (subtitles word wrapping issues).
svn-id: r26516
2007-04-15 20:36:44 +00:00
Max Horn
728d01cb17 Removing some unnecessary #includes
svn-id: r26044
2007-03-09 23:46:45 +00:00
Torbjörn Andersson
a1a16d1579 Use consistent naming for the preprocessor constants used to guarantee that
header files are only included once. Many of them didn't have a SCUMM prefix
which could have lead to clashes with common header files.

svn-id: r25727
2007-02-19 17:48:19 +00:00
Max Horn
be052be462 Rewrote the actor walk code for SCUMM V0-V2 games: Now it uses the C64 character coordinates internally, not pixel coordinates. This should fix some walk bugs, but also might cause some regressions. Watch out
svn-id: r25370
2007-02-04 01:24:43 +00:00
Max Horn
e287f181ed Partial fix for bug #1036707 (made by cyx): Get rid of _verbCharset, so that we use the correct font for verbs in COMI, with the correct spacing
svn-id: r25249
2007-01-28 18:47:10 +00:00
Max Horn
7f0156322f Updated POD explanation link
svn-id: r25040
2007-01-06 19:09:39 +00:00
Travis Howell
3b1062d2d4 Add patch for bug #1452272 - COMI: Verb strings aren't wrapped
svn-id: r22793
2006-05-31 10:48:40 +00:00
Travis Howell
c1bd25617b Increase size of _charsetData to 16 * 23 for HE games, fixes subtitle color glitches in Buzzy games
svn-id: r21460
2006-03-26 09:06:44 +00:00
Travis Howell
67b8589c18 Reduce size of saved games for HE games, music/speech resources don't need to be saved
svn-id: r21456
2006-03-26 00:24:00 +00:00
Max Horn
6176252117 Use ptrdiff_t from stddef.h for our offsetof-clone (this should reduce warnings on e.g. the PS2, but may cause problems on systems that are missing this type/header. Please contact me if this causes problems on your port)
svn-id: r20793
2006-02-20 16:03:48 +00:00
Travis Howell
b796860ee8 Add extra costume tables (Used by HE games) to saved game. Fixes weird actor states when restoring saved game, in HE games.
svn-id: r20689
2006-02-14 10:11:15 +00:00
Max Horn
26ee630756 Moved engines to the new engines/ directory
svn-id: r20582
2006-02-11 22:45:04 +00:00
Renamed from scumm/saveload.h (Browse further)