Switch to 16-bit truecolor framebuffer and PNG assets
pbio moves to git.bnd.wtf/irrlicht/pbio.git branch truecolor16: the framebuffer is now RGB565 u16, no palette. Assets are loaded from PNG via the png crate and quantized to RGB565 on load; transparency comes from the alpha channel as a per-tile opacity mask, so any color (black included) can be opaque. The TGA loader and the palette-order fragility are gone. overworld.png is the unmodified Mini-Medieval Overworld sheet (same 24-column layout as the old TGA, so map tile ids are unchanged); entities.png holds the player sprite extracted from the old entities.tga. Adds an ignored snapshot test that renders the first frame headlessly to a PNG for eyeballing the renderer without a window. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
64a6e1d42d
commit
5a055c048d
@@ -48,10 +48,10 @@ Tile ids are used directly:
|
||||
|
||||
- **Sim** — `tile_flags(id)` (in `map.rs`) maps an id to gameplay `TileFlags`
|
||||
(collidable / opaque) via the `sim::tile_collidable` vocabulary. Hand-maintained; test values only.
|
||||
- **Renderer** — the id indexes straight into `overworld.tga` (`game.rs`). The tileset's tile
|
||||
order *is* the id space; keep the Tiled tileset and `overworld.tga` in lockstep.
|
||||
- **Renderer** — the id indexes straight into `overworld.png` (`game.rs`). The tileset's tile
|
||||
order *is* the id space; keep the Tiled tileset and `overworld.png` in lockstep.
|
||||
|
||||
No `firstgid` subtraction: the authored ids already line up with `overworld.tga`.
|
||||
No `firstgid` subtraction: the authored ids already line up with `overworld.png`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user