Commit Graph
137148 Commits
Author SHA1 Message Date
Paul Gilbert 51275ea7a9 TITANIC: DE: Fix default code wheel letters 2017-10-07 22:06:00 -04:00
Paul Gilbert bca0a3f2da TITANIC: DE: Fixes for bomb code wheels 2017-10-07 21:56:52 -04:00
Paul Gilbert 76e5a0246c TITANIC: DE: Fix Barbot response handling 2017-10-07 16:38:12 -04:00
Colin Snover 20bd289ebe BACKENDS: Remove references to old normal1xScaler transaction property from ports 2017-10-07 15:25:47 -05:00
Martin Kiewitz 60c2c2867c SCI: Change index inside workaround tables to an index range
So that one can specify an entire range of temp variables
by using just one single entry.
2017-10-07 22:11:25 +02:00
Colin Snover 7d037495be SCI: Use explicit indexes in castlebrain/islandbrain word search workarounds 2017-10-07 14:50:21 -05:00
Colin Snover 1b669d2489 SCI: Add workaround for uninitialized reads in Island of Dr Brain
Leaning on the enter key during a word search puzzle will trigger
this bug, just like in Castle of Dr Brain.
2017-10-07 14:46:01 -05:00
Colin Snover 64191781b5 SCUMM: Fix compilation on systems without USE_RGB_COLOR 2017-10-07 13:09:07 -05:00
Colin Snover 914bb1bd2d COMMON: Undefine ABS if it is a macro
Fixes iOS7 compilation when common/util.h is included after
NSObjCRuntime.h, as happens in ios7_video.mm.
2017-10-07 13:04:05 -05:00
Thierry Crozat a475295ccc I18N: Update translations templates 2017-10-07 19:31:43 +02:00
Colin Snover 04f357e6ff BACKENDS: Make initSizeHint an optional extension point
There is no particular reason why backends that don't need to
calculate screen dimensions in advance should still need to
implement initSizeHint at this point.
2017-10-07 12:30:29 -05:00
Colin Snover 6e157429b7 BACKENDS: Fix window sizing of games that switch between multiple resolutions 2017-10-07 12:30:29 -05:00
Colin Snover 24f5d45619 ENGINES: Remove Graphics::PixelFormat alias from engine.cpp
Almost the entire file does not use the aliased PixelFormat except
for a single function, so just make that function work like
everything else already in the TU.
2017-10-07 12:30:29 -05:00
Colin Snover 9a82bc6d96 SDL: Deduplicate scaling factors 2017-10-07 12:30:29 -05: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
Colin Snover ebe6c40a6a SDL: Do not reset window size when engines update rendering surface
This change allows:

* Engines to update their target rendering surface/size and pixel
  format with the backend multiple times during gameplay;
* Users to resize the ScummVM window without having it reset
  size/position every time an engine updates its target surface
  format;
* Conversions/scaling to continue to run efficiently in hardware,
  instead of requiring engines to pick their maximum possible
  output format once and upscale inefficiently in software;
* The window to reset size once when an engine calls to set its
  initial output size, and to reset again once ScummVM returns to
  the launcher.

This is relevant for at least SCI32 and DreamWeb engines, which
perform graphics mode switches during games.
2017-10-07 12:30:29 -05:00
Martin Kiewitz 83436e685f SCI: Improve Larry 1 Spanish script patch
So that it also works even when the patch files are missing.
2017-10-07 19:06:16 +02:00
Martin Kiewitz eb1f9030a7 SCI: Add script patch for Larry 1 Spanish bug #10240
Fixes buying an apple from man wearing a barrel, who walks
around in front of the casino.
2017-10-07 18:56:29 +02:00
Paul Gilbert 476b4a6ac3 DEVTOOLS: Fix UTF8 character in create_titanic 2017-10-07 07:24:27 -04:00
Martin Kiewitz 54cac32003 Revert "SCI: Add workaround for uninitialized reads in Island of Dr Brain"
This reverts commit ae8e4fa8e9.

This change is wrong in any case. It should be specific to temp
14+15 at the very least. I also did not get an answer on what
is actually happening internally. That's not how we should
add workarounds. My review was also still pending.
2017-10-07 11:25:12 +02:00
Colin Snover ae8e4fa8e9 SCI: Add workaround for uninitialized reads in Island of Dr Brain
Leaning on the enter key during a word search puzzle will trigger
this bug, just like in Castle of Dr Brain.
2017-10-07 00:56:00 -05:00
David Fioramonti ec1cfcbf47 SCI: Add workaround for uninit read during wordsearch in castlebrain
During the wordsearch puzzle (room 320 click left door) the
game will crash because of an uninitalized read of temp
variables in word::dispatchEvent (which gets called a lot),
if the player clicks the same letter or different letters
aggressively or holds down the enter key.

