+
+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;
+}
+