yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
tilemap.h
Go to the documentation of this file.
1#ifndef YAZE_GFX_TILEMAP_H
2#define YAZE_GFX_TILEMAP_H
3
4#include "absl/container/flat_hash_map.h"
5#include "app/gfx/bitmap.h"
6#include "app/gfx/snes_tile.h"
7
8namespace yaze {
9namespace gfx {
10
11struct Pair {
12 int x;
13 int y;
14};
15
16struct Tilemap {
18 absl::flat_hash_map<int, Bitmap> tile_bitmaps;
19 std::vector<std::array<gfx::TileInfo, 4>> tile_info;
22};
23
24std::vector<uint8_t> FetchTileDataFromGraphicsBuffer(
25 const std::vector<uint8_t> &data, int tile_id, int sheet_offset);
26
27Tilemap CreateTilemap(std::vector<uint8_t> &data, int width, int height,
28 int tile_size, int num_tiles, SnesPalette &palette);
29
30void UpdateTilemap(Tilemap &tilemap, const std::vector<uint8_t> &data);
31
32void RenderTile(Tilemap &tilemap, int tile_id);
33
34void RenderTile16(Tilemap &tilemap, int tile_id);
35void UpdateTile16(Tilemap &tilemap, int tile_id);
36
37void ModifyTile16(Tilemap &tilemap, const std::vector<uint8_t> &data,
38 const TileInfo &top_left, const TileInfo &top_right,
39 const TileInfo &bottom_left, const TileInfo &bottom_right,
40 int sheet_offset, int tile_id);
41
42void ComposeTile16(Tilemap &tilemap, const std::vector<uint8_t> &data,
43 const TileInfo &top_left, const TileInfo &top_right,
44 const TileInfo &bottom_left, const TileInfo &bottom_right,
45 int sheet_offset);
46
47std::vector<uint8_t> GetTilemapData(Tilemap &tilemap, int tile_id);
48
49} // namespace gfx
50} // namespace yaze
51
52#endif // YAZE_GFX_TILEMAP_H
Represents a bitmap image.
Definition bitmap.h:59
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
SNES 16-bit tile metadata container.
Definition snes_tile.h:50
Contains classes for handling graphical data.
Definition arena.cc:8
Tilemap CreateTilemap(std::vector< uint8_t > &data, int width, int height, int tile_size, int num_tiles, SnesPalette &palette)
Definition tilemap.cc:12
void UpdateTilemap(Tilemap &tilemap, const std::vector< uint8_t > &data)
Definition tilemap.cc:25
void ModifyTile16(Tilemap &tilemap, const std::vector< uint8_t > &data, const TileInfo &top_left, const TileInfo &top_right, const TileInfo &bottom_left, const TileInfo &bottom_right, int sheet_offset, int tile_id)
Definition tilemap.cc:146
void UpdateTile16(Tilemap &tilemap, int tile_id)
Definition tilemap.cc:59
void RenderTile16(Tilemap &tilemap, int tile_id)
Definition tilemap.cc:42
std::vector< uint8_t > GetTilemapData(Tilemap &tilemap, int tile_id)
Definition tilemap.cc:193
std::vector< uint8_t > FetchTileDataFromGraphicsBuffer(const std::vector< uint8_t > &data, int tile_id, int sheet_offset)
Definition tilemap.cc:71
void RenderTile(Tilemap &tilemap, int tile_id)
Definition tilemap.cc:30
void ComposeTile16(Tilemap &tilemap, const std::vector< uint8_t > &data, const TileInfo &top_left, const TileInfo &top_right, const TileInfo &bottom_left, const TileInfo &bottom_right, int sheet_offset)
Definition tilemap.cc:170
Main namespace for the application.
Definition controller.cc:18
absl::flat_hash_map< int, Bitmap > tile_bitmaps
Definition tilemap.h:18
std::vector< std::array< gfx::TileInfo, 4 > > tile_info
Definition tilemap.h:19