X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FScript.cpp;h=c5caf579a3d817b70a59b0198d3eaa57d1987443;hb=HEAD;hp=1797c553b343121f8100e144d82e4ea5d6693cf4;hpb=6e88a625710c7936f87b38ecf6094472f3a49f4f;p=l2e.git diff --git a/src/common/Script.cpp b/src/common/Script.cpp index 1797c55..c5caf57 100644 --- a/src/common/Script.cpp +++ b/src/common/Script.cpp @@ -1,12 +1,7 @@ -/* - * Script.cpp - * - * Created on: Oct 13, 2012 - * Author: holy - */ - #include "Script.h" +#include "../math/Vector.h" + namespace common { Script::Script() @@ -19,4 +14,41 @@ Script::~Script() { } + +unsigned int Script::Code::Size() const { + unsigned int size = sizeof(Code); + if (numParams == 0) { + return size; + } + unsigned int argSize = 0; + switch (type) { + default: + argSize = 0; + break; + case TYPE_ADDRESS: + argSize = sizeof(void *); + break; + case TYPE_INTEGER: + argSize = sizeof(int); + break; + case TYPE_VECTOR: + argSize = sizeof(math::Vector); + break; + } + switch (numParams) { + case 3: + case 2: + if (reg2 == 7) { + size += argSize; + } + case 1: + if (reg1 == 7) { + size += argSize; + } + default: + break; + } + return size; +} + }