[Scummvm-git-logs] scummvm master -> f570b90532784987dee968ca666fd0edfb67ab10
sev-
noreply at scummvm.org
Fri Sep 13 21:08:34 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
302a4e0f50 QDENGINE: Implement gameplay pause flag
f570b90532 QDENGINE: Added more animation debug output
Commit: 302a4e0f50230cb8ebb6cc7a9cb0817c0da8cff3
https://github.com/scummvm/scummvm/commit/302a4e0f50230cb8ebb6cc7a9cb0817c0da8cff3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-09-13T23:07:09+02:00
Commit Message:
QDENGINE: Implement gameplay pause flag
Changed paths:
engines/qdengine/qdcore/qd_game_dispatcher.cpp
engines/qdengine/qdcore/qd_game_dispatcher.h
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.cpp b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
index 854805a2ef3..744c16eaea0 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
@@ -729,9 +729,9 @@ void qdGameDispatcher::redraw() {
_mouse_obj->set_pos(Vect3f(mouseDispatcher::instance()->mouse_x(), mouseDispatcher::instance()->mouse_y(), 0));
_mouse_obj->update_screen_pos();
- if (!check_flag(SKIP_REDRAW_FLAG)) {
+ if (!check_flag(SKIP_REDRAW_FLAG) && (!is_gameplay_paused() || check_flag(NEXT_FRAME_FLAG))) {
if (!is_video_playing()) {
- debugC(1, kDebugGraphics, "qdGameDispatcher::redraw(): =========== FRAME START");
+ debugC(1, kDebugGraphics, "qdGameDispatcher::redraw(): =========== FRAME START paused: %d", is_gameplay_paused());
pre_redraw();
#ifndef _GD_REDRAW_REGIONS_CHECK_
@@ -2363,6 +2363,7 @@ bool qdGameDispatcher::keyboard_handler(Common::KeyCode vkey, bool event) {
switch (vkey) {
case Common::KEYCODE_p:
resume();
+ pause_gameplay(false);
return true;
case Common::KEYCODE_SPACE:
set_flag(NEXT_FRAME_FLAG);
@@ -2414,6 +2415,7 @@ bool qdGameDispatcher::keyboard_handler(Common::KeyCode vkey, bool event) {
return true;
case Common::KEYCODE_p:
pause();
+ pause_gameplay(true);
return true;
#ifdef __QD_DEBUG_ENABLE__
case Common::KEYCODE_F10:
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.h b/engines/qdengine/qdcore/qd_game_dispatcher.h
index 9f1d3073796..c4c78ceaf5c 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.h
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.h
@@ -405,6 +405,12 @@ public:
return _is_paused;
}
+ bool is_gameplay_paused() {
+ return _is_gameplay_paused;
+ }
+
+ void pause_gameplay(bool pause) { _is_gameplay_paused = pause; }
+
bool restart();
qdScreenTextDispatcher &screen_texts_dispatcher() {
@@ -556,6 +562,7 @@ private:
int _timer;
bool _is_paused;
+ bool _is_gameplay_paused = false;
bool _enable_file_packages;
/// компÑеÑÑÐ¸Ñ ÑеÑÑÑÑов в аÑÑ
иваÑ
, 0 - оÑклÑÑена, 9 - макÑималÑнаÑ
Commit: f570b90532784987dee968ca666fd0edfb67ab10
https://github.com/scummvm/scummvm/commit/f570b90532784987dee968ca666fd0edfb67ab10
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-09-13T23:07:13+02:00
Commit Message:
QDENGINE: Added more animation debug output
Changed paths:
engines/qdengine/qdcore/qd_game_object_animated.cpp
engines/qdengine/qdcore/qd_game_object_mouse.cpp
engines/qdengine/qdcore/qd_game_object_moving.cpp
engines/qdengine/qdcore/qd_game_object_static.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object_animated.cpp b/engines/qdengine/qdcore/qd_game_object_animated.cpp
index e2f2a8a6892..60e0bfa1253 100644
--- a/engines/qdengine/qdcore/qd_game_object_animated.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_animated.cpp
@@ -198,9 +198,9 @@ const Vect2f &qdGameObjectAnimated::screen_scale() const {
}
void qdGameObjectAnimated::redraw(int offs_x, int offs_y) const {
- debugC(1, kDebugTemp, "qdGameObjectAnimated::redraw(), empty?: %d", _animation.is_empty());
+
if (!_animation.is_empty()) {
- debugC(1, kDebugTemp, "anim is not empty");
+ debugC(2, kDebugGraphics, "qdGameObjectAnimated::redraw([%d, %d]), name: '%s'", offs_x, offs_y, transCyrillic(name()));
Vect2i r = screen_pos() + Vect2i(offs_x, offs_y);
if (_current_transform()) {
diff --git a/engines/qdengine/qdcore/qd_game_object_mouse.cpp b/engines/qdengine/qdcore/qd_game_object_mouse.cpp
index 62ea3d6d03c..8e0874ad8bb 100644
--- a/engines/qdengine/qdcore/qd_game_object_mouse.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_mouse.cpp
@@ -166,6 +166,8 @@ bool qdGameObjectMouse::save_data(Common::WriteStream &fh) const {
}
void qdGameObjectMouse::redraw(int offs_x, int offs_y) const {
+ debugC(2, kDebugGraphics, "qdGameObjectMouse::redraw([%d, %d]), name: '%s'", offs_x, offs_y, transCyrillic(name()));
+
if (_object && !qdInterfaceDispatcher::get_dispatcher()->is_active()) {
update_object_position();
const qdGameObjectState *p = _object-> get_cur_state();
diff --git a/engines/qdengine/qdcore/qd_game_object_moving.cpp b/engines/qdengine/qdcore/qd_game_object_moving.cpp
index 913dae4c411..480ea03f3ea 100644
--- a/engines/qdengine/qdcore/qd_game_object_moving.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_moving.cpp
@@ -1892,6 +1892,8 @@ grScreenRegion qdGameObjectMoving::screen_region() const {
}
void qdGameObjectMoving::redraw(int offs_x, int offs_y) const {
+ debugC(2, kDebugGraphics, "qdGameObjectMoving::redraw([%d, %d]), name: '%s'", offs_x, offs_y, transCyrillic(name()));
+
if (get_animation()->is_empty())
return;
diff --git a/engines/qdengine/qdcore/qd_game_object_static.cpp b/engines/qdengine/qdcore/qd_game_object_static.cpp
index 098b6d9bcd2..e147abbd873 100644
--- a/engines/qdengine/qdcore/qd_game_object_static.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_static.cpp
@@ -19,6 +19,8 @@
*
*/
+#include "common/debug.h"
+
#include "qdengine/qd_fwd.h"
#include "qdengine/parser/xml_tag.h"
#include "qdengine/parser/qdscr_parser.h"
@@ -35,6 +37,8 @@ qdGameObjectStatic::~qdGameObjectStatic() {
}
void qdGameObjectStatic::redraw(int offs_x, int offs_y) const {
+ debugC(2, kDebugGraphics, "qdGameObjectStatic::redraw([%d, %d]), name: '%s'", offs_x, offs_y, transCyrillic(name()));
+
Vect2i scrCoord = screen_pos() + Vect2i(offs_x, offs_y);
_sprite.redraw(scrCoord.x, scrCoord.y, screen_depth(), 0);
}
More information about the Scummvm-git-logs
mailing list