diff options
author | Peter Kohaut | 2015-09-13 01:48:13 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:40 +0200 |
commit | 6672e443a870963354ee43298c75164d382a5636 (patch) | |
tree | 0cee43adb6ac77aa467700f3756668c456bb9af6 /engines/bladerunner/set.cpp | |
parent | a4ba6091316f8f50ea40d4dfd42bd26d419b1206 (diff) | |
download | scummvm-rg350-6672e443a870963354ee43298c75164d382a5636.tar.gz scummvm-rg350-6672e443a870963354ee43298c75164d382a5636.tar.bz2 scummvm-rg350-6672e443a870963354ee43298c75164d382a5636.zip |
BLADERUNNER: just basic objects description scene stuff - lightning and effects movement track actor clues db actor walking info moved view from vqa decoder, because its needed elsewhere
does not compile, because new files are not in makefile...
Diffstat (limited to 'engines/bladerunner/set.cpp')
-rw-r--r-- | engines/bladerunner/set.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp index c37b31a80e..a2e54107d2 100644 --- a/engines/bladerunner/set.cpp +++ b/engines/bladerunner/set.cpp @@ -23,12 +23,14 @@ #include "bladerunner/set.h" #include "bladerunner/bladerunner.h" +#include "bladerunner/slice_renderer.h" #include "common/debug.h" #include "common/ptr.h" #include "common/str.h" #include "common/stream.h" + namespace BladeRunner { #define kSet0 0x53657430 @@ -38,9 +40,12 @@ Set::Set(BladeRunnerEngine *vm) : _vm(vm) { _walkboxCount = 0; _objects = new Object[85]; _walkboxes = new Walkbox[95]; + _footstepSoundOverride = -1; + _effects = new SetEffects(vm); } Set::~Set() { + delete _effects; delete[] _objects; delete[] _walkboxes; } @@ -52,7 +57,7 @@ bool Set::open(const Common::String &name) { if (sig != kSet0) return false; - s->skip(4); // TODO: LITE length + int framesCount = s->readUint32LE(); _objectCount = s->readUint32LE(); assert(_objectCount <= 85); @@ -101,9 +106,24 @@ bool Set::open(const Common::String &name) { // debug("WALKBOX: %s", _walkboxes[i]._name); } - // TODO: Read LITE + _vm->_lights->reset(); + _vm->_lights->read(s.get(), framesCount); + _vm->_sliceRenderer->setLights(_vm->_lights); + _effects->reset(); + _effects->read(s.get(), framesCount); + _vm->_sliceRenderer->setSetEffects(_effects); return true; } + +void Set::addAllObjectsToScene(SceneObjects* sceneObjects) +{ + uint32 i; + for (i = 0; i < _objectCount; i++) + { + sceneObjects->addObject(i + SCENE_OBJECTS_OBJECTS_OFFSET, &_objects[i]._bbox, _objects[i]._isClickable, _objects[i]._isObstacle, _objects[i]._unknown1, _objects[i]._isCombatTarget); + } +} + } // End of namespace BladeRunner |