[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