[Scummvm-git-logs] scummvm master -> 702ab440ca15bb8a9c14b34d237400a8bea05b97

aquadran noreply at scummvm.org
Wed Aug 13 07:50:21 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:
702ab440ca WINTERMUTE: Synced with original code


Commit: 702ab440ca15bb8a9c14b34d237400a8bea05b97
    https://github.com/scummvm/scummvm/commit/702ab440ca15bb8a9c14b34d237400a8bea05b97
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-08-13T09:50:13+02:00

Commit Message:
WINTERMUTE: Synced with original code

Changed paths:
    engines/wintermute/ad/ad_actor.cpp
    engines/wintermute/ad/ad_actor_3dx.cpp
    engines/wintermute/ad/ad_attach_3dx.cpp
    engines/wintermute/ad/ad_entity.cpp
    engines/wintermute/ad/ad_game.cpp
    engines/wintermute/ad/ad_inventory.cpp
    engines/wintermute/ad/ad_inventory_box.cpp
    engines/wintermute/ad/ad_item.cpp
    engines/wintermute/ad/ad_layer.cpp
    engines/wintermute/ad/ad_object.cpp
    engines/wintermute/ad/ad_region.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/ad/ad_waypoint_group.cpp
    engines/wintermute/base/base.h
    engines/wintermute/base/base_active_rect.h
    engines/wintermute/base/base_dynamic_buffer.h
    engines/wintermute/base/base_fader.h
    engines/wintermute/base/base_frame.cpp
    engines/wintermute/base/base_frame.h
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_game.h
    engines/wintermute/base/base_game_music.cpp
    engines/wintermute/base/base_keyboard_state.h
    engines/wintermute/base/base_named_object.h
    engines/wintermute/base/base_object.cpp
    engines/wintermute/base/base_parser.h
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_quick_msg.cpp
    engines/wintermute/base/base_quick_msg.h
    engines/wintermute/base/base_region.cpp
    engines/wintermute/base/base_region.h
    engines/wintermute/base/base_script_holder.cpp
    engines/wintermute/base/base_script_holder.h
    engines/wintermute/base/base_scriptable.cpp
    engines/wintermute/base/base_sprite.cpp
    engines/wintermute/base/base_sprite.h
    engines/wintermute/base/base_string_table.h
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/base_transition_manager.h
    engines/wintermute/base/font/base_font.cpp
    engines/wintermute/base/font/base_font_bitmap.cpp
    engines/wintermute/base/font/base_font_bitmap.h
    engines/wintermute/base/font/base_font_truetype.cpp
    engines/wintermute/base/font/base_font_truetype.h
    engines/wintermute/base/gfx/base_renderer.cpp
    engines/wintermute/base/gfx/base_renderer.h
    engines/wintermute/base/gfx/base_surface.h
    engines/wintermute/base/gfx/xframe_node.cpp
    engines/wintermute/base/gfx/xmesh.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/particles/part_emitter.h
    engines/wintermute/base/particles/part_force.cpp
    engines/wintermute/base/particles/part_force.h
    engines/wintermute/base/particles/part_particle.h
    engines/wintermute/base/save_thumb_helper.cpp
    engines/wintermute/base/scriptables/script.cpp
    engines/wintermute/base/scriptables/script.h
    engines/wintermute/base/scriptables/script_ext_array.h
    engines/wintermute/base/scriptables/script_ext_date.h
    engines/wintermute/base/scriptables/script_ext_directory.h
    engines/wintermute/base/scriptables/script_ext_file.h
    engines/wintermute/base/scriptables/script_ext_mem_buffer.h
    engines/wintermute/base/scriptables/script_ext_string.cpp
    engines/wintermute/base/scriptables/script_ext_string.h
    engines/wintermute/base/scriptables/script_value.cpp
    engines/wintermute/base/sound/base_sound.h
    engines/wintermute/debugger/debugger_controller.cpp
    engines/wintermute/ui/ui_button.cpp
    engines/wintermute/ui/ui_button.h
    engines/wintermute/ui/ui_edit.cpp
    engines/wintermute/ui/ui_edit.h
    engines/wintermute/ui/ui_entity.cpp
    engines/wintermute/ui/ui_entity.h
    engines/wintermute/ui/ui_object.cpp
    engines/wintermute/ui/ui_object.h
    engines/wintermute/ui/ui_text.cpp
    engines/wintermute/ui/ui_text.h
    engines/wintermute/ui/ui_tiled_image.h
    engines/wintermute/ui/ui_window.cpp
    engines/wintermute/ui/ui_window.h
    engines/wintermute/video/video_subtitler.cpp
    engines/wintermute/wintermute.cpp


diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 3629651116e..c678cf169af 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -1133,7 +1133,7 @@ bool AdActor::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 
 		bool found = false;
 		for (int32 i = 0; i < _anims.getSize(); i++) {
-			if (scumm_stricmp(_anims[i]->getName(), animName) == 0) {
+			if (scumm_stricmp(_anims[i]->_name, animName) == 0) {
 				// invalidate sprites in use
 				if (_anims[i]->containsSprite(_tempSprite2)) {
 					_tempSprite2 = nullptr;
@@ -1325,7 +1325,7 @@ BaseSprite *AdActor::getTalkStance(const char *stance) {
 		if (_animSprite) {
 			bool res = _animSprite->loadFile(_forcedTalkAnimName);
 			if (DID_FAIL(res)) {
-				_gameRef->LOG(res, "AdActor::GetTalkStance: error loading talk sprite (object:\"%s\" sprite:\"%s\")", getName(), _forcedTalkAnimName);
+				_gameRef->LOG(res, "AdActor::GetTalkStance: error loading talk sprite (object:\"%s\" sprite:\"%s\")", _name, _forcedTalkAnimName);
 				delete _animSprite;
 				_animSprite = nullptr;
 			} else {
@@ -1352,7 +1352,7 @@ BaseSprite *AdActor::getTalkStance(const char *stance) {
 	if (!ret) {
 		BaseArray<AdSpriteSet *> talkAnims;
 		for (int32 i = 0; i < _anims.getSize(); i++) {
-			if (_talkAnimName.compareToIgnoreCase(_anims[i]->getName()) == 0) {
+			if (_talkAnimName.compareToIgnoreCase(_anims[i]->_name) == 0) {
 				talkAnims.add(_anims[i]);
 			}
 		}
@@ -1381,7 +1381,7 @@ BaseSprite *AdActor::getTalkStanceOld(const char *stance) {
 	if (stance != nullptr) {
 		// search special stances
 		for (int32 i = 0; i < _talkSpritesEx.getSize(); i++) {
-			if (scumm_stricmp(_talkSpritesEx[i]->getName(), stance) == 0) {
+			if (scumm_stricmp(_talkSpritesEx[i]->_name, stance) == 0) {
 				ret = _talkSpritesEx[i]->getSprite(_dir);
 				break;
 			}
@@ -1389,7 +1389,7 @@ BaseSprite *AdActor::getTalkStanceOld(const char *stance) {
 		if (ret == nullptr) {
 			// search generic stances
 			for (int32 i = 0; i < _talkSprites.getSize(); i++) {
-				if (scumm_stricmp(_talkSprites[i]->getName(), stance) == 0) {
+				if (scumm_stricmp(_talkSprites[i]->_name, stance) == 0) {
 					ret = _talkSprites[i]->getSprite(_dir);
 					break;
 				}
@@ -1495,7 +1495,7 @@ AdSpriteSet *AdActor::getAnimByName(const Common::String &animName) {
 		return nullptr;
 
 	for (int32 i = 0; i < _anims.getSize(); i++) {
-		if (animName.compareToIgnoreCase(_anims[i]->getName()) == 0) {
+		if (animName.compareToIgnoreCase(_anims[i]->_name) == 0) {
 			return _anims[i];
 		}
 	}
diff --git a/engines/wintermute/ad/ad_actor_3dx.cpp b/engines/wintermute/ad/ad_actor_3dx.cpp
index 3accc4d33dd..a8a5979068e 100644
--- a/engines/wintermute/ad/ad_actor_3dx.cpp
+++ b/engines/wintermute/ad/ad_actor_3dx.cpp
@@ -411,7 +411,7 @@ bool AdActor3DX::display() {
 	bool res = _xmodel->render();
 
 	if (_registrable) {
-		_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef, this, _xmodel,
+		_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef, this, _xmodel,
 		                                                      _xmodel->_boundingRect.left,
 		                                                      _xmodel->_boundingRect.top,
 		                                                      _xmodel->_boundingRect.right - _xmodel->_boundingRect.left,
@@ -431,9 +431,9 @@ bool AdActor3DX::display() {
 	}
 
 	// accessibility
-	//	if (_gameRef->_accessMgr->GetActiveObject() == this) {
-	//		_gameRef->_accessMgr->SetHintRect(&_xmodel->m_BoundingRect);
-	//	}
+	//if (_gameRef->_accessMgr->GetActiveObject() == this) {
+	//	_gameRef->_accessMgr->SetHintRect(&_xmodel->m_BoundingRect);
+	//}
 
 	return res;
 }
@@ -471,7 +471,7 @@ bool AdActor3DX::displayShadowVolume() {
 
 	DXVector3 lightPos = DXVector3(_shadowLightPos._x * _scale3D,
 	                               _shadowLightPos._y * _scale3D,
-								   _shadowLightPos._z * _scale3D);
+	                               _shadowLightPos._z * _scale3D);
 	pos = _posVector + lightPos;
 	target = _posVector;
 
@@ -731,8 +731,8 @@ void AdActor3DX::getNextStep2D() {
 
 	DXVector3 currentPoint;
 	adGame->_scene->_geom->convert2Dto3DTolerant(_path2D->getCurrent()->x,
-	                                                      _path2D->getCurrent()->y,
-	                                                      &currentPoint);
+	                                             _path2D->getCurrent()->y,
+	                                             &currentPoint);
 
 	DXVector3 origVec, newVec;
 
@@ -753,8 +753,8 @@ void AdActor3DX::getNextStep2D() {
 			}
 		} else {
 			adGame->_scene->_geom->convert2Dto3DTolerant(_path2D->getCurrent()->x,
-			                                                      _path2D->getCurrent()->y,
-			                                                      &currentPoint);
+			                                             _path2D->getCurrent()->y,
+			                                             &currentPoint);
 			initLine3D(_posVector, currentPoint, false);
 		}
 	} else
@@ -782,8 +782,8 @@ void AdActor3DX::followPath2D() {
 
 		DXVector3 currentPoint;
 		adGameRef->_scene->_geom->convert2Dto3DTolerant(_path2D->getCurrent()->x,
-		                                                         _path2D->getCurrent()->y,
-		                                                         &currentPoint);
+		                                                _path2D->getCurrent()->y,
+		                                                &currentPoint);
 
 		initLine3D(_posVector, currentPoint, true);
 	} else {
@@ -1452,7 +1452,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 				} else {
 					bool isSet = false;
 					for (int32 i = 0; i < _attachments.getSize(); i++) {
-						if (scumm_stricmp(_attachments[i]->getName(), attachName) == 0) {
+						if (scumm_stricmp(_attachments[i]->_name, attachName) == 0) {
 							delete _attachments[i];
 							_attachments[i] = at;
 							isSet = true;
@@ -1486,7 +1486,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 		} else {
 			bool isFound = false;
 			for (int32 i = 0; i < _attachments.getSize(); i++) {
-				if (scumm_stricmp(_attachments[i]->getName(), attachmentName) == 0) {
+				if (scumm_stricmp(_attachments[i]->_name, attachmentName) == 0) {
 					delete _attachments[i];
 					_attachments.removeAt(i);
 					isFound = true;
@@ -1510,7 +1510,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 		} else {
 			bool isFound = false;
 			for (int32 i = 0; i < _attachments.getSize(); i++) {
-				if (scumm_stricmp(_attachments[i]->getName(), attachmentName) == 0) {
+				if (scumm_stricmp(_attachments[i]->_name, attachmentName) == 0) {
 					stack->pushNative(_attachments[i], true);
 					isFound = true;
 					break;
diff --git a/engines/wintermute/ad/ad_attach_3dx.cpp b/engines/wintermute/ad/ad_attach_3dx.cpp
index 4a059031187..2c5227c7753 100644
--- a/engines/wintermute/ad/ad_attach_3dx.cpp
+++ b/engines/wintermute/ad/ad_attach_3dx.cpp
@@ -92,7 +92,7 @@ bool AdAttach3DX::displayAttachable(DXMatrix *viewMat, bool registerObjects) {
 		_xmodel->render();
 
 		if (registerObjects && _owner && _owner->_registrable) {
-			_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef, _owner, _xmodel,
+			_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef, _owner, _xmodel,
 			                                                      _xmodel->_boundingRect.left,
 			                                                      _xmodel->_boundingRect.top,
 			                                                      _xmodel->_boundingRect.right - _xmodel->_boundingRect.left,
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index 6aedec564d5..f819df81b89 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -542,7 +542,7 @@ bool AdEntity::loadBuffer(char *buffer, bool complete) {
 	}
 
 	if (_region && _sprite) {
-		_gameRef->LOG(0, "Warning: Entity '%s' has both sprite and region.", getName());
+		_gameRef->LOG(0, "Warning: Entity '%s' has both sprite and region.", _name);
 	}
 
 	updatePosition();
@@ -594,7 +594,7 @@ bool AdEntity::display() {
 		}
 
 		if (_region && (reg || _editorAlwaysRegister)) {
-			_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef,  _registerAlias, _region, _gameRef->_offsetX, _gameRef->_offsetY));
+			_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef,  _registerAlias, _region, _gameRef->_offsetX, _gameRef->_offsetY));
 		}
 
 		displaySpriteAttachments(true);
@@ -854,7 +854,7 @@ bool AdEntity::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		stack->correctParams(1);
 		const char *nodeName = stack->pop()->getString();
 
-		if (strcmp(getName(), nodeName) == 0) {
+		if (strcmp(_name, nodeName) == 0) {
 			warning("%s(%s): source and target have the same name", name, nodeName);
 			stack->pushBool(false);
 			return STATUS_OK;
@@ -866,7 +866,7 @@ bool AdEntity::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 				if (layer->_nodes[j]->_type == OBJECT_ENTITY && this == layer->_nodes[j]->_entity) {
 					// found source layer and index, looking for target node
 					for (int32 k = 0; k < layer->_nodes.getSize(); k++) {
-						if (layer->_nodes[k]->_type == OBJECT_ENTITY && strcmp(layer->_nodes[k]->_entity->getName(), nodeName) == 0) {
+						if (layer->_nodes[k]->_type == OBJECT_ENTITY && strcmp(layer->_nodes[k]->_entity->_name, nodeName) == 0) {
 							// update target index, depending on method name and comparison of index values
 							if (j < k && strcmp(name, "SetBeforeEntity") == 0) {
 								k--;
@@ -1126,7 +1126,7 @@ const char *AdEntity::scToString() {
 //////////////////////////////////////////////////////////////////////////
 bool AdEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "ENTITY {\n");
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	if (_subtype == ENTITY_SOUND) {
 		buffer->putTextIndent(indent + 2, "SUBTYPE=\"SOUND\"\n");
 	}
@@ -1176,8 +1176,8 @@ bool AdEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		buffer->putTextIndent(indent + 2, "SPRITE=\"%s\"\n", _sprite->getFilename());
 	}
 
-	if (_subtype == ENTITY_SOUND && _sFX && _sFX->getFilename()) {
-		buffer->putTextIndent(indent + 2, "SOUND=\"%s\"\n", _sFX->getFilename());
+	if (_subtype == ENTITY_SOUND && _sFX && !_sFX->_soundFilename.empty()) {
+		buffer->putTextIndent(indent + 2, "SOUND=\"%s\"\n", _sFX->_soundFilename.c_str());
 		buffer->putTextIndent(indent + 2, "SOUND_START_TIME=%d\n", _sFXStart);
 		buffer->putTextIndent(indent + 2, "SOUND_VOLUME=%d\n", _sFXVolume);
 	}
@@ -1301,6 +1301,6 @@ bool AdEntity::setSprite(const char *filename) {
 }
 
 Common::String AdEntity::debuggerToString() const {
-	return Common::String::format("%p: Entity \"%s\"; (X,Y): (%d, %d), rotate(%d): %f deg, scale(%d): (%f, %f)%%", (const void *)this, getName(), _posX, _posY, _rotatable, _rotate, _zoomable, _scaleX, _scaleY);
+	return Common::String::format("%p: Entity \"%s\"; (X,Y): (%d, %d), rotate(%d): %f deg, scale(%d): (%f, %f)%%", (const void *)this, _name, _posX, _posY, _rotatable, _rotate, _zoomable, _scaleX, _scaleY);
 }
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index 5ffa5022378..98354c5c4ad 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -284,7 +284,7 @@ bool AdGame::changeScene(const char *filename, bool fadeIn) {
 		_gameRef->pluginEvents().applyEvent(WME_EVENT_SCENE_SHUTDOWN, _scene);
 		_scene->applyEvent("SceneShutdown", true);
 
-		setPrevSceneName(_scene->getName());
+		setPrevSceneName(_scene->_name);
 		setPrevSceneFilename(_scene->getFilename());
 
 		if (!_tempDisableSaveState) {
@@ -779,7 +779,7 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 					if (val->getNative() == inv->_takenItems[j]) {
 						stack->pushBool(true);
 						return STATUS_OK;
-					} else if (scumm_stricmp(val->getString(), inv->_takenItems[j]->getName()) == 0) {
+					} else if (scumm_stricmp(val->getString(), inv->_takenItems[j]->_name) == 0) {
 						stack->pushBool(true);
 						return STATUS_OK;
 					}
@@ -1319,7 +1319,7 @@ bool AdGame::showCursor() {
 			_lastCursor = origLastCursor;
 		}
 		if (_activeObject && _selectedItem->_cursorHover && _activeObject->getExtendedFlag("usable")) {
-			if (!_smartItemCursor || _activeObject->canHandleEvent(_selectedItem->getName())) {
+			if (!_smartItemCursor || _activeObject->canHandleEvent(_selectedItem->_name)) {
 				return drawCursor(_selectedItem->_cursorHover);
 			} else {
 				return drawCursor(_selectedItem->_cursorNormal);
@@ -1782,7 +1782,7 @@ bool AdGame::loadItemsBuffer(char *buffer, bool merge) {
 			if (item && !DID_FAIL(item->loadBuffer(params, false))) {
 				// delete item with the same name, if exists
 				if (merge) {
-					AdItem *prevItem = getItemByName(item->getName());
+					AdItem *prevItem = getItemByName(item->_name);
 					if (prevItem) {
 						deleteItem(prevItem);
 					}
@@ -2184,7 +2184,7 @@ bool AdGame::isItemTaken(char *itemName) {
 		AdInventory *inv = _inventories[i];
 
 		for (int32 j = 0; j < inv->_takenItems.getSize(); j++) {
-			if (scumm_stricmp(itemName, inv->_takenItems[j]->getName()) == 0) {
+			if (scumm_stricmp(itemName, inv->_takenItems[j]->_name) == 0) {
 				return true;
 			}
 		}
@@ -2195,7 +2195,7 @@ bool AdGame::isItemTaken(char *itemName) {
 //////////////////////////////////////////////////////////////////////////
 AdItem *AdGame::getItemByName(const char *name) const {
 	for (int32 i = 0; i < _items.getSize(); i++) {
-		if (scumm_stricmp(_items[i]->getName(), name) == 0) {
+		if (scumm_stricmp(_items[i]->_name, name) == 0) {
 			return _items[i];
 		}
 	}
@@ -2262,7 +2262,7 @@ bool AdGame::deleteItem(AdItem *item) {
 	if (_selectedItem == item) {
 		_selectedItem = nullptr;
 	}
-	_scene->handleItemAssociations(item->getName(), false);
+	_scene->handleItemAssociations(item->_name, false);
 
 	// remove from all inventories
 	for (int32 i = 0; i < _inventories.getSize(); i++) {
@@ -2511,7 +2511,7 @@ bool AdGame::displayDebugInfo() {
 		Common::sprintf_s(str, "Mouse: %d, %d (scene: %d, %d)", _mousePos.x, _mousePos.y, _mousePos.x + (_scene ? _scene->getOffsetLeft() : 0), _mousePos.y + (_scene ? _scene->getOffsetTop() : 0));
 		_systemFont->drawText((byte *)str, 0, 90, _renderer->getWidth(), TAL_RIGHT);
 
-		Common::sprintf_s(str, "Scene: %s (prev: %s)", (_scene && _scene->getName()) ? _scene->getName() : "???", _prevSceneName ? _prevSceneName : "???");
+		Common::sprintf_s(str, "Scene: %s (prev: %s)", (_scene && _scene->_name) ? _scene->_name : "???", _prevSceneName ? _prevSceneName : "???");
 		_systemFont->drawText((byte *)str, 0, 110, _renderer->getWidth(), TAL_RIGHT);
 	}
 	return BaseGame::displayDebugInfo();
@@ -2595,6 +2595,6 @@ bool AdGame::onScriptShutdown(ScScript *script) {
 }
 
 Common::String AdGame::debuggerToString() const {
-	return Common::String::format("%p: Game \"%s\"", (const void *)this, getName());
+	return Common::String::format("%p: Game \"%s\"", (const void *)this, _name);
 }
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_inventory.cpp b/engines/wintermute/ad/ad_inventory.cpp
index ab6d77353a9..4ac1fe7192b 100644
--- a/engines/wintermute/ad/ad_inventory.cpp
+++ b/engines/wintermute/ad/ad_inventory.cpp
@@ -60,12 +60,12 @@ bool AdInventory::insertItem(const char *name, const char *insertAfter) {
 
 	int32 insertIndex = -1;
 	for (int32 i = 0; i < _takenItems.getSize(); i++) {
-		if (scumm_stricmp(_takenItems[i]->getName(), name) == 0) {
+		if (scumm_stricmp(_takenItems[i]->_name, name) == 0) {
 			_takenItems.removeAt(i);
 			i--;
 			continue;
 		}
-		if (insertAfter && scumm_stricmp(_takenItems[i]->getName(), insertAfter) == 0) {
+		if (insertAfter && scumm_stricmp(_takenItems[i]->_name, insertAfter) == 0) {
 			insertIndex = i + 1;
 		}
 	}
@@ -88,7 +88,7 @@ bool AdInventory::removeItem(const char *name) {
 	}
 
 	for (int32 i = 0; i < _takenItems.getSize(); i++) {
-		if (scumm_stricmp(_takenItems[i]->getName(), name) == 0) {
+		if (scumm_stricmp(_takenItems[i]->_name, name) == 0) {
 			if (((AdGame *)_gameRef)->_selectedItem == _takenItems[i]) {
 				((AdGame *)_gameRef)->_selectedItem = nullptr;
 			}
diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 1eb8353f90a..52535e37e09 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -79,12 +79,12 @@ bool AdInventoryBox::listen(BaseScriptHolder *param1, uint32 param2) {
 
 	switch (obj->_type) {
 	case UI_BUTTON:
-		if (scumm_stricmp(obj->getName(), "close") == 0) {
+		if (scumm_stricmp(obj->_name, "close") == 0) {
 			_visible = false;
-		} else if (scumm_stricmp(obj->getName(), "prev") == 0) {
+		} else if (scumm_stricmp(obj->_name, "prev") == 0) {
 			_scrollOffset -= _scrollBy;
 			_scrollOffset = MAX<int32>(_scrollOffset, 0);
-		} else if (scumm_stricmp(obj->getName(), "next") == 0) {
+		} else if (scumm_stricmp(obj->_name, "next") == 0) {
 			_scrollOffset += _scrollBy;
 		} else {
 			return BaseObject::listen(param1, param2);
@@ -119,8 +119,8 @@ bool AdInventoryBox::display() {
 
 	if (_closeButton) {
 		_closeButton->_posX = _closeButton->_posY = 0;
-		_closeButton->setWidth(_gameRef->_renderer->getWidth());
-		_closeButton->setHeight(_gameRef->_renderer->getHeight());
+		_closeButton->_width = _gameRef->_renderer->getWidth();
+		_closeButton->_height = _gameRef->_renderer->getHeight();
 
 		_closeButton->display();
 	}
@@ -325,7 +325,7 @@ bool AdInventoryBox::loadBuffer(char *buffer, bool complete) {
 
 	if (_window) {
 		for (int32 i = 0; i < _window->_widgets.getSize(); i++) {
-			if (!_window->_widgets[i]->getListener()) {
+			if (!_window->_widgets[i]->_listenerObject) {
 				_window->_widgets[i]->setListener(this, _window->_widgets[i], 0);
 			}
 		}
@@ -339,7 +339,7 @@ bool AdInventoryBox::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "INVENTORY_BOX\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 
 	buffer->putTextIndent(indent + 2, "AREA { %d, %d, %d, %d }\n", _itemsArea.left, _itemsArea.top, _itemsArea.right, _itemsArea.bottom);
diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp
index 0f07da41a1e..06aa617147c 100644
--- a/engines/wintermute/ad/ad_item.cpp
+++ b/engines/wintermute/ad/ad_item.cpp
@@ -439,7 +439,7 @@ bool AdItem::display(int x, int y) {
 		}
 		amountX += _amountOffsetX;
 
-		BaseFont *font = _font ? _font : _gameRef->getSystemFont();
+		BaseFont *font = _font ? _font : _gameRef->_systemFont;
 		if (font) {
 			if (_amountString) {
 				font->drawText((byte *)_amountString, amountX, amountY, width, _amountAlign);
@@ -667,7 +667,7 @@ ScValue *AdItem::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 
diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp
index 42cd9e4ee47..982baa077a2 100644
--- a/engines/wintermute/ad/ad_layer.cpp
+++ b/engines/wintermute/ad/ad_layer.cpp
@@ -242,8 +242,8 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 			node = val->getInt();
 		} else { // get by name
 			for (int32 i = 0; i < _nodes.getSize(); i++) {
-				if ((_nodes[i]->_type == OBJECT_ENTITY && scumm_stricmp(_nodes[i]->_entity->getName(), val->getString()) == 0) ||
-				        (_nodes[i]->_type == OBJECT_REGION && scumm_stricmp(_nodes[i]->_region->getName(), val->getString()) == 0)) {
+				if ((_nodes[i]->_type == OBJECT_ENTITY && scumm_stricmp(_nodes[i]->_entity->_name, val->getString()) == 0) ||
+				        (_nodes[i]->_type == OBJECT_REGION && scumm_stricmp(_nodes[i]->_region->_name, val->getString()) == 0)) {
 					node = i;
 					break;
 				}
@@ -503,7 +503,7 @@ const char *AdLayer::scToString() {
 //////////////////////////////////////////////////////////////////////////
 bool AdLayer::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "LAYER {\n");
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 	buffer->putTextIndent(indent + 2, "MAIN=%s\n", _main ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "WIDTH=%d\n", _width);
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index beaac3a0d15..71a79c75693 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -160,12 +160,12 @@ bool AdObject::playAnim(const char *filename) {
 	delete _animSprite;
 	_animSprite = new BaseSprite(_gameRef, this);
 	if (!_animSprite) {
-		_gameRef->LOG(0, "AdObject::PlayAnim: error creating temp sprite (object:\"%s\" sprite:\"%s\")", getName(), filename);
+		_gameRef->LOG(0, "AdObject::PlayAnim: error creating temp sprite (object:\"%s\" sprite:\"%s\")", _name, filename);
 		return STATUS_FAILED;
 	}
 	bool res = _animSprite->loadFile(filename);
 	if (DID_FAIL(res)) {
-		_gameRef->LOG(res, "AdObject::PlayAnim: error loading temp sprite (object:\"%s\" sprite:\"%s\")", getName(), filename);
+		_gameRef->LOG(res, "AdObject::PlayAnim: error loading temp sprite (object:\"%s\" sprite:\"%s\")", _name, filename);
 		delete _animSprite;
 		_animSprite = nullptr;
 		return res;
@@ -313,7 +313,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		} else if (val->isString()) {
 			const char *regionName = val->getString();
 			for (i = 0; i < main->_nodes.getSize(); i++) {
-				if (main->_nodes[i]->_type == OBJECT_REGION && main->_nodes[i]->_region->getName() && scumm_stricmp(main->_nodes[i]->_region->getName(), regionName) == 0) {
+				if (main->_nodes[i]->_type == OBJECT_REGION && main->_nodes[i]->_region->_name && scumm_stricmp(main->_nodes[i]->_region->_name, regionName) == 0) {
 					_stickRegion = main->_nodes[i]->_region;
 					regFound = true;
 					break;
@@ -472,7 +472,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 				if (val->getNative() == _inventory->_takenItems[i]) {
 					stack->pushBool(true);
 					return STATUS_OK;
-				} else if (scumm_stricmp(val->getString(), _inventory->_takenItems[i]->getName()) == 0) {
+				} else if (scumm_stricmp(val->getString(), _inventory->_takenItems[i]->_name) == 0) {
 					stack->pushBool(true);
 					return STATUS_OK;
 				}
@@ -581,7 +581,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		} else {
 			const char *attachmentName = val->getString();
 			for (int32 i = 0; i < _attachmentsPre.getSize(); i++) {
-				if (_attachmentsPre[i]->getName() && scumm_stricmp(_attachmentsPre[i]->getName(), attachmentName) == 0) {
+				if (_attachmentsPre[i]->_name && scumm_stricmp(_attachmentsPre[i]->_name, attachmentName) == 0) {
 					found = true;
 					_gameRef->unregisterObject(_attachmentsPre[i]);
 					_attachmentsPre.removeAt(i);
@@ -589,7 +589,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 				}
 			}
 			for (int32 i = 0; i < _attachmentsPost.getSize(); i++) {
-				if (_attachmentsPost[i]->getName() && scumm_stricmp(_attachmentsPost[i]->getName(), attachmentName) == 0) {
+				if (_attachmentsPost[i]->_name && scumm_stricmp(_attachmentsPost[i]->_name, attachmentName) == 0) {
 					found = true;
 					_gameRef->unregisterObject(_attachmentsPost[i]);
 					_attachmentsPost.removeAt(i);
@@ -628,14 +628,14 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 		} else {
 			const char *attachmentName = val->getString();
 			for (int32 i = 0; i < _attachmentsPre.getSize(); i++) {
-				if (_attachmentsPre[i]->getName() && scumm_stricmp(_attachmentsPre[i]->getName(), attachmentName) == 0) {
+				if (_attachmentsPre[i]->_name && scumm_stricmp(_attachmentsPre[i]->_name, attachmentName) == 0) {
 					ret = _attachmentsPre[i];
 					break;
 				}
 			}
 			if (!ret) {
 				for (int32 i = 0; i < _attachmentsPost.getSize(); i++) {
-					if (_attachmentsPost[i]->getName() && scumm_stricmp(_attachmentsPost[i]->getName(), attachmentName) == 0) {
+					if (_attachmentsPost[i]->_name && scumm_stricmp(_attachmentsPost[i]->_name, attachmentName) == 0) {
 						ret = _attachmentsPre[i];
 						break;
 					}
@@ -901,7 +901,7 @@ void AdObject::talk(const char *text, const char *sound, uint32 duration, const
 	_sentence->_align = Align;
 	_sentence->_startTime = _gameRef->getTimer()->getTime();
 	_sentence->_currentStance = -1;
-	_sentence->_font = _font == nullptr ? _gameRef->getSystemFont() : _font;
+	_sentence->_font = _font == nullptr ? _gameRef->_systemFont : _font;
 	_sentence->_freezable = _freezable;
 
 	// try to locate speech file automatically
diff --git a/engines/wintermute/ad/ad_region.cpp b/engines/wintermute/ad/ad_region.cpp
index a1bbc448adb..6b89bd8213a 100644
--- a/engines/wintermute/ad/ad_region.cpp
+++ b/engines/wintermute/ad/ad_region.cpp
@@ -259,7 +259,7 @@ ScValue *AdRegion::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 
@@ -354,7 +354,7 @@ const char *AdRegion::scToString() {
 //////////////////////////////////////////////////////////////////////////
 bool AdRegion::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "REGION {\n");
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 	buffer->putTextIndent(indent + 2, "BLOCKED=%s\n", _blocked ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "DECORATION=%s\n", _decoration ? "TRUE" : "FALSE");
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index e4cc763a4b2..c9629d34b24 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -117,11 +117,11 @@ void AdResponseBox::clearButtons() {
 //////////////////////////////////////////////////////////////////////////
 bool AdResponseBox::invalidateButtons() {
 	for (int32 i = 0; i < _respButtons.getSize(); i++) {
-		_respButtons[i]->setImage(nullptr);
+		_respButtons[i]->_image = nullptr;
 		_respButtons[i]->_cursor = nullptr;
-		_respButtons[i]->setFont(nullptr);
-		_respButtons[i]->setFontHover(nullptr);
-		_respButtons[i]->setFontPress(nullptr);
+		_respButtons[i]->_font = nullptr;
+		_respButtons[i]->_fontHover = nullptr;
+		_respButtons[i]->_fontPress = nullptr;
 		_respButtons[i]->setText("");
 	}
 	return STATUS_OK;
@@ -137,17 +137,17 @@ bool AdResponseBox::createButtons() {
 		UIButton *btn = new UIButton(_gameRef);
 		if (btn) {
 			btn->_parent = _window;
-			btn->setSharedFonts(true);
-			btn->setSharedImages(true);
+			btn->_sharedFonts = true;
+			btn->_sharedImages = true;
 			btn->_sharedCursors = true;
 			// iconic
 			if (_responses[i]->_icon) {
-				btn->setImage(_responses[i]->_icon);
+				btn->_image = _responses[i]->_icon;
 				if (_responses[i]->_iconHover) {
-					btn->setImageHover(_responses[i]->_iconHover);
+					btn->_imageHover = _responses[i]->_iconHover;
 				}
 				if (_responses[i]->_iconPressed) {
-					btn->setImagePress(_responses[i]->_iconPressed);
+					btn->_imagePress = _responses[i]->_iconPressed;
 				}
 
 				btn->setCaption(_responses[i]->_text);
@@ -161,34 +161,34 @@ bool AdResponseBox::createButtons() {
 			else {
 				btn->setText(_responses[i]->_text);
 				if (_font == nullptr) {
-					btn->setFont(_gameRef->getSystemFont());
+					btn->_font = _gameRef->_systemFont;
 				} else {
-					btn->setFont(_font);
+					btn->_font = _font;
 				}
-				btn->setFontHover((_fontHover == nullptr) ? _gameRef->getSystemFont() : _fontHover);
-				btn->setFontPress(btn->getFontHover());
-				btn->setTextAlign(_align);
+				btn->_fontHover = (_fontHover == nullptr) ? _gameRef->_systemFont : _fontHover;
+				btn->_fontPress = btn->_fontHover;
+				btn->_align = _align;
 
 				if (_responses[i]->_font) {
-					btn->setFont(_responses[i]->_font);
+					btn->_font = _responses[i]->_font;
 				}
 
 				int width = _responseArea.right - _responseArea.left;
 
 				if (width <= 0) {
-					btn->setWidth(_gameRef->_renderer->getWidth());
+					btn->_width = _gameRef->_renderer->getWidth();
 				} else {
-					btn->setWidth(width);
+					btn->_width = width;
 				}
 			}
 
 #ifdef ENABLE_FOXTAIL
 			if (BaseEngine::instance().isFoxTail()) {
 				btn->addScript("interface/scripts/dialogue_button.script");
-				btn->setWidth(120);
+				btn->_width = 120;
 				if (_fontHover == nullptr) {
-					btn->setFontHover(btn->getFont());
-					btn->setFontPress(btn->getFontHover());
+					btn->_fontHover = btn->_font;
+					btn->_fontPress = btn->_fontHover;
 				}
 			}
 #endif
@@ -197,7 +197,7 @@ bool AdResponseBox::createButtons() {
 			btn->correctSize();
 			//btn->SetListener(this, btn, _responses[i]->_iD);
 			btn->setListener(this, btn, i);
-			btn->setVisible(false);
+			btn->_visible = false;
 			_respButtons.add(btn);
 
 			if (_responseArea.bottom - _responseArea.top < btn->getHeight()) {
@@ -376,7 +376,7 @@ bool AdResponseBox::loadBuffer(char *buffer, bool complete) {
 
 	if (_window) {
 		for (int32 i = 0; i < _window->_widgets.getSize(); i++) {
-			if (!_window->_widgets[i]->getListener()) {
+			if (!_window->_widgets[i]->_listenerObject) {
 				_window->_widgets[i]->setListener(this, _window->_widgets[i], 0);
 			}
 		}
@@ -506,29 +506,29 @@ bool AdResponseBox::display() {
 				scrollNeeded = true;
 				break;
 			}
-			_respButtons[i]->setVisible(true);
+			_respButtons[i]->_visible = true;
 			_respButtons[i]->_posX = 55 + 120 * (i / 3);
 			_respButtons[i]->_posY = 100 + 10 * (i % 3);
 			continue;
 		}
 #endif
 
-		if ((_horizontal && xxx + _respButtons[i]->getWidth() > rect.right)
+		if ((_horizontal && xxx + _respButtons[i]->_width > rect.right)
 		        || (!_horizontal && yyy + _respButtons[i]->getHeight() > rect.bottom)) {
 
 			scrollNeeded = true;
-			_respButtons[i]->setVisible(false);
+			_respButtons[i]->_visible = false;
 			break;
 		}
 
-		_respButtons[i]->setVisible(true);
+		_respButtons[i]->_visible = true;
 		_respButtons[i]->_posX = xxx;
 		_respButtons[i]->_posY = yyy;
 
 		if (_horizontal) {
-			xxx += (_respButtons[i]->getWidth() + _spacing);
+			xxx += (_respButtons[i]->_width + _spacing);
 		} else {
-			yyy += (_respButtons[i]->getHeight() + _spacing);
+			yyy += (_respButtons[i]->_height+ _spacing);
 		}
 	}
 
@@ -541,8 +541,8 @@ bool AdResponseBox::display() {
 	// go exclusive
 	if (_shieldWindow) {
 		_shieldWindow->_posX = _shieldWindow->_posY = 0;
-		_shieldWindow->setWidth(_gameRef->_renderer->getWidth());
-		_shieldWindow->setHeight(_gameRef->_renderer->getHeight());
+		_shieldWindow->_width = _gameRef->_renderer->getWidth();
+		_shieldWindow->_height = _gameRef->_renderer->getHeight();
 
 		_shieldWindow->display();
 	}
@@ -568,11 +568,11 @@ bool AdResponseBox::listen(BaseScriptHolder *param1, uint32 param2) {
 
 	switch (obj->_type) {
 	case UI_BUTTON:
-		if (scumm_stricmp(obj->getName(), "prev") == 0) {
+		if (scumm_stricmp(obj->_name, "prev") == 0) {
 			_scrollOffset--;
-		} else if (scumm_stricmp(obj->getName(), "next") == 0) {
+		} else if (scumm_stricmp(obj->_name, "next") == 0) {
 			_scrollOffset++;
-		} else if (scumm_stricmp(obj->getName(), "response") == 0) {
+		} else if (scumm_stricmp(obj->_name, "response") == 0) {
 			if (_waitingScript) {
 				_waitingScript->_stack->pushInt(_responses[param2]->_iD);
 			}
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index d2be20b433d..2f90c96d261 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -1181,8 +1181,8 @@ bool AdScene::traverseNodes(bool doUpdate) {
 				}
 				if (_shieldWindow) {
 					_shieldWindow->_posX = _shieldWindow->_posY = 0;
-					_shieldWindow->setWidth(_gameRef->_renderer->getWidth());
-					_shieldWindow->setHeight(_gameRef->_renderer->getHeight());
+					_shieldWindow->_width = _gameRef->_renderer->getWidth();
+					_shieldWindow->_height = _gameRef->_renderer->getHeight();
 					_shieldWindow->display();
 				}
 			}
@@ -1398,8 +1398,8 @@ bool AdScene::updateFreeObjects() {
 	}
 
 
-	if (_autoScroll && _gameRef->getMainObject() != nullptr) {
-		scrollToObject(_gameRef->getMainObject());
+	if (_autoScroll && _gameRef->_mainObject != nullptr) {
+		scrollToObject(_gameRef->_mainObject);
 	}
 
 
@@ -1570,7 +1570,7 @@ void AdScene::scrollTo(int offsetX, int offsetY) {
 	_targetOffsetTop = MIN(_targetOffsetTop, _height - viewportHeight);
 
 
-	if (_gameRef->getMainObject() && _gameRef->getMainObject()->_is3D) {
+	if (_gameRef->_mainObject && _gameRef->_mainObject->_is3D) {
 		if (abs(origOffsetLeft - _targetOffsetLeft) < 5) {
 			_targetOffsetLeft = origOffsetLeft;
 		}
@@ -1753,7 +1753,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 			const char *layerName = val->getString();
 			bool layerFound = false;
 			for (int32 i = 0; i < _layers.getSize(); i++) {
-				if (scumm_stricmp(layerName, _layers[i]->getName()) == 0) {
+				if (scumm_stricmp(layerName, _layers[i]->_name) == 0) {
 					stack->pushNative(_layers[i], true);
 					layerFound = true;
 					break;
@@ -1825,7 +1825,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 		} else {
 			const char *nodeName = val->getString();
 			for (int32 i = 0; i < _objects.getSize(); i++) {
-				if (_objects[i] && _objects[i]->getName() && scumm_stricmp(_objects[i]->getName(), nodeName) == 0) {
+				if (_objects[i] && _objects[i]->_name && scumm_stricmp(_objects[i]->_name, nodeName) == 0) {
 					ret = _objects[i];
 					break;
 				}
@@ -2112,7 +2112,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
 		int32 index = stack->pop()->getInt();
         if (_geom ) {
 			if (index >= 0 && index < _geom->_lights.getSize()) {
-				stack->pushString(_geom->_lights[index]->getName());
+				stack->pushString(_geom->_lights[index]->_name);
 			} else {
 				stack->pushNULL();
 			}
@@ -3384,8 +3384,8 @@ BaseObject *AdScene::getNodeByName(const char *name) {
 		AdLayer *layer = _layers[i];
 		for (int32 j = 0; j < layer->_nodes.getSize(); j++) {
 			AdSceneNode *node = layer->_nodes[j];
-			if ((node->_type == OBJECT_ENTITY && !scumm_stricmp(name, node->_entity->getName())) ||
-			    (node->_type == OBJECT_REGION && !scumm_stricmp(name, node->_region->getName()))) {
+			if ((node->_type == OBJECT_ENTITY && !scumm_stricmp(name, node->_entity->_name)) ||
+			    (node->_type == OBJECT_REGION && !scumm_stricmp(name, node->_region->_name))) {
 				switch (node->_type) {
 				case OBJECT_ENTITY:
 					ret = node->_entity;
@@ -3403,14 +3403,14 @@ BaseObject *AdScene::getNodeByName(const char *name) {
 
 	// free entities
 	for (int32 i = 0; i < _objects.getSize(); i++) {
-		if (_objects[i]->_type == OBJECT_ENTITY && !scumm_stricmp(name, _objects[i]->getName())) {
+		if (_objects[i]->_type == OBJECT_ENTITY && !scumm_stricmp(name, _objects[i]->_name)) {
 			return _objects[i];
 		}
 	}
 
 	// waypoint groups
 	for (int32 i = 0; i < _waypointGroups.getSize(); i++) {
-		if (!scumm_stricmp(name, _waypointGroups[i]->getName())) {
+		if (!scumm_stricmp(name, _waypointGroups[i]->_name)) {
 			return _waypointGroups[i];
 		}
 	}
@@ -3455,7 +3455,7 @@ bool AdScene::persistState(bool saving) {
 				if (!node->_entity->_saveState) {
 					continue;
 				}
-				nodeState = state->getNodeState(node->_entity->getName(), saving);
+				nodeState = state->getNodeState(node->_entity->_name, saving);
 				if (nodeState) {
 					nodeState->transferEntity(node->_entity, _persistentStateSprites, saving);
 					//if (Saving) NodeState->_active = node->_entity->_active;
@@ -3466,7 +3466,7 @@ bool AdScene::persistState(bool saving) {
 				if (!node->_region->_saveState) {
 					continue;
 				}
-				nodeState = state->getNodeState(node->_region->getName(), saving);
+				nodeState = state->getNodeState(node->_region->_name, saving);
 				if (nodeState) {
 					if (saving) {
 						nodeState->_active = node->_region->_active;
@@ -3488,7 +3488,7 @@ bool AdScene::persistState(bool saving) {
 			continue;
 		}
 		if (_objects[i]->_type == OBJECT_ENTITY) {
-			nodeState = state->getNodeState(_objects[i]->getName(), saving);
+			nodeState = state->getNodeState(_objects[i]->_name, saving);
 			if (nodeState) {
 				nodeState->transferEntity((AdEntity *)_objects[i], _persistentStateSprites, saving);
 				//if (Saving) NodeState->_active = _objects[i]->_active;
@@ -3499,7 +3499,7 @@ bool AdScene::persistState(bool saving) {
 
 	// waypoint groups
 	for (int32 i = 0; i < _waypointGroups.getSize(); i++) {
-		nodeState = state->getNodeState(_waypointGroups[i]->getName(), saving);
+		nodeState = state->getNodeState(_waypointGroups[i]->_name, saving);
 		if (nodeState) {
 			if (saving) {
 				nodeState->_active = _waypointGroups[i]->_active;
@@ -3766,7 +3766,7 @@ void Wintermute::AdScene::setMaxShadowType(Wintermute::TShadowType shadowType) {
 #endif
 
 Common::String AdScene::debuggerToString() const {
-	return Common::String::format("%p: Scene \"%s\", paralax: %d, autoscroll: %d", (const void *)this, getName(), _paralaxScrolling, _autoScroll);
+	return Common::String::format("%p: Scene \"%s\", paralax: %d, autoscroll: %d", (const void *)this, _name, _paralaxScrolling, _autoScroll);
 }
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_scene_geometry.cpp b/engines/wintermute/ad/ad_scene_geometry.cpp
index 16166e04da8..803bc008ee2 100644
--- a/engines/wintermute/ad/ad_scene_geometry.cpp
+++ b/engines/wintermute/ad/ad_scene_geometry.cpp
@@ -364,7 +364,7 @@ bool AdSceneGeometry::setActiveCamera(int camera, float fov, float nearClipPlane
 //////////////////////////////////////////////////////////////////////////
 bool AdSceneGeometry::setActiveCamera(const char *camera, float fov, float nearClipPlane, float farClipPlane) {
 	for (int32 i = 0; i < _cameras.getSize(); i++) {
-		if (scumm_stricmp(_cameras[i]->getName(), camera) == 0)
+		if (scumm_stricmp(_cameras[i]->_name, camera) == 0)
 			return setActiveCamera(i, fov, nearClipPlane, farClipPlane);
 	}
 
@@ -395,7 +395,7 @@ bool AdSceneGeometry::setActiveLight(int32 light) {
 //////////////////////////////////////////////////////////////////////////
 bool AdSceneGeometry::setActiveLight(char *light) {
 	for (int32 i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(_lights[i]->getName(), light) == 0) {
+		if (scumm_stricmp(_lights[i]->_name, light) == 0) {
 			return setActiveLight(i);
 		}
 	}
@@ -972,7 +972,7 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
 		if (ignoreLights.getSize()) {
 			bool ignore = false;
 			for (int32 j = 0; j < ignoreLights.getSize(); j++) {
-				if (scumm_stricmp(_lights[i]->getName(), ignoreLights[j]) == 0) {
+				if (scumm_stricmp(_lights[i]->_name, ignoreLights[j]) == 0) {
 					ignore = true;
 					break;
 				}
@@ -1108,21 +1108,21 @@ bool AdSceneGeometry::enableNode(const char *nodeName, bool enable) {
 
 	int32 i;
 	for (i = 0; i < _blocks.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _blocks[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _blocks[i]->_name) == 0) {
 			_blocks[i]->_active = enable;
 			ret = true;
 		}
 	}
 
 	for (i = 0; i < _planes.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _planes[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _planes[i]->_name) == 0) {
 			_planes[i]->_active = enable;
 			ret = true;
 		}
 	}
 
 	for (i = 0; i < _generics.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _generics[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _generics[i]->_name) == 0) {
 			_generics[i]->_active = enable;
 			ret = true;
 		}
@@ -1134,18 +1134,18 @@ bool AdSceneGeometry::enableNode(const char *nodeName, bool enable) {
 //////////////////////////////////////////////////////////////////////////
 bool AdSceneGeometry::isNodeEnabled(const char *nodeName) {
 	for (int32 i = 0; i < _blocks.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _blocks[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _blocks[i]->_name) == 0) {
 			return _blocks[i]->_active;
 		}
 	}
 	for (int32 i = 0; i < _planes.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _planes[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _planes[i]->_name) == 0) {
 			return _planes[i]->_active;
 		}
 	}
 
 	for (int32 i = 0; i < _generics.getSize(); i++) {
-		if (scumm_stricmp(nodeName, _generics[i]->getName()) == 0) {
+		if (scumm_stricmp(nodeName, _generics[i]->_name) == 0) {
 			return _generics[i]->_active;
 		}
 	}
@@ -1159,7 +1159,7 @@ bool AdSceneGeometry::enableLight(const char *lightName, bool enable) {
 
 	int32 i;
 	for (i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
+		if (scumm_stricmp(lightName, _lights[i]->_name) == 0) {
 			_lights[i]->_active = enable;
 			ret = true;
 		}
@@ -1172,7 +1172,7 @@ bool AdSceneGeometry::enableLight(const char *lightName, bool enable) {
 //////////////////////////////////////////////////////////////////////////
 bool AdSceneGeometry::isLightEnabled(const char *lightName) {
 	for (int32 i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
+		if (scumm_stricmp(lightName, _lights[i]->_name) == 0) {
 			return _lights[i]->_active;
 		}
 	}
@@ -1185,7 +1185,7 @@ bool AdSceneGeometry::setLightColor(const char *lightName, uint32 color) {
 
 	int32 i;
 	for (i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
+		if (scumm_stricmp(lightName, _lights[i]->_name) == 0) {
 			_lights[i]->_diffuseColor = color;
 			ret = true;
 		}
@@ -1198,7 +1198,7 @@ bool AdSceneGeometry::setLightColor(const char *lightName, uint32 color) {
 //////////////////////////////////////////////////////////////////////////
 uint32 AdSceneGeometry::getLightColor(const char *lightName) {
 	for (int32 i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
+		if (scumm_stricmp(lightName, _lights[i]->_name) == 0) {
 			return _lights[i]->_diffuseColor;
 		}
 	}
@@ -1208,7 +1208,7 @@ uint32 AdSceneGeometry::getLightColor(const char *lightName) {
 //////////////////////////////////////////////////////////////////////////
 DXVector3 AdSceneGeometry::getLightPos(const char *lightName) {
 	for (int32 i = 0; i < _lights.getSize(); i++) {
-		if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
+		if (scumm_stricmp(lightName, _lights[i]->_name) == 0) {
 			return _lights[i]->_pos;
 		}
 	}
@@ -1257,7 +1257,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 			bool found = false;
 
 			for (int32 j = 0; j < _lights.getSize(); j++) {
-				if (scumm_stricmp(name, _lights[j]->getName()) == 0) {
+				if (scumm_stricmp(name, _lights[j]->_name) == 0) {
 					_lights[j]->persist(persistMgr);
 					found = true;
 					break;
@@ -1290,7 +1290,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 			persistMgr->transferCharPtr(TMEMBER(name));
 			bool found = false;
 			for (int32 j = 0; j < _blocks.getSize(); j++) {
-				if (scumm_stricmp(name, _blocks[j]->getName()) == 0) {
+				if (scumm_stricmp(name, _blocks[j]->_name) == 0) {
 					_blocks[j]->persist(persistMgr);
 					found = true;
 					break;
@@ -1321,7 +1321,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 			persistMgr->transferCharPtr(TMEMBER(name));
 			bool found = false;
 			for (int32 j = 0; j < _planes.getSize(); j++) {
-				if (scumm_stricmp(name, _planes[j]->getName()) == 0) {
+				if (scumm_stricmp(name, _planes[j]->_name) == 0) {
 					_planes[j]->persist(persistMgr);
 					found = true;
 					break;
@@ -1352,7 +1352,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 			persistMgr->transferCharPtr(TMEMBER(name));
 			bool found = false;
 			for (int32 j = 0; j < _generics.getSize(); j++) {
-				if (scumm_stricmp(name, _generics[j]->getName()) == 0) {
+				if (scumm_stricmp(name, _generics[j]->_name) == 0) {
 					_generics[j]->persist(persistMgr);
 					found = true;
 					break;
diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp
index ad3e9003e93..e6d42d90a71 100644
--- a/engines/wintermute/ad/ad_sprite_set.cpp
+++ b/engines/wintermute/ad/ad_sprite_set.cpp
@@ -300,8 +300,8 @@ BaseSprite *AdSpriteSet::getSprite(TDirection direction) {
 //////////////////////////////////////////////////////////////////////////
 bool AdSpriteSet::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "SPRITESET {\n");
-	if (getName()) {
-		buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	if (_name) {
+		buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	}
 	for (int i = 0; i < NUM_DIRECTIONS; i++) {
 		if (_sprites[i]) {
diff --git a/engines/wintermute/ad/ad_talk_holder.cpp b/engines/wintermute/ad/ad_talk_holder.cpp
index 5f4535e4ab7..20aaa8d7c88 100644
--- a/engines/wintermute/ad/ad_talk_holder.cpp
+++ b/engines/wintermute/ad/ad_talk_holder.cpp
@@ -76,7 +76,7 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
 		if (_animSprite) {
 			bool res = _animSprite->loadFile(_forcedTalkAnimName);
 			if (DID_FAIL(res)) {
-				_gameRef->LOG(res, "AdTalkHolder::GetTalkStance: error loading talk sprite (object:\"%s\" sprite:\"%s\")", getName(), _forcedTalkAnimName);
+				_gameRef->LOG(res, "AdTalkHolder::GetTalkStance: error loading talk sprite (object:\"%s\" sprite:\"%s\")", _name, _forcedTalkAnimName);
 				delete _animSprite;
 				_animSprite = nullptr;
 			} else {
@@ -89,7 +89,7 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
 	if (stance != nullptr) {
 		// search special talk stances
 		for (int32 i = 0; i < _talkSpritesEx.getSize(); i++) {
-			if (scumm_stricmp(_talkSpritesEx[i]->getName(), stance) == 0) {
+			if (scumm_stricmp(_talkSpritesEx[i]->_name, stance) == 0) {
 				ret = _talkSpritesEx[i];
 				break;
 			}
@@ -97,7 +97,7 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
 		if (ret == nullptr) {
 			// serach generic talk stances
 			for (int32 i = 0; i < _talkSprites.getSize(); i++) {
-				if (scumm_stricmp(_talkSprites[i]->getName(), stance) == 0) {
+				if (scumm_stricmp(_talkSprites[i]->_name, stance) == 0) {
 					ret = _talkSprites[i];
 					break;
 				}
diff --git a/engines/wintermute/ad/ad_waypoint_group.cpp b/engines/wintermute/ad/ad_waypoint_group.cpp
index 80ee14cfe0c..22b4e86d0a1 100644
--- a/engines/wintermute/ad/ad_waypoint_group.cpp
+++ b/engines/wintermute/ad/ad_waypoint_group.cpp
@@ -172,7 +172,7 @@ bool AdWaypointGroup::loadBuffer(char *buffer, bool complete) {
 //////////////////////////////////////////////////////////////////////////
 bool AdWaypointGroup::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "WAYPOINTS {\n");
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "EDITOR_SELECTED=%s\n", _editorSelected ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "EDITOR_SELECTED_POINT=%d\n", _editorSelectedPoint);
 
diff --git a/engines/wintermute/base/base.h b/engines/wintermute/base/base.h
index 8a379d84e40..0e9a2bebc74 100644
--- a/engines/wintermute/base/base.h
+++ b/engines/wintermute/base/base.h
@@ -49,13 +49,12 @@ public:
 	bool parseEditorProperty(char *buffer, bool complete = true);
 	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0);
 	BaseClass();
+	BaseGame *_gameRef;
 	BaseClass(BaseGame *GameOwner);
 	virtual ~BaseClass();
-	BaseGame *_gameRef;
 
 	virtual const char *getClassName() { return ""; }
 	virtual bool persist(BasePersistenceManager *persistMgr) { return true; }
-protected:
 	Common::HashMap<Common::String, Common::String> _editorProps;
 	Common::HashMap<Common::String, Common::String>::iterator _editorPropsIter;
 };
diff --git a/engines/wintermute/base/base_active_rect.h b/engines/wintermute/base/base_active_rect.h
index 21474875e71..f23d76e6e48 100644
--- a/engines/wintermute/base/base_active_rect.h
+++ b/engines/wintermute/base/base_active_rect.h
@@ -60,7 +60,6 @@ public:
 	BaseActiveRect(BaseGame *inGame, BaseObject *owner, XModel *model, int x, int y, int width, int height, bool precise = true);
 #endif
 	~BaseActiveRect() override;
-
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_dynamic_buffer.h b/engines/wintermute/base/base_dynamic_buffer.h
index 75158fa67af..c08d9017481 100644
--- a/engines/wintermute/base/base_dynamic_buffer.h
+++ b/engines/wintermute/base/base_dynamic_buffer.h
@@ -34,6 +34,7 @@ namespace Wintermute {
 
 class BaseDynamicBuffer {
 public:
+	bool _initialized;
 	void putText(const char *fmt, ...);
 	void putTextIndent(int indent, const char *fmt, ...);
 	uint32 getDWORD();
@@ -45,13 +46,12 @@ public:
 	uint32 getSize() const;
 	bool init(uint32 initSize = 0);
 	void cleanup();
+	uint32 _size;
+	byte *_buffer;
 	BaseDynamicBuffer(BaseGame *inGame, uint32 initSize = 1000, uint32 growBy = 1000);
 	virtual ~BaseDynamicBuffer();
 
 private:
-	uint32 _size;
-	byte *_buffer;
-	bool _initialized;
 	uint32 _realSize;
 	uint32 _growBy;
 	uint32 _initSize;
diff --git a/engines/wintermute/base/base_fader.h b/engines/wintermute/base/base_fader.h
index 319442132fc..2e79b57825f 100644
--- a/engines/wintermute/base/base_fader.h
+++ b/engines/wintermute/base/base_fader.h
@@ -35,6 +35,7 @@ namespace Wintermute {
 
 class BaseFader : public BaseObject {
 public:
+	bool _system;
 	uint32 getCurrentColor() const;
 	bool fadeOut(uint32 targetColor, uint32 duration, bool system = false);
 	bool fadeIn(uint32 sourceColor, uint32 duration, bool system = false);
@@ -44,8 +45,6 @@ public:
 	DECLARE_PERSISTENT(BaseFader, BaseObject)
 	BaseFader(BaseGame *inGame);
 	~BaseFader() override;
-private:
-	bool _system;
 	bool _active;
 	byte _red;
 	byte _green;
diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp
index 3d42a38ca85..0b8fece22fc 100644
--- a/engines/wintermute/base/base_frame.cpp
+++ b/engines/wintermute/base/base_frame.cpp
@@ -93,13 +93,6 @@ bool BaseFrame::draw(int x, int y, BaseObject *registerOwner, float zoomX, float
 	return STATUS_OK;
 }
 
-void BaseFrame::stopSound() {
-	if (_sound) {
-		_sound->stop();
-	}
-}
-
-
 //////////////////////////////////////////////////////////////////////////
 bool BaseFrame::oneTimeDisplay(BaseObject *owner, bool muted) {
 	if (_sound && !muted) {
@@ -383,8 +376,8 @@ bool BaseFrame::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		buffer->putTextIndent(indent + 2, "MOVE {%d, %d}\n", _moveX, _moveY);
 	}
 
-	if (_sound && _sound->getFilename()) {
-		buffer->putTextIndent(indent + 2, "SOUND=\"%s\"\n", _sound->getFilename());
+	if (_sound && !_sound->_soundFilename.empty()) {
+		buffer->putTextIndent(indent + 2, "SOUND=\"%s\"\n", _sound->_soundFilename.c_str());
 	}
 
 	buffer->putTextIndent(indent + 2, "KEYFRAME=%s\n", _keyframe ? "TRUE" : "FALSE");
@@ -447,8 +440,8 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
 	if (strcmp(name, "GetSound") == 0) {
 		stack->correctParams(0);
 
-		if (_sound && _sound->getFilename()) {
-			stack->pushString(_sound->getFilename());
+		if (_sound && !_sound->_soundFilename.empty()) {
+			stack->pushString(_sound->_soundFilename.c_str());
 		} else {
 			stack->pushNULL();
 		}
@@ -774,6 +767,6 @@ const char *BaseFrame::scToString() {
 }
 
 Common::String BaseFrame::debuggerToString() const {
-	return Common::String::format("%p: Frame \"%s\": #subframes %d ", (const void *)this, getName(), _subframes.getSize());
+	return Common::String::format("%p: Frame \"%s\": #subframes %d ", (const void *)this, _name, _subframes.getSize());
 }
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_frame.h b/engines/wintermute/base/base_frame.h
index 94ddb516723..28c05b6a289 100644
--- a/engines/wintermute/base/base_frame.h
+++ b/engines/wintermute/base/base_frame.h
@@ -41,10 +41,11 @@ class ScStack;
 class BaseFrame: public BaseScriptable {
 public:
 	bool _killSound;
-	void stopSound();
+	bool _keyframe;
 	bool oneTimeDisplay(BaseObject *owner, bool muted = false);
 	DECLARE_PERSISTENT(BaseFrame, BaseScriptable)
-
+	BaseSound *_sound;
+	bool _editorExpanded;
 	bool getBoundingRect(Rect32 *rect, int x, int y, float scaleX = 100, float scaleY = 100);
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	int32 _moveY;
@@ -65,11 +66,6 @@ public:
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
 	Common::String debuggerToString() const override;
-
-private:
-	bool _keyframe;
-	bool _editorExpanded;
-	BaseSound *_sound;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index b5f579074e7..f106e715173 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -179,7 +179,6 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
 	_personalizedSave = false;
 
 	_editorMode = false;
-	//_doNotExpandStrings = false;
 
 	_engineLogCallback = nullptr;
 	_engineLogCallbackData = nullptr;
@@ -226,6 +225,18 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
 
 	_lastCursor = nullptr;
 
+	// accessibility flags
+/*	m_AccessTTSEnabled = false;
+	m_AccessTTSTalk = true;
+	m_AccessTTSCaptions = true;
+	m_AccessTTSKeypress = true;
+	m_AccessKeyboardEnabled = false;
+	m_AccessKeyboardCursorSkip = true;
+	m_AccessKeyboardPause = false;
+
+	m_AccessGlobalPaused = false;
+	m_AccessShieldWin = NULL;*/
+
 	_mouseLockRect.setEmpty();
 
 	_suppressScriptErrors = false;
@@ -276,7 +287,6 @@ BaseGame::~BaseGame() {
 	delete _videoPlayer;
 	delete _theoraPlayer;
 	delete _soundMgr;
-	//SAFE_DELETE(_keyboardState);
 
 	delete _renderer;
 	delete _musicSystem;
@@ -292,6 +302,7 @@ BaseGame::~BaseGame() {
 	_videoPlayer = nullptr;
 	_theoraPlayer = nullptr;
 	_soundMgr = nullptr;
+	//SAFE_DELETE(_keyboardState);
 
 	_renderer = nullptr;
 	_musicSystem = nullptr;
@@ -332,15 +343,15 @@ bool BaseGame::cleanup() {
 	_focusedWindow = nullptr; // ref only
 
 	delete _cursorNoninteractive;
-	delete _cursor;
-	delete _activeCursor;
 	_cursorNoninteractive = nullptr;
+	delete _cursor;
 	_cursor = nullptr;
+	delete _activeCursor;
 	_activeCursor = nullptr;
 
 	delete _scValue;
-	delete _sFX;
 	_scValue = nullptr;
+	delete _sFX;
 	_sFX = nullptr;
 
 	for (int32 i = 0; i < _scripts.getSize(); i++) {
@@ -586,6 +597,9 @@ bool BaseGame::initialize3() { // renderer is initialized
 	_posX = _renderer->getWidth() / 2;
 	_posY = _renderer->getHeight() / 2;
 	_renderer->initIndicator();
+
+	//if(m_AccessMgr) Game->m_AccessMgr->Initialize();
+
 	return STATUS_OK;
 }
 
@@ -670,6 +684,9 @@ bool BaseGame::initLoop() {
 	_musicSystem->updateMusicCrossfade();
 
 	_surfaceStorage->initLoop();
+
+	//if(m_AccessMgr) m_AccessMgr->InitLoop();
+
 	_fontStorage->initLoop();
 
 
@@ -700,7 +717,7 @@ bool BaseGame::initLoop() {
 
 	_focusedWindow = nullptr;
 	for (int32 i = _windows.getSize() - 1; i >= 0; i--) {
-		if (_windows[i]->isVisible()) {
+		if (_windows[i]->_visible) {
 			_focusedWindow = _windows[i];
 			break;
 		}
@@ -1212,7 +1229,6 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 			stack->pushNative(win, true);
 		} else {
 			delete win;
-			win = nullptr;
 			stack->pushNULL();
 		}
 		return STATUS_OK;
@@ -1799,7 +1815,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 
 		int fileNum = 0;
 		while (true) {
-			Common::sprintf_s(filename, "%s%03d.bmp", val->isNULL() ? getName() : val->getString(), fileNum);
+			Common::sprintf_s(filename, "%s%03d.bmp", val->isNULL() ? _name : val->getString(), fileNum);
 			if (!sfmFileExists(filename)) {
 				break;
 			}
@@ -2052,9 +2068,9 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	//////////////////////////////////////////////////////////////////////////
 	else if (strcmp(name, "AccOutputText") == 0) {
 		stack->correctParams(2);
-		/* const char *str = */	stack->pop()->getString();
-		/* int type = */ stack->pop()->getInt();
-		// do nothing
+		/* const char *str = */stack->pop()->getString();
+		/* int type = */stack->pop()->getInt();
+		//m_AccessMgr->Speak(Str, (TTTSType)Type);
 		stack->pushNULL();
 
 		return STATUS_OK;
@@ -2327,7 +2343,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 	else if (strcmp(name, "SetScreenTypeMode") == 0) {
 		stack->correctParams(2);
 		int type = stack->pop()->getInt();
-		stack->pop()->getInt(); //mode is unused
+		stack->pop()->getInt(); // mode is unused
 
 		_renderer->setWindowed(type);
 		stack->pushNULL();
@@ -2415,7 +2431,7 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 	//////////////////////////////////////////////////////////////////////////
@@ -2722,6 +2738,7 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 	// AccTTSEnabled
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "AccTTSEnabled") {
+		//m_ScValue->SetBool(m_AccessTTSEnabled);
 		_scValue->setBool(false);
 		return _scValue;
 	}
@@ -2730,6 +2747,7 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 	// AccTTSTalk
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "AccTTSTalk") {
+		//m_ScValue->SetBool(m_AccessTTSTalk);
 		_scValue->setBool(false);
 		return _scValue;
 	}
@@ -3262,8 +3280,8 @@ bool BaseGame::displayQuickMsg() {
 	}
 
 	// update
-	for (int32 i = 0; i < (int32)_quickMessages.getSize(); i++) {
-		if (_currentTime - _quickMessages[i]->getStartTime() >= QUICK_MSG_DURATION) {
+	for (int32 i = 0; i < _quickMessages.getSize(); i++) {
+		if (_currentTime - _quickMessages[i]->_startTime>= QUICK_MSG_DURATION) {
 			delete _quickMessages[i];
 			_quickMessages.removeAt(i);
 			i--;
@@ -3835,10 +3853,10 @@ bool BaseGame::displayWindows(bool inGame) {
 	bool res;
 
 	// did we lose focus? focus topmost window
-	if (_focusedWindow == nullptr || !_focusedWindow->isVisible() || _focusedWindow->isDisabled()) {
+	if (_focusedWindow == nullptr || !_focusedWindow->_visible || _focusedWindow->_disable) {
 		_focusedWindow = nullptr;
 		for (int32 i = _windows.getSize() - 1; i >= 0; i--) {
-			if (_windows[i]->isVisible() && !_windows[i]->isDisabled()) {
+			if (_windows[i]->_visible && !_windows[i]->_disable) {
 				_focusedWindow = _windows[i];
 				break;
 			}
@@ -3847,7 +3865,7 @@ bool BaseGame::displayWindows(bool inGame) {
 
 	// display all windows
 	for (int32 i = 0; i < _windows.getSize(); i++) {
-		if (_windows[i]->isVisible() && _windows[i]->getInGame() == inGame) {
+		if (_windows[i]->_visible && _windows[i]->_inGame == inGame) {
 
 			res = _windows[i]->display();
 			if (DID_FAIL(res)) {
@@ -3961,7 +3979,7 @@ bool BaseGame::focusWindow(UIWindow *window) {
 				_gameRef->_focusedWindow = window;
 			}
 
-			if (window->getMode() == WINDOW_NORMAL && prev != window && _gameRef->validObject(prev) && (prev->getMode() == WINDOW_EXCLUSIVE || prev->getMode() == WINDOW_SYSTEM_EXCLUSIVE)) {
+			if (window->_mode == WINDOW_NORMAL && prev != window && _gameRef->validObject(prev) && (prev->_mode == WINDOW_EXCLUSIVE || prev->_mode == WINDOW_SYSTEM_EXCLUSIVE)) {
 				return focusWindow(prev);
 			} else {
 				return STATUS_OK;
@@ -4124,8 +4142,8 @@ void BaseGame::setWindowTitle() {
 		} else {
 			warning("BaseGame::SetWindowTitle - Ignoring textencoding");
 			utf8Title = Utf8String(title);
-			/*          WideString wstr = StringUtil::AnsiToWide(Title);
-			            title = StringUtil::WideToUtf8(wstr);*/
+			/*WideString wstr = StringUtil::AnsiToWide(Title);
+			title = StringUtil::WideToUtf8(wstr);*/
 		}
 		warning("BaseGame::SetWindowTitle: Ignoring value: %s", utf8Title.c_str());
 	}
@@ -4180,10 +4198,12 @@ bool BaseGame::popViewport() {
 
 	if (_viewportSP >= 0 && _viewportSP < _viewportStack.getSize()) {
 		_renderer->setViewport(_viewportStack[_viewportSP]->getRect());
-	} else _renderer->setViewport(_renderer->_drawOffsetX,
-		                              _renderer->_drawOffsetY,
-		                              _renderer->getWidth() + _renderer->_drawOffsetX,
-		                              _renderer->getHeight() + _renderer->_drawOffsetY);
+	} else {
+		_renderer->setViewport(_renderer->_drawOffsetX,
+		                      _renderer->_drawOffsetY,
+		                      _renderer->getWidth() + _renderer->_drawOffsetX,
+		                      _renderer->getHeight() + _renderer->_drawOffsetY);
+	}
 
 	return STATUS_OK;
 }
@@ -4201,9 +4221,9 @@ bool BaseGame::getCurrentViewportRect(Rect32 *rect, bool *custom) const {
 			}
 		} else {
 			rect->setRect(_renderer->_drawOffsetX,
-						  _renderer->_drawOffsetY,
-						  _renderer->getWidth() + _renderer->_drawOffsetX,
-						  _renderer->getHeight() + _renderer->_drawOffsetY);
+			              _renderer->_drawOffsetY,
+			              _renderer->getWidth() + _renderer->_drawOffsetX,
+			              _renderer->getHeight() + _renderer->_drawOffsetY);
 			if (custom) {
 				*custom = false;
 			}
@@ -4619,7 +4639,7 @@ bool BaseGame::displayDebugInfo() {
 		_gameRef->_systemFont->drawText((byte *)str, 0, 130, _renderer->getWidth(), TAL_RIGHT);
 
 		if (_activeObject != nullptr) {
-			_systemFont->drawText((const byte *)_activeObject->getName(), 0, 150, _renderer->getWidth(), TAL_RIGHT);
+			_systemFont->drawText((const byte *)_activeObject->_name, 0, 150, _renderer->getWidth(), TAL_RIGHT);
 		}
 
 		Common::sprintf_s(str, "GfxMem: %dMB", _usedMem / (1024 * 1024));
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index a0128cd096c..bdc6639c201 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -75,15 +75,19 @@ struct FogParameters;
 
 class BaseGame: public BaseObject {
 public:
+
+
 	DECLARE_PERSISTENT(BaseGame, BaseObject)
 
+	virtual bool onScriptShutdown(ScScript *script);
+
 	virtual bool getLayerSize(int *LayerWidth, int *LayerHeight, Rect32 *viewport, bool *customViewport);
 #ifdef ENABLE_WME3D
 	virtual uint32 getAmbientLightColor();
 	virtual bool getFogParams(bool *fogEnabled, uint32 *fogColor, float *start, float *end);
 #endif
-
-	virtual bool onScriptShutdown(ScScript *script);
+	//virtual CBObject *GetNextAccessObject(CBObject *CurrObject);
+	//virtual CBObject *GetPrevAccessObject(CBObject *CurrObject);
 
 	virtual bool onActivate(bool activate, bool refreshMouse);
 	virtual bool onMouseLeftDown();
@@ -101,10 +105,8 @@ public:
 	bool isRightDoubleClick();
 
 	bool _autorunDisabled;
-
 	uint32 _lastMiniUpdate;
 	bool _miniUpdateEnabled;
-
 	virtual void miniUpdate();
 
 	void getMousePos(Point32 *Pos);
@@ -113,24 +115,32 @@ public:
 	bool _shuttingDown;
 
 	virtual bool displayDebugInfo();
+	bool _debugShowFPS;
 
-	void setShowFPS(bool enabled) { _debugShowFPS = enabled; }
-	bool getBilinearFiltering() { return _bilinearFiltering; }
-	bool getSuspendedRendering() const { return _suspendedRendering; }
+	bool _suspendedRendering;
+	int32 _soundBufferSizeSec;
 	virtual bool renderShadowGeometry();
 
 	TTextEncoding _textEncoding;
 	bool _textRTL;
 
+	BaseSprite *_loadingIcon;
+	int32 _loadingIconX;
+	int32 _loadingIconY;
+	int32 _loadingIconPersistent;
+
 	virtual bool resetContent();
 
 	void DEBUG_DumpClassRegistry();
 	bool setWaitCursor(const char *filename);
 
+	Common::String _localSaveDir;
+	// TODO: This can probably be removed completely:
+	bool _saveDirChecked;
+
 #ifdef ENABLE_WME3D
 	bool _supportsRealTimeShadows;
 	TShadowType _maxShadowType;
-
 	bool setMaxShadowType(TShadowType maxShadowType);
 	virtual TShadowType getMaxShadowType(BaseObject *object = nullptr);
 
@@ -138,27 +148,30 @@ public:
 	int32 _editorResolutionHeight;
 #endif
 
-	uint32 getSaveThumbWidth() const { return _thumbnailWidth; }
-	uint32 getSaveThumbHeight() const { return _thumbnailHeight; }
+	uint32 _thumbnailWidth;
+	uint32 _thumbnailHeight;
+
+	bool _reportTextureFormat;
+
+	void setEngineLogCallback(ENGINE_LOG_CALLBACK callback = nullptr, void *data = nullptr);
+	ENGINE_LOG_CALLBACK _engineLogCallback;
+	void *_engineLogCallbackData;
 
 	bool _editorMode;
 	void getOffset(int *offsetX, int *offsetY) const;
 	void setOffset(int32 offsetX, int32 offsetY);
 	int getSequence();
-
 	int32 _offsetY;
 	int32 _offsetX;
 	float _offsetPercentX;
 	float _offsetPercentY;
-
-	inline BaseObject *getMainObject() { return _mainObject; }
-	inline BaseFont *getSystemFont() { return _systemFont; }
-	inline BaseFont *getVideoFont() { return _videoFont; }
-
+	BaseObject *_mainObject;
 	bool initInput();
 	bool initLoop();
 	uint32 _currentTime;
 	uint32 _deltaTime;
+	BaseFont *_systemFont;
+	BaseFont *_videoFont;
 
 	// Init-functions:
 	bool initConfManSettings();
@@ -167,21 +180,15 @@ public:
 	bool initialize1();
 	bool initialize2();
 	bool initialize3();
+	//CBAccessMgr *m_AccessMgr;
 	BaseTransitionMgr *_transMgr;
 
-	// String Table
-	void expandStringByStringTable(char **str) const;
-	void expandStringByStringTable(Common::String &str) const;
-	char *getKeyFromStringTable(const char *str) const;
-
 	void LOG(bool res, const char *fmt, ...);
-
 	BaseRenderer *_renderer;
 #ifdef ENABLE_WME3D
 	BaseRenderer3D *_renderer3D;
 	bool _playing3DGame;
 #endif
-
 	BaseSoundMgr *_soundMgr;
 #if EXTENDED_DEBUGGER_ENABLED
 	DebuggableScEngine *_scEngine;
@@ -194,78 +201,101 @@ public:
 	BaseFontStorage *_fontStorage;
 	BaseGame(const Common::String &targetName);
 	~BaseGame() override;
-
+	void DEBUG_DebugDisable();
+	void DEBUG_DebugEnable(const char *filename = nullptr);
 	bool _debugDebugMode;
-
+	void *_debugLogFile;
 	int32 _sequence;
 	virtual bool loadFile(const char *filename);
 	virtual bool loadBuffer(char *buffer, bool complete = true);
-
+	BaseArray<BaseQuickMsg *> _quickMessages;
+	BaseArray<UIWindow *> _windows;
+	BaseArray<BaseViewport *> _viewportStack;
 	int32 _viewportSP;
+	bool _mouseLeftDown;
+	bool _mouseRightDown;
+	bool _mouseMidlleDown;
+	// String Table
+	void expandStringByStringTable(char **str) const;
+	void expandStringByStringTable(Common::String &str) const;
+	char *getKeyFromStringTable(const char *str) const;
+
+	BaseGameSettings *_settings;
 
+	BaseFader *_fader;
 	bool _suppressScriptErrors;
-	bool _mouseLeftDown; // TODO: Hide
+
+	bool invalidateDeviceObjects() override;
+	bool restoreDeviceObjects() override;
 
 	virtual bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name);
+
 	// scripting interface
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
+
 	// compatibility bits
 	bool _compatKillMethodThreads;
 
-	const char* getGameTargetName() const { return _targetName.c_str(); }
-	void setGameTargetName(const Common::String& targetName) { _targetName = targetName; }
+	// FPS stuff
+private:
+	uint32 _lastTime;
+	uint32 _fpsTime;
+	uint32 _framesRendered;
+
+public:
 	uint32 _surfaceGCCycleTime;
 	bool _smartCache; // RO
+	bool _videoSubtitles;
 	bool _subtitles; // RO
 
 	int32 _scheduledLoadSlot;
+	bool _loading;
+	bool _personalizedSave;
 
-	bool getIsLoading() const { return _loading; }
-
+	void setWindowTitle();
 	bool handleMouseWheel(int32 delta) override;
 	bool _quitting;
 	virtual bool getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *extMinor) const;
-
 	bool handleKeypress(Common::Event *event, bool printable = false) override;
 	virtual void handleKeyRelease(Common::Event *event);
+	//bool HandleAccessKey(bool Printable, DWORD CharCode, DWORD KeyData);
 	virtual bool handleCustomActionStart(BaseGameCustomAction action);
 	virtual bool handleCustomActionEnd(BaseGameCustomAction action);
-
+	int32 _freezeLevel;
 	bool unfreeze();
 	bool freeze(bool includingMusic = true);
 	bool focusWindow(UIWindow *window);
+	VideoPlayer *_videoPlayer;
+	VideoTheoraPlayer *_theoraPlayer;
 	bool _loadInProgress;
 	UIWindow *_focusedWindow;
 	bool _editorForceScripts;
 
 	static void invalidateValues(void *value, void *data);
-
 	bool loadSettings(const char *filename);
 
 	bool displayWindows(bool inGame = false);
+	// TODO: This should be expanded into a proper class eventually:
+	Common::String readRegistryString(const Common::String &key, const Common::String &initValue) const;
 	bool _useD3D;
 	virtual bool cleanup();
 	bool loadGame(uint32 slot);
 	bool loadGame(const char *filename);
 	bool saveGame(int32 slot, const char *desc, bool quickSave = false);
 	bool showCursor() override;
-
+	BaseSprite *_cursorNoninteractive;
 	BaseObject *_activeObject;
-
+	BaseKeyboardState *_keyboardState;
 	bool _interactive;
 	TGameState _state;
 	TGameState _origState;
 	bool _origInteractive;
-
-	const Timer *getTimer() const { return &_timerNormal; }
-	const Timer *getLiveTimer() const { return &_timerLive; }
-private:
 	Timer _timerNormal;
 	Timer _timerLive;
-public:
+
 	BaseObject *_capturedObject;
 	Point32 _mousePos;
 	bool validObject(BaseObject *object);
@@ -274,7 +304,29 @@ public:
 	void quickMessage(const char *text);
 	void quickMessageForm(char *fmt, ...);
 	bool displayQuickMsg();
+	uint32 _fps;
+
+	bool isVideoPlaying();
+	bool stopVideo();
+
+	BaseArray<BaseObject *> _regObjects;
 
+	// accessibility flags
+/*	bool m_AccessTTSEnabled;
+	bool m_AccessTTSTalk;
+	bool m_AccessTTSCaptions;
+	bool m_AccessTTSKeypress;
+	bool m_AccessKeyboardEnabled;
+	bool m_AccessKeyboardCursorSkip;
+	bool m_AccessKeyboardPause;
+
+	bool m_AccessGlobalPaused;
+
+	CUIWindow *m_AccessShieldWin;
+	HRESULT AccessPause();
+	HRESULT AccessUnpause();*/
+
+public:
 	virtual bool displayContent(bool update = true, bool displayAll = false);
 	virtual bool displayContentSimple();
 	bool _forceNonStreamedSounds;
@@ -288,92 +340,19 @@ public:
 	bool popViewport();
 	bool pushViewport(BaseViewport *Viewport);
 	bool setActiveObject(BaseObject *Obj);
+
 	BaseSprite *_lastCursor;
 	bool drawCursor(BaseSprite *Cursor);
 	bool storeSaveThumbnail();
 	void deleteSaveThumbnail();
 
 	SaveThumbHelper *_cachedThumbnail;
-	void addMem(int32 bytes);
-
-	bool stopVideo();
-protected:
-	BaseFont *_systemFont;
-	BaseFont *_videoFont;
-
-	BaseSprite *_loadingIcon;
-	int32 _loadingIconX;
-	int32 _loadingIconY;
-	int32 _loadingIconPersistent;
-
-	BaseFader *_fader;
 
-	int32 _freezeLevel;
-	VideoPlayer *_videoPlayer;
-	VideoTheoraPlayer *_theoraPlayer;
 private:
-	bool _debugShowFPS;
 	bool _bilinearFiltering;
 #ifdef ENABLE_WME3D
 	bool _force2dRenderer;
 #endif
-	void *_debugLogFile;
-	void DEBUG_DebugDisable();
-	void DEBUG_DebugEnable(const char *filename = nullptr);
-
-	BaseObject *_mainObject;
-
-	bool _mouseRightDown;
-	bool _mouseMidlleDown;
-
-	BaseGameSettings *_settings;
-
-	int32 _soundBufferSizeSec;
-
-	bool invalidateDeviceObjects() override;
-	bool restoreDeviceObjects() override;
-
-	// TODO: This can probably be removed completely:
-	bool _saveDirChecked;
-
-	Common::String _localSaveDir;
-	bool _loading;
-
-	bool _reportTextureFormat;
-
-	// FPS stuff
-	uint32 _lastTime;
-	uint32 _fpsTime;
-	uint32 _framesRendered;
-	Common::String _targetName;
-
-	void setEngineLogCallback(ENGINE_LOG_CALLBACK callback = nullptr, void *data = nullptr);
-	ENGINE_LOG_CALLBACK _engineLogCallback;
-	void *_engineLogCallbackData;
-
-	bool _videoSubtitles;
-
-	bool _personalizedSave;
-
-	uint32 _thumbnailWidth;
-	uint32 _thumbnailHeight;
-
-	void setWindowTitle();
-
-	bool _suspendedRendering;
-
-	BaseSprite *_cursorNoninteractive;
-	BaseKeyboardState *_keyboardState;
-
-	uint32 _fps;
-	BaseGameMusic *_musicSystem;
-
-	bool isVideoPlaying();
-
-	BaseArray<BaseQuickMsg *> _quickMessages;
-	BaseArray<UIWindow *> _windows;
-	BaseArray<BaseViewport *> _viewportStack;
-	BaseArray<BaseObject *> _regObjects;
 
 	AnsiString getDeviceType() const;
 
@@ -392,8 +371,6 @@ private:
 	bool isDoubleClick(int32 buttonIndex);
 	uint32 _usedMem;
 
-// TODO: This should be expanded into a proper class eventually:
-	Common::String readRegistryString(const Common::String &key, const Common::String &initValue) const;
 
 
 protected:
@@ -403,6 +380,14 @@ protected:
 	bool _cursorHidden;
 
 public:
+	BaseGameMusic *_musicSystem;
+	Common::String _targetName;
+
+	bool getBilinearFiltering() { return _bilinearFiltering; }
+	void addMem(int32 bytes);
+	const Timer *getTimer() const { return &_timerNormal; }
+	const Timer *getLiveTimer() const { return &_timerLive; }
+
 	void autoSaveOnExit();
 	PluginEvent &pluginEvents() { return _pluginEvents; }
 
diff --git a/engines/wintermute/base/base_game_music.cpp b/engines/wintermute/base/base_game_music.cpp
index efc48bbabd3..e60008ce685 100644
--- a/engines/wintermute/base/base_game_music.cpp
+++ b/engines/wintermute/base/base_game_music.cpp
@@ -352,10 +352,10 @@ bool BaseGameMusic::scCallMethod(ScScript *script, ScStack *stack, ScStack *this
 		if (channel < 0 || channel >= NUM_MUSIC_CHANNELS) {
 			stack->pushNULL();
 		} else {
-			if (!_music[channel] || !_music[channel]->getFilename()) {
+			if (!_music[channel] || _music[channel]->_soundFilename.empty()) {
 				stack->pushNULL();
 			} else {
-				stack->pushString(_music[channel]->getFilename());
+				stack->pushString(_music[channel]->_soundFilename.c_str());
 			}
 		}
 		return STATUS_OK;
diff --git a/engines/wintermute/base/base_keyboard_state.h b/engines/wintermute/base/base_keyboard_state.h
index f3e00e4652f..13baa250b6d 100644
--- a/engines/wintermute/base/base_keyboard_state.h
+++ b/engines/wintermute/base/base_keyboard_state.h
@@ -43,6 +43,13 @@ struct keyCodeMapping {
 
 class BaseKeyboardState : public BaseScriptable {
 public:
+	uint32 _currentKeyData;
+	uint32 _currentCharCode;
+	bool _currentPrintable;
+
+	bool _currentShift;
+	bool _currentAlt;
+	bool _currentControl;
 	DECLARE_PERSISTENT(BaseKeyboardState, BaseScriptable)
 	BaseKeyboardState(BaseGame *inGame);
 	~BaseKeyboardState() override;
@@ -64,14 +71,6 @@ public:
 private:
 	void init();
 
-	bool _currentPrintable;
-	uint32 _currentKeyData;
-	uint32 _currentCharCode;
-
-	bool _currentShift;
-	bool _currentAlt;
-	bool _currentControl;
-
 	uint8 *_keyStates;
 
 	const keyCodeMapping *_mapping;
diff --git a/engines/wintermute/base/base_named_object.h b/engines/wintermute/base/base_named_object.h
index 669bea5e346..21681bd397a 100644
--- a/engines/wintermute/base/base_named_object.h
+++ b/engines/wintermute/base/base_named_object.h
@@ -35,14 +35,13 @@ namespace Wintermute {
 
 class BaseNamedObject : public BaseClass {
 public:
-	char *_name;
 
 	BaseNamedObject(BaseGame *inGame);
 	BaseNamedObject();
 	~BaseNamedObject() override;
 	BaseNamedObject(TDynamicConstructor, TDynamicConstructor);
 
-	const char *getName() const { return _name; }
+	char *_name;
 	void setName(const char *name);
 };
 
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index 17bc364648f..436b40ec0fa 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -580,7 +580,7 @@ bool BaseObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 		if (!_sFX) {
 			stack->pushNULL();
 		} else {
-			stack->pushString(_sFX->getFilename());
+			stack->pushString(_sFX->_soundFilename.c_str());
 		}
 		return STATUS_OK;
 	}
diff --git a/engines/wintermute/base/base_parser.h b/engines/wintermute/base/base_parser.h
index 3918dd38e37..ace64c95935 100644
--- a/engines/wintermute/base/base_parser.h
+++ b/engines/wintermute/base/base_parser.h
@@ -64,10 +64,6 @@ public:
 
 public:
 	int32 scanStr(const char *in, const char *format, ...);
-	int32 getCommand(char **buf, const TokenDesc *tokens, char **params);
-	BaseParser();
-	virtual ~BaseParser();
-private:
 	char *getLastOffender();
 	void skipToken(char **buf, char *tok, char *msg = nullptr);
 	int32 getTokenInt(char **buf);
@@ -76,9 +72,12 @@ private:
 	char *getAssignmentText(char **buf);
 	char *getSubText(char **buf, char open, char close);
 	void skipCharacters(char **buf, const char *toSkip);
+	int32 getCommand(char **buf, const TokenDesc *tokens, char **params);
 	int32 getObject(char **buf, const TokenDesc *tokens, char **name, char **data);
 	int32 _parserLine = 0;
 	char _lastOffender[255];
+	BaseParser();
+	virtual ~BaseParser();
 	char *_whiteSpace;
 };
 
diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index 33dc17ea7ce..f12f9c5586f 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -92,7 +92,7 @@ BasePersistenceManager::BasePersistenceManager(const Common::String &savePrefix,
 	if (savePrefix != "") {
 		_savePrefix = savePrefix;
 	} else if (_gameRef) {
-		_savePrefix = _gameRef->getGameTargetName();
+		_savePrefix = _gameRef->_targetName.c_str();
 	} else {
 		_savePrefix = "wmesav";
 	}
@@ -256,7 +256,7 @@ bool BasePersistenceManager::initSave(const Common::String &desc) {
 
 		// new in ver 2
 		putDWORD((uint32)DCGF_VER_BUILD);
-		putString(_gameRef->getName());
+		putString(_gameRef->_name);
 
 		// thumbnail data size
 		bool thumbnailOK = false;
@@ -387,7 +387,7 @@ bool BasePersistenceManager::initLoad(const Common::String &filename) {
 	}
 	_saving = false;
 
-	if (_savedName == "" || scumm_stricmp(_savedName.c_str(), _gameRef->getName()) != 0) {
+	if (_savedName == "" || scumm_stricmp(_savedName.c_str(), _gameRef->_name) != 0) {
 		debugC(kWintermuteDebugSaveGame, "ERROR: Saved game name doesn't match current game");
 		cleanup();
 		return STATUS_FAILED;
diff --git a/engines/wintermute/base/base_quick_msg.cpp b/engines/wintermute/base/base_quick_msg.cpp
index a2d7a74e63b..b323220722a 100644
--- a/engines/wintermute/base/base_quick_msg.cpp
+++ b/engines/wintermute/base/base_quick_msg.cpp
@@ -46,9 +46,4 @@ const char *BaseQuickMsg::getText() const {
 	return _text.c_str();
 }
 
-//////////////////////////////////////////////////////////////////////////
-uint32 BaseQuickMsg::getStartTime() const {
-	return _startTime;
-}
-
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_quick_msg.h b/engines/wintermute/base/base_quick_msg.h
index 02f7177f841..5dbf9a6c27e 100644
--- a/engines/wintermute/base/base_quick_msg.h
+++ b/engines/wintermute/base/base_quick_msg.h
@@ -35,12 +35,10 @@ namespace Wintermute {
 class BaseQuickMsg {
 public:
 	const char *getText() const;
-	uint32 getStartTime() const;
+	uint32 _startTime;
+	Common::String _text;
 	BaseQuickMsg(uint32 startTime, const char *text);
 	virtual ~BaseQuickMsg();
-private:
-	Common::String _text;
-	uint32 _startTime;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index 19f2d6e143a..4dc4a63c5ab 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -344,7 +344,7 @@ ScValue *BaseRegion::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 
@@ -404,7 +404,7 @@ bool BaseRegion::saveAsText(BaseDynamicBuffer *buffer, int indent, const char *n
 		buffer->putTextIndent(indent, "%s {\n", nameOverride);
 	}
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 	buffer->putTextIndent(indent + 2, "ACTIVE=%s\n", _active ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "EDITOR_SELECTED_POINT=%d\n", _editorSelectedPoint);
@@ -535,6 +535,6 @@ bool BaseRegion::mimic(BaseRegion *region, float scale, int x, int y) {
 }
 
 Common::String BaseRegion::debuggerToString() const {
-	return Common::String::format("%p: Region \"%s\": Rect (top, right, bottom, left): (%d, %d, %d, %d), active: %d ", (const void *)this, getName(), _rect.top, _rect.right, _rect.bottom, _rect.left, _active);
+	return Common::String::format("%p: Region \"%s\": Rect (top, right, bottom, left): (%d, %d, %d, %d), active: %d ", (const void *)this, _name, _rect.top, _rect.right, _rect.bottom, _rect.left, _active);
 }
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_region.h b/engines/wintermute/base/base_region.h
index 8409e1ed56e..838c9d7ac73 100644
--- a/engines/wintermute/base/base_region.h
+++ b/engines/wintermute/base/base_region.h
@@ -35,6 +35,9 @@ namespace Wintermute {
 
 class BaseRegion : public BaseObject {
 public:
+	float _lastMimicScale;
+	int32 _lastMimicX;
+	int32 _lastMimicY;
 	void cleanup();
 	bool mimic(BaseRegion *region, float scale = 100.0f, int x = 0, int y = 0);
 	bool getBoundingRect(Rect32 *rect);
@@ -59,11 +62,6 @@ public:
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
 	Common::String debuggerToString() const override;
-
-private:
-	float _lastMimicScale;
-	int32 _lastMimicX;
-	int32 _lastMimicY;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_script_holder.cpp b/engines/wintermute/base/base_script_holder.cpp
index 1790e5bd26c..606b27a0e80 100644
--- a/engines/wintermute/base/base_script_holder.cpp
+++ b/engines/wintermute/base/base_script_holder.cpp
@@ -233,7 +233,7 @@ ScValue *BaseScriptHolder::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 
@@ -281,7 +281,7 @@ bool BaseScriptHolder::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferCharPtr(TMEMBER(_filename));
 	persistMgr->transferBool(TMEMBER(_freezable));
 	if (persistMgr->getIsSaving()) {
-		const char *name = getName();
+		const char *name = _name;
 		persistMgr->transferConstChar(TMEMBER(name));
 	} else {
 		char *name;
@@ -300,7 +300,7 @@ bool BaseScriptHolder::addScript(const char *filename) {
 	for (int32 i = 0; i < _scripts.getSize(); i++) {
 		if (scumm_stricmp(_scripts[i]->_filename, filename) == 0) {
 			if (_scripts[i]->_state != SCRIPT_FINISHED) {
-				BaseEngine::LOG(0, "BaseScriptHolder::AddScript - trying to add script '%s' multiple times (obj: '%s')", filename, getName());
+				BaseEngine::LOG(0, "BaseScriptHolder::AddScript - trying to add script '%s' multiple times (obj: '%s')", filename, _name);
 				return STATUS_OK;
 			}
 		}
@@ -483,9 +483,9 @@ ScScript *BaseScriptHolder::invokeMethodThread(const char *methodName) {
 //////////////////////////////////////////////////////////////////////////
 void BaseScriptHolder::scDebuggerDesc(char *buf, int bufSize) {
 	Common::strcpy_s(buf, bufSize, scToString());
-	if (getName() && strcmp(getName(), "<unnamed>") != 0) {
+	if (_name && strcmp(_name, "<unnamed>") != 0) {
 		Common::strcat_s(buf, bufSize, "  Name: ");
-		Common::strcat_s(buf, bufSize, getName());
+		Common::strcat_s(buf, bufSize, _name);
 	}
 	if (_filename) {
 		Common::strcat_s(buf, bufSize, "  File: ");
diff --git a/engines/wintermute/base/base_script_holder.h b/engines/wintermute/base/base_script_holder.h
index 054272fd31b..1e401ac6d9b 100644
--- a/engines/wintermute/base/base_script_holder.h
+++ b/engines/wintermute/base/base_script_holder.h
@@ -40,6 +40,7 @@ public:
 
 	BaseScriptHolder(BaseGame *inGame);
 	~BaseScriptHolder() override;
+
 	ScScript *invokeMethodThread(const char *methodName) override;
 	virtual void makeFreezable(bool freezable);
 	bool canHandleEvent(const char *eventName) const;
@@ -53,19 +54,20 @@ public:
 	void setFilename(const char *filename);
 	const char *getFilename() { return _filename; }
 	bool parseProperty(char *buffer, bool complete = true);
+
+	char *_filename;
 	bool _freezable;
 	bool _ready;
-
 	BaseArray<ScScript *> _scripts;
+
 	// scripting interface
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
 	void scDebuggerDesc(char *buf, int bufSize) override;
+
 	// IWmeObject
-private:
-	char *_filename;
 public:
 	virtual bool sendEvent(const char *eventName);
 };
diff --git a/engines/wintermute/base/base_scriptable.cpp b/engines/wintermute/base/base_scriptable.cpp
index b8ca42338da..a362659800d 100644
--- a/engines/wintermute/base/base_scriptable.cpp
+++ b/engines/wintermute/base/base_scriptable.cpp
@@ -53,8 +53,8 @@ BaseScriptable::BaseScriptable(BaseGame *inGame, bool noValue, bool persistable)
 BaseScriptable::~BaseScriptable() {
 	//if (_refCount>0) BaseEngine::LOG(0, "Warning: Destroying object, _refCount=%d", _refCount);
 	delete _scValue;
-	delete _scProp;
 	_scValue = nullptr;
+	delete _scProp;
 	_scProp = nullptr;
 }
 
@@ -188,7 +188,7 @@ ScScript *BaseScriptable::invokeMethodThread(const char *methodName) {
 }
 
 Common::String BaseScriptable::debuggerToString() const {
-	return Common::String::format("%p: BaseScriptable %s", (const void *)this, getName());
+	return Common::String::format("%p: BaseScriptable %s", (const void *)this, _name);
 }
 
 
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index bdc060b20cc..f30e63ceb03 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -482,7 +482,7 @@ bool BaseSprite::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, float
 //////////////////////////////////////////////////////////////////////////
 bool BaseSprite::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "SPRITE {\n");
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "LOOPING=%s\n", _looping ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "CONTINUOUS=%s\n", _continuous ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "PRECISE=%s\n", _precise ? "TRUE" : "FALSE");
@@ -818,12 +818,14 @@ const char *BaseSprite::scToString() {
 //////////////////////////////////////////////////////////////////////////
 bool BaseSprite::killAllSounds() {
 	for (int32 i = 0; i < _frames.getSize(); i++) {
-		_frames[i]->stopSound();
+		if (_frames[i]->_sound) {
+			_frames[i]->_sound->stop();
+		}
 	}
 	return STATUS_OK;
 }
 
 Common::String BaseSprite::debuggerToString() const {
-	return Common::String::format("%p: Sprite \"%s\"", (const void *)this, getName());
+	return Common::String::format("%p: Sprite \"%s\"", (const void *)this, _name);
 }
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_sprite.h b/engines/wintermute/base/base_sprite.h
index b6e2adcea70..79f937015a9 100644
--- a/engines/wintermute/base/base_sprite.h
+++ b/engines/wintermute/base/base_sprite.h
@@ -39,21 +39,36 @@ class BaseSurface;
 class BaseObject;
 class BaseSprite: public BaseScriptHolder {
 public:
+	bool killAllSounds();
 	BaseSurface *getSurface();
+	char *_editorBgFile;
+	int32 _editorBgOffsetX;
+	int32 _editorBgOffsetY;
+	int32 _editorBgAlpha;
+	bool _streamed;
+	bool _streamedKeepLoaded;
 	void cleanup();
 	void setDefaults();
+	bool _precise;
 	DECLARE_PERSISTENT(BaseSprite, BaseScriptHolder)
 
+	bool _editorAllFrames;
 	bool getBoundingRect(Rect32 *rect, int x, int y, float scaleX = Graphics::kDefaultZoomX, float scaleY = Graphics::kDefaultZoomY);
 	int32 _moveY;
 	int32 _moveX;
 	bool display(int x, int y, BaseObject *registerOwner = nullptr, float zoomX = Graphics::kDefaultZoomX, float zoomY = Graphics::kDefaultZoomY, uint32 alpha = Graphics::kDefaultRgbaMod, float rotate = Graphics::kDefaultAngle, Graphics::TSpriteBlendMode blendMode = Graphics::BLEND_NORMAL);
 	bool getCurrentFrame(float zoomX = Graphics::kDefaultZoomX, float zoomY = Graphics::kDefaultZoomY);
+	bool _canBreak;
+	bool _editorMuted;
+	bool _continuous;
 	void reset();
+	BaseObject *_owner;
 	bool isChanged();
+	bool _paused;
 	bool isFinished();
 	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);
+	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;
 	int32 _currentFrame;
@@ -70,23 +85,8 @@ public:
 	const char *scToString() override;
 	Common::String debuggerToString() const override;
 private:
-	BaseObject *_owner;
-	bool _canBreak;
 	bool _changed;
-	bool _editorAllFrames;
-	char *_editorBgFile;
-	int32 _editorBgOffsetX;
-	int32 _editorBgOffsetY;
-	int32 _editorBgAlpha;
-	bool _editorMuted;
 	bool _finished;
-	bool _continuous;
-	uint32 _lastFrameTime;
-	bool _precise;
-	bool _paused;
-	bool _streamed;
-	bool _streamedKeepLoaded;
-	bool killAllSounds();
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_string_table.h b/engines/wintermute/base/base_string_table.h
index 5200f694a0a..adab3210f61 100644
--- a/engines/wintermute/base/base_string_table.h
+++ b/engines/wintermute/base/base_string_table.h
@@ -45,10 +45,10 @@ public:
 	bool addString(const char *key, const char *val, bool reportDuplicities = true);
 	BaseStringTable(BaseGame *inGame);
 	~BaseStringTable() override;
+	Common::HashMap<Common::String, Common::String> _strings;
 	char *getKey(const char *str) const;
 	bool persist(BasePersistenceManager *persistMgr) override;
 private:
-	Common::HashMap<Common::String, Common::String> _strings;
 	Common::Array<Common::String> _filenames;
 	typedef Common::HashMap<Common::String, Common::String>::const_iterator StringsIter;
 	void replaceExpand(char *key, char *newStr, size_t newStrSize) const;
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index 671c0a35b52..9eeb960d67e 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -247,12 +247,12 @@ bool BaseSubFrame::draw(int x, int y, BaseObject *registerOwner, float zoomX, fl
 
 	if (registerOwner != nullptr && !_decoration) {
 		if (zoomX == Graphics::kDefaultZoomX && zoomY == Graphics::kDefaultZoomY) {
-			BaseEngine::getRenderer()->addRectToList(new BaseActiveRect(_gameRef,  registerOwner, this, x - _hotspotX + getRect().left, y  - _hotspotY + getRect().top, getRect().right - getRect().left, getRect().bottom - getRect().top, zoomX, zoomY, precise));
+			BaseEngine::getRenderer()->_rectList.add(new BaseActiveRect(_gameRef,  registerOwner, this, x - _hotspotX + getRect().left, y  - _hotspotY + getRect().top, getRect().right - getRect().left, getRect().bottom - getRect().top, zoomX, zoomY, precise));
 		} else {
-			BaseEngine::getRenderer()->addRectToList(new BaseActiveRect(_gameRef,  registerOwner, this, (int)(x - (_hotspotX + getRect().left) * (zoomX / 100)), (int)(y - (_hotspotY + getRect().top) * (zoomY / 100)), (int)((getRect().right - getRect().left) * (zoomX / 100)), (int)((getRect().bottom - getRect().top) * (zoomY / 100)), zoomX, zoomY, precise));
+			BaseEngine::getRenderer()->_rectList.add(new BaseActiveRect(_gameRef,  registerOwner, this, (int)(x - (_hotspotX + getRect().left) * (zoomX / 100)), (int)(y - (_hotspotY + getRect().top) * (zoomY / 100)), (int)((getRect().right - getRect().left) * (zoomX / 100)), (int)((getRect().bottom - getRect().top) * (zoomY / 100)), zoomX, zoomY, precise));
 		}
 	}
-	if (_gameRef->getSuspendedRendering()) {
+	if (_gameRef->_suspendedRendering) {
 		return STATUS_OK;
 	}
 
@@ -774,7 +774,7 @@ int32 BaseSubFrame::getHeight() {
 }
 
 Common::String BaseSubFrame::debuggerToString() const {
-	return Common::String::format("%p: BaseSubFrame \"%s\" - Mirror:(%d, %d), Hotspot:(%d, %d), ", (const void *)this, getName(), _mirrorX, _mirrorY, _hotspotX, _hotspotY);
+	return Common::String::format("%p: BaseSubFrame \"%s\" - Mirror:(%d, %d), Hotspot:(%d, %d), ", (const void *)this, _name, _mirrorX, _mirrorY, _hotspotX, _hotspotY);
 }
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_transition_manager.h b/engines/wintermute/base/base_transition_manager.h
index a21961f3986..196e577698d 100644
--- a/engines/wintermute/base/base_transition_manager.h
+++ b/engines/wintermute/base/base_transition_manager.h
@@ -45,7 +45,6 @@ public:
 	BaseTransitionMgr(BaseGame *inGame);
 	~BaseTransitionMgr() override;
 	TTransitionType _type;
-
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/font/base_font.cpp b/engines/wintermute/base/font/base_font.cpp
index 2884ca30f9c..70ba5ac1bd3 100644
--- a/engines/wintermute/base/font/base_font.cpp
+++ b/engines/wintermute/base/font/base_font.cpp
@@ -68,7 +68,7 @@ int BaseFont::getTextWidth(const byte *text, int maxLength) {
 
 
 //////////////////////////////////////////////////////////////////////////
-int BaseFont::getLetterHeight() {
+int32 BaseFont::getLetterHeight() {
 	return 0;
 }
 
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index e2fab8b621b..10e9794c160 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -62,8 +62,8 @@ BaseFontBitmap::BaseFontBitmap(BaseGame *inGame) : BaseFont(inGame) {
 //////////////////////////////////////////////////////////////////////
 BaseFontBitmap::~BaseFontBitmap() {
 	delete _subframe;
-	delete _sprite;
 	_subframe = nullptr;
+	delete _sprite;
 	_sprite = nullptr;
 }
 
@@ -264,7 +264,7 @@ void BaseFontBitmap::drawChar(byte c, int x, int y) {
 	bool handled = false;
 	if (_sprite) {
 		_sprite->getCurrentFrame();
-		if (_sprite->_currentFrame >= 0 && _sprite->_currentFrame < (int32)_sprite->_frames.getSize() && _sprite->_frames[_sprite->_currentFrame]) {
+		if (_sprite->_currentFrame >= 0 && _sprite->_currentFrame < _sprite->_frames.getSize() && _sprite->_frames[_sprite->_currentFrame]) {
 			if (_sprite->_frames[_sprite->_currentFrame]->_subframes.getSize() > 0) {
 				_sprite->_frames[_sprite->_currentFrame]->_subframes[0]->_surface->displayTrans(x, y, rect);
 			}
@@ -623,7 +623,7 @@ bool BaseFontBitmap::getWidths() {
 }
 
 //////////////////////////////////////////////////////////////////////////
-int BaseFontBitmap::getLetterHeight() {
+int32 BaseFontBitmap::getLetterHeight() {
 	return _tileHeight;
 }
 
diff --git a/engines/wintermute/base/font/base_font_bitmap.h b/engines/wintermute/base/font/base_font_bitmap.h
index 6ff6495212b..5e9bce6ef19 100644
--- a/engines/wintermute/base/font/base_font_bitmap.h
+++ b/engines/wintermute/base/font/base_font_bitmap.h
@@ -46,7 +46,6 @@ public:
 	BaseFontBitmap(BaseGame *inGame);
 	~BaseFontBitmap() override;
 
-private:
 	bool getWidths();
 	BaseSprite *_sprite;
 	int32 _widthsFrame;
@@ -58,6 +57,7 @@ private:
 	BaseSubFrame *_subframe;
 	bool _wholeCell;
 
+private:
 	int getCharWidth(byte index);
 	void drawChar(byte c, int x, int y);
 
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index be8075ba8dd..771fec964f4 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -281,8 +281,8 @@ BaseSurface *BaseFontTT::renderTextToTexture(const WideString &text, int width,
 
 
 //////////////////////////////////////////////////////////////////////////
-int BaseFontTT::getLetterHeight() {
-	return (int)getLineHeight();
+int32 BaseFontTT::getLetterHeight() {
+	return (int32)_lineHeight;
 }
 
 
@@ -603,7 +603,7 @@ void BaseFontTT::measureText(const WideString &text, int maxWidth, int maxHeight
 
 		//WrapText(text, maxWidth, maxHeight, lines);
 
-		textHeight = (int)(lines.size() * getLineHeight());
+		textHeight = (int)(lines.size() * _lineHeight);
 	} else {
 		textWidth = _font->getStringWidth(text);
 		textHeight = _fontHeight;
diff --git a/engines/wintermute/base/font/base_font_truetype.h b/engines/wintermute/base/font/base_font_truetype.h
index 9de1a110dcd..b3a3df9938b 100644
--- a/engines/wintermute/base/font/base_font_truetype.h
+++ b/engines/wintermute/base/font/base_font_truetype.h
@@ -101,15 +101,11 @@ public:
 	int getTextWidth(const byte *text, int maxLength = -1) override;
 	int getTextHeight(const byte *text, int width) override;
 	void drawText(const byte *text, int x, int y, int width, TTextAlign align = TAL_LEFT, int max_height = -1, int maxLength = -1) override;
-	int getLetterHeight() override;
+	int32 getLetterHeight() override;
 
 	bool loadBuffer(char *buffer);
 	bool loadFile(const Common::String &filename);
 
-	float getLineHeight() const {
-		return _lineHeight;
-	}
-
 	void afterLoad() override;
 	void initLoop() override;
 
diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp
index cf436e2cec4..f35f334a7fc 100644
--- a/engines/wintermute/base/gfx/base_renderer.cpp
+++ b/engines/wintermute/base/gfx/base_renderer.cpp
@@ -340,10 +340,6 @@ bool BaseRenderer::pointInViewport(Point32 *p) {
 	return true;
 }
 
-void BaseRenderer::addRectToList(BaseActiveRect *rect) {
-	_rectList.add(rect);
-}
-
 //////////////////////////////////////////////////////////////////////////
 bool BaseRenderer::displayIndicator() {
 	if (!_indicatorDisplay || !_indicatorProgress) {
diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h
index 3d171a4edaf..f853b836f08 100644
--- a/engines/wintermute/base/gfx/base_renderer.h
+++ b/engines/wintermute/base/gfx/base_renderer.h
@@ -164,6 +164,9 @@ public:
 		return STATUS_OK;
 	};
 	bool pointInViewport(Point32 *P);
+	uint32 _forceAlphaColor;
+	uint32 _window;
+	uint32 _clipperWindow;
 	bool _active;
 	bool _ready;
 
@@ -171,10 +174,6 @@ public:
 	bool isWindowed() const { return _windowed; }
 	int32 getBPP() const { return _bPP; }
 
-	uint32 _window;
-	uint32 _forceAlphaColor;
-
-	void addRectToList(BaseActiveRect *rect);
 
 	// Indicator & Save/Load-related functions
 	void initIndicator();
@@ -190,13 +189,7 @@ public:
 
 	int32 getWidth() const { return _width; }
 	int32 getHeight() const { return _height; }
-protected:
-	int32 _height;
-	int32 _width;
-
 	bool _windowed;
-	int32 _bPP;
-
 	Common::String _loadImageName;
 	Common::String _saveImageName;
 	int32 _saveImageX;
@@ -216,13 +209,14 @@ protected:
 	bool _indicatorDisplay;
 	int32 _indicatorProgress;
 
-	uint32 _clipperWindow;
-
 	Rect32 _windowRect;
 	Rect32 _viewportRect;
 	Rect32 _screenRect;
 	Rect32 _monitorRect;
-private:
+	int32 _bPP;
+	int32 _height;
+	int32 _width;
+
 	BaseArray<BaseActiveRect *> _rectList;
 	bool displaySaveloadImage();
 	bool displaySaveloadRect();
diff --git a/engines/wintermute/base/gfx/base_surface.h b/engines/wintermute/base/gfx/base_surface.h
index 84659695740..5a76d0f4447 100644
--- a/engines/wintermute/base/gfx/base_surface.h
+++ b/engines/wintermute/base/gfx/base_surface.h
@@ -39,9 +39,15 @@ class BaseSurface: public BaseClass {
 public:
 	virtual bool invalidate();
 	virtual bool prepareToDraw();
+	bool _ckDefault;
+	byte _ckRed;
+	byte _ckGreen;
+	byte _ckBlue;
+
 	uint32 _lastUsedTime;
 	bool _valid;
 	int32 _lifeTime;
+	bool _keepLoaded;
 
 	BaseSurface(BaseGame *inGame);
 	~BaseSurface() override;
@@ -82,12 +88,7 @@ public:
 	//void SetWidth(int Width) { _width = Width;    }
 	//void SetHeight(int Height){ _height = Height; }
 protected:
-	bool _ckDefault;
-	byte _ckRed;
-	byte _ckGreen;
-	byte _ckBlue;
 
-	bool _keepLoaded;
 	Common::String _filename;
 	int32 _height;
 	int32 _width;
diff --git a/engines/wintermute/base/gfx/xframe_node.cpp b/engines/wintermute/base/gfx/xframe_node.cpp
index c32fbaf0630..2ee45cb84c4 100644
--- a/engines/wintermute/base/gfx/xframe_node.cpp
+++ b/engines/wintermute/base/gfx/xframe_node.cpp
@@ -222,7 +222,7 @@ bool FrameNode::findBones(FrameNode *rootFrame) {
 
 //////////////////////////////////////////////////////////////////////////
 FrameNode *FrameNode::findFrame(const char *frameName) {
-	if (getName() && strcmp(getName(), frameName) == 0) {
+	if (_name && strcmp(_name, frameName) == 0) {
 		return this;
 	} else {
 		for (int32 i = 0; i < _frames.getSize(); i++) {
diff --git a/engines/wintermute/base/gfx/xmesh.cpp b/engines/wintermute/base/gfx/xmesh.cpp
index cf08069fd4b..1bf462f76ef 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -310,7 +310,7 @@ bool XMesh::pickPoly(DXVector3 *pickRayOrig, DXVector3 *pickRayDir) {
 ////////////////////////////////////////////////////////////////////////////
 bool XMesh::setMaterialSprite(const Common::String &matName, BaseSprite *sprite) {
 	for (int32 i = 0; i < _materials.getSize(); i++) {
-		if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(),  matName.c_str()) == 0) {
+		if (_materials[i]->_name && scumm_stricmp(_materials[i]->_name,  matName.c_str()) == 0) {
 			_materials[i]->setSprite(sprite);
 		}
 	}
@@ -320,7 +320,7 @@ bool XMesh::setMaterialSprite(const Common::String &matName, BaseSprite *sprite)
 //////////////////////////////////////////////////////////////////////////
 bool XMesh::setMaterialTheora(const Common::String &matName, VideoTheoraPlayer *theora) {
 	for (int32 i = 0; i < _materials.getSize(); i++) {
-		if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
+		if (_materials[i]->_name && scumm_stricmp(_materials[i]->_name, matName.c_str()) == 0) {
 			_materials[i]->setTheora(theora);
 		}
 	}
@@ -330,7 +330,7 @@ bool XMesh::setMaterialTheora(const Common::String &matName, VideoTheoraPlayer *
 //////////////////////////////////////////////////////////////////////////
 bool XMesh::setMaterialEffect(const Common::String &matName, Effect3D *effect, Effect3DParams *params) {
 	for (int32 i = 0; i < _materials.getSize(); i++) {
-		if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
+		if (_materials[i]->_name && scumm_stricmp(_materials[i]->_name, matName.c_str()) == 0) {
 			_materials[i]->setEffect(effect, params);
 		}
 	}
@@ -340,7 +340,7 @@ bool XMesh::setMaterialEffect(const Common::String &matName, Effect3D *effect, E
 //////////////////////////////////////////////////////////////////////////
 bool XMesh::removeMaterialEffect(const Common::String &matName) {
 	for (int32 i = 0; i < _materials.getSize(); i++) {
-		if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
+		if (_materials[i]->_name && scumm_stricmp(_materials[i]->_name, matName.c_str()) == 0) {
 			_materials[i]->setEffect(nullptr, nullptr);
 		}
 	}
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index ac7d089e607..752f61b9ccb 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -407,7 +407,7 @@ PartForce *PartEmitter::addForceByName(const Common::String &name) {
 	PartForce *force = nullptr;
 
 	for (int32 i = 0; i < _forces.getSize(); i++) {
-		if (scumm_stricmp(name.c_str(), _forces[i]->getName()) == 0) {
+		if (scumm_stricmp(name.c_str(), _forces[i]->_name) == 0) {
 			force = _forces[i];
 			break;
 		}
@@ -445,7 +445,7 @@ bool PartEmitter::addForce(const Common::String &name, PartForce::TForceType typ
 //////////////////////////////////////////////////////////////////////////
 bool PartEmitter::removeForce(const Common::String &name) {
 	for (int32 i = 0; i < _forces.getSize(); i++) {
-		if (scumm_stricmp(name.c_str(), _forces[i]->getName()) == 0) {
+		if (scumm_stricmp(name.c_str(), _forces[i]->_name) == 0) {
 			delete _forces[i];
 			_forces.removeAt(i);
 			return STATUS_OK;
diff --git a/engines/wintermute/base/particles/part_emitter.h b/engines/wintermute/base/particles/part_emitter.h
index 9d99e0e92e7..1288e609b40 100644
--- a/engines/wintermute/base/particles/part_emitter.h
+++ b/engines/wintermute/base/particles/part_emitter.h
@@ -42,33 +42,6 @@ public:
 	PartEmitter(BaseGame *inGame, BaseScriptHolder *Owner);
 	~PartEmitter() override;
 
-	int32 _fadeOutTime;
-
-	bool start();
-
-	bool update() override;
-	bool display() override { return display(nullptr); } // To avoid shadowing the inherited display-function.
-	bool display(BaseRegion *region);
-
-	bool sortParticlesByZ();
-	bool addSprite(const char *filename);
-	bool removeSprite(const char *filename);
-	bool setBorder(int x, int y, int width, int height);
-	bool setBorderThickness(int thicknessLeft, int thicknessRight, int thicknessTop, int thicknessBottom);
-
-	bool addForce(const Common::String &name, PartForce::TForceType type, int posX, int posY, float angle, float strength);
-	bool removeForce(const Common::String &name);
-
-	BaseArray<PartForce *> _forces;
-
-	// scripting interface
-	ScValue *scGetProperty(const Common::String &name) override;
-	bool scSetProperty(const char *name, ScValue *value) override;
-	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	const char *scToString() override;
-
-
-private:
 	int32 _width;
 	int32 _height;
 
@@ -115,6 +88,7 @@ private:
 	int32 _borderThicknessBottom;
 
 	int32 _fadeInTime;
+	int32 _fadeOutTime;
 
 	int32 _alpha1;
 	int32 _alpha2;
@@ -125,6 +99,30 @@ private:
 	char *_emitEvent;
 	BaseScriptHolder *_owner;
 
+	bool start();
+
+	bool update() override;
+	bool display() override { return display(nullptr); } // To avoid shadowing the inherited display-function.
+	bool display(BaseRegion *region);
+
+	bool sortParticlesByZ();
+	bool addSprite(const char *filename);
+	bool removeSprite(const char *filename);
+	bool setBorder(int x, int y, int width, int height);
+	bool setBorderThickness(int thicknessLeft, int thicknessRight, int thicknessTop, int thicknessBottom);
+
+	bool addForce(const Common::String &name, PartForce::TForceType type, int posX, int posY, float angle, float strength);
+	bool removeForce(const Common::String &name);
+
+	BaseArray<PartForce *> _forces;
+
+	// scripting interface
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
+
+private:
 	PartForce *addForceByName(const Common::String &name);
 	int static compareZ(const void *obj1, const void *obj2);
 	bool initParticle(PartParticle *particle, uint32 currentTime, uint32 timerDelta);
diff --git a/engines/wintermute/base/particles/part_force.cpp b/engines/wintermute/base/particles/part_force.cpp
index cbc35560cb0..b118d8bb1ad 100644
--- a/engines/wintermute/base/particles/part_force.cpp
+++ b/engines/wintermute/base/particles/part_force.cpp
@@ -47,7 +47,7 @@ PartForce::~PartForce() {
 //////////////////////////////////////////////////////////////////////////
 bool PartForce::persist(BasePersistenceManager *persistMgr) {
 	if (persistMgr->getIsSaving()) {
-		const char *name = getName();
+		const char *name = _name;
 		persistMgr->transferConstChar(TMEMBER(name));
 	} else {
 		const char *name;
diff --git a/engines/wintermute/base/particles/part_force.h b/engines/wintermute/base/particles/part_force.h
index fdb6e5725f0..e0b0d1cb84e 100644
--- a/engines/wintermute/base/particles/part_force.h
+++ b/engines/wintermute/base/particles/part_force.h
@@ -38,7 +38,8 @@ namespace Wintermute {
 class PartForce : public BaseNamedObject {
 public:
 	enum TForceType {
-	    FORCE_POINT, FORCE_GLOBAL
+	    FORCE_POINT,
+		FORCE_GLOBAL
 	};
 
 	PartForce(BaseGame *inGame);
diff --git a/engines/wintermute/base/particles/part_particle.h b/engines/wintermute/base/particles/part_particle.h
index c00e0afe51d..2133263f901 100644
--- a/engines/wintermute/base/particles/part_particle.h
+++ b/engines/wintermute/base/particles/part_particle.h
@@ -42,7 +42,9 @@ class BasePersistenceManager;
 class PartParticle : public BaseClass {
 public:
 	enum TParticleState {
-	    PARTICLE_NORMAL, PARTICLE_FADEIN, PARTICLE_FADEOUT
+	    PARTICLE_NORMAL,
+		PARTICLE_FADEIN,
+		PARTICLE_FADEOUT
 	};
 
 	PartParticle(BaseGame *inGame);
@@ -77,6 +79,7 @@ public:
 	bool fadeOut(uint32 currentTime, int fadeTime);
 
 	bool persist(BasePersistenceManager *PersistMgr) override;
+
 private:
 	uint32 _fadeStart;
 	int32 _fadeTime;
diff --git a/engines/wintermute/base/save_thumb_helper.cpp b/engines/wintermute/base/save_thumb_helper.cpp
index efe5ad49f04..8ebe1b4fdc0 100644
--- a/engines/wintermute/base/save_thumb_helper.cpp
+++ b/engines/wintermute/base/save_thumb_helper.cpp
@@ -48,7 +48,7 @@ SaveThumbHelper::~SaveThumbHelper() {
 }
 
 BaseImage *SaveThumbHelper::storeThumb(bool doFlip, int width, int height) {
-	if (_gameRef->getSaveThumbWidth() > 0 && _gameRef->getSaveThumbHeight() > 0) {
+	if (_gameRef->_thumbnailWidth > 0 && _gameRef->_thumbnailHeight > 0) {
 		if (doFlip) {
 			// when using opengl on windows it seems to be necessary to do this twice
 			// works normally for direct3d
@@ -70,9 +70,9 @@ bool SaveThumbHelper::storeThumbnail(bool doFlip) {
 	delete _thumbnail;
 	_thumbnail = nullptr;
 
-	if (_gameRef->getSaveThumbWidth() > 0 && _gameRef->getSaveThumbHeight() > 0) {
+	if (_gameRef->_thumbnailWidth > 0 && _gameRef->_thumbnailHeight > 0) {
 
-		_thumbnail = storeThumb(doFlip, _gameRef->getSaveThumbWidth(), _gameRef->getSaveThumbHeight());
+		_thumbnail = storeThumb(doFlip, _gameRef->_thumbnailWidth, _gameRef->_thumbnailHeight);
 		if (!_thumbnail) {
 			return STATUS_FAILED;
 		}
diff --git a/engines/wintermute/base/scriptables/script.cpp b/engines/wintermute/base/scriptables/script.cpp
index 8815d8797fe..e125826ae07 100644
--- a/engines/wintermute/base/scriptables/script.cpp
+++ b/engines/wintermute/base/scriptables/script.cpp
@@ -254,7 +254,6 @@ bool ScScript::create(const char *filename, byte *buffer, uint32 size, BaseScrip
 
 	_thread = false;
 	_methodThread = false;
-
 	delete[] _threadEvent;
 	_threadEvent = nullptr;
 
@@ -328,9 +327,6 @@ bool ScScript::createThread(ScScript *original, uint32 initIP, const Common::Str
 	return STATUS_OK;
 }
 
-
-
-
 //////////////////////////////////////////////////////////////////////////
 bool ScScript::createMethodThread(ScScript *original, const Common::String &methodName) {
 	uint32 ip = original->getMethodPos(methodName);
@@ -445,8 +441,8 @@ void ScScript::cleanup() {
 	_numExternals = 0;
 
 	delete _operand;
-	delete _reg1;
 	_operand = nullptr;
+	delete _reg1;
 	_reg1 = nullptr;
 
 	delete[] _threadEvent;
@@ -471,7 +467,7 @@ uint32 ScScript::getDWORD() {
 	_scriptStream->seek((int32)_iP);
 	uint32 ret = _scriptStream->readUint32LE();
 	_iP += sizeof(uint32);
-//	assert(oldRet == ret);
+
 	return ret;
 }
 
@@ -569,7 +565,6 @@ bool ScScript::executeInstruction() {
 	case II_DEF_GLOB_VAR:
 	case II_DEF_CONST_VAR: {
 		dw = getDWORD();
-		/*      char *temp = _symbols[dw]; // TODO delete */
 		// only create global var if it doesn't exist
 		if (!_engine->_globals->propExists(_symbols[dw])) {
 			_operand->setNULL();
diff --git a/engines/wintermute/base/scriptables/script.h b/engines/wintermute/base/scriptables/script.h
index 9adfedc3630..ae175191b0e 100644
--- a/engines/wintermute/base/scriptables/script.h
+++ b/engines/wintermute/base/scriptables/script.h
@@ -51,11 +51,8 @@ public:
 	bool finishThreads();
 	bool copyParameters(ScStack *stack);
 
-	void afterLoad();
-protected:
 	ScValue *_operand;
 	ScValue *_reg1;
-public:
 	bool _freezable;
 	bool resume();
 	bool pause();
@@ -66,6 +63,7 @@ public:
 	ScScript *invokeEventHandler(const Common::String &eventName, bool unbreakable = false);
 	uint32 _timeSlice;
 	DECLARE_PERSISTENT(ScScript, BaseClass)
+	void afterLoad();
 	void runtimeError(const char *fmt, ...);
 	bool run();
 	bool finish(bool includingThreads = false);
@@ -134,22 +132,13 @@ public:
 	void cleanup();
 	bool create(const char *filename, byte *buffer, uint32 size, BaseScriptHolder *owner);
 	uint32 _iP;
-private:
 	void readHeader();
 	uint32 _bufferSize;
 	byte *_buffer;
-public:
 	Common::SeekableReadStream *_scriptStream;
 	ScScript(BaseGame *inGame, ScEngine *engine);
 	~ScScript() override;
 	char *_filename;
-	bool _thread;
-	bool _methodThread;
-	char *_threadEvent;
-	BaseScriptHolder *_owner;
-	ScScript::TExternalFunction *getExternal(char *name);
-	bool externalCall(ScStack *stack, ScStack *thisStack, ScScript::TExternalFunction *function);
-private:
 	char **_symbols;
 	uint32 _numSymbols;
 	TFunctionPos *_functions;
@@ -160,6 +149,13 @@ private:
 	uint32 _numFunctions;
 	uint32 _numMethods;
 	uint32 _numEvents;
+	bool _thread;
+	bool _methodThread;
+	char *_threadEvent;
+	BaseScriptHolder *_owner;
+	ScScript::TExternalFunction *getExternal(char *name);
+	bool externalCall(ScStack *stack, ScStack *thisStack, ScScript::TExternalFunction *function);
+private:
 
 	bool initScript();
 	bool initTables();
diff --git a/engines/wintermute/base/scriptables/script_ext_array.h b/engines/wintermute/base/scriptables/script_ext_array.h
index 4c4387cc56e..136b04040f8 100644
--- a/engines/wintermute/base/scriptables/script_ext_array.h
+++ b/engines/wintermute/base/scriptables/script_ext_array.h
@@ -44,7 +44,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-private:
 	int32 _length;
 	ScValue *_values;
 	Common::String _strRep;
diff --git a/engines/wintermute/base/scriptables/script_ext_date.h b/engines/wintermute/base/scriptables/script_ext_date.h
index 293ef312e22..905946167a7 100644
--- a/engines/wintermute/base/scriptables/script_ext_date.h
+++ b/engines/wintermute/base/scriptables/script_ext_date.h
@@ -43,9 +43,8 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-private:
-	TimeDate _tm;
 	Common::String _strRep;
+	TimeDate _tm;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/scriptables/script_ext_directory.h b/engines/wintermute/base/scriptables/script_ext_directory.h
index 7cf656910da..8eeec097710 100644
--- a/engines/wintermute/base/scriptables/script_ext_directory.h
+++ b/engines/wintermute/base/scriptables/script_ext_directory.h
@@ -36,10 +36,10 @@ namespace Wintermute {
 class SXDirectory : public BaseScriptable {
 public:
 	DECLARE_PERSISTENT(SXDirectory, BaseScriptable)
-	SXDirectory(BaseGame *inGame);
-	~SXDirectory() override;
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	SXDirectory(BaseGame *inGame);
+	~SXDirectory() override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/scriptables/script_ext_file.h b/engines/wintermute/base/scriptables/script_ext_file.h
index 25832152ee4..65643c3e582 100644
--- a/engines/wintermute/base/scriptables/script_ext_file.h
+++ b/engines/wintermute/base/scriptables/script_ext_file.h
@@ -43,6 +43,7 @@ public:
 	const char *scToString() override;
 	SXFile(BaseGame *inGame, ScStack *Stack);
 	~SXFile() override;
+
 private:
 	Common::SeekableReadStream *_readFile;
 	Common::WriteStream *_writeFile;
diff --git a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
index f98ea5f4f24..e37377d8b2a 100644
--- a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
+++ b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
@@ -45,9 +45,9 @@ public:
 	SXMemBuffer(BaseGame *inGame, void *buffer);
 	~SXMemBuffer() override;
 	void *scToMemBuffer() override;
-private:
 	int32 _size;
 
+private:
 	bool resize(int newSize);
 	void *_buffer;
 	void cleanup();
diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp
index 11b2197dc82..4cfab371f37 100644
--- a/engines/wintermute/base/scriptables/script_ext_string.cpp
+++ b/engines/wintermute/base/scriptables/script_ext_string.cpp
@@ -80,7 +80,6 @@ void SXString::setStringVal(const char *val) {
 	if (len >= _capacity) {
 		_capacity = len + 1;
 		delete[] _string;
-		_string = nullptr;
 		_string = new char[_capacity]();
 	}
 	Common::strcpy_s(_string, _capacity, val);
diff --git a/engines/wintermute/base/scriptables/script_ext_string.h b/engines/wintermute/base/scriptables/script_ext_string.h
index 5a5280ea565..86dd3d23f31 100644
--- a/engines/wintermute/base/scriptables/script_ext_string.h
+++ b/engines/wintermute/base/scriptables/script_ext_string.h
@@ -43,12 +43,9 @@ public:
 	void scSetString(const char *val) override;
 	const char *scToString() override;
 	void setStringVal(const char *val);
-
+	char *_string;
 	SXString(BaseGame *inGame, ScStack *Stack);
 	~SXString() override;
-
-private:
-	char *_string;
 	int32 _capacity;
 };
 
diff --git a/engines/wintermute/base/scriptables/script_value.cpp b/engines/wintermute/base/scriptables/script_value.cpp
index 91ccfb64706..6e356914fce 100644
--- a/engines/wintermute/base/scriptables/script_value.cpp
+++ b/engines/wintermute/base/scriptables/script_value.cpp
@@ -130,7 +130,6 @@ void ScValue::cleanup(bool ignoreNatives) {
 			_valNative->_refCount--;
 			if (_valNative->_refCount <= 0) {
 				delete _valNative;
-				_valNative = nullptr;
 			}
 		}
 	}
@@ -149,7 +148,6 @@ void ScValue::cleanup(bool ignoreNatives) {
 }
 
 
-
 //////////////////////////////////////////////////////////////////////////
 ScValue::~ScValue() {
 	cleanup();
diff --git a/engines/wintermute/base/sound/base_sound.h b/engines/wintermute/base/sound/base_sound.h
index c4f2aafcabc..4745085c339 100644
--- a/engines/wintermute/base/sound/base_sound.h
+++ b/engines/wintermute/base/sound/base_sound.h
@@ -39,6 +39,7 @@ class BaseSoundBuffer;
 class BaseSound : public BaseClass {
 public:
 	bool setPan(float pan);
+	int32 _soundPrivateVolume;
 	int getVolume();
 	int getVolumePercent();
 	bool setVolumePercent(int percent);
@@ -47,37 +48,37 @@ public:
 	bool setLoopStart(uint32 pos);
 	uint32 getPositionTime();
 	bool setPositionTime(uint32 time);
+	bool _soundPaused;
+	bool _soundFreezePaused;
 	bool isPlaying();
 	bool isPaused();
+	bool _soundPlaying;
+	bool _soundLooping;
+	uint32 _soundLoopStart;
+	uint32 _soundPosition;
 	DECLARE_PERSISTENT(BaseSound, BaseClass)
 	bool resume();
 	bool pause(bool freezePaused = false);
 	bool stop();
 	bool play(bool looping = false);
 	uint32 getLength();
-	const char *getFilename() { return _soundFilename.c_str(); }
+	bool _soundStreamed;
+	Audio::Mixer::SoundType _soundType;
+	Common::String _soundFilename;
 	bool setSoundSimple();
 	bool setSound(const Common::String &filename, Audio::Mixer::SoundType type = Audio::Mixer::kSFXSoundType, bool streamed = false);
 	BaseSound(BaseGame *inGame);
 	~BaseSound() override;
 
 	bool applyFX(TSFXType type = SFX_NONE, float param1 = 0, float param2 = 0, float param3 = 0, float param4 = 0);
-private:
-	Common::String _soundFilename;
-	bool _soundStreamed;
-	Audio::Mixer::SoundType _soundType;
-	int32 _soundPrivateVolume;
-	uint32 _soundLoopStart;
-	uint32 _soundPosition;
-	bool _soundPlaying;
-	bool _soundLooping;
-	bool _soundPaused;
-	bool _soundFreezePaused;
+
 	TSFXType _sFXType;
 	float _sFXParam1;
 	float _sFXParam2;
 	float _sFXParam3;
 	float _sFXParam4;
+
+private:
 	BaseSoundBuffer *_sound;
 };
 
diff --git a/engines/wintermute/debugger/debugger_controller.cpp b/engines/wintermute/debugger/debugger_controller.cpp
index 29d737f7d9b..909314bab29 100644
--- a/engines/wintermute/debugger/debugger_controller.cpp
+++ b/engines/wintermute/debugger/debugger_controller.cpp
@@ -255,7 +255,7 @@ Error DebuggerController::setValue(const Common::String &name, const Common::Str
 }
 
 void DebuggerController::showFps(bool show) {
-	_engine->_game->setShowFPS(show);
+	_engine->_game->_debugShowFPS = show;
 }
 
 Common::Array<BreakpointInfo> DebuggerController::getBreakpoints() const {
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index 5c895f8b5e3..45336db3b3d 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -479,7 +479,7 @@ bool UIButton::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "BUTTON\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 
 	buffer->putTextIndent(indent + 2, "\n");
@@ -624,12 +624,11 @@ void UIButton::correctSize() {
 	}
 
 	if (_text) {
-		int textHeight = 0;
-		BaseFont *font = _font ? _font : _gameRef->getSystemFont();
-
-		if (font) {
-			textHeight = font->getTextHeight((byte *)_text, _width);
-		}
+		int textHeight;
+		if (_font)
+			textHeight = _font->getTextHeight((byte *)_text, _width);
+		else
+			textHeight = _gameRef->_systemFont->getTextHeight((byte *)_text, _width);
 
 		if (textHeight > _height) {
 			_height = textHeight;
@@ -719,7 +718,7 @@ bool UIButton::display(int offsetX, int offsetY) {
 		if (_font) {
 			font = _font;
 		} else {
-			font = _gameRef->getSystemFont();
+			font = _gameRef->_systemFont;
 		}
 	}
 
@@ -747,7 +746,7 @@ bool UIButton::display(int offsetX, int offsetY) {
 	}
 
 	if (!_pixelPerfect || !_image) {
-		_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef, this, nullptr, offsetX + _posX, offsetY + _posY, _width, _height, 100, 100, false));
+		_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef, this, nullptr, offsetX + _posX, offsetY + _posY, _width, _height, 100, 100, false));
 	}
 
 	// reset unused sprites
@@ -765,6 +764,12 @@ bool UIButton::display(int offsetX, int offsetY) {
 	}
 	if (_imageHover && _imageHover != image) {
 		_imageHover->reset();
+
+/*	if (Game->m_AccessMgr->GetActiveObject() == this) {
+		RECT rc;
+		SetRect(&rc, OffsetX + m_PosX, OffsetY + m_PosY, OffsetX + m_PosX + m_Width, OffsetY + m_PosY + m_Height);
+		Game->m_AccessMgr->SetHintRect(&rc, true);
+	}*/
 	}
 
 	_press = _hover && _gameRef->_mouseLeftDown && _gameRef->_capturedObject == this;
@@ -780,7 +785,7 @@ void UIButton::press() {
 		_listenerObject->listen(_listenerParamObject, _listenerParamDWORD);
 	}
 	if (_parentNotify && _parent) {
-		_parent->applyEvent(getName());
+		_parent->applyEvent(_name);
 	}
 
 	_oneTimePress = false;
@@ -1222,29 +1227,4 @@ bool UIButton::persist(BasePersistenceManager *persistMgr) {
 
 	return STATUS_OK;
 }
-
-void UIButton::setFontHover(BaseFont *font) {
-	_fontHover = font;
-}
-
-BaseFont *UIButton::getFontHover() {
-	return _fontHover;
-}
-
-void UIButton::setFontPress(BaseFont *font) {
-	_fontPress = font;
-}
-
-void UIButton::setImageHover(BaseSprite *sprite) {
-	_imageHover = sprite;
-}
-
-void UIButton::setImagePress(BaseSprite *sprite) {
-	_imagePress = sprite;
-}
-
-void UIButton::setTextAlign(TTextAlign align) {
-	_align = align;
-}
-
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_button.h b/engines/wintermute/ui/ui_button.h
index bee77fc64cd..5edcedf895d 100644
--- a/engines/wintermute/ui/ui_button.h
+++ b/engines/wintermute/ui/ui_button.h
@@ -36,14 +36,31 @@ namespace Wintermute {
 
 class UIButton : public UIObject {
 public:
-
+	bool _pixelPerfect;
+	bool _stayPressed;
+	bool _centerImage;
+	bool _oneTimePress;
+	uint32 _oneTimePressTime;
 	DECLARE_PERSISTENT(UIButton, UIObject)
 	void press();
 	bool display() override { return display(0, 0); }
 	bool display(int offsetX, int offsetY) override;
-
+	bool _press;
+	bool _hover;
 	void correctSize() override;
-
+	TTextAlign _align;
+	BaseSprite *_imageHover;
+	BaseSprite *_imagePress;
+	BaseSprite *_imageDisable;
+	BaseSprite *_imageFocus;
+	BaseFont *_fontDisable;
+	BaseFont *_fontPress;
+	BaseFont *_fontHover;
+	BaseFont *_fontFocus;
+	UITiledImage *_backPress;
+	UITiledImage *_backHover;
+	UITiledImage *_backDisable;
+	UITiledImage *_backFocus;
 	UIButton(BaseGame *inGame = nullptr);
 	~UIButton() override;
 	bool loadFile(const char *filename);
@@ -55,39 +72,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-
-
-	void setFontHover(BaseFont *font);
-	BaseFont *getFontHover();
-	void setFontPress(BaseFont *font);
-
-	void setTextAlign(TTextAlign align);
-
-	void setImageHover(BaseSprite *sprite);
-	void setImagePress(BaseSprite *sprite);
-
-private:
-	bool _pixelPerfect;
-	bool _stayPressed;
-	bool _centerImage;
-	bool _oneTimePress;
-	UITiledImage *_backPress;
-	UITiledImage *_backHover;
-	UITiledImage *_backDisable;
-	UITiledImage *_backFocus;
-	bool _press;
-	bool _hover;
-	BaseFont *_fontDisable;
-	BaseFont *_fontPress;
-	BaseFont *_fontHover;
-	BaseFont *_fontFocus;
-	BaseSprite *_imageHover;
-	BaseSprite *_imagePress;
-	BaseSprite *_imageDisable;
-	BaseSprite *_imageFocus;
-	uint32 _oneTimePressTime;
-	TTextAlign _align;
-
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_edit.cpp b/engines/wintermute/ui/ui_edit.cpp
index a9647aa3a8a..abeb00d1f7f 100644
--- a/engines/wintermute/ui/ui_edit.cpp
+++ b/engines/wintermute/ui/ui_edit.cpp
@@ -318,28 +318,28 @@ bool UIEdit::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "EDIT\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 
 	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 (_fontSelected && _fontSelected->getFilename()) {
-		buffer->putTextIndent(indent + 2, "FONT_SELECTED=\"%s\"\n", _fontSelected->getFilename());
+	if (_fontSelected && _fontSelected->_filename) {
+		buffer->putTextIndent(indent + 2, "FONT_SELECTED=\"%s\"\n", _fontSelected->_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");
@@ -484,7 +484,7 @@ bool UIEdit::scSetProperty(const char *name, ScValue *value) {
 	if (strcmp(name, "SelStart") == 0) {
 		_selStart = value->getInt();
 		_selStart = MAX<int32>(_selStart, 0);
-		_selStart = (int)MIN((size_t)_selStart, strlen(_text));
+		_selStart = (int32)MIN((size_t)_selStart, strlen(_text));
 		return STATUS_OK;
 	}
 
@@ -494,7 +494,7 @@ bool UIEdit::scSetProperty(const char *name, ScValue *value) {
 	else if (strcmp(name, "SelEnd") == 0) {
 		_selEnd = value->getInt();
 		_selEnd = MAX<int32>(_selEnd, 0);
-		_selEnd = (int)MIN((size_t)_selEnd, strlen(_text));
+		_selEnd = (int32)MIN((size_t)_selEnd, strlen(_text));
 		return STATUS_OK;
 	}
 
@@ -590,7 +590,7 @@ bool UIEdit::display(int offsetX, int offsetY) {
 	if (_font) {
 		font = _font;
 	} else {
-		font = _gameRef->getSystemFont();
+		font = _gameRef->_systemFont;
 	}
 
 	if (_fontSelected) {
@@ -604,8 +604,8 @@ bool UIEdit::display(int offsetX, int offsetY) {
 	_selStart = MAX<int32>(_selStart, 0);
 	_selEnd   = MAX<int32>(_selEnd, 0);
 
-	_selStart = (int)MIN((size_t)_selStart, strlen(_text));
-	_selEnd   = (int)MIN((size_t)_selEnd,   strlen(_text));
+	_selStart = (int32)MIN((size_t)_selStart, strlen(_text));
+	_selEnd   = (int32)MIN((size_t)_selEnd,   strlen(_text));
 
 	//int CursorWidth = font->GetCharWidth(_cursorChar[0]);
 	int cursorWidth = font->getTextWidth((byte *)_cursorChar);
@@ -628,11 +628,10 @@ bool UIEdit::display(int offsetX, int offsetY) {
 		curFirst = true;
 	} else {
 		while (font->getTextWidth((byte *)_text + _scrollOffset, MAX<int32>(0, _selStart - _scrollOffset)) +
-				sfont->getTextWidth((byte *)(_text + MAX<int32>(_scrollOffset, _selStart)), _selEnd - MAX(_scrollOffset, _selStart))
-
-				> _width - cursorWidth - 2 * _frameWidth) {
+		       sfont->getTextWidth((byte *)(_text + MAX<int32>(_scrollOffset, _selStart)), _selEnd - MAX(_scrollOffset, _selStart))
+		       > _width - cursorWidth - 2 * _frameWidth) {
 			_scrollOffset++;
-			if (_scrollOffset >= (int)strlen(_text)) {
+			if (_scrollOffset >= (int32)strlen(_text)) {
 				break;
 			}
 		}
@@ -727,8 +726,13 @@ bool UIEdit::display(int offsetX, int offsetY) {
 	}
 
 
-	_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef,  this, nullptr, offsetX + _posX, offsetY + _posY, _width, _height, 100, 100, false));
+	_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef,  this, nullptr, offsetX + _posX, offsetY + _posY, _width, _height, 100, 100, false));
 
+/*	if (Game->m_AccessMgr->GetActiveObject() == this) {
+		RECT rc;
+		SetRect(&rc, OffsetX + m_PosX, OffsetY + m_PosY, OffsetX + m_PosX + m_Width, OffsetY + m_PosY + m_Height);
+		Game->m_AccessMgr->SetHintRect(&rc, true);
+	}*/
 
 	_gameRef->_textEncoding = OrigEncoding;
 
@@ -868,7 +872,7 @@ int UIEdit::deleteChars(int start, int end) {
 		_text = str;
 	}
 	if (_parentNotify && _parent) {
-		_parent->applyEvent(getName());
+		_parent->applyEvent(_name);
 	}
 
 	return end - start;
@@ -897,7 +901,7 @@ int UIEdit::insertChars(int pos, const byte *chars, int num) {
 		_text = str;
 	}
 	if (_parentNotify && _parent) {
-		_parent->applyEvent(getName());
+		_parent->applyEvent(_name);
 	}
 
 	return num;
diff --git a/engines/wintermute/ui/ui_edit.h b/engines/wintermute/ui/ui_edit.h
index 239f2b634ca..8726fe25384 100644
--- a/engines/wintermute/ui/ui_edit.h
+++ b/engines/wintermute/ui/ui_edit.h
@@ -37,15 +37,21 @@ class BaseFont;
 class UIEdit : public UIObject {
 public:
 	DECLARE_PERSISTENT(UIEdit, UIObject)
-
+	int32 _maxLength;
 	int insertChars(int pos, const byte *chars, int num);
 	int deleteChars(int start, int end);
-
+	bool _cursorVisible;
+	uint32 _lastBlinkTime;
 	bool display(int offsetX, int offsetY) override;
 	bool handleKeypress(Common::Event *event, bool printable = false) override;
-
+	int32 _scrollOffset;
+	int32 _frameWidth;
+	uint32 _cursorBlinkRate;
 	void setCursorChar(const char *character);
-
+	char *_cursorChar;
+	int32 _selEnd;
+	int32 _selStart;
+	BaseFont *_fontSelected;
 	UIEdit(BaseGame *inGame);
 	~UIEdit() override;
 
@@ -58,17 +64,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-private:
-	uint32 _cursorBlinkRate;
-	uint32 _lastBlinkTime;
-	int32 _selEnd;
-	int32 _selStart;
-	int32 _scrollOffset;
-	int32 _frameWidth;
-	BaseFont *_fontSelected;
-	int32 _maxLength;
-	bool _cursorVisible;
-	char *_cursorChar;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_entity.cpp b/engines/wintermute/ui/ui_entity.cpp
index a4eadf797dc..829cc316ac2 100644
--- a/engines/wintermute/ui/ui_entity.cpp
+++ b/engines/wintermute/ui/ui_entity.cpp
@@ -187,7 +187,7 @@ bool UIEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "ENTITY_CONTAINER\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 
 	buffer->putTextIndent(indent + 2, "\n");
 
@@ -197,8 +197,8 @@ bool UIEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent + 2, "DISABLED=%s\n", _disable ? "TRUE" : "FALSE");
 	buffer->putTextIndent(indent + 2, "VISIBLE=%s\n", _visible ? "TRUE" : "FALSE");
 
-	if (_entity && _entity->getFilename()) {
-		buffer->putTextIndent(indent + 2, "ENTITY=\"%s\"\n", _entity->getFilename());
+	if (_entity && _entity->_filename) {
+		buffer->putTextIndent(indent + 2, "ENTITY=\"%s\"\n", _entity->_filename);
 	}
 
 	buffer->putTextIndent(indent + 2, "\n");
diff --git a/engines/wintermute/ui/ui_entity.h b/engines/wintermute/ui/ui_entity.h
index 257d9ec0dcc..6b84fff8677 100644
--- a/engines/wintermute/ui/ui_entity.h
+++ b/engines/wintermute/ui/ui_entity.h
@@ -43,6 +43,7 @@ public:
 
 	bool display() override { return display(0, 0); }
 	bool display(int offsetX, int offsetY) override;
+	AdEntity *_entity;
 	bool setEntity(const char *filename);
 
 	// scripting interface
@@ -50,9 +51,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-
-private:
-	AdEntity *_entity;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_object.cpp b/engines/wintermute/ui/ui_object.cpp
index 586f309e613..df288fd8115 100644
--- a/engines/wintermute/ui/ui_object.cpp
+++ b/engines/wintermute/ui/ui_object.cpp
@@ -149,8 +149,6 @@ void UIObject::correctSize() {
 	}
 }
 
-
-
 //////////////////////////////////////////////////////////////////////////
 // high level scripting interface
 //////////////////////////////////////////////////////////////////////////
@@ -267,7 +265,7 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 			else {
 				const char *findName = val->getString();
 				for (i = 0; i < win->_widgets.getSize(); i++) {
-					if (scumm_stricmp(win->_widgets[i]->getName(), findName) == 0) {
+					if (scumm_stricmp(win->_widgets[i]->_name, findName) == 0) {
 						found = true;
 						break;
 					}
@@ -373,7 +371,7 @@ ScValue *UIObject::scGetProperty(const Common::String &name) {
 	// Name
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "Name") {
-		_scValue->setString(getName());
+		_scValue->setString(_name);
 		return _scValue;
 	}
 
@@ -641,87 +639,21 @@ bool UIObject::persist(BasePersistenceManager *persistMgr) {
 	return STATUS_OK;
 }
 
+//////////////////////////////////////////////////////////////////////////
+/*char *CUIObject::GetAccessCaption() {
+	if (m_AccessCaption)
+		return m_AccessCaption;
+	else {
+		if (m_Text)
+			return m_Text;
+		else
+			return GetCaption();
+	}
+}*/
+
 //////////////////////////////////////////////////////////////////////////
 bool UIObject::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	return STATUS_FAILED;
 }
 
-int32 UIObject::getWidth() const {
-	return _width;
-}
-
-// Has to be non-const to allow the virtual override to work,
-// as other getHeight()-functions currently have the potential
-// of having side-effects.
-int32 UIObject::getHeight() {
-	return _height;
-}
-
-void UIObject::setWidth(int32 width) {
-	assert(width >= 0);
-	_width = width;
-}
-
-void UIObject::setHeight(int32 height) {
-	assert(height >= 0);
-	_height = height;
-}
-
-bool UIObject::isDisabled() const {
-	return _disable;
-}
-
-bool UIObject::isVisible() const {
-	return _visible;
-}
-
-void UIObject::setVisible(bool visible) {
-	_visible = visible;
-}
-
-void UIObject::setDisabled(bool disable) {
-	_disable = disable;
-}
-
-bool UIObject::hasSharedFonts() const {
-	return _sharedFonts;
-}
-
-void UIObject::setSharedFonts(bool shared) {
-	_sharedFonts = shared;
-}
-
-bool UIObject::hasSharedImages() const {
-	return _sharedImages;
-}
-
-void UIObject::setSharedImages(bool shared) {
-	_sharedImages = shared;
-}
-
-BaseSprite *UIObject::getImage() const {
-	return _image;
-}
-
-void UIObject::setImage(BaseSprite *image) {
-	_image = image;
-}
-
-bool UIObject::canFocus() const {
-	return _canFocus;
-}
-
-void UIObject::setFont(BaseFont *font) {
-	_font = font;
-}
-
-BaseFont *UIObject::getFont() {
-	return _font;
-}
-
-BaseScriptHolder *UIObject::getListener() const {
-	return _listenerObject;
-}
-
-
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_object.h b/engines/wintermute/ui/ui_object.h
index 733b3ca6fff..76bb5fe224a 100644
--- a/engines/wintermute/ui/ui_object.h
+++ b/engines/wintermute/ui/ui_object.h
@@ -38,25 +38,38 @@ class UITiledImage;
 class BaseFont;
 class UIObject : public BaseObject {
 public:
+	//virtual char *GetAccessCaption();
 
 	bool getTotalOffset(int *offsetX, int *offsetY);
+	bool _canFocus;
 	bool focus();
 	bool handleMouse(TMouseEvent event, TMouseButton button) override;
 	bool isFocused();
-
+	bool _parentNotify;
 	DECLARE_PERSISTENT(UIObject, BaseObject)
 	UIObject *_parent;
 	bool display() override { return display(0, 0); }
 	virtual bool display(int offsetX) { return display(offsetX, 0); }
 	virtual bool display(int offsetX, int offsetY);
 	virtual void correctSize();
+	bool _sharedFonts;
+	bool _sharedImages;
 	void setText(const char *text);
-
+	char *_text;
+	BaseFont *_font;
+	bool _visible;
+	UITiledImage *_back;
+	bool _disable;
 	UIObject(BaseGame *inGame = nullptr);
 	~UIObject() override;
+	int32 _width;
+	int32 _height;
+	TUIObjectType _type;
+	BaseSprite *_image;
 	void setListener(BaseScriptHolder *object, BaseScriptHolder *listenerObject, uint32 listenerParam);
-	BaseScriptHolder *getListener() const;
-
+	BaseScriptHolder *_listenerParamObject;
+	uint32 _listenerParamDWORD;
+	BaseScriptHolder *_listenerObject;
 	UIObject *_focusedWidget;
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
@@ -65,42 +78,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-	TUIObjectType _type;
-
-	int32 getWidth() const;
-	int32 getHeight() override;
-	void setHeight(int32 height);
-	void setWidth(int32 width);
-	bool isDisabled() const;
-	void setDisabled(bool disable);
-	bool isVisible() const;
-	void setVisible(bool visible);
-	bool hasSharedFonts() const;
-	void setSharedFonts(bool shared);
-	bool hasSharedImages() const;
-	void setSharedImages(bool shared);
-	BaseSprite *getImage() const;
-	void setImage(BaseSprite *image);
-	void setFont(BaseFont *font);
-	BaseFont *getFont();
-	bool canFocus() const;
-
-protected:
-	BaseScriptHolder *_listenerParamObject;
-	uint32 _listenerParamDWORD;
-	BaseScriptHolder *_listenerObject;
-	BaseSprite *_image;
-	BaseFont *_font;
-	bool _sharedFonts;
-	bool _sharedImages;
-	char *_text;
-	bool _visible;
-	bool _disable;
-	int32 _width;
-	int32 _height;
-	bool _canFocus;
-	bool _parentNotify;
-	UITiledImage *_back;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp
index 361c6d0b0fc..800175e9a50 100644
--- a/engines/wintermute/ui/ui_text.cpp
+++ b/engines/wintermute/ui/ui_text.cpp
@@ -68,7 +68,7 @@ bool UIText::display(int offsetX, int offsetY) {
 
 	BaseFont *font = _font;
 	if (!font) {
-		font = _gameRef->getSystemFont();
+		font = _gameRef->_systemFont;
 	}
 
 	if (_back) {
@@ -321,7 +321,7 @@ bool UIText::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "STATIC\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 
 	buffer->putTextIndent(indent + 2, "\n");
diff --git a/engines/wintermute/ui/ui_text.h b/engines/wintermute/ui/ui_text.h
index 6bf3ef430a2..4a46ad04c97 100644
--- a/engines/wintermute/ui/ui_text.h
+++ b/engines/wintermute/ui/ui_text.h
@@ -34,15 +34,14 @@
 namespace Wintermute {
 
 class UIText : public UIObject {
-private:
-	bool sizeToFit();
-	TTextAlign _textAlign;
-	TVerticalAlign _verticalAlign;
 public:
+	bool sizeToFit();
 	bool display(int offsetX, int offsetY) override;
 	DECLARE_PERSISTENT(UIText, UIObject)
 	UIText(BaseGame *inGame = nullptr);
 	~UIText() override;
+	TTextAlign _textAlign;
+	TVerticalAlign _verticalAlign;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
diff --git a/engines/wintermute/ui/ui_tiled_image.h b/engines/wintermute/ui/ui_tiled_image.h
index a50b0942c65..c199118597f 100644
--- a/engines/wintermute/ui/ui_tiled_image.h
+++ b/engines/wintermute/ui/ui_tiled_image.h
@@ -47,7 +47,6 @@ public:
 	bool display(int x, int y, int width, int height);
 	UITiledImage(BaseGame *inGame = nullptr);
 	~UITiledImage() override;
-private:
 	BaseSubFrame *_image;
 	Rect32 _upLeft;
 	Rect32 _upMiddle;
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 51d873d99d2..0888be060e2 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -97,10 +97,10 @@ UIWindow::~UIWindow() {
 //////////////////////////////////////////////////////////////////////////
 void UIWindow::cleanup() {
 	delete _shieldWindow;
-	delete _shieldButton;
-	delete _viewport;
 	_shieldWindow = nullptr;
+	delete _shieldButton;
 	_shieldButton = nullptr;
+	delete _viewport;
 	_viewport = nullptr;
 
 	delete _backInactive;
@@ -141,8 +141,8 @@ bool UIWindow::display(int offsetX, int offsetY) {
 		}
 
 		_shieldButton->_posX = _shieldButton->_posY = 0;
-		_shieldButton->setWidth(_gameRef->_renderer->getWidth());
-		_shieldButton->setHeight(_gameRef->_renderer->getHeight());
+		_shieldButton->_width = _gameRef->_renderer->getWidth();
+		_shieldButton->_height = _gameRef->_renderer->getHeight();
 
 		_shieldButton->display();
 	}
@@ -167,7 +167,7 @@ bool UIWindow::display(int offsetX, int offsetY) {
 		_dragFrom.y = _gameRef->_mousePos.y;
 	}
 
-	if (!_focusedWidget || (!_focusedWidget->canFocus() || _focusedWidget->isDisabled() || !_focusedWidget->isVisible())) {
+	if (!_focusedWidget || (!_focusedWidget->_canFocus || _focusedWidget->_disable || !_focusedWidget->_visible)) {
 		moveFocus();
 	}
 
@@ -215,7 +215,7 @@ bool UIWindow::display(int offsetX, int offsetY) {
 	}
 
 	if (!_transparent && !image) {
-		_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef,  this, nullptr, _posX + offsetX, _posY + offsetY, _width, _height, 100, 100, false));
+		_gameRef->_renderer->_rectList.add(new BaseActiveRect(_gameRef,  this, nullptr, _posX + offsetX, _posY + offsetY, _width, _height, 100, 100, false));
 	}
 
 	for (int32 i = 0; i < _widgets.getSize(); i++) {
@@ -527,7 +527,6 @@ bool UIWindow::loadBuffer(char *buffer, bool complete) {
 		}
 		break;
 
-
 		case TOKEN_TRANSPARENT:
 			parser.scanStr(params, "%b", &_transparent);
 			break;
@@ -586,7 +585,6 @@ bool UIWindow::loadBuffer(char *buffer, bool complete) {
 			parser.scanStr(params, "%d", &alpha);
 			break;
 
-
 		default:
 			if (DID_FAIL(_gameRef->windowLoadHook(this, &buffer, &params))) {
 				cmd = PARSERR_GENERIC;
@@ -630,7 +628,7 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "WINDOW\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", getName());
+	buffer->putTextIndent(indent + 2, "NAME=\"%s\"\n", _name);
 	buffer->putTextIndent(indent + 2, "CAPTION=\"%s\"\n", getCaption());
 
 	buffer->putTextIndent(indent + 2, "\n");
@@ -740,8 +738,8 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 //////////////////////////////////////////////////////////////////////////
 bool UIWindow::enableWidget(const char *name, bool enable) {
 	for (int32 i = 0; i < _widgets.getSize(); i++) {
-		if (scumm_stricmp(_widgets[i]->getName(), name) == 0) {
-			_widgets[i]->setDisabled(!enable);
+		if (scumm_stricmp(_widgets[i]->_name, name) == 0) {
+			_widgets[i]->_disable = !enable;
 		}
 	}
 	return STATUS_OK;
@@ -751,8 +749,8 @@ bool UIWindow::enableWidget(const char *name, bool enable) {
 //////////////////////////////////////////////////////////////////////////
 bool UIWindow::showWidget(const char *name, bool visible) {
 	for (int32 i = 0; i < _widgets.getSize(); i++) {
-		if (scumm_stricmp(_widgets[i]->getName(), name) == 0) {
-			_widgets[i]->setVisible(visible);
+		if (scumm_stricmp(_widgets[i]->_name, name) == 0) {
+			_widgets[i]->_visible = visible;
 		}
 	}
 	return STATUS_OK;
@@ -778,7 +776,7 @@ bool UIWindow::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 			}
 		} else {
 			for (int32 i = 0; i < _widgets.getSize(); i++) {
-				if (scumm_stricmp(_widgets[i]->getName(), val->getString()) == 0) {
+				if (scumm_stricmp(_widgets[i]->_name, val->getString()) == 0) {
 					stack->pushNative(_widgets[i], true);
 					return STATUS_OK;
 				}
@@ -1313,7 +1311,7 @@ bool UIWindow::moveFocus(bool forward) {
 	bool done = false;
 
 	while (numTries <= _widgets.getSize()) {
-		if (_widgets[i] != _focusedWidget && _widgets[i]->canFocus() && _widgets[i]->isVisible() && !_widgets[i]->isDisabled()) {
+		if (_widgets[i] != _focusedWidget && _widgets[i]->_canFocus && _widgets[i]->_visible && !_widgets[i]->_disable) {
 			_focusedWidget = _widgets[i];
 			done = true;
 			break;
@@ -1344,6 +1342,7 @@ bool UIWindow::goExclusive() {
 	}
 
 	if (_mode == WINDOW_NORMAL) {
+		//Game->m_AccessMgr->SetActiveObject();
 		_ready = false;
 		_mode = WINDOW_EXCLUSIVE;
 		_visible = true;
@@ -1364,6 +1363,7 @@ bool UIWindow::goSystemExclusive() {
 
 	makeFreezable(false);
 
+	//Game->m_AccessMgr->SetActiveObject();
 	_mode = WINDOW_SYSTEM_EXCLUSIVE;
 	_ready = false;
 	_visible = true;
@@ -1395,7 +1395,7 @@ bool UIWindow::listen(BaseScriptHolder *param1, uint32 param2) {
 
 	switch (obj->_type) {
 	case UI_BUTTON:
-		if (scumm_stricmp(obj->getName(), "close") == 0) {
+		if (scumm_stricmp(obj->_name, "close") == 0) {
 			close();
 		} else {
 			return BaseObject::listen(param1, param2);
@@ -1418,12 +1418,57 @@ void UIWindow::makeFreezable(bool freezable) {
 	BaseObject::makeFreezable(freezable);
 }
 
+//////////////////////////////////////////////////////////////////////////
+/*CBObject *CUIWindow::GetNextAccessObject(CBObject *CurrObject) {
+	CBArray<CUIObject *, CUIObject *> Objects;
+	GetWindowObjects(Objects, true);
+
+	if (Objects.GetSize() == 0)
+		return NULL;
+	else {
+		if (CurrObject != NULL) {
+			for (int i = 0; i < Objects.GetSize(); i++) {
+				if (Objects[i] == CurrObject) {
+					if (i < Objects.GetSize() - 1)
+						return Objects[i + 1];
+					else
+						break;
+				}
+			}
+		}
+		return Objects[0];
+	}
+	return NULL;
+}*/
+
+//////////////////////////////////////////////////////////////////////////
+/*CBObject *CUIWindow::GetPrevAccessObject(CBObject *CurrObject) {
+	CBArray<CUIObject *, CUIObject *> Objects;
+	GetWindowObjects(Objects, true);
+
+	if (Objects.GetSize() == 0)
+		return NULL;
+	else {
+		if (CurrObject != NULL) {
+			for (int i = Objects.GetSize() - 1; i >= 0; i--) {
+				if (Objects[i] == CurrObject) {
+					if (i > 0)
+						return Objects[i - 1];
+					else
+						break;
+				}
+			}
+		}
+		return Objects[Objects.GetSize() - 1];
+	}
+	return NULL;
+}*/
 
 //////////////////////////////////////////////////////////////////////////
 bool UIWindow::getWindowObjects(BaseArray<UIObject *> &objects, bool interactiveOnly) {
 	for (int32 i = 0; i < _widgets.getSize(); i++) {
 		UIObject *control = _widgets[i];
-		if (control->isDisabled() && interactiveOnly) {
+		if (control->_disable && interactiveOnly) {
 			continue;
 		}
 
@@ -1446,14 +1491,4 @@ bool UIWindow::getWindowObjects(BaseArray<UIObject *> &objects, bool interactive
 	return STATUS_OK;
 }
 
-bool UIWindow::getInGame() const {
-	return _inGame;
-}
-
-TWindowMode UIWindow::getMode() const {
-	return _mode;
-}
-
-
-
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_window.h b/engines/wintermute/ui/ui_window.h
index bbf2afdf09a..56c0478402e 100644
--- a/engines/wintermute/ui/ui_window.h
+++ b/engines/wintermute/ui/ui_window.h
@@ -38,31 +38,47 @@ class UIButton;
 class BaseViewport;
 class UIWindow : public UIObject {
 public:
+	//CBObject *GetPrevAccessObject(CBObject *CurrObject);
+	//CBObject *GetNextAccessObject(CBObject *CurrObject);
 	bool getWindowObjects(BaseArray<UIObject *> &Objects, bool InteractiveOnly);
 
+	bool _pauseMusic;
 	void cleanup();
 	void makeFreezable(bool freezable) override;
-
+	BaseViewport *_viewport;
+	bool _clipContents;
+	bool _inGame;
+	bool _isMenu;
+	bool _fadeBackground;
+	uint32 _fadeColor;
 	bool handleMouseWheel(int32 delta) override;
-
+	UIWindow *_shieldWindow;
+	UIButton *_shieldButton;
 	bool close();
 	bool goSystemExclusive();
 	bool goExclusive();
+	TWindowMode _mode;
 	bool moveFocus(bool forward = true);
 	bool handleMouse(TMouseEvent Event, TMouseButton Button) override;
+	Point32 _dragFrom;
+	bool _dragging;
 	DECLARE_PERSISTENT(UIWindow, UIObject)
+	bool _transparent;
 	bool showWidget(const char *name, bool visible = true);
 	bool enableWidget(const char *name, bool enable = true);
-
+	Rect32 _titleRect;
+	Rect32 _dragRect;
 	bool display(int offsetX = 0, int offsetY = 0) override;
 	UIWindow(BaseGame *inGame);
 	~UIWindow() override;
 	bool handleKeypress(Common::Event *event, bool printable = false) override;
 	BaseArray<UIObject *> _widgets;
-
+	TTextAlign _titleAlign;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-
+	UITiledImage *_backInactive;
+	BaseFont *_fontInactive;
+	BaseSprite *_imageInactive;
 	bool listen(BaseScriptHolder *param1, uint32 param2) override;
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
@@ -71,30 +87,6 @@ public:
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
-
-	bool getInGame() const;
-	TWindowMode getMode() const;
-
-private:
-	bool _pauseMusic;
-	BaseViewport *_viewport;
-	bool _clipContents;
-	bool _inGame;
-	bool _isMenu;
-	bool _fadeBackground;
-	TWindowMode _mode;
-	Point32 _dragFrom;
-	bool _dragging;
-	bool _transparent;
-	uint32 _fadeColor;
-	UIWindow *_shieldWindow;
-	UIButton *_shieldButton;
-	Rect32 _titleRect;
-	Rect32 _dragRect;
-	UITiledImage *_backInactive;
-	BaseFont *_fontInactive;
-	BaseSprite *_imageInactive;
-	TTextAlign _titleAlign;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/video/video_subtitler.cpp b/engines/wintermute/video/video_subtitler.cpp
index 7e384d92a6e..b7a1e81a2a0 100644
--- a/engines/wintermute/video/video_subtitler.cpp
+++ b/engines/wintermute/video/video_subtitler.cpp
@@ -179,10 +179,10 @@ void VideoSubtitler::display() {
 
 		BaseFont *font;
 
-		if (_gameRef->getVideoFont() == nullptr) {
-			font = _gameRef->getSystemFont();
+		if (_gameRef->_videoFont == nullptr) {
+			font = _gameRef->_systemFont;
 		} else {
-			font = _gameRef->getVideoFont();
+			font = _gameRef->_videoFont;
 		}
 
 		int textHeight = font->getTextHeight(
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index 9f436a4d5c9..03d0ece9cab 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -211,7 +211,7 @@ int WintermuteEngine::init() {
 	_game->initialize1();
 
 	// set gameId, for savegame-naming:
-	_game->setGameTargetName(_targetName);
+	_game->_targetName = _targetName;
 
 	if (DID_FAIL(_game->loadSettings("startup.settings"))) {
 		_game->LOG(0, "Error loading game settings.");
@@ -305,11 +305,11 @@ int WintermuteEngine::messageLoop() {
 
 			// ***** flip
 			limiter.delayBeforeSwap();
-			if (!_game->getSuspendedRendering()) {
+			if (!_game->_suspendedRendering) {
 				_game->_renderer->flip();
 			}
 			limiter.startFrame();
-			if (_game->getIsLoading()) {
+			if (_game->_loading) {
 				_game->loadGame(_game->_scheduledLoadSlot);
 			}
 		}




More information about the Scummvm-git-logs mailing list