[Scummvm-git-logs] scummvm master -> 4d15fc94c8dd8211e67e6e3171ceade370880702

dreammaster noreply at scummvm.org
Wed Jun 1 04:04:28 UTC 2022


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

Summary:
4d15fc94c8 AGS: Refactor ScummVM GfxFilter from being static global


Commit: 4d15fc94c8dd8211e67e6e3171ceade370880702
    https://github.com/scummvm/scummvm/commit/4d15fc94c8dd8211e67e6e3171ceade370880702
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-05-31T21:04:19-07:00

Commit Message:
AGS: Refactor ScummVM GfxFilter from being static global

Changed paths:
    engines/ags/engine/gfx/ali_3d_scummvm.cpp
    engines/ags/engine/gfx/gfxfilter_scummvm_renderer.cpp
    engines/ags/engine/gfx/gfxfilter_scummvm_renderer.h
    engines/ags/globals.cpp
    engines/ags/globals.h


diff --git a/engines/ags/engine/gfx/ali_3d_scummvm.cpp b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
index 9a4edea27dd..d400241ae3f 100644
--- a/engines/ags/engine/gfx/ali_3d_scummvm.cpp
+++ b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
@@ -740,14 +740,14 @@ size_t ScummVMRendererGraphicsFactory::GetFilterCount() const {
 const GfxFilterInfo *ScummVMRendererGraphicsFactory::GetFilterInfo(size_t index) const {
 	switch (index) {
 	case 0:
-		return &ScummVMRendererGfxFilter::FilterInfo;
+		return _G(scummvmGfxFilter);
 	default:
 		return nullptr;
 	}
 }
 
 String ScummVMRendererGraphicsFactory::GetDefaultFilterID() const {
-	return ScummVMRendererGfxFilter::FilterInfo.Id;
+	return _GP(scummvmGfxFilter).Id;
 }
 
 /* static */ ScummVMRendererGraphicsFactory *ScummVMRendererGraphicsFactory::GetFactory() {
@@ -763,7 +763,7 @@ ScummVMRendererGraphicsDriver *ScummVMRendererGraphicsFactory::EnsureDriverCreat
 }
 
 ScummVMRendererGfxFilter *ScummVMRendererGraphicsFactory::CreateFilter(const String &id) {
-	if (ScummVMRendererGfxFilter::FilterInfo.Id.CompareNoCase(id) == 0)
+	if (_GP(scummvmGfxFilter).Id.CompareNoCase(id) == 0)
 		return new ScummVMRendererGfxFilter();
 	return nullptr;
 }
diff --git a/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.cpp b/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.cpp
index 95a3cd533d9..bdd95c78657 100644
--- a/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.cpp
+++ b/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.cpp
@@ -20,16 +20,15 @@
  */
 
 #include "ags/engine/gfx/gfxfilter_scummvm_renderer.h"
+#include "ags/globals.h"
 
 namespace AGS3 {
 namespace AGS {
 namespace Engine {
 namespace ALSW {
 
-const GfxFilterInfo ScummVMRendererGfxFilter::FilterInfo = GfxFilterInfo("StdScale", "Nearest-neighbour");
-
 const GfxFilterInfo &ScummVMRendererGfxFilter::GetInfo() const {
-	return FilterInfo;
+	return _GP(scummvmGfxFilter);
 }
 
 } // namespace ALSW
diff --git a/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.h b/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.h
index f52710fea45..5aaef8b8682 100644
--- a/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.h
+++ b/engines/ags/engine/gfx/gfxfilter_scummvm_renderer.h
@@ -41,8 +41,6 @@ public:
 	virtual ~ScummVMRendererGfxFilter() {}
 
 	virtual const GfxFilterInfo &GetInfo() const;
-
-	static const GfxFilterInfo FilterInfo;
 };
 
 } // namespace ALSW
diff --git a/engines/ags/globals.cpp b/engines/ags/globals.cpp
index 0a3f56dca54..1aec36ddcf1 100644
--- a/engines/ags/globals.cpp
+++ b/engines/ags/globals.cpp
@@ -253,6 +253,8 @@ Globals::Globals() {
 	_StaticInventoryArray = new StaticArray();
 	_StaticDialogArray = new StaticArray();
 
+	_scummvmGfxFilter = new AGS::Engine::GfxFilterInfo("StdScale", "Nearest-neighbour");
+
 	// gfxfilter_aad3d.cpp globals
 	_aad3dFilterInfo = new AGS::Engine::GfxFilterInfo("Linear", "Linear interpolation");
 
@@ -511,6 +513,7 @@ Globals::~Globals() {
 	delete _StaticRegionArray;
 	delete _StaticInventoryArray;
 	delete _StaticDialogArray;
+	delete _scummvmGfxFilter;
 
 	// gfxfilter_aad3d.cpp globals
 	delete _aad3dFilterInfo;
diff --git a/engines/ags/globals.h b/engines/ags/globals.h
index 5a22f037d13..82b3e80d9aa 100644
--- a/engines/ags/globals.h
+++ b/engines/ags/globals.h
@@ -859,6 +859,7 @@ public:
 	 */
 
 	const AGS::Engine::GfxFilterInfo *_allegroFilterInfo;
+	AGS::Engine::GfxFilterInfo *_scummvmGfxFilter;
 
 	/**@}*/
 




More information about the Scummvm-git-logs mailing list