float HUD_WouldDrawScoreboard ();
float view_set;
float camera_mode;
+float reticle_type;
string NextFrameCommand;
void CSQC_SPIDER_HUD();
void CSQC_RAPTOR_HUD();
input_angles = warpzone_fixview_cl_viewangles;
view_angles = warpzone_fixview_angles;
- if(cvar("cl_lockview") || hud_configure)
+ if(cvar("cl_lockview") || autocvar__hud_configure)
{
pmove_org = freeze_pmove_org;
input_angles = view_angles = freeze_input_angles;
if(intermission && !isdemo() && !(calledhooks & HOOK_END))
if(calledhooks & HOOK_START)
{
- localcmd("\ncl_hook_gameend;");
+ localcmd("\ncl_hook_gameend\n");
calledhooks |= HOOK_END;
}
if(last_weapon != activeweapon) {
weapontime = time;
last_weapon = activeweapon;
+
+ entity e;
+ e = get_weaponinfo(activeweapon);
+ if(e.netname != "")
+ localcmd(strcat("\ncl_hook_activeweapon ", e.netname), "\n");
+ else
+ localcmd("\ncl_hook_activeweapon none\n");
}
// ALWAYS Clear Current Scene First
// next R_RenderScene call
drawstring('0 0 0', "", '1 1 0', '1 1 1', 0, 0);
- // draw the aiming reticle for weapons that use it (eg. Nex)
- reticle_pos_x = 0;
- reticle_pos_y = 0;
- reticle_size_x = vid_conwidth;
- reticle_size_y = vid_conheight;
+ // Draw the aiming reticle for weapons that use it
+ // reticle_type is changed to the item we are zooming / aiming with, to decide which reticle to use
+ // It must be a persisted float for fading out to work properly (you let go of the zoom button for
+ // the view to go back to normal, so reticle_type would become 0 as we fade out)
+ if(spectatee_status || getstati(STAT_HEALTH) <= 0)
+ reticle_type = 0; // prevent reticle from showing during the respawn zoom effect or for spectators
+ else if(button_zoom)
+ reticle_type = 1; // normal zoom
+ else if(activeweapon == WEP_NEX && button_attack2)
+ reticle_type = 2; // nex zoom
+
+ if(cvar("cl_reticle_stretch"))
+ {
+ reticle_size_x = vid_conwidth;
+ reticle_size_y = vid_conheight;
+ reticle_pos_x = 0;
+ reticle_pos_y = 0;
+ }
+ else
+ {
+ reticle_size_x = max(vid_conwidth, vid_conheight);
+ reticle_size_y = max(vid_conwidth, vid_conheight);
+ reticle_pos_x = (vid_conwidth - reticle_size_x) / 2;
+ reticle_pos_y = (vid_conheight - reticle_size_y) / 2;
+ }
- if(cvar("cl_reticle_nex"))
- if(button_attack2 && activeweapon == WEP_NEX)
- drawpic(reticle_pos, "textures/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_nex"), DRAWFLAG_NORMAL);
+ if(cvar("cl_reticle_item_normal"))
+ {
+ precache_pic("gfx/reticle_normal");
+ if(reticle_type == 1 && current_zoomfraction)
+ drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL);
+ }
+ if(cvar("cl_reticle_item_nex"))
+ {
+ precache_pic("gfx/reticle_nex");
+ if(reticle_type == 2 && current_zoomfraction)
+ drawpic(reticle_pos, "gfx/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_nex"), DRAWFLAG_NORMAL);
+ }
// Draw the mouse cursor
// NOTE: drawpic must happen after R_RenderScene for some reason
cvar_set("vid_conheight", h0);
}
- if(hud_configure)
+ if(autocvar__hud_configure)
HUD_Panel_Mouse();
// be safe against triggerbots until everyone has the fixed engine
// this call is meant to overwrite the trace globals by something