It compiles finally
This commit is contained in:
@@ -21,8 +21,15 @@
|
|||||||
#define DGET_IPU_CTRL() (*IPU_CTRL)
|
#define DGET_IPU_CTRL() (*IPU_CTRL)
|
||||||
#define DGET_IPU_BP() (*IPU_BP)
|
#define DGET_IPU_BP() (*IPU_BP)
|
||||||
|
|
||||||
|
#define D_CHCR_STR_M (0x01 << 8)
|
||||||
|
|
||||||
|
|
||||||
#define D_ENABLER ((volatile u_int *)(0x1000f520))
|
#define D_ENABLER ((volatile u_int *)(0x1000f520))
|
||||||
#define D_ENABLEW ((volatile u_int *)(0x1000f590))
|
#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 D3_CHCR ((volatile u_int *)(0x1000b000))
|
||||||
#define D4_CHCR ((volatile u_int *)(0x1000b400))
|
#define D4_CHCR ((volatile u_int *)(0x1000b400))
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,15 @@
|
|||||||
#include "EtcEvent.h"
|
#include "EtcEvent.h"
|
||||||
#include "Event.h"
|
#include "Event.h"
|
||||||
#include "Filter.h"
|
#include "Filter.h"
|
||||||
|
#include "KuonMsg.h"
|
||||||
#include "Main.h"
|
#include "Main.h"
|
||||||
#include "Model.h"
|
#include "Model.h"
|
||||||
#include "Pad.h"
|
#include "Pad.h"
|
||||||
|
#include "Sprite.h"
|
||||||
#include "TexEffect.h"
|
#include "TexEffect.h"
|
||||||
#include "Unk.h"
|
#include "Unk.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "ee/eeregs.h"
|
||||||
|
|
||||||
void InitGameData() {
|
void InitGameData() {
|
||||||
SetObjFunc();
|
SetObjFunc();
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
+48
-58
@@ -1,68 +1,58 @@
|
|||||||
#ifndef TEX_H
|
#ifndef TEX_H
|
||||||
#define 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 */ {
|
|
||||||
// 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
|
// total size: 0x8
|
||||||
struct /* @anon5 */ {
|
typedef struct /* @anon16 */
|
||||||
|
{
|
||||||
// Members
|
// Members
|
||||||
unsigned long TBP0 : 14; // offset 0x0, size 0x4
|
u_long ATE : 1; // offset 0x0, size 0x4
|
||||||
unsigned long TBW : 6; // offset 0x0, size 0x4
|
u_long ATST : 3; // offset 0x0, size 0x4
|
||||||
unsigned long PSM : 6; // offset 0x0, size 0x4
|
u_long AREF : 8; // offset 0x0, size 0x4
|
||||||
unsigned long TW : 4; // offset 0x0, size 0x4
|
u_long AFAIL : 2; // offset 0x0, size 0x4
|
||||||
unsigned long TH : 4; // offset 0x0, size 0x4
|
u_long DATE : 1; // offset 0x0, size 0x4
|
||||||
unsigned long TCC : 1; // offset 0x0, size 0x4
|
u_long DATM : 1; // offset 0x0, size 0x4
|
||||||
unsigned long TFX : 2; // offset 0x0, size 0x4
|
u_long ZTE : 1; // offset 0x0, size 0x4
|
||||||
unsigned long CBP : 14; // offset 0x0, size 0x4
|
u_long ZTST : 2; // offset 0x0, size 0x4
|
||||||
unsigned long CPSM : 4; // offset 0x0, size 0x4
|
u_long pad19 : 45; // offset 0x0, size 0x4
|
||||||
unsigned long CSM : 1; // offset 0x0, size 0x4
|
} TEST; // offset 0xE0, size 0x8
|
||||||
unsigned long CSA : 5; // offset 0x0, size 0x4
|
|
||||||
unsigned long CLD : 3; // offset 0x0, size 0x4
|
|
||||||
} tex0; // offset 0x10, size 0x8
|
|
||||||
// total size: 0x8
|
// total size: 0x8
|
||||||
struct /* @anon7 */ {
|
typedef struct /* @anon21 */ {
|
||||||
// Members
|
// Members
|
||||||
unsigned long LCM : 1; // offset 0x0, size 0x4
|
u_long TBP0 : 14; // offset 0x0, size 0x4
|
||||||
unsigned long pad01 : 1; // offset 0x0, size 0x4
|
u_long TBW : 6; // offset 0x0, size 0x4
|
||||||
unsigned long MXL : 3; // offset 0x0, size 0x4
|
u_long PSM : 6; // offset 0x0, size 0x4
|
||||||
unsigned long MMAG : 1; // offset 0x0, size 0x4
|
u_long TW : 4; // offset 0x0, size 0x4
|
||||||
unsigned long MMIN : 3; // offset 0x0, size 0x4
|
u_long TH : 4; // offset 0x0, size 0x4
|
||||||
unsigned long MTBA : 1; // offset 0x0, size 0x4
|
u_long TCC : 1; // offset 0x0, size 0x4
|
||||||
unsigned long pad10 : 9; // offset 0x0, size 0x4
|
u_long TFX : 2; // offset 0x0, size 0x4
|
||||||
unsigned long L : 2; // offset 0x0, size 0x4
|
u_long CBP : 14; // offset 0x0, size 0x4
|
||||||
unsigned long pad21 : 11; // offset 0x0, size 0x4
|
u_long CPSM : 4; // offset 0x0, size 0x4
|
||||||
unsigned long K : 12; // offset 0x0, size 0x4
|
u_long CSM : 1; // offset 0x0, size 0x4
|
||||||
unsigned long pad44 : 20; // offset 0x0, size 0x4
|
u_long CSA : 5; // offset 0x0, size 0x4
|
||||||
} tex1; // offset 0x18, size 0x8
|
u_long CLD : 3; // offset 0x0, size 0x4
|
||||||
} * lpTm2; // offset 0x4, size 0x4
|
}
|
||||||
void * lpTexList; // offset 0x8, size 0x4
|
TEX0; // offset 0xD0, size 0x8
|
||||||
signed int unused1[1]; // offset 0xC, size 0x4
|
|
||||||
unsigned char texName[32]; // offset 0x10, size 0x20
|
// total size: 0x8
|
||||||
unsigned char texNameBase[32]; // offset 0x30, size 0x20
|
typedef struct /* @anon25 */
|
||||||
signed int texW; // offset 0x50, size 0x4
|
{
|
||||||
signed int texH; // offset 0x54, size 0x4
|
// Members
|
||||||
signed int texTBW; // offset 0x58, size 0x4
|
u_long LCM : 1; // offset 0x0, size 0x4
|
||||||
signed int texPSM; // offset 0x5C, size 0x4
|
u_long pad01 : 1; // offset 0x0, size 0x4
|
||||||
} * GetTexMngByName(void * lpTexList /* r18 */, char * texname /* r17 */);
|
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
|
#endif // TEX_H
|
||||||
|
|||||||
+395
-1
@@ -12,7 +12,6 @@ typedef struct _TMP_MENU_MNG_ST {
|
|||||||
u_char dmy[12]; // offset 0x2C, size 0xC
|
u_char dmy[12]; // offset 0x2C, size 0xC
|
||||||
} TMP_MENU_MNG_ST;
|
} TMP_MENU_MNG_ST;
|
||||||
|
|
||||||
extern TMP_MENU_MNG_ST g_TmpMenuMng; // size: 0x38, address: 0xA00C70
|
|
||||||
|
|
||||||
extern struct /* @anon0 */ {
|
extern struct /* @anon0 */ {
|
||||||
// Members
|
// Members
|
||||||
@@ -209,4 +208,399 @@ typedef struct /* @anon1 */
|
|||||||
float SclLimit; // offset 0x25C, size 0x4
|
float SclLimit; // offset 0x25C, size 0x4
|
||||||
} PENECTRL;
|
} 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
|
#endif // UNK_H
|
||||||
|
|||||||
Reference in New Issue
Block a user