[Scummvm-git-logs] scummvm master -> 6382405bcda110377372c2b4fe0d5a4f7ed34b24

neuromancer noreply at scummvm.org
Tue Sep 3 19:38:07 UTC 2024


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

Summary:
da74542b16 FREESCAPE: skip certain global conditions in castle for dos
6e77cb418a FREESCAPE: do not terminate game when pressing escape in dos
a13c569583 FREESCAPE: add a few unimplemented group opcodes to castle
2d4bcd135b FREESCAPE: added missing entrance in castle for dos
b3bf93e25f FREESCAPE: make sure all the color pairs are cleared
6382405bcd FREESCAPE: add at least one element in the angle rotations list for castle


Commit: da74542b169fdd803f31eb808dc8fbdaaddca3d8
    https://github.com/scummvm/scummvm/commit/da74542b169fdd803f31eb808dc8fbdaaddca3d8
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:53+02:00

Commit Message:
FREESCAPE: skip certain global conditions in castle for dos

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


diff --git a/engines/freescape/games/castle/dos.cpp b/engines/freescape/games/castle/dos.cpp
index 22c45b840fa..1e507f52a7f 100644
--- a/engines/freescape/games/castle/dos.cpp
+++ b/engines/freescape/games/castle/dos.cpp
@@ -231,6 +231,14 @@ void CastleEngine::loadAssetsDOSFullGame() {
 		error("Not implemented yet");
 
 	addGhosts();
+	// Discard the first three global conditions
+	// It is unclear why they hide/unhide objects that formed the spirits
+	for (int i = 0; i < 3; i++) {
+		debugC(kFreescapeDebugParser, "Discarding condition %s", _conditionSources[1].c_str());
+		_conditions.remove_at(1);
+		_conditionSources.remove_at(1);
+	}
+
 	// CPC
 	// file = gameDir.createReadStreamForMember("cm.bin");
 	// if (file == nullptr)


Commit: 6e77cb418a153daff27161767a598639d57f5c9d
    https://github.com/scummvm/scummvm/commit/6e77cb418a153daff27161767a598639d57f5c9d
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:53+02:00

Commit Message:
FREESCAPE: do not terminate game when pressing escape in dos

Changed paths:
    engines/freescape/games/castle/castle.cpp


diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index 03778b46c50..bea3e93728f 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -349,7 +349,7 @@ void CastleEngine::drawInfoMenu() {
 					_gfx->setViewport(_viewArea);
 				} else if (isDOS() && event.customType == kActionToggleSound) {
 					// TODO
-				} else if ((isDOS() || isCPC() || isSpectrum()) && event.customType == kActionEscape) {
+				} else if ((isCPC() || isSpectrum()) && event.customType == kActionEscape) {
 					_forceEndGame = true;
 					cont = false;
 				} else


Commit: a13c569583ddb82f20ff504b044600ea3ae0a244
    https://github.com/scummvm/scummvm/commit/a13c569583ddb82f20ff504b044600ea3ae0a244
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:53+02:00

Commit Message:
FREESCAPE: add a few unimplemented group opcodes to castle

Changed paths:
    engines/freescape/objects/group.cpp


diff --git a/engines/freescape/objects/group.cpp b/engines/freescape/objects/group.cpp
index d6d8e08cb2a..ff224b16f34 100644
--- a/engines/freescape/objects/group.cpp
+++ b/engines/freescape/objects/group.cpp
@@ -117,6 +117,8 @@ void Group::run() {
 			assemble(i);
 		_active = false;
 		_step++;
+	} else if (opcode == 0x58) {
+		debugC(1, kFreescapeDebugCode, "Ignoring unknown opcode 0x58");
 	} else if (opcode == 0x48) {
 		// TODO: not sure the difference with 0x6e
 		uint32 groupSize = _objects.size();


Commit: 2d4bcd135b91f26eba3d4c07d031826fdc080660
    https://github.com/scummvm/scummvm/commit/2d4bcd135b91f26eba3d4c07d031826fdc080660
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:53+02:00

Commit Message:
FREESCAPE: added missing entrance in castle for dos

Changed paths:
    engines/freescape/games/castle/castle.cpp


diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index bea3e93728f..9745907c340 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -441,8 +441,10 @@ void CastleEngine::executePrint(FCLInstruction &instruction) {
 void CastleEngine::loadAssets() {
 	FreescapeEngine::loadAssets();
 	if (isDOS()) {
-		for (auto &it : _areaMap)
+		for (auto &it : _areaMap) {
 			it._value->addStructure(_areaMap[255]);
+			it._value->addObjectFromArea(229, _areaMap[255]);
+		}
 
 		_areaMap[1]->addFloor();
 		_areaMap[2]->addFloor();


Commit: b3bf93e25f64d33bbed1152f5695e7accda070cb
    https://github.com/scummvm/scummvm/commit/b3bf93e25f64d33bbed1152f5695e7accda070cb
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:54+02:00

Commit Message:
FREESCAPE: make sure all the color pairs are cleared

Changed paths:
    engines/freescape/gfx.cpp


diff --git a/engines/freescape/gfx.cpp b/engines/freescape/gfx.cpp
index 4c79902ad32..3121fddb66e 100644
--- a/engines/freescape/gfx.cpp
+++ b/engines/freescape/gfx.cpp
@@ -130,7 +130,7 @@ byte getCGAStipple(byte x, int back, int fore) {
 }
 
 void Renderer::clearColorPairArray() {
-	for (int i = 0; i < 15; i++)
+	for (int i = 0; i < 16; i++)
 		_colorPair[i] = 0;
 }
 


Commit: 6382405bcda110377372c2b4fe0d5a4f7ed34b24
    https://github.com/scummvm/scummvm/commit/6382405bcda110377372c2b4fe0d5a4f7ed34b24
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-09-03T21:37:54+02:00

Commit Message:
FREESCAPE: add at least one element in the angle rotations list for castle

Changed paths:
    engines/freescape/games/castle/castle.cpp


diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index 9745907c340..7176f966cd8 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -51,6 +51,8 @@ CastleEngine::CastleEngine(OSystem *syst, const ADGameDescription *gd) : Freesca
 	_playerSteps.push_back(120);
 	_playerStepIndex = 2;
 
+	_angleRotations.push_back(5);
+
 	_playerWidth = 8;
 	_playerDepth = 8;
 	_stepUpDistance = 32;




More information about the Scummvm-git-logs mailing list