Commit Graph
86814 Commits
Author SHA1 Message Date
Willem Jan Palenstijn 1e5c965a2b SCI: Move scriptdebug declarations to separate header 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn 3554875c7a SCI: Fix wildcard selector breakpoints
0f9c33e02f in 2011 broke selector
breakpoints of the type "ObjName::", which previously caught all
selector sends of the named object.

Thanks to TMM and snover for noticing.
2017-06-10 21:32:35 +02:00
Colin Snover 61f07c13d3 SCI: Start engine at tick 1
In SSCI, games could never start at tick 0 because the video
benchmarking code on game startup would take several ticks to
run. In ScummVM, where the benchmarking code is disabled, it
becomes possible for games to start at tick 0. This can break a
lot of kernel code, which uses tick 0 as a special value
indicating that a feature is not active. For example, in GK2,
the music at the start of the game will not fade in on systems
that are fast enough to start audio playback at tick 0, since
a fade start tick of 0 is used to indicate audio fade is disabled.

Fixes Trac#9830.
2017-06-10 12:28:21 -05:00
Walter van Niftrik 4cfb93c227 ADL: Add loading of hires4 game data 2017-06-10 17:07:17 +02:00
Colin Snover 62fd5df8b4 SCI32: Fix uninitialized temp read in Torin
Fixes Trac#9810.
2017-06-10 00:21:44 -05:00
Colin Snover 48baf5a4a5 SCI32: Fix uninitialized temp read in LSL6hires
Fixes Trac#9811.
2017-06-10 00:13:58 -05:00
Thierry Crozat 2a366e3869 I18N: Update translations templates 2017-06-10 06:47:42 +02:00
Colin Snover c1021785d6 SCI: Remove some unused #includes 2017-06-09 23:30:11 -05:00
Colin Snover 40566820a7 SCI: Return the original master sound volume when mute is on 2017-06-09 23:30:10 -05:00
Colin Snover 57d257b36a SCI32: Fix audio sync recursion
Calling to SciEngine::syncSoundSettings from GuestAdditions
recurses back into GuestAdditions, which is obviously not
desirable. Even when it didn't manage to cause infinite recursion
(as in SQ6 demo), it would make the UI behave in broken ways (e.g.
the +/- buttons on the music slider in SQ6 would not work because
the UI would just get updated immediately back to the closest
rounded value).
2017-06-09 23:30:10 -05:00
Colin Snover 85e35943fe SCI32: Implement kLock & kDoAudio(1) for SCI32
1. Unlocking all resources of a type using a resource ID of -1 is
   gone in SCI32;
2. Audio locks need to be serialized starting in GK2 for the game's
   modified kDoAudio(1) call;
3. Audio locks in SCI3 must work more like SSCI, since at least
   Lighthouse's `BackMusic::fade` method will attempt to unlock
   audio that was never locked by a script. In SSCI (and now in
   ScummVM too) this is a no-op; previously in ScummVM, it would
   remove Audio32's own lock on the audio resource, resulting in a
   use-after-free;
4. kDoAudio(1) starting in GK2 returns the number of active
   *not-in-memory* channels being played, not the total number of
   active channels.

Fixes Trac#9675.
2017-06-09 23:00:14 -05:00
Colin Snover 4311d1b182 SCI: Do not lock Audio36/Sync36 in kLock for SCI1.1
This is not known to fix any problem, but was a noted difference
in the implementation between ScummVM and SSCI.
2017-06-09 22:48:15 -05:00
Colin Snover 095226a614 SCI: Lock Audio resource types when digital SFX is enabled
This seems to have been added in SCI1.1 and continued through
SCI32; older games with digital SFX (like KQ5CD) did not convert
the resource type in kLock.

This is not known to fix any problem, but was a noted difference
in the implementation between ScummVM and SSCI.
2017-06-09 22:48:15 -05:00
Colin Snover f0d00caf93 SCI: Remove unnecessary condition
Argument count validation for kernel calls is performed through the
kernel table signature, so checking here is not necessary.
2017-06-09 22:48:15 -05:00
Colin Snover f48fc02a9b SCI: Fix typo in comment 2017-06-09 22:48:15 -05:00
Colin Snover ddc00e4211 SCI: Remove unhelpful comment 2017-06-09 22:48:14 -05:00
Colin Snover cf98e16d90 SCI: Add serialization for ResourceId 2017-06-09 22:48:14 -05:00
Colin Snover a2ead7c4a4 SCI32: Fix include path 2017-06-09 22:48:14 -05:00
Colin Snover b73906feb7 SCI: Get LRU from list directly, instead of from a reverse iterator 2017-06-09 22:47:54 -05:00
Colin Snover 06e82211ee SCI: Implement Serializable for Object 2017-06-09 22:47:54 -05:00
Paul Gilbert 3bd579bdd4 TITANIC: Fix jerkiness in end credits 2017-06-09 21:58:54 -04:00
Paul Gilbert 782479ab2b TITANIC: Field renamings for CCreditText 2017-06-09 21:52:52 -04:00
Paul Gilbert 1342a45321 TITANIC: Enable initial copyright screen 2017-06-09 19:40:35 -04:00
Thierry Crozat 6814b1e163 I18N: Update translations templates 2017-06-09 20:19:10 +02:00
Tarek Soliman 2977ae546e GUI: Improve calculation for savegame thumbnail labels
Instead of shrinking the rect based on how many labels aren't there,
expand the rect based on how many labels are there.

