From f369bd416b00f105152a69e3b570d597c1c4b66e Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Wed, 5 Jun 2024 21:06:20 -0700 Subject: [PATCH] HUD: add foreground to fade to black/white --- scripts/zm/_zm_reimagined.gsc | 1 + scripts/zm/replaced/_hud.gsc | 57 +++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 scripts/zm/replaced/_hud.gsc diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index 868371ef..bf72291c 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -13,6 +13,7 @@ main() replaceFunc(maps\mp\animscripts\traverse\zm_shared::dotraverse, scripts\zm\replaced\zm_shared::dotraverse); replaceFunc(maps\mp\gametypes_zm\_damagefeedback::onplayerconnect, scripts\zm\replaced\_damagefeedback::onplayerconnect); replaceFunc(maps\mp\gametypes_zm\_globallogic_player::callback_playerconnect, scripts\zm\replaced\_globallogic_player::callback_playerconnect); + replaceFunc(maps\mp\gametypes_zm\_hud::fadetoblackforxsec, scripts\zm\replaced\_hud::fadetoblackforxsec); replaceFunc(maps\mp\gametypes_zm\_hud_message::onplayerconnect, scripts\zm\replaced\_hud_message::onplayerconnect); replaceFunc(maps\mp\gametypes_zm\_zm_gametype::hide_gump_loading_for_hotjoiners, scripts\zm\replaced\_zm_gametype::hide_gump_loading_for_hotjoiners); replaceFunc(maps\mp\zombies\_zm::init_fx, scripts\zm\replaced\_zm::init_fx); diff --git a/scripts/zm/replaced/_hud.gsc b/scripts/zm/replaced/_hud.gsc new file mode 100644 index 00000000..13ae613b --- /dev/null +++ b/scripts/zm/replaced/_hud.gsc @@ -0,0 +1,57 @@ +#include maps\mp\gametypes_zm\_hud; + +fadetoblackforxsec(startwait, blackscreenwait, fadeintime, fadeouttime, shadername, n_sort) +{ + if (!isdefined(n_sort)) + n_sort = 50; + + wait(startwait); + + if (!isdefined(self)) + return; + + if (!isdefined(self.blackscreen)) + self.blackscreen = newclienthudelem(self); + + self.blackscreen.x = 0; + self.blackscreen.y = 0; + self.blackscreen.horzalign = "fullscreen"; + self.blackscreen.vertalign = "fullscreen"; + self.blackscreen.foreground = 1; + self.blackscreen.hidewhendead = 0; + self.blackscreen.hidewheninmenu = 1; + self.blackscreen.sort = n_sort; + + if (isdefined(shadername)) + self.blackscreen setshader(shadername, 640, 480); + else + self.blackscreen setshader("black", 640, 480); + + self.blackscreen.alpha = 0; + + if (fadeintime > 0) + self.blackscreen fadeovertime(fadeintime); + + self.blackscreen.alpha = 1; + wait(fadeintime); + + if (!isdefined(self.blackscreen)) + return; + + wait(blackscreenwait); + + if (!isdefined(self.blackscreen)) + return; + + if (fadeouttime > 0) + self.blackscreen fadeovertime(fadeouttime); + + self.blackscreen.alpha = 0; + wait(fadeouttime); + + if (isdefined(self.blackscreen)) + { + self.blackscreen destroy(); + self.blackscreen = undefined; + } +} \ No newline at end of file