[Scummvm-git-logs] scummvm master -> 02794f262b32459686b4949b2ffee0339db835f2

mgerhardy noreply at scummvm.org
Sat Oct 12 14:08:33 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:
c344768b70 TWINE: added new collision debug channel
19b3884392 TWINE: added carriedBy flag to imgui debugger window
02794f262b TWINE: fixed checkCarrier logic


Commit: c344768b7081b4c9d06428986bbb8ef129b29395
    https://github.com/scummvm/scummvm/commit/c344768b7081b4c9d06428986bbb8ef129b29395
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2024-10-12T15:58:08+02:00

Commit Message:
TWINE: added new collision debug channel

Changed paths:
    engines/twine/debugger/debugtools.cpp
    engines/twine/detection.cpp
    engines/twine/scene/animations.cpp
    engines/twine/scene/collision.cpp
    engines/twine/shared.h


diff --git a/engines/twine/debugger/debugtools.cpp b/engines/twine/debugger/debugtools.cpp
index 1375c2fec9a..bf9055b7894 100644
--- a/engines/twine/debugger/debugtools.cpp
+++ b/engines/twine/debugger/debugtools.cpp
@@ -878,9 +878,6 @@ void onImGuiRender() {
 void onImGuiCleanup() {
 	delete _logger;
 	_logger = nullptr;
-
-	delete _tinyFont;
-	_tinyFont = nullptr;
 }
 
 } // namespace TwinE
diff --git a/engines/twine/detection.cpp b/engines/twine/detection.cpp
index c73da32d881..3162b7590d6 100644
--- a/engines/twine/detection.cpp
+++ b/engines/twine/detection.cpp
@@ -42,6 +42,7 @@ static const DebugChannelDef debugFlagList[] = {
 	{TwinE::kDebugInput, "input", "Input debugging"},
 	{TwinE::kDebugMovies, "movies", "Movies debugging"},
 	{TwinE::kDebugPalette, "palette", "Palette debugging"},
+	{TwinE::kDebugCollision, "collision", "Collision debugging"},
 	DEBUG_CHANNEL_END
 };
 
diff --git a/engines/twine/scene/animations.cpp b/engines/twine/scene/animations.cpp
index 6d8364adc6d..e3206bafd07 100644
--- a/engines/twine/scene/animations.cpp
+++ b/engines/twine/scene/animations.cpp
@@ -737,6 +737,9 @@ void Animations::doAnim(int32 actorIdx) {
 				collision->reajustPos(processActor, col);
 			}
 
+			if (actor->_workFlags.bIsFalling) {
+				debugC(1, TwinE::kDebugCollision, "Actor %d reset falling", actorIdx);
+			}
 			actor->_workFlags.bIsFalling = 0;
 		} else {
 			if (actor->_staticFlags.bObjFallable && actor->_carryBy == -1) {
@@ -750,6 +753,7 @@ void Animations::doAnim(int32 actorIdx) {
 					collision->reajustPos(processActor, col);
 				} else {
 					if (!actor->_workFlags.bIsRotationByAnim) {
+						debugC(1, TwinE::kDebugCollision, "Actor %d is falling", actorIdx);
 						actor->_workFlags.bIsFalling = 1;
 
 						if (IS_HERO(actorIdx) && _engine->_scene->_startYFalling == 0) {
diff --git a/engines/twine/scene/collision.cpp b/engines/twine/scene/collision.cpp
index ba45a2c2e43..284bdd72632 100644
--- a/engines/twine/scene/collision.cpp
+++ b/engines/twine/scene/collision.cpp
@@ -431,6 +431,10 @@ void Collision::receptionObj(int actorIdx) {
 		_engine->_animations->initAnim(AnimationTypes::kLanding, AnimType::kAnimationAllThen, actor->_nextGenAnim, actorIdx);
 	}
 
+	if (actor->_workFlags.bIsFalling) {
+		debugC(1, TwinE::kDebugCollision, "Actor %d reset falling", actorIdx);
+	}
+
 	actor->_workFlags.bIsFalling = 0;
 	actor->_workFlags.bWasWalkingBeforeFalling = 0;
 }
diff --git a/engines/twine/shared.h b/engines/twine/shared.h
index 4b830e9d6ea..ee18a11505f 100644
--- a/engines/twine/shared.h
+++ b/engines/twine/shared.h
@@ -808,7 +808,8 @@ enum kDebugLevels {
 	kDebugImGui = 1 << 4,
 	kDebugInput = 1 << 5,
 	kDebugMovies = 1 << 6,
-	kDebugPalette = 1 << 7
+	kDebugPalette = 1 << 7,
+	kDebugCollision = 1 << 8
 };
 
 } // namespace TwinE


Commit: 19b38843921aa030fe05a6b259092b6bfbd4cd9f
    https://github.com/scummvm/scummvm/commit/19b38843921aa030fe05a6b259092b6bfbd4cd9f
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2024-10-12T16:05:49+02:00

Commit Message:
TWINE: added carriedBy flag to imgui debugger window

Changed paths:
    engines/twine/debugger/debugtools.cpp


diff --git a/engines/twine/debugger/debugtools.cpp b/engines/twine/debugger/debugtools.cpp
index bf9055b7894..c51b6ce76b9 100644
--- a/engines/twine/debugger/debugtools.cpp
+++ b/engines/twine/debugger/debugtools.cpp
@@ -516,6 +516,10 @@ static void actorDetailsWindow(int &actorIdx, TwinEEngine *engine) {
 				ImGui::TableNextColumn();
 				ImGui::Text("%i", actor->_objCol);
 				ImGui::TableNextColumn();
+				ImGui::Text("Carried by");
+				ImGui::TableNextColumn();
+				ImGui::Text("%i", actor->_carryBy);
+				ImGui::TableNextColumn();
 				ImGui::Text("Talk color");
 				ImGui::TableNextColumn();
 				ImGui::Text("%i", actor->_talkColor);


Commit: 02794f262b32459686b4949b2ffee0339db835f2
    https://github.com/scummvm/scummvm/commit/02794f262b32459686b4949b2ffee0339db835f2
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2024-10-12T16:07:45+02:00

Commit Message:
TWINE: fixed checkCarrier logic

see issue #15386 (https://bugs.scummvm.org/ticket/15386)

Changed paths:
    engines/twine/scene/actor.cpp


diff --git a/engines/twine/scene/actor.cpp b/engines/twine/scene/actor.cpp
index ff9394cbed4..7a2167982a9 100644
--- a/engines/twine/scene/actor.cpp
+++ b/engines/twine/scene/actor.cpp
@@ -416,8 +416,9 @@ void Actor::checkCarrier(int32 actorIdx) {
 		return;
 	}
 	for (int32 a = 0; a < _engine->_scene->_nbObjets; a++) {
-		if (actor->_carryBy == actorIdx) {
-			actor->_carryBy = -1;
+		ActorStruct *otherActor =  _engine->_scene->getActor(a);
+		if (otherActor->_carryBy == actorIdx) {
+			otherActor->_carryBy = -1;
 		}
 	}
 }




More information about the Scummvm-git-logs mailing list