One step closer to map rendering from tile sprites.
This commit is contained in:
parent
dd541ae59d
commit
a3f82139e9
4 changed files with 19 additions and 54 deletions
11
systems.cpp
11
systems.cpp
|
@ -408,16 +408,20 @@ void System::plan_motion(World& world, Position move_to) {
|
|||
}
|
||||
|
||||
void System::draw_map(GameLevel& level, Matrix& grid, int compass_dir) {
|
||||
(void)compass_dir;
|
||||
World &world = *level.world;
|
||||
Map &map = *level.map;
|
||||
size_t view_x = matrix::width(grid);
|
||||
size_t view_y = matrix::height(grid);
|
||||
size_t view_x = matrix::width(grid) - 1;
|
||||
size_t view_y = matrix::height(grid) - 1;
|
||||
|
||||
auto player_pos = world.get<Position>(level.player).location;
|
||||
Point cam_orig = map.center_camera(player_pos, view_x, view_y);
|
||||
auto &tiles = map.tiles();
|
||||
auto &tile_set = textures::get_map_tile_set();
|
||||
|
||||
/* I'm doing double tid->wchar_t conversion here, maybe just
|
||||
* render the tids into the grid then let someone else do this. */
|
||||
|
||||
// first fill it with the map cells
|
||||
for(shiterator::each_cell_t it{grid}; it.next();) {
|
||||
size_t tile_y = size_t(it.y) + cam_orig.y;
|
||||
|
@ -438,7 +442,8 @@ void System::draw_map(GameLevel& level, Matrix& grid, int compass_dir) {
|
|||
Point view_pos = map.map_to_camera(pos.location, cam_orig);
|
||||
|
||||
if(ent == level.player) {
|
||||
grid[view_pos.y][view_pos.x] = COMPASS[compass_dir][0];
|
||||
// grid[view_pos.y][view_pos.x] = COMPASS[compass_dir][0];
|
||||
grid[view_pos.y][view_pos.x] = 41981;
|
||||
} else {
|
||||
grid[view_pos.y][view_pos.x] = entity_glyph.display;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue