Colin Snover
dbdbb9b5b3
SCI32: Match 4-language MGDX extra save game data
2017-07-24 19:36:36 -05:00
Colin Snover
bfa6ad5155
SCI32: Use dynamic selector in QFG4 trap script patch
2017-07-24 19:36:35 -05:00
Colin Snover
40e9963baa
SCI32: Deduplicate volume reset script patches & add to MGDX
2017-07-24 19:36:34 -05:00
Colin Snover
f88bcb3ee9
SCI32: Add deflang (default language) kGetConfig key for MGDX
2017-07-24 19:36:32 -05:00
Colin Snover
4c316d45fd
SCI32: Fix ResourceManager::changeAudioDirectory
...
Fixes Trac#9577.
2017-07-24 19:36:28 -05:00
Paul Gilbert
64cbcba420
TITANIC: Workaround Conversation area corruption when dragging items
...
When dragging an item, the bounds for the area of the screen affected
goes from the dragged item to the blinking cursor when the conversation
tab is active. This rect overlapping the conversation area somehow
starts erasing some of the conversation log. Despite some effort, I
haven't been able to track down the exact cause. So the easiest
workaround is simply to make the entire PET as dirty each frame when
dragging an item, which seems to fix the problem. Though it would be
nice, at some point, if the rooot cause could still be identified.
2017-07-24 08:09:00 -04:00
Colin Snover
2005ed79d6
SCI32: Emit a warning when an audio resource cannot be found
...
Refs Trac#9976.
2017-07-23 16:01:19 -05:00
Colin Snover
d38704e16d
SCI: Blacklist certain audio map patch files
...
Refs Trac#9976.
2017-07-23 16:01:19 -05:00
Colin Snover
4d52b018a2
SCI: Keep audio maps out of the LRU cache
2017-07-23 16:01:19 -05:00
Paul Gilbert
d3f3da4d15
TITANIC: Fix delay before Bellbot & Doorbot appears
2017-07-23 15:04:20 -04:00
Colin Snover
580f3875c0
SCI32: Fix explicit mouse position changes
...
This was broken by 9f33f2b3df .
2017-07-23 11:42:55 -05:00
Colin Snover
dabcacb0ca
SCI32: Add missing method documentation
2017-07-23 10:35:13 -05:00
Colin Snover
8d32353394
SCI32: Stop throttling of kFrameOut during interactive VMD playback
...
Refs Trac#9974, Trac#9975.
2017-07-23 10:35:13 -05:00
Colin Snover
2004aecb05
SCI32: Make stop flag condition more explicit
2017-07-23 10:35:13 -05:00
Colin Snover
2ed18b86db
SCI32: Check for stop events before rendering the next frame
...
This should make things slightly more responsive and avoids
unnecessary rendering of frames that are just going to disappear
in a moment.
2017-07-23 10:35:13 -05:00
Colin Snover
0beb259278
SCI32: Improve performance when flushing events during video playback
...
Calling through EventManager::getSciEvent to flush events is
pretty inefficient and created stalls that lead to dropped
frames during the chapter 7 chase in Phantasmagoria 1.
If necessary, performance could be improved further by extending
Common::EventManager to expose SDL_FlushEvents, but this seems to
finish in 0-1ms so should be OK for now.
Refs Trac#9974, Trac#9975.
2017-07-23 10:35:13 -05:00
Colin Snover
6b87b13ab1
SCI: Minor cleanups in kGetEvent
2017-07-23 10:35:13 -05:00
Colin Snover
3d92f05261
SCI32: Fix hot rectangle events
...
This fixes delayed mouse cursor updates during the chase scene in
Phant1.
Refs Trac#9975.
2017-07-23 10:35:13 -05:00
Colin Snover
8bab5a3467
SCI: Resolve offset names when disassembling object methods
2017-07-23 10:35:13 -05:00
Colin Snover
5b166a5173
SCI32: Avoid extra cursor paints when the cursor has not moved
2017-07-23 10:35:13 -05:00
Colin Snover
9f33f2b3df
SCI32: Don't warp the mouse when it doesn't need to be warped
2017-07-23 10:35:13 -05:00
Colin Snover
970c312e76
SCI32: Detect multi-disc audio by RESSCI files instead of RESAUD
...
If a user fails to rename audio files in the required manner when
copying them, detecting multi-disc audio by looking for a renamed
audio file does not work very well. Looking at RESSCI.00n is a
better choice, though this is not completely valid since e.g.
Rama 1.0 US has only one RESOURCE.SFX volume which its installer
copies to the hard drive, so a little more work will need to be
done in the future to find and fix these kinds of edge cases.
Refs Trac#9976.
2017-07-23 10:35:13 -05:00
Paul Gilbert
807fecf0f2
TITANIC: Add missing break lines to switch statements
...
Thanks to bgK for providing a gcc output
2017-07-23 10:01:16 -04:00
Willem Jan Palenstijn
7fcfb4214e
MOHAWK: Remove unnecessary include that was breaking some builds
...
This was breaking builds with the Myst sub-engine disabled.
2017-07-23 15:14:08 +02:00
Bastien Bouclet
bc952807ec
TITANIC: Adjust the switch/case fall-through comments
...
This way, GCC 7 does not generate a warning for those cases when
-Wimplicit-fallthrough=3 is enabled, which is now the default.
2017-07-23 11:12:12 +02:00
Paul Gilbert
96a1b70700
TITANIC: Fixes for CIdleSummoner to summon Bellbot or Doorbot
2017-07-22 21:56:46 -04:00
Paul Gilbert
371a594b8d
VIDEO: Fix AVIDecoder skipping alternate frames in reverse playback
2017-07-22 21:02:26 -04:00
Thierry Crozat
7e12a62ce8
I18N: Update translations templates
2017-07-22 20:42:14 +02:00
Bastien Bouclet
2597e69f29
MOHAWK: Myst: Fix Selenitic sound receiver buttons not flashing
...
The new screen update strategy does not allow scripts to draw twice at
the same location for blinking.
2017-07-22 20:38:56 +02:00
Bastien Bouclet
7ac1bd9a57
MOHAWK: Myst: Fix error when checking the rocket sliders solution twice
...
The game was trying to start playing the linking book video in a
blocking way whereas it was set to loop by the first check.
Fixes #9914 .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
757459bd49
MOHAWK: Myst: Don't cast function pointers when registering commands
2017-07-22 20:38:56 +02:00
Bastien Bouclet
a99397f126
MOHAWK: Myst: Improve script execution tracing
2017-07-22 20:38:56 +02:00
Bastien Bouclet
3e99dd8ccc
MOHAWK: Myst: Switch to bounds checked opcode arguments
2017-07-22 20:38:56 +02:00
Bastien Bouclet
75040819c6
MOHAWK: Myst: Rewrite the sound code
...
It now more closely matches the original. Effect sounds are now stopped
when resuming background sounds.
Fixes #9574 , Fixes #9920 .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
a2fc282e1c
MOHAWK: Myst: Move the sound code to its own class
2017-07-22 20:38:56 +02:00
Bastien Bouclet
01480f9a00
MOHAWK: Myst: Fix the quickTest debug command
2017-07-22 20:38:56 +02:00
Bastien Bouclet
64303abb07
MOHAWK: Myst: Update the screen only once per frame
...
Change all inner loops to call the same frame function.
Remove the draw delay code. Now that we have proper frame pacing it is
not necessary anymore to wait before drawing to make sure the previous
frame stayed on the screen long enough.
Fixes #9915 , #9922 , #9923 .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
9cb6c872b7
MOHAWK: Myst: Decorrelate hotspot handling from event handling
...
This makes sure doFrame can be called from anywhere, including scripts.
2017-07-22 20:38:56 +02:00
Bastien Bouclet
8f0fa86fbc
MOHAWK: Myst: Change blocking sounds to use the main loop
2017-07-22 20:38:56 +02:00
Bastien Bouclet
3dd4da0c37
MOHAWK: Myst: Change the delay opcode to use the main loop
2017-07-22 20:38:56 +02:00
Bastien Bouclet
49fa0bdd68
MOHAWK: Myst: Change blocking movies and waits to use the main loop
2017-07-22 20:38:56 +02:00
Bastien Bouclet
a106dc8dd4
MOHAWK: Remove unused parameters VideoManager
2017-07-22 20:38:56 +02:00
Bastien Bouclet
c5496e3206
MOHAWK: Get rid of VideoHandle
2017-07-22 20:38:56 +02:00
Bastien Bouclet
0b9bfb3d3c
MOHAWK: Myst: Remove delayUntilMovieEnds
...
This will break movies called by scripts until event handling is
decorrelated from script calls.
2017-07-22 20:38:56 +02:00
Bastien Bouclet
8f59348ec3
MOHAWK: Myst: Start reworking mainloop detection
2017-07-22 20:38:56 +02:00
Bastien Bouclet
ee9328323b
MOHAWK: Myst: Move frame handling to a separate method
2017-07-22 20:38:56 +02:00
Bastien Bouclet
3c04ad0227
MOHAWK: Myst: Keep track of the resource being clicked
2017-07-22 20:38:56 +02:00
Bastien Bouclet
49f48a5b8d
MOHAWK: Myst: Turn the currently active resource into a pointer
2017-07-22 20:38:56 +02:00
Bastien Bouclet
9ac98d0fc9
MOHAWK: Myst: Always update the screen during the gameloop
2017-07-22 20:38:56 +02:00
Simei Yin
a1be6d4209
SLUDGE: Move sprite bank to graphics manager
2017-07-21 14:00:24 +02:00