#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.IMG"),
        __jabyengine_request_lba_for(ICON,         "ASSETS/ICON.IMG"),
        __jabyengine_request_lba_for(ALL_THE_JABY, "ASSETS/ATJ.TIM"),
        __jabyengine_end_lba_request
    };
    __declare_lba_header(LBA);

    CDFile Assets[2] = {
        CDFileBuilder::simple_tim(LBA::TEX,  TexPageTIM),
        CDFileBuilder::simple_tim(LBA::ICON, IconTIM),
    };

    CDFile LargeAssets[36] = {
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
        CDFileBuilder::sony_tim(LBA::ALL_THE_JABY, TIM::create()),
    };
}
