diff options
| author | johndoe123 | 2015-12-08 21:37:06 +0100 |
|---|---|---|
| committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
| commit | c0c25691e0d388e30d4ca1a5acdb31ef0aabfb8d (patch) | |
| tree | d09cf284e028f8212173cf075658262be92a17b4 /engines/illusions/resources | |
| parent | c6f2c6ba4eb013119597399e04b58435fe70bfab (diff) | |
| download | scummvm-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.cpp | 6 | ||||
| -rw-r--r-- | engines/illusions/resources/backgroundresource.cpp | 15 |
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) { |
