if(strstrofs(strcat(",", pattern, ","), subpattern, 0) < 0)
if(strstrofs(strcat(",", pattern, ","), subpattern2, 0) < 0)
if(strstrofs(strcat(",", pattern, ","), subpattern3, 0) < 0)
- if((!subpattern4) || strstrofs(strcat(",", pattern, ","), subpattern4, 0) < 0)
- return 0;
+ {
+ if not(subpattern4)
+ return 0;
+ if(strstrofs(strcat(",", pattern, ","), subpattern4, 0) < 0)
+ return 0;
+ }
}
return 1;
}
float get_model_parameters(string m, float sk)
{
string fn, s, c;
- float fh;
+ float fh, i;
get_model_parameters_modelname = string_null;
get_model_parameters_modelskin = -1;
get_model_parameters_weight = -1;
get_model_parameters_age = -1;
get_model_parameters_desc = string_null;
+ get_model_parameters_bone_upperbody = string_null;
+ get_model_parameters_bone_weapon = string_null;
+ for(i = 0; i < MAX_AIM_BONES; ++i)
+ {
+ get_model_parameters_bone_aim[i] = string_null;
+ get_model_parameters_bone_aimweight[i] = 0;
+ }
+ get_model_parameters_fixbone = 0;
if not(m)
return 1;
+
+ if(substring(m, -9, 5) == "_lod1" || substring(m, -9, 5) == "_lod2")
+ m = strcat(substring(m, 0, -10), substring(m, -4, -1));
+
if(sk < 0)
{
if(substring(m, -4, -1) != ".txt")
get_model_parameters_weight = stof(s);
if(c == "age")
get_model_parameters_age = stof(s);
+ if(c == "bone_upperbody")
+ get_model_parameters_bone_upperbody = s;
+ if(c == "bone_weapon")
+ get_model_parameters_bone_weapon = s;
+ for(i = 0; i < MAX_AIM_BONES; ++i)
+ if(c == strcat("bone_aim", ftos(i)))
+ {
+ get_model_parameters_bone_aimweight[i] = stof(car(s));
+ get_model_parameters_bone_aim[i] = cdr(s);
+ }
+ if(c == "fixbone")
+ get_model_parameters_fixbone = stof(s);
}
while((s = fgets(fh)))
for(queue_start = e; queue_start; queue_start = queue_start.fld)
queue_start.FindConnectedComponent_processing = 0;
}
+
+vector vec3(float x, float y, float z)
+{
+ vector v;
+ v_x = x;
+ v_y = y;
+ v_z = z;
+ return v;
+}
+
+#ifndef MENUQC
+vector animfixfps(entity e, vector a, vector b)
+{
+ // multi-frame anim: keep as-is
+ if(a_y == 1)
+ {
+ float dur;
+ dur = frameduration(e.modelindex, a_x);
+ if(dur <= 0 && b_y)
+ {
+ a = b;
+ dur = frameduration(e.modelindex, a_x);
+ }
+ if(dur > 0)
+ a_z = 1.0 / dur;
+ }
+ return a;
+}
+#endif