@@ -553,10 +553,10 @@ void() HUD_Rounds =
553553 }
554554 }
555555
556- Draw_String([3 + GetUltraWideOffset(), g_height/ 2 + 24 ], chaptertitle, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
557- Draw_String([3 + GetUltraWideOffset(), g_height/ 2 + 36 ], location, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
558- Draw_String([3 + GetUltraWideOffset(), g_height/ 2 + 48 ], date, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
559- Draw_String([3 + GetUltraWideOffset(), g_height/ 2 + 60 ], person, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
556+ Draw_String([g_width - 3 - GetUltraWideOffset() - getTextWidth(chaptertitle, 12 ), g_height/ 2 + 48 ], chaptertitle, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
557+ Draw_String([g_width - 3 - GetUltraWideOffset() - getTextWidth(location, 12 ), g_height/ 2 + 60 ], location, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
558+ Draw_String([g_width - 3 - GetUltraWideOffset() - getTextWidth(date, 12 ), g_height/ 2 + 72 ], date, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
559+ Draw_String([g_width - 3 - GetUltraWideOffset() - getTextWidth(person, 12 ), g_height/ 2 + 84 ], person, [12 , 12 ], [1 , 1 , 1 ], localpha, 0 );
560560 }
561561
562562 if (rounds_change == 1 )//this is the rounds icon at the middle of the screen
@@ -1095,7 +1095,7 @@ void() HUD_Useprint =
10951095 usestring = "The Power must be Activated first" ;
10961096 break ;
10971097 case 9 : //perk
1098- usestring = strcat("Hold " ,usespace, " to buy " , GetPerkName (useprint_weapon));
1098+ usestring = strcat("Hold " ,usespace, " to buy " , GetItemName (useprint_weapon));
10991099 usecost = strcat("[Cost: " , ftos(useprint_cost), "]" );
11001100 break ;
11011101 case 10 : //turn on power
@@ -1135,14 +1135,27 @@ void() HUD_Useprint =
11351135 usestring = strcat("Hold " , usespace, " to End the Game" );
11361136 usecost = strcat("[Cost: " , ftos(useprint_cost), "]" );
11371137 break ;
1138+ case 21 : // Magic disabled
1139+ usestring = "..." ;
1140+ break ;
1141+ case 22 : // Jugger-Nog (NIGHTMARE)
1142+ usestring = "It doesn't seem to be working.." ;
1143+ break ;
1144+ case 23 : // Tactical Nuke (Gun Game)
1145+ usestring = strcat("Hold " , usespace, " to Drop the Nuke" );
1146+ break ;
11381147 default :
11391148 usestring = "This should not happen you dum fuck" ; //yikes
11401149 break ;
11411150 }
11421151
11431152 print_width = getTextWidth(usestring, 12 );
11441153 x = (g_width - print_width)/ 2 ;
1145- HUD_DrawStringWithBackdrop([x, g_height/ 2 + 65 , 0 ], usestring, [12 , 12 , 0 ], [1 , 1 , 1 ], 1 , 0 );
1154+
1155+ if (useprint_type == 22 )
1156+ HUD_DrawStringWithBackdrop([x, g_height/ 2 + 65 , 0 ], usestring, [12 , 12 , 0 ], [1 , 0 , 0 ], 1 , 0 );
1157+ else
1158+ HUD_DrawStringWithBackdrop([x, g_height/ 2 + 65 , 0 ], usestring, [12 , 12 , 0 ], [1 , 1 , 1 ], 1 , 0 );
11461159
11471160 // Draw "Cost" text.
11481161 if (usecost != "" ) {
@@ -1643,6 +1656,12 @@ void() HUD_Broadcast =
16431656 case CSQC_BROADCAST_REVIVINGPLAYER:
16441657 broadcast_msg = strcat("Reviving " , broadcast_name);
16451658 break ;
1659+ case CSQC_BROADCAST_GUNGAMEADVANCEMENT:
1660+ broadcast_msg = strcat(broadcast_name, " reached a new tier!" );
1661+ break ;
1662+ case CSQC_BROADCAST_GUNGAMEWINNER:
1663+ broadcast_msg = strcat(broadcast_name, " can Activate the Nuke!" );
1664+ break ;
16461665 case CSQC_BROADCAST_NONE:
16471666 broadcast_msg = "" ;
16481667 break ;
@@ -2044,6 +2063,25 @@ void() HUD_Spectator =
20442063 drawfill([5 , 60 ], [240 , 3 ], [0.3 , 0.3 , 0.3 ], 1 , 0 );
20452064}
20462065
2066+ void () HUD_GunGame =
2067+ {
2068+ drawfill([g_width/ 2 - 318 , 4 ], [636 , 45 ], [0 , 0 , 0 ], cvar("cl_textopacity" ), 0 );
2069+
2070+ string weapon_id = "" ;
2071+ string point_info = "" ;
2072+
2073+ if (getstatf(STAT_GUNGAME_IDX) >= 100 ) {
2074+ weapon_id = "You've passed all weapons!" ;
2075+ point_info = "The Winner can choose to End the Game" ;
2076+ } else {
2077+ weapon_id = sprintf("%s [%d/32]" , GetWeaponName(getstatf(STAT_ACTIVEWEAPON)), getstatf(STAT_GUNGAME_IDX) + 1 );
2078+ point_info = sprintf("[%d] Score until next Weapon" , getstatf(STAT_GUNGAME_SCOREGOAL) - getstatf(STAT_TOTALSCORE));
2079+ }
2080+
2081+ Draw_String([g_width/ 2 - getTextWidth(weapon_id, 18 )/ 2 , 8 ], weapon_id, [18 , 18 ], [1 , 1 , 1 ], 1 , 0 );
2082+ Draw_String([g_width/ 2 - getTextWidth(point_info, 12 )/ 2 , 30 ], point_info, [12 , 12 ], [1 , 1 , 0 ], 1 , 0 );
2083+ }
2084+
20472085void () HUD_PlayerNames =
20482086{
20492087 for (float i = 7 ; i >= 0 ; i = i - 1 ) {
@@ -2262,6 +2300,54 @@ void() HUD_DrawElementsForWaypointMode =
22622300 HUD_PlayerDebugInfo();
22632301};
22642302
2303+ //
2304+ // HUD_DrawElementsForHardcorePlayer()
2305+ // Heads-Up Display draw logic during Hardcore mode.
2306+ //
2307+ void () HUD_DrawElementsForHardcorePlayer =
2308+ {
2309+ // We shouldn't draw anything during the game intro fade.
2310+ if (screenflash_color == SCREENFLASH_COLOR_BLACK && screenflash_duration > time) {
2311+ HUD_Screenflash();
2312+ return ;
2313+ }
2314+
2315+ // Blood filter on screen to indicate health.
2316+ HUD_Health();
2317+
2318+ // If the scoreboard is open, only draw it and nothing else.
2319+ if (score_show) {
2320+ HUD_Scores();
2321+ return ;
2322+ }
2323+ // Additionally, bail here if cl_cinematic is set.
2324+ else if (cvar("cl_cinematic" )) {
2325+ return ;
2326+ }
2327+
2328+ // Being scoped-in hides all low-priority elements.
2329+ if (getstatf(STAT_WEAPONZOOM) != 2 || zoom_2_time >= time) {
2330+ // Draws all player's points.
2331+ HUD_Points();
2332+ }
2333+
2334+ // Visual hit Feedback.
2335+ HUD_Hitmark();
2336+
2337+ // Black/White/etc. total screen flashes.
2338+ HUD_Screenflash();
2339+
2340+ //
2341+ // Everything below should always have maximum priority.
2342+ //
2343+
2344+ // Revive indicator for Players in Last Stand.
2345+ HUD_ReviveIcons();
2346+
2347+ // "X" needs to be revived, or other important messages.
2348+ HUD_Broadcast();
2349+ };
2350+
22652351//
22662352// HUD_DrawElementsForPlayer()
22672353// Heads-Up Display draw logic during normal play.
@@ -2329,6 +2415,11 @@ void() HUD_DrawElementsForPlayer =
23292415 // Bouncing Betty tutorial.
23302416 HUD_BouncingBetty();
23312417
2418+ switch (active_gamemode) {
2419+ case GAMEMODE_GUNGAME: HUD_GunGame(); break ;
2420+ default : break ;
2421+ }
2422+
23322423 // Revive status progress bar.
23332424 HUD_Progressbar();
23342425 }
@@ -2398,6 +2489,14 @@ void() HUD_DrawElements =
23982489 return ;
23992490 }
24002491
2492+ //
2493+ // Hardcore Mode has a more limited HUD
2494+ //
2495+ if (active_gamemode == GAMEMODE_HARDCORE) {
2496+ HUD_DrawElementsForHardcorePlayer();
2497+ return ;
2498+ }
2499+
24012500 //
24022501 // Standard Play
24032502 //
0 commit comments