yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
tile16_metadata.h
Go to the documentation of this file.
1#ifndef YAZE_ZELDA3_OVERWORLD_TILE16_METADATA_H
2#define YAZE_ZELDA3_OVERWORLD_TILE16_METADATA_H
3
4#include <cstdint>
5
7
8namespace yaze::zelda3 {
9
10// Returns quadrant metadata using ALTTP tile16 ordering:
11// 0=top-left, 1=top-right, 2=bottom-left, 3=bottom-right.
12// Out-of-range quadrant indices intentionally fall back to 3 for compatibility
13// with legacy editor callsites.
14const gfx::TileInfo& Tile16QuadrantInfo(const gfx::Tile16& tile, int quadrant);
15gfx::TileInfo& MutableTile16QuadrantInfo(gfx::Tile16& tile, int quadrant);
16
17// Keeps Tile16::tiles_info synchronized with tile0_..tile3_.
18void SyncTile16TilesInfo(gfx::Tile16* tile);
19
20// Palette helpers keep quadrant fields and tiles_info synchronized.
21void SetTile16AllQuadrantPalettes(gfx::Tile16* tile, uint8_t palette_id);
22bool SetTile16QuadrantPalette(gfx::Tile16* tile, int quadrant,
23 uint8_t palette_id);
24
25// Metadata-only transforms used by editor operations.
26gfx::TileInfo HorizontalFlipTileInfo(gfx::TileInfo info);
27gfx::TileInfo VerticalFlipTileInfo(gfx::TileInfo info);
28gfx::Tile16 HorizontalFlipTile16(gfx::Tile16 tile);
29gfx::Tile16 VerticalFlipTile16(gfx::Tile16 tile);
30gfx::Tile16 RotateTile16Clockwise(gfx::Tile16 tile);
31
32} // namespace yaze::zelda3
33
34#endif // YAZE_ZELDA3_OVERWORLD_TILE16_METADATA_H
Zelda 3 specific classes and functions.
gfx::Tile16 HorizontalFlipTile16(gfx::Tile16 tile)
gfx::TileInfo & MutableTile16QuadrantInfo(gfx::Tile16 &tile, int quadrant)
void SetTile16AllQuadrantPalettes(gfx::Tile16 *tile, uint8_t palette_id)
gfx::TileInfo VerticalFlipTileInfo(gfx::TileInfo info)
void SyncTile16TilesInfo(gfx::Tile16 *tile)
gfx::Tile16 VerticalFlipTile16(gfx::Tile16 tile)
gfx::Tile16 RotateTile16Clockwise(gfx::Tile16 tile)
const gfx::TileInfo & Tile16QuadrantInfo(const gfx::Tile16 &tile, int quadrant)
gfx::TileInfo HorizontalFlipTileInfo(gfx::TileInfo info)
bool SetTile16QuadrantPalette(gfx::Tile16 *tile, int quadrant, uint8_t palette_id)