diff options
author | Filippos Karapetis | 2017-03-22 04:11:49 +0200 |
---|---|---|
committer | Filippos Karapetis | 2017-03-22 04:11:49 +0200 |
commit | f3e81b5f17872186f7c67a551876dd78f268865c (patch) | |
tree | 3465c6ec7a4664cee4b7e893e8e0e0d3c5845603 /engines/fullpipe/stateloader.cpp | |
parent | 728b23af2ad939e3da920a41b85730689a1aa71f (diff) | |
download | scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.tar.gz scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.tar.bz2 scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.zip |
FULLPIPE: Use Common::String in all scene object names
Diffstat (limited to 'engines/fullpipe/stateloader.cpp')
-rw-r--r-- | engines/fullpipe/stateloader.cpp | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index fa663b27bc..54d6fbbf3f 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -256,11 +256,10 @@ void GameLoader::addVar(GameVar *var, GameVar *subvar) { subvar->_value.intValue = var->_value.intValue; for (GameVar *v = var->_subVars; v; v = v->_nextVarObj) { - GameVar *nv = subvar->getSubVarByName(v->_varName); + GameVar *nv = subvar->getSubVarByName(v->_varName.c_str()); if (!nv) { nv = new GameVar; - nv->_varName = (char *)calloc(strlen(v->_varName) + 1, 1); - strcpy(nv->_varName, v->_varName); + nv->_varName = v->_varName; nv->_varType = v->_varType; subvar->addSubVar(nv); @@ -361,7 +360,6 @@ bool FullpipeEngine::loadGam(const char *fname, int scene) { GameProject::GameProject() { _field_4 = 0; - _headerFilename = 0; _field_10 = 12; _sceneTagList = 0; @@ -371,7 +369,6 @@ bool GameProject::load(MfcArchive &file) { debugC(5, kDebugLoading, "GameProject::load()"); _field_4 = 0; - _headerFilename = 0; _field_10 = 12; g_fp->_gameProjectVersion = file.readUint32LE(); @@ -383,7 +380,7 @@ bool GameProject::load(MfcArchive &file) { debugC(1, kDebugLoading, "_gameProjectVersion = %d", g_fp->_gameProjectVersion); debugC(1, kDebugLoading, "_pictureScale = %d", g_fp->_pictureScale); debugC(1, kDebugLoading, "_scrollSpeed = %d", g_fp->_scrollSpeed); - debugC(1, kDebugLoading, "_headerFilename = %s", _headerFilename); + debugC(1, kDebugLoading, "_headerFilename = %s", _headerFilename.c_str()); _sceneTagList = new SceneTagList(); @@ -401,8 +398,6 @@ bool GameProject::load(MfcArchive &file) { } GameProject::~GameProject() { - free(_headerFilename); - delete _sceneTagList; } @@ -414,7 +409,6 @@ GameVar::GameVar() { _field_14 = 0; _varType = 0; _value.floatValue = 0; - _varName = 0; _objtype = kObjTypeGameVar; } @@ -455,8 +449,6 @@ GameVar::~GameVar() { delete s; s = _field_14; } - - free(_varName); } bool GameVar::load(MfcArchive &file) { @@ -478,9 +470,12 @@ bool GameVar::load(MfcArchive &file) { _value.intValue = file.readUint32LE(); // FIXME debugC(6, kDebugLoading, "f --> %f", _value.floatValue); break; - case 2: - _value.stringValue = file.readPascalString(); + case 2: { + Common::String str = file.readPascalString(); + _value.stringValue = (char *)calloc(str.size() + 1, 1); + Common::strlcpy(_value.stringValue, str.c_str(), str.size() + 1); debugC(6, kDebugLoading, "s --> %s", _value.stringValue); + } break; default: error("Unknown var type: %d (0x%x)", _varType, _varType); @@ -502,7 +497,7 @@ GameVar *GameVar::getSubVarByName(const char *name) { if (_subVars != 0) { sv = _subVars; - for (;sv && scumm_stricmp(sv->_varName, name); sv = sv->_nextVarObj) + for (;sv && scumm_stricmp(sv->_varName.c_str(), name); sv = sv->_nextVarObj) ; } return sv; @@ -523,8 +518,7 @@ bool GameVar::setSubVarAsInt(const char *name, int value) { var = new GameVar(); var->_varType = 0; var->_value.intValue = value; - var->_varName = (char *)calloc(strlen(name) + 1, 1); - strcpy(var->_varName, name); + var->_varName = name; return addSubVar(var); } @@ -547,8 +541,7 @@ GameVar *GameVar::addSubVarAsInt(const char *name, int value) { var->_varType = 0; var->_value.intValue = value; - var->_varName = (char *)calloc(strlen(name) + 1, 1); - strcpy(var->_varName, name); + var->_varName = name; return (addSubVar(var) != 0) ? var : 0; } |