One ROM session's graphics sheet pixels, with a revision per sheet. More...
#include <array>#include <cstddef>#include <cstdint>#include <utility>#include <vector>#include "absl/status/status.h"#include "absl/types/span.h"Go to the source code of this file.
Classes | |
| class | yaze::zelda3::GraphicsSheetStore |
| class | yaze::zelda3::GraphicsSheetStore::Edit |
| struct | yaze::zelda3::GraphicsSheetStoreHolder |
Namespaces | |
| namespace | yaze |
| namespace | yaze::zelda3 |
| Zelda 3 specific classes and functions. | |
One ROM session's graphics sheet pixels, with a revision per sheet.
The pixels use the legacy GameData::graphics_buffer layout: 223 sheets of 128x32 8bpp indices, sheet i at byte i * 4096. graphics_buffer is an alias of this buffer, so Room, OverworldMap and the title screen read it unchanged.
A sheet's revision changes whenever the store replaces its pixels, so a consumer that caches pixels can tell when to rebuild. Revisions come from one process-wide counter, so two stores never hand out the same number for different pixels (a copied store keeps the numbers it copied). Writes through the graphics_buffer alias bypass the revisions; see docs/internal/agents/graphics-sheet-store-proposal-2026-09-26.md for the migration that moves writers onto the store.
Definition in file graphics_sheet_store.h.