Archived
1
Fork 0

Some changes to make gcc stop complaining

This commit is contained in:
redstrate 2021-10-12 10:27:03 -04:00
parent 68916bdee2
commit 5a046ee27a
3 changed files with 27 additions and 26 deletions

View file

@ -342,12 +342,12 @@ namespace prism {
void update_animation_channel(Scene& scene, const AnimationChannel& channel, float time);
app* app = nullptr;
app* current_app = nullptr;
GFX* gfx = nullptr;
std::unique_ptr<input_system> input;
std::unique_ptr<Physics> physics;
std::unique_ptr<renderer> renderer;
std::unique_ptr<renderer> current_renderer;
std::vector<Timer*> timers, timers_to_remove;

View file

@ -2,6 +2,7 @@
#include <string_view>
#include <filesystem>
#include <functional>
#include "platform.hpp"

View file

@ -57,11 +57,11 @@ engine::~engine() = default;
void engine::set_app(prism::app* p_app) {
Expects(p_app != nullptr);
this->app = p_app;
this->current_app = p_app;
}
prism::app* engine::get_app() const {
return app;
return current_app;
}
void engine::pause() {
@ -89,7 +89,7 @@ bool engine::is_quitting() const {
}
void engine::prepare_quit() {
app->prepare_quit();
current_app->prepare_quit();
}
void engine::set_gfx(GFX* p_gfx) {
@ -107,7 +107,7 @@ prism::input_system* engine::get_input() {
}
prism::renderer* engine::get_renderer() {
return renderer.get();
return current_renderer.get();
}
Physics* engine::get_physics() {
@ -391,7 +391,7 @@ void engine::add_window(void* native_handle, const platform::window_ptr window_p
window->identifier = window_ptr;
if(platform::is_main_window(window_ptr)) {
renderer = std::make_unique<prism::renderer>(gfx);
current_renderer = std::make_unique<prism::renderer>(gfx);
ImGuiViewport* main_viewport = ImGui::GetMainViewport();
main_viewport->PlatformHandle = ::engine->get_main_window();
@ -403,7 +403,7 @@ void engine::add_window(void* native_handle, const platform::window_ptr window_p
window->extent = extent;
window->render_target = renderer->allocate_render_target(drawable_extent);
window->render_target = current_renderer->allocate_render_target(drawable_extent);
render_ready = true;
}
@ -424,7 +424,7 @@ void engine::resize(const platform::window_ptr identifier, const prism::Extent e
const auto drawable_extent = platform::get_window_drawable_size(identifier);
gfx->recreate_view(identifier, drawable_extent.width, drawable_extent.height);
renderer->resize_render_target(*window->render_target, drawable_extent);
current_renderer->resize_render_target(*window->render_target, drawable_extent);
}
void engine::move(const platform::window_ptr identifier) {
@ -622,8 +622,8 @@ void engine::begin_frame(const float delta_time) {
if(console_enabled)
draw_console();
if(app != nullptr)
app->begin_frame();
if(current_app != nullptr)
current_app->begin_frame();
}
void engine::end_frame() {
@ -675,11 +675,7 @@ void engine::update(const float delta_time) {
input->update();
app->update(delta_time);
if(current_scene != nullptr) {
if(update_physics && !paused)
physics->update(delta_time);
current_app->update(delta_time);
if(cutscene != nullptr && play_cutscene && !paused) {
update_cutscene(current_cutscene_time);
@ -687,6 +683,10 @@ void engine::update(const float delta_time) {
current_cutscene_time += delta_time;
}
if(current_scene != nullptr) {
if(update_physics && !paused)
physics->update(delta_time);
for(auto& target : animation_targets) {
if((target.current_time * target.animation.ticks_per_second) > target.animation.duration) {
if(target.looping) {
@ -724,11 +724,11 @@ void engine::render(const platform::window_ptr index) {
if(platform::is_main_window(index)) {
imgui->render();
app->render(commandbuffer);
current_app->render(commandbuffer);
}
if(renderer != nullptr)
renderer->render(commandbuffer, app->wants_no_scene_rendering() ? nullptr : current_scene, *window->render_target, index);
if(current_renderer != nullptr)
current_renderer->render(commandbuffer, current_app->wants_no_scene_rendering() ? nullptr : current_scene, *window->render_target, index);
gfx->submit(commandbuffer, index);
}