[Scummvm-cvs-logs] scummvm master -> 763eedd0df5aed045e121b9256c6664278451d68
sev-
sev at scummvm.org
Fri Sep 13 23:20:57 CEST 2013
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1e72640cba FULLPIPE: Fix leaked resource. CID 1063205
4db215a511 FULLPIPE: Move PreloadItem methods where they belong
763eedd0df FULLPIPE: Fix condition. CID 1063217
Commit: 1e72640cbacac854d87090f86f6a79ba9ccdd522
https://github.com/scummvm/scummvm/commit/1e72640cbacac854d87090f86f6a79ba9ccdd522
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-09-13T14:08:50-07:00
Commit Message:
FULLPIPE: Fix leaked resource. CID 1063205
Changed paths:
engines/fullpipe/sound.cpp
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 7f34412..821049c 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -49,7 +49,7 @@ bool SoundList::load(MfcArchive &file, char *fname) {
for (int i = 0; i < _soundItemsCount; i++) {
Sound *snd = new Sound();
- _soundItems[i] = 0;
+ _soundItems[i] = snd;
snd->load(file, _libHandle);
}
Commit: 4db215a511e9829734fb3cae0785a7adb353e816
https://github.com/scummvm/scummvm/commit/4db215a511e9829734fb3cae0785a7adb353e816
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-09-13T14:14:49-07:00
Commit Message:
FULLPIPE: Move PreloadItem methods where they belong
Changed paths:
engines/fullpipe/gameloader.cpp
engines/fullpipe/gameloader.h
engines/fullpipe/stateloader.cpp
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp
index fa8eddf..2a8f64d 100644
--- a/engines/fullpipe/gameloader.cpp
+++ b/engines/fullpipe/gameloader.cpp
@@ -246,7 +246,7 @@ bool CGameLoader::preloadScene(int sceneId, int entranceId) {
int idx = -1;
for (uint i = 0; i < _preloadItems.size(); i++)
- if (_preloadItems[i].preloadId1 == sceneId && _preloadItems[i].preloadId2 == entranceId) {
+ if (_preloadItems[i]->preloadId1 == sceneId && _preloadItems[i]->preloadId2 == entranceId) {
idx = i;
break;
}
@@ -258,7 +258,7 @@ bool CGameLoader::preloadScene(int sceneId, int entranceId) {
}
if (_preloadCallback) {
- if (!_preloadCallback(_preloadItems[idx], 0))
+ if (!_preloadCallback(*_preloadItems[idx], 0))
return false;
}
@@ -270,19 +270,19 @@ bool CGameLoader::preloadScene(int sceneId, int entranceId) {
unloadScene(sceneId);
if (_preloadCallback)
- _preloadCallback(_preloadItems[idx], 50);
+ _preloadCallback(*_preloadItems[idx], 50);
- loadScene(_preloadItems[idx].sceneId);
+ loadScene(_preloadItems[idx]->sceneId);
- ExCommand *ex = new ExCommand(_preloadItems[idx].sceneId, 17, 62, 0, 0, 0, 1, 0, 0, 0);
+ ExCommand *ex = new ExCommand(_preloadItems[idx]->sceneId, 17, 62, 0, 0, 0, 1, 0, 0, 0);
ex->_excFlags = 2;
- ex->_keyCode = _preloadItems[idx].keyCode;
+ ex->_keyCode = _preloadItems[idx]->keyCode;
_preloadSceneId = 0;
_preloadEntranceId = 0;
if (_preloadCallback)
- _preloadCallback(_preloadItems[idx], 100);
+ _preloadCallback(*_preloadItems[idx], 100);
ex->postMessage();
@@ -476,6 +476,26 @@ bool Sc2::load(MfcArchive &file) {
return true;
}
+bool PreloadItems::load(MfcArchive &file) {
+ debug(5, "PreloadItems::load()");
+
+ int count = file.readCount();
+
+ resize(count);
+
+ for (int i = 0; i < count; i++) {
+ PreloadItem *t = new PreloadItem();
+ t->preloadId1 = file.readUint32LE();
+ t->preloadId2 = file.readUint32LE();
+ t->sceneId = file.readUint32LE();
+ t->keyCode = file.readUint32LE();
+
+ push_back(t);
+ }
+
+ return true;
+}
+
CGameVar *FullpipeEngine::getGameLoaderGameVar() {
if (_gameLoader)
return _gameLoader->_gameVar;
diff --git a/engines/fullpipe/gameloader.h b/engines/fullpipe/gameloader.h
index 87cd1f1..2f1f57a 100644
--- a/engines/fullpipe/gameloader.h
+++ b/engines/fullpipe/gameloader.h
@@ -67,7 +67,7 @@ struct PreloadItem {
bool preloadCallback(const PreloadItem &pre, int flag);
-class PreloadItems : public Common::Array<PreloadItem>, public CObject {
+class PreloadItems : public Common::Array<PreloadItem *>, public CObject {
public:
virtual bool load(MfcArchive &file);
};
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp
index dd00361..55d74c4 100644
--- a/engines/fullpipe/stateloader.cpp
+++ b/engines/fullpipe/stateloader.cpp
@@ -143,26 +143,6 @@ GameProject::~GameProject() {
free(_headerFilename);
}
-bool PreloadItems::load(MfcArchive &file) {
- debug(5, "PreloadItems::load()");
-
- int count = file.readCount();
-
- resize(count);
-
- for (int i = 0; i < count; i++) {
- PreloadItem *t = new PreloadItem();
- t->preloadId1 = file.readUint32LE();
- t->preloadId2 = file.readUint32LE();
- t->sceneId = file.readUint32LE();
- t->keyCode = file.readUint32LE();
-
- push_back(*t);
- }
-
- return true;
-}
-
CGameVar::CGameVar() {
_subVars = 0;
_parentVarObj = 0;
Commit: 763eedd0df5aed045e121b9256c6664278451d68
https://github.com/scummvm/scummvm/commit/763eedd0df5aed045e121b9256c6664278451d68
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-09-13T14:17:43-07:00
Commit Message:
FULLPIPE: Fix condition. CID 1063217
Changed paths:
engines/fullpipe/statics.cpp
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 1fd02f8..7d692ab 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -549,7 +549,7 @@ void StaticANIObject::draw2() {
MovTable *StaticANIObject::countMovements() {
CGameVar *preloadSubVar = g_fullpipe->getGameLoaderGameVar()->getSubVarByName(getName())->getSubVarByName("PRELOAD");
- if (preloadSubVar || preloadSubVar->getSubVarsCount() == 0)
+ if (!preloadSubVar || preloadSubVar->getSubVarsCount() == 0)
return 0;
MovTable *movTable = new MovTable;
More information about the Scummvm-git-logs
mailing list