Cameron Cawley
138a983d80
COMMON: Refactor VSync handling to match the other options
2023-01-16 18:09:53 +01:00
Thierry Crozat
9a3ff9b285
AGS: Implement shake screen and flip screen support
...
This is partially based on upstream 675560f7c2060528ba7c75d5ecca78c56b9f0d8e
2022-12-15 22:40:17 +01:00
Thierry Crozat
887f156f73
AGS: Engine: OpenGL, Software drivers also try 24bit display modes for 32bit
...
This is mostly a cosmetic fix, as graphic mode was created successfully anyway.
But the engine was incorrectly reporting no suitable modes available.
From upstream 4399d6448c579c648fe7e0c157a6d5f1adc74a6c
2022-12-15 22:40:17 +01:00
Thierry Crozat
e9c84767f7
AGS: Merged BitmapFlip with engine's GlobalFlipType (same values)
...
From upstream a747deafe67d536b6bcaf408077ca83f6e61a33d
2022-06-24 20:54:47 +01:00
Thierry Crozat
b3aed69af6
AGS: Implement toggling Vsync if the backends supports it
2022-06-21 23:28:01 +01:00
Thierry Crozat
db1d5b17cd
AGS: Tidy vsync setting methods in renderers
...
From upstream 5ff955152c43f6adfe03298a7cac069efffbee4d
2022-06-21 23:28:01 +01:00
Paul Gilbert
4d15fc94c8
AGS: Refactor ScummVM GfxFilter from being static global
2022-05-31 21:04:19 -07:00
Paul Gilbert
b1649597d7
AGS: Replaced Math/std Min/Max with ScummVM macros
...
Inspired by 6dee5ee6f271c600e30879d892295ea6069e8cc9
2022-05-05 22:41:10 -07:00
Paul Gilbert
b9a9b00974
AGS: Graphic renderers use correct alpha as sprite transparency
...
From upstream d2502a5240c6c06eb2fb65a9bf90b30584d79051
2022-05-01 17:23:23 -07:00
Paul Gilbert
2b96f0ff67
AGS: Sprite batches may have parents
...
From upstream 369b3985400284df53695cee4d3f8f2dfc138beb
2022-05-01 17:23:20 -07:00
Paul Gilbert
9fff1dc1fa
AGS: Separate sprite lists and batch lists in renderers
...
From upstream ccbf3d16788720e94e5362ff8aeae1e32b4febe5
2022-05-01 17:23:19 -07:00
Paul Gilbert
a6f42ad1ab
AGS: Fixing various "unused va/arg" warnings + removed empty funcs
...
From upstream 61771ecd638338806c40d0da2bf1addea06cac90
2022-04-25 21:44:40 -07:00
Paul Gilbert
f009829e67
AGS: Further unifying VideoPlayer code in the base class
...
From upstream 6c6507e0427bbb8783616691affea83fdcaf10ef
2022-04-12 22:27:57 -07:00
Paul Gilbert
2b7e671eb7
AGS: Remade VideoMemDDB class into BaseDDB, tidy ddb declarations
...
From upstream 6faef191c6f5728d0e10fd2ed29f3adb0013496c
2022-03-15 22:28:38 -07:00
D G Turner
649ad6f9a6
AGS: Remove Duplicate Definition from Allegro System Header
...
This was causing GCC warnings when -Wduplicated-branches was defined.
2022-03-02 09:57:27 +00:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Paul Gilbert
ec75ae627a
AGS: Implemented fade_interpolate
2021-09-25 09:54:22 -07:00
Paul Gilbert
4bcaeb6609
AGS: Use native color depth when creating vscreen and fading
...
From upstream 28a882eefad283e20397d787a934ec9bd0efc8b7
2021-07-31 14:34:09 -07:00
Paul Gilbert
12b9c52fba
AGS: IGraphicsDriver must also know native game color depth
...
From upstream 0f9392acc1dd71b9b849af0eefbccdd92be12b30
2021-07-31 14:34:09 -07:00
Paul Gilbert
71500f8162
AGS: Revert corrected GetDisplayDepthForNativeDepth
...
We want to use paletted mode for paletted games, rather than just being
32-bit mode all the time
2021-07-12 20:06:05 -07:00
Paul Gilbert
116a2f8941
AGS: Further improve rendering with a screen dirty rect area
...
When the screen format doesn't match the virtual screen, rather than
blitting the entire surface each frame, keep track of the largest
bounds of pixels that have been changed when writing to the temporary
intermediate screen, and only blit the resulting area.
Long term, though, it would be interesting to review to see if the
batch system the graphics driver uses for rendering can be used to
determine a list of rects in the screen that are affected. If so,
hopefully those can be used instead.
2021-07-11 22:12:09 -07:00
Paul Gilbert
0cf9a86286
AGS: Further optimization for 32-bit screen rendering
...
I tried once again to refactor the AGS codebase to use an RGBA
format that can directly blitted to the screen for performance,
but once again couldn't locate all the places that assume that
specific pixel format. So to at least provide some optimization,
I've implemented two fast for loops that handle converting the
AGS surface pixels to RGBA or ABGR for rendering
2021-07-11 20:06:32 -07:00
Paul Gilbert
ee75794504
AGS: Cleanup of usage of ScummVM Graphics::Screen
2021-07-11 14:06:26 -07:00
Paul Gilbert
f5a019d3b4
AGS: corrected GetDisplayDepthForNativeDepth
...
From upstream 4c51ca2045b478b63f5e6b35be02fdce3ebf9b18
2021-07-10 18:56:58 -07:00
Paul Gilbert
76926d0d3a
AGS: Fix rendering crash in La Croix Pan
2021-06-24 22:48:55 -07:00
Paul Gilbert
259accebac
AGS: Properly update palette in 8-bit paletted mode
2021-06-20 19:15:56 -07:00
Paul Gilbert
aec0a06700
AGS: Enable setting paletted graphics mode
2021-06-20 19:15:56 -07:00
Thierry Crozat
0cf45fbc39
AGS: Fix some regressions with blender modes
2021-06-14 20:21:10 +01:00
Paul Gilbert
0d600fcd9e
AGS: Fix rendering 32-bit game screens
2021-06-13 21:09:15 -07:00
Paul Gilbert
4eb0c3bc24
AGS: Graphical fixes
2021-06-13 21:08:52 -07:00
Paul Gilbert
b104d78888
AGS: Enabling disabled blocks, and making ScummVM needed changes
2021-06-13 21:08:50 -07:00
Paul Gilbert
701396361c
AGS: Import of fresh codebase
2021-06-13 21:08:44 -07:00