aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wintermute/base')
-rw-r--r--engines/wintermute/base/base_game.cpp14
-rw-r--r--engines/wintermute/base/base_object.cpp4
-rw-r--r--engines/wintermute/base/base_region.cpp3
-rw-r--r--engines/wintermute/base/base_script_holder.cpp8
-rw-r--r--engines/wintermute/base/base_script_holder.h4
-rw-r--r--engines/wintermute/base/base_sprite.cpp6
-rw-r--r--engines/wintermute/base/font/base_font_bitmap.cpp3
-rw-r--r--engines/wintermute/base/font/base_font_storage.cpp4
-rw-r--r--engines/wintermute/base/font/base_font_truetype.cpp3
-rw-r--r--engines/wintermute/base/particles/part_particle.cpp5
10 files changed, 27 insertions, 27 deletions
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 0adc938895..da2c01a17f 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -396,9 +396,8 @@ bool BaseGame::cleanup() {
_viewportSP = -1;
delete[] _name;
- delete[] _filename;
_name = NULL;
- _filename = NULL;
+ setFilename(NULL);
for (int i = 0; i < 7; i++) {
delete[] _caption[i];
_caption[i] = NULL;
@@ -679,8 +678,7 @@ bool BaseGame::loadFile(const char *filename) {
bool ret;
- _filename = new char [strlen(filename) + 1];
- strcpy(_filename, filename);
+ setFilename(filename);
if (DID_FAIL(ret = loadBuffer(buffer, true))) _gameRef->LOG(0, "Error parsing GAME file '%s'", filename);
@@ -1662,8 +1660,8 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "GetActiveCursor") == 0) {
stack->correctParams(0);
- if (!_activeCursor || !_activeCursor->_filename) stack->pushNULL();
- else stack->pushString(_activeCursor->_filename);
+ if (!_activeCursor || !_activeCursor->getFilename()) stack->pushNULL();
+ else stack->pushString(_activeCursor->getFilename());
return STATUS_OK;
}
@@ -1938,8 +1936,8 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "GetWaitCursor") == 0) {
stack->correctParams(0);
- if (!_cursorNoninteractive || !_cursorNoninteractive->_filename) stack->pushNULL();
- else stack->pushString(_cursorNoninteractive->_filename);
+ if (!_cursorNoninteractive || !_cursorNoninteractive->getFilename()) stack->pushNULL();
+ else stack->pushString(_cursorNoninteractive->getFilename());
return STATUS_OK;
}
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index 4ab121ded9..2002f01dc8 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -227,8 +227,8 @@ bool BaseObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "GetCursor") == 0) {
stack->correctParams(0);
- if (!_cursor || !_cursor->_filename) stack->pushNULL();
- else stack->pushString(_cursor->_filename);
+ if (!_cursor || !_cursor->getFilename()) stack->pushNULL();
+ else stack->pushString(_cursor->getFilename());
return STATUS_OK;
}
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index e336b92789..95fa163550 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -104,8 +104,7 @@ bool BaseRegion::loadFile(const char *filename) {
bool ret;
- _filename = new char [strlen(filename) + 1];
- strcpy(_filename, filename);
+ setFilename(filename);
if (DID_FAIL(ret = loadBuffer(buffer, true))) _gameRef->LOG(0, "Error parsing REGION file '%s'", filename);
diff --git a/engines/wintermute/base/base_script_holder.cpp b/engines/wintermute/base/base_script_holder.cpp
index f803a9191f..4235353c1e 100644
--- a/engines/wintermute/base/base_script_holder.cpp
+++ b/engines/wintermute/base/base_script_holder.cpp
@@ -72,8 +72,12 @@ bool BaseScriptHolder::cleanup() {
//////////////////////////////////////////////////////////////////////
void BaseScriptHolder::setFilename(const char *filename) {
- if (_filename != NULL) delete [] _filename;
-
+ if (_filename != NULL) {
+ delete [] _filename;
+ _filename = NULL;
+ }
+ if (filename == NULL)
+ return;
_filename = new char [strlen(filename) + 1];
if (_filename != NULL) strcpy(_filename, filename);
}
diff --git a/engines/wintermute/base/base_script_holder.h b/engines/wintermute/base/base_script_holder.h
index 52711572c1..ef1c389dcb 100644
--- a/engines/wintermute/base/base_script_holder.h
+++ b/engines/wintermute/base/base_script_holder.h
@@ -52,8 +52,8 @@ public:
virtual bool listen(BaseScriptHolder *param1, uint32 param2);
bool applyEvent(const char *eventName, bool unbreakable = false);
void setFilename(const char *filename);
+ const char *getFilename() { return _filename; }
bool parseProperty(byte *buffer, bool complete = true);
- char *_filename;
bool _freezable;
bool _ready;
@@ -65,6 +65,8 @@ public:
virtual const char *scToString();
virtual void scDebuggerDesc(char *buf, int bufSize);
// IWmeObject
+private:
+ char *_filename;
public:
virtual bool sendEvent(const char *eventName);
};
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index 046a40bacf..f44e3d4024 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -66,7 +66,7 @@ void BaseSprite::setDefaults() {
_currentFrame = -1;
_looping = false;
_lastFrameTime = 0;
- _filename = NULL;
+ setFilename(NULL);
_finished = false;
_changed = false;
_paused = false;
@@ -160,9 +160,7 @@ bool BaseSprite::loadFile(const char *filename, int lifeTime, TSpriteCacheType c
}
}
- _filename = new char [strlen(filename) + 1];
- strcpy(_filename, filename);
-
+ setFilename(filename);
return ret;
}
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index cb3468c4f3..9a3caf2669 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -252,8 +252,7 @@ bool BaseFontBitmap::loadFile(const char *filename) {
bool ret;
- _filename = new char [strlen(filename) + 1];
- strcpy(_filename, filename);
+ setFilename(filename);
if (DID_FAIL(ret = loadBuffer(buffer))) _gameRef->LOG(0, "Error parsing FONT file '%s'", filename);
diff --git a/engines/wintermute/base/font/base_font_storage.cpp b/engines/wintermute/base/font/base_font_storage.cpp
index 220a16e14f..9adc62c829 100644
--- a/engines/wintermute/base/font/base_font_storage.cpp
+++ b/engines/wintermute/base/font/base_font_storage.cpp
@@ -53,7 +53,7 @@ BaseFontStorage::~BaseFontStorage() {
//////////////////////////////////////////////////////////////////////////
bool BaseFontStorage::cleanup(bool warn) {
for (int i = 0; i < _fonts.getSize(); i++) {
- if (warn) _gameRef->LOG(0, "Removing orphan font '%s'", _fonts[i]->_filename);
+ if (warn) _gameRef->LOG(0, "Removing orphan font '%s'", _fonts[i]->getFilename());
delete _fonts[i];
}
_fonts.removeAll();
@@ -74,7 +74,7 @@ BaseFont *BaseFontStorage::addFont(const char *filename) {
if (!filename) return NULL;
for (int i = 0; i < _fonts.getSize(); i++) {
- if (scumm_stricmp(_fonts[i]->_filename, filename) == 0) {
+ if (scumm_stricmp(_fonts[i]->getFilename(), filename) == 0) {
_fonts[i]->_refCount++;
return _fonts[i];
}
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index bcf8621a40..9782d1d7db 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -416,8 +416,7 @@ bool BaseFontTT::loadFile(const char *filename) {
bool ret;
- _filename = new char [strlen(filename) + 1];
- strcpy(_filename, filename);
+ setFilename(filename);
if (DID_FAIL(ret = loadBuffer(buffer))) _gameRef->LOG(0, "Error parsing TTFONT file '%s'", filename);
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index 93b9f3659d..e36cec6f47 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -73,7 +73,7 @@ PartParticle::~PartParticle(void) {
//////////////////////////////////////////////////////////////////////////
bool PartParticle::setSprite(const char *filename) {
- if (_sprite && _sprite->_filename && scumm_stricmp(filename, _sprite->_filename) == 0) {
+ if (_sprite && _sprite->getFilename() && scumm_stricmp(filename, _sprite->getFilename()) == 0) {
_sprite->reset();
return STATUS_OK;
}
@@ -240,7 +240,8 @@ bool PartParticle::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_fadeStartAlpha));
if (persistMgr->_saving) {
- persistMgr->transfer(TMEMBER(_sprite->_filename));
+ const char *filename = _sprite->getFilename();
+ persistMgr->transfer(TMEMBER(filename));
} else {
char *filename;
persistMgr->transfer(TMEMBER(filename));