[Scummvm-git-logs] scummvm master -> 19ff6e5ed3ee6eadc964f377ad853632ae4726be

aquadran noreply at scummvm.org
Fri Sep 5 09:36:11 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:
19ff6e5ed3 WINTERMUTE: Small sync with original code


Commit: 19ff6e5ed3ee6eadc964f377ad853632ae4726be
    https://github.com/scummvm/scummvm/commit/19ff6e5ed3ee6eadc964f377ad853632ae4726be
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-09-05T11:36:05+02:00

Commit Message:
WINTERMUTE: Small sync with original code

Changed paths:
    engines/wintermute/ad/ad_actor.cpp
    engines/wintermute/ad/ad_actor_3dx.cpp
    engines/wintermute/ad/ad_entity.cpp
    engines/wintermute/ad/ad_game.cpp
    engines/wintermute/ad/ad_game.h
    engines/wintermute/ad/ad_geom_ext.cpp
    engines/wintermute/ad/ad_geom_ext_node.cpp
    engines/wintermute/ad/ad_inventory_box.cpp
    engines/wintermute/ad/ad_item.cpp
    engines/wintermute/ad/ad_layer.cpp
    engines/wintermute/ad/ad_region.cpp
    engines/wintermute/ad/ad_response_box.cpp
    engines/wintermute/ad/ad_rot_level.cpp
    engines/wintermute/ad/ad_scale_level.cpp
    engines/wintermute/ad/ad_scene.cpp
    engines/wintermute/ad/ad_scene.h
    engines/wintermute/ad/ad_sprite_set.cpp
    engines/wintermute/ad/ad_talk_def.cpp
    engines/wintermute/ad/ad_talk_node.cpp
    engines/wintermute/ad/ad_waypoint_group.cpp
    engines/wintermute/ad/ad_waypoint_group3d.h
    engines/wintermute/base/base.cpp
    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_keyboard_state.h
    engines/wintermute/base/base_object.h
    engines/wintermute/base/base_parser.cpp
    engines/wintermute/base/base_parser.h
    engines/wintermute/base/base_point.h
    engines/wintermute/base/base_region.cpp
    engines/wintermute/base/base_region.h
    engines/wintermute/base/base_script_holder.cpp
    engines/wintermute/base/base_scriptable.h
    engines/wintermute/base/base_sprite.cpp
    engines/wintermute/base/base_sprite.h
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/base_sub_frame.h
    engines/wintermute/base/base_viewport.h
    engines/wintermute/base/font/base_font.cpp
    engines/wintermute/base/font/base_font_bitmap.cpp
    engines/wintermute/base/font/base_font_storage.h
    engines/wintermute/base/font/base_font_truetype.cpp
    engines/wintermute/base/font/base_font_truetype.h
    engines/wintermute/base/gfx/3dface.h
    engines/wintermute/base/gfx/3dvertex.h
    engines/wintermute/base/gfx/base_renderer.h
    engines/wintermute/base/gfx/xmaterial.h
    engines/wintermute/base/gfx/xmodel.cpp
    engines/wintermute/base/scriptables/script_ext_array.h
    engines/wintermute/base/scriptables/script_ext_file.h
    engines/wintermute/system/sys_class_registry.h
    engines/wintermute/ui/ui_button.cpp
    engines/wintermute/ui/ui_edit.cpp
    engines/wintermute/ui/ui_entity.cpp
    engines/wintermute/ui/ui_text.cpp
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/ui/ui_window.cpp
    engines/wintermute/video/video_subtitler.h


diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 4296087c18c..910ede33964 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -214,7 +214,7 @@ bool AdActor::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ACTOR) {
@@ -1495,7 +1495,7 @@ bool AdActor::mergeAnims(const char *animsFilename) {
 	char *buffer = fileBuffer;
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	bool ret = STATUS_OK;
 
diff --git a/engines/wintermute/ad/ad_actor_3dx.cpp b/engines/wintermute/ad/ad_actor_3dx.cpp
index e482d6be673..144c52aef73 100644
--- a/engines/wintermute/ad/ad_actor_3dx.cpp
+++ b/engines/wintermute/ad/ad_actor_3dx.cpp
@@ -939,7 +939,7 @@ bool AdActor3DX::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ACTOR3DX) {
@@ -2377,7 +2377,7 @@ bool AdActor3DX::mergeAnimations2(const char *filename) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	while ((cmd = parser.getCommand(&buffer, commands, &params)) > 0) {
 		switch (cmd) {
@@ -2480,7 +2480,7 @@ bool AdActor3DX::parseEffect(char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	char *effectFile = nullptr;
 	char *material = nullptr;
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index f75129bf6ce..4949ef1c244 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -221,7 +221,7 @@ bool AdEntity::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ENTITY) {
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index 225aced9864..b2d5b28e5f2 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -159,8 +159,7 @@ bool AdGame::cleanup() {
 
 
 	// clear remaining inventories
-	delete _invObject;
-	_invObject = nullptr;
+	SAFE_DELETE(_invObject);
 
 	for (int32 i = 0; i < _inventories.getSize(); i++) {
 		delete _inventories[i];
@@ -1377,7 +1376,7 @@ bool AdGame::loadBuffer(char *buffer, bool complete) {
 	char *params;
 	char *params2;
 	int cmd = 1;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	bool itemFound = false, itemsFound = false;
 
@@ -1754,7 +1753,7 @@ bool AdGame::loadItemsBuffer(char *buffer, bool merge) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (!merge) {
 		while (_items.getSize() > 0) {
@@ -1840,7 +1839,7 @@ bool AdGame::windowLoadHook(UIWindow *win, char **buffer, char **params) {
 	TOKEN_TABLE_END
 
 	int cmd = PARSERR_GENERIC;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	cmd = parser.getCommand(buffer, commands, params);
 	switch (cmd) {
diff --git a/engines/wintermute/ad/ad_game.h b/engines/wintermute/ad/ad_game.h
index 6bcb36782da..ab6235d2868 100644
--- a/engines/wintermute/ad/ad_game.h
+++ b/engines/wintermute/ad/ad_game.h
@@ -51,23 +51,23 @@ public:
 	bool onMouseRightDown() override;
 	bool onMouseRightUp() override;
 
-	bool handleCustomActionStart(BaseGameCustomAction action) override;
-	bool handleCustomActionEnd(BaseGameCustomAction action) override;
-
 	bool displayDebugInfo() override;
 
-	virtual bool getLayerSize(int *layerWidth, int *layerHeight, Common::Rect32 *viewport, bool *customViewport) override;
+	//virtual CBObject *GetNextAccessObject(CBObject *CurrObject);
+	//virtual CBObject *GetPrevAccessObject(CBObject *CurrObject);
 
+	virtual bool getLayerSize(int *layerWidth, int *layerHeight, Common::Rect32 *viewport, bool *customViewport) override;
 #ifdef ENABLE_WME3D
 	uint32 getAmbientLightColor() override;
-
 	bool getFogParams(bool *fogEnabled, uint32 *fogColor, float *start, float *end) override;
 
 	virtual bool renderShadowGeometry() override;
-	TShadowType getMaxShadowType(BaseObject *object) override;
+	TShadowType getMaxShadowType(BaseObject *object = nullptr) override;
 #endif
 
+	bool _smartItemCursor;
 
+	BaseArray<char *> _speechDirs;
 	bool addSpeechDir(const char *dir);
 	bool removeSpeechDir(const char *dir);
 	char *findSpeechFile(char *StringID);
@@ -78,13 +78,18 @@ public:
 	bool resetContent() override;
 	bool addItem(AdItem *item);
 	AdItem *getItemByName(const char *name) const;
-
+	BaseArray<AdItem *> _items;
 	AdObject *_inventoryOwner;
 	bool isItemTaken(char *itemName);
 	bool registerInventory(AdInventory *inv);
 	bool unregisterInventory(AdInventory *inv);
-	bool displayContent(bool update = true, bool displayAll = false) override;
 
+	AdObject *_invObject;
+	BaseArray<AdInventory *> _inventories;
+	bool displayContent(bool update = true, bool displayAll = false) override;
+	char *_debugStartupScene;
+	char *_startupScene;
+	bool _initialScene;
 	bool gameResponseUsed(int ID) const;
 	bool addGameResponse(int ID);
 	bool resetResponse(int ID);
@@ -99,7 +104,6 @@ public:
 
 	AdSceneState *getSceneState(const char *filename, bool saving);
 	BaseViewport *_sceneViewport;
-
 	int32 _texItemLifeTime;
 	int32 _texWalkLifeTime;
 	int32 _texStandLifeTime;
@@ -110,17 +114,21 @@ public:
 
 	bool getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *extMinor) const override;
 	bool scheduleChangeScene(const char *filename, bool fadeIn);
+	char *_scheduledScene;
+	bool _scheduledFadeIn;
 	void setPrevSceneName(const char *name);
 	void setPrevSceneFilename(const char *name);
-
+	char *_prevSceneName;
+	char *_prevSceneFilename;
 	AdItem *_selectedItem;
 	bool cleanup() override;
 	DECLARE_PERSISTENT(AdGame, BaseGame)
 
 	void finishSentences();
 	bool showCursor() override;
-
 	TGameStateEx _stateEx;
+	AdResponseBox *_responseBox;
+	AdInventoryBox *_inventoryBox;
 	bool displaySentences(bool frozen);
 	void addSentence(AdSentence *sentence);
 	bool changeScene(const char *filename, bool fadeIn);
@@ -130,8 +138,14 @@ public:
 	bool initLoop();
 	AdGame(const Common::String &gameId);
 	~AdGame() override;
-
 	BaseArray<AdObject *> _objects;
+	BaseArray<AdSentence *> _sentences;
+
+	BaseArray<AdSceneState *> _sceneStates;
+	BaseArray<char *> _dlgPendingBranches;
+
+	BaseArray<const AdResponseContext *> _responsesBranch;
+	BaseArray<const AdResponseContext *> _responsesGame;
 
 	bool loadFile(const char *filename) override;
 	bool loadBuffer(char *buffer, bool complete = true) override;
@@ -139,38 +153,19 @@ public:
 	bool loadItemsFile(const char *filename, bool merge = false);
 	bool loadItemsBuffer(char *buffer, bool merge = false);
 
+	bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name) override;
+
 	// 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;
 	bool validMouse();
-	Common::String debuggerToString() const override;
-private:
-	bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name) override;
 
-	AdObject *_invObject;
-	BaseArray<AdInventory *> _inventories;
-	char *_scheduledScene;
-	bool _scheduledFadeIn;
-	char *_prevSceneName;
-	char *_prevSceneFilename;
-	char *_debugStartupScene;
-	char *_startupScene;
-	bool _initialScene;
-	bool _smartItemCursor;
-	BaseArray<char *> _speechDirs;
-	BaseArray<AdItem *> _items;
-
-	BaseArray<AdSentence *> _sentences;
-
-	BaseArray<AdSceneState *> _sceneStates;
-	BaseArray<char *> _dlgPendingBranches;
 
-	BaseArray<const AdResponseContext *> _responsesBranch;
-	BaseArray<const AdResponseContext *> _responsesGame;
+	Common::String debuggerToString() const override;
 
-	AdResponseBox *_responseBox;
-	AdInventoryBox *_inventoryBox;
+	bool handleCustomActionStart(BaseGameCustomAction action) override;
+	bool handleCustomActionEnd(BaseGameCustomAction action) override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_geom_ext.cpp b/engines/wintermute/ad/ad_geom_ext.cpp
index 32eef13fb93..acf93c118de 100644
--- a/engines/wintermute/ad/ad_geom_ext.cpp
+++ b/engines/wintermute/ad/ad_geom_ext.cpp
@@ -79,7 +79,7 @@ bool AdGeomExt::loadBuffer(char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (parser.getCommand(&buffer, commands, &params) != TOKEN_GEOMETRY) {
 		_game->LOG(0, "'GEOMETRY' keyword expected.");
diff --git a/engines/wintermute/ad/ad_geom_ext_node.cpp b/engines/wintermute/ad/ad_geom_ext_node.cpp
index 0a6411a1027..df540d2358e 100644
--- a/engines/wintermute/ad/ad_geom_ext_node.cpp
+++ b/engines/wintermute/ad/ad_geom_ext_node.cpp
@@ -68,7 +68,7 @@ bool AdGeomExtNode::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_NODE) {
diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 1fd4db07467..ff84a696781 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -223,7 +223,7 @@ bool AdInventoryBox::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 	bool alwaysVisible = false;
 
 	_exclusive = false;
diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp
index e22fa57ca1a..f8046779029 100644
--- a/engines/wintermute/ad/ad_item.cpp
+++ b/engines/wintermute/ad/ad_item.cpp
@@ -163,7 +163,7 @@ bool AdItem::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ITEM) {
diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp
index 3117fc74fd9..0c6387d6d0c 100644
--- a/engines/wintermute/ad/ad_layer.cpp
+++ b/engines/wintermute/ad/ad_layer.cpp
@@ -124,7 +124,7 @@ bool AdLayer::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_LAYER) {
diff --git a/engines/wintermute/ad/ad_region.cpp b/engines/wintermute/ad/ad_region.cpp
index 68d9b5bb1df..8c6072c1146 100644
--- a/engines/wintermute/ad/ad_region.cpp
+++ b/engines/wintermute/ad/ad_region.cpp
@@ -117,7 +117,7 @@ bool AdRegion::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_REGION) {
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index f74cd852b88..6acabd51c31 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -258,7 +258,7 @@ bool AdResponseBox::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_RESPONSE_BOX) {
diff --git a/engines/wintermute/ad/ad_rot_level.cpp b/engines/wintermute/ad/ad_rot_level.cpp
index 79c9e56febc..59162e8107e 100644
--- a/engines/wintermute/ad/ad_rot_level.cpp
+++ b/engines/wintermute/ad/ad_rot_level.cpp
@@ -92,7 +92,7 @@ bool AdRotLevel::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ROTATION_LEVEL) {
diff --git a/engines/wintermute/ad/ad_scale_level.cpp b/engines/wintermute/ad/ad_scale_level.cpp
index ad776abfd74..6835e0c7578 100644
--- a/engines/wintermute/ad/ad_scale_level.cpp
+++ b/engines/wintermute/ad/ad_scale_level.cpp
@@ -89,7 +89,7 @@ bool AdScaleLevel::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_SCALE_LEVEL) {
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index e8ecb3b89d2..9c2c56c3b73 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -712,7 +712,7 @@ bool AdScene::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_SCENE) {
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index 1290facb850..333932d4e8c 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -73,8 +73,6 @@ public:
 #endif
 	bool afterLoad();
 
-	void setMaxShadowType(TShadowType shadowType);
-
 #ifdef ENABLE_WME3D
 	float _nearClipPlane;
 	float _farClipPlane;
@@ -185,6 +183,7 @@ public:
 	BaseArray<AdRotLevel *> _rotLevels;
 
 	bool restoreDeviceObjects() override;
+	void setMaxShadowType(TShadowType shadowType);
 	int getPointsDist(const BasePoint &p1, const BasePoint &p2, BaseObject *requester = nullptr);
 
 	void onLayerResized(AdLayer *layer);
@@ -194,6 +193,7 @@ 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;
+
 	Common::String debuggerToString() const override;
 
 private:
diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp
index 900d5b19afa..4716baaf273 100644
--- a/engines/wintermute/ad/ad_sprite_set.cpp
+++ b/engines/wintermute/ad/ad_sprite_set.cpp
@@ -110,7 +110,7 @@ bool AdSpriteSet::loadBuffer(char *buffer, bool complete, int lifeTime, TSpriteC
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_SPRITESET) {
diff --git a/engines/wintermute/ad/ad_talk_def.cpp b/engines/wintermute/ad/ad_talk_def.cpp
index ce3b522806b..1d3338b2466 100644
--- a/engines/wintermute/ad/ad_talk_def.cpp
+++ b/engines/wintermute/ad/ad_talk_def.cpp
@@ -110,7 +110,7 @@ bool AdTalkDef::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_TALK) {
diff --git a/engines/wintermute/ad/ad_talk_node.cpp b/engines/wintermute/ad/ad_talk_node.cpp
index 213cbbe63d4..d1aa20340c9 100644
--- a/engines/wintermute/ad/ad_talk_node.cpp
+++ b/engines/wintermute/ad/ad_talk_node.cpp
@@ -88,7 +88,7 @@ bool AdTalkNode::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ACTION) {
diff --git a/engines/wintermute/ad/ad_waypoint_group.cpp b/engines/wintermute/ad/ad_waypoint_group.cpp
index 7d95f290d04..da784556cdb 100644
--- a/engines/wintermute/ad/ad_waypoint_group.cpp
+++ b/engines/wintermute/ad/ad_waypoint_group.cpp
@@ -111,7 +111,7 @@ bool AdWaypointGroup::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_WAYPOINTS) {
diff --git a/engines/wintermute/ad/ad_waypoint_group3d.h b/engines/wintermute/ad/ad_waypoint_group3d.h
index 445d510a30f..24426ae9781 100644
--- a/engines/wintermute/ad/ad_waypoint_group3d.h
+++ b/engines/wintermute/ad/ad_waypoint_group3d.h
@@ -39,7 +39,6 @@ class Mesh3DS;
 
 class AdWaypointGroup3D : public BaseClass {
 public:
-	// this is already commented out in wme3d
 	//DECLARE_PERSISTENT(AdWaypointGroup3D, BaseClass);
 	bool _active;
 	bool addFromMesh(Mesh3DS *mesh);
diff --git a/engines/wintermute/base/base.cpp b/engines/wintermute/base/base.cpp
index 8ce19ced616..a620fbd1254 100644
--- a/engines/wintermute/base/base.cpp
+++ b/engines/wintermute/base/base.cpp
@@ -102,7 +102,7 @@ bool BaseClass::parseEditorProperty(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_EDITOR_PROPERTY) {
diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp
index 54217a9e9d9..3f906569105 100644
--- a/engines/wintermute/base/base_frame.cpp
+++ b/engines/wintermute/base/base_frame.cpp
@@ -167,7 +167,7 @@ bool BaseFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 	Common::Rect32 rect;
 	int r = 255, g = 255, b = 255;
 	int ar = 255, ag = 255, ab = 255, alpha = 255;
diff --git a/engines/wintermute/base/base_frame.h b/engines/wintermute/base/base_frame.h
index b6eb1bdf172..9792d291fcf 100644
--- a/engines/wintermute/base/base_frame.h
+++ b/engines/wintermute/base/base_frame.h
@@ -65,6 +65,7 @@ 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;
+
 	Common::String debuggerToString() const override;
 };
 
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 195324bd895..6feb7a326cd 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -920,7 +920,7 @@ bool BaseGame::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_GAME) {
@@ -4467,7 +4467,7 @@ bool BaseGame::loadSettings(const char *filename) {
 	char *buffer = origBuffer;
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (parser.getCommand(&buffer, commands, &params) != TOKEN_SETTINGS) {
 		BaseEngine::LOG(0, "'SETTINGS' keyword expected in game settings file.");
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index 41a4e1e8faa..3def6e9b11d 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -102,9 +102,6 @@ public:
 	virtual bool onPaint();
 	virtual bool onWindowClose();
 
-	bool isLeftDoubleClick();
-	bool isRightDoubleClick();
-
 	bool _autorunDisabled;
 	uint32 _lastMiniUpdate;
 	bool _miniUpdateEnabled;
@@ -312,12 +309,12 @@ public:
 	static void afterLoadRegion(void *region, void *data);
 	static void afterLoadSubFrame(void *subframe, void *data);
 	static void afterLoadSound(void *sound, void *data);
+	static void afterLoadFont(void *font, void *data);
 #ifdef ENABLE_WME3D
 	static void afterLoadXModel(void *model, void *data);
 #endif
 	static void afterLoadScript(void *script, void *data);
 	static void invalidateValues(void *value, void *data);
-	static void afterLoadFont(void *font, void *data);
 	bool loadSettings(const char *filename);
 	bool resumeMusic(int channel);
 	bool setMusicStartTime(int channel, uint32 time);
@@ -412,6 +409,25 @@ public:
 private:
 	bool getSaveDir(char *Buffer);
 
+
+
+protected:
+	// WME Lite specific
+	bool _autoSaveOnExit;
+	uint32 _autoSaveSlot;
+	bool _cursorHidden;
+
+public:
+	BaseGameMusic *_musicSystem;
+	Common::String _targetName;
+
+	bool isLeftDoubleClick();
+	bool isRightDoubleClick();
+
+	void setIndicatorVal(int value);
+	bool getBilinearFiltering() { return _bilinearFiltering; }
+	void addMem(int32 bytes);
+
 	bool _bilinearFiltering{};
 #ifdef ENABLE_WME3D
 	bool _force2dRenderer{};
@@ -434,27 +450,12 @@ private:
 	bool isDoubleClick(int32 buttonIndex);
 	uint32 _usedMem;
 
-
-
-protected:
-	// WME Lite specific
-	bool _autoSaveOnExit;
-	uint32 _autoSaveSlot;
-	bool _cursorHidden;
-
-public:
-	BaseGameMusic *_musicSystem;
-	Common::String _targetName;
-
-	void setIndicatorVal(int value);
-	bool getBilinearFiltering() { return _bilinearFiltering; }
-	void addMem(int32 bytes);
-
 	void autoSaveOnExit();
 	PluginEvent &pluginEvents() { return _pluginEvents; }
 
-#ifdef ENABLE_HEROCRAFT
 private:
+
+#ifdef ENABLE_HEROCRAFT
 	// HeroCraft games specific random source with ability a in-script function to set the seed
 	Common::RandomSource *_rndHc;
 
diff --git a/engines/wintermute/base/base_keyboard_state.h b/engines/wintermute/base/base_keyboard_state.h
index 13baa250b6d..32527f1f181 100644
--- a/engines/wintermute/base/base_keyboard_state.h
+++ b/engines/wintermute/base/base_keyboard_state.h
@@ -55,6 +55,12 @@ public:
 	~BaseKeyboardState() override;
 	bool readKey(Common::Event *event);
 
+	// 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 handleKeyPress(Common::Event *event);
 	void handleKeyRelease(Common::Event *event);
 	static bool isShiftDown();
@@ -62,12 +68,6 @@ public:
 	static bool isAltDown();
 	bool isCurrentPrintable() const;
 
-	// 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:
 	void init();
 
diff --git a/engines/wintermute/base/base_object.h b/engines/wintermute/base/base_object.h
index 1fe46d59428..a4330e83027 100644
--- a/engines/wintermute/base/base_object.h
+++ b/engines/wintermute/base/base_object.h
@@ -101,7 +101,6 @@ public:
 	bool _editorAlwaysRegister;
 	bool _editorOnly;
 	bool _is3D;
-
 	DECLARE_PERSISTENT(BaseObject, BaseScriptHolder)
 	virtual bool showCursor();
 	BaseSprite *_cursor;
@@ -154,7 +153,6 @@ public:
 	DXVector3 _shadowLightPos;
 	bool _drawBackfaces;
 	TShadowType _shadowType;
-
 	virtual uint32 getAnimTransitionTime(char *from, char *to) {
 		return 0;
 	};
diff --git a/engines/wintermute/base/base_parser.cpp b/engines/wintermute/base/base_parser.cpp
index 20557729035..60c81b5b8c6 100644
--- a/engines/wintermute/base/base_parser.cpp
+++ b/engines/wintermute/base/base_parser.cpp
@@ -25,6 +25,7 @@
  * Copyright (c) 2011 Jan Nedoma
  */
 
+#include "engines/wintermute/base/base.h"
 #include "engines/wintermute/base/base_parser.h"
 #include "engines/wintermute/base/base_engine.h"
 #include "engines/wintermute/base/base_game.h"
@@ -42,7 +43,7 @@ namespace Wintermute {
 
 
 //////////////////////////////////////////////////////////////////////
-BaseParser::BaseParser() {
+BaseParser::BaseParser(BaseGame *inGame) : BaseClass(inGame) {
 	_whiteSpace = new char [sizeof(WHITESPACE)];
 	Common::strcpy_s(_whiteSpace, sizeof(WHITESPACE), WHITESPACE);
 }
diff --git a/engines/wintermute/base/base_parser.h b/engines/wintermute/base/base_parser.h
index ace64c95935..d5abad62c2f 100644
--- a/engines/wintermute/base/base_parser.h
+++ b/engines/wintermute/base/base_parser.h
@@ -52,10 +52,11 @@
 #define PARSERR_TOKENNOTFOUND   -1
 
 #include "engines/wintermute/coll_templ.h"
+#include "engines/wintermute/base/base.h"
 
 namespace Wintermute {
 
-class BaseParser {
+class BaseParser : public BaseClass {
 public:
 	struct TokenDesc {
 		int32 id;
@@ -76,7 +77,7 @@ public:
 	int32 getObject(char **buf, const TokenDesc *tokens, char **name, char **data);
 	int32 _parserLine = 0;
 	char _lastOffender[255];
-	BaseParser();
+	BaseParser(BaseGame *inGame);
 	virtual ~BaseParser();
 	char *_whiteSpace;
 };
diff --git a/engines/wintermute/base/base_point.h b/engines/wintermute/base/base_point.h
index 2764d20985f..19638e2d022 100644
--- a/engines/wintermute/base/base_point.h
+++ b/engines/wintermute/base/base_point.h
@@ -41,7 +41,6 @@ public:
 	int32 y;
 	int32 x;
 	~BasePoint() override;
-
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index 544aa65d946..1ebe4990668 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -150,7 +150,7 @@ bool BaseRegion::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_REGION) {
diff --git a/engines/wintermute/base/base_region.h b/engines/wintermute/base/base_region.h
index bfb9ad41cdc..3b90b17c304 100644
--- a/engines/wintermute/base/base_region.h
+++ b/engines/wintermute/base/base_region.h
@@ -61,6 +61,7 @@ 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;
+
 	Common::String debuggerToString() const override;
 };
 
diff --git a/engines/wintermute/base/base_script_holder.cpp b/engines/wintermute/base/base_script_holder.cpp
index 3da2b7c0529..81e461fb16f 100644
--- a/engines/wintermute/base/base_script_holder.cpp
+++ b/engines/wintermute/base/base_script_holder.cpp
@@ -382,7 +382,7 @@ bool BaseScriptHolder::parseProperty(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_PROPERTY) {
diff --git a/engines/wintermute/base/base_scriptable.h b/engines/wintermute/base/base_scriptable.h
index 5a60edefab6..956a24f23d9 100644
--- a/engines/wintermute/base/base_scriptable.h
+++ b/engines/wintermute/base/base_scriptable.h
@@ -62,10 +62,11 @@ public:
 	virtual void scSetBool(bool val);
 	virtual int scCompare(BaseScriptable *val);
 	virtual void scDebuggerDesc(char *buf, int bufSize);
-	virtual Common::String debuggerToString() const;
 	int32 _refCount;
 	ScValue *_scValue;
 	ScValue *_scProp;
+
+	virtual Common::String debuggerToString() const;
 };
 
 // Implemented in their respective .cpp-files
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index f5db41df4e0..ea63a6919c2 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -213,7 +213,7 @@ bool BaseSprite::loadBuffer(char *buffer, bool complete, int lifeTime, TSpriteCa
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	cleanup();
 
diff --git a/engines/wintermute/base/base_sprite.h b/engines/wintermute/base/base_sprite.h
index 795031acbf9..f45447c6b7c 100644
--- a/engines/wintermute/base/base_sprite.h
+++ b/engines/wintermute/base/base_sprite.h
@@ -83,6 +83,7 @@ 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;
+
 	Common::String debuggerToString() const override;
 };
 
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index ec8644faae2..2a44322b53e 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -113,7 +113,7 @@ bool BaseSubFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 	Common::Rect32 rect;
 	int r = 255, g = 255, b = 255;
 	int ar = 255, ag = 255, ab = 255, alpha = 255;
@@ -229,10 +229,6 @@ void BaseSubFrame::setRect(Common::Rect32 rect) {
 	_rect = rect;
 }
 
-const char* BaseSubFrame::getSurfaceFilename() {
-	return _surfaceFilename;
-}
-
 //////////////////////////////////////////////////////////////////////
 bool BaseSubFrame::draw(int x, int y, BaseObject *registerOwner, float zoomX, float zoomY, bool precise, uint32 alpha, float rotate, Graphics::TSpriteBlendMode blendMode) {
 
diff --git a/engines/wintermute/base/base_sub_frame.h b/engines/wintermute/base/base_sub_frame.h
index 1360552295f..2e04cd96175 100644
--- a/engines/wintermute/base/base_sub_frame.h
+++ b/engines/wintermute/base/base_sub_frame.h
@@ -54,7 +54,6 @@ public:
 	bool loadBuffer(char *buffer, int lifeTime, bool keepLoaded);
 	bool draw(int x, int y, BaseObject *registerOwner = nullptr, float zoomX = 100, float zoomY = 100, bool precise = true, uint32 alpha = 0xFFFFFFFF, float rotate = 0.0f, Graphics::TSpriteBlendMode blendMode = Graphics::BLEND_NORMAL);
 	bool getBoundingRect(Common::Rect32 *rect, int x, int y, float scaleX = 100, float scaleY = 100);
-	const char* getSurfaceFilename();
 
 	int32 _hotspotX;
 	int32 _hotspotY;
@@ -66,7 +65,6 @@ public:
 private:
 	bool _wantsDefaultRect;
 	Common::Rect32 _rect;
-	char *_surfaceFilename;
 public:
 	bool _cKDefault;
 	byte _cKRed;
@@ -74,6 +72,7 @@ public:
 	byte _cKBlue;
 	int32 _lifeTime;
 	bool _keepLoaded;
+	char *_surfaceFilename;
 
 	bool _2DOnly;
 	bool _3DOnly;
@@ -85,6 +84,7 @@ 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;
+
 	Common::String debuggerToString() const override;
 
 	bool startPixelOperations();
diff --git a/engines/wintermute/base/base_viewport.h b/engines/wintermute/base/base_viewport.h
index 9b8efd744f0..5c1989f49f8 100644
--- a/engines/wintermute/base/base_viewport.h
+++ b/engines/wintermute/base/base_viewport.h
@@ -46,6 +46,7 @@ public:
 	BaseObject *_mainObject;
 	BaseViewport(BaseGame *inGame = nullptr);
 	~BaseViewport() override;
+
 	virtual Common::String debuggerToString() const;
 private:
 	Common::Rect32 _rect;
diff --git a/engines/wintermute/base/font/base_font.cpp b/engines/wintermute/base/font/base_font.cpp
index 2884ca30f9c..fceb0f4a671 100644
--- a/engines/wintermute/base/font/base_font.cpp
+++ b/engines/wintermute/base/font/base_font.cpp
@@ -125,7 +125,7 @@ bool BaseFont::isTrueType(BaseGame *gameRef, const Common::String &filename) {
 	char *workBuffer = buffer;
 
 	char *params;
-	BaseParser parser;
+	BaseParser parser(gameRef);
 
 	bool ret = false;
 	if (parser.getCommand(&workBuffer, commands, &params) == TOKEN_TTFONT) {
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index 9731dd000f2..146cd2e195f 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -346,7 +346,7 @@ bool BaseFontBitmap::loadBuffer(char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (parser.getCommand(&buffer, commands, &params) != TOKEN_FONT) {
 		_game->LOG(0, "'FONT' keyword expected.");
diff --git a/engines/wintermute/base/font/base_font_storage.h b/engines/wintermute/base/font/base_font_storage.h
index 83b4c5020ed..945780b3c00 100644
--- a/engines/wintermute/base/font/base_font_storage.h
+++ b/engines/wintermute/base/font/base_font_storage.h
@@ -46,6 +46,7 @@ public:
 	BaseFontStorage(BaseGame *inGame);
 	~BaseFontStorage() override;
 	BaseArray<BaseFont *> _fonts;
+
 	bool initLoop();
 };
 
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index c1e49f08511..a46bc0b8ec2 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -346,7 +346,7 @@ bool BaseFontTT::loadBuffer(char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (parser.getCommand(&buffer, commands, &params) != TOKEN_TTFONT) {
 		_game->LOG(0, "'TTFONT' keyword expected.");
@@ -451,7 +451,7 @@ bool BaseFontTT::parseLayer(BaseTTFontLayer *layer, char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	while ((cmd = parser.getCommand(&buffer, commands, &params)) > 0) {
 		switch (cmd) {
diff --git a/engines/wintermute/base/font/base_font_truetype.h b/engines/wintermute/base/font/base_font_truetype.h
index 8903908775c..215ab46b596 100644
--- a/engines/wintermute/base/font/base_font_truetype.h
+++ b/engines/wintermute/base/font/base_font_truetype.h
@@ -141,7 +141,6 @@ private:
 
 	BaseArray<BaseTTFontLayer *> _layers;
 	void clearCache();
-
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/gfx/3dface.h b/engines/wintermute/base/gfx/3dface.h
index 397416f72e0..bca29c0f91f 100644
--- a/engines/wintermute/base/gfx/3dface.h
+++ b/engines/wintermute/base/gfx/3dface.h
@@ -34,11 +34,10 @@ namespace Wintermute {
 
 class Face3D {
 public:
-	Face3D();
-	virtual ~Face3D();
-
 	uint16 _vertices[3];
 	DXVector3 _normals[3];
+	Face3D();
+	virtual ~Face3D();
 };
 
 } // namespace Wintermute
diff --git a/engines/wintermute/base/gfx/3dvertex.h b/engines/wintermute/base/gfx/3dvertex.h
index 80590412945..1dc48aa1f38 100644
--- a/engines/wintermute/base/gfx/3dvertex.h
+++ b/engines/wintermute/base/gfx/3dvertex.h
@@ -34,10 +34,9 @@ namespace Wintermute {
 
 class Vertex3D {
 public:
+	DXVector3 _pos;
 	Vertex3D();
 	virtual ~Vertex3D();
-
-	DXVector3 _pos;
 };
 
 } // namespace Wintermute
diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h
index 68d6a995b1e..496a53501ac 100644
--- a/engines/wintermute/base/gfx/base_renderer.h
+++ b/engines/wintermute/base/gfx/base_renderer.h
@@ -190,7 +190,7 @@ public:
 	BaseArray<BaseActiveRect *> _rectList;
 };
 
-BaseRenderer *makeOSystemRenderer(BaseGame *inGame); // Implemented in BRenderSDL.cpp
+BaseRenderer *makeOSystemRenderer(BaseGame *inGame);
 #ifdef ENABLE_WME3D
 class BaseRenderer3D;
 
diff --git a/engines/wintermute/base/gfx/xmaterial.h b/engines/wintermute/base/gfx/xmaterial.h
index 87a11e6485c..c1f30ce5a86 100644
--- a/engines/wintermute/base/gfx/xmaterial.h
+++ b/engines/wintermute/base/gfx/xmaterial.h
@@ -50,9 +50,9 @@ public:
 	bool setTexture(const Common::String &filename, bool adoptName = false);
 	bool setSprite(BaseSprite *sprite, bool adoptName = false);
 	bool setTheora(VideoTheoraPlayer *theora, bool adoptName = false);
+	BaseSurface *getSurface();
 	bool setEffect(Effect3D *effect, Effect3DParams *params, bool adoptName = false);
 
-	BaseSurface *getSurface();
 	Effect3D *getEffect() { return _effect; }
 	Effect3DParams *getEffectParams() { return _params; }
 
diff --git a/engines/wintermute/base/gfx/xmodel.cpp b/engines/wintermute/base/gfx/xmodel.cpp
index 6e20e1a9062..acc16149e4b 100644
--- a/engines/wintermute/base/gfx/xmodel.cpp
+++ b/engines/wintermute/base/gfx/xmodel.cpp
@@ -693,7 +693,7 @@ bool XModel::parseAnim(char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	char *name = nullptr;
 	bool looping = false;
@@ -756,7 +756,7 @@ bool XModel::parseEvent(AnimationSet *anim, char *buffer) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	AnimationSet::AnimationEvent *event = new AnimationSet::AnimationEvent();
 	if (!event) {
diff --git a/engines/wintermute/base/scriptables/script_ext_array.h b/engines/wintermute/base/scriptables/script_ext_array.h
index 136b04040f8..cd305a29787 100644
--- a/engines/wintermute/base/scriptables/script_ext_array.h
+++ b/engines/wintermute/base/scriptables/script_ext_array.h
@@ -46,6 +46,7 @@ public:
 	const char *scToString() override;
 	int32 _length;
 	ScValue *_values;
+
 	Common::String _strRep;
 };
 
diff --git a/engines/wintermute/base/scriptables/script_ext_file.h b/engines/wintermute/base/scriptables/script_ext_file.h
index 65643c3e582..1b74167d4cd 100644
--- a/engines/wintermute/base/scriptables/script_ext_file.h
+++ b/engines/wintermute/base/scriptables/script_ext_file.h
@@ -55,6 +55,7 @@ private:
 	uint32 getLength();
 	bool setPos(uint32 pos, int whence = SEEK_SET);
 	char *_filename;
+
 	Common::WriteStream *openForWrite(const Common::String &filename, bool binary);
 	Common::WriteStream *openForAppend(const Common::String &filename, bool binary);
 };
diff --git a/engines/wintermute/system/sys_class_registry.h b/engines/wintermute/system/sys_class_registry.h
index 0a05a7b048d..583d009b227 100644
--- a/engines/wintermute/system/sys_class_registry.h
+++ b/engines/wintermute/system/sys_class_registry.h
@@ -65,9 +65,6 @@ public:
 #endif
 	static SystemClassRegistry *getInstance();
 
-	SystemClassRegistry();
-	virtual ~SystemClassRegistry();
-
 	bool enumInstances(SYS_INSTANCE_CALLBACK lpCallback, const char *className, void *lpData);
 	bool loadTable(BaseGame *Game, BasePersistenceManager *PersistMgr);
 	bool saveTable(BaseGame *Game, BasePersistenceManager *PersistMgr, bool quickSave);
@@ -83,6 +80,9 @@ public:
 	int getNextID();
 	void addInstanceToTable(SystemInstance *instance, void *pointer);
 
+	SystemClassRegistry();
+	virtual ~SystemClassRegistry();
+
 	bool _disabled;
 	int _count;
 
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index b7a32a79ac5..c4b7e3d9f22 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -204,7 +204,7 @@ bool UIButton::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_BUTTON) {
diff --git a/engines/wintermute/ui/ui_edit.cpp b/engines/wintermute/ui/ui_edit.cpp
index b4cc72b5f96..f84beeed611 100644
--- a/engines/wintermute/ui/ui_edit.cpp
+++ b/engines/wintermute/ui/ui_edit.cpp
@@ -167,7 +167,7 @@ bool UIEdit::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_EDIT) {
diff --git a/engines/wintermute/ui/ui_entity.cpp b/engines/wintermute/ui/ui_entity.cpp
index 969a737545c..95f5694558b 100644
--- a/engines/wintermute/ui/ui_entity.cpp
+++ b/engines/wintermute/ui/ui_entity.cpp
@@ -108,7 +108,7 @@ bool UIEntity::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_ENTITY_CONTAINER) {
diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp
index 6001dff26a9..32c31f42db3 100644
--- a/engines/wintermute/ui/ui_text.cpp
+++ b/engines/wintermute/ui/ui_text.cpp
@@ -172,7 +172,7 @@ bool UIText::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	if (complete) {
 		if (parser.getCommand(&buffer, commands, &params) != TOKEN_STATIC) {
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index 3b68caf2d4b..4ee7edbf07a 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -173,7 +173,7 @@ bool UITiledImage::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd;
-	BaseParser parser;
+	BaseParser parser(_game);
 	bool hTiles = false, vTiles = false;
 	int h1 = 0, h2 = 0, h3 = 0;
 	int v1 = 0, v2 = 0, v3 = 0;
@@ -327,8 +327,8 @@ bool UITiledImage::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 	buffer->putTextIndent(indent, "TILED_IMAGE\n");
 	buffer->putTextIndent(indent, "{\n");
 
-	if (_image && _image->getSurfaceFilename()) {
-		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->getSurfaceFilename());
+	if (_image && _image->_surfaceFilename) {
+		buffer->putTextIndent(indent + 2, "IMAGE=\"%s\"\n", _image->_surfaceFilename);
 	}
 
 	int h1, h2, h3;
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 5dbebeb42a5..e17cd482d22 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -334,7 +334,7 @@ bool UIWindow::loadBuffer(char *buffer, bool complete) {
 
 	char *params;
 	int cmd = 2;
-	BaseParser parser;
+	BaseParser parser(_game);
 
 	int fadeR = 0, fadeG = 0, fadeB = 0, fadeA = 0;
 	int ar = 0, ag = 0, ab = 0, alpha = 0;
diff --git a/engines/wintermute/video/video_subtitler.h b/engines/wintermute/video/video_subtitler.h
index d603ea5b4cc..c4a357a5959 100644
--- a/engines/wintermute/video/video_subtitler.h
+++ b/engines/wintermute/video/video_subtitler.h
@@ -37,14 +37,14 @@ class VideoSubtitler : public BaseClass {
 public:
 	VideoSubtitler(BaseGame *inGame);
 	~VideoSubtitler() override;
+
+	bool _showSubtitle;
+	uint32 _currentSubtitle;
 	bool loadSubtitles(const Common::String &filename, const Common::String &subtitleFile);
 	void display();
 	void update(uint32 frame);
-private:
-	Common::Array<SubtitleCard> _subtitles;
 	int32 _lastSample;
-	bool _showSubtitle;
-	uint32 _currentSubtitle;
+	Common::Array<SubtitleCard> _subtitles;
 };
 
 } // End of namespace Wintermute




More information about the Scummvm-git-logs mailing list