diff --git a/include/banjo_render.h b/include/banjo_render.h deleted file mode 100644 index 4bdb6a2..0000000 --- a/include/banjo_render.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef __BANJO_RENDER_H__ -#define __BANJO_RENDER_H__ - -#include -#include - -#include "common/rt64_user_configuration.h" -#include "ultramodern/renderer_context.hpp" -#include "librecomp/config.hpp" -#include "librecomp/mods.hpp" - -namespace RT64 { - struct Application; -} - -namespace banjo { - namespace renderer { - inline const std::string special_option_texture_pack_enabled = "_recomp_texture_pack_enabled"; - - class RT64Context final : public ultramodern::renderer::RendererContext { - public: - ~RT64Context() override; - RT64Context(uint8_t *rdram, ultramodern::renderer::WindowHandle window_handle, bool developer_mode); - - bool valid() override { return static_cast(app); } - - bool update_config(const ultramodern::renderer::GraphicsConfig &old_config, const ultramodern::renderer::GraphicsConfig &new_config) override; - - void enable_instant_present() override; - void send_dl(const OSTask *task) override; - void update_screen() override; - void shutdown() override; - uint32_t get_display_framerate() const override; - float get_resolution_scale() const override; - - private: - std::unique_ptr app; - std::unordered_set enabled_texture_packs; - std::unordered_set secondary_disabled_texture_packs; - - void check_texture_pack_actions(); - }; - - std::unique_ptr create_render_context(uint8_t *rdram, ultramodern::renderer::WindowHandle window_handle, bool developer_mode); - - RT64::UserConfiguration::Antialiasing RT64MaxMSAA(); - bool RT64SamplePositionsSupported(); - bool RT64HighPrecisionFBEnabled(); - - void trigger_texture_pack_update(); - void enable_texture_pack(const recomp::mods::ModContext& context, const recomp::mods::ModHandle& mod); - void disable_texture_pack(const recomp::mods::ModHandle& mod); - void secondary_enable_texture_pack(const std::string& mod_id); - void secondary_disable_texture_pack(const std::string& mod_id); - - // Texture pack enable option. Must be an enum with two options. - // The first option is treated as disabled and the second option is treated as enabled. - bool is_texture_pack_enable_config_option(const recomp::config::ConfigOption& option, bool show_errors); - } -} - -#endif diff --git a/lib/N64ModernRuntime b/lib/N64ModernRuntime index 8441e22..a857af0 160000 --- a/lib/N64ModernRuntime +++ b/lib/N64ModernRuntime @@ -1 +1 @@ -Subproject commit 8441e2252a840bd65477d2f549b0ca37f024754f +Subproject commit a857af008dbb9cd0d55ce0f3132c50cc6a9a5c4c diff --git a/lib/RecompFrontend b/lib/RecompFrontend index 2c8f9ab..615f1ff 160000 --- a/lib/RecompFrontend +++ b/lib/RecompFrontend @@ -1 +1 @@ -Subproject commit 2c8f9abf2d1c732c481456aff4f4a7fe00fb2f25 +Subproject commit 615f1fff11d55320e2025351dd43e73c065f7bd4 diff --git a/lib/rt64 b/lib/rt64 index 1dd8479..e5bce60 160000 --- a/lib/rt64 +++ b/lib/rt64 @@ -1 +1 @@ -Subproject commit 1dd8479934c0d19d8dfff268378684a2704c8a41 +Subproject commit e5bce60804089daa317659fc509b834feff5977b diff --git a/src/game/config.cpp b/src/game/config.cpp index c030ec1..c829aae 100644 --- a/src/game/config.cpp +++ b/src/game/config.cpp @@ -3,7 +3,6 @@ #include "recompui/config.h" #include "recompinput/recompinput.h" #include "banjo_sound.h" -#include "banjo_render.h" #include "banjo_support.h" #include "ultramodern/config.hpp" #include "librecomp/files.hpp" diff --git a/src/game/recomp_api.cpp b/src/game/recomp_api.cpp index 68e32d4..145e8d8 100644 --- a/src/game/recomp_api.cpp +++ b/src/game/recomp_api.cpp @@ -7,7 +7,6 @@ #include "recompinput/recompinput.h" #include "recompui/recompui.h" #include "recompui/renderer.h" -#include "banjo_render.h" #include "banjo_sound.h" #include "librecomp/helpers.hpp" #include "../patches/input.h" diff --git a/src/main/main.cpp b/src/main/main.cpp index ffe023a..3ef9dfe 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -12,6 +12,7 @@ #include "ultramodern/ultra64.h" #include "ultramodern/ultramodern.hpp" +#include "ultramodern/config.hpp" #define SDL_MAIN_HANDLED #ifdef _WIN32 #include "SDL.h" @@ -37,7 +38,6 @@ #include "recompinput/profiles.h" #include "banjo_config.h" #include "banjo_sound.h" -#include "banjo_render.h" #include "banjo_support.h" #include "banjo_game.h" #include "recomp_data.h" @@ -688,7 +688,10 @@ int main(int argc, char** argv) { }; ultramodern::renderer::callbacks_t renderer_callbacks{ - .create_render_context = recompui::renderer::create_render_context, + .create_render_context = [](uint8_t* rdram, ultramodern::renderer::WindowHandle window_handle, bool developer_mode) { + auto presentation_mode = ultramodern::renderer::PresentationMode::PresentEarly; + return recompui::renderer::create_render_context(rdram, window_handle, presentation_mode, developer_mode); + }, }; ultramodern::gfx_callbacks_t gfx_callbacks{