]> git.localhorst.tv Git - l2e.git/blobdiff - src/common/Script.cpp
relocate scripts
[l2e.git] / src / common / Script.cpp
index 05dd8194d8a6a78249c66add98618f72e9d8edd7..c5caf579a3d817b70a59b0198d3eaa57d1987443 100644 (file)
@@ -1,5 +1,7 @@
 #include "Script.h"
 
+#include "../math/Vector.h"
+
 namespace common {
 
 Script::Script()
@@ -12,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<int>);
+                       break;
+       }
+       switch (numParams) {
+               case 3:
+               case 2:
+                       if (reg2 == 7) {
+                               size += argSize;
+                       }
+               case 1:
+                       if (reg1 == 7) {
+                               size += argSize;
+                       }
+               default:
+                       break;
+       }
+       return size;
+}
+
 }