[Scummvm-git-logs] scummvm master -> 932d4b278eb1fab29cc4783dcb3a688a104cadd2
yuv422
noreply at scummvm.org
Sun Jan 5 23:03:02 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
932d4b278e DARKSEED: Add big5 font data bundle
Commit: 932d4b278eb1fab29cc4783dcb3a688a104cadd2
https://github.com/scummvm/scummvm/commit/932d4b278eb1fab29cc4783dcb3a688a104cadd2
Author: Eric Fry (yuv422 at reversedgames.com)
Date: 2025-01-05T16:00:37-07:00
Commit Message:
DARKSEED: Add big5 font data bundle
Changed paths:
A dists/engine-data/darkseed.dat
dists/engine-data/README
dists/engine-data/engine_data.mk
engines/darkseed/POTFILES
engines/darkseed/big5font.cpp
engines/darkseed/darkseed.cpp
diff --git a/dists/engine-data/README b/dists/engine-data/README
index a5ccf782a17..c3f0b8d7529 100644
--- a/dists/engine-data/README
+++ b/dists/engine-data/README
@@ -24,6 +24,9 @@ This file contains all strings and some file names depending only on platform/lo
Some filenames depend on the edition, these are handled by game flags in engine code.
Those informations were stored in the original executables.
+darkseed.dat:
+This file contains essential game data used by the Darkseed engine.
+
drascula.dat:
This file contains essential game data used by the Drascula engine.
diff --git a/dists/engine-data/darkseed.dat b/dists/engine-data/darkseed.dat
new file mode 100644
index 00000000000..bc842365dfc
Binary files /dev/null and b/dists/engine-data/darkseed.dat differ
diff --git a/dists/engine-data/engine_data.mk b/dists/engine-data/engine_data.mk
index 50c6e6f8409..d770afdc1cd 100644
--- a/dists/engine-data/engine_data.mk
+++ b/dists/engine-data/engine_data.mk
@@ -10,6 +10,9 @@ endif
ifdef ENABLE_CRYOMNI3D
DIST_FILES_LIST += dists/engine-data/cryomni3d.dat
endif
+ifdef ENABLE_DARKSEED
+DIST_FILES_LIST += dists/engine-data/darkseed.dat
+endif
ifdef ENABLE_DRASCULA
DIST_FILES_LIST += dists/engine-data/drascula.dat
endif
diff --git a/engines/darkseed/POTFILES b/engines/darkseed/POTFILES
index a6633d68eee..11435c00a8b 100644
--- a/engines/darkseed/POTFILES
+++ b/engines/darkseed/POTFILES
@@ -1 +1,2 @@
+engines/darkseed/darkseed.cpp
engines/darkseed/metaengine.cpp
diff --git a/engines/darkseed/big5font.cpp b/engines/darkseed/big5font.cpp
index 4536c8395ad..a859b1e38bc 100644
--- a/engines/darkseed/big5font.cpp
+++ b/engines/darkseed/big5font.cpp
@@ -25,13 +25,12 @@
namespace Darkseed {
Big5Font::Big5Font() {
- Common::File tosFile;
- if (!tosFile.open("tos.exe")) { // TODO handle packed tos.exe
- error("Error: failed to open tos.exe");
+ Common::File fontData;
+ if (!fontData.open("big5font_game.dat")) {
+ error("Error: failed to open big5font_game.dat");
}
- tosFile.seek(0x2701);
- _big5.loadPrefixedRaw(tosFile, 15);
- tosFile.close();
+ _big5.loadPrefixedRaw(fontData, 15);
+ fontData.close();
}
int Big5Font::getFontHeight() const {
diff --git a/engines/darkseed/darkseed.cpp b/engines/darkseed/darkseed.cpp
index c24e693865f..4c90290dde7 100644
--- a/engines/darkseed/darkseed.cpp
+++ b/engines/darkseed/darkseed.cpp
@@ -24,6 +24,8 @@
#include "common/events.h"
#include "common/scummsys.h"
#include "common/system.h"
+#include "common/compression/unzip.h"
+#include "common/translation.h"
#include "engines/util.h"
#include "darkseed/darkseed.h"
#include "darkseed/console.h"
@@ -57,6 +59,15 @@ Common::String DarkseedEngine::getGameId() const {
}
Common::Error DarkseedEngine::run() {
+ // Initialise engine data for the game
+ if (getLanguage() == Common::ZH_ANY) { // currently only the Chinese version requires external bundled data.
+ Common::Archive *archive = Common::makeZipArchive("darkseed.dat");
+ if (!archive) {
+ GUIErrorMessage(_("Unable to locate the darkseed.dat engine data file."));
+ return Common::kPathDoesNotExist;
+ }
+ SearchMan.add("darkseed.dat", archive);
+ }
initGraphics(640, 350);
_canSaveGame = false;
_sound = new Sound(_mixer);
More information about the Scummvm-git-logs
mailing list