Commit Graph

2372 Commits

Author SHA1 Message Date
Max Horn
0725be325f SCUMM: Extend workaround for bug #1668393 (see bug #3267665) 2011-04-04 13:04:17 +02:00
Max Horn
6eeebfb191 SCUMM: Check for cutSceneStackPointer underflows 2011-04-04 09:56:50 +02:00
Matthew Hoops
dfc8723726 SCUMM: Add support for append mode to o72_openFile()
The baseball2001 hall of fame data saves properly now
2011-04-02 00:59:29 -04:00
Matthew Hoops
211842c2fb SCUMM: Make sure finalize is called from o60_closeFile() 2011-04-01 22:52:12 -04:00
Matthew Hoops
6247ed5b45 SCUMM: Stub off file append mode in o72_openFile()
This is used in several Backyard Sports titles. This stub is required for now so that baseball2001 can continue after trying to save the Hall of Fame data.
2011-04-01 20:38:25 -04:00
dhewg
d83a83ef50 JANITORIAL: Remove/comment unused vars
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29 21:57:56 +02:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
2011-03-23 15:25:47 +01:00
Max Horn
7b02dac3c5 ENGINES: Use Common::StackLock in more places 2011-03-23 15:25:46 +01:00
Max Horn
756f592b61 SCUMM: Remove unused iMuse MIDI 'passthrough' code 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
Thierry Crozat
fb4e5f7f84 I18N: Break keyboard shortcut translation by key
In the scumm help dialog, translate single keys, e.g. "Ctrl" or "Alt"
instead of asking the translator to translate individually  "Ctrl a",
"Ctrl b", "Alt a", "Alt b", Ctrl Alt a" and so on. This reduce greatly the
number of strings to translate.
2011-03-22 22:20:18 +00:00
athrxx
ea79336ac9 Merge branch 'master' of https://github.com/scummvm/scummvm 2011-03-22 15:55:17 +01:00
athrxx
92f922aabe SCUMM FM-TOWNS: cleanup (thx LordHoto) 2011-03-22 15:53:43 +01:00
dhewg
fa11a6e8cf SCUMM: Cleanup syncSoundSettings() 2011-03-19 16:04:56 +01:00
md5
d602a420b6 SCUMM: Changed usage of PI to M_PI (normally defined in math.h) 2011-03-19 02:33:09 +02:00
Matthew Hoops
6582b77f1c SCUMM: Use the new WinCursor code in SCUMM HE
Also, updated the MacResManager cursor code to reflect the SCUMM resource extractor code changes
2011-03-06 19:57:18 -05:00
Matthew Hoops
a2a0b13de2 COMMON: Begin to merge some NE/PE code
The ID classes are now common to both. The files have been renamed to better illustrate their purpose.
2011-02-22 20:03:18 -05:00
Matthew Hoops
3a3fd9f009 SCUMM: Use the new PEResources class for HE cursors
Putt-Putt Saves the Zoo HE72 still works fine for me
2011-02-22 12:33:45 -05:00
dhewg
adf6c8f09e SCUMM: More DISABLE_TOWNS_DUAL_LAYER_MODE mess
Uglify more code to fix compilation for DS
Only compile-tested
2011-02-20 12:09:58 +01:00
Johannes Schickel
bb9e82c3b3 SCUMM: Adapt to setPalette RGBA->RGB change. 2011-02-14 17:08:33 +01:00
athrxx
4e6c025633 SCUMM FM-TOWNS: minor cleanup (git test) 2011-02-13 15:19:43 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn
2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Max Horn
2c00aed172 SCUMM: Avoid hiding overloaded virtual method
svn-id: r55809
2011-02-07 17:53:34 +00:00
Max Horn
ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
David Turner
ec885e5665 SCUMM: Fix Valgrind mismatched delete errors in SMUSH channel base class.
This was due to the SMUSH channel base class using new/delete to manage buffer, but the imuse_channel and saud_channel classes which subclass and override this using malloc/free.
The more C++ solution of moving all to new/delete was tried, but the buffer is passed into a MemoryReadStream and free()'d there, so all classes have been moved to malloc/free instead.
This is not a critical problem as the buffers are byte primitive type anyway.

svn-id: r55660
2011-01-30 16:50:55 +00:00
David Turner
b644c6d466 SCUMM: Remove direct usage of OSystem quit() function in SCUMM engine code.
This would cause leaks, but occurs in development code only.

