Level traversal works better now, compass is accurate, and direction is maintained when you traverse.
This commit is contained in:
parent
b75a2b8c31
commit
14c7f660de
11 changed files with 35 additions and 16 deletions
15
main_ui.cpp
15
main_ui.cpp
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue