[Scummvm-git-logs] scummvm master -> 79f7d38f3694cd7927ee469a639b3e7141c11d98

neuromancer noreply at scummvm.org
Thu Nov 14 11:48:14 UTC 2024


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

Summary:
6196f216ed FREESCAPE: added missing line in input selection message
b66f806c74 FREESCAPE: correctly load fonts in cga version of dark
79f7d38f36 FREESCAPE: TinyGL rendering fixes


Commit: 6196f216ed0f11ae843ca486e127fdfcb270d554
    https://github.com/scummvm/scummvm/commit/6196f216ed0f11ae843ca486e127fdfcb270d554
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-11-14T12:48:26+01:00

Commit Message:
FREESCAPE: added missing line in input selection message

Changed paths:
    engines/freescape/ui.cpp


diff --git a/engines/freescape/ui.cpp b/engines/freescape/ui.cpp
index 4fffd2305eb..3e3a3ac4269 100644
--- a/engines/freescape/ui.cpp
+++ b/engines/freescape/ui.cpp
@@ -203,6 +203,7 @@ void FreescapeEngine::borderScreen() {
 			lines.push_back("");
 			lines.push_back("");
 			lines.push_back(centerAndPadString("SPACEBAR:  BEGIN MISSION", pad));
+			lines.push_back("");
 			lines.push_back(centerAndPadString("COPYRIGHT 1988 INCENTIVE", pad));
 		} else if (isSpectrum()) {
 			if (isSpectrum() && isCastle())


Commit: b66f806c7436fa3bf0c6f8f3663e53be03d37137
    https://github.com/scummvm/scummvm/commit/b66f806c7436fa3bf0c6f8f3663e53be03d37137
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-11-14T12:48:26+01:00

Commit Message:
FREESCAPE: correctly load fonts in cga version of dark

Changed paths:
    engines/freescape/games/dark/dos.cpp


diff --git a/engines/freescape/games/dark/dos.cpp b/engines/freescape/games/dark/dos.cpp
index 046aa2649df..877bf9d3164 100644
--- a/engines/freescape/games/dark/dos.cpp
+++ b/engines/freescape/games/dark/dos.cpp
@@ -191,7 +191,7 @@ void DarkEngine::loadAssetsDOSFullGame() {
 			error("Failed to open DSIDEC.EXE");
 
 		loadSpeakerFxDOS(&file, 0x3077 + 0x200, 0x2f28 + 0x200);
-		loadFonts(&file, 0x8496);
+		loadFonts(&file, 0x8497);
 		loadMessagesFixedSize(&file, 0x2d65, 16, 27);
 		loadGlobalObjects(&file, 0x2554, 23);
 		load8bitBinary(&file, 0x8600, 16);


Commit: 79f7d38f3694cd7927ee469a639b3e7141c11d98
    https://github.com/scummvm/scummvm/commit/79f7d38f3694cd7927ee469a639b3e7141c11d98
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-11-14T12:48:26+01:00

Commit Message:
FREESCAPE: TinyGL rendering fixes

Changed paths:
    engines/freescape/area.cpp
    engines/freescape/gfx_tinygl.cpp


diff --git a/engines/freescape/area.cpp b/engines/freescape/area.cpp
index f02ef0baf6c..30e204af6b0 100644
--- a/engines/freescape/area.cpp
+++ b/engines/freescape/area.cpp
@@ -241,7 +241,7 @@ void Area::draw(Freescape::Renderer *gfx, uint32 animationTicks, Math::Vector3d
 	ObjectArray nonPlanarObjects;
 	Object *floor = nullptr;
 	Common::HashMap<Object *, float> sizes;
-	float offset = gfx->_isAccelerated ? (1.0 / _scale) : 2.0;
+	float offset = (gfx->_isAccelerated ? 1.0 : 2.0) / _scale;
 
 	for (auto &obj : _drawableObjects) {
 		if (!obj->isDestroyed() && !obj->isInvisible()) {
@@ -359,15 +359,18 @@ void Area::draw(Freescape::Renderer *gfx, uint32 animationTicks, Math::Vector3d
 		}
 	}
 
+	// In theory, the ordering of the rendering should not matter,
+	// however, it seems that rendering the planar objects first
+	// triggers a bug in TinyGL where certain objects such as lines,
+	// are not rendered correctly. This is a workaround for that issue.
+	for (auto &obj : nonPlanarObjects) {
+		obj->draw(gfx);
+	}
 
 	for (auto &pair : offsetMap) {
 		pair._key->draw(gfx, pair._value);
 	}
 
-	for (auto &obj : nonPlanarObjects) {
-		obj->draw(gfx);
-	}
-
 	_lastTick = animationTicks;
 }
 
diff --git a/engines/freescape/gfx_tinygl.cpp b/engines/freescape/gfx_tinygl.cpp
index 205b1f20499..e858018ec58 100644
--- a/engines/freescape/gfx_tinygl.cpp
+++ b/engines/freescape/gfx_tinygl.cpp
@@ -279,6 +279,7 @@ void TinyGLRenderer::renderFace(const Common::Array<Math::Vector3d> &vertices) {
 
 void TinyGLRenderer::depthTesting(bool enabled) {
 	if (enabled) {
+		tglClear(TGL_DEPTH_BUFFER_BIT);
 		tglEnable(TGL_DEPTH_TEST);
 	} else {
 		tglDisable(TGL_DEPTH_TEST);




More information about the Scummvm-git-logs mailing list