2842 Commits

Author SHA1 Message Date
Max Horn
8638b29b89 SCUMM: Avoid potential issues casting invalid values to enum
A compiler could in principle decide that a ResType enum can
never equal 0xFF or 0xFFFF, and thus incorrectly optimize
the ScummEngine::saveOrLoad code. So check the value
*before* casting it.
2014-03-30 19:48:08 +02:00
Max Horn
4d02f67bd1 ALL: Resolve multiple clang warnings 2014-03-30 14:38:02 +02:00
D G Turner
f4e7b593dc SCUMM: Fix bug #6009 "DC: FT/Dig - Sound disappears when VMU save fails"
This was introduced by fd3970aa52a0c7f411afdddfebad208f783281c8:
Apply patch #2984508 - "GSoC: SCUMM stopped audio from playing while
saving"

This was not quite correct as if the save fails, the function exits
without unpausing the engine, which resulted in sound and music
remaining muted. This corrects the logic to unpause in all cases.
2014-03-18 22:49:36 +00:00
Johannes Schickel
c64ba32678 SCUMM: Define symbols before actually using them in proc3ARM.s. 2014-03-09 16:08:50 +01:00
Johannes Schickel
fa2297f6b7 SCUMM: Manually specify function alignment in ARM assembly. 2014-03-06 20:21:47 +01:00
Strangerke
a675ac09c2 SCUMM: Some British to American english 2014-02-19 21:45:23 +01:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Strangerke
85b3526860 SCUMM: Janitorial - Remove trailing spaces 2014-02-16 18:39:02 +01:00
Johannes Schickel
4349ee8b3b SCUMM: Fix some GCC warnings. 2014-01-18 03:27:23 +01:00
clone2727
9d9ced0734 Merge pull request #366 from clone2727/he-saves-target-name
RFC: Make HE games use the target name in all save files
2014-01-17 15:59:44 -08:00
Johannes Schickel
10def6a435 SCUMM: Small formatting fix. 2013-11-27 19:32:08 +01:00
Johannes Schickel
fdcb6a6b1a SCUMM: Cleanup querySaveMetaInfos implementation.
This results in less code and also less I/O operations (including seeking).
2013-11-27 19:29:21 +01:00
Johannes Schickel
3318c4e4ac SCUMM: Slight cleanup in detection.cpp. 2013-11-27 19:03:23 +01:00
Johannes Schickel
d8d6faff01 SCUMM: Slight cleanup in savegame code. 2013-11-27 19:01:30 +01:00
Johannes Schickel
f4cb2d35d4 SCUMM: Remove unsued method loadThumbnailFromSlot(int slot). 2013-11-27 18:26:16 +01:00
D G Turner
ef85456859 BUILD: Remove need for engine.mk in each engine directory.
Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
2013-11-24 00:48:01 +00:00
D G Turner
1ac01d2333 BUILD: Remove need for engine-plugin.h in engines.
This is now generated automatically by the configure script from the
engine directory names.
2013-11-24 00:48:01 +00:00
D G Turner
00c27a28f9 BUILD: Split engines/plugins_table header down to a file per engine.
This is the third and final commit enabling fully pluggable engines.

Now providing an engine folder contains a configure.engine, engine.mk
and engine-plugin.h file, it will be picked up automatically by the
configure script.
2013-11-24 00:48:01 +00:00
D G Turner
d77cf95a18 BUILD: Split engines.mk down to a single file per engine.
This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
2013-11-24 00:48:01 +00:00
D G Turner
aa947c9474 BUILD: Split configure.engines down to a single file per engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
2013-11-24 00:45:38 +00:00
Eugene Sandulenko
2362498d54 SCUMM: Fix potential memory leak. CID 1003586 2013-11-03 01:28:03 +02:00
Filippos Karapetis
4f807ee53e SCUMM: More renaming for players
Rename "player" directory to "players", and reintroduce the "player_"
file prefix. This has been done after sev's request.
"players/player_foo.*" is more descriptive, and avoids potential name
clashes in libraries
2013-11-01 19:26:51 +02:00
Filippos Karapetis
651bf89939 SCUMM: Move all players to a separate "player" directory
There are 34 player .cpp/.h player files, so they have been placed in
their own directory, to logically separate them from the rest of the
engine
2013-11-01 06:57:53 +02:00
Matthew Hoops
3bfd422205 SCUMM: Make all HE saves prepend the target name
This makes HE follow the ScummVM convention of using the target name everywhere. It also fixes having more than one team in both soccer and football.

