Commit Graph
137148 Commits
Author SHA1 Message Date
Eugene Sandulenko cc0740685f OPENGL: Disable kFeatureFilteringMode because it conflicts with shaders 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 80f79f253d GUI: Make shaders/scalers work mutually exclusive 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 2fc93e58bd GUI: Fix scaler toggle behavior in game options 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 3aef14fa99 GUI: Initial code for making game options work with shader controls 2022-10-08 23:39:18 +02:00
Eugene Sandulenko ee9ede6681 GUI: Persist shader/scaler radiobutton state 2022-10-08 23:39:18 +02:00
Eugene Sandulenko ff00d3feea GUI: Move shader controls to Graphics tab and hide behind radiobutton 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 76dc20b4b5 GUI: Fix shader clear button behaviour 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 2c9731b16a GUI: Do not run test when there is no shader 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 0614eab5de GUI: Switch test pattern to 320z240 and improve dialog message 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 08706d3c0f GUI: Better wording for the schader test dialog. Courtesy of Thunderforge 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 3b1a1f0411 GUI: Formatting fixes, added copyright of the original work for test screen 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 2fd53a9bae JANITORIAL: Whitespace fixes 2022-10-08 23:39:18 +02:00
Eugene Sandulenko d9bebc379a GUI: Fixes to the test screen drawing 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 5b307826db GUI: More work on shader test screen 2022-10-08 23:39:18 +02:00
Eugene Sandulenko e11bd0f2f2 GUI: Initial code for test screen drawing 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 7cd63b418a GUI: Do not apply shadow on single dialog draw 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 655fea0de0 GUI: Draw only confirmation dialog on shader change 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 7df3792ae3 GUI: Implement drawing mode of top dialog only 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 26e5ef35ab GUI: Use countdown dialog on shader test 2022-10-08 23:39:18 +02:00
Eugene Sandulenko a8ba66c95e GUI: Implement CountdownMessageDialog 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 3dada376b1 GUI: Show test dialog when shader was changed 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 6d3eb64398 OPENGL: Do not error() on shader compilation failure 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 31100637fa GRAPHICS: OPENGL: Refactor for adding possibility to avoid calling error() directly 2022-10-08 23:39:18 +02:00
Eugene Sandulenko b67c4c0047 OPENGL: Gracefully restore previous graphics mode on shader failure 2022-10-08 23:39:18 +02:00
Eugene Sandulenko ff259665c5 GUI: Restore previous shader setting on load failure 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 51295e3a6a JANITORIAL: Whitespace fixes 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 1ac8fde03f JANITORIAL: Whitespace fixes 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 8d61963716 OPENGL: Return error when shader did not work 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 475d2e119a COMMON: Added OSystem::kTransactionShaderChangeFailed enum value 2022-10-08 23:39:18 +02:00
Cameron Cawley f6e071e99a OPENGL: Handle LibRetro shaders containing version directives 2022-10-08 23:39:18 +02:00
Cameron Cawley 1b2a73c62a OPENGL: Implement selecting shaders from the GUI 2022-10-08 23:39:18 +02:00
Cameron Cawley 79fff69231 COMMON: Use Common::String for OSystem::setShader 2022-10-08 23:39:18 +02:00
Cameron Cawley a2c65a4521 OPENGL: Remove the stock shader preset 2022-10-08 23:39:18 +02:00
Cameron Cawley 64c359b5cb GUI: Replace the options for selecting shaders 2022-10-08 23:39:18 +02:00
Cameron Cawley c5705561b0 OPENGL: Add compatibility checks for LibRetro shader support 2022-10-08 23:39:18 +02:00
Cameron Cawley cdbb0fa32f OPENGL: Better path lookup and error handling 2022-10-08 23:39:18 +02:00
Cameron Cawley 5e4aaf5757 OPENGL: Render the screen and cursor to a target before applying shaders 2022-10-08 23:39:18 +02:00
Cameron Cawley 851b17affa OPENGL: Fix compilation after recent changes 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 17857d7597 GUI: Disable obsolete GUI entries for now 2022-10-08 23:39:18 +02:00
Lothar Serra Mari ceef8da1f3 GUI: Mark entry point where we call the shaderscaler dialog later 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 93b46ec40d BACKENDS: OPENGL: Resolve merge conflicts 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 79700ca1b0 BACKENDS: OPENGL: Move stock.glsl shader and preset to new presets location 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 133341adf5 BACKENDS: OPENGL: Fix shader prefix path 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 4f4f0b82a8 BACKENDS: OPENGL: Add very basic stock.glsl shader as fallback option 2022-10-08 23:39:18 +02:00
Lothar Serra Mari daeda92d3e BACKENDS: OPENGL: Add stub for loading shader preset from config file 2022-10-08 23:39:18 +02:00
Lothar Serra Mari 203af422d4 BACKENDS: OPENGL: Use simpler shader as test case 2022-10-08 23:39:18 +02:00
Johannes Schickel 9f3249286f BACKENDS: OPENGL: Initial WIP import for shader support 2022-10-08 23:39:18 +02:00
Donovan Watteau a16a1e57e2 SCUMM: Make Dig crypt subtitle workaround an optional waitForActor()
When Low finds the meaning of the crypt inside the tomb, subtitles are
not printed because of a missing waitForActor() call. This also happens
in the original interpreters.

In Trac#4410 and commit 3b05a52588, this
was implemented as an actor.cpp workaround, but doing it this way make
Low glide on the floor instead of having his usual walking animation.

Having him wait finishing his sentence before he moves to the crypt may
feel a bit odd too, but Low already does that in some other parts of the
game, and he just reacts at a very slow pace in general.

Moving this to o6_talkActor() also means that it's next to the other
waitForActor() workarounds, where we try to only target the impacted
lines when we can.

Also make this workaround use `_enableEnhancements` while there.
2022-10-09 00:22:05 +03:00
Donovan Watteau e0b8678482 SCUMM: Let Max finish his comment on capitalism at Snuckey's (WORKAROUND)
If Sam tries buying something at Snuckey's without any having money, Max
will not always have enough time to finish his comment on capitalism,
because the employee will say "Anything else?" without any call to
waitForMessage() to make sure that Max is done speaking. But good jokes
from Max should never be cut!

This would happen if Sam only picked up the pecan-flavored candies, for
example.
2022-10-08 22:20:50 +03:00
Donovan Watteau 5d5ba3470f SCUMM: Fix AkosCostumeLoader on big-endian hosts
Commit befd3b3511 introduced a regression
on big-endian systems, causing Guybrush to moonwalk and Wally to lose
his body in the first scene of COMI, for example.

`costumeFlags` must be read as a little-endian value, now that it it's
been confirmed to be an uint16 and not a byte, in the disasms.

Found after diff'ing the -fverbose-asm output of akos.cpp during a Git
bisect on a big-endian system.
2022-10-08 20:43:18 +02:00