Files
oot-gc/debug/Fire/simGCN.c
T
2024-02-11 12:06:52 -08:00

1652 lines
38 KiB
C

// Location: 0x0
long float _half$localstatic0$sqrtf__Ff;
// Location: 0x0
long float _three$localstatic1$sqrtf__Ff;
// Location: 0x0
long float _half$localstatic0$sqrt__Ff;
// Location: 0x0
long float _three$localstatic1$sqrt__Ff;
// size: 0x4
struct __anon_0x57A1
{
int nMode; // 0x0
};
// Local to compilation unit
// Location: 0x801355D0
static __anon_0x57A1 *gpCode;
// Location: 0x0
int gDemo;
// Location: 0xB80D80
unsigned char gcoverOpen[10433];
// Location: 0x800DE0E0
unsigned char gnoDisk[7937];
// Location: 0xE80
unsigned char gretryErr[9281];
// Location: 0x60240E80
unsigned char gfatalErr[13025];
// Location: 0x60570E80
unsigned char gwrongDisk[7937];
// Location: 0x800E7680
unsigned char greadingDisk[3137];
// Location: 0x800E82E0
unsigned char gbar[1857];
// Location: 0x408A0E80
unsigned char gyes[1473];
// Location: 0x20900E80
unsigned char gno[1473];
// Location: 0x960E80
unsigned char gmesgOK[833];
// Location: 0x80134CE8
unsigned int gmsg_ld01Size;
// Location: 0x80134CEC
unsigned int gmsg_ld02Size;
// Location: 0x80134CF0
unsigned int gmsg_ld03Size;
// Location: 0x80134CF4
unsigned int gmsg_ld04Size;
// Location: 0x80134CF8
unsigned int gmsg_ld05_1Size;
// Location: 0x80134CFC
unsigned int gmsg_ld05_2Size;
// Location: 0x4D1380
unsigned int gmsg_ld06_1Size;
// Location: 0x44D1380
unsigned int gmsg_ld06_2Size;
// Location: 0x84D1380
unsigned int gmsg_ld06_3Size;
// Location: 0xC4D1380
unsigned int gmsg_ld06_4Size;
// Location: 0x104D1380
unsigned int gmsg_ld07Size;
// Location: 0x144D1380
unsigned int gmsg_gf01Size;
// Location: 0x184D1380
unsigned int gmsg_gf02Size;
// Location: 0x1C4D1380
unsigned int gmsg_gf03Size;
// Location: 0x204D1380
unsigned int gmsg_gf04Size;
// Location: 0x244D1380
unsigned int gmsg_gf05Size;
// Location: 0x284D1380
unsigned int gmsg_gf06Size;
// Location: 0x2C4D1380
unsigned int gmsg_in01Size;
// Location: 0x304D1380
unsigned int gmsg_in02Size;
// Location: 0x344D1380
unsigned int gmsg_in03Size;
// Location: 0x384D1380
unsigned int gmsg_in04Size;
// Location: 0x3C4D1380
unsigned int gmsg_in05Size;
// Location: 0x404D1380
unsigned int gmsg_sv01Size;
// Location: 0x444D1380
unsigned int gmsg_sv01_2Size;
// Location: 0x484D1380
unsigned int gmsg_sv02Size;
// Location: 0x4C4D1380
unsigned int gmsg_sv03Size;
// Location: 0x504D1380
unsigned int gmsg_sv04Size;
// Location: 0x544D1380
unsigned int gmsg_sv05_1Size;
// Location: 0x584D1380
unsigned int gmsg_sv06_1Size;
// Location: 0x5C4D1380
unsigned int gmsg_sv06_2Size;
// Location: 0x604D1380
unsigned int gmsg_sv06_3Size;
// Location: 0x644D1380
unsigned int gmsg_sv06_4Size;
// Location: 0x684D1380
unsigned int gmsg_sv06_5Size;
// Location: 0x6C4D1380
unsigned int gmsg_sv07Size;
// Location: 0x704D1380
unsigned int gmsg_sv08Size;
// Location: 0x744D1380
unsigned int gmsg_sv09Size;
// Location: 0x784D1380
unsigned int gmsg_sv10Size;
// Location: 0x7C4D1380
unsigned int gmsg_sv11Size;
// Location: 0x80134D80
unsigned int gmsg_sv12Size;
// Location: 0x80134D84
unsigned int gmsg_sv_shareSize;
// Location: 0x80134D88
unsigned int gz_bnrSize;
// Location: 0x80134D8C
unsigned int gz_iconSize;
// Location: 0x80134D90
int gHighlightChoice;
// size: 0x4
enum __anon_0x61D7
{
S_M_NONE = 4294967295,
S_M_DISK_COVER_OPEN = 0,
S_M_DISK_WRONG_DISK = 1,
S_M_DISK_READING_DISK = 2,
S_M_DISK_FATAL_ERROR = 3,
S_M_DISK_RETRY_ERROR = 4,
S_M_DISK_NO_DISK = 5,
S_M_DISK_DEFAULT_ERROR = 6,
S_M_CARD_LD01 = 7,
S_M_CARD_LD02 = 8,
S_M_CARD_LD03 = 9,
S_M_CARD_LD04 = 10,
S_M_CARD_LD05_1 = 11,
S_M_CARD_LD05_2 = 12,
S_M_CARD_LD06_1 = 13,
S_M_CARD_LD06_2 = 14,
S_M_CARD_LD06_3 = 15,
S_M_CARD_LD06_4 = 16,
S_M_CARD_LD07 = 17,
S_M_CARD_GF01 = 18,
S_M_CARD_GF02 = 19,
S_M_CARD_GF03 = 20,
S_M_CARD_GF04 = 21,
S_M_CARD_GF05 = 22,
S_M_CARD_GF06 = 23,
S_M_CARD_IN01 = 24,
S_M_CARD_IN02 = 25,
S_M_CARD_IN03 = 26,
S_M_CARD_IN04 = 27,
S_M_CARD_IN05 = 28,
S_M_CARD_SV01 = 29,
S_M_CARD_SV01_2 = 30,
S_M_CARD_SV02 = 31,
S_M_CARD_SV03 = 32,
S_M_CARD_SV04 = 33,
S_M_CARD_SV05_1 = 34,
S_M_CARD_SV06_1 = 35,
S_M_CARD_SV06_2 = 36,
S_M_CARD_SV06_3 = 37,
S_M_CARD_SV06_4 = 38,
S_M_CARD_SV06_5 = 39,
S_M_CARD_SV07 = 40,
S_M_CARD_SV08 = 41,
S_M_CARD_SV09 = 42,
S_M_CARD_SV10 = 43,
S_M_CARD_SV11 = 44,
S_M_CARD_SV12 = 45,
S_M_CARD_SV_SHARE = 46,
S_M_CARD_DEFAULT_ERROR = 47
};
// Location: 0x80134D94
__anon_0x61D7 simulatorMessageCurrent;
// Local to compilation unit
// Location: 0x40450F80
static float gOrthoMtx[4][4];
// Location: 0x801355D4
int gButtonDownToggle;
// Location: 0x60990E80
signed short Vert_s16[12];
// Location: 0x800E9980
signed short VertTitle_s16[12];
// Location: 0x800E99A0
signed short VertYes_s16[12];
// Location: 0x800E99C0
signed short VertNo_s16[12];
// Location: 0x800E99E0
signed short Vert_s16Bar[12];
// Location: 0x9A0E80
unsigned long Colors_u32[3];
// Location: 0x209A0E80
unsigned char TexCoords_u8[8];
// Location: 0x801355D8
int gDVDResetToggle;
// Local to compilation unit
// Location: 0x801355DC
static int toggle$192;
// Local to compilation unit
// Location: 0x800F4580
static unsigned int gContMap[4][20];
// Local to compilation unit
// Location: 0x801355E0
static unsigned int nPrevButton$701;
// Local to compilation unit
// Location: 0x801355E4
static unsigned int nCurrButton$702;
// Local to compilation unit
// Location: 0x801355E8
static int gbReset;
// Local to compilation unit
// Location: 0x801355EC
static unsigned int gnTickReset;
// Location: 0x80134D98
int gResetBeginFlag;
// Location: 0x801355F0
int gPreviousIPLSetting;
// Location: 0x801355F4
int gPreviousForceMenuSetting;
// Location: 0x801355F8
int gPreviousAllowResetSetting;
// Local to compilation unit
// Location: 0x800F46C0
static char *gaszArgument[8];
// Location: 0x800F46E0
char gpErrorMessageBuffer[20480];
// Location: 0x801355FC
int gbDisplayedError;
// size: 0x10
struct __anon_0x6B86
{
int nSize; // 0x0
int nOffsetRAM; // 0x4
int nOffsetROM; // 0x8
int (*pCallback)(); // 0xC
};
// size: 0x4
enum __anon_0x6C37
{
SRT_NONE = 4294967295,
SRT_MARIO = 0,
SRT_WAVERACE = 1,
SRT_MARIOKART = 2,
SRT_STARFOX = 3,
SRT_ZELDA1 = 4,
SRT_ZELDA2 = 5,
SRT_1080 = 6,
SRT_PANEL = 7,
SRT_MARIOPARTY1 = 8,
SRT_MARIOPARTY2 = 9,
SRT_MARIOPARTY3 = 10,
SRT_DRMARIO = 11,
SRT_UNKNOWN = 12
};
// size: 0x4
enum __anon_0x6D66
{
SOT_NONE = 4294967295,
SOT_CPU = 0,
SOT_PIF = 1,
SOT_RAM = 2,
SOT_ROM = 3,
SOT_RSP = 4,
SOT_RDP = 5,
SOT_MIPS = 6,
SOT_DISK = 7,
SOT_FLASH = 8,
SOT_SRAM = 9,
SOT_AUDIO = 10,
SOT_VIDEO = 11,
SOT_SERIAL = 12,
SOT_LIBRARY = 13,
SOT_PERIPHERAL = 14,
SOT_RDB = 15,
SOT_COUNT = 16
};
// size: 0x88
struct __anon_0x6EA4
{
void *pFrame; // 0x0
void *pSound; // 0x4
int bException; // 0x8
__anon_0xA6E7 eMode; // 0xC
__anon_0x6B86 romCopy; // 0x10
__anon_0x6C37 eTypeROM; // 0x20
void *apObject[16]; // 0x24
unsigned long long nAddressBreak; // 0x68
__anon_0x6D66 storageDevice; // 0x70
unsigned char anException[16]; // 0x74
int bJapaneseVersion; // 0x84
};
// Location: 0x561380
__anon_0x6EA4 *gpSystem;
// size: 0x4
enum __anon_0x7115
{
SPM_NONE = 4294967295,
SPM_PLAY = 0,
SPM_RAMPQUEUED = 1,
SPM_RAMPPLAYED = 2
};
// size: 0xD8
struct __anon_0x7181
{
void *pSrcData; // 0x0
int nFrequency; // 0x4
int nDacrate; // 0x8
int nSndLen; // 0xC
void *apBuffer[16]; // 0x10
int anSizeBuffer[16]; // 0x50
int nCountBeep; // 0x90
int anSizeBeep[3]; // 0x94
void *apDataBeep[3]; // 0xA0
int iBufferPlay; // 0xAC
int iBufferMake; // 0xB0
__anon_0x7115 eMode; // 0xB4
void *pBufferZero; // 0xB8
void *pBufferHold; // 0xBC
void *pBufferRampUp; // 0xC0
void *pBufferRampDown; // 0xC4
int nSizePlay; // 0xC8
int nSizeZero; // 0xCC
int nSizeHold; // 0xD0
int nSizeRamp; // 0xD4
};
// Location: 0x4561380
__anon_0x7181 *gpSound;
// size: 0x10
struct __anon_0x7511
{
float rX; // 0x0
float rY; // 0x4
float rSizeX; // 0x8
float rSizeY; // 0xC
};
// size: 0x14
struct __anon_0x75AB
{
int nSize; // 0x0
int nWidth; // 0x4
int nFormat; // 0x8
void *pData; // 0xC
int nAddress; // 0x10
};
// size: 0xC
struct __anon_0x76EC
{
float x; // 0x0
float y; // 0x4
float z; // 0x8
};
// size: 0x3C
struct __anon_0x775C
{
int bTransformed; // 0x0
__anon_0x76EC rVecOrigTowards; // 0x4
float rColorR; // 0x10
float rColorG; // 0x14
float rColorB; // 0x18
float rVectorX; // 0x1C
float rVectorY; // 0x20
float rVectorZ; // 0x24
float kc; // 0x28
float kl; // 0x2C
float kq; // 0x30
signed short coordX; // 0x34
signed short coordY; // 0x36
signed short coordZ; // 0x38
};
// size: 0x34
struct __anon_0x798C
{
int bTransformed; // 0x0
__anon_0x76EC rS; // 0x4
__anon_0x76EC rT; // 0x10
__anon_0x76EC rSRaw; // 0x1C
__anon_0x76EC rTRaw; // 0x28
};
// size: 0x1C
struct __anon_0x7A75
{
float rSum; // 0x0
float rS; // 0x4
float rT; // 0x8
__anon_0x76EC vec; // 0xC
unsigned char anColor[4]; // 0x18
};
// size: 0x1000
union __anon_0x7BD4
{
unsigned char u8[4096]; // 0x0
unsigned short u16[2048]; // 0x0
unsigned int u32[1024]; // 0x0
unsigned long long u64[512]; // 0x0
};
// size: 0x1000
struct __anon_0x7C71
{
__anon_0x7BD4 data; // 0x0
};
// size: 0x4
enum _GXTexFmt
{
GX_TF_I4 = 0,
GX_TF_I8 = 1,
GX_TF_IA4 = 2,
GX_TF_IA8 = 3,
GX_TF_RGB565 = 4,
GX_TF_RGB5A3 = 5,
GX_TF_RGBA8 = 6,
GX_TF_CMPR = 14,
GX_CTF_R4 = 32,
GX_CTF_RA4 = 34,
GX_CTF_RA8 = 35,
GX_CTF_YUVA8 = 38,
GX_CTF_A8 = 39,
GX_CTF_R8 = 40,
GX_CTF_G8 = 41,
GX_CTF_B8 = 42,
GX_CTF_RG8 = 43,
GX_CTF_GB8 = 44,
GX_TF_Z8 = 17,
GX_TF_Z16 = 19,
GX_TF_Z24X8 = 22,
GX_CTF_Z4 = 48,
GX_CTF_Z8M = 57,
GX_CTF_Z8L = 58,
GX_CTF_Z16L = 60,
GX_TF_A8 = 39
};
// size: 0xC
struct _GXTlutObj
{
unsigned long dummy[3]; // 0x0
};
// size: 0x4
enum _GXTexWrapMode
{
GX_CLAMP = 0,
GX_REPEAT = 1,
GX_MIRROR = 2,
GX_MAX_TEXWRAPMODE = 3
};
// size: 0x6C
struct _FRAME_TEXTURE
{
int nMode; // 0x0
int iPackPixel; // 0x4
int iPackColor; // 0x8
int nFrameLast; // 0xC
signed short nSizeX; // 0x10
signed short nSizeY; // 0x12
unsigned int nAddress; // 0x14
unsigned int nCodePixel; // 0x18
unsigned int nCodeColor; // 0x1C
_FRAME_TEXTURE *pTextureNext; // 0x20
unsigned int nData0; // 0x24
unsigned int nData1; // 0x28
unsigned int nData2; // 0x2C
unsigned int nData3; // 0x30
_GXTexFmt eFormat; // 0x34
_GXTlutObj objectTLUT; // 0x38
_GXTexObj objectTexture; // 0x44
_GXTexWrapMode eWrapS; // 0x64
_GXTexWrapMode eWrapT; // 0x68
};
// size: 0x2C
struct __anon_0x82D9
{
int nSize; // 0x0
int nTMEM; // 0x4
int iTLUT; // 0x8
int nSizeX; // 0xC
int nFormat; // 0x10
signed short nMaskS; // 0x14
signed short nMaskT; // 0x16
signed short nModeS; // 0x18
signed short nModeT; // 0x1A
signed short nShiftS; // 0x1C
signed short nShiftT; // 0x1E
signed short nX0; // 0x20
signed short nY0; // 0x22
signed short nX1; // 0x24
signed short nY1; // 0x26
unsigned int nCodePixel; // 0x28
};
// size: 0x4
enum __anon_0x85BB
{
FMP_NONE = 4294967295,
FMP_PERSPECTIVE = 0,
FMP_ORTHOGRAPHIC = 1
};
// size: 0x24
struct __anon_0x863F
{
int nCount; // 0x0
float rScale; // 0x4
float rAspect; // 0x8
float rFieldOfViewY; // 0xC
float rClipNear; // 0x10
float rClipFar; // 0x14
unsigned int nAddressFloat; // 0x18
unsigned int nAddressFixed; // 0x1C
__anon_0x85BB eProjection; // 0x20
};
// size: 0x3D150
struct __anon_0x87F6
{
unsigned int anCIMGAddresses[8]; // 0x0
unsigned short nNumCIMGAddresses; // 0x20
int bBlurOn; // 0x24
int bHackPause; // 0x28
int nHackCount; // 0x2C
int nFrameCounter; // 0x30
int bPauseThisFrame; // 0x34
int bCameFromBomberNotes; // 0x38
int bInBomberNotes; // 0x3C
int bShrinking; // 0x40
int bSnapShot; // 0x44
int bUsingLens; // 0x48
unsigned char cBlurAlpha; // 0x4C
int bBlurredThisFrame; // 0x50
int nFrameCIMGCalls; // 0x54
int bModifyZBuffer; // 0x58
int bOverrideDepth; // 0x5C
int nZBufferSets; // 0x60
int nLastFrameZSets; // 0x64
int bPauseBGDrawn; // 0x68
int bFrameOn; // 0x6C
int bBackBufferDrawn; // 0x70
int bGrabbedFrame; // 0x74
unsigned long long *pnGBI; // 0x78
unsigned int nFlag; // 0x7C
float rScaleX; // 0x80
float rScaleY; // 0x84
unsigned int nCountFrames; // 0x88
unsigned int nMode; // 0x8C
unsigned int aMode[10]; // 0x90
__anon_0x7511 viewport; // 0xB8
__anon_0x75AB aBuffer[4]; // 0xC8
unsigned int nOffsetDepth0; // 0x118
unsigned int nOffsetDepth1; // 0x11C
int nWidthLine; // 0x120
float rDepth; // 0x124
float rDelta; // 0x128
int (*aDraw[4])(void */* unknown0 */, void */* unknown1 */); // 0x12C
int nCountLight; // 0x13C
__anon_0x775C aLight[8]; // 0x140
__anon_0x798C lookAt; // 0x320
int nCountVertex; // 0x354
__anon_0x7A75 aVertex[80]; // 0x358
__anon_0x7C71 TMEM; // 0xC18
void *aPixelData; // 0x1C18
void *aColorData; // 0x1C1C
int nBlocksPixel; // 0x1C20
int nBlocksMaxPixel; // 0x1C24
int nBlocksColor; // 0x1C28
int nBlocksMaxColor; // 0x1C2C
int nBlocksTexture; // 0x1C30
int nBlocksMaxTexture; // 0x1C34
unsigned int anPackPixel[48]; // 0x1C38
unsigned int anPackColor[320]; // 0x1CF8
unsigned int nAddressLoad; // 0x21F8
unsigned int nCodePixel; // 0x21FC
unsigned int nTlutCode[16]; // 0x2200
_FRAME_TEXTURE aTexture[2048]; // 0x2240
unsigned int anTextureUsed[64]; // 0x38240
_FRAME_TEXTURE *apTextureCached[4096]; // 0x38340
int iTileLoad; // 0x3C340
unsigned int n2dLoadTexType; // 0x3C344
int nLastX0; // 0x3C348
int nLastY0; // 0x3C34C
int nLastX1; // 0x3C350
int nLastY1; // 0x3C354
__anon_0x82D9 aTile[8]; // 0x3C358
int anSizeX[2]; // 0x3C4B8
int anSizeY[2]; // 0x3C4C0
int iHintMatrix; // 0x3C4C8
int iMatrixModel; // 0x3C4CC
int iHintProjection; // 0x3C4D0
float matrixView[4][4]; // 0x3C4D4
int iHintLast; // 0x3C514
int iHintHack; // 0x3C518
__anon_0x85BB eTypeProjection; // 0x3C51C
float aMatrixModel[10][4][4]; // 0x3C520
float matrixProjection[4][4]; // 0x3C7A0
float matrixProjectionExtra[4][4]; // 0x3C7E0
__anon_0x863F aMatrixHint[64]; // 0x3C820
unsigned char primLODmin; // 0x3D120
unsigned char primLODfrac; // 0x3D121
unsigned char lastTile; // 0x3D122
unsigned char iTileDrawn; // 0x3D123
_GXColor aColor[5]; // 0x3D124
unsigned int nModeVtx; // 0x3D138
unsigned short *nTempBuffer; // 0x3D13C
unsigned short *nCopyBuffer; // 0x3D140
unsigned int *nLensBuffer; // 0x3D144
unsigned short *nCameraBuffer; // 0x3D148
};
// Location: 0x8561380
__anon_0x87F6 *gpFrame;
// Location: 0x80135AA8
unsigned char DemoStatEnable;
// Location: 0x80135A8C
void *DemoCurrentBuffer;
// Location: 0x80135A94
void *DemoFrameBuffer1;
// Location: 0x80135A90
void *DemoFrameBuffer2;
// size: 0x18
struct __anon_0x9737
{
int configuration; // 0x0
int size; // 0x4
int offset; // 0x8
char *buffer; // 0xC
int *writtenBlocks; // 0x10
int writtenConfig; // 0x14
};
// size: 0x28
struct OSCalendarTime
{
int sec; // 0x0
int min; // 0x4
int hour; // 0x8
int mday; // 0xC
int mon; // 0x10
int year; // 0x14
int wday; // 0x18
int yday; // 0x1C
int msec; // 0x20
int usec; // 0x24
};
// size: 0x14
struct CARDFileInfo
{
long chan; // 0x0
long fileNo; // 0x4
long offset; // 0x8
long length; // 0xC
unsigned short iBlock; // 0x10
unsigned short __padding; // 0x12
};
// size: 0x35C
struct __anon_0x9B40
{
int currentGame; // 0x0
int fileSize; // 0x4
char name[33]; // 0x8
int numberOfGames; // 0x2C
__anon_0x9737 game; // 0x30
int changedDate; // 0x48
int changedChecksum; // 0x4C
int gameSize[16]; // 0x50
int gameOffset[16]; // 0x90
int gameConfigIndex[16]; // 0xD0
char gameName[16][33]; // 0x110
OSCalendarTime time; // 0x320
CARDFileInfo fileInfo; // 0x348
};
// size: 0x4
enum __anon_0x9D56
{
MC_E_NONE = 0,
MC_E_BUSY = 1,
MC_E_WRONGDEVICE = 2,
MC_E_NOCARD = 3,
MC_E_NOFILE = 4,
MC_E_IOERROR = 5,
MC_E_BROKEN = 6,
MC_E_EXIST = 7,
MC_E_NOENT = 8,
MC_E_INSSPACE = 9,
MC_E_NOPERM = 10,
MC_E_LIMIT = 11,
MC_E_NAMETOOLONG = 12,
MC_E_ENCODING = 13,
MC_E_CANCELED = 14,
MC_E_FATAL = 15,
MC_E_SECTOR_SIZE_INVALID = 16,
MC_E_GAME_NOT_FOUND = 17,
MC_E_CHECKSUM = 18,
MC_E_NO_FREE_SPACE = 19,
MC_E_NO_FREE_FILES = 20,
MC_E_FILE_EXISTS = 21,
MC_E_GAME_EXISTS = 22,
MC_E_TIME_WRONG = 23,
MC_E_WRITE_CORRUPTED = 24,
MC_E_UNKNOWN = 25
};
// size: 0x7B8
struct _MCARD
{
__anon_0x9B40 file; // 0x0
__anon_0x9D56 error; // 0x35C
int slot; // 0x360
int (*pPollFunction)(); // 0x364
int pollPrevBytes; // 0x368
int pollSize; // 0x36C
char pollMessage[256]; // 0x370
int saveToggle; // 0x470
char *writeBuffer; // 0x474
char *readBuffer; // 0x478
int writeToggle; // 0x47C
int soundToggle; // 0x480
int writeStatus; // 0x484
int writeIndex; // 0x488
int accessType; // 0x48C
int gameIsLoaded; // 0x490
char saveFileName[256]; // 0x494
char saveComment[256]; // 0x594
char *saveIcon; // 0x694
char *saveBanner; // 0x698
char saveGameName[256]; // 0x69C
int saveFileSize; // 0x79C
int saveGameSize; // 0x7A0
int bufferCreated; // 0x7A4
int cardSize; // 0x7A8
int wait; // 0x7AC
int isBroken; // 0x7B0
int saveConfiguration; // 0x7B4
};
// Location: 0x801079B0
_MCARD mCard;
// size: 0x10
struct _XL_OBJECTTYPE
{
char *szName; // 0x0
int nSizeObject; // 0x4
_XL_OBJECTTYPE *pClassBase; // 0x8
int (*pfEvent)(void */* unknown0 */, int /* unknown1 */, void */* unknown2 */); // 0xC
};
// Location: 0x800EA7C8
_XL_OBJECTTYPE gClassCode;
// Location: 0x48A80E80
_XL_OBJECTTYPE gClassFrame;
// Location: 0x800EA7D8
_XL_OBJECTTYPE gClassSound;
// Location: 0x10B30E80
_XL_OBJECTTYPE gClassSystem;
// size: 0x4
struct _GXColor
{
unsigned char r; // 0x0
unsigned char g; // 0x1
unsigned char b; // 0x2
unsigned char a; // 0x3
};
// size: 0x4
enum __anon_0xA6E7
{
SM_NONE = 4294967295,
SM_RUNNING = 0,
SM_STOPPED = 1
};
int xlMain()
{
_GXColor color;
__anon_0xA6E7 eMode;
int nSize0;
int nSize1;
int iName;
char *szNameROM;
char acNameROM[32];
int rumbleYes;
// References: gpCode (0x801355D0)
// References: gpFrame (0x8561380)
// References: gpSound (0x4561380)
// References: gpSystem (0x561380)
// References: gClassSystem (0x10B30E80)
// References: gClassSound (0x800EA7D8)
// References: gClassFrame (0x48A80E80)
// References: gClassCode (0x800EA7C8)
// References: gaszArgument (0x800F46C0)
// References: mCard (0x801079B0)
// References: gnTickReset (0x801355EC)
// References: gbReset (0x801355E8)
// References: gmesgOK (0x960E80)
// References: gno (0x20900E80)
// References: gyes (0x408A0E80)
// References: gbar (0x800E82E0)
// References: greadingDisk (0x800E7680)
// References: gwrongDisk (0x60570E80)
// References: gfatalErr (0x60240E80)
// References: gretryErr (0xE80)
// References: gnoDisk (0x800DE0E0)
// References: gcoverOpen (0xB80D80)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoStatEnable (0x80135AA8)
// References: gResetBeginFlag (0x80134D98)
// References: gButtonDownToggle (0x801355D4)
// References: gbDisplayedError (0x801355FC)
// References: gDVDResetToggle (0x801355D8)
}
// size: 0x4
enum __anon_0xA982
{
SAT_NONE = 4294967295,
SAT_NAME = 0,
SAT_PROGRESSIVE = 1,
SAT_VIBRATION = 2,
SAT_CONTROLLER = 3,
SAT_XTRA = 4,
SAT_MEMORYCARD = 5,
SAT_MOVIE = 6,
SAT_RESET = 7,
SAT_COUNT_ = 8
};
int simulatorGetArgument(__anon_0xA982 eType, char **pszArgument)
{
// References: gaszArgument (0x800F46C0)
}
// Local to compilation unit
static int simulatorParseArguments()
{
int iArgument;
char *szText;
char *szValue;
// References: gaszArgument (0x800F46C0)
}
// size: 0xC
struct PADStatus
{
unsigned short button; // 0x0
signed char stickX; // 0x2
signed char stickY; // 0x3
signed char substickX; // 0x4
signed char substickY; // 0x5
unsigned char triggerLeft; // 0x6
unsigned char triggerRight; // 0x7
unsigned char analogA; // 0x8
unsigned char analogB; // 0x9
signed char err; // 0xA
};
// size: 0x1E
struct __anon_0xAD2F
{
PADStatus pst; // 0x0
unsigned short buttonDown; // 0xC
unsigned short buttonUp; // 0xE
unsigned short dirs; // 0x10
unsigned short dirsNew; // 0x12
unsigned short dirsReleased; // 0x14
signed short stickDeltaX; // 0x16
signed short stickDeltaY; // 0x18
signed short substickDeltaX; // 0x1A
signed short substickDeltaY; // 0x1C
};
// Location: 0x58271380
__anon_0xAD2F DemoPad[4];
int editSoundMenu()
{
long *menuValues[3];
long menuMinMax[3][2];
char *menuNames[3];
char *menuHelp[3];
char str[32];
long curItem;
long bDone;
long i;
unsigned long heldButtons;
unsigned long buttons;
unsigned long downButtons;
unsigned char holdCount[16];
_GXColor color[3];
long step;
unsigned long bit;
_GXColor *colorP;
// References: DemoPad (0x58271380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
}
void MyGXInit()
{
long i;
float identity_mtx[3][4];
}
int simulatorMenu();
int simulatorPickROM();
int simulatorDrawOKScreen(char *line1, char *line2, char *line3)
{
int nCount;
// References: gButtonDownToggle (0x801355D4)
// References: DemoPad (0x58271380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
}
int simulatorDrawYesNoScreen(char *line1, char *line2, char *line3, int *yes)
{
int nCount;
// References: DemoPad (0x58271380)
// References: gButtonDownToggle (0x801355D4)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
}
// Local to compilation unit
static int simulatorDrawCursor(int nX, int nY)
{
_GXColor color;
int nTick;
}
int simulatorMCardPollDrawFormatBar()
{
float rate;
int nBytes;
// References: gpErrorMessageBuffer (0x800F46E0)
// References: mCard (0x801079B0)
}
int simulatorMCardPollDrawBar()
{
float rate;
int nBytes;
// References: gpErrorMessageBuffer (0x800F46E0)
// References: mCard (0x801079B0)
}
int simulatorDrawMCardText()
{
// References: gpErrorMessageBuffer (0x800F46E0)
}
int simulatorDrawText(int nX, int nY, char *szText, int nColorR, int nColorG, int nColorB)
{
_GXColor color;
}
int simulatorTestReset(int IPL, int forceMenu, int allowReset, int usePreviousSettings)
{
unsigned int bFlag;
unsigned int nTick;
int prevIPLSetting;
int prevForceMenuSetting;
int prevAllowResetSetting;
// References: gnTickReset (0x801355EC)
// References: gbReset (0x801355E8)
// References: DemoPad (0x58271380)
// References: gResetBeginFlag (0x80134D98)
// References: gPreviousAllowResetSetting (0x801355F8)
// References: gPreviousForceMenuSetting (0x801355F4)
// References: gPreviousIPLSetting (0x801355F0)
}
void sScreenshotFree();
void *sScreenshotAlloc();
int simulatorRumbleStop(int channel);
int simulatorRumbleStart(int channel);
int simulatorWriteFLASH(unsigned int address, unsigned char *data, int size)
{
// References: mCard (0x801079B0)
}
int simulatorReadFLASH(unsigned int address, unsigned char *data, int size)
{
// References: mCard (0x801079B0)
}
int simulatorWriteSRAM(unsigned int address, unsigned char *data, int size)
{
// References: mCard (0x801079B0)
}
int simulatorReadSRAM(unsigned int address, unsigned char *data, int size)
{
// References: mCard (0x801079B0)
}
int simulatorWriteEEPROM(unsigned char address, unsigned char *data)
{
int size;
// References: mCard (0x801079B0)
// References: gpSystem (0x561380)
}
int simulatorReadEEPROM(unsigned char address, unsigned char *data)
{
int size;
// References: mCard (0x801079B0)
// References: gpSystem (0x561380)
}
// size: 0x4
enum __anon_0xC003
{
CT_NONE = 0,
CT_CONTROLLER = 1,
CT_CONTROLLER_W_PAK = 2,
CT_CONTROLLER_W_RPAK = 3,
CT_MOUSE = 4,
CT_VOICE = 5,
CT_4K = 6,
CT_16K = 7,
CT_COUNT = 8
};
int simulatorWritePak(int channel, unsigned short address, unsigned char *data)
{
__anon_0xC003 type;
// References: gpSystem (0x561380)
}
int simulatorReadPak(int channel, unsigned short address, unsigned char *data)
{
__anon_0xC003 type;
// References: gpSystem (0x561380)
}
int simulatorDetectController(int channel)
{
PADStatus status[4];
}
int simulatorResetController();
int simulatorShowLoad();
void DEMOInitWindow(int nSizeX, int nSizeY, int nColorR, int nColorG, int nColorB)
{
_GXColor color;
}
int simulatorReadController(int channel, unsigned int *anData)
{
float subStickTest;
int stickX;
int stickY;
int subStickX;
int subStickY;
int nDirButton;
// References: gContMap (0x800F4580)
// References: nCurrButton$702 (0x801355E4)
// References: DemoPad (0x58271380)
// References: gButtonDownToggle (0x801355D4)
// References: nPrevButton$701 (0x801355E0)
}
// size: 0x174
struct __anon_0xC654
{
char rom[36]; // 0x0
int controllerConfiguration[4][20]; // 0x24
int rumbleConfiguration; // 0x164
int storageDevice; // 0x168
int normalControllerConfig; // 0x16C
int currentControllerConfig; // 0x170
};
// Location: 0x0
__anon_0xC654 gSystemRomConfigurationList[1];
int simulatorChangeControllerConfig(int channel, int nCurrButton)
{
// References: gContMap (0x800F4580)
// References: gSystemRomConfigurationList (0x0)
// References: gpSystem (0x561380)
// References: mCard (0x801079B0)
}
int simulatorCopyControllerMap(unsigned int *mapDataOutput, unsigned int *mapDataInput)
{
int i;
}
int simulatorSetControllerMap(unsigned int *mapData, int channel)
{
int i;
// References: gContMap (0x800F4580)
}
// size: 0x4
enum __anon_0xC9F9
{
SV_NONE = 0,
SV_CODE = 1,
SV_FRAME = 2
};
int simulatorSetView(__anon_0xC9F9 eView)
{
// References: gpCode (0x801355D0)
// References: gpFrame (0x8561380)
}
__anon_0xC9F9 simulatorGetView()
{
// References: gpCode (0x801355D0)
// References: gpFrame (0x8561380)
}
int simulatorShowParts();
int simulatorAddXtraTime();
int simulatorSetPart();
// size: 0x4
enum __anon_0xCB82
{
VI_TVMODE_NTSC_INT = 0,
VI_TVMODE_NTSC_DS = 1,
VI_TVMODE_NTSC_PROG = 2,
VI_TVMODE_PAL_INT = 4,
VI_TVMODE_PAL_DS = 5,
VI_TVMODE_EURGB60_INT = 20,
VI_TVMODE_EURGB60_DS = 21,
VI_TVMODE_MPAL_INT = 8,
VI_TVMODE_MPAL_DS = 9,
VI_TVMODE_DEBUG_INT = 12,
VI_TVMODE_DEBUG_PAL_INT = 16,
VI_TVMODE_DEBUG_PAL_DS = 17
};
// size: 0x4
enum __anon_0xCCCC
{
VI_XFBMODE_SF = 0,
VI_XFBMODE_DF = 1
};
// size: 0x3C
struct _GXRenderModeObj
{
__anon_0xCB82 viTVmode; // 0x0
unsigned short fbWidth; // 0x4
unsigned short efbHeight; // 0x6
unsigned short xfbHeight; // 0x8
unsigned short viXOrigin; // 0xA
unsigned short viYOrigin; // 0xC
unsigned short viWidth; // 0xE
unsigned short viHeight; // 0x10
__anon_0xCCCC xFBmode; // 0x14
unsigned char field_rendering; // 0x18
unsigned char aa; // 0x19
unsigned char sample_pattern[12][2]; // 0x1A
unsigned char vfilter[7]; // 0x32
};
// Location: 0x8013559C
_GXRenderModeObj *rmode;
// Location: 0x44561380
int gMovieErrorToggle;
void simulatorResetAndPlayMovie()
{
_GXColor color;
_GXRenderModeObj *simrmode;
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
// References: gMovieErrorToggle (0x44561380)
// References: rmode (0x8013559C)
// References: mCard (0x801079B0)
}
void simulatorReset(int IPL, int forceMenu)
{
// References: mCard (0x801079B0)
}
// size: 0x20
struct DVDDiskID
{
char gameName[4]; // 0x0
char company[2]; // 0x4
unsigned char diskNumber; // 0x6
unsigned char gameVersion; // 0x7
unsigned char streaming; // 0x8
unsigned char streamingBufSize; // 0x9
unsigned char padding[22]; // 0xA
};
// size: 0x30
struct DVDCommandBlock
{
DVDCommandBlock *next; // 0x0
DVDCommandBlock *prev; // 0x4
unsigned long command; // 0x8
long state; // 0xC
unsigned long offset; // 0x10
unsigned long length; // 0x14
void *addr; // 0x18
unsigned long currTransferSize; // 0x1C
unsigned long transferredSize; // 0x20
DVDDiskID *id; // 0x24
void (*callback)(long /* unknown0 */, DVDCommandBlock */* unknown1 */); // 0x28
void *userData; // 0x2C
};
// size: 0x3C
struct DVDFileInfo
{
DVDCommandBlock cb; // 0x0
unsigned long startAddr; // 0x30
unsigned long length; // 0x34
void (*callback)(long /* unknown0 */, DVDFileInfo */* unknown1 */); // 0x38
};
int simulatorDrawErrorMessageWait(__anon_0x61D7 simulatorErrorMessage)
{
DVDFileInfo fileInfo;
// References: gButtonDownToggle (0x801355D4)
// References: gpSystem (0x561380)
// References: DemoPad (0x58271380)
// References: gmesgOK (0x960E80)
// References: gpErrorMessageBuffer (0x800F46E0)
// References: gyes (0x408A0E80)
// References: gmsg_sv_shareSize (0x80134D84)
// References: simulatorMessageCurrent (0x80134D94)
// References: gmsg_sv12Size (0x80134D80)
// References: gmsg_sv11Size (0x7C4D1380)
// References: gmsg_sv10Size (0x784D1380)
// References: gmsg_sv07Size (0x6C4D1380)
// References: gmsg_sv06_3Size (0x604D1380)
// References: gmsg_sv06_2Size (0x5C4D1380)
// References: gmsg_sv06_1Size (0x584D1380)
// References: gmsg_sv05_1Size (0x544D1380)
// References: gmsg_sv04Size (0x504D1380)
// References: gmsg_sv03Size (0x4C4D1380)
// References: gmsg_sv02Size (0x484D1380)
// References: gmsg_sv01_2Size (0x444D1380)
// References: gmsg_sv01Size (0x404D1380)
// References: gmsg_in05Size (0x3C4D1380)
// References: gmsg_in04Size (0x384D1380)
// References: gmsg_in03Size (0x344D1380)
// References: gmsg_gf06Size (0x284D1380)
// References: gmsg_gf05Size (0x244D1380)
// References: gmsg_gf04Size (0x204D1380)
// References: gmsg_gf03Size (0x1C4D1380)
// References: gmsg_ld06_3Size (0x84D1380)
// References: gmsg_ld06_2Size (0x44D1380)
// References: gmsg_ld06_1Size (0x4D1380)
// References: gmsg_ld05_1Size (0x80134CF8)
// References: gmsg_ld04Size (0x80134CF4)
// References: gmsg_ld03Size (0x80134CF0)
// References: gmsg_ld02Size (0x80134CEC)
// References: gmsg_ld01Size (0x80134CE8)
}
// size: 0x4
enum _GXTexFilter
{
GX_NEAR = 0,
GX_LINEAR = 1,
GX_NEAR_MIP_NEAR = 2,
GX_LIN_MIP_NEAR = 3,
GX_NEAR_MIP_LIN = 4,
GX_LIN_MIP_LIN = 5
};
// size: 0x24
struct __anon_0xD7D1
{
unsigned short height; // 0x0
unsigned short width; // 0x2
unsigned long format; // 0x4
char *data; // 0x8
_GXTexWrapMode wrapS; // 0xC
_GXTexWrapMode wrapT; // 0x10
_GXTexFilter minFilter; // 0x14
_GXTexFilter magFilter; // 0x18
float LODBias; // 0x1C
unsigned char edgeLODEnable; // 0x20
unsigned char minLOD; // 0x21
unsigned char maxLOD; // 0x22
unsigned char unpacked; // 0x23
};
// size: 0x4
enum _GXTlutFmt
{
GX_TL_IA8 = 0,
GX_TL_RGB565 = 1,
GX_TL_RGB5A3 = 2,
GX_MAX_TLUTFMT = 3
};
// size: 0xC
struct __anon_0xDA2C
{
unsigned short numEntries; // 0x0
unsigned char unpacked; // 0x2
unsigned char pad8; // 0x3
_GXTlutFmt format; // 0x4
char *data; // 0x8
};
// size: 0x8
struct __anon_0xDAF8
{
__anon_0xD7D1 *textureHeader; // 0x0
__anon_0xDA2C *CLUTHeader; // 0x4
};
// size: 0xC
struct __anon_0xDB69
{
unsigned long versionNumber; // 0x0
unsigned long numDescriptors; // 0x4
__anon_0xDAF8 *descriptorArray; // 0x8
};
int simulatorDrawOKMessageLoop(__anon_0xDB69 *simulatorMessage)
{
// References: gButtonDownToggle (0x801355D4)
// References: gpSystem (0x561380)
// References: DemoPad (0x58271380)
// References: gmesgOK (0x960E80)
// References: gyes (0x408A0E80)
}
int simulatorDrawYesNoMessage(__anon_0x61D7 simulatorMessage, int *yes)
{
DVDFileInfo fileInfo;
// References: gpErrorMessageBuffer (0x800F46E0)
// References: gmsg_sv08Size (0x704D1380)
// References: simulatorMessageCurrent (0x80134D94)
// References: gmsg_sv06_5Size (0x684D1380)
// References: gmsg_sv06_4Size (0x644D1380)
// References: gmsg_in01Size (0x2C4D1380)
// References: gmsg_gf01Size (0x144D1380)
// References: gmsg_ld07Size (0x104D1380)
// References: gmsg_ld06_4Size (0xC4D1380)
// References: gmsg_ld05_2Size (0x80134CFC)
}
int simulatorDrawYesNoMessageLoop(__anon_0xDB69 *simulatorQuestion, int *yes)
{
// References: gpSystem (0x561380)
// References: DemoPad (0x58271380)
// References: gButtonDownToggle (0x801355D4)
// References: gno (0x20900E80)
// References: gyes (0x408A0E80)
// References: gHighlightChoice (0x80134D90)
}
int simulatorDrawErrorMessageFromDVD(int drawBar, int percent)
{
// References: gpErrorMessageBuffer (0x800F46E0)
}
int simulatorPrepareMessage(__anon_0x61D7 simulatorErrorMessage)
{
DVDFileInfo fileInfo;
// References: gpErrorMessageBuffer (0x800F46E0)
// References: gmsg_gf02Size (0x184D1380)
// References: simulatorMessageCurrent (0x80134D94)
// References: gmsg_sv09Size (0x744D1380)
// References: gmsg_in02Size (0x304D1380)
}
int simulatorDrawErrorMessage(__anon_0x61D7 simulatorErrorMessage, int drawBar, int percent)
{
// References: gbDisplayedError (0x801355FC)
// References: gfatalErr (0x60240E80)
// References: gnoDisk (0x800DE0E0)
// References: gretryErr (0xE80)
// References: greadingDisk (0x800E7680)
// References: gwrongDisk (0x60570E80)
// References: gcoverOpen (0xB80D80)
}
// size: 0x20
struct _GXTexObj
{
unsigned long dummy[8]; // 0x0
};
int simulatorDrawOKImage(__anon_0xDB69 *tplMessage, int nX0Message, int nY0Message, __anon_0xDB69 *tplOK, int nX0OK, int nY0OK)
{
_GXTexObj texObj;
_GXColor color0;
_GXColor color1;
float identity_mtx[3][4];
float g2DviewMtx[3][4];
// References: gpFrame (0x8561380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
// References: TexCoords_u8 (0x209A0E80)
// References: Colors_u32 (0x9A0E80)
// References: VertYes_s16 (0x800E99A0)
// References: Vert_s16 (0x60990E80)
// References: gOrthoMtx (0x40450F80)
}
int simulatorDrawYesNoImage(__anon_0xDB69 *tplMessage, int nX0Message, int nY0Message, __anon_0xDB69 *tplYes, int nX0Yes, int nY0Yes, __anon_0xDB69 *tplNo, int nX0No, int nY0No)
{
_GXTexObj texObj;
_GXColor color0;
_GXColor color1;
float identity_mtx[3][4];
float g2DviewMtx[3][4];
// References: gpFrame (0x8561380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
// References: gHighlightChoice (0x80134D90)
// References: TexCoords_u8 (0x209A0E80)
// References: Colors_u32 (0x9A0E80)
// References: VertNo_s16 (0x800E99C0)
// References: VertYes_s16 (0x800E99A0)
// References: Vert_s16 (0x60990E80)
// References: gOrthoMtx (0x40450F80)
}
int simulatorDrawImage(__anon_0xDB69 *tpl, int nX0, int nY0, int drawBar, int percent)
{
_GXTexObj texObj;
_GXTexObj texObj2;
_GXColor color;
float identity_mtx[3][4];
float g2DviewMtx[3][4];
float g2[3][4];
// References: gpFrame (0x8561380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
// References: gbar (0x800E82E0)
// References: TexCoords_u8 (0x209A0E80)
// References: Colors_u32 (0x9A0E80)
// References: Vert_s16Bar (0x800E99E0)
// References: Vert_s16 (0x60990E80)
// References: gOrthoMtx (0x40450F80)
}
int simulatorPlayMovie();
int simulatorDVDRead(DVDFileInfo *pFileInfo, void *anData, long nSizeRead, long nOffset, void (*callback)(long /* unknown0 */, DVDFileInfo */* unknown1 */))
{
int nStatus;
int bRetry;
}
int simulatorDVDOpen(char *szNameFile, DVDFileInfo *pFileInfo)
{
int nStatus;
}
int simulatorDVDShowError(int nStatus)
{
int continueToggle;
__anon_0x61D7 nMessage;
// References: gpSystem (0x561380)
// References: gDVDResetToggle (0x801355D8)
// References: toggle$192 (0x801355DC)
}
int simulatorDrawBlack()
{
_GXColor color;
// References: gpFrame (0x8561380)
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
}
void simulatorDEMODoneRender()
{
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
// References: DemoStatEnable (0x80135AA8)
}
void simulatorDEMOSwapBuffers()
{
// References: DemoCurrentBuffer (0x80135A8C)
// References: DemoFrameBuffer2 (0x80135A90)
// References: DemoFrameBuffer1 (0x80135A94)
}
void simulatorUnpackTexPalette(__anon_0xDB69 *pal)
{
unsigned short i;
}
int simulatorGXInit()
{
int i;
_GXColor GX_DEFAULT_BG;
_GXColor BLACK;
_GXColor WHITE;
float identity_mtx[3][4];
}