Commit Graph

278 Commits

Author SHA1 Message Date
Adrian Frühwirth
47eda4bcf7 TUCKER: Fix clipping handling when drawing text
Fixes Trac#10422.
2018-02-07 19:48:11 +01:00
Adrian Frühwirth
7e0cac25de TUCKER: Add inventory and save slot scrolling via mouse wheel
Fixes Trac#10424.
2018-02-03 22:08:33 +01:00
Adrian Frühwirth
049eff4d99 TUCKER: Fix default character width table
Non-English versions of the game include a charsize.dta/charszgr.dta
which specifies the width to use when printing glyphs from the character
set to the screen. ScummVM includes a hard-coded lookup table for games
which do not ship with such a file.
For some reason, our current hard-coded table includes widths for all
possible glyphs except one. This fix allows to properly play the German
version, which needs the character 'ß' (eszett), even when charszgr.dta
is missing.

Fixes Trac#4602.
2018-02-03 15:19:10 +01:00
Adrian Frühwirth
90ce265ab8 TUCKER: Print infobar string if no savegame exists
Before, the ingame load dialog pretended to allow loading savegames from
all possible slots even if no savegames existed.
This introduces the original interpreter's behavior which instead loads
a resource string from infobar.txt informing the user that no savegames
are available.
2018-01-31 19:23:56 +01:00
Adrian Frühwirth
ce790bff1c TUCKER: Fix sentence bar offsets
Fixes Trac#10413 and Trac#10414.
2018-01-31 19:22:56 +01:00
Adrian Frühwirth
1133b34954 TUCKER: Fix dirty rects drawing bug in drawStringInteger() 2018-01-31 19:20:31 +01:00
Adrian Frühwirth
89cbf91d63 TUCKER: Use existing enum for verbs 2018-01-31 19:18:07 +01:00
Adrian Frühwirth
9c910b9000 TUCKER: Fix dentist music in mall being played incorrectly 2018-01-31 19:17:35 +01:00
Adrian Frühwirth
4daf3e4ea5 TUCKER: Fix bubbles in Plugs shop
Fixes Trac#6641.
2018-01-31 19:06:57 +01:00
Adrian Frühwirth
3c37c42bd0 TUCKER: Cure Bud's and Billy's seasickness
This ensures that the calculated offsets for Bud and Billy are [0,2] px
and follow the sequence 0px -> 1px -> 2px -> 1px -> 0px as opposed to
the earlier 0px -> 1px -> 2px -> 3px -> 0px which resulted in them
teleporting back to their original location and on top of that being
out of sync with the boat.

