[Scummvm-git-logs] scummvm master -> 314de12b0526256bf2c71b289815d1d3c94de422

bluegr noreply at scummvm.org
Wed Jun 21 06:44:10 UTC 2023


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:
1fb6489072 GRIM: Add runtime introspection of renderer type used via `get_renderer` console command.
314de12b05 GRIM: Rename `[gs]et_renderer` console commands into `renderer_[gs]et`.


Commit: 1fb6489072f3c10716c2dabaad525a029e704c1e
    https://github.com/scummvm/scummvm/commit/1fb6489072f3c10716c2dabaad525a029e704c1e
Author: KOLANICH (kolan_n at mail.ru)
Date: 2023-06-21T09:44:05+03:00

Commit Message:
GRIM: Add runtime introspection of renderer type used via `get_renderer` console command.

Changed paths:
    engines/grim/debugger.cpp
    engines/grim/debugger.h
    engines/grim/gfx_base.cpp
    engines/grim/gfx_base.h
    engines/grim/gfx_opengl.cpp
    engines/grim/gfx_opengl_shaders.cpp
    engines/grim/gfx_tinygl.cpp
    engines/grim/grim.cpp
    engines/grim/grim.h


diff --git a/engines/grim/debugger.cpp b/engines/grim/debugger.cpp
index 51200329b37..9e07d614c8c 100644
--- a/engines/grim/debugger.cpp
+++ b/engines/grim/debugger.cpp
@@ -36,6 +36,7 @@ Debugger::Debugger() :
 	registerCmd("lua_do", WRAP_METHOD(Debugger, cmd_lua_do));
 	registerCmd("jump", WRAP_METHOD(Debugger, cmd_jump));
 	registerCmd("set_renderer", WRAP_METHOD(Debugger, cmd_set_renderer));
+	registerCmd("get_renderer", WRAP_METHOD(Debugger, cmd_get_renderer));
 	registerCmd("save", WRAP_METHOD(Debugger, cmd_save));
 	registerCmd("load", WRAP_METHOD(Debugger, cmd_load));
 }
@@ -107,6 +108,12 @@ bool Debugger::cmd_set_renderer(int argc, const char **argv) {
 	return false;
 }
 
