[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