[Scummvm-git-logs] scummvm master -> 5f202584b88df3c748e6c99e0bd3ab10c7210136
sev-
noreply at scummvm.org
Mon Mar 10 11:42:57 UTC 2025
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:
76421e2974 QDENGINE: Create separate method for path drawing
64d0210c32 QDENGINE: Add debug screen for path drawing
5f202584b8 QDENGINE: Fix slowdown in pathfinding
Commit: 76421e2974a357193b4bb4b6a86a0685262f805f
https://github.com/scummvm/scummvm/commit/76421e2974a357193b4bb4b6a86a0685262f805f
Author: ormanbai123 (lowliet1990 at mail.ru)
Date: 2025-03-10T12:42:52+01:00
Commit Message:
QDENGINE: Create separate method for path drawing
Changed paths:
engines/qdengine/qdcore/qd_game_object_moving.cpp
engines/qdengine/qdcore/qd_game_object_moving.h
diff --git a/engines/qdengine/qdcore/qd_game_object_moving.cpp b/engines/qdengine/qdcore/qd_game_object_moving.cpp
index a5f13146999..3dc56bad7db 100644
--- a/engines/qdengine/qdcore/qd_game_object_moving.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_moving.cpp
@@ -1088,7 +1088,7 @@ float qdGameObjectMoving::radius() const {
return qdGameObjectAnimated::radius() * calc_scale();
}
-void qdGameObjectMoving::debug_redraw() const {
+void qdGameObjectMoving::drawDebugPath() const {
if (check_flag(QD_OBJ_MOVING_FLAG)) {
const int cl = grDispatcher::instance()->make_rgb(255, 255, 255);
Vect3f r = R();
@@ -1104,6 +1104,10 @@ void qdGameObjectMoving::debug_redraw() const {
v0 = v1;
}
}
+}
+
+void qdGameObjectMoving::debug_redraw() const {
+ drawDebugPath();
Common::String str = Common::String::format("movement_mode: %d", _movement_mode);
grDispatcher::instance()->drawText(10, 110, grDispatcher::instance()->make_rgb888(255, 255, 255), str.c_str());
diff --git a/engines/qdengine/qdcore/qd_game_object_moving.h b/engines/qdengine/qdcore/qd_game_object_moving.h
index eb5b7ef7cff..b49fcf0dc69 100644
--- a/engines/qdengine/qdcore/qd_game_object_moving.h
+++ b/engines/qdengine/qdcore/qd_game_object_moving.h
@@ -240,6 +240,7 @@ public:
void quant(float dt);
void redraw(int offs_x = 0, int offs_y = 0) const;
+ void drawDebugPath() const;
void debug_redraw() const;
void draw_contour(uint32 color) const;
void draw_shadow(int offs_x, int offs_y, uint32 color, int alpha) const;
Commit: 64d0210c323aba4efa47f3e0108b6e04d18bd434
https://github.com/scummvm/scummvm/commit/64d0210c323aba4efa47f3e0108b6e04d18bd434
Author: ormanbai123 (lowliet1990 at mail.ru)
Date: 2025-03-10T12:42:52+01:00
Commit Message:
QDENGINE: Add debug screen for path drawing
Changed paths:
engines/qdengine/qdcore/qd_game_dispatcher.cpp
engines/qdengine/qdcore/qd_game_scene.cpp
engines/qdengine/qdengine.h
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.cpp b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
index 8e722c6fa13..ed486177f82 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
@@ -2410,6 +2410,10 @@ bool qdGameDispatcher::keyboard_handler(Common::KeyCode vkey, bool event) {
g_engine->_debugDraw = !g_engine->_debugDraw;
toggle_full_redraw();
return true;
+ case Common::KEYCODE_F7:
+ g_engine->_debugDrawPath = !g_engine->_debugDrawPath;
+ toggle_full_redraw();
+ return true;
case Common::KEYCODE_F8:
g_engine->_debugDrawGrid = !g_engine->_debugDrawGrid;
toggle_full_redraw();
diff --git a/engines/qdengine/qdcore/qd_game_scene.cpp b/engines/qdengine/qdcore/qd_game_scene.cpp
index 3f6c4efe8d8..81469a5bb55 100644
--- a/engines/qdengine/qdcore/qd_game_scene.cpp
+++ b/engines/qdengine/qdcore/qd_game_scene.cpp
@@ -518,6 +518,11 @@ void qdGameScene::debug_redraw() {
if (g_engine->_debugDrawGrid)
_camera.draw_grid();
+ if (g_engine->_debugDrawPath) {
+ qdGameObjectMoving *personage = get_active_personage();
+ if (personage)
+ personage->drawDebugPath();
+ }
}
int qdGameScene::get_resources_size() {
diff --git a/engines/qdengine/qdengine.h b/engines/qdengine/qdengine.h
index 36f1400cb1c..b6fe5304e8f 100644
--- a/engines/qdengine/qdengine.h
+++ b/engines/qdengine/qdengine.h
@@ -143,6 +143,7 @@ public:
int _thumbSizeX = 0, _thumbSizeY = 0;
bool _debugDraw = false;
bool _debugDrawGrid = false;
+ bool _debugDrawPath = false;
int _gameVersion = 0;
Vect2i _screen_offset = Vect2i(0, 0);
Commit: 5f202584b88df3c748e6c99e0bd3ab10c7210136
https://github.com/scummvm/scummvm/commit/5f202584b88df3c748e6c99e0bd3ab10c7210136
Author: ormanbai123 (lowliet1990 at mail.ru)
Date: 2025-03-10T12:42:52+01:00
Commit Message:
QDENGINE: Fix slowdown in pathfinding
Changed paths:
engines/qdengine/qdcore/qd_game_scene.cpp
diff --git a/engines/qdengine/qdcore/qd_game_scene.cpp b/engines/qdengine/qdcore/qd_game_scene.cpp
index 81469a5bb55..26bbca2861d 100644
--- a/engines/qdengine/qdcore/qd_game_scene.cpp
+++ b/engines/qdengine/qdcore/qd_game_scene.cpp
@@ -1525,7 +1525,7 @@ void qdGameScene::collision_quant() {
}
}
- if (dr.norm() > dist) {
+ if (dr.norm() < dist) {
if (fabs(getDeltaAngle(angle, _selected_object->direction_angle())) < M_PI / 2.0f) {
if ((*it)->has_control_type(qdGameObjectMoving::CONTROL_AVOID_COLLISION))
(*it)->avoid_collision(_selected_object);
More information about the Scummvm-git-logs
mailing list