[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