aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/scriptresource.h
diff options
context:
space:
mode:
authorjohndoe1232014-04-08 19:43:17 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit67366aa04b723fadec300cc6ce1d5c6ee9241af7 (patch)
treebd4783f6b6ebb6c25d52a1349a60c2fd10034e0b /engines/illusions/scriptresource.h
parent3f15233f78a264e45ce74ecd2db9ed3119b1b654 (diff)
downloadscummvm-rg350-67366aa04b723fadec300cc6ce1d5c6ee9241af7.tar.gz
scummvm-rg350-67366aa04b723fadec300cc6ce1d5c6ee9241af7.tar.bz2
scummvm-rg350-67366aa04b723fadec300cc6ce1d5c6ee9241af7.zip
ILLUSIONS: More work on Duckman
Diffstat (limited to 'engines/illusions/scriptresource.h')
-rw-r--r--engines/illusions/scriptresource.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/illusions/scriptresource.h b/engines/illusions/scriptresource.h
index 5e2da4574d..f33ac10a41 100644
--- a/engines/illusions/scriptresource.h
+++ b/engines/illusions/scriptresource.h
@@ -79,6 +79,7 @@ public:
~TriggerObject();
void load(byte *dataStart, Common::SeekableReadStream &stream);
bool findTriggerCause(uint32 verbId, uint32 objectId2, uint32 &codeOffs);
+ void fixupProgInfosDuckman();
public:
uint32 _objectId;
uint _causesCount;
@@ -91,12 +92,16 @@ public:
~ProgInfo();
void load(byte *dataStart, Common::SeekableReadStream &stream);
bool findTriggerCause(uint32 verbId, uint32 objectId2, uint32 objectId, uint32 &codeOffs);
+ void getResources(uint &resourcesCount, uint32 *&resources);
+ void fixupProgInfosDuckman();
protected:
uint16 _id;
uint16 _unk;
byte *_name;
uint _triggerObjectsCount;
TriggerObject *_triggerObjects;
+ uint _resourcesCount;
+ uint32 *_resources;
TriggerObject *findTriggerObject(uint32 objectId);
};
@@ -104,10 +109,11 @@ class ScriptResource {
public:
ScriptResource();
~ScriptResource();
- void load(byte *data, uint32 dataSize);
+ void load(Resource *resource);
byte *getThreadCode(uint32 threadId);
byte *getCode(uint32 codeOffs);
ProgInfo *getProgInfo(uint32 index);
+ uint32 getObjectActorTypeId(uint32 objectId);
public:
byte *_data;
uint32 _dataSize;
@@ -117,6 +123,11 @@ public:
uint32 *_codeOffsets;
uint _progInfosCount;
ProgInfo *_progInfos;
+ // Duckman specific
+ uint32 _soundIds[27];
+ uint _objectMapCount;
+ uint32 *_objectMap;
+ void fixupProgInfosDuckman();
};
} // End of namespace Illusions