From 0600b94facb77c66a39bd8011bca37bb72ea612b Mon Sep 17 00:00:00 2001 From: div0 Date: Fri, 13 Apr 2007 21:58:26 +0000 Subject: [PATCH] waypoint sprites system mainly for CTF; currently with placeholder sprite TGAs with text git-svn-id: svn://svn.icculus.org/nexuiz/trunk@2303 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/default.cfg | 25 ++++++ data/models/sprites/bluebase.sp2 | Bin 0 -> 92 bytes data/models/sprites/bluebase.tga | Bin 0 -> 262162 bytes data/models/sprites/danger.sp2 | Bin 0 -> 92 bytes data/models/sprites/danger.tga | Bin 0 -> 262162 bytes data/models/sprites/flagcarrier.sp2 | Bin 0 -> 92 bytes data/models/sprites/flagcarrier.tga | Bin 0 -> 262162 bytes data/models/sprites/helpme.sp2 | Bin 0 -> 92 bytes data/models/sprites/helpme.tga | Bin 0 -> 262162 bytes data/models/sprites/here.sp2 | Bin 0 -> 92 bytes data/models/sprites/here.tga | Bin 0 -> 262162 bytes data/models/sprites/redbase.sp2 | Bin 0 -> 92 bytes data/models/sprites/redbase.tga | Bin 0 -> 262162 bytes data/models/sprites/template.svg | 83 ++++++++++++++++++++ data/models/sprites/waypoint.sp2 | Bin 0 -> 92 bytes data/models/sprites/waypoint.tga | Bin 0 -> 262162 bytes data/qcsrc/server/cl_client.qc | 8 +- data/qcsrc/server/cl_impulse.qc | 114 ++++++++++++++++++++++++---- data/qcsrc/server/cl_player.qc | 2 + data/qcsrc/server/ctf.qc | 13 ++++ data/qcsrc/server/defs.qh | 1 + data/qcsrc/server/g_world.qc | 11 +++ data/qcsrc/server/miscfunctions.qc | 1 + data/qcsrc/server/progs.src | 2 + 24 files changed, 243 insertions(+), 17 deletions(-) create mode 100644 data/models/sprites/bluebase.sp2 create mode 100644 data/models/sprites/bluebase.tga create mode 100644 data/models/sprites/danger.sp2 create mode 100644 data/models/sprites/danger.tga create mode 100644 data/models/sprites/flagcarrier.sp2 create mode 100644 data/models/sprites/flagcarrier.tga create mode 100644 data/models/sprites/helpme.sp2 create mode 100644 data/models/sprites/helpme.tga create mode 100644 data/models/sprites/here.sp2 create mode 100644 data/models/sprites/here.tga create mode 100644 data/models/sprites/redbase.sp2 create mode 100644 data/models/sprites/redbase.tga create mode 100644 data/models/sprites/template.svg create mode 100644 data/models/sprites/waypoint.sp2 create mode 100644 data/models/sprites/waypoint.tga diff --git a/data/default.cfg b/data/default.cfg index c70b1c2ca..896bda2c3 100644 --- a/data/default.cfg +++ b/data/default.cfg @@ -823,3 +823,28 @@ set g_chat_flood_lmax_team 0 // } same for say_team set g_chat_flood_burst_team 0 // / set g_chat_flood_notify_flooder 1 // when 0, the flooder still can see his own message set g_chat_teamcolors 0 // colorize nicknames in team color for chat + +set g_waypointsprite_normdistance 512 +set g_waypointsprite_minscale 1 +set g_waypointsprite_minalpha 0.2 +set g_waypointsprite_distancealphaexponent 2 +set g_waypointsprite_timealphaexponent 1 +set g_waypointsprite_deployed_lifetime 10 +set g_waypointsprite_deadlifetime 2 +set g_waypointsprite_limitedrange 5120 +set g_waypointsprite_stuffbinds 0 +alias "g_waypointsprite_personal" "impulse 30" +alias "g_waypointsprite_personal_p" "impulse 31" +alias "g_waypointsprite_personal_d" "impulse 32" +alias "g_waypointsprite_team_helpme" "impulse 33" +alias "g_waypointsprite_team_here" "impulse 34" +alias "g_waypointsprite_team_here_p" "impulse 35" +alias "g_waypointsprite_team_here_d" "impulse 36" +alias "g_waypointsprite_team_danger" "impulse 37" +alias "g_waypointsprite_team_danger_p" "impulse 38" +alias "g_waypointsprite_team_danger_d" "impulse 39" +alias "g_waypointsprite_clear_personal" "impulse 47" +alias "g_waypointsprite_clear" "impulse 48" +alias "g_waypointsprite_toggle" "impulse 49" +// key for that? +seta cl_hidewaypoints 0 diff --git a/data/models/sprites/bluebase.sp2 b/data/models/sprites/bluebase.sp2 new file mode 100644 index 0000000000000000000000000000000000000000..44b0bdcf62ac6e138acc51eace8b87c660726951 GIT binary patch literal 92 zcmeZt2{vM4U|?Vb;szjA0AdFqmIvb8{FKz3V*TQRqRf)iV*R9?($u8H;#9qo^hBU6 GVE_Qk;tZ|; literal 0 HcmV?d00001 diff --git a/data/models/sprites/bluebase.tga b/data/models/sprites/bluebase.tga new file mode 100644 index 0000000000000000000000000000000000000000..ddc7f8ff03d58fbb2283be2867cafe65ca2e891a GIT binary patch literal 262162 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�}>fd$Gc^wtW)% zc!S;Ze=H*XFc%xEynJVH1|AZg4 z)NMO<1ZMu@Ekia15y&)wSo&|eVC|O9=Haj{?A#+uu=cn+@BFa&$^F>(ODxWY- zcICPtVfBA^%4u~rT$k-P_qnIr*mM=H zm4`4+y)MMPv>w}c)4C(Ep3Wh`ZXc|gFrX9fOxUHEUO127_w&RL<{3XSxUrbYI(9$b z#xub_LIA%M{7o`6oruEYQl?(ri=>Sg1+BF)I)~X@) z^}p#qmG*JG>w$&qGq%^kfO@729J;uvdlCtxh3f0_MvP3YM+T$sOjq9=XJ<05QRo`dYeJ3Zhw zoqV`#$iEYi;XwZVUJMKC5)$dZ`G*%rVYSxprRq`|B`N}~M|uUmM( z=Y=uwNdH4TrT;BzO+EB~CGMF&zFUaBXY@MR?7IFgPoFV^c>1xKcuE)L4buM*PwUrLtHb;Mi}U~UqaXKH0?!Wh z(Er62;{P#j1#92^?c=TU3&I=>O{6Bnlkrn9^{U*}WF? zmodw?{BFYHglhDEKN7CBZrkxTPoW?JStXEE|Ho5MrbC;V&C~6To!yCNm52Thf3W2L$Cs@MTn)4P5Y}IujNP&X*9*OQ zukkvp1scwn#>Ol|G2)uAI3bb#Gr{n7t##XuZ(n%El}jB35y&io*!n++|H-ie&+>-N z)<@ge-|kz|Pt2V}+YS1lsLwOmuXo{n=6l7UC;bm`t%v?w-@AJXMyHrtj(Kd(>);sY zHmzL}>3=WQwTJ7n{Wc9lf8Vk9QyfS+Uc#d4vBiCbZB5#TQKOSIoIx!| zSpu>2->%h9sbHtE{Zh=<`+b2~`}NsO_8Ea$p8&buG3ZJELtN{j|Gx7UH~tuWZDjqo zx%x`=`7GkD$GB+r*5iQ3RQ4^-WnB=XF8g*_h#hXU@y9a}J_K4B_z?cI^7Y_(Lekp9 zm!T*AfL@H1#zpv2n)hq$cNz98>>%u?n6-8L+z&ezy9B!zdlM@?Huyf2?fBH>@hgaq zt^Yy#wSHQkC;bob>odayV(EXa?InEt#k8M+g=hcy8Y@WuLw%+6zeT-?ef=MLKis#HW1;QR|4`p6{SVa; z-alz`_veH-1)5TiPg~5Npu z$Yptk(C*K_S%p7I*$*WTyl#r=x%59KDD5T!Ap)(Y|DVyO&&9Zo_=b6ZTaz?03^u-mHxM=F0HEn&vHISVMXnqj5jP7Of_6Eh&4C&gwA^$Ej^TD>^?i*Y?G2l3zN=o zS73bva~*SEuEM7{eh2#uC4KU1is`%bKPD*cCITS>b=Cjbv}3!6c_Fqf&jeau$#u;` z_>gp-RQeCYpntSa>3^sux5D+mJqIuqI~rr{+Be(-W_h5Sh;?t_P3;?YT%Kp|jv}wp z^X~ip9{X>?{2CJxxat;LPtw`z?JF#kV&ALH`@>}Jfa^R18Md4T-?_-2y-t;Gued-O~k>0im2 zi0yg(w{>McKlfyxr3&vNA=}i$Nj9%K$>WEy*tqcC6>uaD_ws<$9OD{Q)(OO~mf-z= zBR%Ow<&`wfu0NNXPwW3rs-c{(aqRQhlh`y20nJ^7or>*;ZO(i2*K%$Ky8klzdN*fw zAB^d&x`a;LcelDQ%f`@g&%ycZO9OiskB+N@S2hMXbP=9?8^}9_Y2S10e#<|wYQ_TG zpvXOrS$jGK+ZChTe7lBo|0bWNnEvPWe@Bju%c$11Ibmz$X9pc#BY??TOA+*A|L`H zAOdZRfQ^l8ytggJGQs>i{to8T#>}I!pJ6*;rkSf?oiGIv5CIVo0TB=Z5fA|p5CIVo z0TB=Z5fA|p5CIVo0TB=Z5fA|p5CIVo0TB=Z5fA|p5CIVo0TB=Z5fA|p5CIVo0TB=Z W5fA|p5CIVo0TB=Z5fFh468L}89{`^K literal 0 HcmV?d00001 diff --git a/data/models/sprites/danger.sp2 b/data/models/sprites/danger.sp2 new file mode 100644 index 0000000000000000000000000000000000000000..b04bac30838110fc8f59ed3736f67085bf7a789b GIT binary patch literal 92 zcmeZt2{vM4U|?Vb;szjA0AdFqmIvb8{FKz3V*TQRqRf)iV*QlFy!6x}y^{1qpd2v( E0IaJE+yDRo literal 0 HcmV?d00001 diff --git a/data/models/sprites/danger.tga b/data/models/sprites/danger.tga new file mode 100644 index 0000000000000000000000000000000000000000..05e5d7270c4f4d638356786dcce5e83db830a540 GIT binary patch literal 262162 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 literal 0 HcmV?d00001 diff --git a/data/models/sprites/flagcarrier.sp2 b/data/models/sprites/flagcarrier.sp2 new file mode 100644 index 0000000000000000000000000000000000000000..4f5491fe18d9c7448b81f2ad9955b3b42653a04a GIT binary patch literal 92 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 literal 0 HcmV?d00001 diff --git a/data/models/sprites/helpme.sp2 b/data/models/sprites/helpme.sp2 new file mode 100644 index 0000000000000000000000000000000000000000..a645224a34c782fe27322ee6e2bf2d0cc44012a1 GIT binary patch literal 92 zcmeZt2{vM4U|?Vb;szjA0AdFqmIvb8{FKz3V*TQRqRf)iV*QNNoPyj`y^{1qpd2v( E0Ir)0<^TWy literal 0 HcmV?d00001 diff --git a/data/models/sprites/helpme.tga b/data/models/sprites/helpme.tga new file mode 100644 index 0000000000000000000000000000000000000000..5b313057272e96761ecea96e2c9c22719b80138d GIT binary patch literal 262162 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 XKmYKm + + + + + + + + image/svg+xml + + + + + + + BLUE BASE + + diff --git a/data/models/sprites/waypoint.sp2 b/data/models/sprites/waypoint.sp2 new file mode 100644 index 0000000000000000000000000000000000000000..b019fa0a07ca6be19313ba13dcff6fb622b9e76c GIT binary patch literal 92 zcmeZt2{vM4U|?Vb;szjA0AdFqmIvb8{FKz3V*TQRqRf)iV*T>O%7XmNyb`^V^hBU6 GVE_Qu)ePnU literal 0 HcmV?d00001 diff --git a/data/models/sprites/waypoint.tga b/data/models/sprites/waypoint.tga new file mode 100644 index 0000000000000000000000000000000000000000..a071eb745d2cb504e0832a2dda55a51551321da0 GIT binary patch literal 262162 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 z zz?wc#=9(FjEwpZ~B*spMHs)s)FZv?2&_D2L7%^vGG0xaFHtb+qV60;>^GdzH3@ zsrnpa8nG2%Gtm7frV^*~6Q%#>(ihRh{~x=CY&5wKebN6vPySzt$*-E!f8c{JWT+>; zHW$!vJ)gdE#=%h!i#?y>vHbtIl3isx%cC7g{ZAiL=)0JgCp5CQ{*OTMArly20tcY; zVsr5n%P;1yK`$vE<@s;QSvy;O2@l8G#n=_GpU3nPeduam;9GdR!b)YKh5ci(jqkT# zeVKdo(WC!(t+G`XM2>DU&oKWQURc+D#79uqEJ^(buh7RlXEcWTjrp`kv9qM?{?skh z$H9E~UzfTl$Wfr#!^XsL?$T3gh_fli^7~`cf>rYDSXANmk^LQ|2fw9u`=VI=sK~0&Zf8uv8zZt-*RdO^ zuTc*w-W%J-FHJU;M|96s3Uzg_v9$khkj$$~;nUi`6TOf9f;oMg&TEYACCuG}uC7`x z=NaO!63cJ-7>uxOhjFK$lh9KY7+XNS3Y|2h@Ct=9rNeI{e#TpzbW&PA^)JRNP-oTs zZ&gSw1E>G#x0Bxdxe}hL$BtM3U&i;M_u~FG0Xs}n{g01t8`)foeN=h>V(P*9ya{xW zz;)QDQ**~q2JoFJf4e2}xGCQZ{|G3TvvvFEpir)-?9kH`|Hyv|>e}d(yV5JziP697 zCDL3xy*u->rsng-udl9s$-j{0OYl1hPT5O{dliLG;d_vpg9wK7qu_g>d+4`^M{L z9&cTf&TX(~5Kru%)J2*3Hf?mCxzhSa>bcBi1wXw%-&FhZyL$H@WNZuLE9f6eG0o*t zZ|1owtv4yuwVm_q43z$-jsp`V4!;G)rPM9s*8hAn@@X0Qw*c=)(~z3Ko9BVQOH+CI zb(CYlm)QEh?#cUH7YVGba+0}tYW>9vzWaA8lPUWp9B$^DXu>7{!mug*_`=-xwnC*{vT9_W`rx9NSrziWt_BTHlbkAEioVqvWR{|o--|DkkU z7)e|C(BasLu+hhSQDV;x{}=4}*bSJ+k~$IdQP8$Tzc6MsWt%C=WxTAIKA~sDcT?pv zTTb`D=zn1+*P=8L>5O=`iO|TmSCUXalC?$KvD| zz6{FGLVO97_SD!i`m4XG_VB{G`UY~bX%znBcY1_N`4H{RTlMT7Z_*BC+&6Y}-Sbg} z70bf3-&p@wu^H=e{2^(Fs(yn1DgCicmIc`KY0EXO1B^9&<@=Z`5?clHN-Cj8H%V-` zW?=L`?@aja=@VJGK_0CC8$j|UCNLlb<}w#g>c91ry+Mz@yb~YzI+>A_&_Sc^AnNcYj&+{8NY4f zug+XR!IpfZ?rTy{BKm{W4t_xG*d=vi6-YbvFzlV7pXWGkE-jOy|MA7Z9us`@4k)Fm zZkK+QkKo@bUA&0)c>atga?SIXKfzzZxXiQb5*Rr*5c(gRANG&%E-<#V$zuKAgp#i@ zfx#efg?z*w!}eQO9`a9>U`OA#VY0Wu_L};aa2_YRk9vq?pVm}8PxT`W24_( z|07VF@h-_t^<9>u{0C(}MLAbIj%zA#muUNMvhzmN1*tS z2@D_sZ0JA0w<+eMl^>fud({88?Krv-A3grnlgo;&(S7(Is=axy7&Y;a&QZ>#tfh}3 zCO1EZ9-%K^H=UH<*l;~vX}VkXgT?qi& z4`27(s?df}G5+JI2Vv8Nd0m|JoA69{KP2GDf{+pY&%DHS_cu958qo9ja5DA}-)!oE zjM*Ts%!2@b#eJ^AT7@)>XA^(P%jnyoe@1y+ypR6r%s9?AzN+Yc`~Vp@h;0mC58g5A z7m|OD!bamrDZy>*7bE(gcPy6` zTa%99SAhKDav6TTsWKxbbE1v~zu3Phk<{nCn7~vaFq`(R%8+HoXO)iy{kfoJ#!sXS zFUyMUhqC6AE#>cteu~K}9}8{S54Duf7R= 1 && imp <= 12) { // weapon switching impulses - if (imp <= 9) - W_SwitchWeapon (imp); - else if (imp == 10) - W_NextWeapon (); - else if (imp == 12) - W_PreviousWeapon (); - else if (imp == 11) // last weapon - W_SwitchWeapon (self.cnt); + if(self.deadflag == DEAD_NO) + { + if (imp <= 9) + W_SwitchWeapon (imp); + else if (imp == 10) + W_NextWeapon (); + else if (imp == 12) + W_PreviousWeapon (); + else if (imp == 11) // last weapon + W_SwitchWeapon (self.cnt); + } + else + self.impulse = imp; // retry in next frame } else if (imp >= 13 && imp <= 16) { if (cvar("sv_cheats")) { - if (imp == 13) + if (imp == 13 && self.deadflag == DEAD_NO) { makevectors (self.v_angle); self.velocity = self.velocity + v_forward * 300; CopyBody(1); self.velocity = self.velocity - v_forward * 300; } - else if (imp == 14) + else if (imp == 14 && self.deadflag == DEAD_NO) CopyBody(0); else if (imp == 15) { @@ -108,10 +113,87 @@ void ImpulseCommands (void) // throw weapon else if (imp == 17) { - if (self.weapon != WEP_LASER - && !cvar("g_minstagib") && !cvar("g_instagib") - && !cvar("g_rocketarena") && !cvar("g_lms") && cvar("g_pickup_items") && !cvar("g_nixnex")) - W_ThrowWeapon(self.velocity * 0.5 + v_forward * 750, '0 0 0', TRUE); + if(self.deadflag == DEAD_NO) + { + if (self.weapon != WEP_LASER + && !cvar("g_minstagib") && !cvar("g_instagib") + && !cvar("g_rocketarena") && !cvar("g_lms") && cvar("g_pickup_items") && !cvar("g_nixnex")) + W_ThrowWeapon(self.velocity * 0.5 + v_forward * 750, '0 0 0', TRUE); + } + } + // deploy waypoints + else if (imp >= 30 && imp <= 49) + { + if(imp == 30) + { + WaypointSprite_DeployPersonal("waypoint", self.origin); + sprint(self, "personal waypoint spawned at location\n"); + } + else if(imp == 31) + { + WaypointSprite_DeployPersonal("waypoint", self.cursor_trace_endpos); + sprint(self, "personal waypoint spawned at crosshair\n"); + } + else if(imp == 32 && vlen(self.death_origin)) + { + WaypointSprite_DeployPersonal("waypoint", self.death_origin); + sprint(self, "personal waypoint spawned at death location\n"); + } + else if(imp == 33 && self.deadflag == DEAD_NO) + { + if(teams_matter) + WaypointSprite_Attach("helpme", TRUE); + sprint(self, "HELP ME attached\n"); + } + else if(imp == 34) + { + WaypointSprite_DeployFixed("here", FALSE, self.origin); + sprint(self, "HERE spawned at location\n"); + } + else if(imp == 35) + { + WaypointSprite_DeployFixed("here", FALSE, self.cursor_trace_endpos); + sprint(self, "HERE spawned at crosshair\n"); + } + else if(imp == 36 && vlen(self.death_origin)) + { + WaypointSprite_DeployFixed("here", FALSE, self.death_origin); + sprint(self, "HERE spawned at death location\n"); + } + else if(imp == 37) + { + WaypointSprite_DeployFixed("danger", FALSE, self.origin); + sprint(self, "DANGER spawned at location\n"); + } + else if(imp == 38) + { + WaypointSprite_DeployFixed("danger", FALSE, self.cursor_trace_endpos); + sprint(self, "DANGER spawned at crosshair\n"); + } + else if(imp == 39 && vlen(self.death_origin)) + { + WaypointSprite_DeployFixed("danger", FALSE, self.death_origin); + sprint(self, "DANGER spawned at death location\n"); + } + else if(imp == 47) + { + WaypointSprite_ClearPersonal(); + sprint(self, "personal waypoint cleared\n"); + } + else if(imp == 48) + { + WaypointSprite_ClearOwned(); + sprint(self, "all waypoints cleared\n"); + } + else if(imp == 49) + { + self.cvar_cl_hidewaypoints = !(self.cvar_cl_hidewaypoints); + sprint(self, "fixed waypoints now "); + if(self.cvar_cl_hidewaypoints) + sprint(self, "OFF\n"); + else + sprint(self, "ON\n"); + } } else { @@ -130,11 +212,11 @@ void ImpulseCommands (void) traceline(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 65536, FALSE, self); sprint(self, strcat("distance: ", ftos(fabs(vlen(trace_endpos - (self.origin + self.view_ofs)))), "\n")); } - else if(imp == 42) + else if(imp == 6*9) { CampaignLevelWarp(cvar("_warplevel")); } - else if (imp == 99) + else if (imp == 99 && self.deadflag == DEAD_NO) { self.items = IT_LASER | IT_UZI | IT_SHOTGUN | IT_GRENADE_LAUNCHER | IT_ELECTRO | IT_CRYLINK | IT_NEX | IT_HAGAR | IT_ROCKET_LAUNCHER; self.ammo_shells = 999; diff --git a/data/qcsrc/server/cl_player.qc b/data/qcsrc/server/cl_player.qc index 1e016705a..560e15a5c 100644 --- a/data/qcsrc/server/cl_player.qc +++ b/data/qcsrc/server/cl_player.qc @@ -285,6 +285,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht { self.deaths += 1; + // clear waypoints + WaypointSprite_PlayerDead(); // become fully visible self.alpha = 1; // clear selected player display diff --git a/data/qcsrc/server/ctf.qc b/data/qcsrc/server/ctf.qc index 1c5deedb0..d4695fafd 100644 --- a/data/qcsrc/server/ctf.qc +++ b/data/qcsrc/server/ctf.qc @@ -71,7 +71,10 @@ void(entity e) ReturnFlag = { if (e.owner) if (e.owner.flagcarried == e) + { + WaypointSprite_DetachCarrier(e.owner); e.owner.flagcarried = world; + } e.owner = world; RegenFlag(e); }; @@ -92,6 +95,7 @@ void(entity e) DropFlag = return; } bprint(p.netname, "^7 lost the ", e.netname, "\n"); + WaypointSprite_DetachCarrier(p); LogCTF("dropped", p.team, p.flagcarried); setattachment(e, world, ""); @@ -221,6 +225,7 @@ void() FlagTouch = UpdateFrags(head, cvar("g_ctf_flagscore_capture_team")); sound (self, CHAN_AUTO, self.noise2, 1, ATTN_NONE); + WaypointSprite_DetachCarrier(other); RegenFlag (other.flagcarried); other.flagcarried = world; other.next_take_time = time + 1; @@ -251,6 +256,7 @@ void() FlagTouch = self.movetype = MOVETYPE_NONE; setorigin(self, FLAG_CARRY_POS); setattachment(self, other, ""); + WaypointSprite_AttachCarrier("flagcarrier", other); return; } @@ -290,6 +296,7 @@ void() FlagTouch = self.movetype = MOVETYPE_NONE; // flag must have MOVETYPE_NONE here, otherwise it will drop through the floor... setorigin(self, FLAG_CARRY_POS); setattachment(self, other, ""); + WaypointSprite_AttachCarrier("flagcarrier", other); } } }; @@ -425,6 +432,9 @@ void() item_flag_team1 = // self.glow_size = 50; self.effects = self.effects | EF_FULLBRIGHT | EF_LOWPRECISION; + droptofloor(); + + WaypointSprite_SpawnFixed("redbase", self.origin + '0 0 37'); }; /*QUAKED item_flag_team2 (0 0.5 0.8) (-48 -48 -24) (48 48 64) @@ -478,6 +488,9 @@ void() item_flag_team2 = // self.glow_size = 50; self.effects = self.effects | EF_FULLBRIGHT | EF_LOWPRECISION; + droptofloor(); + + WaypointSprite_SpawnFixed("bluebase", self.origin + '0 0 37'); }; diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index a7bfc7180..fa6d9ca99 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -261,6 +261,7 @@ float default_weapon_alpha; .float cvar_cl_nogibs; .float cvar_scr_centertime; .float cvar_cl_shownames; +.float cvar_cl_hidewaypoints; .string cvar_g_nexuizversion; .float version_nagtime; diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index a1b5b0003..d3e2d4383 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -364,6 +364,9 @@ void worldspawn (void) CampaignPreInit(); InitGameplayMode(); + + WaypointSprite_Init(); + //if (cvar("g_domination")) // dom_init(); @@ -729,6 +732,14 @@ float() DoNextMapOverride = return TRUE; } } + if(cvar_string("quit_and_redirect") != "") + { + entity head; + FOR_EACH_REALCLIENT(head) + stuffcmd(head, strcat("\nconnect ", cvar_string("quit_and_redirect"), "\n")); + localcmd("wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; quit\n"); + return TRUE; + } if (cvar("samelevel")) // if samelevel is set, stay on same level { // this does not work because it tries to exec maps/nexdm01.mapcfg (which doesn't exist, it should be trying maps/dm_nexdm01.mapcfg for example) diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 067d938ca..2282e98ea 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -358,6 +358,7 @@ void GetCvars_handleFloat(float f, .float field, string name) } void GetCvars(float f) { + GetCvars_handleFloat(f, cvar_cl_hidewaypoints, "cl_hidewaypoints"); GetCvars_handleFloat(f, cvar_cl_zoomfactor, "cl_zoomfactor"); GetCvars_handleFloat(f, cvar_cl_zoomspeed, "cl_zoomspeed"); GetCvars_handleFloat(f, cvar_cl_playerdetailreduction, "cl_playerdetailreduction"); diff --git a/data/qcsrc/server/progs.src b/data/qcsrc/server/progs.src index 50d8293c2..9258d5bae 100644 --- a/data/qcsrc/server/progs.src +++ b/data/qcsrc/server/progs.src @@ -14,6 +14,8 @@ campaign.qh miscfunctions.qc +waypointsprites.qc + // general bot utility functions and management bots.qc -- 2.39.2