Commit Graph
134 Commits
Author SHA1 Message Date
Hubert Maier f1c3261837 AGS: Correct spelling mistake
lightening -> lightning
2022-10-27 15:56:08 +02:00
D G Turner 0c2ae0357a AGS: Fix Signed vs. Unsigned GCC Compiler Warning 2022-10-10 08:40:27 +01:00
Thierry Crozat 58212aeebd AGS: added render callback AGSE_POSTROOMDRAW
This render stage overlays the room with objects and characters, but
stays within room transform, therefore will work with non-standard
viewport positions and multiple cameras.
The next closest stage is AGSE_PREGUIDRAW, which is rendered outside
room viewport. The new one fills the missing stage, lacking after the
viewport/camera update in 3.5.0.

From upstream 4ff7e14400ab81693fb64195d9ada70e979647ac
2022-10-10 00:16:16 +01:00
Thierry Crozat 483ff1bc30 AGS: fixed object cache may sometimes keep an old dynsprite ref
This may result in object texture not updating if the old sprite was deleted but a new dynamic sprite was created right after having same ID.

Was broken by upstream 9dffb04 in 3.5.1, and also some later changes in 3.6.0.

From upstream 7ed51861898d864902b0f61b0cb7d0acadef1fe3
2022-10-10 00:16:16 +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 7372aa4040 AGS: Updated build version (3.6.0.28)
From upstream ad7c27a8bbf8a9e827ebd052472887cf4f47a299
2022-06-23 23:57:27 +01:00
Thierry Crozat aa9983c28d AGS: Update commented out exception handling code
This code is not used in ScummVM, but since it was still there in
comments it's probably better to keep it in sync with upstream.
The code was updated in upstream 0d1034df1a0e6593e7e61bbdb75d2996b8721b14
(tidy Direct3D renderer code, remove redundant parts, etc)
and 2f04e3b81db598eb7950668ce9d88a145f796f2c
(fixed Ali3DException's message string misuse)
2022-06-23 23:57:27 +01:00
Thierry Crozat 40c85968e1 AGS: Fixed restoring a exclusive fullscreen mode on switch in
Fixed getting stuck in a render attempt loop, because the window
events are not being processed.

From upstream 25329949f4d4a17ea8e6ad11fc7bd0ecccdfaca7
2022-06-23 23:57:27 +01:00
Thierry Crozat 5089b28645 AGS: Added more logging for multitasking mode, switching in/out
From upstream d3925672f5b96fab3308b606eb6f38dc279636d7
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
D G Turner f567b0f96a AGS: Fix GCC Compiler Warnings 2022-06-18 14:10:00 +01:00
Thierry Crozat 282ee9ad97 AGS: Fixing more trivial warnings
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
D G Turner 8af2dc3a8c AGS: Fix Remaining Compiler Warnings 2022-06-17 12:19:37 +01:00
Thierry Crozat 13c3d6cddc AGS: Increased Room Objects limit to 256
From upstream b71f820c992d70ffef8f40b783ee4b53df634254
2022-06-15 22:13:02 +01:00
Thierry Crozat 48a1dfe68e AGS: Fixed renderer error if room backgrounds are of different size
From upstream 660857d193b9bcac3a7bb1bba70be8149b1e2d7e
2022-06-15 02:22:03 +01:00
Thierry Crozat 7382a1a551 AGS: Game objects use texture cache when possible
Specify sprite ID for shared textures for: characters, objects, overlays
GUI and GUI objects are more complicated, a they may contain custom
(generated) graphics; using shared textures for them would require a
bigger change in how their sprites are organized when gathering draw
lists for render.

From upstream b724b43fa7f13ea2e89a3e9213dd76b00e59f9f4
2022-06-13 00:30:21 +01:00
Paul Gilbert 3ac6998a98 AGS: Support Overlays not copying the image, but storing a sprite id
From upstream fd14bd4075bd9e6a577235f2434275b260250c46
2022-05-08 11:37:49 -07:00
D G Turner dbaa9439da AGS: Remove Various Unused Variables Causing Compiler Warnings 2022-05-07 20:41:45 +01:00
Paul Gilbert 8f0da16853 AGS: Re-enable std::move call in ObjTexture constructor 2022-05-06 20:16:42 -07:00
Paul Gilbert 7282304951 AGS: Script API: implemented room overlays
From upstream 65a7cd7e7566d3a1111be10b70dcb51b1853cd88
2022-05-06 20:16:42 -07:00
Paul Gilbert cf091f2d3e AGS: Replaced couple of variables in ScreenOverlay with flags
From upstream 38a4e8c262f0ec796225494fc939b283680caf57
2022-05-06 20:16:41 -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 84a3925442 AGS: Simplified the use of get_overlay_position()
From upstream d673fb3822907fd01bf0e2c6f98bee04a8a5b17b
2022-05-05 22:41:09 -07:00
Paul Gilbert 97c12e8435 AGS: Merged Character and ObjectCache structs, and hid in draw.cpp
From upstream 753d47d975b10666702c47a22cbc4e68847787f1
2022-05-05 22:41:09 -07:00
Paul Gilbert a8ead540c5 AGS: GUIControl::CalcGraphicRect returns relative rect
From upstream f827c75396f433542b451ec4caaea4c41c22e5b2
2022-05-05 22:41:08 -07:00
Paul Gilbert a40ea44aa2 AGS: CharacterCache is stored in std::vector, hide in draw.cpp
From upstream 417879fce0dc27d458a73fedc20f311f3305f26f
2022-05-05 22:41:08 -07:00
Paul Gilbert 6482e38803 AGS: CharacterExtras and MoveLists are stored in std::vector
From upstream 0c81cfefb788c0dcfdb2cad914f939f28110edca
2022-05-05 22:41:08 -07:00
Paul Gilbert 8e132f7b3f AGS: cc_error returns stack from all script threads
From upstream 9e76800d668d8d0af7d47d815e6d1b781c7601f6
2022-05-05 22:41:07 -07:00
Paul Gilbert 8e4254b839 AGS: Refactored walk-behinds calculation and texture generation
From upstream ac0c4cea6a6e41238fe74f0753fa6a458f05d954
2022-05-05 22:41:05 -07:00
Paul Gilbert 830c1b096b AGS: introduced ObjTexture struct which combines bmp and ddb
From upstream b628fb4d1b3ca6a85e2b2424a468f4cec94ae9c6
Also includes new implementation of std::vector class to
properly allow for arrays of smart pointers
2022-05-05 22:41:05 -07:00
D G Turner 437678110e AGS: Fix GCC Compiler Warnings 2022-05-02 16:19:16 +01:00
Paul Gilbert 4cd0ca9a27 AGS: Removed DrawAsSeparateCharSprite walk-behind method
From upstream e075376fd42c95ea2399809b7cc492cbc116b0db
2022-05-01 17:23:25 -07:00
Paul Gilbert d9da1e3759 AGS: Don't try rendering gui controls with zero size
From upstream 84179aecc419cc8feb56b947bb7519e69062fe70
2022-05-01 17:23:25 -07:00
Paul Gilbert 8ac8c037c9 AGS: Use transform_sprite() with overlays for consistency
From upstream f0a1c70836d10330f16723eb304821211b1f1bdf
2022-05-01 17:23:25 -07:00
Paul Gilbert d3f8627678 AGS: Refactored scale_and_flip_sprite() into transform_sprite()
From upstream 3a3f301709b65e6293028541df8fea084f9da7f9
2022-05-01 17:23:25 -07:00
Paul Gilbert 87994139f6 AGS: Tidied gui drawing code a little
From upstream c1bb2fb846c8ffe997ce2c1dda690467bc28edc4
2022-05-01 17:23:24 -07:00
Paul Gilbert f840223533 AGS: Fixed GUI's background image with alpha channel
From upstream d3820e0fd369516008633bbc12fc3da359067798
2022-05-01 17:23:24 -07:00
Paul Gilbert b2d5b6e586 AGS: Implemented Overlay.Width & Height working as scaling
From upstream 3a27e81a710a1c3de4b745d84dca39554dc64385
2022-05-01 17:23:24 -07:00
Paul Gilbert 3b20393a17 AGS: Implemented gui control transparency in software mode
From upstream bcffc2cdeb24a426e2b048e8a98df9c84cb7c6f2
2022-05-01 17:23:23 -07:00
Paul Gilbert 8319217b7a AGS: Added GUIControl.Transparency
From upstream a7c406b1d162bf9ac3896ecb8e26bc6d5327ecfe
2022-05-01 17:23:23 -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 53e1c22185 AGS: Fixes for the updated sprite batch system
From upstream db57e5b06aaf60728e1ade30a61f84d5850596dc
2022-05-01 17:23:22 -07:00
Paul Gilbert d52e2fb954 AGS: Gui control textures are rendered as gui sub-batches
From upstream 663394adb286384ba1b03ad95abc93a8dac40b05
2022-05-01 17:23:21 -07:00
Paul Gilbert 2f558ae1ed AGS: Fixed 8-bit sprites unexpectedly converted on load
From upstream b9804f5ac307e390de205b20f7c803dcf6812df2
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 a476850123 AGS: Calculate visible graphic size of gui controls for textures
From upstream a91bec5f3fa7f37187a084cabd0ab2289e609a6e
2022-05-01 17:23:19 -07:00
Paul Gilbert 2df62bdd55 AGS: Only redraw gui controls when they are marked as changed
From upstream 27a6bd6a13494cd670fb6749e5bd663f088487ea
2022-05-01 17:23:19 -07:00
Paul Gilbert c768b94cf6 AGS: Draw GUI Controls on separate textures
From upstream 5cbe36626842ddd900cbda8fd4b6ddfc3804456f
2022-04-29 22:20:41 -07:00
Paul Gilbert 673c8c242e AGS: Split GUIMain::DrawAt into DrawSelf and DrawWithControls
From upstream d353f8151d77c1c9e66f8b1aed7b24ecbadf0609
2022-04-29 22:20:40 -07:00