aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/resources
diff options
context:
space:
mode:
authorjohndoe1232015-12-08 21:37:06 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commitc0c25691e0d388e30d4ca1a5acdb31ef0aabfb8d (patch)
treed09cf284e028f8212173cf075658262be92a17b4 /engines/illusions/resources
parentc6f2c6ba4eb013119597399e04b58435fe70bfab (diff)
downloadscummvm-rg350-c0c25691e0d388e30d4ca1a5acdb31ef0aabfb8d.tar.gz
scummvm-rg350-c0c25691e0d388e30d4ca1a5acdb31ef0aabfb8d.tar.bz2
scummvm-rg350-c0c25691e0d388e30d4ca1a5acdb31ef0aabfb8d.zip
ILLUSIONS: BBDOU: Implement missing script opcodes and special opcodes; fix ActorType bugs and more
Diffstat (limited to 'engines/illusions/resources')
-rw-r--r--engines/illusions/resources/actorresource.cpp6
-rw-r--r--engines/illusions/resources/backgroundresource.cpp15
2 files changed, 18 insertions, 3 deletions
diff --git a/engines/illusions/resources/actorresource.cpp b/engines/illusions/resources/actorresource.cpp
index 8c65626b0f..2152b7793c 100644
--- a/engines/illusions/resources/actorresource.cpp
+++ b/engines/illusions/resources/actorresource.cpp
@@ -183,7 +183,6 @@ void ActorInstance::load(Resource *resource) {
_sceneId = resource->_sceneId;
_pauseCtr = 0;
initActorTypes();
- registerResources();
}
void ActorInstance::unload() {
@@ -219,6 +218,11 @@ void ActorInstance::initActorTypes() {
if (actorType->_value1E == 0)
actorType->_value1E = actorType2->_value1E;
}
+ _vm->_dict->addActorType(actorType->_actorTypeId, actorType);
+ }
+ for (uint i = 0; i < _actorResource->_sequences.size(); ++i) {
+ Sequence *sequence = &_actorResource->_sequences[i];
+ _vm->_dict->addSequence(sequence->_sequenceId, sequence);
}
}
diff --git a/engines/illusions/resources/backgroundresource.cpp b/engines/illusions/resources/backgroundresource.cpp
index d18d46bf2f..a95919635b 100644
--- a/engines/illusions/resources/backgroundresource.cpp
+++ b/engines/illusions/resources/backgroundresource.cpp
@@ -202,11 +202,22 @@ void PathWalkRects::load(byte *dataStart, Common::SeekableReadStream &stream) {
// BackgroundResource
-BackgroundResource::BackgroundResource() {
+BackgroundResource::BackgroundResource()
+ : _bgInfos(0), _scaleLayers(0), _priorityLayers(0), _regionLayers(0),
+ _regionSequences(0), _backgroundObjects(0), _pathWalkPoints(0),
+ _pathWalkRects(0), _palettes(0) {
}
BackgroundResource::~BackgroundResource() {
- // TODO Free stuff
+ delete[] _bgInfos;
+ delete[] _scaleLayers;
+ delete[] _priorityLayers;
+ delete[] _regionLayers;
+ delete[] _regionSequences;
+ delete[] _backgroundObjects;
+ delete[] _pathWalkPoints;
+ delete[] _pathWalkRects;
+ delete[] _palettes;
}
void BackgroundResource::load(byte *data, uint32 dataSize) {