Loading old saves will still work and they will be tried if the newer save names are not found.
2013-10-05 15:45:36 -04:00
Rodrigo Rebello
be2f292457 SCUMM: Fix unused variable warnings 2013-10-03 01:47:02 -03:00
Kirben
987bb6d454 SCUMM: Add US Windows preview of Humongous Catalog. 2013-09-27 15:50:36 +10:00
Johannes Schickel
01dea8bd67 Merge pull request #378 from lordhoto/pluggable-engines-translations
RFC: Pluggable Engines: I18N: Move specification of engine specific files to enginedir/POTFILES
2013-09-12 15:38:13 -07:00
Eugene Sandulenko
c2161b9564 Merge pull request #360 from lordhoto/scumm-ad
SCUMM: Implement original AD AdLib output.
2013-09-12 10:58:08 -07:00
Kirben
5f6451d092 SCUMM: Fix COMI regression, after commit 84d1d28373d782464bd46b10abd6b092f7eb6367. 2013-08-26 19:32:26 +10:00
Eugene Sandulenko
03bf56ea82 INSANE: Mark fall through case statement. CID 1003733 2013-08-18 11:59:51 +03:00
Torbjörn Andersson
84d1d28373 SCUMM: Read the SMAP size, not the SMAP tag itself
This will obviously make 'smapLen' a lot smaller in most cases, so
there may be regressions. But I hope this is correct, though I
don't know why the size is big-endian while the offset is little-
endian.
2013-08-18 09:28:54 +02:00
Torbjörn Andersson
e81d8d8112 SCUMM: Remove unnecessary NULL check, CID 1003629
Since _actors[i]->_sound is an array, it can't ever be NULL.
2013-08-18 09:07:49 +02:00
Torbjörn Andersson
b8c198aec9 SCUMM: Remove unnecessary NULL check, CID 1003628
Since ah->data is an array, it can't ever be NULL.
2013-08-18 09:05:03 +02:00
Torbjörn Andersson
598d1a9c9c SCUMM: Remove unnecessary NULL check, CID 1003627
Since ah->data is an array, it can't ever be NULL.
2013-08-18 09:02:14 +02:00
Kirben
b4f2e2ead4 SCUMM: Always confirm quit when required in HE games. 2013-08-16 15:49:30 +10:00
Kirben
0c8f8898ff SCUMM: Add new variables in Nimbus Games version of Putt-Putt Saves the Zoo. 2013-08-16 15:19:17 +10:00
Kirben
2a807b1880 SCUMM: Add Remastered version of Putt-Putt Saves the Zoo from Nimbus Games. 2013-08-15 22:50:45 +10:00
Johannes Schickel
378387c903 I18N: Move specification of engine specific files to enginedir/POTFILES.
This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.

Thanks to criezy for his suggestion on this approach.
2013-08-12 17:54:31 +02:00
Johannes Schickel
63750d6780 COMMON: Rename ConfigFile to INIFile.
This clears up that 'ConfigFile' is actually a class handling only INI-files.
2013-08-08 16:28:38 +02:00
Johannes Schickel
7f8308e0eb Merge pull request #365 from lordhoto/protected-pixels
Make Graphics::Surface::pixels protected.
2013-08-07 12:24:59 -07:00
Alyssa Milburn
89e14f6862 SCUMM: Fix backwards-in-same-array case of v72he::copyArray. 2013-08-04 15:54:37 +02:00
Alyssa Milburn
2af07d5d8e SCUMM: Add detection/version for Moonbase Commander v1.1. 2013-08-04 10:42:44 +02:00
Johannes Schickel
a96a427fc8 SCUMM: Add comment about getPixels uses in BaseCostumeRenderer. 2013-08-04 02:41:40 +02:00
Johannes Schickel
6485b291e9 SCUMM: Fix Loom (and some other graphics regressions).
These are regressions from c05cb7f3bbcf4d64d4a938e0eb42065d8f3d3038. They were
caused by VirtualScreen::getPixels differing from Surface::getBasePtr and I
accidently used the former in some cases in the conversion.

I also fixed a bug in debugger.cpp which exchanged x and y.
2013-08-04 02:29:13 +02:00
Johannes Schickel
c22d914054 SCUMM: Do not set Surface::pixels directly anymore. 2013-08-03 04:14:07 +02:00
Johannes Schickel
0a1cbac76a SCUMM: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel
c05cb7f3bb SCUMM: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:31 +02: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
Torbjörn Andersson
1f9f08c935 SCUMM: Fix test before running VAR_SAVELOAD_SCRIPT2 (CID 1004135)
This doesn't really make any difference because either both
VAR_SAVELOAD_SCRIPT and VAR_SAVELOAD_SCRIPT2 exist, or neither
does. But it feels more correct this way.
2013-07-21 10:02:02 +02:00
Johannes Schickel
325f60cbd7 Merge pull request #345 from countingpine/patch-1
SCUMM: More precise Player_Mac::durationToSamples
2013-07-18 09:17:23 -07:00