Commit Graph
86814 Commits
Author SHA1 Message Date
VelocityRa a169c7efb3 GRAPHICS: Use MacText::appendText to render formatted text
With this we can specify font, character size and slant that each
appended text will use.
2017-07-17 23:45:22 +02:00
VelocityRa 2b06c02d7d GRAPHICS: Add MacText::appendText() variants that accept text format args
Made 1 helper method and 1 function to reduce duplication size as much
as possible and still keep them useful for other purposes.
2017-07-17 23:45:22 +02:00
VelocityRa 0f65852d2f WAGE: Experimental MacText(Window) console rendering
Currently the font specified in the constructor is not
being used, I explain why in gui.cpp, line 182.

Use the 2 defines in gui.h to specify whether:
1) The new text rendering in general is used
   (USE_NEW_TEXT_RENDERER)
2) The MacTextWindow class is used
   for rendering (USE_MACTEXTWINDOW)
2017-07-17 23:45:22 +02:00
VelocityRa fe63eb7644 GRAPHICS: Introduce drawText, appendText and font in MacTextWindow 2017-07-17 23:45:22 +02:00
VelocityRa b127beb03c GRAPHICS: Fix bug in MacText::draw() on calculating bounding rect size
Change is _surface->w to _surface->h in the fourth arg to Common::Rect
2017-07-17 23:45:22 +02:00
VelocityRa f2f420e15f GRAPHICS: Skeleton of MacTextWindow
Needed to add 2 helper methods to MacWindowManager to make it cleaner
2017-07-17 23:45:22 +02:00
VelocityRa b28a4a8c3d GRAPHICS: Fix MacText::appendText by resizing _textLines
Also fix an off-by-one error
2017-07-17 23:45:22 +02:00
Schrijvers Luc a2792531f6 NETWORKING: fix missing SIOCGIFCONF for Haiku (#973) 2017-07-17 21:35:23 +02:00
Thierry Crozat 41398761ba I18N: Regenerate translations data file 2017-07-17 05:05:02 +02:00
Paul Gilbert d14df9260c TITANIC: Fix Gondola mixer to use the two different songs 2017-07-16 22:36:32 -04:00
Colin Snover 2b7b9ec518 SCI32: Remove duplicate call 2017-07-16 21:25:27 -05:00
Colin Snover 2c1a8790b3 SCI32: Fix wrong GK1 sound volume sync
Fixes Trac#9793.
2017-07-16 21:25:27 -05:00
Colin Snover 5fa0e4b780 SCI32: Improve GK1 narrator speech sync 2017-07-16 21:25:27 -05:00
Paul Gilbert 6278aa250a TITANIC: Workaround music being lost leaving Arboretum in Winter
When you change the Arboretum to Winter and exit, it changes to
a special FrozenArboretum room with the river and everything frozen.
Both the regular and frozen Arboretum rooms have a GondolierMixer..
when leavin one for the other, it's meant to do a two second fadeout
and then the new room's mixer takes over. This doesn't work for
ScummVM currently - it may be due to the simplicity of the QMixer
implementation. So to work around it for the forseeable future,
I've set the TurnOff times to 0 seconds so the old mixer's sounds
are immediately and properly stopped, letting the new mixer take over.
2017-07-16 21:58:53 -04:00
Paul Gilbert c55132baea TITANIC: Renamings for Gondolier Mixer 2017-07-16 21:45:09 -04:00
Paul Gilbert 679c0e72b1 TITANIC: Fix scaling in scene transition cutscenes 2017-07-16 18:33:36 -04:00
Paul Gilbert 91eef8f4c0 TITANIC: Fix music transitions for each passenger class in lift travel 2017-07-16 18:03:34 -04:00
Paul Gilbert 850dcdbdf8 TITANIC: Add a VolumeMode enum 2017-07-16 16:18:16 -04:00
Colin Snover d8eccdec32 SCI: Clarify Tab character & modifier workarounds in GfxMenu 2017-07-16 14:26:30 -05:00
Colin Snover 6379498303 SCI: Fix kMenuSelect to understand control characters
In b4c0be8b42 keyboard events were
adjusted to send control characters to game scripts, which matches
how keyboard input works in SSCI. Unfortunately this broke games
using kMenuSelect because that kernel code was not expecting to
receive control characters.

Here is an amended list of known types of keyboard shortcuts, for
future reference:

* All games with text inputs (Ctrl+C clears text boxes)
* Most games using MenuBar, like QFG1EGA (Ctrl+P pauses the
  game, Tab or Ctrl+I show inventory)
* QFG1VGA (Ctrl+S shows stats)
* Torin (Ctrl+N, Ctrl+O, Ctrl+S, etc. activate menu commands)
* LSL1VGA & LSL3 (Ctrl+Alt+X to bypass age check)
* Most in-game debuggers (Alt+T for teleport)

The shortcut handling code is still not 100% accurate since there
are some edge cases that are not implemented (e.g. in DOS/SSCI,
Shift+Ctrl+<key> usually sends the same key information as
Ctrl+<key>, but not if <key> is Tab), but it should now be working
in a consistent and rational manner for end-users.
2017-07-16 14:26:30 -05:00
Paul Gilbert 6c44b5762e TITANIC: Cleanup of CAutoAnimate class 2017-07-16 15:05:56 -04:00
Paul Gilbert 56384fb7db TITANIC: Fix MaitreD to hate the default music 2017-07-16 12:46:03 -04:00
Paul Gilbert 9cda101b89 TINSEL: Fix some DW2 text/voice not playing all the way through 2017-07-16 11:07:39 -04:00
Simei Yin b789c1ef4a SLUDGE: Add sprite display color 2017-07-16 14:39:31 +02:00
Simei Yin 17dd32f3db SLUDGE: Complete pasteCharacter to backdrop 2017-07-16 14:39:31 +02:00
Simei Yin ebd36a8df2 SLUDGE: Complete burnSpriteToBackdrop 2017-07-16 14:39:31 +02:00
Simei Yin b21a3ba783 SLUDGE: Load game icon/logo 2017-07-16 14:39:31 +02:00
Simei Yin 1a86e7e4cd SLUDGE: Correct fallback detection with custom description 2017-07-16 14:39:31 +02:00
Colin Snover b4c0be8b42 SCI: Fix control character keyboard events
Used by:

* All games with text inputs (Ctrl+C clears text boxes)
* QFG1VGA (Ctrl+S shows stats)
* Torin (Ctrl+N, Ctrl+O, Ctrl+S, etc. activate menu commands)

The branch that used to shift control keys for SCI versions <=
SCI_VERSION_1_MIDDLE was bogus; history indicates it was intended
to be used to fix backends that sent control characters when
Ctrl+Alt were used together, but that case is already handled by
the Alt-checking code just prior to that code. Games expect to
receive control characters only when Ctrl is the only active
modifier, and this seems to be consistent across all versions of
SCI engine from SCI0 all the way through at least SCI2.1.

Fixes Trac#6703, Trac#9837.
2017-07-16 01:33:57 -05:00
Colin Snover 8e0ccc5eb1 SCI32: Add patch for mismatched PointSoft Torin heap 20700
Refs Trac#9776, Trac#9864. Fixes Trac#9797.
2017-07-15 22:53:39 -05:00
Paul Gilbert 222ef33fb6 TITANIC: Fix inventory scrolling when an item is selected 2017-07-15 22:40:28 -04:00
Thierry Crozat b5d2c76a0f I18N: Update translations templates 2017-07-16 03:37:50 +02:00
Colin Snover 3bc00e6633 SCI: Stop double-initialization of SCI0/1 objects
These objects should have been initialized only during the first
pass. Double-initialization does not cause any visible problem
problem during normal operation (mostly it just causes memory
waste by making Object::_baseVars/_baseMethod double up their
data), but could have silently allowed games to receive bogus data
for an out-of-bounds property or method index, instead of raising
an error.
2017-07-15 20:29:36 -05:00
Colin Snover 051366a48a SCI: Fix up Object::_baseMethod implementation
1. In SCI0/1, selectors and offsets in the method block are
   stored contiguously (all selectors, then all offsets), with a
   null separator between the two runs. All the later versions of
   SCI instead interleave selectors & offsets. Since these values
   are already being copied into a new array anyway, code for
   reading method selectors/offsets is now simplified by
   interleaving this data when it is written into _baseMethod
   for SCI0/1, so the same equation for retrieving method
   selectors/offsets can be used across all SCI versions.

2. In SCI1.1-2.1 branch, the method count was being copied into
   the first entry of the array, which meant that SCI1.1-2.1 had
   extra code for dealing with the fact that the first entry was
   not an entry. This has been fixed, and the extra code removed.

3. Data was being overread into _baseMethod in all games SCI0-2.1.
   (SCI0/1 had an extra magic value of 2, and SCI1.1-2.1 had an
   extra magic value of 3). Reviewing history, it's not clear why
   this happened, other than that it appears to have been
   introduced at 7b0760f1bc. My best
   guess is that this was a confusion between byte count and record
   count, where the intent was to read an extra 2 bytes for the
   null separator in SCI0/1, but it actually read 2 records
   instead. (I do not have a guess on why SCI1.1 ended up with a
   3.) This overreading has been removed.
2017-07-15 20:10:38 -05:00
Paul Gilbert 2032ca8ca1 TITANIC: Fix range for timed volume transitions 2017-07-15 21:05:15 -04:00
Paul Gilbert 6140305801 TITANIC: Endgame sequence sound fixes 2017-07-15 19:13:36 -04:00
Paul Gilbert 8d9c9a9078 TITANIC: Don't allow the same star to be locked on multiple times 2017-07-15 17:29:42 -04:00
Paul Gilbert 98060e8f60 TITANIC: Fix locking stars in star control puzzle when Caps lock is on 2017-07-15 16:45:16 -04:00
Paul Gilbert b4c5318e6d TITANIC: Don't allow starfield to be shown if puzzle was skipped 2017-07-15 15:48:43 -04:00
Filippos Karapetis 0f33e8ff8f CHEWY: More work on scene info handling 2017-07-15 19:48:43 +03:00
Bastien Bouclet dd1fa0a36a TITANIC: Fix incorrect calls to queueSound
The sound type was being passed in the balance parameter.
2017-07-15 18:07:58 +02:00
Simei Yin 22201ba764 SLUDGE: Move PixelFormat init to constructor 2017-07-15 17:51:57 +02:00
Simei Yin a44cf28ea3 SLUDGE: Remove unused function displayFatal 2017-07-15 17:51:57 +02:00
Simei Yin 8963519346 SLUDGE: Clean unused extern variables 2017-07-15 17:51:57 +02:00
Simei Yin a3876ee8c1 SLUDGE: Clean useless #if 0's 2017-07-15 17:51:57 +02:00
Simei Yin 8c57d2d825 SLUDGE: Remove unused memwatch 2017-07-15 17:51:57 +02:00
Simei Yin 59f9157106 SLUDGE: Remove gl-related graphics.h 2017-07-15 17:51:57 +02:00
Simei Yin 8c8e5c44d8 SLUDGE: Remove openGl-related function fixFont 2017-07-15 17:51:57 +02:00
Simei Yin d53c43d092 SLUDGE: Add a color into stack machine 2017-07-15 17:51:57 +02:00
Simei Yin cd384d10b2 SLUDGE: Add credit scrolling 2017-07-15 17:51:57 +02:00