Skip to content

Commit a9c672c

Browse files
committed
common: fix Player.FlashDurationTimeRemaining() rounding error
- this might have caused some minor inaccuracies for demos with corrupt headers
1 parent 7200e0a commit a9c672c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

common/player.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func (p *Player) FlashDurationTimeRemaining() time.Duration {
106106
// TODO: read tickRate from CVARs as fallback
107107
tickRate := p.demoInfoProvider.TickRate()
108108
if tickRate == 0 {
109-
return time.Duration(p.FlashDuration) * time.Second
109+
return p.flashDurationTimeFull()
110110
}
111111

112112
timeSinceFlash := time.Duration(float64(p.demoInfoProvider.IngameTick()-p.FlashTick) / tickRate * float64(time.Second))

common/player_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ func TestPlayer_FlashDurationTimeRemaining_Default(t *testing.T) {
9292
}
9393

9494
func TestPlayer_FlashDurationTimeRemaining(t *testing.T) {
95-
pl := newPlayer(128 * 2)
95+
pl := newPlayer(32 * 5)
9696

9797
pl.FlashDuration = 3
9898
pl.FlashTick = 128
99-
assert.Equal(t, 2*time.Second, pl.FlashDurationTimeRemaining())
99+
assert.Equal(t, 2750*time.Millisecond, pl.FlashDurationTimeRemaining())
100100
}
101101

102102
func TestPlayer_FlashDurationTimeRemaining_Zero(t *testing.T) {
@@ -118,9 +118,9 @@ func TestPlayer_FlashDurationTimeRemaining_FlashDuration_Over(t *testing.T) {
118118
func TestPlayer_FlashDurationTimeRemaining_Fallback(t *testing.T) {
119119
pl := NewPlayer(mockDemoInfoProvider(0, 128))
120120

121-
pl.FlashDuration = 2
122-
pl.FlashTick = 128 * 2
123-
assert.Equal(t, 2*time.Second, pl.FlashDurationTimeRemaining())
121+
pl.FlashDuration = 2.7
122+
pl.FlashTick = 128 * 3
123+
assert.Equal(t, 2700*time.Millisecond, pl.FlashDurationTimeRemaining())
124124
}
125125

126126
func TestPlayer_IsSpottedBy_HasSpotted_True(t *testing.T) {

0 commit comments

Comments
 (0)