Commit graph

202 commits

Author SHA1 Message Date
Max Horn
dc2da7a804 Moved the hack that distinguishes MM V1 demo from the full version to a more appropriate location (so that the game gets correctly detected)
svn-id: r22718
2006-05-28 12:28:28 +00:00
Travis Howell
21f50b3267 Use different method to detect V1 demo of Maniac Mansion, since md5 matches the full version
svn-id: r22695
2006-05-28 03:47:20 +00:00
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Eugene Sandulenko
9e3b78e1e9 --force-1x-overlay is no more. Remove leftovers.
svn-id: r22519
2006-05-18 13:59:20 +00:00
Eugene Sandulenko
14ec3f45fa - Heavily modified patch #1214784: "Disable overlay scaling"
- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
2006-05-17 23:52:45 +00:00
Torbjörn Andersson
44ac23a81d Setting VAR_CHARINC = _defaultTalkDelay cannot possibly be right. It's not the
same thing as setting VAR(VAR_CHARINC) = _defaultTalkDelay.

svn-id: r22466
2006-05-14 09:22:49 +00:00
Travis Howell
ada0160e88 Check if VAR_CHARINC exists, before setting value in updateSoundSettings()
svn-id: r22462
2006-05-14 06:00:40 +00:00
Max Horn
0d6362ea48 Patch #1091170: ALL, SCUMM: Subtitle speed control
svn-id: r22456
2006-05-13 17:30:04 +00:00
Travis Howell
d6d3a621dc Init. videoParams vars for HE90+
svn-id: r22386
2006-05-08 11:04:51 +00:00
Travis Howell
3830ac06b3 Add initial DXA support for HE games
svn-id: r22384
2006-05-08 10:21:17 +00:00
Max Horn
39e887d6aa Invoke updateSoundSettings a bit later, since it can only correctly set VAR_VOICE_MODE *after* setupScummVars() has been called
svn-id: r22247
2006-04-30 20:35:43 +00:00
Max Horn
eaca27a33b Renamed updateVolumes to updateSoundSettings -- now it also handles subtitles/speech_mute settings. Also changed the ConfigDialog accordingly
svn-id: r22233
2006-04-29 23:09:40 +00:00
Max Horn
aeef84c961 Moved AKOS stuff to class ScummEngine_v6
svn-id: r22229
2006-04-29 16:51:29 +00:00
Max Horn
fcd178fca4 Added comment about a major leak in ScummEngine::restart
svn-id: r22228
2006-04-29 16:30:46 +00:00
Max Horn
c4df5037dc * Renamed several methods in favor of a somewhat more uniform naming scheme: setupFOO for stuff that inits static data (i.e. will be called only once, or after loading savegames), vs. resetFOO / updateFOO methods which are called frequently and (re)set dynamic data.
* Doing this, split scummInit into setupScumm and resetScumm methods
* Moved some init code to new methods (huuuuge init methods are hard to read, and hard to customize using subclassing)
* Renmaed various setup???Palette methods to set???Palette
* Some minor cleanup / tweaks

svn-id: r22227
2006-04-29 16:24:39 +00:00
Max Horn
39e9853d91 * Added ScummEngine_v8::initScummVars()
* Moved VAR_LANGUAGE to class ScummEngine_v8
* Minor cleanup

svn-id: r22223
2006-04-29 13:56:36 +00:00
Max Horn
1735b0421b Make use of the new scummLoop_* functions to move some SCUMM version specific stuff around
svn-id: r22219
2006-04-29 13:01:35 +00:00
Max Horn
cc3fac2ead Split scummLoop into multiple functions, for easier maintanance & customizability
svn-id: r22218
2006-04-29 12:44:06 +00:00
Travis Howell
5c2dd8da24 Fix compile of SCUMM engine
svn-id: r22191
2006-04-27 04:59:13 +00:00
Max Horn
092fd96145 Replaced _hFileTable by _hInFileTable/_hOutFileTable
svn-id: r22182
2006-04-26 14:05:09 +00:00
Max Horn
b2befd7951 Moved _heTimers to ScummEngine_v60he
svn-id: r22116
2006-04-23 19:41:54 +00:00
Max Horn
d68f95b3be Move HE specific stuff from class Sound to its new subclass SoundHE
svn-id: r22115
2006-04-23 18:52:39 +00:00
Max Horn
78dfa1f280 Moved ScummEngine_v5 from cursor.cpp to scumm.cpp (seems to be more natural, even though it inits some cursor related stuff)
svn-id: r22114
2006-04-23 17:58:52 +00:00
Max Horn
0d67640a58 Behold, the new SCUMM detector finally has arrived. Unified detection & engine instantiation, reduced code duplication, more powerful detection in case MD5 is not known / can't be computed, and many other nifty improvements.
svn-id: r22110
2006-04-23 17:33:16 +00:00
Max Horn
660efce9b2 Replaced _demoMode by GF_DEMO
svn-id: r22087
2006-04-23 00:08:18 +00:00
Torbjörn Andersson
d137204772 Call updateScreen() from waitForTimer() (instead of usually right before it)
for smoother mouse cursor movement.

