aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/world.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wage/world.cpp')
-rw-r--r--engines/wage/world.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 67987a5db1..f326f5868a 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -25,17 +25,32 @@
#include "wage/wage.h"
#include "wage/macresman.h"
+#include "wage/script.h"
+#include "wage/obj.h"
+#include "wage/world.h"
#include "common/stream.h"
namespace Wage {
-bool WageEngine::loadWorld(MacResManager *resMan) {
+World::World() {
+ _storageScene.setName(STORAGESCENE);
+ _orderedScenes.push_back(_storageScene);
+ _scenes[STORAGESCENE] = _storageScene;
+}
+
+bool World::loadWorld(MacResManager *resMan) {
int resSize;
MacResIDArray resArray;
byte *res;
MacResIDArray::const_iterator iter;
+ if ((resArray = resMan->getResIDArray("GCOD")).size() == 0)
+ return false;
+
+ res = resMan->getResource("GCOD", resArray[0], &resSize);
+ _globalScript = new Script(res);
+
if ((resArray = resMan->getResIDArray("VERS")).size() == 0)
return false;
@@ -54,7 +69,7 @@ bool WageEngine::loadWorld(MacResManager *resMan) {
readS.skip(3);
_aboutMessage = readPascalString(readS);
- if (!stricmp(getGameFile(), "Scepters"))
+ if (!stricmp(resMan->getFileName().c_str(), "Scepters"))
readS.skip(1); // ????
_soundLibrary1 = readPascalString(readS);