Commit Graph
3264 Commits
Author SHA1 Message Date
Kirben 5f6451d092 SCUMM: Fix COMI regression, after commit 84d1d28373. 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 c05cb7f3bb. 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
countingpine 96c4ebe77f SCUMM: Better Player_Mac::durationToSamples
Uses the fact that 4*480*480 == 225 << 12, and the identity
(a*b)>>n == (a>>n)*b + ((a%(1<<n))*b)>>n (assuming non-overflowing math),
except the rhs uses smaller intermediate values and does not overflow(*).
Compared to the original code, this uses 1 fewer division and eliminates
the rounding error.

(*) Technical note: In some cases the right hand side of the above
identity still has possibilities of intermediate overflow, but only if
b > (1 << n), or if (b << n) overflows, neither of which are true here.
2013-07-16 16:16:08 +01:00
Eugene Sandulenko e0e6b95384 INSANE: Fix CID 1003734. Missing break in switch 2013-07-15 11:48:05 +03:00
Eugene Sandulenko b1c886334d INSANE: Fix CID 1003733. Missing break in switch.
In fact the code was wrong there due to copy-paste error
2013-07-15 11:47:51 +03:00
Sven Hesse 989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Kirben 395ee92a85 SCUMM: Add another French Windows version of Pajama Sam 2. 2013-07-09 11:45:45 +10:00
Torbjörn Andersson 29bc36d070 SCUMM: Fix initGM() buffer overflow (CID 1032513)
We're clearly using 12 bytes, not 11.
2013-07-06 14:03:31 +02:00
Eugene Sandulenko c7ec14d1cb SCUMM: Corrected Russian Full Throttle variant names 2013-06-23 18:18:52 -04:00
Eugene Sandulenko cdac272b87 SCUMM: Added another Russian variant of Full Throttle 2013-06-22 11:28:23 -04:00
Torbjörn Andersson 08be916049 SCUMM: Verify sample width in Digital iMUSE callback. CID 1002112
Verify that 'bits' really is one of 8, 12 or 16 before decoding
the data. It's probably always the case (unless the data files are
damaged) but if it isn't we'll either try to queue NULL to the
audio stream, or queue the same buffer more than once, or free the
buffer more than once. All of which are bad, though Coverity only
noticed the last of these cases.
2013-06-04 06:11:41 +02:00
Torbjörn Andersson f8c0d354af SCUMM: Remove unused variable _quit
CID 1003018
2013-06-02 09:43:59 +02:00
tcarey dc6b39d058 SCUMM: Clean-up of Roland GS code
1. Remove _sc55 bool. All Roland GS-capable devices have MT-32 sound/drum maps, so they should always be used when _enable_gs is set.
2. Always enable _native_mt32 if Roland GS mode is selected. I don't know why I never did this originally, since _enable_gs is automatically disabled for SCUMM v6+ games that use General MIDI tracks instead of MT-32 music.
3. Set master tune for GS devices to 442.0kHz. This is the master tune setting for the MT-32.
2013-05-11 19:18:11 +03:00
Matthew Hoops 0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Torbjörn Andersson ce79ff4f2e SCUMM: Change NUM_SCRIPT_LOCALS to NUM_SCRIPT_LOCAL
For consistency with NUM_SCRIPT_SLOT.
2013-05-01 07:47:56 +02:00
Torbjörn Andersson f70087dc90 SCUMM: Fix out-of-bounds access in runScript() debug messages
I believe this fixes CID 1003954, 1003957, 1003958, 1003962 and
1003966.
2013-05-01 07:33:05 +02:00
Torbjörn Andersson 0638d85ada SCUMM: Cleanup
We only need to initialize 'args' in runInventoryScript() when we
are actually using them.
2013-04-30 22:46:36 +02:00
Torbjörn Andersson 2284aba719 SCUMM: Use correct array size when calling initializeLocals()
The initializeLocals() function assumes that it can copy 25
elements when being provided an array of values. But this array
was frequently a lot smaller than that. I've introduced a constant
for the number of locals (though VirtualMachineState has one more
for some reason), and fixed the array sizes in a number of places.

CID 1003951, 1003952, 1003953, 1003955, 1003956, 1003959, 1003960,
1003961, 1003963, 100394, 1003965
2013-04-30 22:26:51 +02:00
Eugene Sandulenko b1893bc5f7 SCUMM HE: fix crash introduced in a10ad272a8 2013-04-29 23:16:55 +03:00
Matthew Hoops c7aceeb08e SCUMM: Fix o100_videoOps subOp 0
football2002 endzone videos now display
2013-04-29 15:35:14 -04:00
Eugene Sandulenko a10ad272a8 SCUMM HE: Plug memory leak. CID 1003582 2013-04-28 23:59:20 +03:00
Eugene Sandulenko cfbc8be757 SCUMM: Fix non-terminated string. CID 1003867 2013-04-24 01:08:09 +03:00
Matthew Hoops f4a566afb1 SCUMM: Fix football2002 field coordinates 2013-04-23 16:19:23 -04:00
Matthew Hoops 0209ce4e3a SCUMM: Fix a bug in football's nextPoint U32 opcode
Seems to fix bug #3495704
2013-04-22 17:22:29 -04:00
Eugene Sandulenko 095dfcad15 INSANE: Fix potential buffer overflow. CID 1003866 2013-04-21 14:27:30 +03:00
Max Horn b791edabf7 ENGINES: Remove a bunch of unused private member variables
All instances uncovered by clang warnings.
2013-04-18 23:50:20 +02:00
Kirben 7e290c963f SCUMM: Add Italian Windows version of Freddi Fish 4. 2013-04-06 08:10:28 +11:00
Kirben b22a9b119e SCUMM: Add Italian Windows demos of Freddi Fish 4 and Putt-Putt Enters the Game. 2013-04-03 11:36:59 +11:00
Torbjörn Andersson a1168e932c SCUMM: Hardly-even-worth-mentioning cleanup. 2013-04-02 08:20:33 +02:00
Eugene Sandulenko 49da129e63 SCUMM: Fix bug #3575444: "FT: Enemy behaviour in biker fight"
Also fixed enemy behavior along the way. No wonder it differed
from the original!
2013-04-02 00:18:50 +03:00