DrinkingTea

General tech commentary and technichal deep dives on software development

Nostalgia Studio d2025.07.0

Nostalgia Studio d2025.07.0 was released on July 31, 2025. Release Notes Add sub-command for exporting TileSheets as PNG files. Add ‘Reload Project’ menu item under File. Fix opening a project to mark an unopenable file as closed in the config file on startup. export-tilesheet Given that this is not properly documented anywhere, I suppose I should leave a note on this here. Here is an example of the sub-command: NostalgiaStudio cmd sample_project net.drinkingtea.nostalgia.gfx export-tilesheet -src-path /TileSheets/Logo.nts -dst-path Logo.png -scale 4 -subsheet-path Root Also, simply running NostalgiaStudio cmd sample_project net.drinkingtea.nostalgia.gfx export-tilesheet will cause it to print a usage message: ...

July 31, 2025 · 1 min · Gary Talent

Nostalgia Studio d2025.06.0

Nostalgia Studio d2025.06.0 was released on June 23, 2025. Release Notes Add ability to remember recent projects in config Add navigation support (back and forward) Fix file deletion to close file even if not active Fix file copy to work when creating a copy with the name of a previously deleted file Fix crash that could occur after switching projects Make file picker popup accept on double click of a file TileSheetEditor: Fix copy/cut/paste enablement when there is no selection TileSheetEditor: Fix manual redo of draw actions, fix drawing to pixel 0, 0 as first action TileSheetEditor: Fix draw command to work on same pixel after switching subsheets PaletteEditor: Add RGB key shortcuts for focusing color channels PaletteEditor: Add color preview to color editor

June 23, 2025 · 1 min · Gary Talent

Nostalgia Studio d2025.05.0

Nostalgia Studio d2025.05.0 was released on May 10, 2025. Release Notes Add app icon for both window and file Change application font to Roboto Medium Closing application will now confirm with user if any files have unsaved changes. UUID duplicates will now be reported when opening a project Deleting a directory now closes files in that directory Delete key now initiates deletion of selected directory Remove ability to re-order tabs. There were bugs associated with that. Mac: Menu bar shortcuts now say Cmd instead of Ctrl. TileSheetEditor: Fix selection clearing to work when clicking outside image. TileSheetEditor: Fix Delete Tile functionality, which was completely broken TileSheetEditor: Fix Insert Tile functionality, which was completely broken PaletteEditor: Fix color number key range. Previously, pressing A caused the editor to jump to the last color. PaletteEditor: Page rename will now take effect upon pressing enter if the text input has focus Novel Code Changes This section is completely useless for a user, but just highlights some fun internal changes made in this release. ...

May 14, 2025 · 3 min · Gary Talent

MaybeView

Note: this is based on the version of Ox in following revision in the Nostalgia repo : 1b629da8fc658a85f07b5209f2791a5ebdf79fa1 Problem In C++, hash maps are often used with strings as keys. This would typically look something like this. std::unordered_map<std::string, int> ages; ages["Jerry Smith"] = 54; And here is an example of a lookup: int age = ages["Jerry Smith"]; There is a hidden inefficiency here. The lookup operator does not take a std::string_view or a C string. The lookup operator takes a std::string. That means, even though we are passing in a C string that has all the necessary data, we are implicitly calling the std::string constructor, which will allocate space on the heap for the string data, then copy the existing C string into the buffer it allocated. Then, as soon as the lookup call is finished, the temporary std::string is destroyed. ...

April 24, 2024 · 2 min · Gary Talent

The Importance of the Church

Synopsis On the last pages of your Bible, in what seems to be the final book of Scripture we will ever receive before the coming of the Lord to bring the final redemption of the creation, in the final pages of Revelation, we are treated to a description of a city. That city, the new Jerusalem, represents the Church. The big reveal at the end of mysteries is the redeemed people of God, and that is fitting for what the Church is. The Church is the most important institution in creation. By the Church, I do not mean the Roman Catholic Church or the Eastern Orthodox Church. There is no man defined institution that encompasses the entirety of the divinely defined institution. The basis for its existence is neither a legal document nor an agreement among men. The Church’s charter is heavenly and it is the centerpiece of creation. ...

April 10, 2024 · 10 min · Gary Talent