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

bluegr noreply at scummvm.org
Tue Jun 3 15:14:03 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
a8b0e298e0 ULTIMA4: Replace Shared::File with Common::File


Commit: a8b0e298e09824d8fd9c56cbecb5074a91ddb051
    https://github.com/scummvm/scummvm/commit/a8b0e298e09824d8fd9c56cbecb5074a91ddb051
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2025-06-03T18:13:59+03:00

Commit Message:
ULTIMA4: Replace Shared::File with Common::File

Changed paths:
    engines/ultima/module.mk
    engines/ultima/ultima4/controllers/intro_controller.cpp
    engines/ultima/ultima4/controllers/intro_controller.h
    engines/ultima/ultima4/filesys/u4file.cpp
    engines/ultima/ultima4/gfx/screen.cpp
    engines/ultima/ultima4/gfx/screen.h
    engines/ultima/ultima4/sound/music.cpp


diff --git a/engines/ultima/module.mk b/engines/ultima/module.mk
index 5d17e4ef596..ed0503ef4a2 100644
--- a/engines/ultima/module.mk
+++ b/engines/ultima/module.mk
@@ -4,7 +4,6 @@ MODULE_OBJS := \
 	metaengine.o \
 	shared/conf/xml_node.o \
 	shared/conf/xml_tree.o \
-	shared/core/file.o \
 	shared/engine/ultima.o \
 	shared/engine/data_archive.o \
 	shared/engine/debugger.o \
@@ -18,6 +17,7 @@ MODULE_OBJS += \
 	shared/actions/pass.o \
 	shared/core/base_object.o \
 	shared/core/character.o \
+	shared/core/file.o \
 	shared/core/lzw.o \
 	shared/core/map.o \
 	shared/core/message_target.o \
diff --git a/engines/ultima/ultima4/controllers/intro_controller.cpp b/engines/ultima/ultima4/controllers/intro_controller.cpp
index 35147872425..446ae3b719b 100644
--- a/engines/ultima/ultima4/controllers/intro_controller.cpp
+++ b/engines/ultima/ultima4/controllers/intro_controller.cpp
@@ -108,8 +108,9 @@ IntroBinData::~IntroBinData() {
 	_introGypsy.clear();
 }
 
