Commit Graph
24 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 83f4b713bc AGS: Fix turning off flashlight in Maniac Mansion Deluxe 2021-09-09 21:47:59 -07:00
Paul Gilbert 5f3004b94e AGS: Fix loading standalone AGS Maniac Mansion Deluxe saves
It seems the older version of AGSFlashlight didn't persist
it's fields in the savegame like the latest version does.
I decided against trying to explicitly figure out which
version of AGSFlashlight different games used, and instead
simply have fallback handling if the savegame doesn't
have the data.

The only minor disadvantage is that this means that whilst
savegames are portable from standalone AGS to ScummVM for
the game, it won't in the other direction. But I don't
think that's too major an issue, since it's only for the
few games that do use the old AGSFlashlight
2021-09-09 20:14:27 -07:00
Paul Gilbert 3370b6917c AGS: Revert AGSFlashlight to more closely match original
The plugin previously had a bunch of hacks since the
AGS engine was rendering the screen at 32-bits rather than
16-bits the original was designed for. But with more recent
engine changes, the screen is 16-bits again. So I was able
to revert the hacks and return to the original code
2021-08-07 19:11:52 -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 701396361c AGS: Import of fresh codebase 2021-06-13 21:08:44 -07:00
Paul Gilbert 8829142b4e AGS: Initial conversion of AGSFlashlight for 32-bit gfx
This at least fixes the darkness in Maniac Mansion Deluxe,
but it will likely need furhter work for any games that
specify more exotic functionalities, such as RGB tinting
2021-04-29 21:44:55 -07:00
Orgad Shaneh 78c48fd9df AGS: Remove unused private members and globals
Detected by Clang.
2021-04-09 19:18:07 -07:00
Le Philousophe 374fa81f42 AGS: Fix unsigned int/uint32 discrepancies 2021-03-07 10:25:47 +01: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 844a94d72b AGS: Fix plugin methods to ScriptMethodParams array 2021-02-25 19:34:10 -08:00
Paul Gilbert a291894e3b AGS: Change plugins savegame code to use Serializer 2021-02-16 21:13:45 -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
Paul Gilbert 81cbe37db3 AGS: Fix plugins onEvent methods, skeleton for ags_tcp_ip 2021-02-07 20:26:52 -08:00
Paul Gilbert 9a9a2a9078 AGS: Correct usage of int32 vs int 2021-02-07 12:04:58 -08:00
Paul Gilbert 8bc249b99f AGS: gcc compilation fixes 2021-02-06 16:37:31 -08:00
Paul Gilbert f46df1bb90 AGS: Added AGSPalRender plugin 2021-02-06 16:37:31 -08:00
Paul Gilbert e5b3b38dad AGS: Added AGSBlend plugin 2021-02-06 16:37:31 -08:00
Paul Gilbert 8dcf692ce5 AGS: Added AGSFlashlight plugin 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