Commit Graph
36 Commits
Author SHA1 Message Date
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Paul Gilbert ae1814553f AGS: Implement PluginMethod class as proxy for calling script methods 2021-07-18 21:47:45 -07:00
Paul Gilbert fdb9d8e43e AGS: Properly handle plugin execMethod for derived plugin classes 2021-07-18 17:07:02 -07:00
Paul Gilbert 2b719124d3 AGS: Move separate state structure into AGSCreditz 2021-07-18 17:07:02 -07:00
Paul Gilbert 8caed23e8b AGS: Refactoring the plugins for new instance scheme 2021-07-18 17:07:02 -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 98a9234253 AGS: Hooked in keyboard handling 2021-06-13 21:08:54 -07:00
Paul Gilbert 701396361c AGS: Import of fresh codebase 2021-06-13 21:08:44 -07:00
Paul Gilbert cc12d75846 AGS: Add IsFinished as an alias in agscreditz plugin 2021-04-16 20:26:12 -07:00
Paul Gilbert f28a167a25 AGS: AGSCreditz compilation fix, deprecated code removal 2021-03-26 21:22:41 -07:00
Paul Gilbert 0532a6cf9a AGS: Fix AGSCreditz rendering
The text is now rendered directly to the existing virtual screen,
rather than creating a new one then blitting over the background,
applying the text on it, and then making it the active screen
2021-03-26 20:47:24 -07:00
Paul Gilbert ec4e8b4d09 AGS: Fix center aligning credit text 2021-03-26 20:47:23 -07:00
Paul Gilbert 445f565589 AGS: Creditz plugin is partially showing credits 2021-03-26 20:47:23 -07:00
Paul Gilbert 98cf7e5bb8 AGS: Register AGSPluginz 1 event handler 2021-03-26 20:47:23 -07:00
Paul Gilbert 54e6707abf AGS: Further AGSCreditz1 methods 2021-03-19 19:48:17 -07:00
Paul Gilbert 5fb618a678 AGS: Implementing AGSCreditz1 methods 2021-03-18 22:04:44 -07:00
Paul Gilbert b73ca790ac AGS: Have AGSCreditz2 only do pollSystem calls when active 2021-03-14 17:06:00 -07:00
Paul Gilbert d8a6a0c527 AGS: AGS_EngineOnEvent for AgsCreditz2 2021-03-14 11:45:00 -07:00
Thierry Crozat 8491d62fa6 AGS: Fix access to bitmaps in plugins
In ScummVM bitmap data are stored linearly but plugins
were accessing those as array of arrays leading to
out of bound memory access.
2021-03-06 21:21:22 +00: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
Paul Gilbert b7886c4b4a AGS: Allow NumberPtr to handle const pointers 2021-02-25 19:38:19 -08:00
Paul Gilbert 844a94d72b AGS: Fix plugin methods to ScriptMethodParams array 2021-02-25 19:34:10 -08:00
Paul Gilbert 155e74eae5 AGS: Change DLL base class to PluginBase 2021-02-16 20:22:43 -08: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
Le Philousophe 59ee9db798 AGS: Don't use int when int32 is expected
This breaks platforms where int32 is not int
2021-02-13 10:04:21 +01:00
Paul Gilbert 47c9414186 AGS: Implementing more of AGSCreditz2 2021-02-12 22:36:07 -08:00
Paul Gilbert 6ae29a802e AGS: Split up AGSCreditz versions into separate files 2021-02-07 19:47:37 -08:00
Paul Gilbert 9a9a2a9078 AGS: Correct usage of int32 vs int 2021-02-07 12:04:58 -08:00
Paul Gilbert 298a266c37 AGS: Starting to add AgsCreditz 2.0 support methods 2021-02-06 16:37:31 -08:00
Paul Gilbert 9ea3e804c8 AGS: Implemented AGSCreditz overall script methods 2021-02-06 16:37:31 -08:00
Paul Gilbert 211e5d7e90 AGS: Further separate methods in two AgsCreditz classes 2021-02-06 16:37:31 -08:00
Paul Gilbert ef8a01baee AGS: Fix compiler warnings 2021-02-06 16:37:31 -08:00
Paul Gilbert 0bad8f3969 AGS: Implementing AGSCreditz ScrollCredits 2021-02-06 16:37:31 -08:00
Paul Gilbert 57a1cd9580 AGS: Added AGSCredits 1.1 SetCredits method 2021-02-06 16:37:31 -08:00
dreammaster 58acb3579e AGS: Initial import of unmodified other plugins source
the AGS codebase comes with the option to build with several
built-in plugins that code is provided for. These will still
need to be cleaned up for the ScummVM DLL implementation
2021-02-06 16:37:31 -08:00