Level traversal works better now, compass is accurate, and direction is maintained when you traverse.

This commit is contained in:
Zed A. Shaw 2025-02-26 10:39:30 -05:00
parent b75a2b8c31
commit 14c7f660de
11 changed files with 35 additions and 16 deletions

View file

@ -69,9 +69,12 @@ namespace gui {
}
void MainUI::init() {
auto& player_position = $level.world->get<Position>($level.player);
auto player = player_position.location;
$rayview.init_shaders();
$rayview.set_position(RAY_VIEW_X, RAY_VIEW_Y);
$rayview.position_camera($player.x + 0.5, $player.y + 0.5);
$rayview.position_camera(player.x + 0.5, player.y + 0.5);
$overlay_ui.show_label("top", $compass[$compass_dir]);
@ -88,8 +91,6 @@ namespace gui {
$show_level = true;
}
void MainUI::draw() {
auto start = $stats.time_start();
@ -159,9 +160,13 @@ namespace gui {
void MainUI::update_level(GameLevel level) {
$level = level;
auto& player_position = $level.world->get<Position>($level.player);
$player = player_position.location;
auto player = player_position.location;
$rayview.update_level($level);
$rayview.position_camera($player.x + 0.5, $player.y + 0.5);
$rayview.position_camera(player.x + 0.5, player.y + 0.5);
$compass_dir = 0;
$overlay_ui.update_label("top", $compass[$compass_dir]);
dirty();
}