pokemon/test.cpp
2023-07-24 13:25:39 -07:00

65 lines
1.8 KiB
C++

#include "res/maps/PalletTown.blk.h"
#include "res/gfx/tilesets/overworld.4bpp.h"
#include "res/gfx/blocksets/overworld.bst.h"
/*
uint8_t const * const VictoryRoad1F_Blocks_start = reinterpret_cast<uint8_t*>(&_binary_res_maps_VictoryRoad1F_blk_start);
uint32_t const VictoryRoad1F_Blocks_end = reinterpret_cast<uint32_t>(&_binary_res_maps_VictoryRoad1F_blk_end);
uint32_t const VictoryRoad1F_Blocks_size = reinterpret_cast<uint32_t>(&_binary_res_maps_VictoryRoad1F_blk_size);
*/
struct start_size_t {
uint8_t const * const start;
uint32_t size;
};
struct tileset_t {
start_size_t blockset;
start_size_t tileset;
enum tileset {
overworld,
};
};
struct map_t {
start_size_t blocks;
enum tileset_t::tileset tileset;
uint32_t width;
uint32_t height;
enum map {
pallet_town,
};
};
//uint8_t overworld_coll[] = {0x00, 0x10, 0x1b, 0x20, 0x21, 0x23, 0x2c, 0x2d, 0x2e, 0x30, 0x31, 0x33, 0x39, 0x3c, 0x3e, 0x52, 0x54, 0x58, 0x5b, 0xff};
const tileset_t tilesets[] = {
[tileset_t::overworld] = {
// via TilesetHeader attributes
// always 128px wide ; 16 cells wide
.blockset = {
reinterpret_cast<uint8_t*>(&_binary_res_gfx_blocksets_overworld_bst_start),
reinterpret_cast<uint32_t>(&_binary_res_gfx_blocksets_overworld_bst_size),
},
.tileset = {
reinterpret_cast<uint8_t*>(&_binary_res_gfx_tilesets_overworld_4bpp_start),
reinterpret_cast<uint32_t>(&_binary_res_gfx_tilesets_overworld_4bpp_size),
}
}
};
const map_t maps[] = {
[map_t::pallet_town] = {
// blocks is indirect via blocks_list
.blocks = {
reinterpret_cast<uint8_t*>(&_binary_res_maps_PalletTown_blk_start),
reinterpret_cast<uint32_t>(&_binary_res_maps_PalletTown_blk_size),
},
.tileset = tileset_t::overworld,
.width = 10,
.height = 9,
}
};