Commit Graph
488 Commits
Author SHA1 Message Date
Matthew Hoops 2a9d98003e SCUMM: Restrict the Mac m68k v5 driver to MI2/Indy4
Shouldn't be used with MI1
2012-09-20 11:58:04 -04:00
Matthew Hoops fc6ab89b50 SCUMM: Add support for Indy4 Mac 68k sound 2012-09-20 11:48:00 -04:00
Johannes Schickel c3f37fb187 SCUMM: Always use the Mac sound output for MI2 Mac.
Formerly it wasn't used when the user selected a MIDI output in the options.
Thanks to clone2727 for noticing.
2012-09-20 04:07:18 +02:00
Johannes Schickel 58f542d434 SCUMM: Implement support for Monkey Island 2 Mac music.
This is a initial RE of the audio output Monkey Island 2 Mac uses. Support
for special sound effects is not in there yet.
2012-09-20 02:12:41 +02:00
Travis Howell 4aec92e5e9 SCUMM: Backyard Baseball 2003 uses a unique variable for the subtitle setting, fixes changing subtitles via ScummVM. 2012-05-31 11:40:21 +10:00
Tobias Gunkel 9dd6105ce6 SCUMM: replace "c64" with "v0" when it applies to both C64 and AppleII v0 versions
In addition some routines (e.g. the gfx ones) that are even used in v1.
2012-02-11 08:30:08 +01:00
Tobias Gunkel daff6f36ae SCUMM: _currentLights is v0 only 2012-02-11 08:30:03 +01:00
Tobias Gunkel 0bae642453 SCUMM: 2nd try to fix dungeon door timing
Shorten the timer delay does not work as escaping with a second kid is not possible too. Instead decrease engine speed during script execution.
2012-02-11 08:28:54 +01:00
Tobias Gunkel c138ef6709 SCUMM: merge _activeObjectNr/_activeObjectType and _cmdObjectNr/_cmdObjectType 2012-02-11 08:28:46 +01:00
Tobias Gunkel b337823bab SCUMM: fix verb and script handling
- getVerbEntrypoint() should not handle walk-to differently (revert 0x0D handling back to original behavior)
- VAR_ACTIVE_ACTOR actually is VAR_ACTIVE_OBJECT2
- runSentenceScript(): "if (_cmdVerb == kVerbWalkTo)" must be "if (_cmdVerb != kVerbWalkTo)"
2012-02-11 08:28:26 +01:00
Tobias Gunkel de0b5f7674 SCUMM: use command stack and SentenceTab in mm c64
- MM C64 uses command stack (SentenceTab, doSentence()) now
- _cmdObject... added for current SentenceTab. The _active... variables are only used to build a sentence in the inventory but never by a script.
-> many routines are not needed anymore and are removed
2012-02-11 08:28:22 +01:00
Tobias Gunkel 706b8cf1c5 SCUMM: replace verb, prep and currentMode values with symbolic constants 2012-02-11 08:28:19 +01:00
Tobias Gunkel 1c32000a00 SCUMM: start handling object type and id correctly in mm c64
- removed complicated and unnecessary _v0ObjectIndex, _v0ObjectInInventory, _v0ObjectFlag vars
- started to merge object id and type into one object value (type<<8|id)
- verb preposition ids do not dependent on language -> remove from VerbSettings

Note:
- objects with type=0 are foreground objects. They have a state, an owner and a bg overlay image.
- objects with type=1 are bg objects. They do not have a state or owner and are already contained in the bg image. The do not have an entry in objectState/OwnerTable
2012-02-11 08:28:14 +01:00
Tobias Gunkel a79f224c23 SCUMM: changed handling of _activeInventory/_activeActor to _activeObject(2)/_activeObject(2)Type
Note: the transition is not completed yet. The code compiles but is probably not runnable as not every occurrence of _activeInventory has been properly replaced.
The usage of _v0ObjectIndex and _v0ObjectInInventory should be revised too and both variables should be replaced by another mechanism (maybe by using a single variable "obj = (type << 8) | id").

