From 6fb352ce1fd7d9f595682015db0bce9980dee8a6 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Mon, 25 Dec 2023 09:58:46 -0800 Subject: [PATCH] Containment and Meat: add new waypoint icons --- images/compass_waypoint_contested.iwi | Bin 0 -> 4160 bytes images/hud_ctf_flag_icon_green.iwi | Bin 0 -> 1088 bytes images/waypoint_dogtags.iwi | Bin 0 -> 4160 bytes images/waypoint_flag_capture.iwi | Bin 0 -> 4160 bytes images/waypoint_flag_grab.iwi | Bin 0 -> 4160 bytes images/waypoint_recon_artillery_strike.iwi | Bin 0 -> 4160 bytes images/waypoint_return.iwi | Bin 0 -> 4160 bytes images/waypoint_time_bomb.iwi | Bin 0 -> 4160 bytes scripts/zm/zgrief/zgrief_reimagined.gsc | 66 +++++++++++++++------ zone_source/mod.zone | 2 + zone_source/waypoint.zone | 16 +++++ 11 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 images/compass_waypoint_contested.iwi create mode 100644 images/hud_ctf_flag_icon_green.iwi create mode 100644 images/waypoint_dogtags.iwi create mode 100644 images/waypoint_flag_capture.iwi create mode 100644 images/waypoint_flag_grab.iwi create mode 100644 images/waypoint_recon_artillery_strike.iwi create mode 100644 images/waypoint_return.iwi create mode 100644 images/waypoint_time_bomb.iwi create mode 100644 zone_source/waypoint.zone diff --git a/images/compass_waypoint_contested.iwi b/images/compass_waypoint_contested.iwi new file mode 100644 index 0000000000000000000000000000000000000000..45275c35886dc30d6e15ef01d122018b463a8e99 GIT binary patch literal 4160 zcmeH~Pe>GT6vy9g3S%10VU(3R?2^&NFk+YWV9V-l+k*y-%}qU*Po1rHiLKdT9jQw7QYq-3^_UlPm}*7eqf zRQ`Frt!z18%KpWI=gsx({v5v*0?^}#J27+WCdbz!_Clo7-;R^`8CS7?44{vOh(C}3 zDD-+O1%IChm8>f zRxo0{QldS-E|~3${C=NcuBYAqUbjbiWy?2?!>$rd)6j*5ScK)*x&f*xD=YWXzlQ7d z+4x0&^^zON-P+H&4*;Q1C@k_}{UqPgU%dq2R&p}LJnJX^S7y!gV(H&G zpStb*oAZaC%c=Vd(UsH_*-L)~y0_GISQK`$o*n?FBTFz}`TlWud01_m2-aa{+}Yy@ z2stU&boW2#g-ho1a?%oUn@+?e#taW+`ucRK_tRA}aZ3Kz_2?g^d?qNL1a*8N=UY)- zrRT$mUET~}U(ff!Z7`r+R%A!-2G%Tj6vru_tsdQFf43gydTq)254F(!CD>H0Co)>W zwTt4k`<>ipzU*hd9n~dz*|G+&zlry^-_ZRmYm9#3t-Nxzu(LLY_U zcnh^=yy?URUazi})^j~^WLVjxe%X&6yT^g-J7sThtZnSvR4>b@obNcQWl`$Ri}V0u t=8sRi`1gY!NOrjEP6{^{IN1In&nKpf&)HsWi+9;uUhzQr%T$k~{|_4Htcm~t literal 0 HcmV?d00001 diff --git a/images/hud_ctf_flag_icon_green.iwi b/images/hud_ctf_flag_icon_green.iwi new file mode 100644 index 0000000000000000000000000000000000000000..229e1b5ce3514e8181d9ff99d8f616615e6bb3b2 GIT binary patch literal 1088 zcmeYa&y?n6R$x$IU}V4s99V#&c(5yj=Oh*XA{A_UR{;UCI5qf2Ap1NgJ%E|}i*e)R zGbbme!1zBv@;*$qFg`L(j{UzFLH5n!hMDt)VdG=ficN6;N;7y)0J;ax|HsJ?!5}EW ztg6Vs5E`ng`j6Sa$r7kJ%SjQ)uWI-Qa-S3@!wEx>eCVpbApR2;1fShgh##ol%Siz! zzn1AQ2Mfc31||!Lc@YuP3?3l=!|j8)3q*tb_mAP^1PRY+Po79HFqlpa4gLQaBqP8u zcVDx>YHnTA|NlXJ1|VOkBy1A>1s`>Ga@4_42h08;*yYCA_=fo7xc`Azq7#OYs1N?tGPz93!gGmVk1Gld3RxqD|MFGTrP*D;0g`r@R zivJ|A`f#9nbn__X|6>9sj?M`ZD>NAxbhn0v{$m10ZUB=yh+h#$ef!YeyA+sSpCF~5 Pr3@aQ@TDho{pfrEqfp`j literal 0 HcmV?d00001 diff --git a/images/waypoint_dogtags.iwi b/images/waypoint_dogtags.iwi new file mode 100644 index 0000000000000000000000000000000000000000..d278919719f75d86ab701e57a6f6dcbf870a443d GIT binary patch literal 4160 zcmeHKK}Zx~6#i#dVWot*2rEIX6m;1r0>MMcuXC!4a~WM?wT&+2#idgemg_=z2vle@ zB2$PiL6<ATY;7Jw(SI2J`R4uqd+&Si{r}8= zb>PmalOZXj&_qy^I==nW?VI!#n-7X(d>oJCdhjA}gx15f$C{o14mWPEb>BsS`CQkx zV|%9J3vOF03t?Gep7E&N5wWbaWL%YN8ODp{7><|2jH~i+mhobl=BMs6E}})h{>vr8 zQ!iLvou4onkJ=r<7fBY8tXQfy^X!k@6!&qTV@@-+b~srlbHXPGr1hgDZY`e=yS%i7=J@bReyE)kH92ebB*%farkcq^Pd;WU*fZr zPb=)?U(*x@=!savQsHDNM)^|s({(5R3RAtBKK(z|gvd=zDLKVAkw_>^_GPc9kK{%+ ztmH+s-#VVMV9wz`(kTB;to~)lz?Cmf{T4Xhlpjo&ICQuVt3M7=m(PGd4ngbRgxH?G zE!KG)^Tqv2h>+I8n0lIjaPez>EH6{gTntTW-At#Z58^MT#YN|T*&PW`!4?y90x`|7oqA zzIZ(8{lD>W?2WncpBu&Ri%cgiyXldL)?pl&Z#U1>H6qV|Uc$qcYGi*G?p8kH{?oGH z-_Pkhc4EQx54-+1_~IYx#Tn21a6ak#I^^hEwa<~g)DYT>KGd3&H?FiO*tlCIITc@5PVQ05jKs&AZ0D7wcPdVJ9nNly_7e7D5ZUDaDO}Bzu)=J_no_% zx=S{*Ng@&v$gf1Q;IA8efz;e7#SgPhmH^eFjL!_89gzb%<)oB39(`WF#bWhZhFLV!AJ?2nmo&~-u~$|w6~`G)B5?>_^1A4 zJ@(w-{@Nq7{;7CW->uh2jQp37f3eojP8YWD#`n8zG@-y~_R8gx7=KNFQ=W+VdEY76 zHVW}#-{;&_K29V4Idh@b_nEDS`FTO!RDv-()>p`4_14dW?S~&){KJwbXATm>2aBeY zEO34q)IYbovf*67JHzygK0zNOloiTWTBrC)G6ROQ1E&Y!Ho)I0>B|Ht+WruwBQyt)0+ z^!a^~^fz0t#e?O&G@hqkM!r>@F9)_>Up>Fg;{1+4gAHF9+4-<6#LK^BUf?+M1@6yS zc2n0ALdtM}Uc9ZHpVH&=Xu)ycE`~LI-%)|;U&nRJ0xX>}UE%)nJ37tye#-G?^G)lo HzyE#$1PLcG literal 0 HcmV?d00001 diff --git a/images/waypoint_flag_grab.iwi b/images/waypoint_flag_grab.iwi new file mode 100644 index 0000000000000000000000000000000000000000..b020fe672b0b79274870cf210d9cc1d38dca4ce6 GIT binary patch literal 4160 zcmeHKT}TvB6uvW~qSWGwS{oX!>wU5#))5=_-x(A8ry2d_RE8Ruvb=7w6I5PASKQvxIoP1|Epa?w4?J`{8qh1cO0Q4|d!r{>QN-AdmO@puw0?{vm5Ox^zR;DLjHb?&h$6*WcsK+S?JAh z{!TmsOeb8^7~kuy7MSUwD2l+f*e~U#eqsJj&ycXQ{Iev(zwZ_yJ#KUS%FN*_lJEy; zu%i4XY$sZekq^sHl6@5UFChOS#z)g|zZCp!qtRY?mc4TJ5Ib*4=buuO9=d(aW7{Y! z)wh1k{mv(){y8tFTi#@}?24;O1iyg@4g^`s;(7xv=CgM3eXDOs_2j&S=+O4UNx>(D z{<)od8;%D~OmY9h_s|7V{|e)ujty+^J@yoR#C-ev_0aQCF<+>FrOhl~XN`;Ic3vu- zdekKNr0V}=vJg?aI*oJxl8qc%+ zX6p2Ku)LAQ^VCt~ThaEU@Avgh=C@kB>3X1{0ACp~Iel3_ER}uEI4N+(W310uc4Nmw zLP~LK9n+4xb1zv5w>;8$~ Gx8DGs%SE~X literal 0 HcmV?d00001 diff --git a/images/waypoint_recon_artillery_strike.iwi b/images/waypoint_recon_artillery_strike.iwi new file mode 100644 index 0000000000000000000000000000000000000000..9ee874494f6493460b0c1238c01b3ea7b8586d5f GIT binary patch literal 4160 zcmeH~QAkr^6vw|i-P|hSzC;sWHfr>u7=hq}$!1UW;sUQ5u|&NuMGuNkLa19p7&%0+ zgou2QUIbqP=_wO^+LI4uy=~DRMi4B*+(ft2IoF+g@A59D50&T{+uiSe=lj0%Kj-_t z?cNC8YdmN33%`(rmHB17`=__5(;}J)#VMcW<8(b388|`vVa8BR-vEv`HSGD@LA&;+}L+b|!IQ!KvHl9C)92_3*V+PF6 zLRwXsDZbU<&;axA`f0qHW+UIbNg*6)?4QC2qnH5Ziuwm(8ej9(>fh1yZy(U#o}qfQ zDm>q_Gm zrujm`Xn+3#>wjTRZ>M;};fMnBn*PCR^>5+oUxOH2`-J;VQ8rnxw%_ppICk8HtG@}{ zB|RZ?9<26%5IhArFVgJCdRKB@A#9S1nXc6T|K$Zay6W!(d&)K~b+DYWtCfB+Bd%!w zmrI@iMcffF>iPxbW$@a-nL===TO=i}KD#Vb?&i)b?y zXb(z}Rs~T+&MGupM4+_Ma>5uN6hA7KZReaO)KLd-Ap!7~!#CM7xD~LLr@v z{Sh;P6_@x7{^+Vf1N&+!fe zi|OAm_Wpk4Ya6EZ0ocgIc!i??UauDf*NkR@s@mLw^M-uZ?(V%#!KYsUT)I|YFPLBV zlj)oZWo3*BzD48v$aJ<_6f(iyAtUqns;at0_*0(&xX1(})>*5`HjMelcH@M9srhg2 z`qGEdrXT9(0TAQ!c)D4OD!6gVZb@)7bPGl-we-B1pa1XmGj_a8v|q0NTcbNIb-UVS zeD3Ze{Y;Oi(BIsJV{JH-zjXc6q(6W&VV?hbnIFF2y>M4DU$2_iAesBS=lOYlLZKq* z50iht!4FVYaz^?!{pLFcR^WqV9&bgtC%KWvi*vL{9={3Tak(V(`KznXGSWXz`ZJcQ zKeZ!rAD^$CJ+_C=3u88sAATj4`~P3z)DE03_J2yA)8ks~{3i{BtKP;}ZISUJ-P~HI z>;Ps{f*z09ufLaXTWg;-R>zE3dyMO)s{+@gz*LN^j+AG?pf5aw?1ZKJZ zI8{FnhzF?Rfa&kiudT;P>&1MWUeDLN*Xw40DcW^&UVr70@FWwEdIC>p3r|F>YEd mSZnX!ZsP4vk>5Iu8_rJHj z=VncX#Roo6pwRHC^zZL}rbTl!Ob|}-X+BQ-A(w#@v>zsNtoaV{|Hjq%;b&37dakQG zuKj?)7qcUh0?@R1i{QA9`vZbsBw7CBiQpj}hdqL4bp1KXq>NgtrY)2Uilkh${+3U0 zO@i(98uk%ce=REVOgv_Lev(f+Ma~t|v~R<$Fs>vlSXw9nh4_bX34h|&0sbu;0Gok; zDIUMItE*QNfAQ3a8dB=62u_d%kH^y_nEAJQyy9W5k+c1`u~cSq zREJCabN-vW-bTS|aR4tsQ1I(8fZbkY6O8D$Qn*F)kEa?s+!ghP{dj8G;k4VTa`pfg zzXpRih~sq47R!HE=f8b`e;?Ol6XwN!0+*>C&*Fl4KS1o0!4I*$qq5SuD)LK@0EnI; zpCbM?n{86$i41>3&il#i4{=0|Mn4+*-x5j|LXGNk2|UR-RQ{j=`rV_(EbmgYhT@gbUcND8|Vva)o|vJF9Rs*{oa>`6ohga$<%unuW!^^m9rjGKAyJy-F)c& zhO_-QJCyWWeYg9xWXVHt9KyI@y|Z=ZsTg?()eZXCG6wtK!#nBs^!zIeYo>hg_gHy2 z8y`(UI+6aQUvz!pN9)<%m(25SC3&9x4fK;g#{;Frh$jE07(V6|N75h7^#9hi&}ACK|*&If1)kKM?__v#hazsvIEN^_m*)3*7L+Oo$Z#h(lH HM6Uk@0_l*k literal 0 HcmV?d00001 diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index c62f0ec4..b8727f9e 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -29,20 +29,23 @@ init() return; } + precacheshader("hud_ctf_flag_icon_green"); + precacheshader("waypoint_flag_grab"); + precacheshader("waypoint_flag_capture"); + precacheshader("waypoint_return"); + precacheshader("waypoint_recon_artillery_strike"); + precacheshader("waypoint_time_bomb"); + precacheshader("waypoint_dogtags"); + precacheshader("compass_waypoint_contested"); + if (level.script == "zm_prison") { - precacheShader("waypoint_kill_red"); - level._effect["afterlife_teleport"] = loadfx("maps/zombie_alcatraz/fx_alcatraz_afterlife_zmb_tport"); - - level.obj_waypoint_icon = "waypoint_kill_red"; level.player_spawn_fx = "afterlife_teleport"; level.player_spawn_sound = "zmb_afterlife_zombie_warp_in"; + level._effect["afterlife_teleport"] = loadfx("maps/zombie_alcatraz/fx_alcatraz_afterlife_zmb_tport"); } else { - precacheShader("hud_status_dead"); - - level.obj_waypoint_icon = "hud_status_dead"; level.player_spawn_fx = "grenade_samantha_steal"; level.player_spawn_sound = "zmb_spawn_powerup"; } @@ -218,13 +221,13 @@ grief_score_hud() level.grief_score_hud[team1].obj_icon.horzalign = "user_center"; level.grief_score_hud[team1].obj_icon.vertalign = "user_top"; level.grief_score_hud[team1].obj_icon.y += 50; - level.grief_score_hud[team1].obj_icon.width = 24; - level.grief_score_hud[team1].obj_icon.height = 24; + level.grief_score_hud[team1].obj_icon.width = 16; + level.grief_score_hud[team1].obj_icon.height = 16; level.grief_score_hud[team1].obj_icon.hidewheninmenu = 1; level.grief_score_hud[team1].obj_icon.foreground = 1; level.grief_score_hud[team1].obj_icon.archived = 0; level.grief_score_hud[team1].obj_icon.alpha = 0; - level.grief_score_hud[team1].obj_icon setShader(level.obj_waypoint_icon, level.grief_score_hud[team1].obj_icon.width, level.grief_score_hud[team1].obj_icon.height); + level.grief_score_hud[team1].obj_icon setShader("hud_ctf_flag_icon_green", level.grief_score_hud[team1].obj_icon.width, level.grief_score_hud[team1].obj_icon.height); level.grief_score_hud[team1].obj_icon.og_x = level.grief_score_hud[team1].obj_icon.x; @@ -943,7 +946,6 @@ obj_waypoint() self.obj_waypoint.vertalign = "user_center"; self.obj_waypoint.alpha = 0; self.obj_waypoint.hidewheninmenu = 1; - self.obj_waypoint setWaypoint(1, level.obj_waypoint_icon); } if (level.scr_zm_ui_gametype_obj == "zcontainment") @@ -957,8 +959,6 @@ obj_waypoint() self.next_obj_waypoint.archived = 0; self.next_obj_waypoint.alpha = 0; self.next_obj_waypoint.hidewheninmenu = 1; - self.next_obj_waypoint setShader(level.obj_waypoint_icon, 8, 8); - self.next_obj_waypoint setWaypoint(1); } self thread obj_waypoint_destroy_on_end_game(); @@ -2661,6 +2661,8 @@ containment_think() { player containment_set_obj_waypoint_off_screen(next_zone_name, next_zone, 1); } + + player containment_set_obj_waypoint_icon("waypoint_recon_artillery_strike", 1); } else { @@ -2698,6 +2700,7 @@ containment_think() foreach (player in players) { player.obj_waypoint.color = (1, 1, 0); + player containment_set_obj_waypoint_icon("compass_waypoint_contested"); } if (held_prev != "cont") @@ -2726,10 +2729,12 @@ containment_think() if (player.team == "axis") { player.obj_waypoint.color = (0, 1, 0); + player containment_set_obj_waypoint_icon("waypoint_dogtags"); } else { player.obj_waypoint.color = (1, 0, 0); + player containment_set_obj_waypoint_icon("waypoint_time_bomb"); } } @@ -2765,10 +2770,12 @@ containment_think() if (player.team == "axis") { player.obj_waypoint.color = (1, 0, 0); + player containment_set_obj_waypoint_icon("waypoint_time_bomb"); } else { player.obj_waypoint.color = (0, 1, 0); + player containment_set_obj_waypoint_icon("waypoint_dogtags"); } } @@ -2810,6 +2817,7 @@ containment_think() } player.obj_waypoint.color = (1, 1, 1); + player containment_set_obj_waypoint_icon("waypoint_recon_artillery_strike"); } if (held_prev != "none") @@ -2995,7 +3003,8 @@ containment_set_obj_waypoint_on_screen(next_obj = false) hud.x = 0; hud.y = 140; hud.z = 0; - hud setShader(level.obj_waypoint_icon, getDvarInt("waypointIconWidth"), getDvarInt("waypointIconHeight")); + + hud.on_screen = 1; } containment_set_obj_waypoint_off_screen(zone_name, zone, next_obj = false) @@ -3081,14 +3090,33 @@ containment_set_obj_waypoint_off_screen(zone_name, zone, next_obj = false) hud.x += 400; } + hud.on_screen = 0; +} + +containment_set_obj_waypoint_icon(icon, next_obj = false) +{ + hud = self.obj_waypoint; + if (next_obj) { - hud setShader(level.obj_waypoint_icon, 8, 8); - hud setWaypoint(1); + hud = self.next_obj_waypoint; + } + + if (hud.on_screen) + { + hud setShader(icon, getDvarInt("waypointIconWidth"), getDvarInt("waypointIconHeight")); } else { - hud setWaypoint(1, level.obj_waypoint_icon); + if (next_obj) + { + hud setShader(icon, 8, 8); + hud setWaypoint(1); + } + else + { + hud setWaypoint(1, icon); + } } } @@ -3220,10 +3248,12 @@ meat_think() if (player.team == level.meat_player.team) { player.obj_waypoint.color = (0, 1, 0); + player.obj_waypoint setWaypoint(1, "waypoint_return"); } else { player.obj_waypoint.color = (1, 0, 0); + player.obj_waypoint setWaypoint(1, "waypoint_flag_capture"); } player.obj_waypoint setTargetEnt(level.meat_player.head_icon_origin); @@ -3263,6 +3293,7 @@ meat_think() { player.obj_waypoint.alpha = 1; player.obj_waypoint.color = (1, 1, 1); + player.obj_waypoint setWaypoint(1, "waypoint_flag_grab"); player.obj_waypoint setTargetEnt(level.item_meat.obj_waypoint_origin); } } @@ -3282,6 +3313,7 @@ meat_think() { player.obj_waypoint.alpha = 1; player.obj_waypoint.color = (1, 1, 1); + player.obj_waypoint setWaypoint(1, "waypoint_flag_grab"); player.obj_waypoint setTargetEnt(level.meat_powerup.obj_waypoint_origin); } } diff --git a/zone_source/mod.zone b/zone_source/mod.zone index 2b5f69cb..9397872f 100644 --- a/zone_source/mod.zone +++ b/zone_source/mod.zone @@ -9,4 +9,6 @@ include,held_knife_zm include,held_one_inch_punch_zm include,fnp45_zm +include,waypoint + localize,reimagined \ No newline at end of file diff --git a/zone_source/waypoint.zone b/zone_source/waypoint.zone new file mode 100644 index 00000000..74272449 --- /dev/null +++ b/zone_source/waypoint.zone @@ -0,0 +1,16 @@ +material,hud_ctf_flag_icon_green +material,waypoint_flag_grab +material,waypoint_flag_capture +material,waypoint_return +material,waypoint_recon_artillery_strike +material,waypoint_time_bomb +material,waypoint_dogtags +material,compass_waypoint_contested +image,hud_ctf_flag_icon_green +image,waypoint_flag_grab +image,waypoint_flag_capture +image,waypoint_return +image,waypoint_recon_artillery_strike +image,waypoint_time_bomb +image,waypoint_dogtags +image,compass_waypoint_contested \ No newline at end of file