Repository navigation
KERNEL PANIC 3.2.0 — Mobile, Accessibility and Quality of Life
Mobile gets its own interface. 3.1 was built PC-first, and it showed: the phone ran a shrunken desktop menu, with options that did nothing and controls too small to hit. This release is the repair — plus the accessibility pass that measurement turned into something bigger than planned.
The phone stops borrowing the PC's interface
- Every option declares which platform it serves. Aim mode, haptics and touch size no longer sit in a PC menu doing nothing —
effective_aim_mode()is only ever read by the touch controls, so those rows were decoration on a desktop. Keybinds no longer take a whole section on a phone. CONTROLS became the controls section of each platform. - Left-handed touch.
BUTTON SIDEmirrors the entire layout: the move zone, the action buttons, the safe-area cutout they have to avoid, the patch dock that gets out of their way, and the onboarding labels that used to insist the left thumb moved when it no longer did. BUTTON OPACITYfades the on-screen controls without shrinking what responds to your thumb.- Settings became a list you can read. Two columns — label left, value right — with a rule under each row, instead of a stack of loose sentences.
- The touch controls are drawn, not pixels. Dash, boost and pause were the last raster icons in the game, stuck there because the icon library never learned to draw overclock or pause. They scale with the button size now.
Accessibility
FLASH: OFF / LOW / FULL. Nothing controlled light before. The full-screen white, the palette inversion mid-dodge, the damage distortion and the CRT flicker all answer to one setting. What informs you — the damage pulse, the low-integrity vignette — is never dimmed: trading information for comfort is not a fix.- Colour assist that assists. The old one made things worse. Measured against simulated protanopia, deuteranopia and tritanopia, its two palette swaps degraded 29 pair-and-deficiency combinations: with assist on, BULWARK and OOM_KILLER sat 0.009 apart in deuteranopia — effectively the same colour, for the people who turn it on. It is now a marker on all 23 entries instead of a recolour, because fourteen enemies do not fit on the axis a dichromat has left.
TEXT SIZE: NORMAL / LARGE / LARGER, across the whole interface.
Quality of life
- Adjust without leaving the run. Aim, touch size, button side, opacity, shake and flash are reachable from the pause screen. Changing any of them used to mean abandoning the run.
- In-game update check on desktop. It is a button, and checking on launch ships off — the game still contacts nothing on its own. It never replaces a running binary, and where a package manager owns the install it says so instead.
Fixed
- Touch targets were half of what you saw. The action blocks measured 67px tall and responded in 35: the padding lived on the panel, and a panel shrinks its children — including the invisible button that receives the touch. Every screen was affected.
- Two palette defects that hit everyone, not just colour-blind players. UPDATE_LOOP sat 0.004 from BULWARK under protanopia and 0.059 in plain RGB — two near-identical blues that share the Windows act. CRON sat 0.016 from a memory mote in deuteranopia: the enemy looked like the thing you collect.
- The bestiary painted seven entries the same colour — GOD and all six processes added in 3.1 fell through to the default.
- The top dead zone ignored the display cutout, so on a notched phone it disagreed with the pause button it exists to protect.
- A key chip rendered as a hexagon: the corner cut was capped at half the shorter side, which on a 28px chip is 14.
Notes
- Android is signed with the same key since 3.0.0, so this installs straight over 3.1.0 — no uninstall, no lost save.
- Settings hidden on one platform are still saved: the game transfers progress between phone and PC, and lock-on aim configured on a phone survives a round trip through a desktop install.
- Check what you downloaded.
SHA256SUMS.txtcovers every file here. The APK's signing certificate should read9fd554575a253ba9a98fec403e45a72a8deb0b066ff70e505a60d6393fb45e31.
Autotest: 2746 pass, 0 fail, and the same suite passes from inside the shipped Linux binary.