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
f70d871748
AGS: Prefer to use override specifier where necessary
...
From upstream 0d41b5ef0e2dadf24a4618a496b43630981687ff
2022-06-21 23:28:01 +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
Thierry Crozat
282ee9ad97
AGS: Fixing more trivial warnings
...
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
Thierry Crozat
aecb62429d
AGS: Update shared texture when dynamic sprite changes
...
From upstream 6be0e6d094e70e96d93a9ee4dd31ca166663eeaf
2022-06-13 00:30:21 +01:00
Thierry Crozat
487a58b3a8
AGS: Implements short-term texture cache in graphic renderers
...
- caches textures while they are in the immediate use;
- this lets to share same texture data among multiple sprites on screen.
- texture entries are identified by an arbitrary uint32 number.
From upstream 6f3f84e049df2f800aa4b06d221a393d904c2826
2022-06-13 00:30:21 +01:00
Thierry Crozat
29ee2d2ab8
AGS: Separated texture data from DDB objects with render settings
...
This allows to have multiple DDBs sharing same texture data.
From upstream fbcb62c507fb15ffc288d5ebdc1f0d664e66ecb8
2022-06-13 00:30:21 +01:00
Paul Gilbert
4d15fc94c8
AGS: Refactor ScummVM GfxFilter from being static global
2022-05-31 21:04:19 -07:00
Paul Gilbert
8a4186f225
AGS: Bit simplified DDB::GetWidthToRender()
...
From upstream 7cfb38f490e297387be4689c6c68ef7aa3d6c8b1
2022-05-10 21:18:01 -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
8b027e0d82
AGS: Support sprite batch's alpha
...
From upstream 190897b97c8959954fea3f3561923e1b1c73a2b6
2022-05-01 17:23:23 -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
fec8ab3183
AGS: Simplified DrawSpriteWithTransparency() a little
...
From upstream 38922c2eb62b8082ae7ba07f07a8fe2192f1bac5
2022-05-01 17:23:21 -07:00
Paul Gilbert
d09117334d
AGS: Removed obscure hack in DrawSpriteWithTransparency()
...
From upstream 083d8496f2d7c0eedc31c068ddf27720dee4ff2b
2022-05-01 17:23:20 -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
27ad60df72
AGS: Unify video flags in VideoPlayer, convert in script functions
...
From upstream e5c8293a8c8350c38a8df338f56e3806fdc4f119
Plus changes to local video player implementation to reflect changes
2022-04-12 22:27:56 -07:00
Paul Gilbert
c4e7bd355b
AGS: Distinct "real fullscreen" and "desktop fullscreen" window mode
...
From upstream e7763cea241d46e360ed48dcb07bc8c75e591a8c
2022-03-22 22:30:13 -07:00
Paul Gilbert
106622d44c
AGS: Removed "scaling factor" from the FrameScaleDefinition struct
...
From upstream b2a4e98ecdd8cfd1d8e42ab32f6f337af60e5a68
2022-03-21 22:08:04 -07:00
Paul Gilbert
ccb87178d5
AGS: Simplified add_to_sprite_list() argument list
...
From upstream 172466469dca450a05ba97fab85dcf747d344b02
2022-03-15 22:28:38 -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
Paul Gilbert
399a89825f
AGS: New auto outline supports AA TTFs in 32- and 16-bit games
...
From upstream cae84d689019313cad49b6dca7e916866b90e49e
2022-03-14 21:04:07 -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
Max Horn
b7e6d61669
JANITORIAL: Fix compiler warnings about unused code
2021-08-07 10:46:14 +02: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
cf3cc50981
AGS: Remove global macro from some strings and comments
2021-07-12 20:05:28 -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
14a8406719
AGS: Fix GUI sprite renderings
2021-06-13 21:20:41 -07:00
Paul Gilbert
0d600fcd9e
AGS: Fix rendering 32-bit game screens
2021-06-13 21:09:15 -07:00
Paul Gilbert
8278e9fa52
AGS: Moved PlaneScaling to Shared
...
From upstream 080226c6b1c1a9b7ae913dedd35a2022a3ce1940
2021-06-13 21:09:08 -07:00
Paul Gilbert
15b90c14f3
AGS: picked out VideoMemoryGraphicsDriver::CreateDDB()
...
From upstream baae1b880a6e0e8ae96007c72eda2408147158fa
2021-06-13 21:09:03 -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