Support loading Assets for Overlays

This commit is contained in:
Jaby 2024-01-03 21:26:21 -06:00
parent 0e4be4be4c
commit 37fd2577d5
6 changed files with 45 additions and 10 deletions

View File

@ -0,0 +1,20 @@
#include "include/gpu_test_assets.hpp"
#include <PSX/File/Processor/cd_file_processor.hpp>
#include <PSX/AutoLBA/auto_lba_declaration.hpp>
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),
};
}

View File

@ -0,0 +1,9 @@
#pragma once
#include <PSX/File/cd_file_types.hpp>
namespace GPUTest {
using namespace JabyEngine;
static constexpr auto TexPageTIM = SimpleTIM(384, 0, 384, 511);
static constexpr auto IconTIM = SimpleTIM(384, 256, 384, 510);
}

View File

@ -1,9 +1,13 @@
#pragma once #pragma once
#include <PSX/File/cd_file_types.hpp>
namespace ControllerTest { namespace ControllerTest {
void main(); void main();
} }
namespace GPUTest { namespace GPUTest {
extern const volatile JabyEngine::AutoLBAEntry lba[];
extern JabyEngine::CDFile Assets[2];
void main(); void main();
} }

View File

@ -1,4 +1,5 @@
#include "../include/asset_mgr.hpp" #include "../include/asset_mgr.hpp"
#include "Overlay/Overlays.hpp"
#include <PSX/File/Processor/cd_file_processor.hpp> #include <PSX/File/Processor/cd_file_processor.hpp>
#include <PSX/AutoLBA/auto_lba.hpp> #include <PSX/AutoLBA/auto_lba.hpp>
#include <PSX/AutoLBA/auto_lba_declaration.hpp> #include <PSX/AutoLBA/auto_lba_declaration.hpp>
@ -17,7 +18,7 @@ namespace Assets {
}; };
__declare_lba_header(LBA); __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(); const auto buffer_cfg = CDFileProcessor::BufferConfiguration::new_default();
CDFileProcessor file_processor; CDFileProcessor file_processor;
@ -41,8 +42,8 @@ namespace Assets {
} }
template<size_t N> template<size_t N>
static void load(const CDFile (&files)[N]) { static void load(const volatile AutoLBAEntry* lba, const CDFile (&files)[N]) {
return load(files, N); return load(lba, files, N);
} }
namespace Main { namespace Main {
@ -51,7 +52,7 @@ namespace Assets {
}; };
void load() { void load() {
::Assets::load(Files); ::Assets::load(lba, Files);
} }
} }
@ -65,12 +66,12 @@ namespace Assets {
}; };
void load_controller_test() { void load_controller_test() {
::Assets::load(ControllerFiles); ::Assets::load(lba, ControllerFiles);
} }
void load_gpu_test() { void load_gpu_test() {
::Assets::load(GPUFiles); ::Assets::load(lba, GPUFiles);
// Load Overlay assets?! ::Assets::load(GPUTest::lba, GPUTest::Assets);
} }
} }
} }

View File

@ -7,13 +7,14 @@
<File name = "SYSTEM.CNF">System.cnf</File> <File name = "SYSTEM.CNF">System.cnf</File>
<Main name = "XXXX_AAA.AA" lba_source = "../application/src/asset_mgr.cpp">../application/bin/PSX-release/PoolBox.psexe</Main> <Main name = "XXXX_AAA.AA" lba_source = "../application/src/asset_mgr.cpp">../application/bin/PSX-release/PoolBox.psexe</Main>
<Overlay name = "CTO.BIN">../application/bin/PSX-release/Overlay.controller_tests</Overlay> <Overlay name = "CTO.BIN">../application/bin/PSX-release/Overlay.controller_tests</Overlay>
<Overlay name = "GTO.BIN">../application/bin/PSX-release/Overlay.gpu_tests</Overlay> <Overlay name = "GTO.BIN" lba_source = "../application/src/Overlay/GPUTest/gpu_test_assets.cpp">../application/bin/PSX-release/Overlay.gpu_tests</Overlay>
<Directory name="ASSETS" hidden = "true"> <Directory name="ASSETS" hidden = "true">
<Directory name = "MAIN"> <Directory name = "MAIN">
<File name = "PACO.BIN" lz4 = "already">../assets/bin/Paco.bin</File> <File name = "PACO.BIN" lz4 = "already">../assets/bin/Paco.bin</File>
</Directory> </Directory>
<File name = "FONT.BIN" lz4 = "already">../assets/bin/TexturePage.bin</File>
<File name = "TEX.BIN" lz4 = "already">../assets/bin/TexturePage.bin</File>
<File name = "ICON.BIN" lz4 = "already">../assets/bin/IconTexture.bin</File> <File name = "ICON.BIN" lz4 = "already">../assets/bin/IconTexture.bin</File>
</Directory> </Directory>