[Scummvm-git-logs] scummvm master -> e36f79f7f76ad2cb5169101da1c92b0790e04311

sev- noreply at scummvm.org
Mon Oct 21 23:07:56 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:
f352b903d8 QDENGINE: Unstub MinigameTriangle::MinigameTriangle()
157fb9da40 QDENGINE: Unstub MinigameManager::processGameData()
e36f79f7f7 QDENGINE: Unstub MinigameManager::createGame()


Commit: f352b903d8eaf00a3808761c1509df6d2813ec9a
    https://github.com/scummvm/scummvm/commit/f352b903d8eaf00a3808761c1509df6d2813ec9a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-22T00:14:22+02:00

Commit Message:
QDENGINE: Unstub MinigameTriangle::MinigameTriangle()

Changed paths:
    engines/qdengine/minigames/adv/RunTime.cpp
    engines/qdengine/minigames/adv/RunTime.h
    engines/qdengine/minigames/adv/m_triangles.cpp
    engines/qdengine/qdcore/qd_minigame_interface.cpp
    engines/qdengine/qdcore/qd_minigame_interface.h


diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index f99d4078beb..6c241644c24 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -892,7 +892,7 @@ int MinigameManager::rnd(const Std::vector<float> &prob) const {
 
 // если данные еще ни разу не сохранялись - запоминаем
 // если уже есть запомненные, то заменяем на них
-bool MinigameManager::processGameData(Common::MemoryWriteStream &data) {
+bool MinigameManager::processGameData(Common::SeekableWriteStream &data) {
 	warning("STUB: MinigameManager::processGameData()");
 #if 0
 	if (currentGameInfo_) {
diff --git a/engines/qdengine/minigames/adv/RunTime.h b/engines/qdengine/minigames/adv/RunTime.h
index 25c5aab9aed..21ef291b7ff 100644
--- a/engines/qdengine/minigames/adv/RunTime.h
+++ b/engines/qdengine/minigames/adv/RunTime.h
@@ -27,7 +27,6 @@
 #include "qdengine/minigames/adv/common.h"
 
 namespace Common {
-class MemoryWriteStream;
 class SeekableWriteStream;
 }
 
@@ -104,7 +103,7 @@ public:
 	// finish MiniGame virtual interface
 
 	// при необходимости заменяет на неизмененные предыдущим прохождением данные
-	bool processGameData(Common::MemoryWriteStream& data);
+	bool processGameData(Common::SeekableWriteStream &data);
 
 	mgVect2f mousePosition() const {
 		return mousePos_;
diff --git a/engines/qdengine/minigames/adv/m_triangles.cpp b/engines/qdengine/minigames/adv/m_triangles.cpp
index d3277e0178c..a830fe57f9c 100644
--- a/engines/qdengine/minigames/adv/m_triangles.cpp
+++ b/engines/qdengine/minigames/adv/m_triangles.cpp
@@ -20,6 +20,7 @@
  */
 
 #include "common/debug.h"
+#include "common/memstream.h"
 
 #include "qdengine/qdengine.h"
 #include "qdengine/minigames/adv/m_triangles.h"
@@ -122,19 +123,16 @@ MinigameTriangle::MinigameTriangle() {
 		}
 	}
 
-	warning("STUB: MinigameTriangle::MinigameTriangle(): processGameData");
-#if 0
-	XBuffer gameData;
+	Common::MemoryReadWriteStream gameData(DisposeAfterUse::YES);
 
 	for (auto &it : positions_)
-		gameData.write(it);
+		it.write(gameData);
 
 	if (!g_runtime->processGameData(gameData))
 		return;
 
 	for (auto &it : positions_)
-		gameData.read(it);
-#endif
+		it.read(gameData);
 
 	for (int num = 1; num <= 2; ++num) {
 		for (int angle = 1; angle <= 3; ++angle) {
diff --git a/engines/qdengine/qdcore/qd_minigame_interface.cpp b/engines/qdengine/qdcore/qd_minigame_interface.cpp
index 84ffdc05a41..c3e084c8b23 100644
--- a/engines/qdengine/qdcore/qd_minigame_interface.cpp
+++ b/engines/qdengine/qdcore/qd_minigame_interface.cpp
@@ -42,6 +42,20 @@
 
 namespace QDEngine {
 
+template<>
+void mgVect3<float>::write(Common::WriteStream &out) {
+	out.writeFloatLE(x);
+	out.writeFloatLE(y);
+	out.writeFloatLE(z);
+}
+
+template<>
+void mgVect3<float>::read(Common::ReadStream &in) {
+	x = in.readFloatLE();
+	y = in.readFloatLE();
+	z = in.readFloatLE();
+}
+
 namespace qdmg {
 
 class qdMinigameObjectInterfaceImplBase : public qdMinigameObjectInterface {
diff --git a/engines/qdengine/qdcore/qd_minigame_interface.h b/engines/qdengine/qdcore/qd_minigame_interface.h
index b9e01c186c7..cefda9663a8 100644
--- a/engines/qdengine/qdcore/qd_minigame_interface.h
+++ b/engines/qdengine/qdcore/qd_minigame_interface.h
@@ -22,6 +22,10 @@
 #ifndef QDENGINE_QDCORE_QD_MINIGAME_INTERFACE_H
 #define QDENGINE_QDCORE_QD_MINIGAME_INTERFACE_H
 
+namespace Common {
+class ReadStream;
+class WriteStream;
+};
 
 namespace QDEngine {
 
@@ -210,6 +214,9 @@ public:
 		return mgVect3(*this) *= v;
 	}
 
+	void write(Common::WriteStream &out);
+	void read(Common::ReadStream &out);
+
 	T x;
 	T y;
 	T z;


Commit: 157fb9da40068f66a7c579ddcc26383ef2807586
    https://github.com/scummvm/scummvm/commit/157fb9da40068f66a7c579ddcc26383ef2807586
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-22T00:28:23+02:00

Commit Message:
QDENGINE: Unstub MinigameManager::processGameData()

Changed paths:
    engines/qdengine/minigames/adv/RunTime.cpp
    engines/qdengine/minigames/adv/RunTime.h


diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 6c241644c24..23638632950 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -892,29 +892,28 @@ int MinigameManager::rnd(const Std::vector<float> &prob) const {
 
 // если данные еще ни разу не сохранялись - запоминаем
 // если уже есть запомненные, то заменяем на них
-bool MinigameManager::processGameData(Common::SeekableWriteStream &data) {
-	warning("STUB: MinigameManager::processGameData()");
-#if 0
+bool MinigameManager::processGameData(Common::SeekableReadStream &data) {
+	data.seek(0);
+
 	if (currentGameInfo_) {
 		if (currentGameInfo_->empty_) {
 			currentGameInfo_->empty_ = false;
-			assert(data.tell());
-			currentGameInfo_->write(data.buffer(), data.tell());
+			assert(data.pos());
+			currentGameInfo_->write(data);
 		} else {
-			if (data.tell() != currentGameInfo_->dataSize_)
+			if (data.pos() != currentGameInfo_->dataSize_)
 				warning("MinigameManager::processGameData(): Old minigame save detected. Remove '%s'", state_container_name_);
 
-			if (data.tell() == currentGameInfo_->dataSize_) {
-				data.set(0);
-				data.write(currentGameInfo_->gameData_, currentGameInfo_->dataSize_, true);
+			if (data.pos() == currentGameInfo_->dataSize_) {
+				currentGameInfo_->write(data);
 			} else {
-				data.set(0);
+				data.seek(0);
 				return false;
 			}
 		}
 	}
-	data.set(0);
-#endif
+	data.seek(0);
+
 	return true;
 }
 
@@ -958,16 +957,16 @@ void GameInfo::free() {
 	dataSize_ = 0;
 }
 
-void GameInfo::write(void *data, uint size) {
-	if (dataSize_ != size) {
+void GameInfo::write(Common::SeekableReadStream &in) {
+	if (dataSize_ != in.size()) {
 		free();
-		if (size > 0) {
-			gameData_ = malloc(size);
-			dataSize_ = size;
+		if (in.size() > 0) {
+			dataSize_ = in.size();
+			gameData_ = malloc(dataSize_);
 		}
 	}
 	if (dataSize_ > 0)
-		memcpy(gameData_, data, dataSize_);
+		in.read(gameData_, dataSize_);
 }
 
 #if 0
diff --git a/engines/qdengine/minigames/adv/RunTime.h b/engines/qdengine/minigames/adv/RunTime.h
index 21ef291b7ff..ae803bd4b7e 100644
--- a/engines/qdengine/minigames/adv/RunTime.h
+++ b/engines/qdengine/minigames/adv/RunTime.h
@@ -27,6 +27,7 @@
 #include "qdengine/minigames/adv/common.h"
 
 namespace Common {
+class SeekableReadStream;
 class SeekableWriteStream;
 }
 
@@ -63,7 +64,7 @@ struct MinigameData {
 
 struct GameInfo {
 	GameInfo();
-	void write(void *data, uint size);
+	void write(Common::SeekableReadStream &in);
 	void free();
 	static int version() {
 		return 9;
@@ -103,7 +104,7 @@ public:
 	// finish MiniGame virtual interface
 
 	// при необходимости заменяет на неизмененные предыдущим прохождением данные
-	bool processGameData(Common::SeekableWriteStream &data);
+	bool processGameData(Common::SeekableReadStream &data);
 
 	mgVect2f mousePosition() const {
 		return mousePos_;


Commit: e36f79f7f76ad2cb5169101da1c92b0790e04311
    https://github.com/scummvm/scummvm/commit/e36f79f7f76ad2cb5169101da1c92b0790e04311
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-22T00:31:50+02:00

Commit Message:
QDENGINE: Unstub MinigameManager::createGame()

Changed paths:
    engines/qdengine/minigames/adv/RunTime.cpp


diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 23638632950..5518cdeb143 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -146,10 +146,6 @@ bool MinigameManager::createGame() {
 	assert(engine_ && scene_);
 	assert(!game_);
 
-	warning("STUB: MinigameManager::createGame()");
-
-#if 0
-
 	screenSize_ = engine_->screen_size();
 
 #ifdef _DEBUG
@@ -244,7 +240,6 @@ bool MinigameManager::createGame() {
 		return true;
 	}
 
-#endif
 	return false;
 }
 




More information about the Scummvm-git-logs mailing list