+#define CL_REQFIELDS (sizeof(cl_reqfields) / sizeof(prvm_required_field_t))
+
+prvm_required_field_t cl_reqfields[] =
+{
+ {ev_entity, "groundentity"},
+ {ev_entity, "tag_entity"},
+ {ev_float, "alpha"},
+ {ev_float, "dimension_hit"},
+ {ev_float, "dimension_solid"},
+ {ev_float, "dphitcontentsmask"},
+ {ev_float, "frame"},
+ {ev_float, "frame1time"},
+ {ev_float, "frame2"},
+ {ev_float, "frame2time"},
+ {ev_float, "frame3"},
+ {ev_float, "frame3time"},
+ {ev_float, "frame4"},
+ {ev_float, "frame4time"},
+ {ev_float, "gravity"},
+ {ev_float, "idealpitch"},
+ {ev_float, "lerpfrac"},
+ {ev_float, "lerpfrac3"},
+ {ev_float, "lerpfrac4"},
+ {ev_float, "movetype"}, // used by ODE code
+ {ev_float, "nextthink"},
+ {ev_float, "pitch_speed"},
+ {ev_float, "renderflags"},
+ {ev_float, "scale"},
+ {ev_float, "shadertime"},
+ {ev_float, "skeletonindex"},
+ {ev_float, "solid"}, // used by ODE code
+ {ev_float, "tag_index"},
+ {ev_float, "userwavefunc_param0"},
+ {ev_float, "userwavefunc_param1"},
+ {ev_float, "userwavefunc_param2"},
+ {ev_float, "userwavefunc_param3"},
+ {ev_function, "camera_transform"},
+ {ev_function, "think"},
+ {ev_string, "classname"},
+ {ev_vector, "colormod"},
+ {ev_vector, "glowmod"},
+
+ // physics
+ //{ev_float, "solid"},
+ //{ev_float, "movetype"},
+ //{ev_float, "modelindex"},
+ {ev_vector, "mass"},
+ //{ev_vector, "origin"},
+ //{ev_vector, "velocity"},
+ //{ev_vector, "axis_forward"},
+ //{ev_vector, "axis_left"},
+ //{ev_vector, "axis_up"},
+ //{ev_vector, "spinvelocity"},
+ //{ev_vector, "angles"},
+ //{ev_vector, "avelocity"},
+};
+
+#define CL_REQGLOBALS (sizeof(cl_reqglobals) / sizeof(prvm_required_field_t))
+
+prvm_required_field_t cl_reqglobals[] =
+{
+ {ev_entity, "self"},
+ {ev_entity, "trace_ent"},
+ {ev_entity, "trace_networkentity"},
+ {ev_float, "coop"},
+ {ev_float, "deathmatch"},
+ {ev_float, "dmg_save"},
+ {ev_float, "dmg_take"},
+ {ev_float, "drawfont"},
+ {ev_float, "drawfontscale"},
+ {ev_float, "gettaginfo_parent"},
+ {ev_float, "intermission"},
+ {ev_float, "particle_airfriction"},
+ {ev_float, "particle_alpha"},
+ {ev_float, "particle_alphafade"},
+ {ev_float, "particle_angle"},
+ {ev_float, "particle_blendmode"},
+ {ev_float, "particle_bounce"},
+ {ev_float, "particle_delaycollision"},
+ {ev_float, "particle_delayspawn"},
+ {ev_float, "particle_gravity"},
+ {ev_float, "particle_liquidfriction"},
+ {ev_float, "particle_orientation"},
+ {ev_float, "particle_originjitter"},
+ {ev_float, "particle_qualityreduction"},
+ {ev_float, "particle_size"},
+ {ev_float, "particle_sizeincrease"},
+ {ev_float, "particle_spin"},
+ {ev_float, "particle_stainalpha"},
+ {ev_float, "particle_stainsize"},
+ {ev_float, "particle_staintex"},
+ {ev_float, "particle_staintex"},
+ {ev_float, "particle_stretch"},
+ {ev_float, "particle_tex"},
+ {ev_float, "particle_time"},
+ {ev_float, "particle_type"},
+ {ev_float, "particle_velocityjitter"},
+ {ev_float, "particles_alphamax"},
+ {ev_float, "particles_alphamin"},
+ {ev_float, "require_spawnfunc_prefix"},
+ {ev_float, "sb_showscores"},
+ {ev_float, "serverdeltatime"},
+ {ev_float, "serverprevtime"},
+ {ev_float, "servertime"},
+ {ev_float, "time"},
+ {ev_float, "trace_allsolid"},
+ {ev_float, "trace_dphitcontents"},
+ {ev_float, "trace_dphitq3surfaceflags"},
+ {ev_float, "trace_dpstartcontents"},
+ {ev_float, "trace_fraction"},
+ {ev_float, "trace_inopen"},
+ {ev_float, "trace_inwater"},
+ {ev_float, "trace_plane_dist"},
+ {ev_float, "trace_startsolid"},
+ {ev_float, "transparent_offset"},
+ {ev_string, "SV_InitCmd"},
+ {ev_string, "gettaginfo_name"},
+ {ev_string, "trace_dphittexturename"},
+ {ev_string, "worldstatus"},
+ {ev_vector, "dmg_origin"},
+ {ev_vector, "gettaginfo_forward"},
+ {ev_vector, "gettaginfo_offset"},
+ {ev_vector, "gettaginfo_right"},
+ {ev_vector, "gettaginfo_up"},
+ {ev_vector, "particle_color1"},
+ {ev_vector, "particle_color2"},
+ {ev_vector, "particle_staincolor1"},
+ {ev_vector, "particle_staincolor2"},
+ {ev_vector, "particles_colormax"},
+ {ev_vector, "particles_colormin"},
+ {ev_vector, "trace_endpos"},
+ {ev_vector, "trace_plane_normal"},
+ {ev_vector, "v_forward"},
+ {ev_vector, "v_right"},
+ {ev_vector, "v_up"},
+ {ev_vector, "view_angles"},
+ {ev_vector, "view_punchangle"},
+ {ev_vector, "view_punchvector"},
+};
+