Bug 5001 - repeater buildpoint queuing is borked
Status: RESOLVED FIXED
Alias: None
Product: Tremulous
Classification: Unclassified
Component: Misc
Version: SVN HEAD
Hardware: All All
: P3 normal
Assignee: Tim Angus
QA Contact: Tremulous Bugs
URL:
Depends on:
Blocks: 5158
 
Reported: 2011-05-23 20:47 EDT by /dev/humancontroller
Modified: 2011-08-06 17:48:23 EDT
1 user (show)

See Also:


Attachments
fix repeater buildpoint queuing (1.44 KB, patch)
2011-05-23 20:51 EDT, /dev/humancontroller
initialize buildpoint zones as full (638 bytes, patch)
2011-06-14 08:33 EDT, /dev/humancontroller

Description /dev/humancontroller 2011-05-23 20:47:50 EDT
a repeater constantly provides g_humanRepeaterBuildPoints amount of buildpoints (regardless of the g_humanRepeaterBuildQueueTime setting).
Comment 1 /dev/humancontroller 2011-05-23 20:51:39 EDT
Created attachment 2738 [details]
fix repeater buildpoint queuing

however, with this, repeaters initially provide 0 buildpoints even if they were layout-spawned (and depending on the g_humanRepeaterBuildQueueTime setting, it may take quite a while for the repeater to provide a useful amount of buildpoints).
Comment 2 Chris "Lakitu7" Schwarz 2011-06-10 23:06:14 EDT
Repeaters initially providing 0 BP until the queue spins up really sounds like a much more severe bug than the one that this fixes. We need a better or more complete solution.
Comment 3 /dev/humancontroller 2011-06-11 19:38:19 EDT
(In reply to comment #2)
> Repeaters initially providing 0 BP until the queue spins up really sounds like
> a much more severe bug than the one that this fixes.

repeaters initially providing 0 buildpoints is intended. see g_buildable.c:
        // Initialise the BP queue with all BP queued
Comment 4 /dev/humancontroller 2011-06-14 08:33:11 EDT
Created attachment 2780 [details]
initialize buildpoint zones as full
Comment 5 Chris "Lakitu7" Schwarz 2011-08-01 18:16:33 EDT
After multiple long discussions, it's been decided to fix queuing, with the timing such that it is always equal or better to wait for the queue, than to replace the repeater. This shakes out to a g_humanRepeaterBuildQueueTime of 1000, since the max you need to recover is 10BP, and it takes 10sec to build a new repeater. Repeaters will continue to begin with full BP when built.

These changes are approved pending my test of the implementation.
Comment 6 Chris "Lakitu7" Schwarz 2011-08-06 17:48:23 EDT
In at r2238, thanks.