[Scummvm-git-logs] scummvm master -> 16af74a40e7e439839008ebb5d0fd353651d0dfb
sev-
noreply at scummvm.org
Mon Aug 28 19:51:21 UTC 2023
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:
a7c8056d73 ULTIMA: Split Ultima 8 resources into a separate archive
16af74a40e ULTIMA: Regenerate ultima8.dat
Commit: a7c8056d73accac3fa457cf6fc8374b144f7eca9
https://github.com/scummvm/scummvm/commit/a7c8056d73accac3fa457cf6fc8374b144f7eca9
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2023-08-28T21:51:17+02:00
Commit Message:
ULTIMA: Split Ultima 8 resources into a separate archive
Changed paths:
A devtools/create_ultima8/Vera.ttf
A devtools/create_ultima8/VeraBd.ttf
A devtools/create_ultima8/Vera_copyright.txt
A devtools/create_ultima8/pentagram.png
A devtools/create_ultima8/regretweapons.ini
A devtools/create_ultima8/remorse.ini
A devtools/create_ultima8/remorsebindings.ini
A devtools/create_ultima8/remorseweapons.ini
A devtools/create_ultima8/u8.ini
A devtools/create_ultima8/u8armour.ini
A devtools/create_ultima8/u8english.ini
A devtools/create_ultima8/u8french.ini
A devtools/create_ultima8/u8german.ini
A devtools/create_ultima8/u8japanese.ini
A devtools/create_ultima8/u8monsters.ini
A devtools/create_ultima8/u8spanish.ini
A devtools/create_ultima8/u8weapons.ini
R devtools/create_ultima/files/ultima8/Vera.ttf
R devtools/create_ultima/files/ultima8/VeraBd.ttf
R devtools/create_ultima/files/ultima8/Vera_copyright.txt
R devtools/create_ultima/files/ultima8/pentagram.png
R devtools/create_ultima/files/ultima8/regretweapons.ini
R devtools/create_ultima/files/ultima8/remorse.ini
R devtools/create_ultima/files/ultima8/remorsebindings.ini
R devtools/create_ultima/files/ultima8/remorseweapons.ini
R devtools/create_ultima/files/ultima8/u8.ini
R devtools/create_ultima/files/ultima8/u8armour.ini
R devtools/create_ultima/files/ultima8/u8english.ini
R devtools/create_ultima/files/ultima8/u8french.ini
R devtools/create_ultima/files/ultima8/u8german.ini
R devtools/create_ultima/files/ultima8/u8japanese.ini
R devtools/create_ultima/files/ultima8/u8monsters.ini
R devtools/create_ultima/files/ultima8/u8spanish.ini
R devtools/create_ultima/files/ultima8/u8weapons.ini
R devtools/create_ultima/files/ultima8/version.txt
Makefile.common
devtools/create_project/xcode.cpp
devtools/release-checks.sh
dists/engine-data/README
dists/irix/scummvm.idb
dists/scummvm.rc
dists/win32/migration.txt
engines/ultima/ultima8/games/game_data.cpp
engines/ultima/ultima8/graphics/fonts/font_manager.cpp
engines/ultima/ultima8/ultima8.cpp
engines/ultima/ultima8/ultima8.h
diff --git a/Makefile.common b/Makefile.common
index ec80865d1c9..db52cf2f63b 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -468,7 +468,7 @@ ifdef ENABLE_TOON
DIST_FILES_ENGINEDATA+=toon.dat
endif
ifdef ENABLE_ULTIMA
-DIST_FILES_ENGINEDATA+=ultima.dat
+DIST_FILES_ENGINEDATA+=ultima.dat ultima8.dat
endif
ifdef ENABLE_WINTERMUTE
DIST_FILES_ENGINEDATA+=wintermute.zip
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index d8c540ccd56..783f035a584 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -1052,6 +1052,7 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu
files.push_back("dists/engine-data/tony.dat");
files.push_back("dists/engine-data/toon.dat");
files.push_back("dists/engine-data/ultima.dat");
+ files.push_back("dists/engine-data/ultima8.dat");
files.push_back("dists/engine-data/wintermute.zip");
files.push_back("dists/ios7/LaunchScreen_ios.storyboard");
files.push_back("dists/tvos/LaunchScreen_tvos.storyboard");
diff --git a/devtools/create_ultima/files/ultima8/version.txt b/devtools/create_ultima/files/ultima8/version.txt
deleted file mode 100644
index cd5ac039d67..00000000000
--- a/devtools/create_ultima/files/ultima8/version.txt
+++ /dev/null
@@ -1 +0,0 @@
-2.0
diff --git a/devtools/create_ultima/files/ultima8/Vera.ttf b/devtools/create_ultima8/Vera.ttf
similarity index 100%
rename from devtools/create_ultima/files/ultima8/Vera.ttf
rename to devtools/create_ultima8/Vera.ttf
diff --git a/devtools/create_ultima/files/ultima8/VeraBd.ttf b/devtools/create_ultima8/VeraBd.ttf
similarity index 100%
rename from devtools/create_ultima/files/ultima8/VeraBd.ttf
rename to devtools/create_ultima8/VeraBd.ttf
diff --git a/devtools/create_ultima/files/ultima8/Vera_copyright.txt b/devtools/create_ultima8/Vera_copyright.txt
similarity index 100%
rename from devtools/create_ultima/files/ultima8/Vera_copyright.txt
rename to devtools/create_ultima8/Vera_copyright.txt
diff --git a/devtools/create_ultima/files/ultima8/pentagram.png b/devtools/create_ultima8/pentagram.png
similarity index 100%
rename from devtools/create_ultima/files/ultima8/pentagram.png
rename to devtools/create_ultima8/pentagram.png
diff --git a/devtools/create_ultima/files/ultima8/regretweapons.ini b/devtools/create_ultima8/regretweapons.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/regretweapons.ini
rename to devtools/create_ultima8/regretweapons.ini
diff --git a/devtools/create_ultima/files/ultima8/remorse.ini b/devtools/create_ultima8/remorse.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/remorse.ini
rename to devtools/create_ultima8/remorse.ini
diff --git a/devtools/create_ultima/files/ultima8/remorsebindings.ini b/devtools/create_ultima8/remorsebindings.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/remorsebindings.ini
rename to devtools/create_ultima8/remorsebindings.ini
diff --git a/devtools/create_ultima/files/ultima8/remorseweapons.ini b/devtools/create_ultima8/remorseweapons.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/remorseweapons.ini
rename to devtools/create_ultima8/remorseweapons.ini
diff --git a/devtools/create_ultima/files/ultima8/u8.ini b/devtools/create_ultima8/u8.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8.ini
rename to devtools/create_ultima8/u8.ini
diff --git a/devtools/create_ultima/files/ultima8/u8armour.ini b/devtools/create_ultima8/u8armour.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8armour.ini
rename to devtools/create_ultima8/u8armour.ini
diff --git a/devtools/create_ultima/files/ultima8/u8english.ini b/devtools/create_ultima8/u8english.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8english.ini
rename to devtools/create_ultima8/u8english.ini
diff --git a/devtools/create_ultima/files/ultima8/u8french.ini b/devtools/create_ultima8/u8french.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8french.ini
rename to devtools/create_ultima8/u8french.ini
diff --git a/devtools/create_ultima/files/ultima8/u8german.ini b/devtools/create_ultima8/u8german.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8german.ini
rename to devtools/create_ultima8/u8german.ini
diff --git a/devtools/create_ultima/files/ultima8/u8japanese.ini b/devtools/create_ultima8/u8japanese.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8japanese.ini
rename to devtools/create_ultima8/u8japanese.ini
diff --git a/devtools/create_ultima/files/ultima8/u8monsters.ini b/devtools/create_ultima8/u8monsters.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8monsters.ini
rename to devtools/create_ultima8/u8monsters.ini
diff --git a/devtools/create_ultima/files/ultima8/u8spanish.ini b/devtools/create_ultima8/u8spanish.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8spanish.ini
rename to devtools/create_ultima8/u8spanish.ini
diff --git a/devtools/create_ultima/files/ultima8/u8weapons.ini b/devtools/create_ultima8/u8weapons.ini
similarity index 100%
rename from devtools/create_ultima/files/ultima8/u8weapons.ini
rename to devtools/create_ultima8/u8weapons.ini
diff --git a/devtools/release-checks.sh b/devtools/release-checks.sh
index b7e083e8e06..a02bb3f8883 100755
--- a/devtools/release-checks.sh
+++ b/devtools/release-checks.sh
@@ -441,6 +441,26 @@ fi
+###########
+# Ultima 8 engine
+###########
+
+echo_n "Checking ultima8.dat..."
+
+fileDate=`git log -1 dists/engine-data/ultima8.dat | grep Date | sed 's/Date: //'`
+
+num_lines=`git -P log --oneline "--since=$fileDate" devtools/create_ultima8 | wc -l`
+
+if [ "$num_lines" -ne "0" ]; then
+ echo -e "$num_lines unprocessed commits. ${RED}Run 'cd devtools/create_ultima8; zip -r9 ../../../dists/engine-data/ultima8.dat .'${NC}"
+
+ failPlus
+else
+ echoOk
+fi
+
+
+
###########
# Totals
###########
diff --git a/dists/engine-data/README b/dists/engine-data/README
index f1cda5aa572..4d3927c5591 100644
--- a/dists/engine-data/README
+++ b/dists/engine-data/README
@@ -110,6 +110,9 @@ This file contains all the strings hardcoded in the original executables.
ultima.dat:
This file contains scripts and game data used by the Ultima engine.
+ultima8.dat:
+This file contains scripts and game data used by the Ultima 8 engine.
+
wintermute.zip:
This file contains additional graphics resources used by the Wintermute engine.
diff --git a/dists/irix/scummvm.idb b/dists/irix/scummvm.idb
index 4b36e474426..f5cafd0f570 100644
--- a/dists/irix/scummvm.idb
+++ b/dists/irix/scummvm.idb
@@ -44,6 +44,7 @@ f 0644 root sys usr/ScummVM/share/scummvm/titanic.dat titanic.dat scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/tony.dat tony.dat scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/toon.dat toon.dat scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/ultima.dat ultima.dat scummvm.sw.eoe
+f 0644 root sys usr/ScummVM/share/scummvm/ultima8.dat ultima8.dat scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/freescape.dat freescape.dat scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/wintermute.zip wintermute.zip scummvm.sw.eoe
f 0644 root sys usr/ScummVM/share/scummvm/mm.dat mm.dat scummvm.sw.eoe
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index 11456bb1c1a..0ac7dccec90 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -115,6 +115,7 @@ toon.dat FILE "dists/engine-data/toon.dat"
#endif
#if PLUGIN_ENABLED_STATIC(ULTIMA)
ultima.dat FILE "dists/engine-data/ultima.dat"
+ultima8.dat FILE "dists/engine-data/ultima8.dat"
#endif
#if PLUGIN_ENABLED_STATIC(WINTERMUTE)
wintermute.zip FILE "dists/engine-data/wintermute.zip"
diff --git a/dists/win32/migration.txt b/dists/win32/migration.txt
index 6afece766d7..2dbed856508 100644
--- a/dists/win32/migration.txt
+++ b/dists/win32/migration.txt
@@ -59,6 +59,7 @@ toon.dat
tony.dat
translations.dat
ultima.dat
+ultima8.dat
wintermute.zip
unins000.dat
unins000.exe
diff --git a/engines/ultima/ultima8/games/game_data.cpp b/engines/ultima/ultima8/games/game_data.cpp
index de949e79819..6729929ec28 100644
--- a/engines/ultima/ultima8/games/game_data.cpp
+++ b/engines/ultima/ultima8/games/game_data.cpp
@@ -171,8 +171,6 @@ void GameData::loadTranslation() {
}
if (!translationfile.empty()) {
- translationfile = "data/" + translationfile;
-
debug(MM_INFO, "Loading translation: %s", translationfile.c_str());
config->readConfigFile(translationfile, "language");
@@ -263,10 +261,10 @@ void GameData::loadU8Data() {
// Load weapon, armour info
ConfigFileManager *config = ConfigFileManager::get_instance();
- config->readConfigFile("data/u8weapons.ini", "weapons");
- config->readConfigFile("data/u8armour.ini", "armour");
- config->readConfigFile("data/u8monsters.ini", "monsters");
- config->readConfigFile("data/u8.ini", "game");
+ config->readConfigFile("u8weapons.ini", "weapons");
+ config->readConfigFile("u8armour.ini", "armour");
+ config->readConfigFile("u8monsters.ini", "monsters");
+ config->readConfigFile("u8.ini", "game");
// Load typeflags
Common::SeekableReadStream *tfs = filesystem->ReadFile("static/typeflag.dat");
@@ -540,11 +538,11 @@ void GameData::loadRemorseData() {
ConfigFileManager *config = ConfigFileManager::get_instance();
// Load weapon, armour info
if (_gameInfo->_type == GameInfo::GAME_REMORSE)
- config->readConfigFile("data/remorseweapons.ini", "weapons");
+ config->readConfigFile("remorseweapons.ini", "weapons");
else
- config->readConfigFile("data/regretweapons.ini", "weapons");
+ config->readConfigFile("regretweapons.ini", "weapons");
- config->readConfigFile("data/remorse.ini", "game");
+ config->readConfigFile("remorse.ini", "game");
// Load typeflags
Common::SeekableReadStream *tfs = filesystem->ReadFile("static/typeflag.dat");
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
index 8092eb47e35..b21101fc704 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
@@ -99,9 +99,9 @@ Graphics::Font *FontManager::getTTF_Font(const Std::string &filename, int points
return iter->_value;
Common::SeekableReadStream *fontids;
- fontids = FileSystem::get_instance()->ReadFile("data/" + filename);
+ fontids = FileSystem::get_instance()->ReadFile(filename);
if (!fontids) {
- warning("Failed to open TTF: data/%s", filename.c_str());
+ warning("Failed to open TTF: %s", filename.c_str());
return nullptr;
}
@@ -112,13 +112,13 @@ Graphics::Font *FontManager::getTTF_Font(const Std::string &filename, int points
Graphics::Font *font = Graphics::loadTTFFont(*fontids, pointsize, Graphics::kTTFSizeModeCharacter, 0, mode, 0, false);
if (!font) {
- warning("Failed to open TTF: data/%s", filename.c_str());
+ warning("Failed to open TTF: %s", filename.c_str());
return nullptr;
}
_ttfFonts[id] = font;
- debugC(kDebugGraphics, "Opened TTF: data/%s.", filename.c_str());
+ debugC(kDebugGraphics, "Opened TTF: %s.", filename.c_str());
return font;
#else // !USE_FREETYPE2
return nullptr;
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index bc1bf8216db..0939e858b5f 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -21,6 +21,7 @@
#include "common/rational.h"
#include "common/translation.h"
+#include "common/compression/unzip.h"
#include "gui/saveload.h"
#include "image/png.h"
#include "engines/dialogs.h"
@@ -95,8 +96,6 @@
#include "ultima/ultima8/gumps/shape_viewer_gump.h"
#include "ultima/ultima8/metaengine.h"
-#include "ultima/shared/engine/data_archive.h"
-
//#define PAINT_TIMING 1
#define GAME_FRAME_TIME 50
@@ -175,23 +174,16 @@ Common::Error Ultima8Engine::run() {
bool Ultima8Engine::initialize() {
- Common::String folder;
- int reqMajorVersion, reqMinorVersion;
-
// Call syncSoundSettings to get default volumes set
syncSoundSettings();
- // Check if the game uses data from te ultima.dat archive
- if (!isDataRequired(folder, reqMajorVersion, reqMinorVersion))
- return true;
-
// Try and set up the data archive
- // TODO: Refactor this to use a separate archive
- Common::U32String errorMsg;
- if (!Shared::UltimaDataArchive::load(folder, reqMajorVersion, reqMinorVersion, errorMsg)) {
- GUIErrorMessage(errorMsg);
+ Common::Archive *archive = Common::makeZipArchive("ultima8.dat");
+ if (!archive) {
+ GUIErrorMessageFormat(_("Unable to locate the '%s' engine data file."), "ultima8.dat");
return false;
}
+ SearchMan.add("data", archive);
return true;
}
@@ -1598,15 +1590,6 @@ uint32 Ultima8Engine::I_moveKeyDownRecently(const uint8 *args, unsigned int /*ar
return g->moveKeyDownRecently() ? 1 : 0;
}
-bool Ultima8Engine::isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) {
- folder = "ultima8";
- // Version 1: Initial release
- // Version 2: Add data for Crusader games
- majorVersion = 2;
- minorVersion = 0;
- return true;
-}
-
Graphics::Screen *Ultima8Engine::getScreen() const {
Graphics::Screen *scr = dynamic_cast<Graphics::Screen *>(_screen->getRawSurface());
assert(scr);
@@ -1618,7 +1601,7 @@ void Ultima8Engine::showSplashScreen() {
Common::File f;
// Get splash _screen image
- if (!f.open("data/pentagram.png") || !png.loadStream(f))
+ if (!f.open("pentagram.png") || !png.loadStream(f))
return;
// Blit the splash image to the _screen
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index 5af6d936423..58092fa86e7 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -174,11 +174,6 @@ protected:
void pauseEngineIntern(bool pause) override;
- /**
- * Returns the data archive folder and version that's required
- */
- bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion);
-
public:
Ultima8Engine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc);
~Ultima8Engine() override;
Commit: 16af74a40e7e439839008ebb5d0fd353651d0dfb
https://github.com/scummvm/scummvm/commit/16af74a40e7e439839008ebb5d0fd353651d0dfb
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2023-08-28T21:51:17+02:00
Commit Message:
ULTIMA: Regenerate ultima8.dat
Changed paths:
A dists/engine-data/ultima8.dat
diff --git a/dists/engine-data/ultima8.dat b/dists/engine-data/ultima8.dat
new file mode 100644
index 00000000000..7fcf17df10c
Binary files /dev/null and b/dists/engine-data/ultima8.dat differ
More information about the Scummvm-git-logs
mailing list