+ // spawn node
+ struct ts_attr *awspawn = attr_inscope(node, "spawn");
+ if(awspawn) {
+ switch(awspawn->val.type) {
+ case TS_VECTOR:
+ mscn->start_pos = Vec3(awspawn->val.vec[0], awspawn->val.vec[1],
+ awspawn->val.vec[2]);
+ break;
+
+ case TS_STRING:
+ default:
+ sdat->spawn_regexp = std::string(awspawn->val.str);
+ }
+ }
+ if((awspawn = attr_inscope(node, "spawn_rot")) && awspawn->val.type == TS_VECTOR) {
+ Quat rot;
+ rot.rotate(Vec3(1, 0, 0), deg_to_rad(awspawn->val.vec[0]));
+ rot.rotate(Vec3(0, 1, 0), deg_to_rad(awspawn->val.vec[1]));
+ rot.rotate(Vec3(0, 0, 1), deg_to_rad(awspawn->val.vec[2]));
+ mscn->start_rot = rot;
+ }
+