store.fld = field; \
}
#elif defined(CSQC)
- float ReplicateVars_time;
+ noref float ReplicateVars_time;
#define ReplicateVars_NOT_SENDING() (time > ReplicateVars_time)
#define ReplicateVars_DELAY(t) ReplicateVars_time = time + t
#define ReplicateVars_DELAY_1FRAME() ReplicateVars_time = time
#define REPLICATE_7(fld, type, var, func, check, update, destroy) \
void ReplicateVars(bool would_destroy) \
{ \
- if (would_destroy > 0) { destroy } \
+ if (would_destroy) { destroy } \
else if (ReplicateVars_NOT_SENDING() && check) \
{ \
localcmd(strcat("cl_cmd sendcvar ", var, "\n")); \
}
#define REPLICATE_SIMPLE(field, cvarname) MACRO_BEGIN \
- if (ReplicateVars_NOT_SENDING() && field != cvar(cvarname)) \
+ if (ReplicateVars_NOT_SENDING()) \
{ \
- localcmd(strcat("cl_cmd sendcvar ", cvarname, "\n")); \
- ReplicateVars_DELAY_1FRAME(); \
- field = cvar(cvarname); \
- return; \
+ float thecvar = cvar(cvarname); \
+ if(field != thecvar) \
+ { \
+ localcmd(strcat("cl_cmd sendcvar ", cvarname, "\n")); \
+ ReplicateVars_DELAY_1FRAME(); \
+ field = thecvar; \
+ return; \
+ } \
} \
MACRO_END
#endif