Walter Agazzi
de40de36fb
AGS: Engine: change return type of GetDirectPtr() to void*
...
It makes little sense as intptr_t.
From upstream 23335a6b7c00267bb0419790f3f92d8ae4aedc3e
2024-10-30 18:07:42 +02:00
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