Font 8bithud, classe Text i overlay RenderInfo (F3, persistit a config.yaml) (v0.7.0)

This commit is contained in:
JailDesigner committed 2026-04-19 00:31:02 +02:00
1 parent ce5bec1b34
commit e6f3c888e6
19 files changed
+712 -6

No files matched your search

+2
View File
@@ -97,6 +97,7 @@ namespace {
if (node.contains("texture_filter")) {
Options::video.texture_filter = filterFromString(node["texture_filter"].get_value<std::string>());
}
if (node.contains("render_info")) { Options::video.render_info = node["render_info"].get_value<bool>(); }
parseGpu(node);
parseShader(node);
}
@@ -285,6 +286,7 @@ namespace Options {
out << " vsync: " << (video.vsync ? "true" : "false") << "\n";
out << " scaling_mode: \"" << scalingModeToString(video.scaling_mode) << "\"\n";
out << " texture_filter: \"" << filterToString(video.texture_filter) << "\"\n";
out << " render_info: " << (video.render_info ? "true" : "false") << "\n";
out << " gpu:\n";
out << " acceleration: " << (video.gpu.acceleration ? "true" : "false") << "\n";
out << " preferred_driver: \"" << video.gpu.preferred_driver << "\"\n";
+1
View File
@@ -34,6 +34,7 @@ namespace Options {
bool vsync{Defaults::Video::VSYNC};
Defaults::ScalingMode scaling_mode{Defaults::Video::SCALING_MODE};
Defaults::TextureFilter texture_filter{Defaults::Video::TEXTURE_FILTER};
bool render_info{Defaults::Video::RENDER_INFO};
Gpu gpu{};
Shader shader{};
};
+6 -2
View File
@@ -2,6 +2,7 @@
#include <SDL3/SDL.h>
#include "core/rendering/render_info.hpp"
#include "core/rendering/screen.hpp"
#include "core/resources/resource_cache.hpp"
#include "core/system/event_buffer.hpp"
@@ -26,17 +27,20 @@ GameScene::~GameScene() = default;
void GameScene::update(int delta_ms) {
for (const auto& event : EventBuffer::events) {
if (event.type == SDL_EVENT_KEY_DOWN && event.key.scancode == SDL_SCANCODE_ESCAPE) {
wants_quit_ = true;
if (event.type == SDL_EVENT_KEY_DOWN) {
if (event.key.scancode == SDL_SCANCODE_ESCAPE) { wants_quit_ = true; }
if (event.key.scancode == SDL_SCANCODE_F3) { RenderInfo::get().toggle(); }
}
}
const float DT = static_cast<float>(delta_ms) / 1000.0F;
player_->update(DT);
RenderInfo::get().update(delta_ms);
}
void GameScene::render() {
Screen::get().clear(0x00, 0x00, 0x00);
player_->render();
RenderInfo::get().render();
Screen::get().present();
}