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