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

aquadran noreply at scummvm.org
Fri Sep 5 17:10:46 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:
d7e69eca1b WINTERMUTE: Synced with original code


Commit: d7e69eca1b0d95835e853b7d2f42efac19ac710b
    https://github.com/scummvm/scummvm/commit/d7e69eca1b0d95835e853b7d2f42efac19ac710b
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-09-05T19:10:41+02:00

Commit Message:
WINTERMUTE: Synced with original code

Changed paths:
    engines/wintermute/ad/ad_actor_3dx.cpp
    engines/wintermute/ad/ad_entity.cpp
    engines/wintermute/ad/ad_game.cpp
    engines/wintermute/ad/ad_item.cpp
    engines/wintermute/ad/ad_node_state.cpp
    engines/wintermute/ad/ad_object.cpp
    engines/wintermute/ad/ad_response_box.cpp
    engines/wintermute/ad/ad_scene.cpp
    engines/wintermute/ad/ad_scene_geometry.cpp
    engines/wintermute/ad/ad_sprite_set.cpp
    engines/wintermute/ad/ad_talk_holder.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_object.cpp
    engines/wintermute/base/base_quick_msg.cpp
    engines/wintermute/base/base_quick_msg.h
    engines/wintermute/base/base_script_holder.h
    engines/wintermute/base/base_sprite.cpp
    engines/wintermute/base/base_sprite.h
    engines/wintermute/base/font/base_font_storage.cpp
    engines/wintermute/base/font/base_font_storage.h
    engines/wintermute/base/gfx/xmaterial.cpp
    engines/wintermute/base/gfx/xmaterial.h
    engines/wintermute/base/gfx/xmesh.cpp
    engines/wintermute/base/gfx/xmodel.cpp
    engines/wintermute/base/particles/part_particle.cpp
    engines/wintermute/ui/ui_button.cpp
    engines/wintermute/ui/ui_object.cpp
    engines/wintermute/ui/ui_text.cpp
    engines/wintermute/ui/ui_window.cpp


diff --git a/engines/wintermute/ad/ad_actor_3dx.cpp b/engines/wintermute/ad/ad_actor_3dx.cpp
index f3028e52e88..489109bb8d2 100644
--- a/engines/wintermute/ad/ad_actor_3dx.cpp
+++ b/engines/wintermute/ad/ad_actor_3dx.cpp
@@ -1117,7 +1117,7 @@ bool AdActor3DX::loadBuffer(char *buffer, bool complete) {
 					cmd = PARSERR_GENERIC;
 				}
 			} else {
-				_game->LOG(0, "Error: a MODEL= line must precede shadow model assignment (file: %s)", getFilename());
+				_game->LOG(0, "Error: a MODEL= line must precede shadow model assignment (file: %s)", _filename);
 			}
 			break;
 
