Skip to content

Pokered Save Editor v0.14.2-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Jun 01:04

Pokered Save Editor v0.14.2-alpha — a free, open-source save-file editor for Pokémon Red & Blue (Gen 1), built with Qt 6 (C++/QML).

It lets you open a .sav and edit your team, items, Pokédex, trainer card, PC boxes and more, with bit-for-bit fidelity (it changes only what you change).

⚠️ Pre-release / alpha — under active development, so expect rough edges and occasional changes to how things work. The downloads are unsigned, so Windows SmartScreen (and some Linux setups) will warn on first launch — that's expected for an alpha, not a problem with the file.

What's new in this release

2026-06-22 -- Tests: QSignalSpy signal/slot suite (tst_signals)

New tests/savefile/tst_signals.cpp — the suite's first dedicated signal/slot coverage. The rest of
the suite asserts VALUES; this asserts the notification layer every QML binding depends on: that
mutating a fragment emits exactly the right change signal (correct count, and that bound-clamped no-ops
still honor their always-emit contract), and that the internal connect() wiring actually fires —
verified by spying the DOWNSTREAM signal (PokemonMove ppUpChanged/ppChangedppCapChanged). Also
covers PlayerBasics (badgeSet, the targeted randomizers emit exactly one signal, reset() fans out to
every field signal). 9 cases, guiless. Full ctest 68/68 green. (Test-only; no VERSION change. Broader
model dataChanged/layoutChanged emission is covered structurally by the QAbstractItemModelTester pass.)

2026-06-22 -- Fix: new move slots start with 0 PP-Ups (the dead-store, confirmed intended)

Follow-up to the static-analysis pass. The PokemonMove constructor, when filling an empty slot
(move == 0), calls randomize() — which assigns a random 0-3 PP-Ups — and was meant to then reset
that to 0 so a brand-new move starts clean. The original ppUp = 0 assigned the constructor PARAMETER
(which shadows the member), so it was a no-op and new moves silently kept a random PP-Up count. Now writes
this->ppUp = 0. Scoped to move construction only — the deliberate "randomize everything" actions are
unaffected. Confirmed intended with Twilight. Full ctest green. VERSION 0.14.1-alpha → 0.14.2-alpha (PATCH).

How to get it

Platform File What to do
Windows *-windows-x64-setup.exe Installer — recommended; just run it.
Windows *-windows-x64-portable.zip No-install — unzip and run PokeredSaveEditor.exe.
Linux *-x86_64.AppImage Portable — chmod +x then run.
Linux *-linux-x64-portable.tar.gz Portable tree — extract and run usr/bin/PokeredSaveEditor.

Also attached: *-docs.zip (generated code docs) and *-screenshots.zip (UI screenshots).

Links

Built automatically from main. The deepest technical layer — the raw commit list — is in What's Changed below.

Full Changelog: v0.14.1-alpha...v0.14.2-alpha