tp/include/dolphin/gx/GXStruct.h

103 lines
2.4 KiB
C

#ifndef GXSTRUCT_H
#define GXSTRUCT_H
#include "dolphin/types.h"
#include "global.h"
typedef struct _GXColor {
/* 0x0 */ u8 r;
/* 0x1 */ u8 g;
/* 0x2 */ u8 b;
/* 0x3 */ u8 a;
} GXColor;
typedef struct _GXColorS10 {
/* 0x0 */ s16 r;
/* 0x2 */ s16 g;
/* 0x4 */ s16 b;
/* 0x6 */ s16 a;
} GXColorS10;
typedef struct _GXRenderModeObj {
/* 0x00 */ s32 vi_tv_mode;
/* 0x04 */ u16 fb_width;
/* 0x06 */ u16 efb_height;
/* 0x08 */ u16 xfb_height;
/* 0x0A */ u16 vi_x_origin;
/* 0x0C */ u16 vi_y_origin;
/* 0x0E */ u16 vi_width;
/* 0x10 */ u16 vi_height;
/* 0x14 */ s32 xfb_mode;
/* 0x18 */ u8 field_rendering;
/* 0x19 */ u8 antialiasing;
/* 0x1A */ u8 sample_pattern[12][2];
/* 0x32 */ u8 vfilter[7];
} GXRenderModeObj;
STATIC_ASSERT(sizeof(GXRenderModeObj) == 60);
typedef struct _GXTexObj {
/* 0x00 */ u32 texture_filter;
/* 0x04 */ u32 texture_lod;
/* 0x08 */ u32 texture_size;
/* 0x0C */ u32 texture_address;
/* 0x10 */ u32 user_data;
/* 0x14 */ u32 texture_format;
/* 0x18 */ u32 tlut_name;
/* 0x1C */ u16 texture_time_count;
/* 0x1E */ u8 texture_tile_type;
/* 0x1F */ u8 texture_flags;
} GXTexObj;
typedef struct _GXTlutObj {
/* 0x0 */ u32 format;
/* 0x4 */ u32 address;
/* 0x8 */ u32 numEntries;
} GXTlutObj;
typedef struct _GXLightObj {
/* 0x00 */ u8 field_0x0[0xc];
/* 0x0C */ GXColor color;
/* 0x10 */ f32 a0;
/* 0x14 */ f32 a1;
/* 0x18 */ f32 a2;
/* 0x1C */ f32 k0;
/* 0x20 */ f32 k1;
/* 0x24 */ f32 k2;
/* 0x28 */ f32 posX;
/* 0x2C */ f32 posY;
/* 0x30 */ f32 posZ;
/* 0x34 */ f32 dirX;
/* 0x38 */ f32 dirY;
/* 0x3C */ f32 dirZ;
} GXLightObj;
typedef struct _GXFogAdjTable {
/* 0x0 */ u16 r[10];
} GXFogAdjTable;
typedef struct _GXFifoObj {
/* 0x00 */ void* base;
/* 0x04 */ u32 end;
/* 0x08 */ u32 size;
/* 0x0C */ u32 high_wtrmark;
/* 0x10 */ u32 low_wtrmark;
/* 0x14 */ void* read_ptr;
/* 0x18 */ void* write_ptr;
/* 0x1C */ void* rw_dst;
/* 0x20 */ u8 fifo_wrap;
/* 0x21 */ u8 cpu_fifo_ready;
/* 0x22 */ u8 gp_fifo_ready;
/* 0x23 */ u8 field_0x23[93];
} GXFifoObj; // Size: 0x80
typedef struct _GXTexRegion {
/* 0x00 */ u8 dummy[0x10];
} GXTexRegion; // Size: 0x10
typedef struct _GXTlutRegion {
/* 0x00 */ u8 dummy[0x10];
} GXTlutRegion; // Size: 0x10
#endif /* GXSTRUCT_H */