-
v0.3.0 Stable
released this
2026-08-15 20:11:31 +01:00 | 67 commits to main since this releaseAdded
- A main menu — Play, Settings, Quit — and a settings menu behind it: calibration,
audio, video, bindings and an input test. - Audio and video settings screens. Latency offset, volumes and the effects bypass;
fullscreen, V-Sync and the frame limit. Fullscreen and the frame limit apply immediately;
V-Sync says on the row that it needs a restart rather than appearing to do nothing. - A bindings screen listing every action and what is bound to it. Read-only for now —
editing it needs a mode, not a rewrite, sincecapturealready exists. - The input test now returns to settings after 10 seconds with nothing pressed, and says so
on screen. It consumes every input while open, so a player diagnosing a broken Back
binding could otherwise have had no way out.
Fixed
-
Opening a screen immediately acted on the keypress that opened it — choosing Settings
landed straight in Calibration. raylib refreshes input at the end of a frame, and
switching screens skipped the draw, so the same press was still down when the new screen
read it. Every transition now absorbs the input that caused it. -
Leaving a song shared a button with the drum. The arcade layout puts every face
button on the drum while Back conventionally sits on one of them, so hitting the drum
could quit the song. Leaving a song is now its own action, defaulting to Start/Select on
a pad, and conflicting bindings are reported at startup. -
Controllers were not detected. The game listened to gamepad index 0, which is rarely
the controller: an 8BitDo Ultimate 2C presents its keyboard interface at index 0 and the
actual joystick at index 1, and the indices shift as devices come and go.input.gamepad
now defaults to"all"and listens to every device, so a controller works with no
configuration."none", an index, or part of a device name still pin it. -
Configs written by 0.2.0 still load: the old
input.gamepad_indexis accepted, ignored,
and reported once, rather than being rejected and silently taking the player's calibration
with it.
Changed
- Bindings are now actions, and every control is bindable. Previously drum hits came
from config while menu keys were hardcoded in Rust, and "back" during a song was a
keyboard-only check in the main loop — so there was no way to leave a song on a gamepad,
and nothing a settings menu could have enumerated. Now[input.bindings]maps ten actions
to any number of inputs: keys, pad buttons (pad:NAME, orpad2:NAMEfor one device),
and pad axes (axis:LEFT_Y+), with back bound on both keyboard and pad everywhere. - Drum actions carry a side (
don_left/don_right), which nothing uses yet but big notes
needing both hands eventually will. - Configs from earlier versions are migrated, not discarded: custom
don/kakeys move
into the new bindings and the change is reported.
Added
--save-configwrites the config with every binding spelled out.--test-input, which lists the devices being listened to and names every key and button as
it arrives. Written because "my controller does nothing" is almost always the wrong device
being polled, and that is invisible without it.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
simple-taiko-v0.3.0-x86_64-linux.tar.gz
0 downloads ·
2026-08-15 20:11:32 +01:00 · 1.1 MiB -
simple-taiko-v0.3.0-x86_64-linux.tar.gz.sha256
0 downloads ·
2026-08-15 20:11:32 +01:00 · 106 B
- A main menu — Play, Settings, Quit — and a settings menu behind it: calibration,