+bool Debugger::cmd_get_renderer(int argc, const char **argv) {
+	auto rendererCodeStr = Graphics::Renderer::getTypeCode(g_grim->getRendererType());
+	debugPrintf("%s\n", rendererCodeStr.c_str());
+	return true;
+}
+
 bool Debugger::cmd_save(int argc, const char **argv) {
 	if (argc < 2) {
 		debugPrintf("Usage: save <save name>\n");
diff --git a/engines/grim/debugger.h b/engines/grim/debugger.h
index 465e1c19b9c..9557a5eb5f6 100644
--- a/engines/grim/debugger.h
+++ b/engines/grim/debugger.h
@@ -36,6 +36,7 @@ public:
 	bool cmd_checkFiles(int argc, const char **argv);
 	bool cmd_lua_do(int argc, const char **argv);
 	bool cmd_jump(int argc, const char **argv);
+	bool cmd_get_renderer(int argc, const char **argv);
 	bool cmd_set_renderer(int argc, const char **argv);
 	bool cmd_save(int argc, const char **argv);
 	bool cmd_load(int argc, const char **argv);
diff --git a/engines/grim/gfx_base.cpp b/engines/grim/gfx_base.cpp
index 27454463c2c..6b9f0e725ea 100644
--- a/engines/grim/gfx_base.cpp
+++ b/engines/grim/gfx_base.cpp
@@ -46,6 +46,7 @@
 namespace Grim {
 
 GfxBase::GfxBase() :
+		type(Graphics::RendererType::kRendererTypeDefault),
 		_renderBitmaps(true), _renderZBitmaps(true), _shadowModeActive(false),
 		_currentPos(0, 0, 0), _dimLevel(0.0f),
 		_screenWidth(0), _screenHeight(0),
diff --git a/engines/grim/gfx_base.h b/engines/grim/gfx_base.h
index 7287c8d6532..d8c2cd2c4bd 100644
--- a/engines/grim/gfx_base.h
+++ b/engines/grim/gfx_base.h
@@ -28,6 +28,8 @@
 #include "common/str.h"
 #include "common/rect.h"
 
+#include "graphics/renderer.h"
+
 #include "engines/grim/material.h"
 
 namespace Graphics {
@@ -266,6 +268,8 @@ public:
 	virtual void createSpecialtyTexture(uint id, const uint8 *data, int width, int height);
 	virtual void createSpecialtyTextureFromScreen(uint id, uint8 *data, int x, int y, int width, int height) = 0;
 
+	Graphics::RendererType type;
+
 	static Math::Matrix4 makeLookMatrix(const Math::Vector3d& pos, const Math::Vector3d& interest, const Math::Vector3d& up);
 	static Math::Matrix4 makeProjMatrix(float fov, float nclip, float fclip);
 	Texture *getSpecialtyTexturePtr(uint id) { if (id >= _numSpecialtyTextures) return nullptr; return &_specialtyTextures[id]; };
diff --git a/engines/grim/gfx_opengl.cpp b/engines/grim/gfx_opengl.cpp
index 8b6a9a823c7..9c4c3acbff4 100644
--- a/engines/grim/gfx_opengl.cpp
+++ b/engines/grim/gfx_opengl.cpp
@@ -80,6 +80,7 @@ GfxOpenGL::GfxOpenGL() : _smushNumTex(0),
 		_useDepthShader(false), _fragmentProgram(0), _useDimShader(0),
 		_dimFragProgram(0), _maxLights(0), _storedDisplay(nullptr),
 		_emergFont(0), _alpha(1.f) {
+	type = Graphics::RendererType::kRendererTypeOpenGL;
 	// GL_LEQUAL as glDepthFunc ensures that subsequent drawing attempts for
 	// the same triangles are not ignored by the depth test.
 	// That's necessary for EMI where some models have multiple faces which
diff --git a/engines/grim/gfx_opengl_shaders.cpp b/engines/grim/gfx_opengl_shaders.cpp
index d8151121e86..9feeab40aae 100644
--- a/engines/grim/gfx_opengl_shaders.cpp
+++ b/engines/grim/gfx_opengl_shaders.cpp
@@ -205,6 +205,7 @@ GfxBase *CreateGfxOpenGLShader() {
 }
 
 GfxOpenGLS::GfxOpenGLS() {
+	type = Graphics::RendererType::kRendererTypeOpenGLShaders;
 	_smushTexId = 0;
 	_matrixStack.push(Math::Matrix4());
 	_fov = -1.0;
diff --git a/engines/grim/gfx_tinygl.cpp b/engines/grim/gfx_tinygl.cpp
index 05c9747ddd9..ef563fcf096 100644
--- a/engines/grim/gfx_tinygl.cpp
+++ b/engines/grim/gfx_tinygl.cpp
@@ -50,6 +50,7 @@ GfxTinyGL::GfxTinyGL() :
 		_alpha(1.f),
 		_currentActor(nullptr), _smushImage(nullptr),
 		_storedDisplay(nullptr) {
+	type = Graphics::RendererType::kRendererTypeTinyGL;
 	// TGL_LEQUAL as tglDepthFunc ensures that subsequent drawing attempts for
 	// the same triangles are not ignored by the depth test.
 	// That's necessary for EMI where some models have multiple faces which
diff --git a/engines/grim/grim.cpp b/engines/grim/grim.cpp
index 5a079197bc7..62430a8c39e 100644
--- a/engines/grim/grim.cpp
+++ b/engines/grim/grim.cpp
@@ -1716,6 +1716,10 @@ void GrimEngine::enableCutscene(uint32 number) {
 	_cutsceneEnabled[number] = true;
 }
 
+Graphics::RendererType GrimEngine::getRendererType() {
+	return g_driver->type;
+}
+
 void GrimEngine::setSaveMetaData(const char *meta1, int meta2, const char *meta3) {
 	_saveMeta1 = meta1;
 	_saveMeta2 = meta2;
diff --git a/engines/grim/grim.h b/engines/grim/grim.h
index 701f1657f1c..4263c12cb00 100644
--- a/engines/grim/grim.h
+++ b/engines/grim/grim.h
@@ -29,6 +29,8 @@
 #include "common/hashmap.h"
 #include "common/events.h"
 
+#include "graphics/renderer.h"
+
 #include "engines/grim/textobject.h"
 #include "engines/grim/iris.h"
 #include "engines/grim/detection.h"
@@ -173,6 +175,8 @@ public:
 
 	Commentary *getCommentary() { return _commentary; }
 
+	Graphics::RendererType getRendererType();
+
 	// TODO: Refactor.
 	void setSaveMetaData(const char*, int, const char*);
 


Commit: 314de12b0526256bf2c71b289815d1d3c94de422
    https://github.com/scummvm/scummvm/commit/314de12b0526256bf2c71b289815d1d3c94de422
Author: KOLANICH (kolan_n at mail.ru)
Date: 2023-06-21T09:44:05+03:00

Commit Message:
GRIM: Rename `[gs]et_renderer` console commands into `renderer_[gs]et`.

Changed paths:
    engines/grim/debugger.cpp
    engines/grim/debugger.h


diff --git a/engines/grim/debugger.cpp b/engines/grim/debugger.cpp
index 9e07d614c8c..450921a1812 100644
--- a/engines/grim/debugger.cpp
+++ b/engines/grim/debugger.cpp
@@ -35,8 +35,8 @@ Debugger::Debugger() :
 	registerCmd("check_gamedata", WRAP_METHOD(Debugger, cmd_checkFiles));
 	registerCmd("lua_do", WRAP_METHOD(Debugger, cmd_lua_do));
 	registerCmd("jump", WRAP_METHOD(Debugger, cmd_jump));
-	registerCmd("set_renderer", WRAP_METHOD(Debugger, cmd_set_renderer));
-	registerCmd("get_renderer", WRAP_METHOD(Debugger, cmd_get_renderer));
+	registerCmd("renderer_set", WRAP_METHOD(Debugger, cmd_renderer_set));
+	registerCmd("renderer_get", WRAP_METHOD(Debugger, cmd_renderer_get));
 	registerCmd("save", WRAP_METHOD(Debugger, cmd_save));
 	registerCmd("load", WRAP_METHOD(Debugger, cmd_load));
 }
@@ -90,9 +90,9 @@ bool Debugger::cmd_jump(int argc, const char **argv) {
 	return true;
 }
 
-bool Debugger::cmd_set_renderer(int argc, const char **argv) {
+bool Debugger::cmd_renderer_set(int argc, const char **argv) {
 	if (argc < 2) {
-		debugPrintf("Usage: set_renderer <renderer>\n");
+		debugPrintf("Usage: renderer_set <renderer>\n");
 		debugPrintf("Where <renderer> is 'software', 'opengl' or 'opengl_shaders'\n");
 		return true;
 	}
@@ -108,7 +108,7 @@ bool Debugger::cmd_set_renderer(int argc, const char **argv) {
 	return false;
 }
 
-bool Debugger::cmd_get_renderer(int argc, const char **argv) {
+bool Debugger::cmd_renderer_get(int argc, const char **argv) {
 	auto rendererCodeStr = Graphics::Renderer::getTypeCode(g_grim->getRendererType());
 	debugPrintf("%s\n", rendererCodeStr.c_str());
 	return true;
diff --git a/engines/grim/debugger.h b/engines/grim/debugger.h
index 9557a5eb5f6..7c4f4120b5a 100644
--- a/engines/grim/debugger.h
+++ b/engines/grim/debugger.h
@@ -36,8 +36,8 @@ public:
 	bool cmd_checkFiles(int argc, const char **argv);
 	bool cmd_lua_do(int argc, const char **argv);
 	bool cmd_jump(int argc, const char **argv);
-	bool cmd_get_renderer(int argc, const char **argv);
-	bool cmd_set_renderer(int argc, const char **argv);
+	bool cmd_renderer_get(int argc, const char **argv);
+	bool cmd_renderer_set(int argc, const char **argv);
 	bool cmd_save(int argc, const char **argv);
 	bool cmd_load(int argc, const char **argv);
 };




More information about the Scummvm-git-logs mailing list