diff options
author | Nicola Mettifogo | 2008-07-27 08:35:00 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-07-27 08:35:00 +0000 |
commit | b9d0e4dafb82a6481dc6a16d834edb9f017e4e26 (patch) | |
tree | 865546fd4ba7c1385b2e43e7c445d1f00aacb0d8 /engines/parallaction/parallaction.cpp | |
parent | 4f445e3deb2e468393a26166d46ed34e758ef316 (diff) | |
download | scummvm-rg350-b9d0e4dafb82a6481dc6a16d834edb9f017e4e26.tar.gz scummvm-rg350-b9d0e4dafb82a6481dc6a16d834edb9f017e4e26.tar.bz2 scummvm-rg350-b9d0e4dafb82a6481dc6a16d834edb9f017e4e26.zip |
Doug from BRA can now walk in his hotel room. He still stops in bizarre poses, though.
svn-id: r33325
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r-- | engines/parallaction/parallaction.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index 0c053f35f2..436cad4ca4 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -353,7 +353,7 @@ void Parallaction::runGame() { if (_char._ani->gfxobj) { _char._ani->gfxobj->z = _char._ani->_z; } - walk(_char); + _char._walker->walk(); drawAnimations(); } @@ -518,16 +518,22 @@ Character::Character(Parallaction *vm) : _vm(vm), _ani(new Animation) { strncpy(_ani->_name, "yourself", ZONENAME_LENGTH); // TODO: move creation into Parallaction. Needs to make Character a pointer first. - if (_vm->getGameType() == GType_Nippon) + if (_vm->getGameType() == GType_Nippon) { _builder = new PathBuilder_NS(this); - else + _walker = new PathWalker_NS(this); + } else { _builder = new PathBuilder_BR(this); + _walker = new PathWalker_BR(this); + } } Character::~Character() { delete _builder; _builder = 0; + delete _walker; + _walker = 0; + free(); } @@ -565,13 +571,7 @@ void Character::scheduleWalk(int16 x, int16 y) { #if 0 dumpPath(_walkPath, _name); #endif - - if (_vm->getGameType() == GType_Nippon) { - _engineFlags |= kEngineWalking; - } else { - // BRA can't walk yet! - _walkPath.clear(); - } + _engineFlags |= kEngineWalking; } void Character::free() { |