- moved v0 only vars _activeInventory, _activeObject, _activeVerb from  ScummEngine_v2 to ScummEngine_v0
- removed _activeActor, _activeInvExecute, _activeObject2Inv and _activeInventory. They are handled by _activeObject/_activeObjectType and _activeObject2/_activeObject2Type now.
- removed _activeObject(2)Index as they only bloat the code without any benefit (?)
- merge prep-name tables from ScummEngine_v2::drawPreposition() and ScummEngine_v0::drawSentenceWord() by introducing ScummEngine_v2::drawPreposition()
- rename ObjectData.flags -> obj_type (quick-fix only, needs review! Maybe obj_nr and obj_type can be merged into one var: obj_nr = (obj_type << 8) | obj_nr)
- o_unknown2 is negation of o_ifActiveObject (o_ifNotEqualActiveObject2)
- renamed o_ifActiveObject -> o_ifEqualActiveObject2 as it acts only on _activeObject2
- renamed ScummEngine_v0::drawSentenceWord() -> ScummEngine_v0::getObjectName()
2012-02-11 08:02:32 +01:00
Johannes Schickel 95cabb0ffd SCUMM: Add a difficulty selection dialog for Loom FM-Towns.
It is in spirit of the DOS version's selection dialog, but it has the
description above the buttons instead of below it.
2011-12-26 15:25:41 +01:00
Tobias Gunkel 854928f09a SCUMM: Rename player_appleII.* -> player_apple2.* to have the filenames lower case 2011-12-24 14:29:06 +01:00
Tobias Gunkel 109ba212c6 SCUMM: Add initial support for AppleII sound player 2011-12-22 12:08:23 +01:00
Willem Jan Palenstijn 0af011ba82 SCUMM: Further clean up loop 2011-11-01 23:56:51 +01:00
Willem Jan Palenstijn f191413b1c SCUMM: Clean up loop 2011-11-01 15:54:15 +01:00
Johannes Schickel 4ea4172cba SCUMM: Implement proper Indy4 Amiga palette handling.
This should fix incorrect text colors in some scenes.
2011-08-26 05:54:47 +02:00
Matthew Hoops f5255288ea SCUMM: Split HE logic classes to their own files 2011-08-17 09:12:19 +02:00
Eugene Sandulenko 192b245d51 SCUMM: Fix compilation 2011-08-06 11:39:37 +01:00
Eugene Sandulenko 0dafa7f80f ALL: Reduce audio/ header dependency 2011-08-06 11:30:42 +01:00
Johannes Schickel b86de198a0 SCUMM: Fix up CMS player implementation.
It's much better now and hopefully quite close to the original when it comes
to the music part. The intro music of Loom and Monkey Island 1 EGA sounds fine
to me now at least.
2011-08-05 22:58:50 +02:00
Johannes Schickel a8846d37d5 Merge pull request #54 "SCUMM v5 PC Speaker driver".
Discussion can be found here: https://github.com/scummvm/scummvm/pull/54
2011-07-11 21:51:40 +02:00
Johannes Schickel dab9c05783 SCUMM: Do not allow multi midi mode for PC Speaker output.
Thanks to eriktorbjorn for catching this.
2011-07-10 16:21:30 +02:00
Johannes Schickel abbd29b16a SCUMM: Limit iMuse default instrument load to PC Speaker output.
Albeit the code is marked as a hack inside the source, the original behaved
exaclty the same. If the code is removed the PC Speaker output will miss notes,
since unlike the original we only output to parts, which have an instrument set
up.
2011-07-10 05:21:25 +02:00
athrxx f24bac2d0f SCUMM: fix DS compilation 2011-07-09 23:57:51 +02:00
athrxx b1cb88ddc2 SCUMM: cleanup sjis font rendering code 2011-07-09 20:07:55 +02:00
Johannes Schickel ed993e6350 SCUMM: Initial PC Speaker output implementation for SCUMM v5.
This is *not* complete yet.
2011-07-08 04:45:01 +02:00
Johannes Schickel 3b7c91f2a7 COMMON: Move HerculesDimensions enum to SCUMM.
The enum is only used inside the SCUMM engine so it is rather pointless to
keep it in common/util.h right now. Also if we really want it in some common
place it should probably be better in graphics/ too.
2011-06-21 16:59:50 +02:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
athrxx 03ba1871f7 SCUMM: fixed messed up colors in 16bit HE games
(regression from 068b4a5351)
2011-06-18 19:45:36 +02:00
athrxx 1a58262ca7 SCUMM: fix bug in cb661d63d0cd45d1231435a593b74dfc51872a0f 2011-06-16 21:32:33 +02:00
athrxx 283872018b SCUMM: slightly changed behavior of 16bit mode detection
(another attempt to fix SCUMM FM-TOWNS for ANDROID)
2011-06-16 20:52:07 +02:00
athrxx 89f14d38dd SCUMM: change comment in last commit 2011-06-15 22:56:39 +02:00
athrxx 0a42a7d625 SCUMM: hopefully fix 16bit mode support for SCUMM FM-TOWNS games and LOOM PCE on Android
This mostly reverts 5b7754e3f0. Instead, we try to use other 16bit modes  after 555 fails.
2011-06-15 22:30:04 +02:00
athrxx 5b7754e3f0 SCUMM: fix bug #3316738
This provides fallback to 8bit color mode for SCUMM3 FM-TOWNS games on platforms which set the USE_RGB_COLOR define even though that color mode is not being fully implemented for that platform.
2011-06-15 17:12:17 +02:00
Thierry Crozat c01141a144 SCUMM: Change MessageDialog button label for consistency
Everywhere else the 'OK' button label is all upper case and here was
the only place where it was not (it was 'Ok').
2011-06-13 22:21:43 +01:00
Thierry Crozat 06bbb57ad7 I18N: Make many more GUI MessageDialog strings translatable 2011-06-13 22:19:18 +01:00
athrxx afb1b3d8d3 SCUMM: fix engine destructor
(This is relevant for cases where the engine errors out early, before certain arrays get initialized).
2011-06-13 03:02:59 +02:00
athrxx 4a8b501a22 SCUMM: fix typo (reported by Littleboy) 2011-06-03 22:09:25 +02:00
Max Horn 477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
athrxx baaae9d97a SCUMM: Add missing imuse feature
This adds an extra detune parameter which is assigned via sysex code 0.
Most tracks don't use this (= assign a value of 0), so it isn't really a
very noticeable feature.
2011-05-17 20:36:32 +02:00
athrxx 6845f25f54 SCUMM: Adapt code to latest FM-TOWNS audio driver changes 2011-05-17 20:24:30 +02:00
athrxx 5c34e33c2c FM-TOWNS AUDIO: Some more midi driver code for FM-TOWNS monkey2 and indy4 2011-05-17 20:24:24 +02:00
Max Horn 4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
Max Horn 749a1beb35 SCUMM: Remove useless allocateArrays call, and make sure all resources are properly killed upon restart 2011-05-13 14:39:34 +02:00
Max Horn 4108f09543 SCUMM: Make it clearer that SCUMM's 'restart' feature leaks like hell 2011-05-13 14:33:22 +02:00
Max Horn c02420df43 SCUMM: Add a Resource class, refactor res code around it 2011-05-13 11:47:13 +02:00