svn-id: r55659
2011-01-30 14:53:47 +00:00
Travis Howell
2187411977 SCUMM: Fix bug #3167036 - BluesBirthday: Crash in the demo.
svn-id: r55589
2011-01-28 12:35:20 +00:00
Matthew Hoops
491393790d SCUMM: Restore the missing copyright for the PE code (wrongfully removed in r27024)
svn-id: r55532
2011-01-25 14:12:45 +00:00
Eugene Sandulenko
caa6684752 VIDEO: Move video classes to Video:: namespace
svn-id: r55479
2011-01-23 19:08:09 +00:00
Eugene Sandulenko
806ccf5d25 GRAPHICS: Move graphics/video/ to video/. Step 1/2
svn-id: r55473
2011-01-23 17:14:43 +00:00
Johannes Schickel
5742a11510 SCUMM: Prefer "Could not" over "Couldn't" in some error messages.
svn-id: r55268
2011-01-16 20:24:58 +00:00
Arnaud Boutonné
d063b074cd JANITORIAL: Suppress some useless includes
svn-id: r55091
2011-01-02 14:06:42 +00:00
Travis Howell
ccb8a01b17 SCUMM: Correct fix for bug #3145951 - DIG: Subtitles won't turn off (regression).
svn-id: r55053
2010-12-28 06:05:57 +00:00
Travis Howell
cfbac503ad SCUMM: Another fix for bug #3145951 - DIG: Subtitles won't turn off (regression).
svn-id: r55052
2010-12-28 05:43:03 +00:00
Travis Howell
fe12e08dd6 SCUMM: Fix bug #3145951 - DIG: Subtitles won't turn off (regression).
svn-id: r55050
2010-12-27 14:07:53 +00:00
Travis Howell
e7e92a7577 SCUMM: Fix bug #3143039 - ACTIVITY: Circus Stormin' crash.
svn-id: r55049
2010-12-27 14:02:17 +00:00
Matthew Hoops
375f32fbe9 VIDEO: Make VideoDecoder::decodeNextFrame() return a const Surface pointer
svn-id: r54927
2010-12-16 01:35:13 +00:00
Florian Kagerer
56f98a8574 SCUMM/FM-TOWNS: hopefully fix bug #1463434
o5_verbOps() case 9 (SO_VERB_NEW) works slightly different in SCUMM 3 FM-TOWNS (I don't know about DOS).
This should fix the issue with the broken key shortcuts.
Old savegames won't be fixed, though (since the broken verb states will be restored from the save file).

svn-id: r54872
2010-12-11 23:51:50 +00:00
Max Horn
6edc86a19b DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engine
svn-id: r54815
2010-12-07 18:54:21 +00:00
Max Horn
31d2d2af4c SCUMM: Workaround for bug #1447058, a race condition in the game scripts
svn-id: r54730
2010-12-02 00:27:46 +00:00
Max Horn
e85d196f33 SCUMM: Fix bug in V12 games causing chars to be lost when wrapping talk text
svn-id: r54729
2010-12-02 00:27:26 +00:00
Johannes Schickel
b36b7ee349 SCUMM: Fix GM initialization when "enable_gs" is set.
This is a regression from r25630, which caused the code to send some garbage
data to the GS device, which resulted in some devices to fail with an
"Address Error." (like the Roland SC-55).

This might also fix bug #1927501 "GS option is broken". Even though actually
the device there failed with another error it is likely to be caused by the
same code. At least it is the only iMuse MIDI code change between 0.9.0 and
0.12.0, which might result in such a problem.

svn-id: r54727
2010-12-01 23:55:10 +00:00
Travis Howell
5132cf51e3 Fix bug #3093750 - FT: Truck and Aircraft computer text missing (regression).
svn-id: r54665
2010-11-30 07:57:42 +00:00
Thierry Crozat
16c73378b9 i18N: Add a few strings to translate in the SCUMM help dialog.
svn-id: r54547
2010-11-28 19:23:02 +00:00
Thierry Crozat
f20da5f98c I18N: Add translation of the SCUMM help dialog.
svn-id: r54449
2010-11-23 22:47:20 +00:00
Max Horn
09ba53dcfb SCUMM: Use explicit XOR decoding code in BaseScummFile subclasses
This made it possible to turn some MemoryReadStream pointers into plain
SeekableReadStream pointers.

svn-id: r54435
2010-11-23 22:25:36 +00:00
Max Horn
54e0390752 SCUMM: Replace Common::File uses by SeekableReadStream and SearchMan
svn-id: r54434
2010-11-23 22:25:10 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
ee4770ffb6 ENGINES: Change 'colour' to 'color'
Only changed this in engines where 'color' was/is already used
almost exclusively

svn-id: r54288
2010-11-17 12:22:08 +00:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +00:00
Max Horn
059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Max Horn
82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Max Horn
4d3a07b494 COMMON: Rename and tweak MD5 functions
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
  as a hex string now returns it as a Common::String
* add doxygen comments

svn-id: r54121
2010-11-07 17:16:59 +00:00
Florian Kagerer
206971d16b SCUMM/FM-TOWNS JAPANESE: fix out of bounds text drawing
(could cause invalid memory access in MI1)

svn-id: r54079
2010-11-05 00:36:23 +00:00
Max Horn
a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Max Horn
e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn
a1dd7a07a1 ENGINES: Remove some 'using' statements
svn-id: r54001
2010-11-01 16:00:17 +00:00
Johannes Schickel
447ca7ea69 SCUMM: Switch to the new SaveStateDescriptor::setPlayTime.
svn-id: r53923
2010-10-29 16:41:49 +00:00
Johannes Schickel
dac9493069 ENGINE: Rename resetTotalPlayTime to setTotalPlayTime.
I also extended the comment for it to show two possible use cases.

svn-id: r53895
2010-10-27 22:52:02 +00:00
Johannes Schickel
2ad28b8cd5 ENGINE: Generalize SCUMM play time counting and move it into Engine.
This implements Max's idea on -devel
("Re: [Scummvm-devel] ATTN Engine authors: Advanced engine features") from
27.10.2010 on 11:12PM CEST.

Unlike the SCUMM implementation it stores the play time as ms instead of s.

The SCUMM engine was adapted to use this instead to reduce code duplication.

svn-id: r53892
2010-10-27 22:37:51 +00: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
Max Horn
075919756f SCUMM: Move shared code of Player_V2 & Player_V2CMS to new common base class
svn-id: r53830
2010-10-25 16:42:24 +00:00
Max Horn
d2a7a840c7 SCUMM: Move class Player_V2CMS to its own header file
svn-id: r53829
2010-10-25 16:41:39 +00:00
Travis Howell
57b571ecd0 SCUMM: Add patch #3094711 - MMC64: Correct position of plant actor.
svn-id: r53814
2010-10-25 10:35:52 +00:00
Travis Howell
f158688c33 SCUMM: Add patch #3089936 - MMC64: Parcel/Tombstone/Verb Fix.
svn-id: r53807
2010-10-25 08:26:21 +00:00
Travis Howell
4f0cc6a435 SCUMM: Add patch #3093541 - MMC64: Actor Walk / Object Fix.
svn-id: r53806
2010-10-25 08:03:55 +00:00
Travis Howell
f228c76b35 SCUMM: Add patch #3093061 - MMC64: sentence highlighting.
svn-id: r53805
2010-10-25 07:53:02 +00:00
Travis Howell
5942382ad4 SCUMM: Add patch #3093051 - MMC64: Ladder facing patch.
svn-id: r53799
2010-10-25 07:07:23 +00:00
Travis Howell
8e10c5bc3b SCUMM: Add patch #3093048 - MMC64: German actor names.
svn-id: r53796
2010-10-25 05:26:16 +00:00
Travis Howell
b2e8daa2d7 SCUMM: Add patch #3093057 - MMC64: sentence/inventory color.
svn-id: r53785
2010-10-25 03:21:49 +00:00
Max Horn
b446a7dcc2 ALL: code formatting fixes
svn-id: r53764
2010-10-24 13:09:56 +00:00
Max Horn
5fbca853aa SCUMM: Turn global g_cmsEmu into a member var of Player_V2CMS
svn-id: r53763
2010-10-24 13:05:03 +00:00
Max Horn
c975ed11a1 ALL: Fix various typos (patch #3093266)
svn-id: r53762
2010-10-24 13:04:33 +00:00
Max Horn
0d54400806 SCUMM: Skip endian conversion on little endian systems (instead of assigning values back to themselves)
svn-id: r53739
2010-10-23 15:47:23 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Travis Howell
3f4655c03f SCUMM: Disable multiplayer option in Backyard Baseball 2001.
svn-id: r53731
2010-10-23 13:39:04 +00:00
Travis Howell
402fac9ed4 SCUMM: Add workaround to allow saved games to be shared between Macintosh and Windows versions of Backyard Baseball 2001.
svn-id: r53729
2010-10-23 06:27:16 +00:00
Travis Howell
afd677c2c7 SCUMM: Fix buffer overflow, that was causing crashes when saving in Backyard Baseball 2001/2003.
svn-id: r53726
2010-10-23 02:18:08 +00:00
Florian Kagerer
a82b0435a2 SCUMM/FM-TOWNS JAPANESE: fix font drawing in MI1 intro
svn-id: r53725
2010-10-23 00:30:21 +00:00
Florian Kagerer
031e0167e4 SCUMM/FM-TOWNS JAPANESE: fix another font spacing issue
(fixes MI1 character talk text)

svn-id: r53704
2010-10-22 19:28:12 +00:00
Max Horn
89fc06d878 SCUMM: Remove redundant call to checkArrayLimits
svn-id: r53672
2010-10-21 09:32:00 +00:00
Max Horn
66fabfa049 SCUMM: Document ScummEngine_v90he::sortArray
svn-id: r53671
2010-10-21 09:31:42 +00:00
Travis Howell
cca5504b6c SCUMM: Fix bug #2984000 - SPYFOX3 (French): Crash when using fingernail machine.
svn-id: r53669
2010-10-21 08:51:10 +00:00
Travis Howell
e5c3b67ddb SCUMM: Correct a copy and paste error in compareByteArray/compareByteArrayReverse code.
Thanks to clone2727 for noticng this error.

svn-id: r53663
2010-10-21 05:17:16 +00:00
Travis Howell
01ea6f86bd SCUMM: Revert revision 45302, which caused regressions when random team is selected in Backyard Football.
svn-id: r53662
2010-10-21 05:13:32 +00:00
Florian Kagerer
64c0d2a1d1 SCUMM/FM-TOWNS: minor graphics fix
This fixes a graphics glitch that occured when leaving the Scumm Bar in MI1 for the first time (before the cut scene with LeChuck).

svn-id: r53645
2010-10-20 15:39:08 +00:00
Matthew Hoops
21a29d3b45 SCUMM: Have o6_getRandomNumber() use the absolute value of the argument
The Backyard Baseball series calls the function with negative numbers, but expects a positive result. The games are now actually playable.

Thanks to Kirben for assistance in tracking this bug down.

svn-id: r53630
2010-10-20 03:01:03 +00:00
Florian Kagerer
f6a43d980a SCUMM/FM-TOWNS JAPANESE: minor fix in last commit
svn-id: r53617
2010-10-19 17:03:36 +00:00
Florian Kagerer
1d87f434a2 SCUMM/FM-TOWNS JAPANESE: implement flipped text
(used in the MI1 circus scene after Guybrush gets shot out of the cannon)

svn-id: r53616
2010-10-19 16:58:27 +00:00
Florian Kagerer
f05110f3f6 SCUMM/FM-TOWNS JAPANESE: fix font spacing issues
(improves MI1 intro)

svn-id: r53597
2010-10-18 23:54:35 +00:00
Max Horn
ceae152531 SCUMM: Silence MSVC 2010 code analysis warning
svn-id: r53582
2010-10-18 19:29:56 +00:00
Eugene Sandulenko
dd7a2f75c0 SCUMM: INSANE: fix a long standing bug discovered by static code analysis
svn-id: r53581
2010-10-18 19:19:28 +00:00
Max Horn
277113f600 SCUMM: Fix out of bound access (discovered by Code Analysis in MS VS2010; thanks to aquadran for helping verify the fix)
svn-id: r53575
2010-10-18 19:03:24 +00:00
Max Horn
cda2c950d6 SCUMM: Simplify SO_LOAD_STRING code
svn-id: r53574
2010-10-18 18:56:40 +00:00
Max Horn
32f1a9ad8b SCUMM: Add paranoia check
svn-id: r53573
2010-10-18 18:56:20 +00:00
Max Horn
6175c2bb19 SCUMM: Fix potential bug in ScummEngine::resStrLen.
In particular, it might happen that ScummEngine::resStrLen is called
while the _scriptPointer is stale. In that case, it would be working
with the stale pointer. If the code calling it then uses fetchScript*()
methods to read the string whose length was just computed, then it would
read potentially *different* data (e.g. copyScriptString or
loadPtrToResource could have been affected).

I am not sure if this actually could have caused bugs somewhere; it might
even be provable that a script relocation cannot happen in all places
that invoke resStrLen. But for now it's much easier to make the code
safe than to verify that theory ;).

Also simplified some related code.

svn-id: r53572
2010-10-18 18:55:24 +00:00
Max Horn
d69a63c145 SCUMM: Move common code from ScummEngine::fetchScript* to new method.
The new method is called refreshScriptPointer(). Also renamed
getScriptEntryPoint() to resetScriptPointer() in an attempt to highlight
both the similarity and difference between the two.

svn-id: r53571
2010-10-18 18:43:13 +00:00
Max Horn
3b21db1618 SCUMM: Fix parts of bug #3087898 (SCUMM: Code analysis warnings)
svn-id: r53567
2010-10-18 16:00:07 +00:00
Travis Howell
ada933c2ad SCUMM: Check the sound channel is valid, before checking the sound channel.
svn-id: r53562
2010-10-18 04:25:53 +00:00
Travis Howell
34ff826918 SCUMM: Check the sound channel is valid, before checking the sound channel.
svn-id: r53561
2010-10-18 04:23:30 +00:00
Travis Howell
f40e427ab0 SCUMM: Correct incorrect demo entry for Backyard Football 2002.
svn-id: r53560
2010-10-18 00:43:49 +00:00
Florian Kagerer
1d60fc45f2 SCUMM/FM-TOWNS: more improvements to japanese font drawing
(MI1 intro is still not right)

svn-id: r53558
2010-10-17 23:52:33 +00:00
Travis Howell
3dc498c5ec SCUMM: Fix Macintosh demo of Putt-Putt Joins the Parade.
svn-id: r53557
2010-10-17 23:45:57 +00:00
Florian Kagerer
c841c3fb7c SCUMM/FM-TOWNS: more improvements to japanese font drawing
- made use of LordHotos graphics/sjis code to reduce code duplication
- japanese mode for version 3 and 5 works fine now with few exceptions (some line spacing glitches in MI1 intro etc.)

svn-id: r53554
2010-10-17 13:08:00 +00:00
Travis Howell
728a231d7b SCUMM: Fix bug #2952298 - HE (16Bit): Inventory items (Cursors) have wrong color.
svn-id: r53552
2010-10-17 12:44:56 +00:00
Florian Kagerer
63c30e959f SCUMM/FM-TOWNS: fix regression in non Japanese SCUMM 3 games
svn-id: r53523
2010-10-15 23:28:09 +00:00
Florian Kagerer
af52d3a7f6 SCUMM/FM-TOWNS: fix display of dialogue options in Indy 4 Japanese
svn-id: r53519
2010-10-15 21:48:46 +00:00
Florian Kagerer
87b5598720 SCUMM/FM-TOWNS: fix up/down inventory arrows in Indy 4 Japanese
svn-id: r53518
2010-10-15 21:26:05 +00:00
Florian Kagerer
b184d7bbdb SCUMM/FM-TOWNS: improve japanese font drawing in SCUMM 3 games
svn-id: r53510
2010-10-15 19:10:18 +00:00
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Travis Howell
42f2a13155 Reverted revision 53456, as requested.
svn-id: r53483
2010-10-15 12:41:11 +00:00
Eugene Sandulenko
ea5bf685fc SCUMM: Fix bug #2952298 with 16-bit HE cursors on Amiga
Bug #2952298: "HE (16Bit): Inventory items (Cursors) have wrong color"
This appeared to be generic BE bug. Thanks to jvprat for nailing it down
and providing the patch.

svn-id: r53456
2010-10-14 18:19:51 +00:00
Johannes Schickel
75e8452b6e OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.

Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.

svn-id: r53399
2010-10-13 03:57:44 +00:00
Florian Kagerer
2f86c7a45c SCUMM/FM-TOWNS: start fixing japanese font drawing
svn-id: r53196
2010-10-12 22:17:00 +00:00
Florian Kagerer
2c691e1168 LOOM PC-Engine: fix mouse cursor
svn-id: r53117
2010-10-10 14:22:10 +00:00
Florian Kagerer
8e6ce812d1 LOOM PC-Engine: fix regression
svn-id: r53113
2010-10-10 10:26:49 +00:00
Florian Kagerer
89fd5b31c1 SCUMM/FM-TOWNS: minor fix for sfx code
svn-id: r53103
2010-10-09 16:39:56 +00:00
Florian Kagerer
88416b870d SCUMM/FM-TOWNS: cleanup sfx code
svn-id: r53095
2010-10-09 01:36:38 +00:00
Florian Kagerer
b58bbd719c SCUMM/FM-TOWNS: fixed threading issue in sfx code
svn-id: r53074
2010-10-08 16:31:08 +00:00
Florian Kagerer
4ad65e5179 SCUMM/FM-TOWNS: fixed possible invalid mem access in sfx code
svn-id: r53073
2010-10-08 13:50:11 +00:00
Florian Kagerer
a214e08c0d SCUMM/FM-TOWNS: minor change in sfx code
svn-id: r53061
2010-10-07 22:20:22 +00:00
Filippos Karapetis
7f6fa7e030 SCUMM: Silenced signed/unsigned warnings, removed unused variable
svn-id: r53055
2010-10-07 20:18:33 +00:00
Florian Kagerer
cf9c948433 SCUMM/FM-TOWNS: cleanup
svn-id: r53053
2010-10-07 19:27:11 +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
5af782c5d2 SCUMM/FM-TOWNS: disable new graphics code in DS port
svn-id: r53033
2010-10-05 19:04:52 +00:00
Florian Kagerer
3185b9df42 SCUMM/FM-TOWNS: cleanup
svn-id: r53016
2010-10-04 17:03:38 +00:00
Florian Kagerer
0596971dec SCUMM/FM-TOWNS: cleanup
svn-id: r53000
2010-10-03 20:44:58 +00:00
Florian Kagerer
5d7ce32fbd SCUMM/FM-TOWNS: fix mouse cursor colors
svn-id: r52999
2010-10-03 20:29:22 +00:00
Florian Kagerer
c9713bef7c SCUMM/FM-TOWNS: improve merging of graphics layers
svn-id: r52995
2010-10-03 17:25:38 +00:00
Florian Kagerer
6ca15d0888 SCUMM/FM-TOWNS: fix drawBox()
svn-id: r52991
2010-10-03 14:32:09 +00:00
Florian Kagerer
77fe52bbd7 INDY3/FM-TOWNS: fix intro graphics bug
svn-id: r52987
2010-10-02 23:18:15 +00:00
Florian Kagerer
5d1ab85874 SCUMM: update scumm-md5.txt
svn-id: r52981
2010-10-02 15:01:51 +00:00
Florian Kagerer
74681b81b3 SCUMM/FM-Towns: limit SCUMM 5 games to 16 bit graphics mode
8 bit mode makes no sense for these games since colors will be too messed up.
SCUMM 3 games (Indy 3, Loom, Zak) are still supported in 8bit mode.

svn-id: r52977
2010-10-02 13:25:50 +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
Eugene Sandulenko
f965616552 SCUMM: Fix bug #3052804 by reverting NES-specific screen width hack
svn-id: r52891
2010-09-25 20:50:13 +00:00
Travis Howell
6537cb6463 SCUMM: Remove unused code, which was replaced by ScummEngine_v0::runObject in revision 42737.
svn-id: r52798
2010-09-18 14:31:21 +00:00
Travis Howell
ae3b6f0aa3 SCUMM: Fix bug #3070077 - MMC64: No music when Syd plays the piano.
svn-id: r52796
2010-09-18 14:18:48 +00:00
Florian Kagerer
a48e19eaef SCUMM: minor cleanup
svn-id: r52792
2010-09-18 11:26:10 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Johannes Schickel
cc764cb8ec SOUND: Move CMS emulator to sound/softsynth.
svn-id: r52778
2010-09-17 20:02:03 +00:00
Thierry Crozat
057056b8d3 I18N: Add translation for load/save success or failure messages
Also improve and update the french translation.

svn-id: r52740
2010-09-15 23:25:46 +00:00
Johannes Schickel
70245181f1 SCUMM: Fix for bug #3064655 "Restart with F8 key not working properly".
svn-id: r52715
2010-09-13 23:35:55 +00:00
Eugene Sandulenko
3972091734 SCUMM: Patch #3059327
Patch #3059327: "Remove untrue "not yet implemented" from inventory controls"

svn-id: r52530
2010-09-04 18:03:35 +00:00
Eugene Sandulenko
3e4f6b4a24 SCUMM: Fix bug #3039004
Bug #3039004: "MANIACNES: Ed does not appear at doorway."
Actually whole thing is a gross hack on top of SCUMM v1.5 hack
with extra wide screen. It all calls for review and writing
specified methods.

svn-id: r52375
2010-08-25 07:41:54 +00:00
Eugene Sandulenko
c4299cc0c7 SCUMM: Fix bug #3032758: "SCUMM: Mute setting does not work"
svn-id: r52372
2010-08-25 07:40:52 +00:00
Eugene Sandulenko
503cfd304b SCUMM: Fix bug #3049323
Bug #3049323: "SCUMM: Detects games in wrong places".
I must admit: A seriously stupid bug.

svn-id: r52370
2010-08-25 07:40:13 +00:00
Eugene Sandulenko
540cff87dc SCUMM: Implement keyboard-driven inventory scrolling in v2
Bug #2828383: "ZAK V2: no inventory keyboard shortcuts".

svn-id: r52366
2010-08-25 07:27:17 +00:00
Travis Howell
4c215fc9a0 SCUMM: Fix bug #2702847 - PUTTZOO: Graphic glitches on dancing penguin.
svn-id: r52363
2010-08-25 06:02:18 +00:00
Eugene Sandulenko
066174ad75 SCUMM: Change palette for C64 games.
Based on bugreport #2847001: "SCUMM v0: Wrong palette colors". Old
palette is #ifdef'ed for reference.

svn-id: r52330
2010-08-24 12:24:23 +00:00
Max Horn
7a125f85fe SCUMM: cleanup
svn-id: r52295
2010-08-23 10:00:19 +00:00
Florian Kagerer
0348ca3e65 SCUMM: fix CD audio regression in Monkey Island 1 DOS/CD
svn-id: r52287
2010-08-22 20:37:48 +00:00
Florian Kagerer
f7314a1e56 SCUMM/TOWNS: fix minor bugs
svn-id: r52234
2010-08-20 17:37:06 +00:00
Florian Kagerer
b55a70acb8 KYRA/TOWNS: fix memory leak and some cleanup
svn-id: r52232
2010-08-20 17:04:32 +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
Eugene Sandulenko
554add0886 SCUMM: Fix warning. On WinCE HIBYTE and LOBYTE are already defined.
svn-id: r52151
2010-08-17 11:02:27 +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
Max Horn
5602b2cf81 SCUMM: Move setResult/getResultPos to script_v5.cpp
svn-id: r52129
2010-08-16 19:57:35 +00:00
Alejandro Marzini
b0409d6739 Merge trunk, from r51777 to r52105
svn-id: r52108
2010-08-16 00:21:07 +00:00
Torbjörn Andersson
6ff151b9ef SCUMM: Fix bug #3024173 - LOOM-PCE: Music stops prematurely
Apparently, the original interpreter hard-coded the lengths of the
audio tracks on the CD, and in this particular case it makes a
difference that one of the tracks is slightly longer on the disc
than the scripts assume it is. Thanks to hennymcc for doing all the
hard work in figuring this out.

svn-id: r52098
2010-08-15 11:37:57 +00:00
Florian Kagerer
4a159bcb1e GUI: add music devices for c64, amiga and apple II gs
These devices are not able to create appropriate drivers.
The only purpose for now is having proper gui options and flags and music types for the device detector.
The corresponding GUIO flags for the new devices have been added, too.

svn-id: r51995
2010-08-11 18:54:56 +00:00
Torbjörn Andersson
d781c4bbaa SCUMM: Re-enabled PCjr music for some more games
At this point, there's little point in doing them one game at a time.
Re-enable PCjr music for old Monkey Island, and for the Passport to
Adventure demo. Again, I don't have all the relevant versions to test
myself, so keep an eye out for regressions.

At this point, only the Apple II and C64 versions of Maniac Mansion
have the MDT_PCSPK flag, but not the MDT_PCJR flag. I don't know a
thing about these versions, so I'm leaving them well enough alone.

svn-id: r51990
2010-08-11 15:52:49 +00:00
Torbjörn Andersson
5c8e23f772 SCUMM: Re-enable PCjr music for EGA Loom.
svn-id: r51989
2010-08-11 15:41:32 +00:00
Torbjörn Andersson
416b568744 SCUMM: Re-enable PCjr music for Indy 3
Apart from adding the necessary detector flags, in cases where we used
to only check for PC Speaker we now also need to check for PCjr. Note
that I have only tested this with the VGA version. And even with that
one, I've only given it the briefest of tests.

svn-id: r51988
2010-08-11 15:36:29 +00:00
Torbjörn Andersson
10b6a395cf SCUMM: Add missing case in sound initialisation
If the mixer isn't ready, we probably have to check for PCjr as well,
so add that case.

svn-id: r51987
2010-08-11 15:16:55 +00:00
Torbjörn Andersson
1302ccb464 SCUMM: Add missing "break" in music setup
This once again makes it possible to select PC Speaker music in Indy 3.

svn-id: r51986
2010-08-11 15:09:07 +00:00
Florian Kagerer
2b77ffcc17 SCUMM: possible fix for bug # 3041539
enable PCJR sound for Maniac Mansion v1 and v1 and Zak McKracken v1 and v2.

svn-id: r51983
2010-08-11 14:32:33 +00:00
Max Horn
b8ee574e40 SCUMM: _resultVarNumber and related methods are specific to v0-v5
svn-id: r51974
2010-08-11 12:49:16 +00:00
Alejandro Marzini
33e40e1a20 Merged from trunk, from r51495 to r51775
svn-id: r51776
2010-08-06 03:21:21 +00:00
Eugene Sandulenko
02cca98ed6 SCUMM: Add posibility to disable NES APU which is CPU demanding
svn-id: r51679
2010-08-03 11:25:20 +00:00
Johannes Schickel
4e33b7a3be GRAPHICS: Renamed skipThumbnailHeader to skipThumbnail.
svn-id: r51668
2010-08-02 22:28:30 +00:00
Alejandro Marzini
fb4086cadb Merged from trunk, from Rev 50841 to HEAD
svn-id: r51495
2010-07-30 05:28:09 +00:00
Eugene Sandulenko
11a17b3908 SCUMM: Fix subtitles for Russian The Dig
It is a long standing bug which was revealed by r31784. With that commit
Kirben switched DIG code to newer one. Russian version used 0x03 as
placeholders for keeping string widths. Original did not copy those
characters but we did hence the bug. Based on study of original.

Restrict it to Dig-only in order to avoid regressions.

svn-id: r51211
2010-07-23 16:38:06 +00:00
Max Horn
1d4c82885d DEBUGGER: Simplify how our console debugger works / is used
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
  something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
  can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
  document it.
* Add more doxygen comments
* Cleanup

svn-id: r50963
2010-07-17 18:38:42 +00:00
Torbjörn Andersson
b91ef12897 Fixed typo in comment.
svn-id: r50889
2010-07-14 16:57:16 +00:00
Torbjörn Andersson
25077baf6a Moved setTileData() into GdiPCEngine since that's the only class that uses it.
svn-id: r50888
2010-07-14 16:55:32 +00:00
Alejandro Marzini
609e08d5db Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
2010-07-13 04:31:15 +00:00
Johannes Schickel
0c3cbcbfc5 Prevent SCUMM from adding gui options based on user flags into the config file (regression from r50706).
svn-id: r50710
2010-07-05 21:18:25 +00:00
Johannes Schickel
1443a2721c Fix update of GUI options, which only differ in the language setting.
svn-id: r50706
2010-07-05 20:10:56 +00:00
Eugene Sandulenko
25ca058fa8 Add support for Chinese The DIG.
svn-id: r50375
2010-06-27 13:06:22 +00:00
Travis Howell
be399485cd Add Nintendo Wii (PAL) versions of Freddi Fish: Kelp Seed Mystery.
svn-id: r50367
2010-06-27 05:30:18 +00:00
Florian Kagerer
c35e350531 AUDIO: get rid of MDT_PREFER_MIDI since it should be sufficient to either select MDT_PREFER_MT32 or MDT_PREFER_GM
svn-id: r50288
2010-06-25 20:51:57 +00:00
Max Horn
7d4d58bab4 SCUMM: Set some more detection file sizes
svn-id: r50270
2010-06-25 16:08:34 +00:00
Max Horn
5b24d39cdd SCUMM: Specify various file sizes of detection files
svn-id: r50151
2010-06-22 16:10:16 +00:00
Max Horn
33347e12bd SCUMM: Add a debug message to detectGames() to help find filesizes of detection files
svn-id: r50150
2010-06-22 16:09:50 +00:00
Max Horn
90a1d7c609 SCUMM: Add Japanese FOA CD version from tracker #3017219
svn-id: r50149
2010-06-22 16:09:27 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Max Horn
444a6b5976 Workaround bug #3003643 (MI1EGA German: Credit text incorrect)
svn-id: r49895
2010-06-15 23:12:34 +00:00
Max Horn
604f855889 SCUMM: Fix composeFileHashMap
svn-id: r49850
2010-06-15 12:36:04 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Eugene Sandulenko
b6940caaaa SCUMM: Added directory globs for in-depth search.
The code was compied from AdvancedDetector. Currently it is
set up to detect Mac indy3/loom which contains it data in
Rooms 1, Roooms 2 and Rooms 3 directories.

svn-id: r49798
2010-06-15 11:04:35 +00:00
Eugene Sandulenko
01bc5dda94 GUI: Implemented Languages as GUI options.
SCUMM and AdvancedDetector support this feature.

svn-id: r49786
2010-06-15 10:57:28 +00:00
Eugene Sandulenko
67bc711580 GUI: Implement MIDI drivers as GUI options.
Proper version of patch #2988641: "GSoC: Select drivers in GUI
based on output types". So far only SCUMM engine supports this
feature.

svn-id: r49783
2010-06-15 10:56:12 +00:00
Eugene Sandulenko
01f9006ee7 GUI: Implement tooltips. FR #2821513.
FR #2821513: "GUI: add tooltips".
Added tooltips for Add Game button, clear field buttons and couple
other.

Current problem: Only first call correctly restores text. I could
not find where restore information gets lost.

svn-id: r49774
2010-06-15 10:52:35 +00:00
Eugene Sandulenko
3fafa07ab0 GUI: Added in-place hotkeys for widgets.
Now it is possible to specify hotkeys in place for ButtonWidget
and CheckboxWidget (the only widgets with hotkeys now).

Use de-facto standard with putting hotkey between tildes (~).
Like '~O~pen'. The tildes gets stripped before after hotkey
is extracted.

This is done for giving translators possibility to specify
their own hotkeys.

Old hotkeys defined at widget instance creation are left for
leaving possibility to specify non-printable hotkeys such as
Common::ASCII_ESCAPE.

Translation files were updated respectively.

svn-id: r49766
2010-06-15 10:47:31 +00:00
Eugene Sandulenko
ba72975d3f SCUMM: Fix bug #1328120:
Bug #1328120: "MANIACNES: Screen width incorrect, camera halts sometimes".
Fixed by workaround and was tested with intro and on the kitchen,
where now it is possible to see Edna without her noticing you
first.

svn-id: r49764
2010-06-15 10:46:23 +00:00
Eugene Sandulenko
48d0d3008b SCUMM: Fix bug #1879604.
Bug 1879604: "MANIACNES: Music not played when loading game".
Actually previous attempt to fix this bug was not successful
since first entry of script 5 does not have needed functionality.
Now we resume music manually.

svn-id: r49763
2010-06-15 10:46:04 +00:00
Alejandro Marzini
e1ef3cd9fc Renamed getAudioCD to getAudioCDManager.
svn-id: r49678
2010-06-15 04:13:12 +00:00
Eugene Sandulenko
ca161920a4 SCUMM: Fix bug #1438631.
Bug #1438631: "SCUMM: Detecting mac version of indy3/loom broken"
fixed by implementing recursive directory lookup similar to what
was done for AdvancedDetector, since SCUMM engine does not use it.

svn-id: r49656
2010-06-14 14:51:46 +00:00