Support loading Assets for Overlays

This commit is contained in:
jaby 2024-01-03 21:26:21 -06:00
parent c50e3b78ca
commit 4723126af2
6 changed files with 45 additions and 10 deletions

View File

@ -4,4 +4,4 @@ namespace GPUTest {
void main() {
printf("GPU: BlubbBlubbBlubb!!\n");
}
}
}

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
#include <PSX/File/cd_file_types.hpp>
namespace ControllerTest {
void main();
}
namespace GPUTest {
extern const volatile JabyEngine::AutoLBAEntry lba[];
extern JabyEngine::CDFile Assets[2];
void main();
}

View File

@ -1,4 +1,5 @@
#include "../include/asset_mgr.hpp"
#include "Overlay/Overlays.hpp"
#include <PSX/File/Processor/cd_file_processor.hpp>
#include <PSX/AutoLBA/auto_lba.hpp>
#include <PSX/AutoLBA/auto_lba_declaration.hpp>
@ -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<size_t N>
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);
}
}
}

View File

@ -7,13 +7,14 @@
<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>
<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 = "MAIN">
<File name = "PACO.BIN" lz4 = "already">../assets/bin/Paco.bin</File>
</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>
</Directory>