Walter Agazzi
c46b2feaca
AGS: Engine: removed redundant quit_shutdown_scripts()
...
Scripts are shut down in unload_game().
It did not do what the function name implied anyway...
From upstream 67c0bdc9e854c558282d290ef5952ac211cc4133
2024-04-02 23:18:14 +02:00
Walter Agazzi
cc6bbd1083
AGS: Engine: hotfix potential exception if cc_error is called during quit()
...
From upstream a64e3424f70677f9393e4f8c506f03ed628aee47
2024-04-02 23:09:17 +02:00
Walter Agazzi
f09519834c
AGS: Engine: updated unload_game_file(), fix few things not reset
...
This is not as important in case of game quit, as it is in case of RunAGSGame().
* Adjusted order of data release in unload_game_file() to be in sync with 3.6.1 (as much as possible).
* Fixed GameSetupStruct not releasing some of the data in Free().
Noteably this fixes font infos to not getting fully reset on RunAGSGame().
from upstream 1cc9d22095d0ee90541ce506fa54c538de7ca4ad
2024-03-28 12:03:33 +01:00
Walter Agazzi
cce6aff754
AGS: Engine: replaced uses of strncpy with snprintf for safety
...
From upstream 02feb81b34f041dccd8a4bb33ff060cc532d979b
2024-01-17 03:12:30 +01:00
Walter Agazzi
4e6d475e17
AGS: Engine: fixed gamename label not updating if Game.Name changes
...
From upstream ae34b8881f64d422971aab3d70758c5184aca0b4
2024-01-17 03:12:29 +01:00
Walter Agazzi
47b3cb7de7
AGS: Engine: rename legacysaves config options, bring to consistency
...
From upstream e8d043327f896ce4f10aee04d55a4029ce81d1eb
2023-09-16 13:32:58 +02:00
Walter Agazzi
57e9963b2e
AGS: Engine: fixed game package test when loading an old save
...
From upstream 40b679d25cd4ca41fc297ae37effac631d066bd3
2023-09-02 14:03:04 +02:00
Walter Agazzi
947acb21ec
AGS: Engine: fixed improper cleanup of scrGUI array in unload_game_file()
...
From upstream 045b4a6ed1e09a2d563ee5ad0addf601f700173d
2023-09-02 14:02:52 +02:00
Walter Agazzi
ff0298be68
AGS: Engine: ignore mod and special keys when skipping speech and wait
...
Partially from upstream 8079c87ca11fa6b60ed2dd2ce345cda6c384c00b
2023-08-13 10:58:26 +02:00
Walter Agazzi
c05887d3a4
AGS: Implement GAMEOPTION_NO_SAVE_THUMBNAIL
...
Added game option flag to disable screenshot/thumbnail creation
on save
2023-06-16 22:47:37 +01:00
Walter Agazzi
5a14999455
AGS: Don't create screenshot for Whispers of a Machine
...
Disable screenshot workaround for Whispers of a Machine, which autosaves frequently
and causes an annoying flicker
2023-06-14 11:18:53 +02:00
Walter Agazzi
a7d69a40cb
AGS: Restore screenshot creation workaround on save
...
This commit restores the old workaround to force screenshot creation on save,
which was lost among the upstream commits
Fixes bug #14477
2023-06-08 14:40:05 +02:00
Eugene Sandulenko
03460f9469
AGS: Fix bitwise operations
2023-04-29 20:28:20 +02:00
Walter Agazzi
2775d0e3d0
AGS: Engine: a fix for coincidental dynamic sprite replacement in old games
...
This is a (ugly) backward compatible workaround in game_sprite_deleted().
Apparently there are few games that may rely (either with or without author's intent) on newly
created dynamic sprite being assigned same index as a recently deleted one, which results in
new sprite "secretly" taking place of an old one on the GUI, etc.
One known example is "Kathy Rain" game.
For old games we keep only partial index reset (full cleanup is 3.5.0+).
From upstream e8409920049b2a8859856d3525a8f112227df4df
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
Walter Agazzi
5ad85c6b42
AGS: Common: replaced GameSetupStruct::messages with an array of Strings
...
This also fixes an allocation/deallocation mismatch found in the code.
From upstream b47a086cbd589cd271c5fe1b3497f9b8e4ae4abf
2023-03-12 20:58:27 +00:00
Walter Agazzi
028567e890
AGS: Engine: improved parameter logging in SetAudioTypeVolume
...
from upstream 94598f32ff20494a3239f258ac972f8108bc05bf
2023-01-17 17:27:07 +00: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
5987bc5e6e
AGS: rewrote eAGSMouseButton enum to sync with the script API
...
* Changed from -1 - based constants to 0 - based constants;
* These were purely internal values, therefore no API would be harmed;
* Removed necessity of converting from internal mouse button code to script and back all the time;
* On a side note, this fixes a bug where WaitMouse etc were returning incorrect values on mouse skip, because we forgot to convert from internal to script code.
From upstream 471098d239b076c494beb2d554572ccb69372667
2022-10-10 00:16:16 +01:00
Thierry Crozat
119e09e56e
AGS: Removed a too early call to pl_stop_plugins() and fixed another
...
There's one call in unload_game_file(), which should be called after
all objects that may have been provided by plugins are disposed
(fonts, managed objects).
From upstream 462cabe7353fc75f3cf70222a97028066f12f030
2022-06-24 20:54:47 +01:00
Thierry Crozat
3a4d94bf0b
AGS: Updated Multitasking setting
...
* Added `[misc] multitasking=[0,1]` to config, acting as a *starting*
setting, which may be changed by runtime call to `SetMultitaskingMode`;
* Ensure multitasking mode is overridden by connected external debugger
(always on, if possible);
* Let multitasking mode work in "fullscreen desktop" gfx mode (still
disabled in exclusive fullscreen);
* Now correctly reset multitasking mode if gfx mode changes.
From upstream 9f091926e393f75c90c951f9597710bf17395332
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
0c936b888d
AGS: Fixed GUI textual controls not redrawn when translation changes
...
From upstream 618d2e38a118f47389aaf7e57972b2520b81fc1b
2022-06-21 23:28:01 +01:00
Thierry Crozat
fe80834639
AGS: Store DialogTopics in std::vector
...
From upstream 2609c0d1ee43a4f997021ce48ca2a4f70ca1a6c7
2022-06-20 23:52:25 +01:00
Thierry Crozat
b49d3b2e9f
AGS: In unload_game_file() don't error if quit during the of dialog
...
From upstream c7bd448dfffc197c4398a38395b444457c958d24
2022-06-19 20:50:24 +01:00
Thierry Crozat
e90fb00412
AGS: Replaced more strcpy with snprintf, for safety
...
From upstream 1b6cf053ebbe85e7ba6c5828e2582d757503bc16
2022-06-19 20:50:24 +01:00
Thierry Crozat
b948d94ce2
AGS: Implemented dialog_options_close callback
...
From upstream 88cb130d1063bf5268bbcae29ffaae37324f5a30
2022-06-19 00:46:56 +01:00
Thierry Crozat
282ee9ad97
AGS: Fixing more trivial warnings
...
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
Thierry Crozat
5d8c66c511
AGS: Implemented debug keys for saving/restoring a game
...
This may be useful in case the game does not provide any save system, or one is broken.
From upstream 86130ec92f6966cfa2d5565c749ba839acad8136
2022-06-16 23:16:20 +01:00
Thierry Crozat
74416f547f
AGS: Removed redundant arrays keeping copies of obj script names
...
From upstream f0887ba798b9df7aa70125b432efd5d62c64a622
2022-06-15 22:13:02 +01:00
Thierry Crozat
aecb62429d
AGS: Update shared texture when dynamic sprite changes
...
From upstream 6be0e6d094e70e96d93a9ee4dd31ca166663eeaf
2022-06-13 00:30:21 +01:00
Paul Gilbert
1933841f79
AGS: Removed numgui* variables, use size of vectors instead
...
From upstream 095cf9d77c96fb3a1f9e887d7aaa1ef1e92ebe60
2022-05-10 21:35:19 -07:00
Paul Gilbert
a8ebf2b41b
AGS: Added "clone" parameter to Overlay.CreateGraphical()
...
From upstream 2a7adfb6a3424017913c9a6c240525029debf1e0
2022-05-08 11:37:49 -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
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
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
Paul Gilbert
ebe2096af7
AGS: Call unload_game_file() in quit()
...
From upstream 1118be9d3f09037b995554d7aad47a400a76fafc
2022-05-01 17:23:26 -07:00
Paul Gilbert
fbd328b0ae
AGS: On changed or deleted dynamic sprite, also update sliders
...
From upstream f675c7ff7eb33bc2969098ab59afffac078b95bb
2022-05-01 17:23:23 -07:00
Paul Gilbert
6ef504bba2
AGS: Store gui draw order in a std::vector
...
From upstream fcc873ef0c26439faf67100f4d70d540434ca9f5
2022-05-01 17:23:22 -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
6ee31a530e
AGS: Removed unnecessary ags_domouse() calls
...
From upstream de28de1dd44d991a479ae0adb5fdb4996fe33656
2022-04-29 22:20:39 -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
ecb7e42439
AGS: unserialize dynamic objects using MemoryStream
...
From upstream c9007679f21e8347d34312b0dd078bbbd29f0de5
2022-04-23 22:14:54 -07:00
Paul Gilbert
1f666cf0dc
AGS: Fixed loading a different game when restoring a save
...
From upstream 56fb3029f61706b655f778349e2c4f50c8e03427
2022-04-23 19:26:25 -07:00
Paul Gilbert
17bac5b1ef
AGS: Removed redundant function domouse(int what)
...
From upstream 3dfda41382bdd10e3b2b78f797fade8b5dcc1efa
2022-04-23 18:15:02 -07:00
Paul Gilbert
09da0fbf5d
AGS: Implemented dialog_options_text_input(int chr) callback
...
From upstream 76db49c6189810faa467b00c1aef9e78c526876d
2022-04-18 19:10:39 -07:00
Paul Gilbert
aeddd232e0
AGS: Removed animating buttons limit
...
From upstream 484f6d3f44c7dbb361ddeebd8bb46862760501bc
2022-04-13 21:55:18 -07:00
Paul Gilbert
0b639b8f46
AGS: Implemented video pause/resume, react to window focus events
...
From upstream 5934c62be17e179607c3387ea31c70bfddaac399
Stuff in the VideoPlayer class not implemented
2022-04-12 22:27:57 -07:00
D G Turner
3451e18f70
AGS: Fix Cast Qualification GCC Compiler Warning
2022-04-02 16:47:59 +01:00