-void IntroBinData::openFile(Shared::File &f, const Common::String &name) {
-	f.open(Common::Path(Common::String::format("data/intro/%s.dat", name.c_str())));
+void IntroBinData::openFile(Common::File &f, const Common::String &name) {
+	if (!f.open(Common::Path(Common::String::format("data/intro/%s.dat", name.c_str()))))
+		error("Could not load '%s'", name.c_str());
 }
 
 bool IntroBinData::load() {
@@ -127,7 +128,7 @@ bool IntroBinData::load() {
 		delete _sigData;
 	_sigData = new byte[533];
 
-	Shared::File f;
+	Common::File f;
 	openFile(f, "intro_sig");
 	f.read(_sigData, 533);
 
diff --git a/engines/ultima/ultima4/controllers/intro_controller.h b/engines/ultima/ultima4/controllers/intro_controller.h
index 206a372db1c..b01a2da60fd 100644
--- a/engines/ultima/ultima4/controllers/intro_controller.h
+++ b/engines/ultima/ultima4/controllers/intro_controller.h
@@ -29,7 +29,7 @@
 #include "ultima/ultima4/views/textview.h"
 #include "ultima/ultima4/views/imageview.h"
 #include "ultima/ultima4/views/tileview.h"
-#include "ultima/shared/core/file.h"
+#include "common/file.h"
 
 namespace Ultima {
 namespace Ultima4 {
@@ -45,7 +45,7 @@ private:
 	// disallow assignments, copy construction
 	IntroBinData(const IntroBinData &);
 	const IntroBinData &operator=(const IntroBinData &);
-	void openFile(Shared::File &f, const Common::String &name);
+	void openFile(Common::File &f, const Common::String &name);
 public:
 	IntroBinData();
 	~IntroBinData();
diff --git a/engines/ultima/ultima4/filesys/u4file.cpp b/engines/ultima/ultima4/filesys/u4file.cpp
index 70c3d027390..cd773135d8c 100644
--- a/engines/ultima/ultima4/filesys/u4file.cpp
+++ b/engines/ultima/ultima4/filesys/u4file.cpp
@@ -20,17 +20,21 @@
  */
 
 #include "ultima/ultima4/filesys/u4file.h"
-#include "ultima/shared/core/file.h"
+#include "common/file.h"
 
 namespace Ultima {
 namespace Ultima4 {
 
 Std::vector<Common::String> u4read_stringtable(const Common::String &filename) {
-	Shared::File f(Common::Path(Common::String::format("data/text/%s.dat", filename.c_str())));
+	Common::File f;
+	if (!f.open(Common::Path(Common::String::format("data/text/%s.dat", filename.c_str()))))
+		error("Could not open string table '%s'", filename.c_str());
+
 	Std::vector<Common::String> strs;
 	Common::String line;
+	int64 filesize = f.size();
 
-	while (!f.eof())
+	while (f.pos() < filesize)
 		strs.push_back(f.readString());
 
 	return strs;
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index 532e4bf3933..785ab3eef10 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -147,7 +147,9 @@ void Screen::clear() {
 void Screen::loadMouseCursors() {
 	// enable or disable the mouse cursor
 	if (settings._mouseOptions._enabled) {
-		Shared::File cursorsFile("data/graphics/cursors.txt");
+		Common::File cursorsFile;
+		if (!cursorsFile.open("data/graphics/cursors.txt"))
+			error("Could not load mouse cursors");
 
 		for (int idx = 0; idx < 5; ++idx)
 			_mouseCursors[idx] = loadMouseCursor(cursorsFile);
@@ -178,7 +180,7 @@ void Screen::setMouseCursor(MouseCursor cursor) {
 	}
 }
 
-MouseCursorSurface *Screen::loadMouseCursor(Shared::File &src) {
+MouseCursorSurface *Screen::loadMouseCursor(Common::File &src) {
 	uint row, col, endCol, pixel;
 	int hotX, hotY;
 	Common::String line;
diff --git a/engines/ultima/ultima4/gfx/screen.h b/engines/ultima/ultima4/gfx/screen.h
index 41d3d2b7760..36a6dcb6674 100644
--- a/engines/ultima/ultima4/gfx/screen.h
+++ b/engines/ultima/ultima4/gfx/screen.h
@@ -22,13 +22,13 @@
 #ifndef ULTIMA4_GFX_SCREEN_H
 #define ULTIMA4_GFX_SCREEN_H
 
+#include "common/file.h"
 #include "graphics/screen.h"
 #include "ultima/ultima4/core/config.h"
 #include "ultima/ultima4/core/types.h"
 #include "ultima/ultima4/gfx/scale.h"
 #include "ultima/ultima4/map/direction.h"
 #include "ultima/ultima4/map/map_tile.h"
-#include "ultima/shared/core/file.h"
 
 namespace Ultima {
 namespace Ultima4 {
@@ -134,7 +134,7 @@ private:
 	/**
 	 * Loads the data for a single cursor from the passed file
 	 */
-	MouseCursorSurface *loadMouseCursor(Shared::File &src);
+	MouseCursorSurface *loadMouseCursor(Common::File &src);
 
 	void screenLoadGraphicsFromConf();
 	Layout *screenLoadLayoutFromConf(const ConfigElement &conf);
diff --git a/engines/ultima/ultima4/sound/music.cpp b/engines/ultima/ultima4/sound/music.cpp
index a61e0dee8c3..2c5c5a58635 100644
--- a/engines/ultima/ultima4/sound/music.cpp
+++ b/engines/ultima/ultima4/sound/music.cpp
@@ -28,7 +28,6 @@
 #include "ultima/ultima4/game/context.h"
 #include "ultima/ultima4/map/location.h"
 #include "ultima/ultima4/ultima4.h"
-#include "ultima/shared/core/file.h"
 #include "audio/decoders/mp3.h"
 #include "audio/mods/mod_xm_s3m.h"
 #include "audio/midiparser.h"




More information about the Scummvm-git-logs mailing list