Reorganize assets; switch the HUD to the Micro Chat font

Source packs move to assets/packs (untouched), maps to assets/maps, and the
palette/sketch leftovers from the 8-bit era go. tools/mkfont.py repacks
VEXED's Micro Chat sheet (8-column grid, 8x10 cells) into the CP437 atlas
layout the font loader already reads, cropped to 8x9 so the HUD can use an
8 px line height. The CGA atlas is dropped in its favor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-20 19:47:33 +02:00
co-authored by Claude Opus 5
parent bb12f095d8
commit 335962800f
111 changed files with 528 additions and 546 deletions
+2 -2
View File
@@ -13,7 +13,7 @@ TMX/XML. No header, no dimensions. The loader derives them from the content:
- **width** = number of fields in the first row
- **height** = number of rows
The current test map lives at `assets/map_test` (30×30, tile ids 25 / 74 / 75 / 146).
The current test map lives at `assets/maps/map_test` (30×30, tile ids 25 / 74 / 75 / 146).
A trailing comma per row is tolerated; ragged rows panic (they indicate a corrupt export).
---
@@ -62,7 +62,7 @@ No `firstgid` subtraction: the authored ids already line up with `overworld.png`
array is also the natural on-disk layout should chunks ever be streamed from disk (RLE over
the `u16`s would do) — the CSV stays the interchange format for external tooling. The map's
top-left tile sits at world (0, 0). Loading a 256×256 map takes well under a millisecond in
release; the map path is the game's first CLI argument (`game assets/map_large`).
release; the map path is the game's first CLI argument (`game assets/maps/map_large`).
**Edge border:** a 30×30 map only fills part of chunk (0,0) (which spans tiles 0–31). Tiles
inside a loaded chunk but outside the authored map are emitted as an *invisible solid border*