aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/stateloader.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2017-03-22 04:11:49 +0200
committerFilippos Karapetis2017-03-22 04:11:49 +0200
commitf3e81b5f17872186f7c67a551876dd78f268865c (patch)
tree3465c6ec7a4664cee4b7e893e8e0e0d3c5845603 /engines/fullpipe/stateloader.cpp
parent728b23af2ad939e3da920a41b85730689a1aa71f (diff)
downloadscummvm-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.cpp29
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;
}