[Scummvm-cvs-logs] scummvm master -> 0d369f716e37f5555ee636d75a3d40e3f3ff0e5f
sev-
sev at scummvm.org
Thu Feb 18 10:31:28 CET 2016
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ab9e2fdca3 WAGE: Initialize class variables
a2dcddc06d WAGE: Safer string concatenation
b01fb9f3f3 WAGE: Plug memory leak
c3bae66b56 WAGE: Plug memory leak
51dca83011 WAGE: Safety check on parsing main game file
0d369f716e METAENGINE: Hint the compiler that we intentionally ignore pollEvents() return value
Commit: ab9e2fdca39034fad19e17e271886dc88839a201
https://github.com/scummvm/scummvm/commit/ab9e2fdca39034fad19e17e271886dc88839a201
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:18+01:00
Commit Message:
WAGE: Initialize class variables
Changed paths:
engines/wage/design.cpp
engines/wage/entities.cpp
engines/wage/entities.h
engines/wage/menu.cpp
engines/wage/script.cpp
engines/wage/wage.cpp
engines/wage/world.cpp
diff --git a/engines/wage/design.cpp b/engines/wage/design.cpp
index 247d989..3ecb02e 100644
--- a/engines/wage/design.cpp
+++ b/engines/wage/design.cpp
@@ -70,6 +70,7 @@ Design::Design(Common::SeekableReadStream *data) {
data->read(_data, _len);
_surface = NULL;
+ _bounds = NULL;
}
Design::~Design() {
diff --git a/engines/wage/entities.cpp b/engines/wage/entities.cpp
index f85a228..d9e4b60 100644
--- a/engines/wage/entities.cpp
+++ b/engines/wage/entities.cpp
@@ -200,6 +200,18 @@ const char *Scene::getFontName() {
return "Unknown";
}
+Obj::Obj() : _currentOwner(NULL), _currentScene(NULL) {
+ _index = 0;
+ _namePlural = false;
+ _value = 0;
+ _attackType = 0;
+ _numberOfUses = 0;
+ _returnToRandomScene = false;
+ _type = 0;
+ _accuracy = 0;
+ _damage = 0;
+}
+
Obj::Obj(Common::String name, Common::SeekableReadStream *data) {
_name = name;
_classType = OBJ;
diff --git a/engines/wage/entities.h b/engines/wage/entities.h
index 3010c8a..ce006a6 100644
--- a/engines/wage/entities.h
+++ b/engines/wage/entities.h
@@ -228,7 +228,7 @@ public:
class Obj : public Designed {
public:
- Obj() : _currentOwner(NULL), _currentScene(NULL) {}
+ Obj();
Obj(Common::String name, Common::SeekableReadStream *data);
~Obj();
diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp
index dfb042d..48f1642 100644
--- a/engines/wage/menu.cpp
+++ b/engines/wage/menu.cpp
@@ -130,6 +130,8 @@ Menu::Menu(Gui *gui) : _gui(gui) {
_items.push_back(_commands);
regenCommandsMenu();
+ _weapons = NULL;
+
if (!_gui->_engine->_world->_weaponMenuDisabled) {
_weapons = new MenuItem(_gui->_engine->_world->_weaponsMenuName.c_str());
_items.push_back(_weapons);
diff --git a/engines/wage/script.cpp b/engines/wage/script.cpp
index 523f1e1..b7e77df 100644
--- a/engines/wage/script.cpp
+++ b/engines/wage/script.cpp
@@ -75,6 +75,15 @@ Common::String Script::Operand::toString() {
}
Script::Script(Common::SeekableReadStream *data) : _data(data) {
+ _engine = NULL;
+ _world = NULL;
+
+ _loopCount = 0;
+ _inputText = NULL;
+ _inputClick = NULL;
+
+ _handled = false;
+
convertToText();
}
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 0a68ce4..1932168 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -71,10 +71,20 @@ WageEngine::WageEngine(OSystem *syst, const ADGameDescription *desc) : Engine(sy
_running = NULL;
_lastScene = NULL;
+ _loopCount = 0;
+ _turn = 0;
+
_commandWasQuick = false;
_shouldQuit = false;
+ _gui = NULL;
+ _world = NULL;
+ _console = NULL;
+ _offer = NULL;
+
+ _resManager = NULL;
+
debug("WageEngine::WageEngine()");
}
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index cb6e806..066c394 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -67,6 +67,8 @@ World::World(WageEngine *engine) {
_saveBeforeCloseMessage = nullptr;
_revertMessage = nullptr;
+ _weaponMenuDisabled = true;
+
_engine = engine;
}
Commit: a2dcddc06d945b443e897c8b60c1f7d5f8169637
https://github.com/scummvm/scummvm/commit/a2dcddc06d945b443e897c8b60c1f7d5f8169637
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00
Commit Message:
WAGE: Safer string concatenation
Changed paths:
engines/wage/world.cpp
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 066c394..6c74911 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -509,8 +509,8 @@ const char *World::getAboutMenuItemName() {
const char *pos = strchr(str, '@');
if (pos) {
strncat(menu, str, (pos - str));
- strcat(menu, _name.c_str());
- strcat(menu, pos + 1);
+ strncat(menu, _name.c_str(), 256);
+ strncat(menu, pos + 1, 256);
}
}
Commit: b01fb9f3f32f3d61a6e0988988b303118719751f
https://github.com/scummvm/scummvm/commit/b01fb9f3f32f3d61a6e0988988b303118719751f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00
Commit Message:
WAGE: Plug memory leak
Changed paths:
engines/wage/world.cpp
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 6c74911..63b77a5 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -359,18 +359,17 @@ void World::loadExternalSounds(Common::String fname) {
}
in.close();
- Common::MacResManager *resMan;
- resMan = new Common::MacResManager();
- resMan->open(fname);
+ Common::MacResManager resMan;
+ resMan.open(fname);
Common::MacResIDArray resArray;
Common::SeekableReadStream *res;
Common::MacResIDArray::const_iterator iter;
- resArray = resMan->getResIDArray(MKTAG('A','S','N','D'));
+ resArray = resMan.getResIDArray(MKTAG('A','S','N','D'));
for (iter = resArray.begin(); iter != resArray.end(); ++iter) {
- res = resMan->getResource(MKTAG('A','S','N','D'), *iter);
- addSound(new Sound(resMan->getResName(MKTAG('A','S','N','D'), *iter), res));
+ res = resMan.getResource(MKTAG('A','S','N','D'), *iter);
+ addSound(new Sound(resMan.getResName(MKTAG('A','S','N','D'), *iter), res));
}
}
Commit: c3bae66b56b2258655d9d2af725f17fab94649b2
https://github.com/scummvm/scummvm/commit/c3bae66b56b2258655d9d2af725f17fab94649b2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00
Commit Message:
WAGE: Plug memory leak
Changed paths:
engines/wage/script.cpp
engines/wage/world.cpp
diff --git a/engines/wage/script.cpp b/engines/wage/script.cpp
index b7e77df..42fde9f 100644
--- a/engines/wage/script.cpp
+++ b/engines/wage/script.cpp
@@ -175,6 +175,7 @@ bool Script::execute(World *world, int loopCount, Common::String *inputText, Des
Operand *op = readStringOperand(); // allows empty menu
// TODO check op type is string.
_engine->setMenu(op->toString());
+ delete op;
byte d = _data->readByte();
if (d != 0xFD)
warning("Operand 0x8B (PRINT) End Byte != 0xFD");
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 63b77a5..73abebc 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -274,6 +274,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
for (uint i = 0; i < string.size() && string[i] != ';'; i++) // Read token
_aboutMenuItemName += string[i];
+ delete menu;
delete res;
}
res = resMan->getResource(MKTAG('M','E','N','U'), 2004);
Commit: 51dca8301190736ffe5fb09c986452957aa05017
https://github.com/scummvm/scummvm/commit/51dca8301190736ffe5fb09c986452957aa05017
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00
Commit Message:
WAGE: Safety check on parsing main game file
Changed paths:
engines/wage/wage.cpp
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 1932168..8886b0d 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -109,7 +109,8 @@ Common::Error WageEngine::run() {
// Your main event loop should be (invoked from) here.
_resManager = new Common::MacResManager();
- _resManager->open(getGameFile());
+ if (!_resManager->open(getGameFile()))
+ error("Could not open %s as a resource fork", getGameFile());
_world = new World(this);
Commit: 0d369f716e37f5555ee636d75a3d40e3f3ff0e5f
https://github.com/scummvm/scummvm/commit/0d369f716e37f5555ee636d75a3d40e3f3ff0e5f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:35+01:00
Commit Message:
METAENGINE: Hint the compiler that we intentionally ignore pollEvents() return value
Changed paths:
engines/engine.cpp
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 475cc77..d3b9b11 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -292,7 +292,7 @@ void splashScreen() {
Common::Event event;
while (time0 + 600 > g_system->getMillis()) {
g_system->updateScreen();
- g_system->getEventManager()->pollEvent(event);
+ (void)g_system->getEventManager()->pollEvent(event);
g_system->delayMillis(10);
}
g_system->hideOverlay();
More information about the Scummvm-git-logs
mailing list