Create the Screen Center overlay

This commit is contained in:
Jaby 2024-01-05 11:10:02 -06:00
parent ad142ea51d
commit 99c8f4574d
7 changed files with 43 additions and 12 deletions

View File

@ -5,6 +5,9 @@
},
"gpu_tests": {
"pattern": "bin/*/src/Overlay/GPUTest/*.o"
},
"screen_center": {
"pattern": "bin/*/src/Overlay/ScreenCenter/*.o"
}
}
}

View File

@ -13,5 +13,6 @@ namespace Assets {
namespace Overlay {
void load_controller_test();
void load_gpu_test();
void load_screen_center();
}
}

View File

@ -12,5 +12,9 @@ namespace GPUTest {
extern const volatile JabyEngine::AutoLBAEntry lba[];
extern JabyEngine::CDFile Assets[2];
void main();
}
namespace ScreenCenter {
void main();
}

View File

@ -0,0 +1,7 @@
#include <stdio.h>
namespace ScreenCenter {
void main() {
printf("BlubbBlubbBlubbBlubb\n");
}
}

View File

@ -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);
}

View File

@ -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);
}
}
}

View File

@ -8,7 +8,8 @@
<Main name = "XXXX_AAA.AA" lba_source = "../application/src/asset_mgr.cpp">../application/bin/PSX-release/PoolBox.psexe</Main>
<Overlay name = "CTO.BIN" lba_source = "../application/src/Overlay/ControllerTest/controller_test_assets.cpp">../application/bin/PSX-release/Overlay.controller_tests</Overlay>
<Overlay name = "GTO.BIN" lba_source = "../application/src/Overlay/GPUTest/gpu_test_assets.cpp">../application/bin/PSX-release/Overlay.gpu_tests</Overlay>
<Overlay name = "SCO.BIN">../application/bin/PSX-release/Overlay.screen_center</Overlay>
<Directory name="ASSETS" hidden = "true">
<Directory name = "MAIN">
<File name = "PACO.BIN" lz4 = "already">../assets/bin/Paco.bin</File>