aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/world.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-27 13:59:08 -0400
committerPaul Gilbert2016-08-27 13:59:08 -0400
commitf5ab3d1cd9eb3a884b0ab5d0b154a4f9cccc74b7 (patch)
tree771a8d2b3fddf96c17a1d81d42cb08dfba09d110 /engines/wage/world.cpp
parent873d555add9aaf5eb0d021518f5134142e2c2ff6 (diff)
parent5ea32efbb0ecb3e6b8336ad3c2edd3905ea5b89a (diff)
downloadscummvm-rg350-f5ab3d1cd9eb3a884b0ab5d0b154a4f9cccc74b7.tar.gz
scummvm-rg350-f5ab3d1cd9eb3a884b0ab5d0b154a4f9cccc74b7.tar.bz2
scummvm-rg350-f5ab3d1cd9eb3a884b0ab5d0b154a4f9cccc74b7.zip
Merge branch 'master' into xeen
Diffstat (limited to 'engines/wage/world.cpp')
-rw-r--r--engines/wage/world.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 0e40e114b4..acc2a83d97 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -69,12 +69,13 @@ World::World(WageEngine *engine) {
_globalScript = nullptr;
_player = nullptr;
+ _signature = 0;
_weaponMenuDisabled = true;
_engine = engine;
- _patterns = new Patterns;
+ _patterns = new Graphics::MacPatterns;
}
World::~World() {
@@ -146,7 +147,8 @@ bool World::loadWorld(Common::MacResManager *resMan) {
res = resMan->getResource(MKTAG('V','E','R','S'), resArray[0]);
- res->skip(10);
+ _signature = res->readSint32LE();
+ res->skip(6);
byte b = res->readByte();
_weaponMenuDisabled = (b != 0);
if (b != 0 && b != 1)
@@ -215,6 +217,8 @@ bool World::loadWorld(Common::MacResManager *resMan) {
delete res;
}
+
+ scene->_resourceId = *iter;
addScene(scene);
}
@@ -224,7 +228,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
for (iter = resArray.begin(); iter != resArray.end(); ++iter) {
res = resMan->getResource(MKTAG('A','O','B','J'), *iter);
- addObj(new Obj(resMan->getResName(MKTAG('A','O','B','J'), *iter), res));
+ addObj(new Obj(resMan->getResName(MKTAG('A','O','B','J'), *iter), res, *iter));
}
// Load Characters
@@ -234,7 +238,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
for (iter = resArray.begin(); iter != resArray.end(); ++iter) {
res = resMan->getResource(MKTAG('A','C','H','R'), *iter);
Chr *chr = new Chr(resMan->getResName(MKTAG('A','C','H','R'), *iter), res);
-
+ chr->_resourceId = *iter;
addChr(chr);
// TODO: What if there's more than one player character?
if (chr->_playerCharacter)