#include "../dpdefs/csprogsdefs.qh"
#include "../client/defs.qh"
#include "constants.qh"
- #include "../warpzonelib/mathlib.qh"
+ #include "../client/mutators/events.qh"
#include "mapinfo.qh"
#include "notifications.qh"
#include "deathtypes.qh"
#elif defined(SVQC)
#include "../dpdefs/progsdefs.qh"
#include "../dpdefs/dpextensions.qh"
- #include "../warpzonelib/mathlib.qh"
#include "constants.qh"
#include "../server/autocvars.qh"
#include "../server/defs.qh"
+ #include "../server/mutators/events.qh"
#include "notifications.qh"
#include "deathtypes.qh"
#include "mapinfo.qh"
entity e;
e = start;
funcPre(pass, e);
- while(e.downleft)
+ while (e.(downleft))
{
- e = e.downleft;
+ e = e.(downleft);
funcPre(pass, e);
}
funcPost(pass, e);
while(e != start)
{
- if(e.right)
+ if (e.(right))
{
- e = e.right;
+ e = e.(right);
funcPre(pass, e);
- while(e.downleft)
+ while (e.(downleft))
{
- e = e.downleft;
+ e = e.(downleft);
funcPre(pass, e);
}
}
else
- e = e.up;
+ e = e.(up);
funcPost(pass, e);
}
}
}
get_model_parameters_fixbone = 0;
+#ifndef MENUQC
+ MUTATOR_CALLHOOK(ClearModelParams);
+#endif
+
if (!m)
return 1;
get_model_parameters_bone_upperbody = s;
if(c == "bone_weapon")
get_model_parameters_bone_weapon = s;
+ #ifndef MENUQC
+ MUTATOR_CALLHOOK(GetModelParams, c, s);
+ #endif
for(int i = 0; i < MAX_AIM_BONES; ++i)
if(c == strcat("bone_aim", ftos(i)))
{
return l;
}
-// translation helpers
-string language_filename(string s)
-{
- string fn;
- float fh;
- fn = prvm_language;
- if(fn == "" || fn == "dump")
- return s;
- fn = strcat(s, ".", fn);
- if((fh = fopen(fn, FILE_READ)) >= 0)
- {
- fclose(fh);
- return fn;
- }
- return s;
-}
-string CTX(string s)
-{
- float p = strstrofs(s, "^", 0);
- if(p < 0)
- return s;
- return substring(s, p+1, -1);
-}
-
// x-encoding (encoding as zero length invisible string)
const string XENCODE_2 = "xX";
const string XENCODE_22 = "0123456789abcdefABCDEF";
return ((a * 22 + b) * 22 + c) * 22 + d;
}
-float lowestbit(int f)
+int lowestbit(int f)
{
f &= ~(f * 2);
f &= ~(f * 4);
// start with a 1-element queue
queue_start = queue_end = e;
- queue_end.fld = world;
+ queue_end.(fld) = world;
queue_end.FindConnectedComponent_processing = 1;
// for each queued item:
- for (; queue_start; queue_start = queue_start.fld)
+ for (; queue_start; queue_start = queue_start.(fld))
{
// find all neighbors of queue_start
entity t;
if(iscon(t, queue_start, pass))
{
// it is connected? ADD IT. It will look for neighbors soon too.
- queue_end.fld = t;
+ queue_end.(fld) = t;
queue_end = t;
- queue_end.fld = world;
+ queue_end.(fld) = world;
queue_end.FindConnectedComponent_processing = 1;
}
}
}
// unmark
- for(queue_start = e; queue_start; queue_start = queue_start.fld)
+ for (queue_start = e; queue_start; queue_start = queue_start.(fld))
queue_start.FindConnectedComponent_processing = 0;
}
#ifdef SVQC
vector combine_to_vector(float x, float y, float z)
{
- vector result; result.x = x; result.y = y; result.z = z;
+ vector result; result_x = x; result_y = y; result_z = z;
return result;
}