#define RECURSE_FROM_CHOICE(ent,action) MACRO_BEGIN \
if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { \
- switch (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) \
+ switch (CS_CVAR(ent).msg_choice_choices[net_name.nent_choice_idx]) \
{ \
case 1: found_choice = notif.nent_optiona; break; \
case 2: found_choice = notif.nent_optionb; break; \
.float cvar_cl_autoscreenshot;
.float cvar_cl_jetpack_jump;
.float cvar_cl_movement_track_canjump;
- //.float cvar_cl_newusekeysupported;
+ .float cvar_cl_newusekeysupported;
.float cvar_cl_cts_noautoswitch;
.bool cvar_cl_weapon_switch_reload;
.bool cvar_cl_weapon_switch_fallback_to_impulse;
ATTRIB(Client, zoomstate, bool, this.zoomstate);
ATTRIB(Client, just_joined, bool, this.just_joined);
ATTRIB(Client, race_completed, bool, this.race_completed);
- ATTRIBARRAY(Client, msg_choice_choices, int, 20); // TODO: actually NOTIF_CHOICE_MAX
ATTRIB(Client, latency_sum, float, this.latency_sum);
ATTRIB(Client, latency_cnt, int, this.latency_cnt);
ATTRIB(Client, latency_time, float, this.latency_time);
// networked cvars
+// not currently handled by ClientState
+#if 0
+ ATTRIBARRAY(Client, msg_choice_choices, int, 20); // TODO: actually NOTIF_CHOICE_MAX
ATTRIB(Client, cvar_cl_allow_uid2name, int, this.cvar_cl_allow_uid2name);
ATTRIB(Client, cvar_cl_allow_uidtracking, int, this.cvar_cl_allow_uidtracking);
ATTRIB(Client, cvar_cl_autotaunt, float, this.cvar_cl_autotaunt);
ATTRIB(Client, cvar_cl_cts_noautoswitch, bool, this.cvar_cl_cts_noautoswitch);
ATTRIB(Client, cvar_cl_weapon_switch_reload, bool, this.cvar_cl_weapon_switch_reload);
ATTRIB(Client, cvar_cl_weapon_switch_fallback_to_impulse, bool, this.cvar_cl_weapon_switch_fallback_to_impulse);
+#endif
METHOD(Client, m_unwind, bool(Client this));