X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FScriptRunner.h;h=879877d8467a2463f1680863a78ad1bbb8178328;hb=0bbc2eda56eba3ea195c2043370ff4d3fd29ca79;hp=9b0f1ac8aa037503bdce31580a2e4ae617512b96;hpb=8060b9ee74a24fe33a874732035dc8b74003439f;p=l2e.git diff --git a/src/common/ScriptRunner.h b/src/common/ScriptRunner.h index 9b0f1ac..879877d 100644 --- a/src/common/ScriptRunner.h +++ b/src/common/ScriptRunner.h @@ -9,6 +9,7 @@ #define COMMON_SCRIPTRUNNER_H_ #include "fwd.h" +#include "Script.h" #include "../geometry/Vector.h" #include @@ -25,18 +26,16 @@ public: void Run(ScriptHost &, const Script &); bool Running() const; - void *Address0() const { return address0; } - void *Address1() const { return address1; } - int Integer0() const { return integer0; } - int Integer1() const { return integer1; } - const geometry::Vector &Vector0() const { return vector0; } - const geometry::Vector &Vector1() const { return vector1; } + void *AddressRegister(int n) const { return address[n]; } + int IntegerRegister(int n) const { return integer[n]; } + const geometry::Vector &VectorRegister(int n) const { return vector[n]; } private: void Reset(); - void Exec(unsigned char code); + void Exec(Script::Code code); void *PopAddress(); + Script::Code PopCode(); int PopInt(); const geometry::Vector &PopVector(); @@ -53,12 +52,10 @@ private: const Script *script; int cursor; - void *address0; - void *address1; - int integer0; - int integer1; - geometry::Vector vector0; - geometry::Vector vector1; + static const int numRegisters = 7; + void *address[numRegisters]; + int integer[numRegisters]; + geometry::Vector vector[numRegisters]; Uint8 compare;