81090 Commits

Author SHA1 Message Date
Paul Gilbert
12f53ca599 TITANIC: Add missing addNode to WC_ABSTRACT handling 2017-06-12 08:16:29 -04:00
Paul Gilbert
9c21bb9d1e TITANIC: Fix brief black boxes on fires in Canal 2017-06-11 17:31:33 -04:00
Paul Gilbert
6930f2b648 TITANIC: Rename viewChange to freeSurface 2017-06-11 17:06:46 -04:00
Paul Gilbert
3be659b5c1 TITANIC: CGameManager viewChange better named as roomChange 2017-06-11 16:19:54 -04:00
Walter van Niftrik
d272351055 ADL: Set ADGF_TESTING for hires4 2017-06-11 15:58:35 +02:00
Walter van Niftrik
900ae1d064 ADL: Fix hires4 dropped item drawing 2017-06-11 14:40:45 +02:00
Paul Gilbert
b5ac7cc3ed TITANIC: Fix BellBot getting clipped incorrectly when walking off-screen 2017-06-10 22:13:17 -04:00
Thierry Crozat
3b8a7a7f25 I18N: Update translations templates 2017-06-11 03:42:09 +02:00
Colin Snover
63ad8fbbed SCI: Tidy Script errors & ensure script number exists in all of them 2017-06-10 20:34:55 -05:00
Colin Snover
d6ff67e3c4 SCI32: Fix detection and loading of localized resources in Torin
Italian still needs to be fixed, but nobody seems to have access
to this version at the moment.

Fixes Trac#9772.
2017-06-10 20:32:22 -05:00
Paul Gilbert
43440193f0 VOYEUR: Fix backgrounds not showing for static rooms 2017-06-10 18:21:04 -04:00
Thierry Crozat
7b03f9e877 I18N: Update translations templates 2017-06-10 21:36:50 +02:00
Willem Jan Palenstijn
c7d631cb66 SCI: Expand kernel breakpoint pattern matching for negative matches
See matchKernelBreakpointPattern() for samples. The main envisioned use is

DoSound*,!DoSoundUpdateCues

to match all DoSound sub-functions except DoSoundUpdateCues.
2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
e7b6a257b9 SCI: Change 'none' breakpoint action to 'ignore' for consistency 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
4102a77964 SCI: Clean up breakpoint code (indentation, consistency) 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
e2e3f7c4c5 SCI: Move bpk/logkernel to main breakpoint infrastructure
This changes the syntax for bpk and logkernel:

Enable breakpoint on kernel call:

bpk FrameOut

Enable logging for kernel call:

bpk FrameOut log
For backward compatibility this has an alias: logkernel FrameOut

Removing a kernel call breakpoint is done with bp_del/bc now.
2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
0f0ecff0b8 SCI: Print breakpoint info on creation 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
4d34d586a6 SCI: Allow setting bp action directly on creation 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
b3866aa3d5 SCI: Allow multiple breakpoints with same trigger but different action 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
be84cfdb59 SCI: Add inspect, none breakpoint actions 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
423ecde8e0 SCI: Move printObject from console to scriptdebug 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
8e683db72b SCI: Add break/log/backtrace actions for triggered breakpoints
The action can be set using the new console command bp_action/bpact.
2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
cb69d10e96 SCI: Add underscores to Breakpoint member variables 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
6d143e6da3 SCI: Remove union from Breakpoint 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
b56a49c53e SCI: Move backtrace output to scriptdebug.cpp 2017-06-10 21:32:35 +02:00
Willem Jan Palenstijn
e9867356f5 SCI: Handle selector read/write breakpoints from opcodes 2017-06-10 21:32:35 +02:00
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
0f9c33e02f1cb2c740c1eb0dcaad96dd22ec29e7 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