Commit Graph
32 Commits
Author SHA1 Message Date
Thierry Crozat 6f512bb2af AGS: Removed some redundant/obsolete comments
From upstream a7bd24cd4822bdcabef061197c98d1224200aa2a
2022-10-09 18:56:36 +01:00
Thierry Crozat 08db4be24c AGS: As a hotfix, restored the old way to test for hung script loops
The timeout method introduced by 6f665dfe is not working very well and
gives "false positives", so I'll disable it for the time being.

From upstream e0edb28b6606c360a1ea3fdcc487c2b05929ed02
2022-06-23 23:57:49 +01:00
Thierry Crozat 6f665dfe68 AGS: Test for hanging script using timeout instead of while loops
From upstream c34f0c96596f1a7814c15e7a06c2c498cb95ebfc
2022-06-23 23:57:27 +01:00
Paul Gilbert a2a5f2575d AGS: Reorganized few cc_ headers
From upstream ea1f8b9ece69fc7c49c4d3aa7b9af51c4ca736e5
2022-05-05 22:41:07 -07:00
Paul Gilbert 480be2134b AGS: Added script instance thread stack, replacing current_instance
From upstream f3443cb7a4ae5858e5d2d28131aaf6cf138bc0ec
2022-05-05 22:41:06 -07:00
Paul Gilbert 608389c4c5 AGS: made SystemImports index an unsigned value
From upstream 30b8f4016c815f01b49398ddb697b454f1565218
2022-04-24 16:00:05 -07:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Max Horn b7e6d61669 JANITORIAL: Fix compiler warnings about unused code 2021-08-07 10:46:14 +02:00
Paul Gilbert 19cc95468a AGS: Fix 64-bit pointer plugin method result checks
In most cases, it looks like the GlobalReturnValue global is
set, resulting the return value being discarded
2021-08-04 20:55:37 -07:00
Paul Gilbert 2702b13768 AGS: Built-in script methods were being added to wrong import list 2021-07-23 20:08:21 -07:00
Paul Gilbert 6a4062d3fc AGS: Fix some comments in call_function 2021-07-20 20:25:54 -07:00
Paul Gilbert 7dfeb809f2 AGS: Refactored call_function to also use PluginMethod 2021-07-19 19:17:12 -07:00
Paul Gilbert ae1814553f AGS: Implement PluginMethod class as proxy for calling script methods 2021-07-18 21:47:45 -07:00
Paul Gilbert e543a32ec0 AGS: In progress converting plugin classes to be instance based
Previously the plugin system was obviously built around function
pointers, since a loaded plugin DLL would expose them statically.
This meant that the plugin classes I implemented also had to use
static methods, and all the variables had to be static as well.

This has been getting more and more annoying. So this commit is
an in-progress refactoring of AGS to allow for plugins to be
properly instance-based, and pointers to script methods will be
both a pointer to the plugin as well as the method name.
2021-07-18 17:07:01 -07:00
Paul Gilbert 83bf163365 AGS: Move script exports for DrawingSurface to a new plugins/core/ folder 2021-07-16 19:48:13 -07:00
Paul Gilbert c942554810 AGS: Fixes for calling plugins 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 2f094655f1 AGS: Move script_runtime.cpp globals to Globals 2021-03-12 20:59:14 -08:00
Paul Gilbert f3cf990c7c AGS: Move cc_instance.cpp globals to Globals 2021-03-12 19:51:14 -08:00
Paul Gilbert 003d890955 AGS: Move systemimports.cpp globals to Globals 2021-03-05 20:14:51 -08:00
Paul Gilbert 800adbacf5 AGS: Fix crash calling AGSCreditz plugin method
The latest change to try and properly handle NumberPtr results
from plugin methods broke the passed parameters on methods with
a void return. To solve this once and for all, I changed all
plugin methods to be a void return, and added a _results field
as part of the passed params parameter
2021-03-03 21:18:32 -08:00
SupSuper d9ba513ad0 AGS: Fix return type of plugin method calls 2021-03-03 22:03:08 +00:00
Paul Gilbert cd017a73c7 AGS: Revert Standardization of number types
This reverts commit a96422af52.
2021-02-16 19:45:02 -08:00
Paul Gilbert a96422af52 AGS: Standardization of number types
This not only simplifies all the use of _t types to the
ScummVM equivalents, it gets rid of the int32 usage in
favor of just int, solving common type clashes with the
Amiga, for which int doesn't match int32
2021-02-13 11:38:55 -08:00
Paul Gilbert d6b8c21557 AGS: Merged engine/plugin/ into plugins/ folder 2021-02-06 16:37:31 -08:00
Paul Gilbert 6767689c06 AGS: Simplifying passing of script method params to DLL class
The original had issues with the types of the method params
being 32 bits for ints, but 32 or 64 bits for string pointers.
This could easily result in a mismatch of passed params to
method definitions. To avoid this, I now pass the parameters
as a Common::Array, and a set of macros to simplify getting
the parameter values within the script method
2021-02-06 16:37:31 -08:00
Paul Gilbert c16efc3a1d AGS: Adding engine/script/ folder 2021-02-06 16:37:31 -08:00
Paul Gilbert 9a78e04039 AGS: Beginnings of engine/ inclusion 2021-02-06 16:37:31 -08:00
Paul Gilbert a7a9ca0543 AGS: Adding AGS3 namespace to cpp files 2021-02-06 16:37:31 -08:00
dreammaster 8026e4bb30 AGS: Run astyle formatting 2021-02-06 16:37:31 -08:00
Paul Gilbert bd6a58d1a1 AGS: Adding ScummVM comment headers 2021-02-06 16:37:31 -08:00
Paul Gilbert a60d290a08 AGS: Initial addition of engine/ and shared/ folders 2021-02-06 16:37:31 -08:00