2023-01-02 13:17:18 -06:00
|
|
|
#ifndef GX_C_GX_FORMAT_HPP
|
|
|
|
|
#define GX_C_GX_FORMAT_HPP
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
#include <tempest/Vector.hpp>
|
|
|
|
|
|
|
|
|
|
class CGxFormat {
|
|
|
|
|
public:
|
|
|
|
|
// Types
|
|
|
|
|
enum Format {
|
|
|
|
|
Fmt_Rgb565 = 0,
|
|
|
|
|
Fmt_ArgbX888 = 1,
|
|
|
|
|
Fmt_Argb8888 = 2,
|
|
|
|
|
Fmt_Argb2101010 = 3,
|
|
|
|
|
Fmt_Ds160 = 4,
|
|
|
|
|
Fmt_Ds24X = 5,
|
|
|
|
|
Fmt_Ds248 = 6,
|
|
|
|
|
Fmt_Ds320 = 7,
|
|
|
|
|
Formats_Last = 8
|
|
|
|
|
};
|
|
|
|
|
|
2025-03-29 23:23:47 +04:00
|
|
|
CGxFormat();
|
|
|
|
|
CGxFormat(bool p_window, const C2iVector& p_size, Format p_colorFormat, Format p_depthFormat, uint32_t p_refreshRate, uint32_t p_vsync, bool p_hwTnl, bool p_fixLag, bool p_hwCursor, bool p_aspect, bool p_maximize);
|
|
|
|
|
|
2025-03-29 23:08:51 +04:00
|
|
|
static const char* formatToColorBitsString[Formats_Last];
|
|
|
|
|
|
2023-01-02 13:17:18 -06:00
|
|
|
// Member variables
|
2025-03-29 23:23:47 +04:00
|
|
|
uint32_t apiSpecificModeID;
|
2023-03-05 19:49:29 -06:00
|
|
|
bool hwTnL;
|
2024-09-06 12:32:50 -04:00
|
|
|
bool hwCursor;
|
|
|
|
|
bool fixLag;
|
2023-01-02 13:17:18 -06:00
|
|
|
int8_t window;
|
2025-03-29 23:23:47 +04:00
|
|
|
int8_t aspect;
|
2023-01-02 13:17:18 -06:00
|
|
|
int32_t maximize;
|
|
|
|
|
Format depthFormat;
|
|
|
|
|
C2iVector size;
|
2025-03-29 23:23:47 +04:00
|
|
|
uint32_t backbuffers;
|
2023-01-02 13:17:18 -06:00
|
|
|
uint32_t sampleCount;
|
2025-03-29 23:23:47 +04:00
|
|
|
float sampleQuality;
|
2023-01-02 13:17:18 -06:00
|
|
|
Format colorFormat;
|
|
|
|
|
uint32_t refreshRate;
|
2023-03-05 19:49:29 -06:00
|
|
|
uint32_t vsync;
|
2025-03-29 23:23:47 +04:00
|
|
|
bool stereoEnabled;
|
|
|
|
|
uint32_t unk1;
|
|
|
|
|
uint32_t unk2;
|
|
|
|
|
uint32_t unk3;
|
|
|
|
|
uint32_t unk4;
|
|
|
|
|
uint32_t unk5;
|
|
|
|
|
uint32_t unk6;
|
2023-03-05 16:13:31 -06:00
|
|
|
C2iVector pos;
|
2023-01-02 13:17:18 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|