From 16c6ab4d07fa5c526822463a95e94f27c9ce6f79 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Tue, 17 Jul 2018 02:07:03 +0900 Subject: [PATCH] ui: Introduce DefaultTPS and deprecate FPS --- ebitenutil/gif.go | 2 +- examples/alphablending/main.go | 2 +- examples/blocks/blocks/gamepadscene.go | 2 +- examples/blocks/blocks/gamescene.go | 2 +- examples/chipmunk/main.go | 2 +- examples/font/main.go | 2 +- examples/paint/main.go | 3 ++- examples/pcm/main.go | 6 ++---- run.go | 11 +++++------ 9 files changed, 15 insertions(+), 17 deletions(-) diff --git a/ebitenutil/gif.go b/ebitenutil/gif.go index e59a67101..b2205134d 100644 --- a/ebitenutil/gif.go +++ b/ebitenutil/gif.go @@ -51,7 +51,7 @@ func init() { } func (r *recorder) delay() int { - delay := 100 * r.skips / ebiten.FPS + delay := 100 * r.skips / ebiten.TPS() if delay < 2 { return 2 } diff --git a/examples/alphablending/main.go b/examples/alphablending/main.go index bcfdb6886..b1c906896 100644 --- a/examples/alphablending/main.go +++ b/examples/alphablending/main.go @@ -39,7 +39,7 @@ var ( func update(screen *ebiten.Image) error { count++ - count %= ebiten.FPS * 10 + count %= ebiten.TPS() * 10 diff := float64(count) * 0.2 switch { case 480 < count: diff --git a/examples/blocks/blocks/gamepadscene.go b/examples/blocks/blocks/gamepadscene.go index f182753e0..afc58f67e 100644 --- a/examples/blocks/blocks/gamepadscene.go +++ b/examples/blocks/blocks/gamepadscene.go @@ -66,7 +66,7 @@ func (s *GamepadScene) Update(state *GameState) error { if state.Input.gamepadConfig.Scan(gamepadID, b) { s.currentIndex++ if s.currentIndex == len(virtualGamepadButtons) { - s.countAfterSetting = ebiten.FPS + s.countAfterSetting = ebiten.TPS() } } return nil diff --git a/examples/blocks/blocks/gamescene.go b/examples/blocks/blocks/gamescene.go index 4c9e5753d..0ee705b1f 100644 --- a/examples/blocks/blocks/gamescene.go +++ b/examples/blocks/blocks/gamescene.go @@ -242,7 +242,7 @@ func (s *GameScene) Update(state *GameState) error { return nil } - const maxLandingCount = ebiten.FPS + maxLandingCount := ebiten.TPS() if s.currentPiece == nil { s.initCurrentPiece(s.choosePiece()) } diff --git a/examples/chipmunk/main.go b/examples/chipmunk/main.go index c39d5000e..65dd03ca8 100644 --- a/examples/chipmunk/main.go +++ b/examples/chipmunk/main.go @@ -38,7 +38,7 @@ func init() { } func update(screen *ebiten.Image) error { - space.Step(1.0 / ebiten.FPS) + space.Step(1.0 / float64(ebiten.TPS())) if ebiten.IsDrawingSkipped() { return nil diff --git a/examples/font/main.go b/examples/font/main.go index 0a71a52f7..4257308bd 100644 --- a/examples/font/main.go +++ b/examples/font/main.go @@ -117,7 +117,7 @@ func init() { func update(screen *ebiten.Image) error { // Change the text color for each second. - if counter%ebiten.FPS == 0 { + if counter%ebiten.TPS() == 0 { kanjiText = []rune{} for j := 0; j < 4; j++ { for i := 0; i < 8; i++ { diff --git a/examples/paint/main.go b/examples/paint/main.go index c7de7616f..25baf1e62 100644 --- a/examples/paint/main.go +++ b/examples/paint/main.go @@ -66,7 +66,8 @@ func paint(canvas *ebiten.Image, x, y int) { op.GeoM.Translate(float64(x), float64(y)) // Scale the color and rotate the hue so that colors vary on each frame. op.ColorM.Scale(1.0, 0.50, 0.125, 1.0) - theta := 2.0 * math.Pi * float64(count%ebiten.FPS) / ebiten.FPS + tps := ebiten.TPS() + theta := 2.0 * math.Pi * float64(count%tps) / float64(tps) op.ColorM.RotateHue(theta) canvas.DrawImage(brushImage, op) } diff --git a/examples/pcm/main.go b/examples/pcm/main.go index 8a1a86da6..65e064850 100644 --- a/examples/pcm/main.go +++ b/examples/pcm/main.go @@ -118,10 +118,8 @@ func playNote(scoreIndex int) rune { panic("note out of range") } - const ( - vol = 1.0 / 16.0 - size = 30 * sampleRate / ebiten.FPS - ) + const vol = 1.0 / 16.0 + size := 30 * sampleRate / ebiten.TPS() l := make([]int16, size) r := make([]int16, size) square(l, vol, freq, 0.25) diff --git a/run.go b/run.go index 1220c42c2..a424c1f75 100644 --- a/run.go +++ b/run.go @@ -29,12 +29,11 @@ import ( "github.com/hajimehoshi/ebiten/internal/ui" ) -const defaultTPS = 60 +// TPS represents a default ticks per second, that represents how many times game updating happens in a second. +const DefaultTPS = 60 -// FPS represents how many times game updating happens in a second (60). -// -// BUG: This actually represents TPS, not FPS. -const FPS = defaultTPS +// FPS is deprecated as of 1.8.0-alpha: Use DefaultTPS instead. +const FPS = DefaultTPS // CurrentFPS returns the current number of frames per second of rendering. // @@ -53,7 +52,7 @@ var ( ) func init() { - atomic.StoreInt32(¤tTPS, defaultTPS) + atomic.StoreInt32(¤tTPS, DefaultTPS) } func setDrawingSkipped(skipped bool) {