[Scummvm-git-logs] scummvm master -> d8a6a0c527628b92e210d556b3e9c9307cb87881

dreammaster dreammaster at scummvm.org
Sun Mar 14 18:47:55 UTC 2021


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2e16ff3d84 AGS: Fix calling plugin onEvent methods
d8a6a0c527 AGS: AGS_EngineOnEvent for AgsCreditz2


Commit: 2e16ff3d84f888e1f417641fd765d81c089d4370
    https://github.com/scummvm/scummvm/commit/2e16ff3d84f888e1f417641fd765d81c089d4370
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-14T11:44:59-07:00

Commit Message:
AGS: Fix calling plugin onEvent methods

Changed paths:
    engines/ags/plugins/agsplugin.cpp


diff --git a/engines/ags/plugins/agsplugin.cpp b/engines/ags/plugins/agsplugin.cpp
index 4e7d9d0abd..375010c4f3 100644
--- a/engines/ags/plugins/agsplugin.cpp
+++ b/engines/ags/plugins/agsplugin.cpp
@@ -100,7 +100,7 @@ struct EnginePlugin {
 	int         invalidatedRegion;
 	void (*engineStartup)(IAGSEngine *) = nullptr;
 	void (*engineShutdown)() = nullptr;
-	NumberPtr (*onEvent)(int, NumberPtr) = nullptr;
+	int64 (*onEvent)(int, NumberPtr) = nullptr;
 	void (*initGfxHook)(const char *driverName, void *data) = nullptr;
 	int (*debugHook)(const char *whichscript, int lineNumber, int reserved) = nullptr;
 	IAGSEngine  eiface;
@@ -946,7 +946,7 @@ Engine::GameInitError pl_register_plugins(const std::vector<Shared::PluginInfo>
 			if (apl->engineStartup == nullptr) {
 				quitprintf("Plugin '%s' is not a valid AGS plugin (no engine startup entry point)", apl->filename);
 			}
-			apl->onEvent = (NumberPtr(*)(int, NumberPtr))apl->library.GetFunctionAddress("AGS_EngineOnEvent");
+			apl->onEvent = (int64(*)(int, NumberPtr))apl->library.GetFunctionAddress("AGS_EngineOnEvent");
 			apl->debugHook = (int(*)(const char *, int, int))apl->library.GetFunctionAddress("AGS_EngineDebugHook");
 			apl->initGfxHook = (void(*)(const char *, void *))apl->library.GetFunctionAddress("AGS_EngineInitGfx");
 		} else {


Commit: d8a6a0c527628b92e210d556b3e9c9307cb87881
    https://github.com/scummvm/scummvm/commit/d8a6a0c527628b92e210d556b3e9c9307cb87881
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-14T11:45:00-07:00

Commit Message:
AGS: AGS_EngineOnEvent for AgsCreditz2

Changed paths:
    engines/ags/plugins/ags_creditz/ags_creditz2.cpp
    engines/ags/plugins/ags_creditz/ags_creditz2.h


diff --git a/engines/ags/plugins/ags_creditz/ags_creditz2.cpp b/engines/ags/plugins/ags_creditz/ags_creditz2.cpp
index 9f483ea884..42a3054e2d 100644
--- a/engines/ags/plugins/ags_creditz/ags_creditz2.cpp
+++ b/engines/ags/plugins/ags_creditz/ags_creditz2.cpp
@@ -33,6 +33,7 @@ AGSCreditz2::AGSCreditz2() : AGSCreditz() {
 
 	DLL_METHOD(AGS_GetPluginName);
 	DLL_METHOD(AGS_EngineStartup);
+	DLL_METHOD(AGS_EngineOnEvent);
 }
 
 const char *AGSCreditz2::AGS_GetPluginName() {
@@ -42,6 +43,7 @@ const char *AGSCreditz2::AGS_GetPluginName() {
 void AGSCreditz2::AGS_EngineStartup(IAGSEngine *engine) {
 	_engine = engine;
 	_playSound = (IntFunction)_engine->GetScriptFunctionAddress("PlaySound");
+	engine->RequestEventHook(AGSE_POSTSCREENDRAW);
 
 	SCRIPT_METHOD(RunCreditSequence);
 	SCRIPT_METHOD(SetCredit);
@@ -63,6 +65,13 @@ void AGSCreditz2::AGS_EngineStartup(IAGSEngine *engine) {
 	SCRIPT_METHOD(GetCurrentStaticCredit);
 }
 
+int64 AGSCreditz2::AGS_EngineOnEvent(int event, NumberPtr data) {
+	if (event & AGSE_POSTSCREENDRAW)
+		draw();
+
+	return 0;
+}
+
 void AGSCreditz2::RunCreditSequence(ScriptMethodParams &params) {
 	PARAMS1(int, sequence);
 
diff --git a/engines/ags/plugins/ags_creditz/ags_creditz2.h b/engines/ags/plugins/ags_creditz/ags_creditz2.h
index 9b9e4fb02b..37a4a1adc5 100644
--- a/engines/ags/plugins/ags_creditz/ags_creditz2.h
+++ b/engines/ags/plugins/ags_creditz/ags_creditz2.h
@@ -38,6 +38,7 @@ private:
 private:
 	static const char *AGS_GetPluginName();
 	static void AGS_EngineStartup(IAGSEngine *engine);
+	static int64 AGS_EngineOnEvent(int event, NumberPtr data);
 
 	static void RunCreditSequence(ScriptMethodParams &params);
 	static void SetCredit(ScriptMethodParams &params);




More information about the Scummvm-git-logs mailing list