mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-29 04:02:29 +01:00
A native port built on the Petari decompilation (previous commit): an HLE platform layer (OS, DVD, GX, audio, input, NAND) under the game's own code, an OpenXR presentation (a diorama around the player, a giant screen, the HUD and settings as compositor layers, SpaceWarp, dynamic resolution), Touch Plus controls, the tools that convert your own game files (tools/cook, which also takes the few pieces of data the game's executable holds from your sys/main.dol), and the port's changes to the decompilation (`git diff petari-base -- decomp`). README.md explains installing and building, docs/TECHNICAL.md how it works. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
707 B
C++
35 lines
707 B
C++
#pragma once
|
|
|
|
#include <revolution/types.h>
|
|
|
|
struct SpkParameters {
|
|
/* 0x00 */ u16 mWaveID;
|
|
/* 0x02 */ u8 _2;
|
|
/* 0x03 */ u8 mVolume;
|
|
/* 0x04 */ u16 mReleaseTime;
|
|
/* 0x06 */ u16 _padding; // (?)
|
|
};
|
|
|
|
struct SpkFile {
|
|
/* 0x0 */ u32 count;
|
|
/* 0x4 */ u32 parametersOffset;
|
|
/* 0x8 */ u32 namesOffset;
|
|
/* 0xC */ u32 initialized;
|
|
};
|
|
|
|
class SpkTable {
|
|
public:
|
|
SpkTable();
|
|
|
|
void setResource(void*);
|
|
|
|
SpkParameters* getParameters(int idx) {
|
|
return &mParameters[idx];
|
|
}
|
|
|
|
/* 0x0 */ bool mInitialized;
|
|
/* 0x4 */ s32 mResourceCount;
|
|
/* 0x8 */ SpkParameters* mParameters;
|
|
/* 0xC */ PTR32(const char)* mNames; // 4-byte name slots in the file
|
|
};
|