@@ -1146,7 +1146,7 @@ bool AdActor3DX::loadBuffer(char *buffer, bool complete) {
 			if (_xmodel) {
 				_xmodel->parseAnim(params);
 			} else {
-				_game->LOG(0, "Error: a MODEL= line must precede any animation definitions (file: %s)", getFilename());
+				_game->LOG(0, "Error: a MODEL= line must precede any animation definitions (file: %s)", _filename);
 			}
 			break;
 
@@ -1154,7 +1154,7 @@ bool AdActor3DX::loadBuffer(char *buffer, bool complete) {
 			if (_xmodel)
 				parseEffect(params);
 			else
-				_game->LOG(0, "Error: a MODEL= line must precede any effect definitions (file: %s)", getFilename());
+				_game->LOG(0, "Error: a MODEL= line must precede any effect definitions (file: %s)", _filename);
 			break;
 
 		case TOKEN_SHADOW_IMAGE:
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index 58a0a21fd6d..3a0891094ed 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -1155,8 +1155,8 @@ bool AdEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
 	}
 
-	if (_subtype == ENTITY_NORMAL && _sprite && _sprite->getFilename()) {
-		buffer->putTextIndent(indent + 2, "SPRITE=\"%s\"\n", _sprite->getFilename());
+	if (_subtype == ENTITY_NORMAL && _sprite && _sprite->_filename) {
+		buffer->putTextIndent(indent + 2, "SPRITE=\"%s\"\n", _sprite->_filename);
 	}
 
 	if (_subtype == ENTITY_SOUND && _sFX && !_sFX->_soundFilename.empty()) {
@@ -1181,12 +1181,12 @@ bool AdEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		buffer->putTextIndent(indent + 2, "RELATIVE_SCALE = %d\n", (int)_relativeScale);
 	}
 
-	if (_font && _font->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->getFilename());
+	if (_font && _font->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->_filename);
 	}
 
-	if (_cursor && _cursor->getFilename()) {
-		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->getFilename());
+	if (_cursor && _cursor->_filename) {
+		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->_filename);
 	}
 
 	AdTalkHolder::saveAsText(buffer, indent + 2);
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index 9a984062889..86abaa4bc38 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -277,7 +277,7 @@ bool AdGame::changeScene(const char *filename, bool fadeIn) {
 		_scene->applyEvent("SceneShutdown", true);
 
 		setPrevSceneName(_scene->_name);
-		setPrevSceneFilename(_scene->getFilename());
+		setPrevSceneFilename(_scene->_filename);
 
 		if (!_tempDisableSaveState) {
 			_scene->saveState();
@@ -456,7 +456,7 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 		// Unused screenshots must be deleted, after main menu is closed
 		if (obj && BaseEngine::instance().getGameId() == "corrosion") {
 			const char *mm = "interface\\system\\mainmenu.window";
-			const char *fn = obj->getFilename();
+			const char *fn = obj->_filename;
 			if (fn && strcmp(fn, mm) == 0) {
 				SAFE_DELETE(_cachedThumbnail);
 			}
diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp
index 621fc2d0540..df2764cc6c7 100644
--- a/engines/wintermute/ad/ad_item.cpp
+++ b/engines/wintermute/ad/ad_item.cpp
@@ -486,10 +486,10 @@ bool AdItem::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 	else if (strcmp(name, "GetHoverSprite") == 0) {
 		stack->correctParams(0);
 
-		if (!_spriteHover || !_spriteHover->getFilename()) {
+		if (!_spriteHover || !_spriteHover->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_spriteHover->getFilename());
+			stack->pushString(_spriteHover->_filename);
 		}
 		return STATUS_OK;
 	}
@@ -550,10 +550,10 @@ bool AdItem::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 	else if (strcmp(name, "GetNormalCursor") == 0) {
 		stack->correctParams(0);
 
-		if (!_cursorNormal || !_cursorNormal->getFilename()) {
+		if (!_cursorNormal || !_cursorNormal->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_cursorNormal->getFilename());
+			stack->pushString(_cursorNormal->_filename);
 		}
 		return STATUS_OK;
 	}
@@ -615,10 +615,10 @@ bool AdItem::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 	else if (strcmp(name, "GetHoverCursor") == 0) {
 		stack->correctParams(0);
 
-		if (!_cursorHover || !_cursorHover->getFilename()) {
+		if (!_cursorHover || !_cursorHover->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_cursorHover->getFilename());
+			stack->pushString(_cursorHover->_filename);
 		}
 		return STATUS_OK;
 	}
diff --git a/engines/wintermute/ad/ad_node_state.cpp b/engines/wintermute/ad/ad_node_state.cpp
index dbbb6e14a9a..ec4a9c297f2 100644
--- a/engines/wintermute/ad/ad_node_state.cpp
+++ b/engines/wintermute/ad/ad_node_state.cpp
@@ -147,15 +147,15 @@ bool AdNodeState::transferEntity(AdEntity *entity, bool includingSprites, bool s
 				setCaption(entity->_caption[i], i);
 			}
 		}
-		if (!entity->_region && entity->_sprite && entity->_sprite->getFilename()) {
+		if (!entity->_region && entity->_sprite && entity->_sprite->_filename) {
 			if (includingSprites) {
-				setFilename(entity->_sprite->getFilename());
+				setFilename(entity->_sprite->_filename);
 			} else {
 				setFilename("");
 			}
 		}
-		if (entity->_cursor && entity->_cursor->getFilename()) {
-			setCursor(entity->_cursor->getFilename());
+		if (entity->_cursor && entity->_cursor->_filename) {
+			setCursor(entity->_cursor->_filename);
 		}
 		_alphaColor = entity->_alphaColor;
 		_active = entity->_active;
@@ -166,12 +166,12 @@ bool AdNodeState::transferEntity(AdEntity *entity, bool includingSprites, bool s
 			}
 		}
 		if (_filename && !entity->_region && includingSprites && strcmp(_filename, "") != 0) {
-			if (!entity->_sprite || !entity->_sprite->getFilename() || scumm_stricmp(entity->_sprite->getFilename(), _filename) != 0) {
+			if (!entity->_sprite || !entity->_sprite->_filename || scumm_stricmp(entity->_sprite->_filename, _filename) != 0) {
 				entity->setSprite(_filename);
 			}
 		}
 		if (_cursor) {
-			if (!entity->_cursor || !entity->_cursor->getFilename() || scumm_stricmp(entity->_cursor->getFilename(), _cursor) != 0) {
+			if (!entity->_cursor || !entity->_cursor->_filename || scumm_stricmp(entity->_cursor->_filename, _cursor) != 0) {
 				entity->setCursor(_cursor);
 			}
 		}
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index 1311d138548..df67cce9d84 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -353,8 +353,8 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetFont") == 0) {
 		stack->correctParams(0);
-		if (_font && _font->getFilename()) {
-			stack->pushString(_font->getFilename());
+		if (_font && _font->_filename) {
+			stack->pushString(_font->_filename);
 		} else {
 			stack->pushNULL();
 		}
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index 6acabd51c31..e0e7afaeb67 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -379,15 +379,15 @@ bool AdResponseBox::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 
 	buffer->putTextIndent(indent + 2, "AREA { %d, %d, %d, %d }\n", _responseArea.left, _responseArea.top, _responseArea.right, _responseArea.bottom);
 
-	if (_font && _font->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->getFilename());
+	if (_font && _font->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->_filename);
 	}
-	if (_fontHover && _fontHover->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_HOVER=\"%s\"\n", _fontHover->getFilename());
+	if (_fontHover && _fontHover->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_HOVER=\"%s\"\n", _fontHover->_filename);
 	}
 
-	if (_cursor && _cursor->getFilename()) {
-		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->getFilename());
+	if (_cursor && _cursor->_filename) {
+		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->_filename);
 	}
 
 	buffer->putTextIndent(indent + 2, "HORIZONTAL=%s\n", _horizontal ? "TRUE" : "FALSE");
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index f5fc8b909e1..699a9fe6bb5 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -1019,7 +1019,7 @@ bool AdScene::loadBuffer(char *buffer, bool complete) {
 	}
 
 	if (_mainLayer == nullptr) {
-		_game->LOG(0, "Warning: scene '%s' has no main layer.", getFilename());
+		_game->LOG(0, "Warning: scene '%s' has no main layer.", _filename);
 	}
 
 #ifdef ENABLE_WME3D
@@ -2523,8 +2523,8 @@ ScValue *AdScene::scGetProperty(const char *name) {
 	// GeometryFile
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GeometryFile") == 0) {
-		if (_geom && _geom->getFilename()) {
-			_scValue->setString(_geom->getFilename());
+		if (_geom && _geom->_filename) {
+			_scValue->setString(_geom->_filename);
 		} else {
 			_scValue->setNULL();
 		}
@@ -2796,8 +2796,8 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 
 #ifdef ENABLE_WME3D
 	if (_geom) {
-		if (_geom->getFilename())
-			buffer->putTextIndent(indent + 2, "GEOMETRY=\"%s\"\n", _geom->getFilename());
+		if (_geom->_filename)
+			buffer->putTextIndent(indent + 2, "GEOMETRY=\"%s\"\n", _geom->_filename);
 		if (_geom->_activeCamera >= 0 && _geom->_activeCamera < _geom->_cameras.getSize()) {
 			buffer->putTextIndent(indent + 2, "CAMERA=\"%s\"\n", _geom->_cameras[_geom->_activeCamera]->_name);
 		}
@@ -3435,7 +3435,7 @@ bool AdScene::persistState(bool saving) {
 	}
 
 	AdGame *adGame = (AdGame *)_game;
-	AdSceneState *state = adGame->getSceneState(getFilename(), saving);
+	AdSceneState *state = adGame->getSceneState(_filename, saving);
 	if (!state) {
 		return STATUS_OK;
 	}
diff --git a/engines/wintermute/ad/ad_scene_geometry.cpp b/engines/wintermute/ad/ad_scene_geometry.cpp
index 2d4ee717960..020026d510c 100644
--- a/engines/wintermute/ad/ad_scene_geometry.cpp
+++ b/engines/wintermute/ad/ad_scene_geometry.cpp
@@ -322,7 +322,7 @@ bool AdSceneGeometry::loadFile(const char *filename) {
 	// drop waypoints to the ground
 	dropWaypoints();
 
-	if (getFilename() != filename) {
+	if (_filename != filename) {
 		setFilename(filename);
 	}
 
@@ -1226,7 +1226,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 
 	if (!persistMgr->getIsSaving()) {
 		//m_WptMarker = NULL;
-		loadFile(getFilename());
+		loadFile(_filename);
 		_lastValuesInitialized = false;
 	}
 
diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp
index 4716baaf273..c97d653361f 100644
--- a/engines/wintermute/ad/ad_sprite_set.cpp
+++ b/engines/wintermute/ad/ad_sprite_set.cpp
@@ -299,28 +299,28 @@ bool AdSpriteSet::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		if (_sprites[i]) {
 			switch (i) {
 			case DI_UP:
-				buffer->putTextIndent(indent + 2, "UP=\"%s\"\n",         _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "UP=\"%s\"\n",         _sprites[i]->_filename);
 				break;
 			case DI_UPRIGHT:
-				buffer->putTextIndent(indent + 2, "UP_RIGHT=\"%s\"\n",   _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "UP_RIGHT=\"%s\"\n",   _sprites[i]->_filename);
 				break;
 			case DI_RIGHT:
-				buffer->putTextIndent(indent + 2, "RIGHT=\"%s\"\n",      _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "RIGHT=\"%s\"\n",      _sprites[i]->_filename);
 				break;
 			case DI_DOWNRIGHT:
-				buffer->putTextIndent(indent + 2, "DOWN_RIGHT=\"%s\"\n", _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "DOWN_RIGHT=\"%s\"\n", _sprites[i]->_filename);
 				break;
 			case DI_DOWN:
-				buffer->putTextIndent(indent + 2, "DOWN=\"%s\"\n",       _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "DOWN=\"%s\"\n",       _sprites[i]->_filename);
 				break;
 			case DI_DOWNLEFT:
-				buffer->putTextIndent(indent + 2, "DOWN_LEFT=\"%s\"\n",  _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "DOWN_LEFT=\"%s\"\n",  _sprites[i]->_filename);
 				break;
 			case DI_LEFT:
-				buffer->putTextIndent(indent + 2, "LEFT=\"%s\"\n",       _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "LEFT=\"%s\"\n",       _sprites[i]->_filename);
 				break;
 			case DI_UPLEFT:
-				buffer->putTextIndent(indent + 2, "UP_LEFT=\"%s\"\n",    _sprites[i]->getFilename());
+				buffer->putTextIndent(indent + 2, "UP_LEFT=\"%s\"\n",    _sprites[i]->_filename);
 				break;
 			default:
 				break;
diff --git a/engines/wintermute/ad/ad_talk_holder.cpp b/engines/wintermute/ad/ad_talk_holder.cpp
index c9699880126..57b1bced248 100644
--- a/engines/wintermute/ad/ad_talk_holder.cpp
+++ b/engines/wintermute/ad/ad_talk_holder.cpp
@@ -168,10 +168,10 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
 	else if (strcmp(name, "GetSprite") == 0) {
 		stack->correctParams(0);
 
-		if (!_sprite || !_sprite->getFilename()) {
+		if (!_sprite || !_sprite->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_sprite->getFilename());
+			stack->pushString(_sprite->_filename);
 		}
 		return STATUS_OK;
 	}
@@ -228,7 +228,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
 
 		if (ex) {
 			for (int32 i = 0; i < _talkSpritesEx.getSize(); i++) {
-				if (scumm_stricmp(_talkSpritesEx[i]->getFilename(), filename) == 0) {
+				if (scumm_stricmp(_talkSpritesEx[i]->_filename, filename) == 0) {
 					if (_currentSprite == _talkSpritesEx[i]) {
 						setCurrent = true;
 					}
@@ -242,7 +242,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
 			}
 		} else {
 			for (int32 i = 0; i < _talkSprites.getSize(); i++) {
-				if (scumm_stricmp(_talkSprites[i]->getFilename(), filename) == 0) {
+				if (scumm_stricmp(_talkSprites[i]->_filename, filename) == 0) {
 					if (_currentSprite == _talkSprites[i]) {
 						setCurrent = true;
 					}
@@ -283,7 +283,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
 		stack->pushInt(0);
 		arr = makeSXArray(_game, stack);
 		for (int32 i = 0; i < sprites.getSize(); i++) {
-			stack->pushString(sprites[i]->getFilename());
+			stack->pushString(sprites[i]->_filename);
 			((SXArray *)arr)->push(stack->pop());
 		}
 		stack->pushNative(arr, false);
@@ -395,14 +395,14 @@ const char *AdTalkHolder::scToString() {
 //////////////////////////////////////////////////////////////////////////
 bool AdTalkHolder::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	for (int32 i = 0; i < _talkSprites.getSize(); i++) {
-		if (_talkSprites[i]->getFilename()) {
-			buffer->putTextIndent(indent + 2, "TALK=\"%s\"\n", _talkSprites[i]->getFilename());
+		if (_talkSprites[i]->_filename) {
+			buffer->putTextIndent(indent + 2, "TALK=\"%s\"\n", _talkSprites[i]->_filename);
 		}
 	}
 
 	for (int32 i = 0; i < _talkSpritesEx.getSize(); i++) {
-		if (_talkSpritesEx[i]->getFilename()) {
-			buffer->putTextIndent(indent + 2, "TALK_SPECIAL=\"%s\"\n", _talkSpritesEx[i]->getFilename());
+		if (_talkSpritesEx[i]->_filename) {
+			buffer->putTextIndent(indent + 2, "TALK_SPECIAL=\"%s\"\n", _talkSpritesEx[i]->_filename);
 		}
 	}
 
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 97a90521535..3dddd21222b 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -2200,10 +2200,10 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetActiveCursor") == 0) {
 		stack->correctParams(0);
-		if (!_activeCursor || !_activeCursor->getFilename()) {
+		if (!_activeCursor || !_activeCursor->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_activeCursor->getFilename());
+			stack->pushString(_activeCursor->_filename);
 		}
 
 		return STATUS_OK;
@@ -2505,10 +2505,10 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetWaitCursor") == 0) {
 		stack->correctParams(0);
-		if (!_cursorNoninteractive || !_cursorNoninteractive->getFilename()) {
+		if (!_cursorNoninteractive || !_cursorNoninteractive->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_cursorNoninteractive->getFilename());
+			stack->pushString(_cursorNoninteractive->_filename);
 		}
 
 		return STATUS_OK;
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index cd58a000e0a..36554e54742 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -266,10 +266,10 @@ bool BaseObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetCursor") == 0) {
 		stack->correctParams(0);
-		if (!_cursor || !_cursor->getFilename()) {
+		if (!_cursor || !_cursor->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_cursor->getFilename());
+			stack->pushString(_cursor->_filename);
 		}
 
 		return STATUS_OK;
diff --git a/engines/wintermute/base/base_quick_msg.cpp b/engines/wintermute/base/base_quick_msg.cpp
index b323220722a..b6a7545d22e 100644
--- a/engines/wintermute/base/base_quick_msg.cpp
+++ b/engines/wintermute/base/base_quick_msg.cpp
@@ -31,19 +31,22 @@ namespace Wintermute {
 
 //////////////////////////////////////////////////////////////////////////
 BaseQuickMsg::BaseQuickMsg(uint32 startTime, const char *text) {
-	_text = text;
+	size_t textSize = strlen(text) + 1;
+	_text = new char[textSize];
+	Common::strcpy_s(_text, textSize, text);
 	_startTime = startTime;
 }
 
 
 //////////////////////////////////////////////////////////////////////////
 BaseQuickMsg::~BaseQuickMsg() {
+	delete[] _text;
 }
 
 
 //////////////////////////////////////////////////////////////////////////
 const char *BaseQuickMsg::getText() const {
-	return _text.c_str();
+	return _text;
 }
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_quick_msg.h b/engines/wintermute/base/base_quick_msg.h
index 5dbf9a6c27e..c9a64013ac8 100644
--- a/engines/wintermute/base/base_quick_msg.h
+++ b/engines/wintermute/base/base_quick_msg.h
@@ -36,7 +36,7 @@ class BaseQuickMsg {
 public:
 	const char *getText() const;
 	uint32 _startTime;
-	Common::String _text;
+	char *_text;
 	BaseQuickMsg(uint32 startTime, const char *text);
 	virtual ~BaseQuickMsg();
 };
diff --git a/engines/wintermute/base/base_script_holder.h b/engines/wintermute/base/base_script_holder.h
index 444870ac1cc..fd7070b1dc3 100644
--- a/engines/wintermute/base/base_script_holder.h
+++ b/engines/wintermute/base/base_script_holder.h
@@ -52,7 +52,6 @@ public:
 	virtual bool listen(BaseScriptHolder *param1, uint32 param2);
 	bool applyEvent(const char *eventName, bool unbreakable = false);
 	void setFilename(const char *filename);
-	const char *getFilename() { return _filename; }
 	bool parseProperty(char *buffer, bool complete = true);
 
 	char *_filename;
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index 2fff9802c09..6ed45c0204f 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -123,9 +123,9 @@ bool BaseSprite::draw(int x, int y, BaseObject *registerOwner, float zoomX, floa
 }
 
 //////////////////////////////////////////////////////////////////////
-bool BaseSprite::loadFile(const Common::String &filename, int lifeTime, TSpriteCacheType cacheType) {
+bool BaseSprite::loadFile(const char *filename, int lifeTime, TSpriteCacheType cacheType) {
 	if (!BaseFileManager::getEngineInstance()->hasFile(filename)) {
-		BaseEngine::LOG(0, "BaseSprite::LoadFile failed for file '%s'", filename.c_str());
+		BaseEngine::LOG(0, "BaseSprite::LoadFile failed for file '%s'", filename);
 		if (_game->_debugDebugMode) {
 			return loadFile("invalid_debug.bmp", lifeTime, cacheType);
 		} else {
@@ -144,7 +144,7 @@ bool BaseSprite::loadFile(const Common::String &filename, int lifeTime, TSpriteC
 		BaseSubFrame *subframe = new BaseSubFrame(_game);
 		subframe->setSurface(filename, true, 0, 0, 0, lifeTime, true);
 		if (subframe->_surface == nullptr) {
-			BaseEngine::LOG(0, "Error loading simple sprite '%s'", filename.c_str());
+			BaseEngine::LOG(0, "Error loading simple sprite '%s'", filename);
 			ret = STATUS_FAILED;
 			delete frame;
 			delete subframe;
@@ -159,7 +159,7 @@ bool BaseSprite::loadFile(const Common::String &filename, int lifeTime, TSpriteC
 		char *buffer = (char *)BaseFileManager::getEngineInstance()->readWholeFile(filename);
 		if (buffer) {
 			if (DID_FAIL(ret = loadBuffer(buffer, true, lifeTime, cacheType))) {
-				BaseEngine::LOG(0, "Error parsing SPRITE file '%s'", filename.c_str());
+				BaseEngine::LOG(0, "Error parsing SPRITE file '%s'", filename);
 			} else {
 				ret = STATUS_OK;
 			}
@@ -167,7 +167,7 @@ bool BaseSprite::loadFile(const Common::String &filename, int lifeTime, TSpriteC
 		}
 	}
 
-	setFilename(filename.c_str());
+	setFilename(filename);
 
 	return ret;
 }
diff --git a/engines/wintermute/base/base_sprite.h b/engines/wintermute/base/base_sprite.h
index d7cb471fe00..7963bc757c9 100644
--- a/engines/wintermute/base/base_sprite.h
+++ b/engines/wintermute/base/base_sprite.h
@@ -67,7 +67,7 @@ public:
 	bool _paused;
 	bool _finished;
 	bool loadBuffer(char *buffer, bool compete = true, int lifeTime = -1, TSpriteCacheType cacheType = CACHE_ALL);
-	bool loadFile(const Common::String &filename, int lifeTime = -1, TSpriteCacheType cacheType = CACHE_ALL);
+	bool loadFile(const char *filename, int lifeTime = -1, TSpriteCacheType cacheType = CACHE_ALL);
 	uint32 _lastFrameTime;
 	bool draw(int x, int y, BaseObject *Register = nullptr, float zoomX = Graphics::kDefaultZoomX, float zoomY = Graphics::kDefaultZoomY, uint32 alpha = Graphics::kDefaultRgbaMod);
 	bool _looping;
diff --git a/engines/wintermute/base/font/base_font_storage.cpp b/engines/wintermute/base/font/base_font_storage.cpp
index a983bcafeb3..86752bf38f3 100644
--- a/engines/wintermute/base/font/base_font_storage.cpp
+++ b/engines/wintermute/base/font/base_font_storage.cpp
@@ -51,7 +51,7 @@ BaseFontStorage::~BaseFontStorage() {
 bool BaseFontStorage::cleanup(bool warn) {
 	for (int32 i = 0; i < _fonts.getSize(); i++) {
 		if (warn)
-			_game->LOG(0, "Removing orphan font '%s'", _fonts[i]->getFilename());
+			_game->LOG(0, "Removing orphan font '%s'", _fonts[i]->_filename);
 		delete _fonts[i];
 	}
 	_fonts.removeAll();
@@ -68,13 +68,13 @@ bool BaseFontStorage::initLoop() {
 }
 
 //////////////////////////////////////////////////////////////////////////
-BaseFont *BaseFontStorage::addFont(const Common::String &filename) {
-	if (!filename.size()) {
+BaseFont *BaseFontStorage::addFont(const char *filename) {
+	if (!filename) {
 		return nullptr;
 	}
 
 	for (int32 i = 0; i < _fonts.getSize(); i++) {
-		if (scumm_stricmp(_fonts[i]->getFilename(), filename.c_str()) == 0) {
+		if (scumm_stricmp(_fonts[i]->_filename, filename) == 0) {
 			_fonts[i]->_refCount++;
 			return _fonts[i];
 		}
diff --git a/engines/wintermute/base/font/base_font_storage.h b/engines/wintermute/base/font/base_font_storage.h
index 945780b3c00..a939dc90556 100644
--- a/engines/wintermute/base/font/base_font_storage.h
+++ b/engines/wintermute/base/font/base_font_storage.h
@@ -42,7 +42,7 @@ public:
 	DECLARE_PERSISTENT(BaseFontStorage, BaseClass)
 	bool cleanup(bool warn = false);
 	bool removeFont(BaseFont *font);
-	BaseFont *addFont(const Common::String &filename);
+	BaseFont *addFont(const char *filename);
 	BaseFontStorage(BaseGame *inGame);
 	~BaseFontStorage() override;
 	BaseArray<BaseFont *> _fonts;
diff --git a/engines/wintermute/base/gfx/xmaterial.cpp b/engines/wintermute/base/gfx/xmaterial.cpp
index ee51c14158f..a5cad4bc2ed 100644
--- a/engines/wintermute/base/gfx/xmaterial.cpp
+++ b/engines/wintermute/base/gfx/xmaterial.cpp
@@ -34,6 +34,7 @@
 #include "engines/wintermute/base/gfx/xfile_loader.h"
 #include "engines/wintermute/dcgf.h"
 #include "engines/wintermute/utils/path_util.h"
+#include "engines/wintermute/utils/utils.h"
 #include "engines/wintermute/video/video_theora_player.h"
 
 namespace Wintermute {
@@ -45,6 +46,7 @@ namespace Wintermute {
 //////////////////////////////////////////////////////////////////////////
 Material::Material(BaseGame *inGame) : BaseNamedObject(inGame) {
 	memset(&_material, 0, sizeof(_material));
+	_textureFilename = nullptr;
 	_surface = nullptr;
 	_ownedSurface = false;
 	_sprite = nullptr;
@@ -55,6 +57,7 @@ Material::Material(BaseGame *inGame) : BaseNamedObject(inGame) {
 
 //////////////////////////////////////////////////////////////////////////
 Material::~Material() {
+	SAFE_DELETE_ARRAY(_textureFilename);
 	if (_surface && _ownedSurface) {
 		_game->_surfaceStorage->removeSurface(_surface);
 	}
@@ -80,12 +83,12 @@ bool Material::restoreDeviceObjects() {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool Material::setTexture(const Common::String &filename, bool adoptName) {
+bool Material::setTexture(const char *filename, bool adoptName) {
 	if (adoptName) {
 		setName(PathUtil::getFileNameWithoutExtension(filename).c_str());
 	}
 
-	_textureFilename = filename;
+	BaseUtils::setString(&_textureFilename, filename);
 
 	if (_surface && _ownedSurface) {
 		_game->_surfaceStorage->removeSurface(_surface);
@@ -101,10 +104,10 @@ bool Material::setTexture(const Common::String &filename, bool adoptName) {
 //////////////////////////////////////////////////////////////////////////
 bool Material::setSprite(BaseSprite *sprite, bool adoptName) {
 	if (adoptName) {
-		setName(PathUtil::getFileNameWithoutExtension(sprite->getFilename()).c_str());
+		setName(PathUtil::getFileNameWithoutExtension(sprite->_filename).c_str());
 	}
 
-	_textureFilename = sprite->getFilename();
+	BaseUtils::setString(&_textureFilename, sprite->_filename);
 	if (_surface && _ownedSurface) {
 		_game->_surfaceStorage->removeSurface(_surface);
 	}
@@ -123,7 +126,7 @@ bool Material::setTheora(VideoTheoraPlayer *theora, bool adoptName) {
 	if (adoptName) {
 		setName(PathUtil::getFileNameWithoutExtension(theora->_filename).c_str());
 	}
-	_textureFilename = theora->_filename;
+	BaseUtils::setString(&_textureFilename, theora->_filename.c_str());
 
 	if (_surface && _ownedSurface) {
 		_game->_surfaceStorage->removeSurface(_surface);
@@ -148,7 +151,7 @@ bool Material::setEffect(Effect3D *effect, Effect3DParams *params, bool adoptNam
 	if (adoptName) {
 		setName(PathUtil::getFileNameWithoutExtension(effect->getFileName()).c_str());
 	}
-	_textureFilename = effect->getFileName();
+	BaseUtils::setString(&_textureFilename, effect->getFileName());
 
 	_effect = effect;
 	_params = params;
diff --git a/engines/wintermute/base/gfx/xmaterial.h b/engines/wintermute/base/gfx/xmaterial.h
index c1f30ce5a86..fa39cea8c8d 100644
--- a/engines/wintermute/base/gfx/xmaterial.h
+++ b/engines/wintermute/base/gfx/xmaterial.h
@@ -47,7 +47,7 @@ public:
 
 	DXMaterial _material;
 
-	bool setTexture(const Common::String &filename, bool adoptName = false);
+	bool setTexture(const char *filename, bool adoptName = false);
 	bool setSprite(BaseSprite *sprite, bool adoptName = false);
 	bool setTheora(VideoTheoraPlayer *theora, bool adoptName = false);
 	BaseSurface *getSurface();
@@ -60,7 +60,7 @@ public:
 	bool restoreDeviceObjects();
 
 private:
-	Common::String _textureFilename;
+	char *_textureFilename;
 	BaseSurface *_surface;
 	bool _ownedSurface;
 	BaseSprite *_sprite;
diff --git a/engines/wintermute/base/gfx/xmesh.cpp b/engines/wintermute/base/gfx/xmesh.cpp
index c2e8d40a391..f43e1dfca0d 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -130,7 +130,8 @@ bool XMesh::loadFromXData(const char *filename, XFileData *xobj) {
 			mat->_material._ambient = mat->_material._diffuse;
 
 			if (fileMats[i]._textureFilename[0] != '\0') {
-				mat->setTexture(PathUtil::getDirectoryName(filename) + fileMats[i]._textureFilename, true);
+				Common::String texturePath = PathUtil::getDirectoryName(filename) + fileMats[i]._textureFilename;
+				mat->setTexture(texturePath.c_str(), true);
 			}
 
 			_materials.add(mat);
diff --git a/engines/wintermute/base/gfx/xmodel.cpp b/engines/wintermute/base/gfx/xmodel.cpp
index 5a8cbbe5f5f..865a1e13404 100644
--- a/engines/wintermute/base/gfx/xmodel.cpp
+++ b/engines/wintermute/base/gfx/xmodel.cpp
@@ -1014,8 +1014,8 @@ bool XModel::persist(BasePersistenceManager *persistMgr) {
 		}
 		_rootFrame = nullptr;
 
-		if (getFilename()) {
-			loadFromFile(getFilename());
+		if (_filename) {
+			loadFromFile(_filename);
 		}
 
 		for (int32 i = 0; i < _mergedModels.getSize(); ++i) {
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index e9eabde51df..ee4421de7a8 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -70,7 +70,7 @@ PartParticle::~PartParticle() {
 
 //////////////////////////////////////////////////////////////////////////
 bool PartParticle::setSprite(const char *filename) {
-	if (_sprite && _sprite->getFilename() && scumm_stricmp(filename, _sprite->getFilename()) == 0) {
+	if (_sprite && _sprite->_filename && scumm_stricmp(filename, _sprite->_filename) == 0) {
 		_sprite->reset();
 		return STATUS_OK;
 	}
@@ -78,7 +78,7 @@ bool PartParticle::setSprite(const char *filename) {
 	SAFE_DELETE(_sprite);
 
 	SystemClassRegistry::getInstance()->_disabled = true;
-	_sprite = new BaseSprite(_game, (BaseObject*)_game);
+	_sprite = new BaseSprite(_game, (BaseObject *)_game);
 	if (_sprite && DID_SUCCEED(_sprite->loadFile(filename))) {
 		SystemClassRegistry::getInstance()->_disabled = false;
 		return STATUS_OK;
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index 1f33ed3a72f..5d466f1d76e 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -474,56 +474,56 @@ bool UIButton::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 
 	buffer->putTextIndent(indent + 2, "\n");
 
-	if (_back && _back->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->getFilename());
+	if (_back && _back->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->_filename);
 	}
-	if (_backHover && _backHover->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK_HOVER=\"%s\"\n", _backHover->getFilename());
+	if (_backHover && _backHover->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK_HOVER=\"%s\"\n", _backHover->_filename);
 	}
-	if (_backPress && _backPress->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK_PRESS=\"%s\"\n", _backPress->getFilename());
+	if (_backPress && _backPress->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK_PRESS=\"%s\"\n", _backPress->_filename);
 	}
-	if (_backDisable && _backDisable->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK_DISABLE=\"%s\"\n", _backDisable->getFilename());
+	if (_backDisable && _backDisable->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK_DISABLE=\"%s\"\n", _backDisable->_filename);
 	}
-	if (_backFocus && _backFocus->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK_FOCUS=\"%s\"\n", _backFocus->getFilename());
+	if (_backFocus && _backFocus->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK_FOCUS=\"%s\"\n", _backFocus->_filename);
 	}
 
-	if (_image && _image->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->getFilename());
+	if (_image && _image->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->_filename);
 	}
-	if (_imageHover && _imageHover->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE_HOVER=\"%s\"\n", _imageHover->getFilename());
+	if (_imageHover && _imageHover->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE_HOVER=\"%s\"\n", _imageHover->_filename);
 	}
-	if (_imagePress && _imagePress->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE_PRESS=\"%s\"\n", _imagePress->getFilename());
+	if (_imagePress && _imagePress->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE_PRESS=\"%s\"\n", _imagePress->_filename);
 	}
-	if (_imageDisable && _imageDisable->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE_DISABLE=\"%s\"\n", _imageDisable->getFilename());
+	if (_imageDisable && _imageDisable->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE_DISABLE=\"%s\"\n", _imageDisable->_filename);
 	}
-	if (_imageFocus && _imageFocus->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE_FOCUS=\"%s\"\n", _imageFocus->getFilename());
+	if (_imageFocus && _imageFocus->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE_FOCUS=\"%s\"\n", _imageFocus->_filename);
 	}
 
-	if (_font && _font->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->getFilename());
+	if (_font && _font->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->_filename);
 	}
-	if (_fontHover && _fontHover->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_HOVER=\"%s\"\n", _fontHover->getFilename());
+	if (_fontHover && _fontHover->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_HOVER=\"%s\"\n", _fontHover->_filename);
 	}
-	if (_fontPress && _fontPress->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_PRESS=\"%s\"\n", _fontPress->getFilename());
+	if (_fontPress && _fontPress->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_PRESS=\"%s\"\n", _fontPress->_filename);
 	}
-	if (_fontDisable && _fontDisable->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_DISABLE=\"%s\"\n", _fontDisable->getFilename());
+	if (_fontDisable && _fontDisable->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_DISABLE=\"%s\"\n", _fontDisable->_filename);
 	}
-	if (_fontFocus && _fontFocus->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_FOCUS=\"%s\"\n", _fontFocus->getFilename());
+	if (_fontFocus && _fontFocus->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_FOCUS=\"%s\"\n", _fontFocus->_filename);
 	}
 
-	if (_cursor && _cursor->getFilename()) {
-		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->getFilename());
+	if (_cursor && _cursor->_filename) {
+		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->_filename);
 	}
 
 
@@ -905,10 +905,10 @@ bool UIButton::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetDisabledImage") == 0) {
 		stack->correctParams(0);
-		if (!_imageDisable || !_imageDisable->getFilename()) {
+		if (!_imageDisable || !_imageDisable->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_imageDisable->getFilename());
+			stack->pushString(_imageDisable->_filename);
 		}
 
 		return STATUS_OK;
@@ -953,10 +953,10 @@ bool UIButton::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetHoverImage") == 0) {
 		stack->correctParams(0);
-		if (!_imageHover || !_imageHover->getFilename()) {
+		if (!_imageHover || !_imageHover->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_imageHover->getFilename());
+			stack->pushString(_imageHover->_filename);
 		}
 
 		return STATUS_OK;
@@ -1000,10 +1000,10 @@ bool UIButton::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetPressedImage") == 0) {
 		stack->correctParams(0);
-		if (!_imagePress || !_imagePress->getFilename()) {
+		if (!_imagePress || !_imagePress->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_imagePress->getFilename());
+			stack->pushString(_imagePress->_filename);
 		}
 
 		return STATUS_OK;
@@ -1047,10 +1047,10 @@ bool UIButton::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetFocusedImage") == 0) {
 		stack->correctParams(0);
-		if (!_imageFocus || !_imageFocus->getFilename()) {
+		if (!_imageFocus || !_imageFocus->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_imageFocus->getFilename());
+			stack->pushString(_imageFocus->_filename);
 		}
 
 		return STATUS_OK;
diff --git a/engines/wintermute/ui/ui_object.cpp b/engines/wintermute/ui/ui_object.cpp
index b69c359a462..b9376f8f869 100644
--- a/engines/wintermute/ui/ui_object.cpp
+++ b/engines/wintermute/ui/ui_object.cpp
@@ -205,10 +205,10 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetImage") == 0) {
 		stack->correctParams(0);
-		if (!_image || !_image->getFilename()) {
+		if (!_image || !_image->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_image->getFilename());
+			stack->pushString(_image->_filename);
 		}
 
 		return STATUS_OK;
diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp
index b82b25a47b1..a2b1205e213 100644
--- a/engines/wintermute/ui/ui_text.cpp
+++ b/engines/wintermute/ui/ui_text.cpp
@@ -324,20 +324,20 @@ bool UIText::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 
 	buffer->putTextIndent(indent + 2, "\n");
 
-	if (_back && _back->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->getFilename());
+	if (_back && _back->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->_filename);
 	}
 
-	if (_image && _image->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->getFilename());
+	if (_image && _image->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->_filename);
 	}
 
-	if (_font && _font->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->getFilename());
+	if (_font && _font->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->_filename);
 	}
 
-	if (_cursor && _cursor->getFilename()) {
-		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->getFilename());
+	if (_cursor && _cursor->_filename) {
+		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->_filename);
 	}
 
 	if (_text) {
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 290a092f8d4..99bd4b1f2cb 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -621,29 +621,29 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 
 	buffer->putTextIndent(indent + 2, "\n");
 
-	if (_back && _back->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->getFilename());
+	if (_back && _back->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK=\"%s\"\n", _back->_filename);
 	}
-	if (_backInactive && _backInactive->getFilename()) {
-		buffer->putTextIndent(indent + 2, "BACK_INACTIVE=\"%s\"\n", _backInactive->getFilename());
+	if (_backInactive && _backInactive->_filename) {
+		buffer->putTextIndent(indent + 2, "BACK_INACTIVE=\"%s\"\n", _backInactive->_filename);
 	}
 
-	if (_image && _image->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->getFilename());
+	if (_image && _image->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->_filename);
 	}
-	if (_imageInactive && _imageInactive->getFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE_INACTIVE=\"%s\"\n", _imageInactive->getFilename());
+	if (_imageInactive && _imageInactive->_filename) {
+		buffer->putTextIndent(indent + 2, "IMAGE_INACTIVE=\"%s\"\n", _imageInactive->_filename);
 	}
 
-	if (_font && _font->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->getFilename());
+	if (_font && _font->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT=\"%s\"\n", _font->_filename);
 	}
-	if (_fontInactive && _fontInactive->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_INACTIVE=\"%s\"\n", _fontInactive->getFilename());
+	if (_fontInactive && _fontInactive->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_INACTIVE=\"%s\"\n", _fontInactive->_filename);
 	}
 
-	if (_cursor && _cursor->getFilename()) {
-		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->getFilename());
+	if (_cursor && _cursor->_filename) {
+		buffer->putTextIndent(indent + 2, "CURSOR=\"%s\"\n", _cursor->_filename);
 	}
 
 	buffer->putTextIndent(indent + 2, "\n");
@@ -814,10 +814,10 @@ bool UIWindow::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "GetInactiveImage") == 0) {
 		stack->correctParams(0);
-		if (!_imageInactive || !_imageInactive->getFilename()) {
+		if (!_imageInactive || !_imageInactive->_filename) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_imageInactive->getFilename());
+			stack->pushString(_imageInactive->_filename);
 		}
 
 		return STATUS_OK;




More information about the Scummvm-git-logs mailing list