Fixes Trac#9783.
2017-10-07 00:56:00 -05:00
Thierry Crozat 45d117737c I18N: Update translations templates 2017-10-07 05:57:38 +02:00
Colin Snover c7c5f28bdb SCI32: Clean up scriptWidth/scriptHeight/screenWidth/screenHeight
This removes the unnecessary Buffer subclass and stops most places
where the output buffer was being interrogated about dimensions
instead of GfxFrameout.
2017-10-06 22:56:26 -05:00
Colin Snover d53e778739 SCI32: Rewrap comments to 80 columns in SOL decoder 2017-10-06 22:56:26 -05:00
Colin Snover 15f6e6b97e SCI32: Remove resolved TODO in helpers.h 2017-10-06 22:56:25 -05:00
Colin Snover 8c9276e75a SCI32: Clean up script patch comments 2017-10-06 22:56:25 -05:00
Colin Snover ce13b1699a SCI32: Clean up Robot decoder
* Rewrap comments to 80 columns
* Clarify comments where possible
* Remove resolved TODOs
2017-10-06 22:56:25 -05:00
Colin Snover b6c3f0f547 SCI32: Clean up CelObj
* Rewrap comments to 80 columns
* Clarify comments where possible
* Use smart pointers where appropriate
* Change view/pic flags detection to always use word-size
  (byte-size check for flag 0x80 was a compiler optimisation)
2017-10-06 22:56:24 -05:00
Colin Snover ac0a83a424 SCI32: Clean up GfxControls32
* Rewrap comments to 80 columns
* Clarify comments where possible
* Fix whitespace errors
2017-10-06 22:56:24 -05:00
Colin Snover d5e09a9f68 SCI32: Rewrap comments to 80 columns in lists32.h 2017-10-06 22:56:13 -05:00
Colin Snover 4521e9774a SCI32: Clean up GfxPaint32
* Rewrap comments to 80 columns
2017-10-06 22:11:03 -05:00
Colin Snover 31e1d0932c SCI32: Clean up Plane
* Rewrap comments to 80 columns
* Clarify comments where possible
2017-10-06 22:11:03 -05:00
Colin Snover 1b42146955 SCI32: Clean up GfxRemap32
* Rewrap comments to 80 columns
* Clarify comments where possible
2017-10-06 22:11:03 -05:00
Colin Snover a2c8674252 SCI32: Clean up GfxText32
* Rewrap comments to 80 columns
* Clarify comments where possible
2017-10-06 22:11:02 -05:00
Colin Snover 42180527c4 SCI32: Fix music volume not being restored after speech in Torin
This was a regression introduced by
d556dcc57b.
2017-10-06 22:11:02 -05:00
Colin Snover 93c8044f69 SCI32: Clean up Audio32
* Rewrap comments to 80 columns
* Remove resolved TODOs
* Use containers and smart pointers where appropriate
2017-10-06 22:10:52 -05:00
Colin Snover f51b158f8c SCI32: Clean up GfxFrameout
* Rewrap doxygen comments to 80 columns
* Swap public/private sections so public APIs come first
* Clarify comments where easily possible
2017-10-06 22:10:51 -05:00
Colin Snover c413030be3 SCI32: Clean up Video32
* Rewrap comments to 80 columns
* Clarify comments where appropriate
2017-10-06 22:10:51 -05:00
Colin Snover 9d05bf7920 SCI32: Clean up GfxCursor32
* Rewrap doxygen comments to 80 columns
* Renamings for clarity
* Deduplicate copy/paint code
2017-10-06 22:10:51 -05:00
Colin Snover ff3503abde SCI32: Clean up GfxTransitions32
* Use containers where appropriate
* Re-wrap doxygen comments to 80 columns
* Clarify comments for parts of the engine that are understood now
  but were not understood at the time of the initial
  implementation
2017-10-06 22:10:50 -05:00
Colin Snover 0ac5d84062 SCI32: Clean up ScreenItem
* Rewrap comments to 80 columns
* Clarify comments where possible
* Use smart pointers where appropriate
2017-10-06 22:10:50 -05:00
Colin Snover 5cffa3891f SCI32: Clean up GfxPalette32
* Replace raw pointers with smart pointers
* Use references instead of const pointers where appropriate
* Tweak initialisation
* Tweak palette copies to the stack
2017-10-06 22:10:50 -05:00
Colin Snover f037d4df16 COMMON: Allow construction of Arrays of non-copyable members
Although the previous count-constructor would never make a copy of
a member at runtime, Array<T>::reserve *may* copy-construct, so
the compiler would forbid creation of arrays of NonCopyable objects
even when the array was created only once and then never resized
(and thus never actually tried to perform a copy-construction).
2017-10-06 22:10:50 -05:00
Colin Snover 79dd02373c COMMON: Prevent implicit conversion of smart pointers to non-bools 2017-10-06 22:10:49 -05:00
Colin Snover 5e2e6e9e8a COMMON: Switch to compile-time checking of invalid SortedArray calls
Runtime error detection is error-prone and unnecessary.
2017-10-06 22:10:49 -05:00
Paul Gilbert 6723bed162 TITANIC: DE: Fixes to vocabs, strings, and font in titanic.dat 2017-10-06 21:07:00 -04:00
Paul Gilbert 9b51c1dbbd TITANIC: DE: Fix recognising words with common suffixes 2017-10-06 20:37:28 -04:00
Paul Gilbert 223867b2f5 TITANIC: DE: Fixes for article handling 2017-10-06 07:16:36 -04:00
Thierry Crozat 9b374acb2b TONY: Fix undefined behaviour in variadic functions
Passing a type that undergoes default argument promotion as last
argument of a variadic function results in undefined behaviour.
2017-10-06 01:01:16 +01:00