• R/O
  • HTTP
  • SSH
  • HTTPS

Repository summary

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A Nix-friendly SQLite-enhanced fork of Flitter, a speedrunning split timer for Unix-style terminals


Recent Commits RSS

Rev. Time Author Message
8aa997f 2023-07-07 12:19:42 Corbin master Make Gold.to_image foldable. Okay! This was the missing ...
45b69bf 2023-07-04 01:51:27 Corbin Duplicate and simplify row-displaying logic.
6ff3136 2023-06-24 02:01:01 Corbin Remove world-record support. For posterity: This is the ...
afe9c57 2023-06-06 02:09:56 Corbin Fix a SQL query and add cumulative times per attempt.
7fa6e81 2023-06-05 08:11:40 Corbin Make row generation slightly easier.
241d2e0 2023-06-05 08:02:42 Corbin Factor the ability to fetch golds for all segments. Well...
663aca5 2023-06-05 06:31:45 Corbin Add convenience functions for SQL SELECT statements.
5292da8 2023-06-03 02:54:52 Corbin Two new modules for managing queried state.
abd287c 2023-06-02 00:52:52 Corbin Meh.
46bc328 2023-05-31 08:31:09 Corbin Encapsulate prepared statements, caching them. SQLite do...

Branches

Name Rev. Time Author Message
master 8aa997f 2023-07-07 12:19:42 Corbin Make Gold.to_image foldable...

README.md

Flitterite

Flitterite is a Livesplit-inspired speedrunning split timer for terminals, including several command-line tools for managing a database of splits. Flitterite is forked from Flitter.

Animated demo GIF

All screenshots

Features

  • Global hotkeys
  • :rainbow: Animated rainbow best splits
  • 24-bit terminal color
  • Undo / delete split
  • Pause / resume
  • Up to 60 FPS rendering with low CPU usage
  • Robust time computations: float math is mostly avoided

Flitterite-specific features

  • Splits and history are now stored in a SQLite database of splits
  • Import script for migrating from S-expressions to SQLite
  • Statistics for splits
  • Multiple routes and categories per game
  • Nix flake
  • Many bug fixes

Install

Add this git repository to your Nix flake.

Usage

Create your database of splits:

$ flitter-new splits.db

Launch Flitter with your splits file:

$ flitter splits.db

Keybindings

Keybindings are all global hotkeys; they will work even when the terminal is not focused.

Keys Action
Space Start / split / save and reset if run finished
J Start / split
K Undo split
D Delete last segment
Backspace Pause / reset (save run if finished and save golds)
Delete Pause / delete run (don't save anything)
Q Quit (if not currently timing)

Summaries

The flitter-summary tool can be used to quickly extract the minimum (best), average, and standard deviation for an entire database, a single category, or a single run. For example:

$ flitter-summary splits.db
...
Horizon: Forbidden West (Abs%): min 33:09.354 (attempt 4), avg 38:17.799 ± 4:02.849
...

$ flitter-summary splits.db 'Horizon: Forbidden West' 'Abs%'
Segment: New Game -> Interlude: min 15:23.983, avg 15:36.073 ± 11.095
Segment: New Game -> Shuttle: min 13:53.595, avg 18:31.488 ± 6:05.001
Segment: Shuttle -> Spire: min 2:13.510, avg 2:35.034 ± 17.954
Segment: Spire -> Embassy: min 14:47.481, avg 18:00.206 ± 1:42.837
Segment: Embassy -> Abs: min 2:14.768, avg 3:09.039 ± 1:06.530

$ flitter-summary splits.db 'Horizon: Forbidden West' 'Abs%' 4
Segment: New Game -> Shuttle: 13:53.595 (cum 13:53.595)
Segment: Shuttle -> Spire: 2:13.510 (cum 16:07.105)
Segment: Spire -> Embassy: 14:47.481 (cum 30:54.586)
Segment: Embassy -> Abs: 2:14.768 (cum 33:09.354)

Contributing

Feel free to make an issue or a pull request! Also feel free to copy any changes back to Flitter.