1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-09 06:39:23 -05:00

Containment: add HUD

This commit is contained in:
Jbleezy 2022-01-29 05:39:53 -08:00
parent 83013ec340
commit a4ed2e6ec4
2 changed files with 59 additions and 10 deletions

View File

@ -618,23 +618,25 @@ zone_hud()
flag_wait( "initial_blackscreen_passed" ); flag_wait( "initial_blackscreen_passed" );
prev_zone = self get_zone_name(); zone = self get_current_zone();
zone_hud settext(prev_zone); prev_zone_name = get_zone_display_name(zone);
zone_hud settext(prev_zone_name);
zone_hud.alpha = 1; zone_hud.alpha = 1;
while (1) while (1)
{ {
zone = self get_zone_name(); zone = self get_current_zone();
zone_name = get_zone_display_name(zone);
if(prev_zone != zone) if(prev_zone_name != zone_name)
{ {
prev_zone = zone; prev_zone_name = zone_name;
zone_hud fadeovertime(0.25); zone_hud fadeovertime(0.25);
zone_hud.alpha = 0; zone_hud.alpha = 0;
wait 0.25; wait 0.25;
zone_hud settext(zone); zone_hud settext(zone_name);
zone_hud fadeovertime(0.25); zone_hud fadeovertime(0.25);
zone_hud.alpha = 1; zone_hud.alpha = 1;
@ -647,9 +649,8 @@ zone_hud()
} }
} }
get_zone_name() get_zone_display_name(zone)
{ {
zone = self get_current_zone();
if (!isDefined(zone)) if (!isDefined(zone))
{ {
return ""; return "";

View File

@ -1947,6 +1947,34 @@ containment_init()
{ {
level.containment_time = 60; level.containment_time = 60;
level.containment_zone_hud = newHudElem();
level.containment_zone_hud.alignx = "left";
level.containment_zone_hud.aligny = "top";
level.containment_zone_hud.horzalign = "user_left";
level.containment_zone_hud.vertalign = "user_top";
level.containment_zone_hud.x += 7;
level.containment_zone_hud.y += 2;
level.containment_zone_hud.fontscale = 1.4;
level.containment_zone_hud.alpha = 0;
level.containment_zone_hud.color = (1, 1, 1);
level.containment_zone_hud.hidewheninmenu = 1;
level.containment_zone_hud.foreground = 1;
level.containment_zone_hud.label = &"Containment Zone: ";
level.containment_time_hud = newHudElem();
level.containment_time_hud.alignx = "left";
level.containment_time_hud.aligny = "top";
level.containment_time_hud.horzalign = "user_left";
level.containment_time_hud.vertalign = "user_top";
level.containment_time_hud.x += 7;
level.containment_time_hud.y += 17;
level.containment_time_hud.fontscale = 1.4;
level.containment_time_hud.alpha = 0;
level.containment_time_hud.color = (1, 1, 1);
level.containment_time_hud.hidewheninmenu = 1;
level.containment_time_hud.foreground = 1;
level.containment_time_hud.label = &"Containment Time: ";
level.containment_waypoint = []; level.containment_waypoint = [];
level.containment_waypoint["axis"] = newTeamHudElem("axis"); level.containment_waypoint["axis"] = newTeamHudElem("axis");
level.containment_waypoint["axis"].alpha = 0; level.containment_waypoint["axis"].alpha = 0;
@ -1962,7 +1990,8 @@ containment_init()
level.containment_waypoint["allies"].fadewhentargeted = 1; level.containment_waypoint["allies"].fadewhentargeted = 1;
level.containment_waypoint["allies"].foreground = 1; level.containment_waypoint["allies"].foreground = 1;
level.containment_waypoint["allies"] setWaypoint(1, "waypoint_revive"); level.containment_waypoint["allies"] setWaypoint(1, "waypoint_revive");
level thread containment_waypoint_destroy_on_end_game();
level thread containment_hud_destroy_on_end_game();
level.containment_zones = []; level.containment_zones = [];
if(level.script == "zm_transit") if(level.script == "zm_transit")
@ -1978,18 +2007,30 @@ containment_init()
level thread containment_think(); level thread containment_think();
} }
containment_waypoint_destroy_on_end_game() containment_hud_destroy_on_end_game()
{ {
level waittill("end_game"); level waittill("end_game");
level.containment_zone_hud setText("");
level.containment_time_hud setText("");
level.containment_waypoint["axis"] destroy(); level.containment_waypoint["axis"] destroy();
level.containment_waypoint["allies"] destroy(); level.containment_waypoint["allies"] destroy();
level waittill("intermission");
level.containment_zone_hud destroy();
level.containment_time_hud destroy();
} }
containment_think() containment_think()
{ {
level endon("end_game"); level endon("end_game");
flag_wait("initial_blackscreen_passed");
level.containment_zone_hud.alpha = 1;
level.containment_time_hud.alpha = 1;
level waittill("restart_round_start"); level waittill("restart_round_start");
wait 10; wait 10;
@ -1998,8 +2039,12 @@ containment_think()
while(1) while(1)
{ {
zone_name = level.containment_zones[i]; zone_name = level.containment_zones[i];
zone_display_name = scripts/zm/_zm_reimagined::get_zone_display_name(zone_name);
zone = level.zones[zone_name]; zone = level.zones[zone_name];
level.containment_zone_hud setText(zone_display_name);
level.containment_time_hud setTimer(level.containment_time);
level.containment_waypoint["axis"].x = zone.volumes[0].origin[0]; level.containment_waypoint["axis"].x = zone.volumes[0].origin[0];
level.containment_waypoint["axis"].y = zone.volumes[0].origin[1]; level.containment_waypoint["axis"].y = zone.volumes[0].origin[1];
level.containment_waypoint["axis"].z = zone.volumes[0].origin[2]; level.containment_waypoint["axis"].z = zone.volumes[0].origin[2];
@ -2078,6 +2123,9 @@ containment_think()
wait 0.05; wait 0.05;
} }
level.containment_zone_hud setText("");
level.containment_time_hud setText("");
level.containment_waypoint["axis"].alpha = 0; level.containment_waypoint["axis"].alpha = 0;
level.containment_waypoint["allies"].alpha = 0; level.containment_waypoint["allies"].alpha = 0;