From 99c8f4574de3fdcdfe729325fb631b7a634e1f50 Mon Sep 17 00:00:00 2001 From: Jaby Date: Fri, 5 Jan 2024 11:10:02 -0600 Subject: [PATCH] Create the Screen Center overlay --- examples/PoolBox/application/Overlays.json | 3 ++ .../PoolBox/application/include/asset_mgr.hpp | 1 + .../application/src/Overlay/Overlays.hpp | 4 +++ .../Overlay/ScreenCenter/screen_center.cpp | 7 +++++ .../PoolBox/application/src/application.cpp | 6 +++- .../PoolBox/application/src/asset_mgr.cpp | 31 +++++++++++++------ examples/PoolBox/iso/Config.xml | 3 +- 7 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp diff --git a/examples/PoolBox/application/Overlays.json b/examples/PoolBox/application/Overlays.json index f18211a9..d00b4f08 100644 --- a/examples/PoolBox/application/Overlays.json +++ b/examples/PoolBox/application/Overlays.json @@ -5,6 +5,9 @@ }, "gpu_tests": { "pattern": "bin/*/src/Overlay/GPUTest/*.o" + }, + "screen_center": { + "pattern": "bin/*/src/Overlay/ScreenCenter/*.o" } } } \ No newline at end of file diff --git a/examples/PoolBox/application/include/asset_mgr.hpp b/examples/PoolBox/application/include/asset_mgr.hpp index 640d6e47..527453b8 100644 --- a/examples/PoolBox/application/include/asset_mgr.hpp +++ b/examples/PoolBox/application/include/asset_mgr.hpp @@ -13,5 +13,6 @@ namespace Assets { namespace Overlay { void load_controller_test(); void load_gpu_test(); + void load_screen_center(); } } \ 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 6579cded..a46a5de3 100644 --- a/examples/PoolBox/application/src/Overlay/Overlays.hpp +++ b/examples/PoolBox/application/src/Overlay/Overlays.hpp @@ -12,5 +12,9 @@ namespace GPUTest { extern const volatile JabyEngine::AutoLBAEntry lba[]; extern JabyEngine::CDFile Assets[2]; + void main(); +} + +namespace ScreenCenter { void main(); } \ No newline at end of file diff --git a/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp b/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp new file mode 100644 index 00000000..963f117f --- /dev/null +++ b/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp @@ -0,0 +1,7 @@ +#include + +namespace ScreenCenter { + void main() { + printf("BlubbBlubbBlubbBlubb\n"); + } +} \ No newline at end of file diff --git a/examples/PoolBox/application/src/application.cpp b/examples/PoolBox/application/src/application.cpp index 11a87536..f0a23fca 100644 --- a/examples/PoolBox/application/src/application.cpp +++ b/examples/PoolBox/application/src/application.cpp @@ -33,7 +33,7 @@ struct StateChange { static const Menu::SimpleMenu::Entry MenuEntries[] = { {"Controller Test"}, {"GPU Test"}, - {"Menu 3"}, + {"Screen Center"}, {"Menu 4"}, {"Menu 5"} }; @@ -70,6 +70,10 @@ static void setup() { state_changer.asset_load = Assets::Overlay::load_gpu_test; state_changer.main = GPUTest::main; break; + + case 2: + state_changer.asset_load = Assets::Overlay::load_screen_center; + state_changer.main = ScreenCenter::main; } },MenuEntries); } diff --git a/examples/PoolBox/application/src/asset_mgr.cpp b/examples/PoolBox/application/src/asset_mgr.cpp index d5268bd4..914ce7d2 100644 --- a/examples/PoolBox/application/src/asset_mgr.cpp +++ b/examples/PoolBox/application/src/asset_mgr.cpp @@ -7,6 +7,7 @@ extern "C" uint32_t __controller_tests_start; extern "C" uint32_t __gpu_tests_start; +extern "C" uint32_t __screen_center_start; namespace Assets { enum LBA { @@ -14,6 +15,7 @@ namespace Assets { __jabyengine_request_lba_for(PACO, "ASSETS/MAIN/PACO.BIN"), __jabyengine_request_lba_for(GPU_TEST_OVL, "GTO.BIN"), __jabyengine_request_lba_for(CONT_TEST_OVL, "CTO.BIN"), + __jabyengine_request_lba_for(SC_OVL, "SCO.BIN"), __jabyengine_end_lba_request }; __declare_lba_header(LBA); @@ -57,22 +59,31 @@ namespace Assets { } namespace Overlay { - static const CDFile GPUFiles[] = { - CDFileBuilder::overlay(LBA::GPU_TEST_OVL, &__gpu_tests_start) - }; - - static const CDFile ControllerFiles[] = { - CDFileBuilder::overlay(LBA::CONT_TEST_OVL, &__controller_tests_start) - }; - + // All these loadings can be done by one function taking the LBA of ther overlay, the new LBA and the new Asset array void load_controller_test() { - ::Assets::load(lba, ControllerFiles); + const CDFile Files[] = { + CDFileBuilder::overlay(LBA::CONT_TEST_OVL, &__controller_tests_start) + }; + + ::Assets::load(lba, Files); ::Assets::load(ControllerTest::lba, ControllerTest::Assets); } void load_gpu_test() { - ::Assets::load(lba, GPUFiles); + const CDFile Files[] = { + CDFileBuilder::overlay(LBA::GPU_TEST_OVL, &__gpu_tests_start) + }; + + ::Assets::load(lba, Files); ::Assets::load(GPUTest::lba, GPUTest::Assets); } + + void load_screen_center() { + const CDFile Files[] = { + CDFileBuilder::overlay(LBA::SC_OVL, &__screen_center_start) + }; + + ::Assets::load(lba, Files); + } } } \ No newline at end of file diff --git a/examples/PoolBox/iso/Config.xml b/examples/PoolBox/iso/Config.xml index 71f86ed8..e5561dcd 100644 --- a/examples/PoolBox/iso/Config.xml +++ b/examples/PoolBox/iso/Config.xml @@ -8,7 +8,8 @@
../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.screen_center +