From 4723126af2cbbd57dc1a3ec575b0cc067394056b Mon Sep 17 00:00:00 2001 From: jaby Date: Wed, 3 Jan 2024 21:26:21 -0600 Subject: [PATCH] Support loading Assets for Overlays --- .../src/Overlay/GPUTest/gpu_test.cpp | 2 +- .../src/Overlay/GPUTest/gpu_test_assets.cpp | 20 +++++++++++++++++++ .../GPUTest/include/gpu_test_assets.hpp | 9 +++++++++ .../application/src/Overlay/Overlays.hpp | 4 ++++ .../PoolBox/application/src/asset_mgr.cpp | 15 +++++++------- examples/PoolBox/iso/Config.xml | 5 +++-- 6 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 examples/PoolBox/application/src/Overlay/GPUTest/gpu_test_assets.cpp create mode 100644 examples/PoolBox/application/src/Overlay/GPUTest/include/gpu_test_assets.hpp diff --git a/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test.cpp b/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test.cpp index d4b979e2..fc9bd348 100644 --- a/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test.cpp +++ b/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test.cpp @@ -4,4 +4,4 @@ namespace GPUTest { void main() { printf("GPU: BlubbBlubbBlubb!!\n"); } -} \ No newline at end of file +} diff --git a/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test_assets.cpp b/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test_assets.cpp new file mode 100644 index 00000000..99c86893 --- /dev/null +++ b/examples/PoolBox/application/src/Overlay/GPUTest/gpu_test_assets.cpp @@ -0,0 +1,20 @@ +#include "include/gpu_test_assets.hpp" +#include +#include + +namespace GPUTest { + using namespace JabyEngine; + + enum LBA { + __jabyengine_start_lba_request + __jabyengine_request_lba_for(TEX, "ASSETS/TEX.BIN"), + __jabyengine_request_lba_for(ICON, "ASSETS/ICON.BIN"), + __jabyengine_end_lba_request + }; + __declare_lba_header(LBA); + + CDFile Assets[2] = { + CDFileBuilder::simple_tim(LBA::TEX, TexPageTIM), + CDFileBuilder::simple_tim(LBA::ICON, IconTIM), + }; +} diff --git a/examples/PoolBox/application/src/Overlay/GPUTest/include/gpu_test_assets.hpp b/examples/PoolBox/application/src/Overlay/GPUTest/include/gpu_test_assets.hpp new file mode 100644 index 00000000..d255a1bd --- /dev/null +++ b/examples/PoolBox/application/src/Overlay/GPUTest/include/gpu_test_assets.hpp @@ -0,0 +1,9 @@ +#pragma once +#include + +namespace GPUTest { + using namespace JabyEngine; + + static constexpr auto TexPageTIM = SimpleTIM(384, 0, 384, 511); + static constexpr auto IconTIM = SimpleTIM(384, 256, 384, 510); +} \ No newline at end of file diff --git a/examples/PoolBox/application/src/Overlay/Overlays.hpp b/examples/PoolBox/application/src/Overlay/Overlays.hpp index 18e8e475..d6ca936c 100644 --- a/examples/PoolBox/application/src/Overlay/Overlays.hpp +++ b/examples/PoolBox/application/src/Overlay/Overlays.hpp @@ -1,9 +1,13 @@ #pragma once +#include namespace ControllerTest { void main(); } namespace GPUTest { + extern const volatile JabyEngine::AutoLBAEntry lba[]; + extern JabyEngine::CDFile Assets[2]; + void main(); } \ No newline at end of file diff --git a/examples/PoolBox/application/src/asset_mgr.cpp b/examples/PoolBox/application/src/asset_mgr.cpp index fee40896..9d8abc93 100644 --- a/examples/PoolBox/application/src/asset_mgr.cpp +++ b/examples/PoolBox/application/src/asset_mgr.cpp @@ -1,4 +1,5 @@ #include "../include/asset_mgr.hpp" +#include "Overlay/Overlays.hpp" #include #include #include @@ -17,7 +18,7 @@ namespace Assets { }; __declare_lba_header(LBA); - static void load(const CDFile* assets, size_t size) { + static void load(const volatile AutoLBAEntry* lba, const CDFile* assets, size_t size) { const auto buffer_cfg = CDFileProcessor::BufferConfiguration::new_default(); CDFileProcessor file_processor; @@ -41,8 +42,8 @@ namespace Assets { } template - static void load(const CDFile (&files)[N]) { - return load(files, N); + static void load(const volatile AutoLBAEntry* lba, const CDFile (&files)[N]) { + return load(lba, files, N); } namespace Main { @@ -51,7 +52,7 @@ namespace Assets { }; void load() { - ::Assets::load(Files); + ::Assets::load(lba, Files); } } @@ -65,12 +66,12 @@ namespace Assets { }; void load_controller_test() { - ::Assets::load(ControllerFiles); + ::Assets::load(lba, ControllerFiles); } void load_gpu_test() { - ::Assets::load(GPUFiles); - // Load Overlay assets?! + ::Assets::load(lba, GPUFiles); + ::Assets::load(GPUTest::lba, GPUTest::Assets); } } } \ No newline at end of file diff --git a/examples/PoolBox/iso/Config.xml b/examples/PoolBox/iso/Config.xml index ad5e536c..7b6bb1e9 100644 --- a/examples/PoolBox/iso/Config.xml +++ b/examples/PoolBox/iso/Config.xml @@ -7,13 +7,14 @@ System.cnf
../application/bin/PSX-release/PoolBox.psexe
../application/bin/PSX-release/Overlay.controller_tests - ../application/bin/PSX-release/Overlay.gpu_tests + ../application/bin/PSX-release/Overlay.gpu_tests