Commit Graph
17 Commits
Author SHA1 Message Date
Walter Agazzi f13f7cfac2 AGS: Engine: rem the distinction between static/dynamic objects in script VM
From upstream 04450b2a41f0e0f107a4ea85dab375f439b4ffae
2024-10-30 18:07:42 +02:00
Walter Agazzi ac0422354a AGS: Engine: renamed ICCDynamicObject to IScriptObject
because this interface is now used for both Dynamic and
Static object managers.
From upstream 1bb14f7a2bae43534edf950c040bcd4a1be5f7df
2024-10-30 18:07:42 +02:00
Walter Agazzi 54b8b1d873 AGS: Engine: changed script object data pointers from char* to void*
This seems to be far more appropriate.
From upstream a495538a5e0106a655e4e04cf547be8ec9284d7c
2024-10-30 18:07:42 +02:00
Walter Agazzi 70dd8cb1f8 AGS: Engine: in RuntimeScriptValue store generic ptr as void*
From upstream 9d11b497907419ce9bf0ea47eb585bd748a3e027
2024-10-30 18:07:42 +02:00
Walter Agazzi 795dacac07 AGS: Engine: inherit StaticObject managers from ICCDynamicObject
This removes an excessive separation between "static managers" and "dynamic managers",
and let use the single ICCDynamicObject interface when working with both kinds.
Simplifies RuntimeScriptValue and StaticArray classes.

Picked out most common implementation into CCBasicObject, which is inherited by
AGSCCDynamicObject and AGSCCStaticObject.

From upstream 781632881dd64af2b57b789617da15107bca9451
2024-10-30 18:07:42 +02:00
Walter Agazzi 08bd16b555 AGS: Engine: replaced more if/else with switches in RuntimeScriptValue
From upstream e51283a73c346d7738f809afd2955c0f95eaf72a
2024-10-30 18:07:42 +02:00
Walter Agazzi 3a5ccd4cba AGS: Engine: moved dynamic object management functions to a separate unit
From upstream 1a9df937e3ac9eba0c2f5b663507a52569d635e0
2024-10-30 18:07:42 +02:00
Walter Agazzi a0a739d497 AGS: Engine: another refactor for RuntimeScriptValue::Read/WriteValue funcs
from upstream f4115e36ad769b060443170ae8199002161561e7
2024-10-30 18:07:42 +02:00
Walter Agazzi b1e4aba613 AGS: Engine: ccInstance: tiny optimizations in SCMD_MEMREAD/WRITE/INITPTR
From upstream eb0b0020cf4168862a7ddb01af24684486691804
2024-10-30 18:07:42 +02:00
Walter Agazzi 650c93b7d0 AGS: Engine: ccInstance: have stack-related asserts under DEBUG_CC_EXEC
from upstream e16b94226fd1a67799f032c42ea3ff0d382ba423
2024-10-30 18:07:42 +02: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
Paul Gilbert 1e76c86ff4 AGS: Fix display of plugin function names in script dumps 2021-09-08 21:54:40 -07:00
Paul Gilbert 2a3bfcf8c6 AGS: Clear methodName in RuntimeScriptValue for other data types 2021-07-23 20:08:20 -07:00
Paul Gilbert 7dfeb809f2 AGS: Refactored call_function to also use PluginMethod 2021-07-19 19:17:12 -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 701396361c AGS: Import of fresh codebase 2021-06-13 21:08:44 -07:00