Prepare ControllerTest state with art and back functionality

This commit is contained in:
2024-01-04 12:30:17 -06:00
parent 425e093442
commit 64ac557d73
9 changed files with 70 additions and 4 deletions

View File

@@ -1,7 +1,33 @@
#include "../../../include/shared.hpp"
#include <PSX/Periphery/periphery.hpp>
#include <stdio.h>
namespace ControllerTest {
using namespace JabyEngine;
static bool update_or_exit() {
Periphery::query_controller();
if(Shared::back_menu.update(Make::PositionI16(0, GPU::Display::Height - 32))) {
return true;
}
return false;
}
static void render() {
Shared::back_menu.render();
}
void main() {
printf("CONT: BlubbBlubbBlubb!!\n");
Shared::back_menu.reset();
while(true) {
if(update_or_exit()) {
break;
}
GPU::swap_buffers_vsync(1);
Shared::back_menu.render();
}
}
}

View File

@@ -0,0 +1,18 @@
#include "include/controller_test_assets.hpp"
#include <PSX/File/Processor/cd_file_processor.hpp>
#include <PSX/AutoLBA/auto_lba_declaration.hpp>
namespace ControllerTest {
using namespace JabyEngine;
enum LBA {
__jabyengine_start_lba_request
__jabyengine_request_lba_for(CONT, "ASSETS/CONT/CONT.BIN"),
__jabyengine_end_lba_request
};
__declare_lba_header(LBA);
CDFile Assets[1] = {
CDFileBuilder::simple_tim(LBA::CONT, ControllerButtonTIM),
};
}

View File

@@ -0,0 +1,8 @@
#pragma once
#include <PSX/File/cd_file_types.hpp>
namespace ControllerTest {
using namespace JabyEngine;
static constexpr auto ControllerButtonTIM = SimpleTIM(384, 0, 384, 511);
}

View File

@@ -129,7 +129,7 @@ namespace GPUTest {
break;
}
GPU::swap_buffers_vsync(2);
GPU::swap_buffers_vsync(1);
GPU::render(triangle1);
GPU::render(triangle2);

View File

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

View File

@@ -66,7 +66,8 @@ namespace Assets {
};
void load_controller_test() {
::Assets::load(lba, ControllerFiles);
::Assets::load(lba, ControllerFiles);
::Assets::load(ControllerTest::lba, ControllerTest::Assets);
}
void load_gpu_test() {