|
|
|
@ -20,14 +20,10 @@ namespace gui { |
|
|
|
|
$status_view($level), |
|
|
|
|
$overlay_view($level, $textures), |
|
|
|
|
$font{FONT_FILE_NAME}, |
|
|
|
|
$text{$font}, |
|
|
|
|
$rayview($textures, RAY_VIEW_WIDTH, RAY_VIEW_HEIGHT) |
|
|
|
|
{ |
|
|
|
|
$window.setVerticalSyncEnabled(VSYNC); |
|
|
|
|
$window.setFramerateLimit(FRAME_LIMIT); |
|
|
|
|
$text.setPosition({RAY_VIEW_X,RAY_VIEW_Y}); |
|
|
|
|
$text.setCharacterSize(20); |
|
|
|
|
$text.setFillColor(ColorValue::LIGHT_DARK); |
|
|
|
|
$textures.load_tiles(); |
|
|
|
|
$textures.load_sprites(); |
|
|
|
|
} |
|
|
|
@ -258,6 +254,7 @@ namespace gui { |
|
|
|
|
break; |
|
|
|
|
case KEY::P: |
|
|
|
|
debug(); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; // ignored
|
|
|
|
|
} |
|
|
|
@ -266,21 +263,27 @@ namespace gui { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::debug() { |
|
|
|
|
auto& debug = $level.world->get_the<Debug>(); |
|
|
|
|
debug.FPS = !debug.FPS; |
|
|
|
|
debug.PATHS = !debug.PATHS; |
|
|
|
|
auto player = $level.world->get_the<Player>(); |
|
|
|
|
auto& player_combat = $level.world->get<Combat>(player.entity); |
|
|
|
|
player_combat.hp = player_combat.max_hp; |
|
|
|
|
$combat_view.set_damage(float(player_combat.hp) / float(player_combat.max_hp)); |
|
|
|
|
auto& dbg = $level.world->get_the<Debug>(); |
|
|
|
|
dbg.FPS = !dbg.FPS; |
|
|
|
|
dbg.PATHS = !dbg.PATHS; |
|
|
|
|
|
|
|
|
|
if(dbg.FPS) { |
|
|
|
|
// it's on now, enable things
|
|
|
|
|
auto player = $level.world->get_the<Player>(); |
|
|
|
|
auto& player_combat = $level.world->get<Combat>(player.entity); |
|
|
|
|
player_combat.hp = player_combat.max_hp; |
|
|
|
|
$combat_view.set_damage(float(player_combat.hp) / float(player_combat.max_hp)); |
|
|
|
|
$overlay_view.init_stats(); |
|
|
|
|
} else { |
|
|
|
|
// it's off now, close it
|
|
|
|
|
$overlay_view.close_stats(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::draw_stats() { |
|
|
|
|
auto player = $level.world->get_the<Player>(); |
|
|
|
|
auto player_combat = $level.world->get<Combat>(player.entity); |
|
|
|
|
|
|
|
|
|
$text.setString( |
|
|
|
|
fmt::format("FPS\n" |
|
|
|
|
std::string stats = fmt::format("STATS\n" |
|
|
|
|
"HP: {}\n" |
|
|
|
|
"mean:{:>8.5}\n" |
|
|
|
|
"sdev: {:>8.5}\n" |
|
|
|
@ -292,9 +295,9 @@ namespace gui { |
|
|
|
|
"Debug? {}\n\n", |
|
|
|
|
player_combat.hp, $stats.mean(), $stats.stddev(), $stats.min, |
|
|
|
|
$stats.max, $stats.n, VSYNC, |
|
|
|
|
FRAME_LIMIT, DEBUG_BUILD)); |
|
|
|
|
FRAME_LIMIT, DEBUG_BUILD); |
|
|
|
|
|
|
|
|
|
$window.draw($text); |
|
|
|
|
$overlay_view.draw_stats(stats); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::draw_blood() { |
|
|
|
|