Walter Agazzi
1c5ca014ca
Engine: allow scene render in "load room" event if transition instant
...
Fixes behavior after ed5e81c.
Although somewhat inconsistent, but AGS historically allowed to run animations in "room load" event,
and they would be rendered if last room transition was "Instant", because the screen was not faded out.
From upstream fb2fd763a471af7532324a4da8e0f655e7cf5516
2024-10-30 18:07:42 +02:00
Walter Agazzi
9a766e1a35
AGS: Engine: fixed extra frame drawn before Crossfade or Dissolve fadein
...
From upstream ed5e81cfb6e933ef5b6fc139b362723f1de34f10
2024-10-30 18:07:42 +02:00
Walter Agazzi
1f2ef9ce4a
AGS: Engine: fixed Crossfade and Dissolve transitions in letterbox mode
...
From upstream 4ad64d3f2a7dfaaff07b8ccd17ececab76720477
2024-10-30 18:07:42 +02:00
Walter Agazzi
38115f48b1
AGS: Engine: fixed Dissolve transition
...
From upstream 55f1d0376ef583b5f7d767e31c83e190c005246f
2024-10-30 18:07:42 +02:00
Walter Agazzi
d4cc4a8808
AGS: Engine: proper handling of Hotspot WalkOn/MouseOver event args
...
From upstream 8fee5f33c0070f9f9a86f29470de53caea823d26
2024-10-30 18:07:42 +02:00
Walter Agazzi
ee82074a47
AGS: Engine: further tidy up around agsplugin.h/cpp
...
* Moved plugin API event constants to a separate header agsplugin_evts.h.
Engine should not include whole plugin API, this is unnecessary, and may
create naming conflicts.
* Moved SimulateMouseClick to mouse.cpp.
* Minor cleanup in agsplugin.cpp
From upstream 510293c1fd277d853544534423ceea27b8ae3e2d
2024-10-30 18:07:42 +02:00
Walter Agazzi
815041ec6a
AGS: Engine: store game's ccInstances as unique_ptrs instead
...
The script handling part of the engine appeared to be too fragile and dependent on
a precise timing of **deleting** a ccInstance.
For example, restoring a saved game may execute in the midst of the call to
RunScriptFunction(), at the "post script cleanup" stage, while there are still references
to ccInstance on the engine's call stack (and few other places). If anything prevents
ccInstance's disposal at this moment, that would in turn lead to logical errors due to
the game scripts "instances" counting. The most outstanding consequence is that the
script exports are kept pointing into the deleted memory and not re-registered after the save is restored.
Overall, the script handling part of the engine would benefit from a major refactor,
with a goal to make it safe and consistent, but this is not something I might do at the moment.
From upstream 1f6abf4b678f77825c710d4ae18b57ff8f882c93
2024-10-30 18:07:42 +02:00
Walter Agazzi
51cf1f1568
AGS: Engine: tidied code in RunObjectInteraction functions
...
From upstream c20764239b3a8a234c473feb4f7009afdc3c4c6d
2024-10-30 18:07:42 +02:00
Walter Agazzi
dd8c13c1f0
AGS: Engine: replaced global evblock* vars with a local ObjectEvent argument
...
From upstream 279d3d78ff04423fce137a4907fd42d44ee12969
2024-10-30 18:07:42 +02:00
Walter Agazzi
253187f4e2
Revert "AGS: Engine: store game's ccInstances as unique_ptrs instead"
...
This reverts commit 547cd40186876f17914f6a96261aaf5c4dfc21b4.
2024-10-30 18:07:42 +02:00
Walter Agazzi
b1e7617964
AGS: Engine: store game's ccInstances as unique_ptrs instead
...
From upstream 1f6abf4b678f77825c710d4ae18b57ff8f882c93
2024-10-30 18:07:42 +02:00
Walter Agazzi
b580078759
AGS: Engine: implemented "after fade-out" room callback, and global event
...
From upstream d3057943e5f979d9386c412d62e8e2e953a623c5
2024-10-30 18:07:42 +02:00
Le Philousophe
49b4c1b3c4
AGS: Revert to use std namespace
...
This allows to minimize changes from upstream
2024-07-08 21:37:28 +02:00
Paul Gilbert
c2a476411c
AGS: Move std namespace into common/std/
2024-07-07 15:28:31 -07:00
Walter Agazzi
12e4bb39fa
AGS: Engine: force clear event queue in processallevents()
...
Was broken by a2f9a5b, then tried to fix by 6a71d85, but not fully fixed still.
From upstream cbaeff15229bb81828d418ed71a11dfe0b30e6fd
2023-09-23 17:10:08 +02:00
Walter Agazzi
7ca114ea49
AGS: Engine: made FadeIn and FadeOut functions look consistent
...
From upstream 95c4362271734c5cb724b314d7cc555f752e06a8
2023-04-29 13:11:41 +02:00
Walter Agazzi
c366ce5eef
AGS: Removed update_polled_stuff_if_runtime() from data loading functions
...
Leave it with a new name as `update_polled_stuff()` only in functions
related to the game update.
From upstream 95dc139f51e704da19792e5480e69bbfe7ec27aa
2023-03-12 20:58:28 +00:00
Thierry Crozat
db1d5b17cd
AGS: Tidy vsync setting methods in renderers
...
From upstream 5ff955152c43f6adfe03298a7cac069efffbee4d
2022-06-21 23:28:01 +01:00
Thierry Crozat
a7017efb7b
AGS: Added event eEventEnterRoomAfterFadein
...
From upstream 98312a3929df381604d3879aae61a0c3c15d9ca6
2022-06-19 00:46:56 +01:00
Paul Gilbert
28a2b6aa9c
AGS: Added extra checks for abort_engine being set
...
This fixes an intermittant error I noticed when
qutting QFG2AGDI via the quit dialog could open
the debugger with an error rather than exitting
2022-05-05 22:41:09 -07:00
Paul Gilbert
16d0d89787
AGS: Grouped ccError variables in a struct
...
From upstream 48ef387226e4d420dc62d0a0b204cf4cd89a1139
2022-05-05 22:41:07 -07:00
Paul Gilbert
a2a5f2575d
AGS: Reorganized few cc_ headers
...
From upstream ea1f8b9ece69fc7c49c4d3aa7b9af51c4ca736e5
2022-05-05 22:41:07 -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
1ab42991d1
AGS: Added more event constants, clarified couple event calls
...
From upstream ae6862f7917832ebc5f2314561938c01725ac8a2
2022-04-25 22:11:42 -07:00
Paul Gilbert
194dc7bafa
AGS: Fixed game events not cleared inside blocking action
...
From upstream 6a71d858819787001ad50516acae7164537bb02f
2022-04-25 22:00:14 -07:00
Paul Gilbert
9533c0e028
AGS: Made script module index an unsigned value
...
From upstream bd4e65677eb0319ff746e519ee40016000a4f4f9
2022-04-24 16:00:04 -07:00
Paul Gilbert
e736059bbe
AGS: pass key modifiers as an extra arg to on_key_press
...
From upstream b00b82220cbabf44185e042ef33b543fe2ad3543
2022-04-21 20:23:53 -07:00
Paul Gilbert
b2d8bcad75
AGS: Refactor RunTextScript* functions for the purpose of clarity
...
From upstream 17af6ca2cb1fba310900f5189da788fa52ef7dab
2022-04-18 19:10:39 -07:00
Paul Gilbert
2e24e08d5b
AGS: Brought few "run script" functions to similar arg list
...
From upstream 78163a07400353013dd939ca86f5513f3196394a
2022-04-18 19:10:39 -07:00
Paul Gilbert
8be58d3de2
AGS: Store game events in std::vector, remove event cap
...
From upstream a2f9a5ba94377686762b2828df4fccbe661d2b03
2022-04-18 19:10:29 -07:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Paul Gilbert
73347d4559
AGS: Remove _G macros from comments
2021-06-13 21:09:00 -07:00
Paul Gilbert
87dba2e276
AGS: Re-added checks for SHOULD_QUIT and abort_engine
2021-06-13 21:08:52 -07:00
Paul Gilbert
701396361c
AGS: Import of fresh codebase
2021-06-13 21:08:44 -07:00
Paul Gilbert
e22a8657ac
AGS: Fix crash exiting Mage's Initiation
2021-04-30 20:35:09 -07:00
Paul Gilbert
407d38e7e9
AGS: Add a lot of abort_engine checks to break out of scripts
...
Previously, quitting could generate spurious error messages
between the point abort_engine was set, and the outer game
loop where game execution was aborted. It just wasn't visible,
because abort_engine was set. Now that we're immediately
generating a ScummVM error for any error generated, I needed
to add extra abort_engine break checks to avoid any errors
2021-04-16 20:44:41 -07:00
Paul Gilbert
bf3c05128d
AGS: Move screen.cpp globals to Globals
2021-03-12 20:44:13 -08:00
Paul Gilbert
d88d97d69d
AGS: Move draw.cpp globals to Globals
2021-03-12 20:38:46 -08:00
Paul Gilbert
3a0a70bc43
AGS: Move more game.cpp globals to Globals
2021-03-10 21:01:11 -08:00
Paul Gilbert
2d82d32577
AGS: Move draw.cpp globals to Globals
2021-03-09 21:14:02 -08:00
Paul Gilbert
d12bb69417
AGS: Move event.cpp globals to Globals
2021-03-08 18:29:32 -08:00
Paul Gilbert
37b563ef35
AGS: Move game globals to Globals
2021-03-07 19:23:24 -08:00
Paul Gilbert
21e9dde4ca
AGS: Move cc_error.cpp globals to Globals
2021-03-06 15:11:39 -08:00
Paul Gilbert
b6dd902163
AGS: Move script.cpp globals into Globals
2021-02-28 16:41:48 -08:00
Paul Gilbert
ef245e2104
AGS: Move thisroom to Globals
2021-02-28 13:27:21 -08:00
Paul Gilbert
334b2a9d48
AGS: Move play to Globals
2021-02-27 15:31:34 -08:00
Paul Gilbert
1a8ae27b58
AGS: Move game & spriteset into Globals
2021-02-26 21:28:53 -08:00
Cameron Cawley
ff276f88ff
AGS: Refactor audio code
2021-02-08 18:03:22 -08:00
Paul Gilbert
d6b8c21557
AGS: Merged engine/plugin/ into plugins/ folder
2021-02-06 16:37:31 -08:00