yaze
0.3.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
sheet_role.h
Go to the documentation of this file.
1
#ifndef YAZE_APP_GFX_TYPES_SHEET_ROLE_H_
2
#define YAZE_APP_GFX_TYPES_SHEET_ROLE_H_
3
4
#include <cstdint>
5
6
namespace
yaze
{
7
namespace
gfx {
8
9
// Enumerates the role a graphics sheet plays in the rendering pipeline.
10
//
11
// Roles are slot-based, not sheet-id-based: the same physical sheet can take
12
// different roles depending on which blockset/roomset/spriteset slot it
13
// occupies. The role determines which palette region the sheet should render
14
// against. This mirrors the implicit mapping in tile16_editor.cc's
15
// GetPaletteSlotForSheet / GetPaletteBaseForSheet (sheet 0,3,4 -> AUX1,
16
// 1,2 -> MAIN, 5,6 -> AUX2, 7 -> ANIMATED).
17
//
18
// Sheet-id partitioning (kDungeonMain/kHud) exists only as a coarse fallback
19
// for callers that have a raw sheet ID without slot context. It mirrors the
20
// initial palette seeding in zelda3/game_data.cc:ProcessSheetBitmap.
21
enum class
SheetRole
: uint8_t {
22
kUnclassified
= 0,
23
24
// Overworld blockset slot 0 (sometimes called "main blockset graphics" -
25
// includes house tiles in town tilesets, dungeon entrances, etc).
26
kOverworldMain
,
27
28
// Overworld blockset slots 1-2 - general area background graphics
29
// (terrain, ground textures).
30
kOverworldGfx
,
31
32
// Overworld blockset slots 3-4 - secondary aux graphics
33
// (trees, decoration, area-specific bg detail).
34
kOverworldAreaAux1
,
35
36
// Overworld blockset slots 5-6 - tertiary aux graphics
37
// (cave/special area graphics, often shared between similar areas).
38
kOverworldAreaAux2
,
39
40
// Overworld blockset slot 7 - animated tiles (water, lava, torches).
41
kOverworldAnimated
,
42
43
// Spriteset slot - sprite/enemy graphics (sheets 113-127 in default load).
44
kSpriteAux1
,
45
46
// HUD / item icons / font graphics (sheets 128+).
47
kHud
,
48
49
// Dungeon graphics (sheets 0-112 in the default seeding partition).
50
kDungeonMain
,
51
};
52
53
}
// namespace gfx
54
}
// namespace yaze
55
56
#endif
// YAZE_APP_GFX_TYPES_SHEET_ROLE_H_
yaze::gfx::SheetRole
SheetRole
Definition
sheet_role.h:21
yaze::gfx::SheetRole::kOverworldMain
@ kOverworldMain
yaze::gfx::SheetRole::kOverworldAreaAux2
@ kOverworldAreaAux2
yaze::gfx::SheetRole::kOverworldAreaAux1
@ kOverworldAreaAux1
yaze::gfx::SheetRole::kSpriteAux1
@ kSpriteAux1
yaze::gfx::SheetRole::kOverworldAnimated
@ kOverworldAnimated
yaze::gfx::SheetRole::kHud
@ kHud
yaze::gfx::SheetRole::kOverworldGfx
@ kOverworldGfx
yaze::gfx::SheetRole::kUnclassified
@ kUnclassified
yaze::gfx::SheetRole::kDungeonMain
@ kDungeonMain
yaze
Definition
patch_export_usage.cc:8
src
app
gfx
types
sheet_role.h
Generated by
1.10.0