Fixes Trac#6643.
2018-01-31 19:02:29 +01:00
Adrian Frühwirth
ff8e4a4410 TUCKER: Fix walking Royston glitch
Fixes Trac#6640.
2018-01-31 19:00:47 +01:00
Eugene Sandulenko
cb5436dd16 TUCKER: Clarify comment in room palette handling code 2018-01-31 18:37:24 +01:00
Adrian Frühwirth
7485fc3f75 TUCKER: Fix color cycling in submarine room
Fixes Trac#6378.
2018-01-31 18:36:03 +01:00
Adrian Frühwirth
321a563a31 TUCKER: Fix font rendering bug
Fixes Trac#6370.
2018-01-31 18:05:27 +01:00
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Eugene Sandulenko
33abb6118f ALL: Change main engine header guard defines to <directory>_<engine>_H
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
2016-05-17 18:21:30 +02:00
Ori Avtalion
f35bdb680d TUCKER: Don't try parsing missing debug values in demo
Fixes the demo thinking it's in debug mode and allowing ESC to quit.
2016-03-12 21:29:10 +02:00
Johannes Schickel
0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Johannes Schickel
0aea4b59df TUCKER: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Ori Avtalion
009f753187 TUCKER: Hide cursor in cutscenes 2016-02-24 00:13:53 +02:00
Ori Avtalion
4b83ce3800 TUCKER: Allow skipping and quitting from cutscene loops 2016-02-22 00:47:05 +02:00
Ori Avtalion
1acbfe8889 TUCKER: Remove errant loop increment (confirmed by cyx) 2016-02-22 00:44:19 +02:00
Torbjörn Andersson
d6aa2494e0 TUCKER: Add missing music to the intro
I'm told not every version of the game plays this. Mine does though,
and I see no harm in adding it for all versions. The code is robust
enough to work even if the "introdub.raw" file is missing completely.
2015-09-27 11:56:46 +02:00
Torbjörn Andersson
c8b8a2c9ee TUCKER: Fix overflow in volume calculation
This affected Bud's line, "Is that the great mystery invention you
had hidden away?" in the intro, making it very hard to hear, and
possibly other sounds as well. I don't know if this was a bug in
the original game, but it's much closer to the English version I
own now.
2015-09-27 11:53:23 +02:00
Strangerke
de4060d4a1 TUCKER: Skip the display of the intro and of the chapter number when a game is loaded from launcher 2014-05-25 14:05:14 +02:00
Strangerke
006690789a TUCKER: Add a check to error out when the index isn't found for a given location number 2014-05-24 13:53:42 +02:00
Strangerke
2dc70a9e8b TUCKER: Add a couple of safeguards to avoid out of bound access during the display of credits 2014-05-24 12:55:25 +02:00
Strangerke
e53743ddf9 TUCKER: Add a safeguard to avoid a potential out of bound access 2014-05-24 10:51:58 +02:00
Strangerke
e57a54d1c1 TUCKER: Change the type of the return value of handleSpecialObjectSelectionSequence() 2014-03-21 08:11:07 +01:00
Strangerke
3464bc2051 TUCKER: Fix some uninitialized variables 2014-03-20 07:00:13 +01:00
Strangerke
7363009cd5 TUCKER: Initialize some more pointers with nullptr instead of 0 2014-03-15 13:36:35 +01:00
Strangerke
f30246187e TUCKER: Use boolean instead of integer in several places 2014-03-15 12:34:08 +01:00
Strangerke
661f041472 TUCKER: Initialize some pointers with nullptr instead of 0 2014-03-15 12:02:44 +01:00
Strangerke
0e48803b42 TUCKER: Add a safeguard in updateCharPosition() to avoid a potential out-of-bounds read, change the type of a variable to boolean 2014-03-15 11:42:57 +01:00
Strangerke
3c76acf445 TUCKER: Some renaming in Graphics 2014-03-09 15:13:56 +01:00
Strangerke
369b2c18be TUCKER: Some more refactoring 2014-03-09 11:30:27 +01:00
Strangerke
e4cbc67493 TUCKER: Some more refactoring 2014-03-09 00:35:06 +01:00
Strangerke
113a4ac71a TUCKER: Fix some values assigned to _csDataLoaded 2014-03-09 00:15:27 +01:00
Strangerke
28ade2239a TUCKER: make _panelLockedFlag a boolean instead of an integer 2014-03-09 00:12:34 +01:00
Strangerke
47f9a2dd10 TUCKER: Fix some values assigned to _skipCurrentCharacterDraw 2014-03-09 00:03:21 +01:00
Strangerke
0b9ba6ad29 TUCKER: Some more renaming 2014-03-09 00:00:27 +01:00
Strangerke
0c247b26b4 TUCKER: Some more renaming 2014-03-08 18:36:54 +01:00
Strangerke
81815f0b8a TUCKER: Change the type of some variables to boolean 2014-03-08 18:07:24 +01:00
Strangerke
65b819305d TUCKER: Initialize some uninitialized variables 2014-03-08 17:49:53 +01:00
Strangerke
88aa12387f TUCKER: Avoid a potential string overrun by using strlcpy instead of strcpy 2014-03-07 19:33:31 +01:00
Strangerke
9ce5f1c90c TUCKER: Use a boolean for drawFlag instead of an integer 2014-03-07 19:21:13 +01:00
Strangerke
d0b9a52f64 TUCKER: Some more renaming 2014-03-07 19:21:11 +01:00
Strangerke
fbc63ebd68 TUCKER: Use boolean in place of integer for some members of the Sprite structure 2014-03-07 17:50:36 +01:00
Strangerke
854635c5c1 TUCKER: Start renaming struct members to follow coding/naming conventions 2014-03-07 17:34:48 +01:00
Strangerke
cf33c60282 TUCKER: Remove some useless modification of sprite state 2014-03-07 14:35:56 +01:00
Strangerke
705b48025b TUCKER: Reduce the scope of some variables 2014-03-07 14:33:43 +01:00
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel
9e90dcd346 TUCKER: Make GPL headers consistent in themselves. 2014-02-18 02:39:39 +01:00
dergunov
3a5554f7ba TUCKER: Fix bug #6381 - "TUCKER: In 3rd part, "Use Peg" fails..."
"Use Peg" is a single-item action and these are hardcoded in the
engine. The default otherwise is dual-item action "Use X on Y".
2014-02-10 14:48:50 +00: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
Johannes Schickel
4318410731 TUCKER: Take advantage of Surface::getPixels. 2013-08-03 04:02:53 +02:00
Johannes Schickel
d26817a6b8 TUCKER: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:34 +02:00
D G Turner
7381fcdf30 TUCKER: Amend fix for bug #3614697 - "Spanish version uncompletable..."
The mof instruction needs to return 0 or 1 to continue execution, rather
than 2 which indicates to end table instruction execution. Using 0 as
this is most likely correct value.
2013-07-16 20:30:30 +01:00
D G Turner
485118ecd9 TUCKER: Add support for skipping unhandled/invalid instructions.
This ensures that if any unhandled/invalid instructions are present,
they are skipped, rather than locking up engine execution.

