diff options
author | Denis Kasak | 2009-06-28 16:19:10 +0000 |
---|---|---|
committer | Denis Kasak | 2009-06-28 16:19:10 +0000 |
commit | f61b2d289d0e6ec960e20ac5b59a0fe7dfe8740e (patch) | |
tree | 2acbce26249ce6b898032ba8590a094ec3faada5 /engines/draci/game.cpp | |
parent | 948bf2cfcc23dc95fa7b29ff2f6ae7a27af132bd (diff) | |
download | scummvm-rg350-f61b2d289d0e6ec960e20ac5b59a0fe7dfe8740e.tar.gz scummvm-rg350-f61b2d289d0e6ec960e20ac5b59a0fe7dfe8740e.tar.bz2 scummvm-rg350-f61b2d289d0e6ec960e20ac5b59a0fe7dfe8740e.zip |
Changed Script::run() to accept a GPL2Program struct instead of a byte pointer and a length. Also, Script::run() now executes the GPL program until a gplend instruction rather than to the end of the whole program. Modified GameObject according to the new changes.
svn-id: r41927
Diffstat (limited to 'engines/draci/game.cpp')
-rw-r--r-- | engines/draci/game.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index 7cceb0e854..9b8a2855ef 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -28,10 +28,11 @@ #include "draci/draci.h" #include "draci/game.h" #include "draci/barchive.h" +#include "draci/script.h" namespace Draci { -Game::Game() { +Game::Game(DraciEngine *vm) : _vm(vm) { unsigned int i; Common::String path("INIT.DFW"); @@ -161,9 +162,9 @@ void Game::loadObject(uint16 objNum, GameObject *obj) { memcpy(obj->_title, file->_data, file->_length); file = objArchive[objNum * 3 + 2]; - obj->_program = new byte[file->_length]; - memcpy(obj->_program, file->_data, file->_length); - obj->_progLen = file->_length; + obj->_program._bytecode = new byte[file->_length]; + obj->_program._length = file->_length; + memcpy(obj->_program._bytecode, file->_data, file->_length); } Game::~Game() { @@ -176,12 +177,9 @@ Game::~Game() { } GameObject::~GameObject() { - if (_seqTab) - delete[] _seqTab; - if (_title) - delete[] _title; - if (_program) - delete[] _program; + delete[] _seqTab; + delete[] _title; + delete[] _program._bytecode; } } |