[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, ¶ms) != 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, ¶ms) != 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, ¶ms)) > 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) == 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, ¶ms) != 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, ¶ms) != 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, ¶ms)) > 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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, ¶ms) != 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