Initial public source release
Split reusable rendering and format support into vectorail-core and vectorail-gc.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include "openroller/psp/SongCatalog.hpp"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
namespace openroller::psp {
|
||||
|
||||
struct SongMenu {
|
||||
void* catalogStorage = nullptr;
|
||||
std::size_t catalogSize = 0;
|
||||
const SongCatalogHeader* header = nullptr;
|
||||
const SongCatalogRecord* songs = nullptr;
|
||||
int selection = 0;
|
||||
int difficulty = 0;
|
||||
bool difficultyMode = false;
|
||||
void* jacketStorage = nullptr;
|
||||
std::size_t jacketSize = 0;
|
||||
const std::uint16_t* jacketPixels = nullptr;
|
||||
std::uint16_t jacketWidth = 0;
|
||||
std::uint16_t jacketHeight = 0;
|
||||
char rootPath[256]{};
|
||||
};
|
||||
|
||||
bool loadSongMenu(const char* catalogPath, SongMenu* menu, char* error, std::size_t errorCapacity);
|
||||
void unloadSongMenu(SongMenu* menu);
|
||||
bool moveSongSelection(SongMenu* menu, int delta);
|
||||
bool moveDifficultySelection(SongMenu* menu, int delta);
|
||||
const SongCatalogRecord* selectedSong(const SongMenu& menu);
|
||||
bool selectedSongPath(const SongMenu& menu, char* output, std::size_t capacity);
|
||||
bool selectedAudioPath(const SongMenu& menu, char* output, std::size_t capacity);
|
||||
bool selectedShotAudioPath(const SongMenu& menu, char* output, std::size_t capacity);
|
||||
|
||||
} // namespace openroller::psp
|
||||
Reference in New Issue
Block a user