[Scummvm-git-logs] scummvm master -> 48f2dabc4d9a7a20c89785b7902d95327f1dbe83

aquadran noreply at scummvm.org
Sun Sep 14 13:20:45 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:
48f2dabc4d WINTERMUTE: Small sync with original code on file manager instance


Commit: 48f2dabc4d9a7a20c89785b7902d95327f1dbe83
    https://github.com/scummvm/scummvm/commit/48f2dabc4d9a7a20c89785b7902d95327f1dbe83
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-09-14T15:20:38+02:00

Commit Message:
WINTERMUTE: Small sync with original code on file manager instance

Changed paths:
    engines/wintermute/ad/ad_actor.cpp
    engines/wintermute/ad/ad_entity.cpp
    engines/wintermute/ad/ad_game.cpp
    engines/wintermute/ad/ad_inventory_box.cpp
    engines/wintermute/ad/ad_item.cpp
    engines/wintermute/ad/ad_layer.cpp
    engines/wintermute/ad/ad_region.cpp
    engines/wintermute/ad/ad_response_box.cpp
    engines/wintermute/ad/ad_rot_level.cpp
    engines/wintermute/ad/ad_scale_level.cpp
    engines/wintermute/ad/ad_scene.cpp
    engines/wintermute/ad/ad_sentence.cpp
    engines/wintermute/ad/ad_sprite_set.cpp
    engines/wintermute/ad/ad_talk_def.cpp
    engines/wintermute/ad/ad_waypoint_group.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_game.h
    engines/wintermute/base/base_region.cpp
    engines/wintermute/base/base_sprite.cpp
    engines/wintermute/base/base_string_table.cpp
    engines/wintermute/base/base_surface_storage.cpp
    engines/wintermute/base/font/base_font.cpp
    engines/wintermute/base/font/base_font_bitmap.cpp
    engines/wintermute/base/font/base_font_truetype.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/scriptables/script_engine.cpp
    engines/wintermute/base/scriptables/script_ext_file.cpp
    engines/wintermute/ui/ui_button.cpp
    engines/wintermute/ui/ui_edit.cpp
    engines/wintermute/ui/ui_entity.cpp
    engines/wintermute/ui/ui_text.cpp
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/ui/ui_window.cpp


diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 10d78bb5eae..5a48d9b0447 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -132,7 +132,7 @@ AdActor::~AdActor() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdActor::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdActor::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
@@ -1558,7 +1558,7 @@ bool AdActor::mergeAnims(const char *animsFilename) {
 	TOKEN_TABLE_END
 
 
-	char *fileBuffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(animsFilename);
+	char *fileBuffer = (char *)_game->_fileManager->readWholeFile(animsFilename);
 	if (fileBuffer == nullptr) {
 		_game->LOG(0, "AdActor::MergeAnims failed for file '%s'", animsFilename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index 00ca2d1c95c..3526363c56e 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -99,7 +99,7 @@ int32 AdEntity::getHintY() const {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdEntity::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdEntity::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index fca100aa371..240ded02a85 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -1323,7 +1323,7 @@ bool AdGame::showCursor() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdGame::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdGame::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
@@ -1612,7 +1612,7 @@ bool AdGame::getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *ex
 
 //////////////////////////////////////////////////////////////////////////
 bool AdGame::loadItemsFile(const char *filename, bool merge) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdGame::LoadItemsFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 6867b333228..b6446beac3b 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -164,7 +164,7 @@ bool AdInventoryBox::display() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdInventoryBox::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdInventoryBox::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp
index f9b040da64f..29c1f109d7b 100644
--- a/engines/wintermute/ad/ad_item.cpp
+++ b/engines/wintermute/ad/ad_item.cpp
@@ -81,7 +81,7 @@ AdItem::~AdItem() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdItem::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdItem::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp
index 274cac7dda5..74e05746f3d 100644
--- a/engines/wintermute/ad/ad_layer.cpp
+++ b/engines/wintermute/ad/ad_layer.cpp
@@ -65,7 +65,7 @@ AdLayer::~AdLayer() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdLayer::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdLayer::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_region.cpp b/engines/wintermute/ad/ad_region.cpp
index 378705ab021..91acafa6887 100644
--- a/engines/wintermute/ad/ad_region.cpp
+++ b/engines/wintermute/ad/ad_region.cpp
@@ -53,7 +53,7 @@ AdRegion::~AdRegion() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdRegion::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdRegion::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index de4c0d11c4c..f8d47761b69 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -203,7 +203,7 @@ bool AdResponseBox::createButtons() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdResponseBox::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdResponseBox::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_rot_level.cpp b/engines/wintermute/ad/ad_rot_level.cpp
index d4726d96d3c..9e5f8697b89 100644
--- a/engines/wintermute/ad/ad_rot_level.cpp
+++ b/engines/wintermute/ad/ad_rot_level.cpp
@@ -52,7 +52,7 @@ AdRotLevel::~AdRotLevel() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdRotLevel::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdRotLevel::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_scale_level.cpp b/engines/wintermute/ad/ad_scale_level.cpp
index 6835e0c7578..816bbe938a9 100644
--- a/engines/wintermute/ad/ad_scale_level.cpp
+++ b/engines/wintermute/ad/ad_scale_level.cpp
@@ -49,7 +49,7 @@ AdScaleLevel::~AdScaleLevel() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdScaleLevel::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdScaleLevel::LoadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index a361cef6aa4..743c2b75ecc 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -584,7 +584,7 @@ bool AdScene::initLoop() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdScene::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdScene::LoadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp
index bd8ec04edd1..203db7f0643 100644
--- a/engines/wintermute/ad/ad_sentence.cpp
+++ b/engines/wintermute/ad/ad_sentence.cpp
@@ -276,7 +276,7 @@ bool AdSentence::setupTalkFile(const char *soundFilename) {
 
 	AnsiString talkDefFileName = PathUtil::combine(path, name + ".talk");
 
-	if (!BaseFileManager::getEngineInstance()->hasFile(talkDefFileName)) {
+	if (!_game->_fileManager->hasFile(talkDefFileName)) {
 		return STATUS_OK;    // no talk def file found
 	}
 
diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp
index 78c6381bd18..0dbea3e131f 100644
--- a/engines/wintermute/ad/ad_sprite_set.cpp
+++ b/engines/wintermute/ad/ad_sprite_set.cpp
@@ -59,7 +59,7 @@ AdSpriteSet::~AdSpriteSet() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdSpriteSet::loadFile(const char *filename, int lifeTime, TSpriteCacheType cacheType) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdSpriteSet::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_talk_def.cpp b/engines/wintermute/ad/ad_talk_def.cpp
index 5b75ca7a8ba..ffa64c08d0f 100644
--- a/engines/wintermute/ad/ad_talk_def.cpp
+++ b/engines/wintermute/ad/ad_talk_def.cpp
@@ -67,7 +67,7 @@ AdTalkDef::~AdTalkDef() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdTalkDef::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdTalkDef::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ad/ad_waypoint_group.cpp b/engines/wintermute/ad/ad_waypoint_group.cpp
index a5558bd3eac..1b30966a081 100644
--- a/engines/wintermute/ad/ad_waypoint_group.cpp
+++ b/engines/wintermute/ad/ad_waypoint_group.cpp
@@ -65,7 +65,7 @@ void AdWaypointGroup::cleanup() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdWaypointGroup::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "AdWaypointGroup::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index cd5f2ee33ce..4a3fcfe0ed7 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -118,6 +118,8 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
 	_renderer3D = nullptr;
 #endif
 	_soundMgr = nullptr;
+	_videoPlayer = nullptr;
+	_fileManager = nullptr;
 	_transMgr = nullptr;
 	_scEngine = nullptr;
 	_keyboardState = nullptr;
@@ -132,7 +134,6 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
 	_systemFont = nullptr;
 	_videoFont = nullptr;
 
-	_videoPlayer = nullptr;
 	_theoraPlayer = nullptr;
 
 	_mainObject = nullptr;
@@ -346,12 +347,13 @@ BaseGame::~BaseGame() {
 	SAFE_DELETE(_scEngine);
 	SAFE_DELETE(_fontStorage);
 	SAFE_DELETE(_surfaceStorage);
-	SAFE_DELETE(_videoPlayer);
 	SAFE_DELETE(_theoraPlayer);
+	SAFE_DELETE(_videoPlayer);
 	SAFE_DELETE(_soundMgr);
 	//SAFE_DELETE(_keyboardState);
 
 	SAFE_DELETE(_renderer);
+	_fileManager = nullptr;
 	//SAFE_DELETE(m_AccessMgr);
 
 	SAFE_DELETE(_stringTable);
@@ -502,6 +504,11 @@ bool BaseGame::initialize1() {
 		if (_fontStorage == nullptr) {
 			break;
 		}
+		_fileManager = BaseFileManager::getEngineInstance();
+		if (_fileManager == nullptr) {
+			break;
+		}
+
 		//m_AccessMgr = new CBAccessMgr(this);
 		//if(m_AccessMgr == nullptr) {
 		//	break;
@@ -512,6 +519,11 @@ bool BaseGame::initialize1() {
 			break;
 		}
 
+		_videoPlayer = new VideoPlayer(this);
+		if (_videoPlayer == nullptr) {
+			break;
+		}
+
 		_mathClass = makeSXMath(this);
 		if (_mathClass == nullptr) {
 			break;
@@ -531,11 +543,6 @@ bool BaseGame::initialize1() {
 			break;
 		}
 
-		_videoPlayer = new VideoPlayer(this);
-		if (_videoPlayer == nullptr) {
-			break;
-		}
-
 		_transMgr = new BaseTransitionMgr(this);
 		if (_transMgr == nullptr) {
 			break;
@@ -565,10 +572,11 @@ bool BaseGame::initialize1() {
 		delete _transMgr;
 		delete _surfaceStorage;
 		delete _fontStorage;
+		delete _videoPlayer;
 		delete _soundMgr;
 		//delete m_AccessMgr;
+		_fileManager = nullptr;
 		delete _scEngine;
-		delete _videoPlayer;
 		return STATUS_FAILED;
 	}
 }
@@ -816,7 +824,7 @@ void BaseGame::getOffset(int *offsetX, int *offsetY) const {
 
 //////////////////////////////////////////////////////////////////////////
 bool BaseGame::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "BaseGame::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
@@ -2268,7 +2276,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		stack->correctParams(1);
 		const char *filename = stack->pop()->getString();
 
-		bool exists = BaseFileManager::getEngineInstance()->hasFile(filename); // Had absPathWarning = false
+		bool exists = _fileManager->hasFile(filename); // Had absPathWarning = false
 
 		// Used for screenshot files in "Stroke of Fate" duology
 		if (!exists)
@@ -2677,7 +2685,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		const char *filename = stack->pop()->getString();
 		bool asHex = stack->pop()->getBool(false);
 
-		Common::SeekableReadStream *file = BaseFileManager::getEngineInstance()->openFile(filename, false);
+		Common::SeekableReadStream *file = _fileManager->openFile(filename, false);
 		if (file) {
 			crc remainder = crc_initialize();
 			byte buf[1024];
@@ -2701,7 +2709,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 				stack->pushInt(checksum);
 			}
 
-			BaseFileManager::getEngineInstance()->closeFile(file);
+			_fileManager->closeFile(file);
 			file = nullptr;
 		} else {
 			stack->pushNULL();
@@ -4513,7 +4521,7 @@ bool BaseGame::loadSettings(const char *filename) {
 	TOKEN_TABLE(GUID)
 	TOKEN_TABLE_END
 
-	char *origBuffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *origBuffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (origBuffer == nullptr) {
 		_game->LOG(0, "BaseGame::loadSettings failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index 99b8faa0db2..458c18c1f4f 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -35,12 +35,13 @@
 #include "engines/wintermute/persistent.h"
 #include "engines/wintermute/coll_templ.h"
 #include "engines/wintermute/debugger.h"
-#include "common/events.h"
-#include "common/random.h"
 #if EXTENDED_DEBUGGER_ENABLED
 #include "engines/wintermute/base/scriptables/debuggable/debuggable_script_engine.h"
 #endif
 
+#include "common/events.h"
+#include "common/random.h"
+
 namespace Wintermute {
 
 typedef void (*ENGINE_LOG_CALLBACK)(char *text, bool result, void *data);
@@ -204,6 +205,7 @@ public:
 	bool initialize2();
 	bool initialize3();
 	//CBAccessMgr *m_AccessMgr;
+	BaseFileManager *_fileManager;
 	BaseTransitionMgr *_transMgr;
 
 	void LOG(bool res, const char *fmt, ...);
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index d3196e425a5..418ea37b9b6 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -103,7 +103,7 @@ bool BaseRegion::pointInRegion(int x, int y) {
 
 //////////////////////////////////////////////////////////////////////////
 bool BaseRegion::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "BaseRegion::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index 3a72ef4417c..f4c8e3f7c90 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -124,7 +124,7 @@ bool BaseSprite::draw(int x, int y, BaseObject *registerOwner, float zoomX, floa
 
 //////////////////////////////////////////////////////////////////////
 bool BaseSprite::loadFile(const char *filename, int lifeTime, TSpriteCacheType cacheType) {
-	if (!BaseFileManager::getEngineInstance()->hasFile(filename)) {
+	if (!_game->_fileManager->hasFile(filename)) {
 		_game->LOG(0, "BaseSprite::loadFile failed for file '%s'", filename);
 		if (_game->_debugMode) {
 			return loadFile("invalid_debug.bmp", lifeTime, cacheType);
@@ -156,7 +156,7 @@ bool BaseSprite::loadFile(const char *filename, int lifeTime, TSpriteCacheType c
 			ret = STATUS_OK;
 		}
 	} else {
-		char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+		char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 		if (buffer) {
 			if (DID_FAIL(ret = loadBuffer(buffer, true, lifeTime, cacheType))) {
 				_game->LOG(0, "Error parsing SPRITE file '%s'", filename);
diff --git a/engines/wintermute/base/base_string_table.cpp b/engines/wintermute/base/base_string_table.cpp
index 43275d1df35..485bb60377d 100644
--- a/engines/wintermute/base/base_string_table.cpp
+++ b/engines/wintermute/base/base_string_table.cpp
@@ -231,7 +231,7 @@ bool BaseStringTable::loadFile(const char *filename, bool clearOld) {
 	_filenames.push_back(Common::String(filename));
 
 	uint32 size;
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename, &size);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename, &size);
 	if (buffer == nullptr) {
 		_game->LOG(0, "BaseStringTable::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/base_surface_storage.cpp b/engines/wintermute/base/base_surface_storage.cpp
index 425afbc05f8..7b8b27c5ad5 100644
--- a/engines/wintermute/base/base_surface_storage.cpp
+++ b/engines/wintermute/base/base_surface_storage.cpp
@@ -110,7 +110,7 @@ BaseSurface *BaseSurfaceStorage::addSurface(const char *filename, bool defaultCK
 		}
 	}
 
-	if (!BaseFileManager::getEngineInstance()->hasFile(filename)) {
+	if (!_game->_fileManager->hasFile(filename)) {
 		if (filename) {
 			_game->LOG(0, "Missing image: '%s'", filename);
 		}
diff --git a/engines/wintermute/base/font/base_font.cpp b/engines/wintermute/base/font/base_font.cpp
index d291e67c9a4..2d0536a2138 100644
--- a/engines/wintermute/base/font/base_font.cpp
+++ b/engines/wintermute/base/font/base_font.cpp
@@ -30,6 +30,7 @@
 #include "engines/wintermute/base/font/base_font_truetype.h"
 #include "engines/wintermute/base/base_parser.h"
 #include "engines/wintermute/base/base_file_manager.h"
+#include "engines/wintermute/base/base_game.h"
 
 namespace Wintermute {
 
@@ -117,7 +118,7 @@ bool BaseFont::isTrueType(BaseGame *game, const char *filename) {
 	TOKEN_TABLE_END
 
 
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		return false;
 	}
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index 588ac90fab4..eafc36cdecf 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -278,7 +278,7 @@ void BaseFontBitmap::drawChar(byte c, int x, int y) {
 
 //////////////////////////////////////////////////////////////////////
 bool BaseFontBitmap::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "BaseFontBitmap::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index 102d05b9231..f5cd66cec63 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -291,7 +291,7 @@ int BaseFontTT::getLetterHeight() {
 
 //////////////////////////////////////////////////////////////////////
 bool BaseFontTT::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "BaseFontTT::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index 1cd350a2321..eeddfceec3e 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -129,7 +129,7 @@ bool PartEmitter::addSprite(const char *filename) {
 	}
 
 	// check if file exists
-	if (!BaseFileManager::getEngineInstance()->hasFile(filename)) {
+	if (!_game->_fileManager->hasFile(filename)) {
 		_game->LOG(0, "Sprite '%s' not found", filename);
 		return STATUS_FAILED;
 	}
diff --git a/engines/wintermute/base/scriptables/script_engine.cpp b/engines/wintermute/base/scriptables/script_engine.cpp
index 43bed32bee7..0efd57cb7c9 100644
--- a/engines/wintermute/base/scriptables/script_engine.cpp
+++ b/engines/wintermute/base/scriptables/script_engine.cpp
@@ -124,7 +124,8 @@ bool ScEngine::cleanup() {
 
 //////////////////////////////////////////////////////////////////////////
 byte *ScEngine::loadFile(void *data, char *filename, uint32 *size) {
-	return BaseFileManager::getEngineInstance()->readWholeFile(filename, size);
+	BaseGame *game = (BaseGame *)data;
+	return game->_fileManager->readWholeFile(filename, size);
 }
 
 
@@ -214,7 +215,7 @@ byte *ScEngine::getCompiledScript(const char *filename, uint32 *outSize, bool ig
 
 	uint32 size;
 
-	byte *buffer = BaseEngine::instance().getFileManager()->readWholeFile(filename, &size);
+	byte *buffer = _game->_fileManager->readWholeFile(filename, &size);
 	if (!buffer) {
 		_game->LOG(0, "ScEngine::getCompiledScript - error opening script '%s'", filename);
 		return nullptr;
diff --git a/engines/wintermute/base/scriptables/script_ext_file.cpp b/engines/wintermute/base/scriptables/script_ext_file.cpp
index 1a3e729bdcf..0031ed1379b 100644
--- a/engines/wintermute/base/scriptables/script_ext_file.cpp
+++ b/engines/wintermute/base/scriptables/script_ext_file.cpp
@@ -80,7 +80,7 @@ void SXFile::cleanup() {
 //////////////////////////////////////////////////////////////////////////
 void SXFile::close() {
 	if (_readFile) {
-		BaseFileManager::getEngineInstance()->closeFile(_readFile);
+		_game->_fileManager->closeFile(_readFile);
 		_readFile = nullptr;
 	}
 	if (_writeFile) {
@@ -127,7 +127,7 @@ bool SXFile::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 			_mode = 1;
 		}
 		if (_mode == 1) {
-			_readFile = BaseFileManager::getEngineInstance()->openFile(_filename);
+			_readFile = _game->_fileManager->openFile(_filename);
 			if (!_readFile) {
 				//script->runtimeError("File.%s: Error opening file '%s' for reading.", name, _filename);
 				close();
@@ -780,7 +780,7 @@ bool SXFile::persist(BasePersistenceManager *persistMgr) {
 		if (_mode != 0) {
 			// open for reading
 			if (_mode == 1) {
-				_readFile = BaseFileManager::getEngineInstance()->openFile(_filename);
+				_readFile = _game->_fileManager->openFile(_filename);
 				if (!_readFile) {
 					close();
 				}
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index a0a63125c3a..9cb1ccdc568 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -104,7 +104,7 @@ UIButton::~UIButton() {
 
 //////////////////////////////////////////////////////////////////////////
 bool UIButton::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UIButton::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ui/ui_edit.cpp b/engines/wintermute/ui/ui_edit.cpp
index a020d85f852..3699ea798aa 100644
--- a/engines/wintermute/ui/ui_edit.cpp
+++ b/engines/wintermute/ui/ui_edit.cpp
@@ -95,7 +95,7 @@ UIEdit::~UIEdit() {
 
 //////////////////////////////////////////////////////////////////////////
 bool UIEdit::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UIEdit::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ui/ui_entity.cpp b/engines/wintermute/ui/ui_entity.cpp
index 4b35e9a9675..cee33db7c39 100644
--- a/engines/wintermute/ui/ui_entity.cpp
+++ b/engines/wintermute/ui/ui_entity.cpp
@@ -58,7 +58,7 @@ UIEntity::~UIEntity() {
 
 //////////////////////////////////////////////////////////////////////////
 bool UIEntity::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UIEntity::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp
index 560c0df2858..ee802eec42b 100644
--- a/engines/wintermute/ui/ui_text.cpp
+++ b/engines/wintermute/ui/ui_text.cpp
@@ -103,7 +103,7 @@ bool UIText::display(int offsetX, int offsetY) {
 
 //////////////////////////////////////////////////////////////////////////
 bool UIText::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *) _game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UIText::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index 1884818e50e..b87a249d600 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -113,7 +113,7 @@ bool UITiledImage::display(int x, int y, int width, int height) {
 
 //////////////////////////////////////////////////////////////////////////
 bool UITiledImage::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UITiledImage::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index c90ee41975d..8c7e74d8764 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -234,7 +234,7 @@ bool UIWindow::display(int offsetX, int offsetY) {
 
 //////////////////////////////////////////////////////////////////////////
 bool UIWindow::loadFile(const char *filename) {
-	char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
+	char *buffer = (char *)_game->_fileManager->readWholeFile(filename);
 	if (buffer == nullptr) {
 		_game->LOG(0, "UIWindow::loadFile failed for file '%s'", filename);
 		return STATUS_FAILED;




More information about the Scummvm-git-logs mailing list