diff options
Diffstat (limited to 'engines/wintermute/base/particles')
-rw-r--r-- | engines/wintermute/base/particles/part_emitter.cpp | 4 | ||||
-rw-r--r-- | engines/wintermute/base/particles/part_force.cpp | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp index 54e612ff42..76fe3c79de 100644 --- a/engines/wintermute/base/particles/part_emitter.cpp +++ b/engines/wintermute/base/particles/part_emitter.cpp @@ -367,7 +367,7 @@ PartForce *PartEmitter::addForceByName(const char *name) { PartForce *force = NULL;
for (int i = 0; i < _forces.getSize(); i++) {
- if (scumm_stricmp(name, _forces[i]->_name) == 0) {
+ if (scumm_stricmp(name, _forces[i]->getName()) == 0) {
force = _forces[i];
break;
}
@@ -402,7 +402,7 @@ bool PartEmitter::addForce(const char *name, PartForce::TForceType type, int pos //////////////////////////////////////////////////////////////////////////
bool PartEmitter::removeForce(const char *name) {
for (int i = 0; i < _forces.getSize(); i++) {
- if (scumm_stricmp(name, _forces[i]->_name) == 0) {
+ if (scumm_stricmp(name, _forces[i]->getName()) == 0) {
delete _forces[i];
_forces.removeAt(i);
return STATUS_OK;
diff --git a/engines/wintermute/base/particles/part_force.cpp b/engines/wintermute/base/particles/part_force.cpp index ba60e8b41c..7311ea21f6 100644 --- a/engines/wintermute/base/particles/part_force.cpp +++ b/engines/wintermute/base/particles/part_force.cpp @@ -48,7 +48,14 @@ PartForce::~PartForce(void) { //////////////////////////////////////////////////////////////////////////
bool PartForce::persist(BasePersistenceManager *persistMgr) {
- persistMgr->transfer(TMEMBER(_name));
+ if (persistMgr->_saving) {
+ const char *name = getName();
+ persistMgr->transfer(TMEMBER(name));
+ } else {
+ const char *name;
+ persistMgr->transfer(TMEMBER(name));
+ setName(name);
+ }
persistMgr->transfer(TMEMBER(_pos));
persistMgr->transfer(TMEMBER(_direction));
persistMgr->transfer(TMEMBER_INT(_type));
|