[Scummvm-git-logs] scummvm master -> 06860ce06ee58683f64a7fdc1e71701d906dd902

sev- noreply at scummvm.org
Mon May 6 07:36:55 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:
e07275c724 BAGEL: Add missing override keywords
06860ce06e DIRECTOR: DEBUGGER: Hook the rest of Control Panel commands


Commit: e07275c72475901216052bfc14263435450fc929
    https://github.com/scummvm/scummvm/commit/e07275c72475901216052bfc14263435450fc929
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-05-06T09:36:44+02:00

Commit Message:
BAGEL: Add missing override keywords

Changed paths:
    engines/bagel/baglib/storage_dev_bmp.h


diff --git a/engines/bagel/baglib/storage_dev_bmp.h b/engines/bagel/baglib/storage_dev_bmp.h
index d375ccb3bf6..30b2e4ae7f4 100644
--- a/engines/bagel/baglib/storage_dev_bmp.h
+++ b/engines/bagel/baglib/storage_dev_bmp.h
@@ -46,16 +46,16 @@ public:
 	ErrorCode setWorkBmp();
 	ErrorCode killWorkBmp();
 
-	CBofRect getRect() {
+	CBofRect getRect() override {
 		return CBagStorageDev::getRect();
 	}
 	void setRect(const CBofRect &xRect) {
 		CBagStorageDev::setRect(xRect);
 	}
-	CBofPoint getPosition() {
+	CBofPoint getPosition() override {
 		return CBagStorageDev::getPosition();
 	}
-	void setPosition(const CBofPoint &pos) {
+	void setPosition(const CBofPoint &pos) override {
 		CBagStorageDev::setPosition(pos);
 	}
 


Commit: 06860ce06ee58683f64a7fdc1e71701d906dd902
    https://github.com/scummvm/scummvm/commit/06860ce06ee58683f64a7fdc1e71701d906dd902
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-05-06T09:36:47+02:00

Commit Message:
DIRECTOR: DEBUGGER: Hook the rest of Control Panel commands

Changed paths:
    engines/director/debugtools.cpp


diff --git a/engines/director/debugtools.cpp b/engines/director/debugtools.cpp
index 5209c2ce759..87990ced7c5 100644
--- a/engines/director/debugtools.cpp
+++ b/engines/director/debugtools.cpp
@@ -66,6 +66,7 @@ typedef struct ImGuiState {
 	bool _showCast = false;
 	Common::List<CastMemberID> _scripts;
 	Common::HashMap<Common::String, bool, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> _breakpoints;
+	int _prevFrame = -1;
 } ImGuiState;
 
 ImGuiState *_state = nullptr;
@@ -89,10 +90,19 @@ static void showControlPanel() {
 		ImVec2 buttonSize(20, 14);
 		float bgX1 = -4.0f, bgX2 = 21.0f;
 
+		int frameNum = score->getCurrentFrameNum();
+
+		if (_state->_prevFrame != -1 && _state->_prevFrame != frameNum) {
+			score->_playState = kPlayPaused;
+			_state->_prevFrame = -1;
+		}
+
 		{ // Rewind
 			ImGui::InvisibleButton("Rewind", buttonSize);
 
 			if (ImGui::IsItemClicked(0)) {
+				score->_playState = kPlayStarted;
+				score->setCurrentFrame(1);
 			}
 
 			if (ImGui::IsItemHovered())
@@ -110,6 +120,10 @@ static void showControlPanel() {
 			ImGui::InvisibleButton("Step Back", ImVec2(18, 16));
 
 			if (ImGui::IsItemClicked(0)) {
+				score->_playState = kPlayStarted;
+
+				score->setCurrentFrame(frameNum - 1);
+				_state->_prevFrame = frameNum;
 			}
 
 			if (ImGui::IsItemHovered())
@@ -144,6 +158,10 @@ static void showControlPanel() {
 			ImGui::InvisibleButton("Step", buttonSize);
 
 			if (ImGui::IsItemClicked(0)) {
+				score->_playState = kPlayStarted;
+
+				score->setCurrentFrame(frameNum + 1);
+				_state->_prevFrame = frameNum;
 			}
 
 			if (ImGui::IsItemHovered())




More information about the Scummvm-git-logs mailing list