|
Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
|
← All months (index) · 163 commit(s) this month.
91bb75a - Twilight
Near-final touches to the Pokemart screen and its market model.
b71a78c - Twilight
The cart amount edit now turns red when that individual item can't be checked out.
44b97ec - Twilight
An attempt to fix a "cart left" math bug in the money-exchange entry; the message admits the math here has been a slog.
8660c19 - Twilight
A batch of fixes across the market entry types (Game Corner Pokemon, money, player item, store item) and the screen.
36fd3ce - Twilight
Continues building the Pokemart screen and market model, including the minus (decrement) cart button.
c96c982 - Twilight
A routine merge of the master branch from the remote.
db8abf4 - Twilight
A meaningful fix to the store-item market entry that gets many things working correctly and showing the right error messages.
4bc581f - Twilight
A celebratory one-line README tweak marking 500 commits.
54f85d1 - Twilight
A variety of changes to the Pokemart screen and market model, with small additions to the footer-button components it uses.
7dec38c - Twilight
A large round of fixes, updates and improvements across the Pokemart screen and its market model (~280 lines).
a165847 - Twilight
The Pokemart now shows a message when an item can't be sold and greys out the information that doesn't apply.
64aa434 - Twilight
Continued progress on the Pokemart screen and money entry handling.
6e9d3fd - Twilight
Small fixes to the Pokemart screen and market model.
3a49de8 - Twilight
Further fixes and improvements to the market entry, model and screen.
f19ee18 - Twilight
A one-line type fix: item prices were stored in an 8-bit variable and corrupted above 255, so the field is widened to 16-bit and prices now display correctly.
a3d2069 - Twilight
Various improvements touching the Game Corner data/JSON and simplifying the market model.
2d64422 - Twilight
Assorted fixes in the money entry, market model and Pokemart screen.
0c1e24c - Twilight
A sizable layout reworking of the Pokemart screen.
b50172d - Twilight
Tweaks and fixes that polish the money-and-coin exchange behavior and tidy up the Pokemart UI.
30718d6 - Twilight
Fixes a bug where store items weren't being added to the market list.
7749322 - Twilight
The Pokemart screen comes into existence: ~180 lines of new QML plus the market model and router wiring. Twilight's candid message: it doesn't crash, but it looks like garbage and needs serious work.
2914f9d - Twilight
Fixes the market entry class hierarchy so the app runs and loads again. The message reflects on learning a detail about C++ pure virtual functions that had escaped Twilight over the years – a few minutes of research and a small fix sorted it.
1d22e50 - Twilight
A two-line fix that gets the market model compiling; the open question in the message is whether it'll actually run.
93f6257 - Twilight
A forgotten step: registers the new model with QML so it can be tested.
2eb0534 - Twilight
Wires the market model into the bridge and gets it to a testable state, with the caveat that it's untested and may be full of bugs.
66c2017 - Twilight
Cleanup and finalization of the market model design, including a fleshed-out money market-entry type and a substantial trim of the model itself.
96db54f - Twilight
Further refinement of the market entry base and its subclasses.
8b51279 - Twilight
A cleanup that moves the Game Corner Pokemon market-entry code out of the model and into its own ItemMarketEntryGCPokemon class.
6ab3bf9 - Twilight
Small tweaks and fixes across the market entry types (message, player item, store item).
0ec348f - Twilight
Slow but steady progress on the market model, mainly building out the store-item market-entry class. The message admits it's a bigger challenge than expected.
89bae48 - Twilight
Cleanup that moves the player-item market-entry code out of the model into its own ItemMarketEntryPlayerItem class.
b3922618 - Twilight
A cleanup pass on the market model, which had grown too complicated. Introduces the market-entry base and a message entry type, and adds the party/storage helpers the model needs.
523ca40 - Twilight
Continued work on the store side of the market model.
173256a - Twilight
Further build-out of the market model.
fb3ac4f - Twilight
A checkpoint laying down the first large version (~570 lines) of the market model that will feed the QML Pokemart screen. The message notes it's already quite a lot.
f748718 - Twilight
A larger refactor giving every item standardized buy and sell prices in both currencies (money and coins), reaching into the items and Game Corner databases and the item fragments.
df3525e - Twilight
Extends the Game Corner database's deep-linking to cover TM items as well.
7605979 - Twilight
Completes the Game Corner database code (loading/linking the gameCorner data), though it's not yet tested.
55a657b - Twilight
A routine merge of the master branch from the remote.
8fd879c - Twilight
Adds the gameCorner.json data file (the casino prize list), ahead of writing the database code to consume it.
48e3602 - Twilight
A data update to items.json marking which items can and can't be sold and giving each correct pricing.
5f154ed - Twilight
A one-line README update recording the sortable Pokedex feature.
cad972f - Twilight
A small change to the item storage model to improve performance.
d93da9c - Twilight
A routine merge of the master branch from the remote.
7c24e29 - Twilight
Adds sorting to the Pokedex, cycling between dex number, Pokemon name, and the game's internal (creation) ordering, backed by changes to the Pokedex model and the three-button footer.
57b97e7 - Twilight
A one-line README update noting the better-designed item screen UI.
24f2bde - Twilight
Restores the original design where the player's bag randomizes differently from bag storage; the distinction had been lost when the two were merged.
c624426 - Twilight
Strips some temporary debug code from the item storage model.
3324db3 - Twilight
Another fix in the item storage model so items move and sort correctly in the list.
32b95fe - Twilight
A routine merge of the master branch from the remote.
1799397 - Twilight
Tidies the Bag screen's item pane so it looks much better. The message is a long vent of frustration with Qt's QML ListView + C++ MVC combination, predicting the bag screen will be perpetually glitchy no matter the effort.
106a7c4 - Twilight
A README update adding new screenshots.
782e340 - Twilight
Groundwork for the upcoming Pokemart screen (adds its home-menu icon), whose purpose is to let you buy and sell items as if in-game rather than editing every value by hand.
c5184fd - Twilight
A fix in the item storage model that appears to stop the crashing, with another aside about how much Twilight dislikes wiring QML ListView to a C++ model.
3e9e367 - Twilight
A big cleanup of the item storage box, model and bag UI. The message laments that a previously-fixed bug has crept back in and that one rarer, minor ListView glitch is being left alone deliberately as not worth the cost to chase.
a152b8b - Twilight
A routine merge of the master branch from the remote.
2056319 - Twilight
Gets the bag's item-reordering actions roughly working: move up/down, move to top/bottom and transfer, backed by new icons and substantial additions to the item storage box, model and bag UI. Acknowledged as needing major cleanup.
c24f523 - Twilight
A README wording update emphasizing more detail.
28c01a9 - Twilight
A one-line README tweak making the link to the older editor more prominent.
c47d7b6 - Twilight
A README tweak making the work-in-progress status clearer.
d7d61fa - Twilight
Removes the separate bag and storage icons from the home screen; the bag is now simply "Items," combining the item bag and item storage in one place.
0b932ba - Twilight
More bag-screen progress: adds a sort function and the icons/groundwork for checkboxes that will move many of the per-row buttons behind a selection model.
53d69ea - Twilight
Functionally tiny – just adds a grip icon – but the message records 4-5 hours lost trying and failing to get QML drag-and-drop working, with a long lament about how hard Qt makes it and how the documentation skews toward C++ rather than QML. Drag-and-drop is effectively abandoned here.
a577161 - Twilight
Assorted progress on the bag screen, the item-select model and the item box view.
2837cfb - Twilight
Overhauls how types are registered with QML in the boot linkage, with another a remark about how little C++ help carries over to QML.
ae79838 - Twilight
Polishes the bag screen and renames the items model to ItemSelectModel to better reflect its role (driving the item dropdown), with more work still to do.
e513683 - Twilight
A big bag-screen step: the bagitemsmodel becomes itemstoragemodel, the separate playeritems object is removed in favor of the item fragments, and the item-select combo, box view and pane take shape. Notes that ItemsModel was accidentally deleted in a naming clash and will need recreating.
e1dfd7e - Twilight
A first rough working bag, wiring the player-items object through the bag model to the Bag screen.
2e22b75 - Twilight
A checkpoint partway through the items MVC, with the caveat that it likely won't compile yet.
ea41008 - Twilight
Starts the items feature: a first ItemsModel, the player-items object, the Bag screen and its home-menu entry.
512734f - Twilight
A routine merge of the master branch from the remote.
cf104b4 - Twilight
A small Pokedex fix so the preview image updates correctly when a row is clicked.
8666ebe - Twilight
A two-line finishing touch declaring the Pokedex screen done.
0b4efe3 - Twilight
Changes the Pokedex to notify the model of individual row changes instead of a full reset, so toggling an entry no longer scrolls the list back to the top.
db11919 - Twilight
The bulk of the Pokedex screen lands (~290 lines of QML plus the model and the pokedex object): the seen/owned counts, the scrolling species list, and the toggle/footer actions.
3caeb68 - Twilight
A one-line README update recording the Pokedex screen.
116e073 - Twilight
Makes editing the player name or ID automatically update all non-traded Pokemon so they keep their non-trade (owned) status – the cascade that later commits guard so carefully to do atomically.
04b2a3f - Twilight
A tweak to the starters model to correctly account for there being no starter selected.
43fa793 - Twilight
A one-line README update recording the Trainer Card screen.
79df794 - Twilight
A few finishing tweaks to the trainer-card front layout.
f571395 - Twilight
Rounds out the trainer card: adds the eight gym-badge images and the BadgesModel/ListBadges grid, and consolidates the card-front layout into CardFront, shrinking the screen file down to a thin host.
2a087fa - Twilight
Adds tooltips across the trainer-card edit fields (via a new InfoButtonReg) and makes small adjustments.
d7b132f - Twilight
A routine merge of the master branch from the remote.
a4d4a7b - Twilight
A big cleanup that breaks the monolithic Trainer Card screen into per-field fragments (money, coins, the playtime sub-fields, starter, ID, name) and adds the hover-revealed RandomMenu overflow button.
56935fb - Twilight
A one-line README image update.
6bf8469 - Twilight
A small README update swapping in new images.
de3bc9b - Twilight
A large step that builds out most of the trainer-card front (~400 lines of QML), backed by a new PokemonStartersModel and additions to the player-basics and world-other objects.
b120d43 - Twilight
A one-line visual tweak removing the trainer card's rounded corners.
a719901 - Twilight
Early build-out of the Trainer Card screen, with supporting tweaks to the text field and name-display menu.
30ff511 - Twilight
Fixes two save bugs: the save file wasn't being flattened back to bytes before writing, and flattening it surfaced a crash that's also fixed here.
4316a5b - Twilight
Adds a Red character image (a game image, since no good Creative Commons original could be found) and fixes an annoying bug where the quick-edit popup floated far above the text it was editing.
6c9197d - Twilight
Makes the simulated preview tileset default to the player's current map's tileset, via new settings support.
c79b3c7 - Twilight
A minor README image tweak.
f4bd988 - Twilight
A README update calling out the considerable work that went into the three-stage name editor.
d5b52a5 - Twilight
Finishes the three-stage name/text editor: the paged picker is simplified, the search criteria are added, and a full tileset picker is introduced as the alternate character-entry view.
0e8ee36 - Twilight
Nearly completes the full-keyboard picker, adding the live TilesetDisplay preview.
ac94aa8 - Twilight
Finishes the side detail panel that describes the selected character/code, with font-data fixes and a backspace/clear icon.
359e395 - Twilight
A small fix so the full keyboard's working string updates when changed from outside.
f03a94c - Twilight
Adds per-category colors (normal, control, picture, single/multi-char, variable) to the character picker, defined in settings.
d39b24e - Twilight
A font-data update giving the box-art font characters readable UTF-8 symbol aliases.
678a22d - Twilight
Restructures the full keyboard (splitting out the search root/results) ahead of adding the character detail display.
e858e61 - Twilight
A large refactor that pulls the full keyboard apart into reusable fragments (NameFullEdit, NameFullHeader, NameFullTileset, the search container/ criteria/param), shrinking the screen file dramatically.
25759bb - Twilight
Minor adjustments to the font data.
e145d3b - Twilight
Major full-text-editor progress: adds the font search (a FontSearch helper and FontSearchModel) so the character picker can be filtered, with lots still to do.
6e9275d - Twilight
Adds much of the full keyboard's main body.
ecc07aa - Twilight
Finishes the header and footer of the full name editor, with supporting settings.
b6eacb5 - Twilight
Continued work on the full keyboard, including a tileset-less variant of the name-display menu.
be76e26 - Twilight
A one-line README note marking 400 commits.
a0c5821 - Twilight
A routine merge of the master branch from the remote.
772b2ba - Twilight
Starts the final, third stage of the name editor – the full on-screen keyboard – wiring its modal into the router.
571cabd - Twilight
Circles back and completes a refactor of the name controls, landing the NameDisplay, NameEdit, the name menu and the tileset menu/model as reusable pieces (~760 lines).
debf42e - Twilight
Adds a randomization tuned for the Trainer Card screen (e.g. playtime), via the world-other object.
291757d - Twilight
Completes the screen refactor for everything built so far, including the About and File Tools modals and a shared scroll bar.
755fce8 - Twilight
Small fixes: removes an anchors.fill on a home child and adjusts the Material primary color in the config.
261af11 - Twilight
A README update with new images and a note following the refactor.
9b8529e - Twilight
Makes the app open straight to the New File page on launch and removes some asynchronous-load attributes.
18f1edb - Twilight
Completes the NewFile modal and its fragments (tile button, recent-files tile) under the new structure.
07de33d - Twilight
Begins reintroducing UI pieces on top of the new router: the New File modal and its fragments (info button, credit work, modal close, recent-files tile, tile button).
d0b4f41 - Twilight
A pivotal step in the rewrite: introduces the Router (the C++ navigation system) and wires the app, header and home screen to it. Early tests show it working well. This is the foundation of the bridge/router navigation used throughout the app.
f4681e9 - Twilight
More reorganization: code is pulled into its own namespace instead of the global one, and settings is moved under the new bridge folder.
483fee0 - Twilight
Rebuilds the home screen on the new structure – the icon delegate, icons view, the home icons model and the footer button – collapsing the old monolithic home file.
39a0d41 - Twilight
Continues integrating the new structure: settings, the app header, footer button and home screen all get reworked.
cb36cbc - Twilight
The clean-slate moment of the QML rewrite: nearly 2,000 lines of the old architecture are deleted (the Loader/Pages.js/Style.js approach, the old sections and screens) in favor of the new router-based structure. Twilight notes QML forced the issue but it exposed many things that had been done wrong.
aba290a - Twilight
The turning point: with QML's Loader and the object chain judged unworkable, Twilight commits to rethinking and rewriting large parts of the UI. A small change here precedes the big teardown in the next commit.
94880ab - Twilight
An early start on the full keyboard (then a pseudo-modal NameEditFull), later reworked into the stage-3 editor.
4010026 - Twilight
Adds a few explanatory comments to App.qml.
f32b04c - Twilight
Small fixes and cleanup around the name editing controls (removes an old edit button).
23f583b - Twilight
Cleanup that renames the round/square icon button components and extends the name editor, adding a keyboard icon.
bc12682 - Twilight
A one-line spacing fix moving the name editor's accept button away from its neighbor.
aeba42a - Twilight
A one-line README image addition.
14aec09 - Twilight
Relocates the overflow menu button into the stage-2 quick-edit, where Twilight felt it made more sense.
1c18e46 - Twilight
Extracts the name-display menu and tileset menu into their own files to shrink the very large NameDisplay.
7eff6bb - Twilight
Restores name and example randomization but removes each used value so it can't be picked again, auto-reloading the pool once it's depleted.
b236f5f - Twilight
Completes the first two of the three name-editor stages (the inline display and the quick edit), adding ~150 lines to NameDisplay.
1e353bc - Twilight
Ties the name preview to the app-wide simulated tileset and outdoor/indoor setting, and adjusts the feedback messages.
12eb978 - Twilight
Drops random name selection in favor of stepping through an incremental list, because the randomizer kept re-picking the same names.
580f29b - Twilight
Makes the first two name-editor stages smarter, backed by a font helper.
9c2030a - Twilight
A broad batch adding the example-name databases (player/rival/Pokemon) and their JSON data, wired into the boot path and the name editor.
0d0ee91 - Twilight
Adds the ability for QML to query the on-screen tile size of a name, which the editor uses for its byte-count feedback.
81d4f41 - Twilight
Continues the editor, adding the accept and edit buttons and reorganizing the name controls into their own folder.
e1ed290 - Twilight
Slow but steady progress on the three-stage text editor, with the second stage nearly complete (edit button, name edit field).
f4573534 - Twilight
Makes the fonts database fully registered and accessible from QML.
d7e0630 - Twilight
A large font-data update adding per-character tips and aliases and removing the redundant old useTilemap field.
0790db8 - Twilight
A structural tidy-up sorting the UI fragments into general/modal/navbar folders and the screens into modal/non-modal, plus the sections into major/sub.
154eadc - Twilight
Changes the modals (About, File Tools, New File) to simply close rather than triggering a full page change.
011ace2 - Twilight
Small tweaks to NameDisplay.
132af19 - Twilight
Begins folding the name display into Qt Quick as its own component, moving logic out of the Trainer Card screen into NameDisplay.
8b785cf - Twilight
Reworks the font preview provider to be more useful, consistent and QML-friendly, deleting a lot of redundant code.
333a5cb - Twilight
Disables image caching for now and fixes some significant memory leaks in the font preview and tileset engine.
9fb4c25 - Twilight
Small fixes to the font preview provider.
1135d0e - Twilight
An asset update adding the striped "no preview" overlay to the font tileset image.
02604d3 - Twilight
A round of fixes after which the font preview is considered mostly stable.
8fe8447 - Twilight
Solves a thorny problem: Qt Quick URL-encodes the preview string but can't decode its own encoding. After much trial and error, the fix is to convert the string to hex in QML, pass that to C++, and decode from hex there – the basis of the encodeBeforeUrl helper still used today.
340ce85 - Twilight
A small but hard-won fix for a bug where a font's index clashed with its named numeric value.
9f744f5 - Twilight
Continued fixes to the font preview.
07afac2 - Twilight
Another round of font preview fixes.
9c06e23 - Twilight
An initial round of fixes to the font preview provider, plus a re-export of the tileset images.
5c27d64 - Twilight
Minor tweaks getting the font preview ready for its first test.
49e47c3 - Twilight
Introduces the FontPreviewProvider (~540 lines) – the C++ image provider that renders names in the Game Boy font for QML. Brand new and untested at this point; it becomes the engine behind every in-game-style name preview.
ff64960 - Twilight
Expands the fonts database and removes a default background on the tileset.
365108a - Twilight
A binary update to the GIMP source file for the tileset assets.
c0dcbb9 - Twilight
A tiny asset tweak removing the background from the font tileset image.
0fb0106 - Twilight
Solves the remaining blur problem: the provider had reported the wrong size for the "whole" tileset, so Qt Quick was rescaling it. With the correct size reported, Qt Quick stops scaling and the tiles render crisp.