From 7ad2cd0d2204bb9f6ec65a2af9a0d4518f5c62d1 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 2 Jun 2025 12:47:45 -0400 Subject: Changes from deps Signed-off-by: Andrew Opalach --- src/gl.cc | 7 ++++--- src/log.h | 6 ++++++ src/mauri.cc | 36 ++++++++++++++++++------------------ src/objects/pass.cc | 3 ++- 4 files changed, 30 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/gl.cc b/src/gl.cc index 6ae8f1f..9cf1b2d 100644 --- a/src/gl.cc +++ b/src/gl.cc @@ -473,7 +473,7 @@ RenderFramebuffer::RenderFramebuffer(s32 width, s32 height, f32 scale) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, this->texture->id, 0); - GLenum attatchment[] = {GL_COLOR_ATTACHMENT0}; + GLenum attatchment[] = { GL_COLOR_ATTACHMENT0 }; glDrawBuffers(1, attatchment); } @@ -488,14 +488,15 @@ auto RenderFramebuffer::blit(u32 dest, s32 width, s32 height) -> void if (!context()->is_draw_enabled()) return; glBindFramebuffer(GL_DRAW_FRAMEBUFFER, dest); glBindFramebuffer(GL_READ_FRAMEBUFFER, this->id); - glBlitFramebuffer(0, 0, width, height, 0, 0, width, height, GL_COLOR_BUFFER_BIT, GL_NEAREST); + GLbitfield mask = GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT; + glBlitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, GL_NEAREST); } auto RenderFramebuffer::clear(vec4 color) -> void { if (!context()->is_draw_enabled()) return; glBindFramebuffer(GL_DRAW_FRAMEBUFFER, this->id); - glClearBufferfv(GL_COLOR, 0, glm::value_ptr(color)); + glClearBufferfv(GL_COLOR | GL_DEPTH, 0, glm::value_ptr(color)); } RenderFramebuffer::~RenderFramebuffer() diff --git a/src/log.h b/src/log.h index 43d0e09..b7fa31f 100644 --- a/src/log.h +++ b/src/log.h @@ -5,4 +5,10 @@ extern "C" { #include } +#define info(fmt, ...) log_info(fmt, ##__VA_ARGS__) +#define warn(fmt, ...) log_warn(fmt, ##__VA_ARGS__) +#define error(fmt, ...) log_error(fmt, ##__VA_ARGS__) +#define debug(fmt, ...) log_debug(fmt, ##__VA_ARGS__) +#define trace(fmt, ...) log_trace(fmt, ##__VA_ARGS__) + #endif // _LOG_H diff --git a/src/mauri.cc b/src/mauri.cc index 9351320..6e0bcbf 100644 --- a/src/mauri.cc +++ b/src/mauri.cc @@ -28,18 +28,18 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 { (void)argc; (void)argv; - janus::ArgParser args = *(janus::ArgParser *)extra; + janus::ArgParser *args = (janus::ArgParser *)extra; - if (!(args.found("package") ^ args.found("directory"))) + if (!(args->found("package") ^ args->found("directory"))) { - al_printf("%s\n", args.helptext.c_str()); + al_printf("%s\n", args->helptext.c_str()); return EXIT_FAILURE; } s32 width = 720; s32 height = 480; - if (args.found("width")) width = args.getInt("width"); - if (args.found("height")) height = args.getInt("height"); + if (args->found("width")) width = args->getInt("width"); + if (args->found("height")) height = args->getInt("height"); if (width == 0 || height == 0) { error("invalid width and/or height in arguments"); @@ -48,36 +48,36 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 s32 xoffset; s32 yoffset; - if (sscanf(args.getString("offset").c_str(), "%d,%d", &xoffset, &yoffset) != 2) + if (sscanf(args->getString("offset").c_str(), "%d,%d", &xoffset, &yoffset) != 2) { error("invalid offset in arguments"); return EXIT_FAILURE; } bool gifscene = false; - if (args.found("package")) + if (args->found("package")) { - std::string package_path = args.getString("package"); + std::string package_path = args->getString("package"); size_t slash = package_path.rfind("/"); std::string filename; if (slash != std::string::npos) filename = package_path.substr(slash + 1); else filename = package_path; gifscene = filename == "gifscene.pkg"; - if (!asset_manager()->arm_package(package_path, args.found("target"))) + if (!asset_manager()->arm_package(package_path, args->found("target"))) { return EXIT_FAILURE; } } - if (args.found("directory")) + if (args->found("directory")) { - asset_manager()->prepare_output = args.found("target"); - asset_manager()->add_search_directory(args.getString("directory")); + asset_manager()->prepare_output = args->found("target"); + asset_manager()->add_search_directory(args->getString("directory")); } - if (args.found("assets")) + if (args->found("assets")) { - asset_manager()->add_search_directory(args.getString("assets")); + asset_manager()->add_search_directory(args->getString("assets")); } Scene *scene = Scene::parse(gifscene ? "gifscene.json" : "scene.json"); @@ -89,7 +89,7 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 height = scene->height; } - if (args.getFlag("scale")) + if (args->getFlag("scale")) { f32 ratio = scene->width / (f32)scene->height; if (ratio > 1.f) height = width / ratio; @@ -97,7 +97,7 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 } Context *new_context = new Context(); - if (!new_context->create_window(width, height, "mauri", args.getString("monitor"))) + if (!new_context->create_window(width, height, "mauri", args->getString("monitor"))) { return EXIT_FAILURE; } @@ -116,7 +116,7 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 u64 duration = nn_get_timestamp() - begin; info("scene loaded in %.2fs", duration / 1000000.f); - if (asset_manager()->prepare_output) asset_manager()->dump(args.getString("target")); + if (asset_manager()->prepare_output) asset_manager()->dump(args->getString("target")); else engine->run(); delete scene; @@ -124,7 +124,7 @@ auto window_system_main(u32 argc, str *argv, void *extra) -> s32 unload_shaders(); - if (args.found("package")) asset_manager()->unload_package(); + if (args->found("package")) asset_manager()->unload_package(); context()->close_window(); set_context(nullptr); diff --git a/src/objects/pass.cc b/src/objects/pass.cc index dc19378..e2dc02d 100644 --- a/src/objects/pass.cc +++ b/src/objects/pass.cc @@ -337,7 +337,8 @@ auto RenderPass::draw(Engine *engine) -> void if (this->combine) Render::blend_func(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); else Render::blend_func(GL_ONE, GL_ZERO); - Render::color_mask(1.f, 1.f, 1.f, this->combine ? 0.f : 1.f); + //Render::color_mask(1.f, 1.f, 1.f, this->combine ? 0.f : 1.f); + Render::color_mask(1.f, 1.f, 1.f, 1.f); engine->view.default_viewport(adjusted_target->buffer->width, adjusted_target->buffer->height); -- cgit v1.2.3-101-g0448