Closes gh-958
2017-06-09 13:17:09 -05:00
Tarek Soliman 7de8be411d GUI: Fix savegame thumbnail label layout
The Save/Load screen has a preview area with labels for date and time.
The bottom label was drawing past the bottom of the rect.
2017-06-09 13:17:09 -05:00
Tarek Soliman 231c263f70 GUI: Use dashes in default save description
Closes gh-956
2017-06-09 13:16:46 -05:00
Tarek Soliman 255cd0452c ENGINES: Display savestate date as YYYY-MM-DD
This avoids confusion in locales that use MM/DD/YYYY vs DD/MM/YYYY
2017-06-09 13:15:38 -05:00
Colin Snover d7e5e5f995 COMMON: Take immutable reference in SpanOwner copy assignment
Thanks again to @waltervn.
2017-06-08 20:04:37 -05:00
Colin Snover 58c83dcd14 COMMON: Make SpanOwner copy assignment make a copy of the owned Span
To move data from one SpanOwner to another, use `moveFrom`.
Thanks @waltervn for pointing out the problem.
2017-06-08 10:45:55 -05:00
Colin Snover e29f60858d SCI32: Clarify code comment about Steam GK2 RESMAP.001 2017-06-08 00:28:44 -05:00
Colin Snover 2482a78fa3 SCI32: Fix wave resource patch offset
This bug was only reproducible when loading a game using the
multi-disc RESSFX.00x bundles.

Fixes Trac#9832.
2017-06-08 00:14:45 -05:00
Paul Gilbert 7a0a0b548c TITANIC: Fix color of starfield crosshairs 2017-06-07 22:32:11 -04:00
Paul Gilbert 3fdfd47ea3 TITANIC: Rename CStarControlSub2 to CStarFieldBase 2017-06-07 22:06:22 -04:00
Paul Gilbert 46f4047a1d TITANIC: Renamings for camera mover classes 2017-06-07 22:00:22 -04:00
Paul Gilbert c105be916e TITANIC: Renamings for automatic camera mover classes 2017-06-07 21:50:03 -04:00
Paul Gilbert 0331fab01b TITANIC: Fix rotating starview when 2 markers are locked in 2017-06-07 21:28:15 -04:00
Paul Gilbert d761a77236 TITANIC: 2nd marker lock on now working 2017-06-06 23:03:41 -04:00
Paul Gilbert 301cac15ee TITANIC: Fix calculations in DVector fn1 2017-06-06 22:07:15 -04:00
Paul Gilbert cc5629014e TITANIC: Further fixes for locking marker 2 2017-06-06 20:20:53 -04:00
Paul Gilbert cb3f8f35db TITANIC: Rewrite of lockMarker2 2017-06-05 20:34:11 -04:00
Paul Gilbert 13048f2af0 TITANIC: Add some const prefixes to mover proc2 2017-06-05 20:27:59 -04:00
Paul Gilbert 39ffcf7a1b TITANIC: Simplifications in lockMarker2 2017-06-04 20:17:51 -04:00
Paul Gilbert 032cd3f4eb TITANIC: Simplify DVector fn1 2017-06-04 20:17:11 -04:00
Paul Gilbert a8e03289df TITANIC: Renamings for the individual lock marker methods 2017-06-04 18:28:49 -04:00
Paul Gilbert 71fd9b79e2 TITANIC: Fix saving locked marker vectors into camera rotation matrix 2017-06-04 15:47:01 -04:00
Paul Gilbert ca0a6d3d7e TITANIC: Some fixes for marker 1 rotation code 2017-06-04 14:22:02 -04:00
Paul Gilbert b60f0ee7d3 TITANIC: Rewrite of rotation code when 1 marker is fixed 2017-06-04 11:42:11 -04:00
Paul Gilbert f6dc363ba8 TITANIC: Locking onto first marker is now working 2017-06-03 22:35:45 -04:00
Paul Gilbert 44fce15f50 TITANIC: Fix some vector calculations in marker lock-on code 2017-06-03 22:05:08 -04:00