Commit Graph
32 Commits
Author SHA1 Message Date
AndywinXp ba24698225 SCUMM: v3: Implement ability to rename savestate before loading on the original menu
As much as this seems bad design, it's a real possibility in the original interpreters, furthermore
confirmed by the menu messages which are shown when the user tries to do that, so here we are...
2022-12-01 00:04:46 +01:00
AndywinXp 82c6306443 SCUMM: Formatting 2022-11-30 21:40:13 +01:00
Eugene Sandulenko ca37dccb5a SCUMM: Fix incorrect usage of Common::String internals
c_str() is constant for a reason, moreover, sizeof(String object)
is always bigger because it contains additional class variables.
2022-11-29 01:45:37 +01:00
AndywinXp 617e7f6077 SCUMM: LOOM (Towns): Fix crashes on the menu when no savegames are available 2022-11-28 23:21:45 +01:00
AndywinXp 939a9bba39 SCUMM: LOOM (Towns): Implement original save menu quirk with slot 0 2022-11-28 23:21:45 +01:00
AndywinXp 1d206fbc53 SCUMM: v0-1-2-3: Implement actual saving\loading system
This commit implements saving and loading in the same way the original interpreters
for MANIAC v0-1-2, ZAK v1-2-3, LOOM v3 and INDY v3 do. This makes it possible to
use the original save menus without glitches or crashes.

Saves done from GMM can also be loaded from the original menu.
2022-11-28 23:21:45 +01:00
AndywinXp 13e7c9d4d9 SCUMM: Implement basic support for v0-3 GUI 2022-11-28 23:21:45 +01:00
Le Philousophe 137b51d7ac SCUMM: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
eientei 7bf184ba32 SCUMM: Convert if/else if in o4_saveLoadGame to switch; fix typos 2022-08-23 21:40:29 +03:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
D G Turner 59b639ed4d SCUMM: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-23 11:56:16 +00:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Eugene Sandulenko cfbc8be757 SCUMM: Fix non-terminated string. CID 1003867 2013-04-24 01:08:09 +03: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
Eugene Sandulenko 10536e285c SCUMM: Fix bug #3306145: INDY3: EGA version script bugs
Based on a patch presented in the bugreport. Fixes several bugs
connected with calcualting IQ points in Amiga versions of Indy3.
2011-07-13 12:33:51 +01:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Florian Kagerer 5af782c5d2 SCUMM/FM-TOWNS: disable new graphics code in DS port
svn-id: r53033
2010-10-05 19:04:52 +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
Max Horn 8a5705132d SCUMM: More finely differentiate opcode tables between v3, v4 and v5
This has been tested and verified as much as I can, but has a small
risk of leading to (easily fixable) regressions.

svn-id: r52130
2010-08-16 19:58:01 +00:00
Travis Howell e12d3c966a Correct regression in V1 DOS version of Zak McKracken.
svn-id: r43802
2009-08-29 14:20:27 +00:00
Travis Howell 1be7ab068e Add patch #2846581 - MM C64: savedialog.
svn-id: r43801
2009-08-29 14:08:19 +00:00
Max Horn fb79b18571 Changed SaveFileManager methods to take Common::String params (instead of char pointers)
svn-id: r41000
2009-05-29 14:38:22 +00:00
Max Horn 6a7bb77305 SCUMM: Introduced new method ScummEngine_v5::jumpRelative; unified some v0 and v2 opcodes
svn-id: r40025
2009-04-20 12:35:17 +00:00
Max Horn 3044593da0 SCUMM: Moved o5_saveLoadGame and o5_saveLoadVars to ScummEngine_v4 (the highest SCUMM version to implement these opcodes. Actually, our code was bugged in so far as we only ever invoked o5_saveLoadGame in V3 games, never in V4 games (but this properly never mattered ;)
svn-id: r40014
2009-04-19 01:01:54 +00:00
Max Horn 0e82403daa SCUMM: o5_ifNotState and o5_ifState are actually not part of v5, only in v3 & v4 -> renamed and moved them accordingly
svn-id: r40013
2009-04-19 01:01:28 +00:00
Max Horn 57c624b24d SCUMM: ScummEngine_v5::o5_oldRoomEffect -> ScummEngine_v4::o4_oldRoomEffect
svn-id: r40012
2009-04-19 01:01:09 +00:00
Max Horn 25d0e7d4bc SCUMM: In v5, only opcodes 0x05 and 0x85 are mapped to o5_drawObject; in v3 & v4, several other opcodes map to it. Capture this properly in the opcode tables
svn-id: r40011
2009-04-19 01:00:49 +00:00
Max Horn b32e9f00b0 SCUMM: MovedScummEngine_v5:: o5_pickupObjectOld to ScummEngine_v4::o4_pickupObject
svn-id: r40009
2009-04-19 01:00:11 +00:00
Max Horn 56a31019b7 SCUMM: Added stubs for V3 & V4 opcode tables
svn-id: r40007
2009-04-19 00:59:28 +00:00