- triggers1[0].map = &map2;
- triggers1[0].target = Vector<int>(6, 2);
-
- triggers2[0].map = &map1;
- triggers2[0].target = Vector<int>(8, 3);
+ unsigned char transition1text[4 + sizeof(int) + sizeof(Map *) + sizeof(Vector<int>)];
+ int i(0);
+ transition1text[i++] = Script::CODE_MOVE_I0;
+ *reinterpret_cast<int *>(transition1text + i) = 1;
+ i += sizeof(int);
+ transition1text[i++] = Script::CODE_MOVE_A0;
+ *reinterpret_cast<Map **>(transition1text + i) = &map2;
+ i += sizeof(Map *);
+ transition1text[i++] = Script::CODE_MOVE_V0;
+ *reinterpret_cast<Vector<int> *>(transition1text + i) = Vector<int>(6, 2);
+ i += sizeof(Vector<int>);
+ transition1text[i++] = Script::CODE_SYSCALL;
+
+ Script transition1;
+ transition1.text = transition1text;
+ transition1.textlen = sizeof(transition1text);
+
+ triggers1[0].SetScript(&transition1);
+
+ unsigned char transition2text[4 + sizeof(int) + sizeof(Map *) + sizeof(Vector<int>)];
+ i = 0;
+ transition2text[i++] = Script::CODE_MOVE_I0;
+ *reinterpret_cast<int *>(transition2text + i) = 1;
+ i += sizeof(int);
+ transition2text[i++] = Script::CODE_MOVE_A0;
+ *reinterpret_cast<Map **>(transition2text + i) = &map1;
+ i += sizeof(Map *);
+ transition2text[i++] = Script::CODE_MOVE_V0;
+ *reinterpret_cast<Vector<int> *>(transition2text + i) = Vector<int>(8, 3);
+ i += sizeof(Vector<int>);
+ transition2text[i++] = Script::CODE_SYSCALL;
+
+ Script transition2;
+ transition2.text = transition2text;
+ transition2.textlen = sizeof(transition2text);
+
+ triggers2[0].SetScript(&transition2);