It compiles finally

This commit is contained in:
2026-08-20 21:13:22 -05:00
committed by Timothy O'Barr
parent fa92e07da3
commit cab2736e22
6 changed files with 518 additions and 62 deletions
+7
View File
@@ -21,8 +21,15 @@
#define DGET_IPU_CTRL() (*IPU_CTRL)
#define DGET_IPU_BP() (*IPU_BP)
#define D_CHCR_STR_M (0x01 << 8)
#define D_ENABLER ((volatile u_int *)(0x1000f520))
#define D_ENABLEW ((volatile u_int *)(0x1000f590))
#define D1_CHCR ((volatile u_int *)(0x10009000))
#define D2_CHCR ((volatile u_int *)(0x1000a000))
#define D3_CHCR ((volatile u_int *)(0x1000b000))
#define D4_CHCR ((volatile u_int *)(0x1000b400))
+3
View File
@@ -5,12 +5,15 @@
#include "EtcEvent.h"
#include "Event.h"
#include "Filter.h"
#include "KuonMsg.h"
#include "Main.h"
#include "Model.h"
#include "Pad.h"
#include "Sprite.h"
#include "TexEffect.h"
#include "Unk.h"
#include "common.h"
#include "ee/eeregs.h"
void InitGameData() {
SetObjFunc();
+10
View File
@@ -0,0 +1,10 @@
#ifndef KUON_MSG_H
#define KUON_MSG_H
#include "common.h"
int KnMsgMng_Update();
int KnMsgMng_Draw();
u_short * * KnMsgMng_GetMapNameMsg();
u_short * KnMsgMng_GetMsgStr(int msg_id /* r16 */);
int KnMsgMng_MsgAllClear();
#endif // KUON_MSG_H
+52
View File
@@ -0,0 +1,52 @@
#ifndef SPRITE_H
#define SPRITE_H
#include "common.h"
#include "Tex.h"
typedef struct /* @anon0 */
{
u_short bUse : 1; // offset 0x0, size 0x2
u_short Fst : 1; // offset 0x0, size 0x2
u_short Alpha : 2; // offset 0x0, size 0x2
u_short LoadOff : 1; // offset 0x0, size 0x2
u_short unused : 11; // offset 0x0, size 0x2
u_short texID; // offset 0x2, size 0x2
int ver[4][4]; // offset 0x10, size 0x40
int col[4][4]; // offset 0x50, size 0x40
union { // inferred
int uv[4][4]; // offset 0x90, size 0x40
float st[4][4]; // offset 0x90, size 0x40
};
TEX0 tex0;
TEX1 tex1;
TEST test;
} SPDATA;
typedef struct /* @anon10 */ {
// Members
u_short bUse : 1; // offset 0x0, size 0x2
u_short Fst : 1; // offset 0x0, size 0x2
u_short Alpha : 2; // offset 0x0, size 0x2
u_short LoadOff : 1; // offset 0x0, size 0x2
u_short unused : 11; // offset 0x0, size 0x2
u_short texID; // offset 0x2, size 0x2
signed int ver[4][4]; // offset 0x10, size 0x40
signed int col[4][4]; // offset 0x50, size 0x40
union { // inferred
signed int uv[4][4]; // offset 0x90, size 0x40
float st[4][4]; // offset 0x90, size 0x40
};
TEX0 tex0;
TEX1 tex1;
TEST test;
} LPSP;
u_int * MakeSpritePacketUseSpr( LPSP * lpSp /* r2 */, u_int * lpPacket /* r2 */);
void SetSprite(LPSP * lpSp, int PosX /* r21 */, int PosY /* r20 */,
int w /* r19 */, int h /* r18 */, int * col /* r17 */,
u_short texID /* r16 */, u_char Fst /* r23 */);
#endif // SPRITE_H
+51 -61
View File
@@ -1,68 +1,58 @@
#ifndef TEX_H
#define TEX_H
/*
Compile unit: C:\cs4\Seimei\src\Tex.c
Producer: MW MIPS C Compiler
Language: C
Code range: 0x0013FA80 -> 0x0013FB18
*/
// Range: 0x13FA80 -> 0x13FB18
// total size: 0x60
struct /* @anon0 */ {
// total size: 0x8
typedef struct /* @anon16 */
{
// Members
u_long ATE : 1; // offset 0x0, size 0x4
u_long ATST : 3; // offset 0x0, size 0x4
u_long AREF : 8; // offset 0x0, size 0x4
u_long AFAIL : 2; // offset 0x0, size 0x4
u_long DATE : 1; // offset 0x0, size 0x4
u_long DATM : 1; // offset 0x0, size 0x4
u_long ZTE : 1; // offset 0x0, size 0x4
u_long ZTST : 2; // offset 0x0, size 0x4
u_long pad19 : 45; // offset 0x0, size 0x4
} TEST; // offset 0xE0, size 0x8
// total size: 0x8
typedef struct /* @anon21 */ {
// Members
unsigned char bUse; // offset 0x0, size 0x1
unsigned char unused0; // offset 0x1, size 0x1
unsigned short id; // offset 0x2, size 0x2
// total size: 0x20
struct /* @anon1 */ {
// Members
unsigned int size; // offset 0x0, size 0x4
unsigned int wnum; // offset 0x4, size 0x4
unsigned char dummy[5]; // offset 0x8, size 0x5
unsigned char compare; // offset 0xD, size 0x1
unsigned short tex_id; // offset 0xE, size 0x2
// total size: 0x8
struct /* @anon5 */ {
// Members
unsigned long TBP0 : 14; // offset 0x0, size 0x4
unsigned long TBW : 6; // offset 0x0, size 0x4
unsigned long PSM : 6; // offset 0x0, size 0x4
unsigned long TW : 4; // offset 0x0, size 0x4
unsigned long TH : 4; // offset 0x0, size 0x4
unsigned long TCC : 1; // offset 0x0, size 0x4
unsigned long TFX : 2; // offset 0x0, size 0x4
unsigned long CBP : 14; // offset 0x0, size 0x4
unsigned long CPSM : 4; // offset 0x0, size 0x4
unsigned long CSM : 1; // offset 0x0, size 0x4
unsigned long CSA : 5; // offset 0x0, size 0x4
unsigned long CLD : 3; // offset 0x0, size 0x4
} tex0; // offset 0x10, size 0x8
// total size: 0x8
struct /* @anon7 */ {
// Members
unsigned long LCM : 1; // offset 0x0, size 0x4
unsigned long pad01 : 1; // offset 0x0, size 0x4
unsigned long MXL : 3; // offset 0x0, size 0x4
unsigned long MMAG : 1; // offset 0x0, size 0x4
unsigned long MMIN : 3; // offset 0x0, size 0x4
unsigned long MTBA : 1; // offset 0x0, size 0x4
unsigned long pad10 : 9; // offset 0x0, size 0x4
unsigned long L : 2; // offset 0x0, size 0x4
unsigned long pad21 : 11; // offset 0x0, size 0x4
unsigned long K : 12; // offset 0x0, size 0x4
unsigned long pad44 : 20; // offset 0x0, size 0x4
} tex1; // offset 0x18, size 0x8
} * lpTm2; // offset 0x4, size 0x4
void * lpTexList; // offset 0x8, size 0x4
signed int unused1[1]; // offset 0xC, size 0x4
unsigned char texName[32]; // offset 0x10, size 0x20
unsigned char texNameBase[32]; // offset 0x30, size 0x20
signed int texW; // offset 0x50, size 0x4
signed int texH; // offset 0x54, size 0x4
signed int texTBW; // offset 0x58, size 0x4
signed int texPSM; // offset 0x5C, size 0x4
} * GetTexMngByName(void * lpTexList /* r18 */, char * texname /* r17 */);
u_long TBP0 : 14; // offset 0x0, size 0x4
u_long TBW : 6; // offset 0x0, size 0x4
u_long PSM : 6; // offset 0x0, size 0x4
u_long TW : 4; // offset 0x0, size 0x4
u_long TH : 4; // offset 0x0, size 0x4
u_long TCC : 1; // offset 0x0, size 0x4
u_long TFX : 2; // offset 0x0, size 0x4
u_long CBP : 14; // offset 0x0, size 0x4
u_long CPSM : 4; // offset 0x0, size 0x4
u_long CSM : 1; // offset 0x0, size 0x4
u_long CSA : 5; // offset 0x0, size 0x4
u_long CLD : 3; // offset 0x0, size 0x4
}
TEX0; // offset 0xD0, size 0x8
// total size: 0x8
typedef struct /* @anon25 */
{
// Members
u_long LCM : 1; // offset 0x0, size 0x4
u_long pad01 : 1; // offset 0x0, size 0x4
u_long MXL : 3; // offset 0x0, size 0x4
u_long MMAG : 1; // offset 0x0, size 0x4
u_long MMIN : 3; // offset 0x0, size 0x4
u_long MTBA : 1; // offset 0x0, size 0x4
u_long pad10 : 9; // offset 0x0, size 0x4
u_long L : 2; // offset 0x0, size 0x4
u_long pad21 : 11; // offset 0x0, size 0x4
u_long K : 12; // offset 0x0, size 0x4
u_long pad44 : 20; // offset 0x0, size 0x4
} TEX1; // offset 0xD8, size 0x8
// * GetTexMngByName(void * lpTexList /* r18 */, char * texname /* r17 */);
#endif // TEX_H
+395 -1
View File
@@ -12,7 +12,6 @@ typedef struct _TMP_MENU_MNG_ST {
u_char dmy[12]; // offset 0x2C, size 0xC
} TMP_MENU_MNG_ST;
extern TMP_MENU_MNG_ST g_TmpMenuMng; // size: 0x38, address: 0xA00C70
extern struct /* @anon0 */ {
// Members
@@ -209,4 +208,399 @@ typedef struct /* @anon1 */
float SclLimit; // offset 0x25C, size 0x4
} PENECTRL;
typedef struct /* @anon6 */
{
// Members
u_int EN1 : 1; // offset 0x0, size 0x4
u_int EN2 : 1; // offset 0x0, size 0x4
u_int CRTMD : 3; // offset 0x0, size 0x4
u_int MMOD : 1; // offset 0x0, size 0x4
u_int AMOD : 1; // offset 0x0, size 0x4
u_int SLBG : 1; // offset 0x0, size 0x4
u_int ALP : 8; // offset 0x0, size 0x4
u_int p0 : 16; // offset 0x0, size 0x4
u_int p1; // offset 0x4, size 0x4
} PMODE; // offset 0x0, size 0x8
typedef struct /* @anon17 */ {
u_int INT : 1; // offset 0x0, size 0x4
u_int FFMD : 1; // offset 0x0, size 0x4
u_int DPMS : 2; // offset 0x0, size 0x4
u_int p0 : 28; // offset 0x0, size 0x4
u_int p1; // offset 0x4, size 0x4
} SMODE2; // offset 0x8, size 0x8
typedef struct /* @anon7 */ {
u_int FBP : 9; // offset 0x0, size 0x4
u_int FBW : 6; // offset 0x0, size 0x4
u_int PSM : 5; // offset 0x0, size 0x4
u_int p0 : 12; // offset 0x0, size 0x4
u_int DBX : 11; // offset 0x4, size 0x4
u_int DBY : 11; // offset 0x4, size 0x4
u_int p1 : 10; // offset 0x4, size 0x4
} DISPFB; // offset 0x10, size 0x8
typedef struct /* @anon20 */
{
u_int DX : 12; // offset 0x0, size 0x4
u_int DY : 11; // offset 0x0, size 0x4
u_int MAGH : 4; // offset 0x0, size 0x4
u_int MAGV : 2; // offset 0x0, size 0x4
u_int p0 : 3; // offset 0x0, size 0x4
u_int DW : 12; // offset 0x4, size 0x4
u_int DH : 11; // offset 0x4, size 0x4
u_int p1 : 9; // offset 0x4, size 0x4
} DISPLAY; // offset 0x18, size 0x8
// total size: 0x8
typedef struct /* @anon18 */
{
// Members
u_int R : 8; // offset 0x0, size 0x4
u_int G : 8; // offset 0x0, size 0x4
u_int B : 8; // offset 0x0, size 0x4
u_int p0 : 8; // offset 0x0, size 0x4
u_int p1; // offset 0x4, size 0x4
} BG_COLOR; // offset 0x20, size 0x8
typedef struct /* @anon0 */
{
PMODE pmode;
SMODE2 smode2;
DISPFB dispfb;
DISPLAY display;
BG_COLOR bgcolor;
} DISP; // offset 0x0, size 0x50
typedef struct /* @anon3 */
{
u_long NLOOP : 15; // offset 0x0, size 0x4
u_long EOP : 1; // offset 0x0, size 0x4
u_long pad16 : 16; // offset 0x0, size 0x4
u_long id : 14; // offset 0x0, size 0x4
u_long PRE : 1; // offset 0x0, size 0x4
u_long PRIM : 11; // offset 0x0, size 0x4
u_long FLG : 2; // offset 0x0, size 0x4
u_long NREG : 4; // offset 0x0, size 0x4
u_long REGS0 : 4; // offset 0x8, size 0x4
u_long REGS1 : 4; // offset 0x8, size 0x4
u_long REGS2 : 4; // offset 0x8, size 0x4
u_long REGS3 : 4; // offset 0x8, size 0x4
u_long REGS4 : 4; // offset 0x8, size 0x4
u_long REGS5 : 4; // offset 0x8, size 0x4
u_long REGS6 : 4; // offset 0x8, size 0x4
u_long REGS7 : 4; // offset 0x8, size 0x4
u_long REGS8 : 4; // offset 0x8, size 0x4
u_long REGS9 : 4; // offset 0x8, size 0x4
u_long REGS10 : 4; // offset 0x8, size 0x4
u_long REGS11 : 4; // offset 0x8, size 0x4
u_long REGS12 : 4; // offset 0x8, size 0x4
u_long REGS13 : 4; // offset 0x8, size 0x4
u_long REGS14 : 4; // offset 0x8, size 0x4
u_long REGS15 : 4; // offset 0x8, size 0x4
} GIFTAG0; // offset 0x50, size 0x10
typedef struct /* @anon15 */
{
u_long FBP : 9; // offset 0x0, size 0x4
u_long pad09 : 7; // offset 0x0, size 0x4
u_long FBW : 6; // offset 0x0, size 0x4
u_long pad22 : 2; // offset 0x0, size 0x4
u_long PSM : 6; // offset 0x0, size 0x4
u_long pad30 : 2; // offset 0x0, size 0x4
u_long FBMSK : 32; // offset 0x0, size 0x4
} FRAME1; // offset 0x0, size 0x8
typedef struct /* @anon26 */ {
u_long ZBP : 9; // offset 0x0, size 0x4
u_long pad09 : 15; // offset 0x0, size 0x4
u_long PSM : 4; // offset 0x0, size 0x4
u_long pad28 : 4; // offset 0x0, size 0x4
u_long ZMSK : 1; // offset 0x0, size 0x4
u_long pad33 : 31; // offset 0x0, size 0x4
} ZBUF1; // offset 0x10, size 0x8
typedef struct /* @anon22 */
{
u_long OFX : 16; // offset 0x0, size 0x4
u_long pad16 : 16; // offset 0x0, size 0x4
u_long OFY : 16; // offset 0x0, size 0x4
u_long pad48 : 16; // offset 0x0, size 0x4
} XYOFFSET1; // offset 0x20, size 0x8
typedef struct /* @anon10 */ {
u_long SCAX0 : 11; // offset 0x0, size 0x4
u_long pad11 : 5; // offset 0x0, size 0x4
u_long SCAX1 : 11; // offset 0x0, size 0x4
u_long pad27 : 5; // offset 0x0, size 0x4
u_long SCAY0 : 11; // offset 0x0, size 0x4
u_long pad43 : 5; // offset 0x0, size 0x4
u_long SCAY1 : 11; // offset 0x0, size 0x4
u_long pad59 : 5; // offset 0x0, size 0x4
} SCISSOR1; // offset 0x30, size 0x8
typedef struct /* @anon1 */ {
u_long AC : 1; // offset 0x0, size 0x4
u_long pad01 : 63; // offset 0x0, size 0x4
} PRMODECONT; // offset 0x40, size 0x8
typedef struct /* @anon24 */ {
u_long CLAMP : 1; // offset 0x0, size 0x4
u_long pad01 : 63; // offset 0x0, size 0x4
} COL_CLAMP; // offset 0x50, size 0x8
typedef struct /* @anon5 */
{
u_long DTHE : 1; // offset 0x0, size 0x4
u_long pad01 : 63; // offset 0x0, size 0x4
} DTHE; // offset 0x60, size 0x8
typedef struct /* @anon19 */
{
u_long ATE : 1; // offset 0x0, size 0x4
u_long ATST : 3; // offset 0x0, size 0x4
u_long AREF : 8; // offset 0x0, size 0x4
u_long AFAIL : 2; // offset 0x0, size 0x4
u_long DATE : 1; // offset 0x0, size 0x4
u_long DATM : 1; // offset 0x0, size 0x4
u_long ZTE : 1; // offset 0x0, size 0x4
u_long ZTST : 2; // offset 0x0, size 0x4
u_long pad19 : 45; // offset 0x0, size 0x4
} TEST1; // offset 0x70, size 0x8
typedef struct /* @anon2 */
{
FRAME1 frame1;
u_long frame1addr; // offset 0x8, size 0x4
long zbuf1addr; // offset 0x18, size 0x4
ZBUF1 zbuf1;
XYOFFSET1 xyoffset1;
long xyoffset1addr; // offset 0x28, size 0x4
SCISSOR1 scissor1;
long scissor1addr; // offset 0x38, size 0x4
PRMODECONT prmodecont;
long prmodecontaddr; // offset 0x48, size 0x4
COL_CLAMP colclamp;
long colclampaddr; // offset 0x58, size 0x4
DTHE dthe;
long dtheaddr; // offset 0x68, size 0x4
TEST1 test1;
long test1addr; // offset 0x78, size 0x4
} DRAW0; // offset 0x60, size 0x80
typedef struct /* @anon19 */ {
u_long ATE : 1; // offset 0x0, size 0x4
u_long ATST : 3; // offset 0x0, size 0x4
u_long AREF : 8; // offset 0x0, size 0x4
u_long AFAIL : 2; // offset 0x0, size 0x4
u_long DATE : 1; // offset 0x0, size 0x4
u_long DATM : 1; // offset 0x0, size 0x4
u_long ZTE : 1; // offset 0x0, size 0x4
u_long ZTST : 2; // offset 0x0, size 0x4
u_long pad19 : 45; // offset 0x0, size 0x4
} TESTA; // offset 0x0, size 0x8
typedef struct /* @anon27 */
{
u_long PRIM : 3; // offset 0x0, size 0x4
u_long IIP : 1; // offset 0x0, size 0x4
u_long TME : 1; // offset 0x0, size 0x4
u_long FGE : 1; // offset 0x0, size 0x4
u_long ABE : 1; // offset 0x0, size 0x4
u_long AA1 : 1; // offset 0x0, size 0x4
u_long FST : 1; // offset 0x0, size 0x4
u_long CTXT : 1; // offset 0x0, size 0x4
u_long FIX : 1; // offset 0x0, size 0x4
u_long pad11 : 53; // offset 0x0, size 0x4
} PRIM; // offset 0x10, size 0x8
typedef struct /* @anon4 */
{
u_int R : 8; // offset 0x0, size 0x4
u_int G : 8; // offset 0x0, size 0x4
u_int B : 8; // offset 0x0, size 0x4
u_int A : 8; // offset 0x0, size 0x4
float Q; // offset 0x4, size 0x4
} RGBAQ; // offset 0x20, size 0x8
typedef struct /* @anon23 */
{
// Members
u_long X : 16; // offset 0x0, size 0x4
u_long Y : 16; // offset 0x0, size 0x4
u_long Z : 32; // offset 0x0, size 0x4
} XYZ2A; // offset 0x30, size 0x8
typedef struct /* @anon23 */
{
// Members
u_long X : 16; // offset 0x0, size 0x4
u_long Y : 16; // offset 0x0, size 0x4
u_long Z : 32; // offset 0x0, size 0x4
} XYZ2B; // offset 0x40, size 0x8
typedef struct /* @anon19 */
{
u_long ATE : 1; // offset 0x0, size 0x4
u_long ATST : 3; // offset 0x0, size 0x4
u_long AREF : 8; // offset 0x0, size 0x4
u_long AFAIL : 2; // offset 0x0, size 0x4
u_long DATE : 1; // offset 0x0, size 0x4
u_long DATM : 1; // offset 0x0, size 0x4
u_long ZTE : 1; // offset 0x0, size 0x4
u_long ZTST : 2; // offset 0x0, size 0x4
u_long pad19 : 45; // offset 0x0, size 0x4
} TESTB; // offset 0x50, size 0x8
typedef struct /* @anon21 */
{
TESTA testa;
long testaaddr; // offset 0x8, size 0x4
PRIM prim;
long primaddr; // offset 0x18, size 0x4
RGBAQ rgbaq;
long rgbaqaddr; // offset 0x28, size 0x4
XYZ2A xyz2a;
long xyz2aaddr; // offset 0x38, size 0x4
XYZ2B xyz2b;
long xyz2baddr; // offset 0x48, size 0x4
TESTB testb;
long testbaddr; // offset 0x58, size 0x4
} CLEAR0; // offset 0xE0, size 0x60
typedef struct /* @anon3 */
{
u_long NLOOP : 15; // offset 0x0, size 0x4
u_long EOP : 1; // offset 0x0, size 0x4
u_long pad16 : 16; // offset 0x0, size 0x4
u_long id : 14; // offset 0x0, size 0x4
u_long PRE : 1; // offset 0x0, size 0x4
u_long PRIM : 11; // offset 0x0, size 0x4
u_long FLG : 2; // offset 0x0, size 0x4
u_long NREG : 4; // offset 0x0, size 0x4
u_long REGS0 : 4; // offset 0x8, size 0x4
u_long REGS1 : 4; // offset 0x8, size 0x4
u_long REGS2 : 4; // offset 0x8, size 0x4
u_long REGS3 : 4; // offset 0x8, size 0x4
u_long REGS4 : 4; // offset 0x8, size 0x4
u_long REGS5 : 4; // offset 0x8, size 0x4
u_long REGS6 : 4; // offset 0x8, size 0x4
u_long REGS7 : 4; // offset 0x8, size 0x4
u_long REGS8 : 4; // offset 0x8, size 0x4
u_long REGS9 : 4; // offset 0x8, size 0x4
u_long REGS10 : 4; // offset 0x8, size 0x4
u_long REGS11 : 4; // offset 0x8, size 0x4
u_long REGS12 : 4; // offset 0x8, size 0x4
u_long REGS13 : 4; // offset 0x8, size 0x4
u_long REGS14 : 4; // offset 0x8, size 0x4
u_long REGS15 : 4; // offset 0x8, size 0x4
} GIFTAG1; // offset 0x140, size 0x10
typedef struct /* @anon2 */
{
FRAME1 frame1;
u_long frame1addr;
ZBUF1 zbuf1;
long zbuf1addr;
XYOFFSET1 xyoffset1;
long xyoffset1addr;
SCISSOR1 scissor1;
long scissor1addr;
PRMODECONT prmodecont;
long prmodecontaddr;
COL_CLAMP colclamp;
long colclampaddr;
DTHE dthe;
long dtheaddr;
TEST1 test1;
long test1addr;
} DRAW1; // offset 0x150, size 0x80
// total size: 0x60
typedef struct /* @anon21 */
{
TESTA testa;
long testaaddr;
PRIM prim;
long primaddr;
RGBAQ rgbaq;
long rgbaqaddr;
XYZ2A xyz2a;
long xyz2aaddr;
XYZ2B xyz2b;
long xyz2baddr;
TESTB testb;
long testbaddr;
} CLEAR1; // offset 0x1D0, size 0x60
typedef struct /* @anon25 */
{
DISP disp[2];
GIFTAG0 giftag0;
DRAW0 draw0;
CLEAR0 clear0;
GIFTAG1 giftag1;
DRAW1 draw1;
CLEAR1 clear1;
} DB_BUF; // offset 0x0, size 0x230
// total size: 0x470
typedef struct /* @anon8 */
{
DB_BUF dbBuf;
float camPos[4]; // offset 0x230, size 0x10
float camAng[4]; // offset 0x240, size 0x10
float camPosB[4]; // offset 0x250, size 0x10
float camAngB[4]; // offset 0x260, size 0x10
float vsMat[4][4]; // offset 0x270, size 0x40
float wsMat[4][4]; // offset 0x2B0, size 0x40
float wvMat[4][4]; // offset 0x2F0, size 0x40
float lcMat[4][4]; // offset 0x330, size 0x40
float wcMat[4][4]; // offset 0x370, size 0x40
float csMat[4][4]; // offset 0x3B0, size 0x40
float scrDepth; // offset 0x3F0, size 0x4
u_int * sprBuf[2]; // offset 0x3F4, size 0x8
signed int sprBufID; // offset 0x3FC, size 0x4
u_int DMATag; // offset 0x400, size 0x4
signed int ctxt; // offset 0x404, size 0x4
signed int dbBufID; // offset 0x408, size 0x4
signed int oddeven; // offset 0x40C, size 0x4
u_int calcTime; // offset 0x410, size 0x4
u_int drawTime; // offset 0x414, size 0x4
u_int frameTime; // offset 0x418, size 0x4
float fov; // offset 0x41C, size 0x4
signed int TotalPolyNum; // offset 0x420, size 0x4
signed int TotalPrimNum; // offset 0x424, size 0x4
float WaterLevel; // offset 0x428, size 0x4
u_char DrawFlag; // offset 0x42C, size 0x1
u_char DrawHitModel; // offset 0x42D, size 0x1
u_char BlurMode; // offset 0x42E, size 0x1
u_char BlurRate; // offset 0x42F, size 0x1
u_char ProjectionType; // offset 0x430, size 0x1
u_char unused[15]; // offset 0x431, size 0xF
float PlaneParam[4]; // offset 0x440, size 0x10
float FogParam[4]; // offset 0x450, size 0x10
float FogParam16[4]; // offset 0x460, size 0x10
} DRAW_MNG; // size: 0x4, address: 0x257500
typedef struct /* @anon0 */
{
// Members
u_char r; // offset 0x0, size 0x1
u_char g; // offset 0x1, size 0x1
u_char b; // offset 0x2, size 0x1
u_char a; // offset 0x3, size 0x1
} COLOR;
extern TMP_MENU_MNG_ST g_TmpMenuMng; // size: 0x38, address: 0xA00C70
extern u_int * lpMdlPacketMem; // size: 0x4, address: 0x2578B0
extern DRAW_MNG *lpDrawMng;
#endif // UNK_H