This is a secondary fix for bug #3614697 - "Spanish version
uncompletable at end of 2nd part" and any other future bugs of this
type.
2013-07-14 05:07:11 +01:00
D G Turner
1946dead77 TUCKER: Fix for bug #3614697 - "Spanish version uncompletable..."
This add support for the unhandled "mof" instruction present in the
Spanish version. This effectively skips it as a NOP/invalid, which
prevents it locking up the game at the end of the 2nd part.
2013-07-14 05:04:02 +01:00
Willem Jan Palenstijn
52541fc257 TUCKER: Fix palette fades
This is a regression from 362b0cd5e4
and fixes bug #3614686.
2013-07-12 21:17:40 +02: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
Max Horn
cdfd5f85c8 ENGINES: Silence clang warning about unused private member _vm
This affects the Console / debugger classes of multiple engines.
An alternative solution would have been to remove the unused _vm
member vars. However, it seems likely that in the future, the _vm
member could be useful for methods added to the console. So instead,
we add a simple assert(_vm) to silence the clang warning.
2013-04-18 23:50:19 +02:00
Filippos Karapetis
617545cb5f TUCKER: Switch to the common PCX decoder 2012-09-13 01:50:45 +03:00
Matthew Hoops
5db42076b8 VIDEO: Convert FlicDecoder to the new AdvancedVideoDecoder API
The video no longer automatically loops (unused in-tree) and must have rewind() called manually
2012-08-12 08:43:32 -04:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Gregory Montoir
65608952c2 TUCKER: remove duplicated logic branches in locations 48 and 66 (checked against the original) 2011-12-02 21:13:16 +01:00
Strangerke
bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
Filippos Karapetis
86387f1d70 TUCKER: Added FIXMEs for seemingly superfluous logic branches 2011-11-03 22:53:32 +02:00
Eugene Sandulenko
32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
Johannes Schickel
fdfbf4133e TUCKER: Made some static data const. 2011-09-08 19:53:35 +02:00
Max Horn
879c3c7817 DETECTOR: Pass allFiles to AdvancedMetaEngine::fallbackDetect()
Also reorder the parameters of composeFileHashMap, placing the "return value"
first.
2011-06-14 18:52:11 +02:00
Max Horn
7c992d6598 DETECTOR: Merge ADParams into AdvancedMetaEngine 2011-06-14 18:17:01 +02:00
Max Horn
59d56b6687 TUCKER: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:46 +02:00
Max Horn
4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00
D G Turner
5015d12142 TUCKER: Replace snprintf() usage with Common::String::format()
Safer and less portability issues.
2011-06-02 18:02:12 +01:00
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
Max Horn
f04d6c6ee5 TUCKER: Give name to RandomSource, to register it with event recorder 2011-05-17 12:17:27 +02:00
Thierry Crozat
3c59e37035 ENGINES: Unify engine names
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Gregory Montoir
3d0f255912 TUCKER: add missing code for kSupportsLoadingDuringStartup 2011-03-20 18:31:18 +01:00
dhewg
6650e69a30 TUCKER: Get rid of syncSoundSettings()
And respect global mute settings
2011-03-19 16:49:17 +01:00
Johannes Schickel
e21d6e0d11 Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Conflicts:
	backends/platform/android/android.cpp
	engines/sci/graphics/screen.cpp
	engines/sci/graphics/transitions.cpp
2011-02-19 21:46:45 +01:00
Gregory Montoir
855b676cd4 TUCKER: cleanup, removed unused variables 2011-02-19 15:52:03 +01:00
Gregory Montoir
c53abb0aba TUCKER: fix truncated action string in english version 2011-02-19 15:37:24 +01:00
Gregory Montoir
0962f332cb TUCKER: fix #2872348 - walk bug by switching places in museum
Looks like an original game glitch, prevent hard-coded sequence
execution on location switch (after using map).
2011-02-19 12:29:03 +01:00
Gregory Montoir
81a3538706 TUCKER: fix #3106714 - Wrong animation after TV off
Some negative values are prefixed by 2 minus signs, skip one
before passing the string to strtol.
2011-02-18 22:28:26 +01:00
Gregory Montoir
34f428ea91 TUCKER: cleanup 2011-02-18 15:20:31 +01:00
Gregory Montoir
0bffd77dfe TUCKER: fix #3106766 - Bubbles in Plugs Shop too heavy 2011-02-18 15:20:31 +01:00
Gregory Montoir
e552b5a8c3 TUCKER: fix #3106542 - Ego drawn behind background
Looks like an original game glitch, the location 14
background bitmap contains some pixels in range
[0xE0-0xF8] which is usually reserved ; add workaround.
2011-02-18 15:18:44 +01:00
Gregory Montoir
3557ff5747 TUCKER: fix #3106536 - Punk stuck (moving in background) 2011-02-18 15:18:44 +01:00
Gregory Montoir
a0d74d0459 TUCKER: fix #3106520 - Prison water drop leaves a line 2011-02-18 15:18:44 +01:00
Gregory Montoir
d9140ab626 TUCKER: fix #2628056 - Text Dialogue is out of sync
always synchronize text with speech sound. Note, some
subtitles present in the datafiles are inconsistent
(written text different from spoken).
2011-02-18 15:18:44 +01:00
Gregory Montoir
da77a057d1 TUCKER: fix #2627967 - Slow Walking
The waitForTimer calls in fade*Palette are actually
duplicated ; mainLoop already handles timing.
2011-02-18 15:18:44 +01:00
Johannes Schickel
362b0cd5e4 TUCKER: Adapt to setPalette RGBA->RGB change.
This change has not been tested, since I do not own copy of Tucker.
2011-02-14 17:08:33 +01:00