svn-id: r21993
2006-04-17 23:45:48 +00:00
Max Horn
74edd90aba Fix for bug #1471383: Instead of overloading ConfigManager::set, we now have new setInt and setBool methods (matching getInt/getBool), which avoids strange quirks & bugs caused by (char *) being implicitly cast to int (ouch)
svn-id: r21951
2006-04-16 19:23:14 +00:00
Max Horn
ec17b6505e Removed unused #include
svn-id: r21918
2006-04-15 21:20:32 +00:00
Max Horn
68cb7f52c8 - Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places

svn-id: r21916
2006-04-15 20:36:41 +00:00
Max Horn
9c4577b639 - Get rid of GameDetector::_dumpScripts and GameDetector::_force1xOverlay in favor of settings in the transient config domain
- This also means you can now set those options in the config file
- Fixed a bug I recently introduced that made bool command line options (like -u, -f) always return 'false' when used in their single letter form

svn-id: r21909
2006-04-15 13:50:44 +00:00
Max Horn
cf202049ff Fixing mismatch between format strings and data on some systems
svn-id: r21827
2006-04-12 14:54:12 +00:00
Jonathan Gray
eb3ae7d726 sizeof(void *) != sizeof(int) for a large number of systems.
Fix a lot of debug/error statements that were using %d/%x
for the result of pointer arithmetic.

As C++ apparently has no format string for ptrdiff_t use
%lu/%lx as appropriate.

svn-id: r21824
2006-04-12 10:01:41 +00:00
Max Horn
85c9dc7de8 Properly translate Common::Language values for COMI
svn-id: r21704
2006-04-08 23:43:18 +00:00
Max Horn
9c77c2ecd1 Renamed various *GameSettings to GameSettings (our namespaces are enough to distinguish them)
svn-id: r21684
2006-04-08 08:23:33 +00:00
Travis Howell
0e9b4ab17c GF_HE_CURSORLESS feature flag not required, since HE games always set a default cursor too.
svn-id: r21576
2006-04-03 11:35:02 +00:00
Max Horn
ee62cd3c51 Generate an error when kGenAsIs is used with an unsupported platform, instead of silently continuing with a bogus _fileHandle (leading to odd crashes)
svn-id: r21528
2006-04-01 18:13:06 +00:00
Travis Howell
6b56af989f The Hercules specific screen size check is no longer required
svn-id: r21390
2006-03-20 02:04:14 +00:00
Max Horn
03734aa876 Moved filename substitution code from scumm.cpp to plugin.cpp
svn-id: r21386
2006-03-19 17:25:13 +00:00
Travis Howell
79bd731041 Add workaround for script bug in Loom (CD)
svn-id: r21371
2006-03-19 02:50:51 +00:00
Travis Howell
87d74563dd Add another German version of puttzoo demo
svn-id: r21341
2006-03-17 00:30:58 +00:00
Max Horn
0cc41c7cbb Renamed & documented the LIGHTMODE flags
svn-id: r21288
2006-03-14 14:06:44 +00:00
Max Horn
ee087df293 Enhance the new getCurrentLights to work for V6+ games, too, making it possible to remove several special cases throughout the code
svn-id: r21286
2006-03-14 13:36:13 +00:00
Travis Howell
be7a28f65e Avoid all scumm var conflicts in C64 maniac
svn-id: r21277
2006-03-14 12:06:37 +00:00
Jamieson Christian
4d5a3e4c45 IMuse SysEx processing now handled by client-specified callbacks. This removes all game-specific references from the Player class. Bloodshed Dev-C++ project file updated.
svn-id: r21241
2006-03-12 18:06:22 +00:00
Travis Howell
fd389260f8 Adjust basename array setting in HE99+ games, for filename substitution
svn-id: r21229
2006-03-12 10:44:42 +00:00
Eugene Sandulenko
3521d35085 Add Russian puttrace and pajama3
svn-id: r21209
2006-03-10 19:35:35 +00:00
Max Horn
d9a9fac937 Fixed tons of format string warnings for debug/error calls (including several errors where the format string didn't match the number of arguments to the call)
svn-id: r21141
2006-03-08 11:37:25 +00:00
Jamieson Christian
5e25b3b679 Restructured IMuse and IMuseInternal.
* IMuse is no longer a concurrency front-end.
* IMuseInternal now derives from IMuse.
* Common::StackLock used to protect thread-sensitive interface methods (same as IMuseDigital).
* clear_queue() included in stopAllSounds() so it can be removed from the public interface.
* Game ID now specified at init using property().
* Timer callbacks receive a struct containing IMuseInternal and MidiDriver refs, instead of just the latter.
* OSystem pointer from init is now cached and used instead of global.

All references to the g_system and g_scumm globals are now gone. BOOYAH!

Tested with MI2, DOTT and S&M, under Windows, in Native MIDI, Adlib, and Mixed modes. No regressions or concurrency issues observed. Manifestations of the latter are the biggest concern at this point.

svn-id: r21104
2006-03-05 21:30:44 +00:00
Torbjörn Andersson
0651236066 Make sure there actually is a SMUSH mixer before stopping and deleting it.
svn-id: r21099
2006-03-05 13:57:05 +00:00
Paweł Kołodziejski
38b82fb585 that should help for bug #1352486, smush sound tracks are not stopped immediately, but outside smush when sound data are depleted in sound mixer buffer.
svn-id: r21094
2006-03-05 12:15:39 +00:00