terencehill [Mon, 20 Jun 2011 16:00:29 +0000 (18:00 +0200)]
Now that "The Champion is X" msg is centerprinted only once there's no need to strzone champion.netname. Also I had to fix other centerprint-related bugs in the arena code (yet another couple of bugs created BY SOMEONE ELSE (guess who?) and fixed BY ME):
* "The Champion is X" msg was never sent because champion was cleared just before sending it (bad check f > 0).
Furthermore, bug in the bug, although the champion is needed only in arena, mysteriously its name was strzoned only in a part of the ca code
* "Begin!" msg in arena mode was never sent cause of a missing FOR_EACH_PLAYER(e)
terencehill [Mon, 13 Jun 2011 23:06:42 +0000 (01:06 +0200)]
Remove the priority system for centerprint messages in the server, we no longer need it
centerprint_expire calls in vote.qc were useless since votes called aren't centerprinted anymore (there is the vote panel)
terencehill [Sun, 12 Jun 2011 23:13:47 +0000 (01:13 +0200)]
Damn! PlayerPreThink code is buggy! The countdown didn't stop when dead because (self.deadflag == DEAD_NO) is always true there... Add a FIXME comment as other code does that check and needs to be fixed.
terencehill [Sun, 12 Jun 2011 22:25:37 +0000 (00:25 +0200)]
Other improvements to the multiple centerprints system
Server now uses Send_CSQC_Centerprint_Generic instead of centerprint_builtin to send messages, so that it's possible to send more parameters (id, duration and countdown_num) without adding them to the msg (like the id before). If duration is not set, then the default duration will be used, that is hud_panel_centerprint_time.
In the countdown case, the server can send only the first msg of a series with the same id and the client can continue the countdown by its own; the next countdown messages can be sent by the server anyway, for example to change the countdown msg or for whatever reason. Countdown can be stopped by the server at any time by sending an empty msg (always same id).
The centerprint function in the client now is a wrapper for centerprint_generic, which actually handles the new parameters and add the msgs to the list.
Changes on minstagib_ammocheck are neccessary to correctly stop the out of ammo countdown.
terencehill [Fri, 10 Jun 2011 21:47:58 +0000 (23:47 +0200)]
Keep displayed the centerprint panel when showing the scoreboard and move it smoothly below the scoreboard
Also apply the global alpha (hud_panel_fg_alpha) to the messages
Samual [Wed, 25 May 2011 04:04:35 +0000 (00:04 -0400)]
Fix intermission player model so that it doesn't tilt based on where the player is aiming. (wtf comes to mind.. why was this broken in the first place?)
terencehill [Tue, 24 May 2011 19:44:35 +0000 (21:44 +0200)]
Also replace cvar_scr_centertime with cvar_hud_panel_centerprint_time
However, the engine's cvar scr_centertime that refers to the builtin centerprint cannot be removed therefore it may lead to confusion. Maybe it can be avoided by renaming the panel to something else...
Samual [Tue, 24 May 2011 05:22:06 +0000 (01:22 -0400)]
Just a quick fix for the teamkill message coloring -- if the player has colors in their nickname, it breaks the rest of the string since the color isn't re-set.
Samual [Tue, 24 May 2011 04:50:35 +0000 (00:50 -0400)]
Change some things about Nex charge slightly -- Instead of using shot multiplier, just go directly from 0 charge to 100% each time (same exact time to charge as before, 2 seconds, but done in a better way) - Also make it so that you have 50% charge when you first pick up the weapon, so you aren't totally screwed from it.
terencehill [Mon, 23 May 2011 22:23:40 +0000 (00:23 +0200)]
Get rid of the EOLS at the beginning of the messages, they no longer need, stop/finish some countdown better by sending one last message; stop displaying the MOTD too in the same way
terencehill [Thu, 19 May 2011 13:20:10 +0000 (15:20 +0200)]
Optimize centerprint drawing
- set drawfontscale before drawing all the lines, rather than for each line
- when a line isn't resized (sz == 1) use the previously calculated width (centerprint_width[i]) rather than calculate it again at every frame
- network warning message in ca once per second, message is still visible all the time