This patch (against svn840) implements the g_suddenDeath cvar.
It holds the current sudden death status, making checking that really easy, allowing SD to be enabled via rcon (or by vote, when I submit that patch) with g_suddenDeathTime = 0, and allows sudden death to be safely disabled for the rest of the current match.
Created attachment 1200[details]
g_suddenDeath
I updated the actual calculation of when sudden death should begin. This is much cleaner, but I know there's a better way to do this (especially with the stuff in revision 872). I'm still not quite sure how yet. So this is not quite a finished product, ready for inclusion.
The other patches didn't have the warmup stuff that was actually there (I guess I was trying to sneak in bug 2923 [which, now that I think about it, might not have removed the unnecessary stuff from the sudden death code]). This puts that !level.warmupTime in the right place.
On an aside, wouldn't it make more sense to handle stages in G_CalculateStages than G_CalculateBuildPoints?
After closing bug 2920 (good riddance), I figured I should do something with this too since it was created for bug 2920. I thought maybe some of my code would be good and that this could stay open for that. What I found is this: my patch removed a redundant 'else'
int localHTP = g_humanBuildPoints.integer,
localATP = g_alienBuildPoints.integer;
...
else
{
localHTP = g_humanBuildPoints.integer;
localATP = g_alienBuildPoints.integer;
}
Certainly not good enough to stay open.
Created attachment 1146 [details] the aforementioned patch patch against svn revision 840
Created attachment 1174 [details] updated patch Updated for G_TimeTilSuddenDeath from svn852