mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
fox_6B3B0 and a bunch of names for things (#50)
* stuff * three whole files * format * format and such * a switch in time * merge prep * nintendo switch * format * the great switch statement of our time * 43AC0 matched * stuff * Enums everywhere * oh god the switch * knakyo * new headers * format * fox * everyone hates recursion * format * one more thing * one more one more thing * renames
This commit is contained in:
+145
-176
File diff suppressed because it is too large
Load Diff
+148
-137
@@ -7,12 +7,20 @@
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
||||
#define FILL_COLOR(rgba) (((rgba) << 0x10) | (rgba))
|
||||
#define RGBA16_RED(color16) (((color16) >> 0xB) & 0x1F)
|
||||
#define RGBA16_GRN(color16) (((color16) >> 6) & 0x1F)
|
||||
#define RGBA16_BLU(color16) (((color16) >> 1) & 0x1F)
|
||||
// unclear what the right macro for this is
|
||||
// #define RGBA16_PACK(r, g, b, a) (((u16) ((r) * 0x800) & 0xF800) | ((u16) ((g) * 0x40) & 0x7C0) | ((u16) ((b) * 2) & 0x3E) | ((a) & 1))
|
||||
|
||||
// used for convenience while decopming. You should find/replace them with the full macros before PRing
|
||||
#define GDL(dl) gSPDisplayList(gMasterDisp++, dl) // 06000000 dl
|
||||
#define GPC(r, g, b, a) gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, r, g, b, a) // FA000000 RRGGBBAA
|
||||
#define GEC(r, g, b, a) gDPSetEnvColor(gMasterDisp++, r, g, b, a) // FB000000 RRGGBBAA
|
||||
#define GSGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B7000000 00002000, most common geometry mode changed
|
||||
#define GCGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B6000000 00002000
|
||||
|
||||
#define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
|
||||
#define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
|
||||
|
||||
@@ -20,6 +28,146 @@
|
||||
|
||||
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
|
||||
|
||||
typedef union {
|
||||
u16 data[SCREEN_HEIGHT * SCREEN_WIDTH];
|
||||
u16 array[SCREEN_HEIGHT][SCREEN_WIDTH];
|
||||
} FrameBuffer; // size = 0x25800
|
||||
|
||||
typedef s32 (*OverrideLimbDraw)(s32, Gfx**, Vec3f*, Vec3f*, void*);
|
||||
typedef void (*PostLimbDraw)(s32, Vec3f*, void*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 xLen;
|
||||
/* 0x2 */ u16 x;
|
||||
/* 0x4 */ u16 yLen;
|
||||
/* 0x6 */ u16 y;
|
||||
/* 0x8 */ u16 zLen;
|
||||
/* 0xA */ u16 z;
|
||||
} JointKey; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 frameCount;
|
||||
/* 0x02 */ s16 limbCount;
|
||||
/* 0x04 */ u16* frameData;
|
||||
/* 0x08 */ JointKey* jointKey;
|
||||
} AnimationHeader; // size = 0xC
|
||||
|
||||
typedef struct Limb {
|
||||
/* 0x000 */ Gfx* dList;
|
||||
/* 0x004 */ Vec3f trans;
|
||||
/* 0x010 */ Vec3s rot;
|
||||
/* 0x018 */ struct Limb* sibling;
|
||||
/* 0x01C */ struct Limb* child;
|
||||
} Limb; // size = 0x20
|
||||
|
||||
typedef Limb* SkelAnime;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ AnimationHeader* unk_0;
|
||||
/* 0x04 */ AnimationHeader* unk_4;
|
||||
/* 0x08 */ SkelAnime* skelanime;
|
||||
} Animation; // size = 0x0C
|
||||
|
||||
void Lights_SetOneLight(Gfx** dList, s32 dirX, s32 dirY, s32 dirZ, s32 colR, s32 colG, s32 colB, s32 ambR, s32 ambG, s32 ambB);
|
||||
void Lights_SetTwoLights(Gfx** dList, s32 dir1x, s32 dir1y, s32 dir1z, s32 dir2x, s32 dir2y, s32 dir2z, s32 col1r, s32 col1g,
|
||||
s32 col1b, s32 col2r, s32 col2g, s32 col2b, s32 ambR, s32 ambG, s32 ambB);
|
||||
|
||||
char* Graphics_ClearPrintBuffer(char *buf, s32 fill, s32 len);
|
||||
s32 Graphics_Printf(const char *fmt, ...);
|
||||
void Texture_Scroll(void *texture, s32 width, s32 height, u8 mode);
|
||||
void Texture_Mottle(void *dst, void *src, u8 mode);
|
||||
s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton);
|
||||
void Animation_DrawLimb(s32 mode, Limb * limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
|
||||
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
|
||||
s16 Animation_GetFrameData(AnimationHeader *animationSegmemt, s32 frame, Vec3f *frameTable);
|
||||
s16 Animation_GetFrameCount(AnimationHeader *animationSegment);
|
||||
void Animation_FindBoundingBox(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
|
||||
void Animation_GetDListBoundingBox(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
|
||||
void Animation_GetSkeletonBoundingBox(Limb **skeletonSegment, AnimationHeader *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
|
||||
void TextureRect_4bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_Flip(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_MirX(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_MirY(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bRGBA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_FilpMirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_FilpMirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirXY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_32bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Graphics_FillRectangle(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a);
|
||||
u16* func_8009F7B4(Gfx **gfxPtr, u8 width, u8 height);
|
||||
void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplaySmallNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplayLargeText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 Graphics_GetLargeTextWidth(char *text);
|
||||
void Graphics_DisplayLargeNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplaySmallText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 Graphics_GetSmallTextWidth(char *text);
|
||||
void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void func_800A1558(f32 weight, u16 size, void *src1, void *src2, void *dst);
|
||||
|
||||
void RCP_SetupDL(Gfx** gfxP, s16 i);
|
||||
void RCP_SetFog(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_0(void);
|
||||
void RCP_SetupDL_1(void);
|
||||
void RCP_SetupDL_11(void);
|
||||
void RCP_SetupDL_12(void);
|
||||
void RCP_SetupDL_2(void);
|
||||
void RCP_SetupDL_3(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_4(void);
|
||||
void RCP_SetupDL_7(void);
|
||||
void RCP_SetupDL_9(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_8(void);
|
||||
void RCP_SetupDL_13(void);
|
||||
void RCP_SetupDL_14(void);
|
||||
void RCP_SetupDL_17(void);
|
||||
void RCP_SetupDL_36(void);
|
||||
void RCP_SetupDL_52(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_62(void);
|
||||
void RCP_SetupDL_37(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_18(void);
|
||||
void RCP_SetupDL_20(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_19(void);
|
||||
void RCP_SetupDL_21(void);
|
||||
void RCP_SetupDL_33(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_34(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_40(void);
|
||||
void RCP_SetupDL_42(void);
|
||||
void RCP_SetupDL_43(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_60(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_47(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_66(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_55(void);
|
||||
void RCP_SetupDL_57(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_45(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_46(void);
|
||||
void RCP_SetupDL_41(void);
|
||||
void RCP_SetupDL_64(void);
|
||||
void RCP_SetupDL_64_2(void);
|
||||
void RCP_SetupDL_23(void);
|
||||
void RCP_SetupDL_29(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_30(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_27(void);
|
||||
void RCP_SetupDL_32(void);
|
||||
void RCP_SetupDL_73(void);
|
||||
void RCP_SetupDL_76(void);
|
||||
void RCP_SetupDL_74(void);
|
||||
void RCP_SetupDL_78(void);
|
||||
void RCP_SetupDL_81(void);
|
||||
void RCP_SetupDL_48(void);
|
||||
void RCP_SetupDL_68(void);
|
||||
void RCP_SetupDL_49(void);
|
||||
void RCP_SetupDL_44(void);
|
||||
void RCP_SetupDL_50(void);
|
||||
void RCP_SetupDL_61(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
|
||||
typedef enum SetupDL {
|
||||
/* 0x00 */ SETUPDL_0,
|
||||
/* 0x01 */ SETUPDL_1,
|
||||
@@ -114,141 +262,4 @@ typedef enum SetupDL {
|
||||
|
||||
extern Gfx gSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0
|
||||
|
||||
typedef s32 (*OverrideLimbDraw)(s32, Gfx**, Vec3f*, Vec3f*, void*);
|
||||
typedef void (*PostLimbDraw)(s32, Vec3f*, void*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 xLen;
|
||||
/* 0x2 */ u16 x;
|
||||
/* 0x4 */ u16 yLen;
|
||||
/* 0x6 */ u16 y;
|
||||
/* 0x8 */ u16 zLen;
|
||||
/* 0xA */ u16 z;
|
||||
} JointKey; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 frameCount;
|
||||
/* 0x02 */ s16 limbCount;
|
||||
/* 0x04 */ u16* frameData;
|
||||
/* 0x08 */ JointKey* jointKey;
|
||||
} AnimationHeader; // size = 0xC
|
||||
|
||||
typedef struct Limb {
|
||||
/* 0x000 */ Gfx* dList;
|
||||
/* 0x004 */ Vec3f trans;
|
||||
/* 0x010 */ Vec3s rot;
|
||||
/* 0x018 */ struct Limb* sibling;
|
||||
/* 0x01C */ struct Limb* child;
|
||||
} Limb; // size = 0x20
|
||||
|
||||
typedef Limb* SkelAnime;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ AnimationHeader* unk_0;
|
||||
/* 0x04 */ AnimationHeader* unk_4;
|
||||
/* 0x08 */ SkelAnime* skelanime;
|
||||
} Animation; // size = 0x0C
|
||||
|
||||
char* Graphics_ClearPrintBuffer(char *buf, s32 fill, s32 len);
|
||||
s32 Graphics_Printf(const char *fmt, ...);
|
||||
void Texture_Scroll(void *texture, s32 width, s32 height, u8 mode);
|
||||
void Texture_Mottle(void *dst, void *src, u8 mode);
|
||||
s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton);
|
||||
void Animation_DrawLimb(s32 mode, Limb * limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
|
||||
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
|
||||
s16 Animation_GetFrameData(AnimationHeader *animationSegmemt, s32 frame, Vec3f *frameTable);
|
||||
s16 Animation_GetFrameCount(AnimationHeader *animationSegment);
|
||||
void Animation_FindBoundingBox(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
|
||||
void Animation_GetDListBoundingBox(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
|
||||
void Animation_GetSkeletonBoundingBox(Limb **skeletonSegment, AnimationHeader *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
|
||||
f32 Math_SmoothStepToF(f32 *value, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
f32 Math_SmoothStepToAngle(f32 *angle, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
void Math_SmoothStepToVec3fArray(Vec3f *src, Vec3f *dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep);
|
||||
s32 Math_PursueVec3f(Vec3f *pos, Vec3f *target, Vec3f *rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist);
|
||||
void TextureRect_4bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_Flip(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_MirX(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_4bCI_MirY(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bRGBA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_FilpMirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_FilpMirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_8bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_16bIA_MirXY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_32bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Graphics_FillRectangle(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a);
|
||||
void Math_Vec3fFromAngles(Vec3f *step, f32 xRot, f32 yRot, f32 stepsize);
|
||||
f32 Math_RadToDeg(f32 rAngle);
|
||||
u16* func_8009F7B4(Gfx **gfxPtr, u8 width, u8 height);
|
||||
void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplaySmallNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplayLargeText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 Graphics_GetLargeTextWidth(char *text);
|
||||
void Graphics_DisplayLargeNumber(s32 xPos, s32 yPos, s32 number);
|
||||
void Graphics_DisplaySmallText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 Graphics_GetSmallTextWidth(char *text);
|
||||
void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void func_800A1558(f32 weight, u16 size, void *src1, void *src2, void *dst);
|
||||
|
||||
void RCP_SetupDL(Gfx** gfxP, s16 i);
|
||||
void RCP_SetFog(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_0(void);
|
||||
void RCP_SetupDL_1(void);
|
||||
void RCP_SetupDL_11(void);
|
||||
void RCP_SetupDL_12(void);
|
||||
void RCP_SetupDL_2(void);
|
||||
void RCP_SetupDL_3(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_4(void);
|
||||
void RCP_SetupDL_7(void);
|
||||
void RCP_SetupDL_9(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_8(void);
|
||||
void RCP_SetupDL_13(void);
|
||||
void RCP_SetupDL_14(void);
|
||||
void RCP_SetupDL_17(void);
|
||||
void RCP_SetupDL_36(void);
|
||||
void RCP_SetupDL_52(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_62(void);
|
||||
void RCP_SetupDL_37(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_18(void);
|
||||
void RCP_SetupDL_20(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_19(void);
|
||||
void RCP_SetupDL_21(void);
|
||||
void RCP_SetupDL_33(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_34(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_40(void);
|
||||
void RCP_SetupDL_42(void);
|
||||
void RCP_SetupDL_43(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_60(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_47(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_66(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_55(void);
|
||||
void RCP_SetupDL_57(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_45(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_46(void);
|
||||
void RCP_SetupDL_41(void);
|
||||
void RCP_SetupDL_64(void);
|
||||
void RCP_SetupDL_64_2(void);
|
||||
void RCP_SetupDL_23(void);
|
||||
void RCP_SetupDL_29(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_30(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
void RCP_SetupDL_27(void);
|
||||
void RCP_SetupDL_32(void);
|
||||
void RCP_SetupDL_73(void);
|
||||
void RCP_SetupDL_76(void);
|
||||
void RCP_SetupDL_74(void);
|
||||
void RCP_SetupDL_78(void);
|
||||
void RCP_SetupDL_81(void);
|
||||
void RCP_SetupDL_48(void);
|
||||
void RCP_SetupDL_68(void);
|
||||
void RCP_SetupDL_49(void);
|
||||
void RCP_SetupDL_44(void);
|
||||
void RCP_SetupDL_50(void);
|
||||
void RCP_SetupDL_61(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||
|
||||
#endif
|
||||
|
||||
+3
-35
@@ -17,41 +17,9 @@
|
||||
#include "macros.h"
|
||||
#include "sf64math.h"
|
||||
#include "sf64mesg.h"
|
||||
#include "sf64object.h"
|
||||
#include "sf64level.h"
|
||||
#include "sf64thread.h"
|
||||
#include "gfx.h"
|
||||
|
||||
typedef enum {
|
||||
SI_READ_CONTROLLER = 10,
|
||||
SI_READ_SAVE,
|
||||
SI_WRITE_SAVE,
|
||||
SI_RUMBLE,
|
||||
SI_SAVE_FAILED,
|
||||
SI_SAVE_SUCCESS,
|
||||
SI_CONT_READ_DONE,
|
||||
} SerialMesg;
|
||||
|
||||
#define MSG_QUEUE_EMPTY -1
|
||||
|
||||
#define FAULT_MESG_BREAK 1
|
||||
#define FAULT_MESG_FAULT 2
|
||||
|
||||
#define TASK_MESG_1 1
|
||||
#define TASK_MESG_2 2
|
||||
|
||||
#define EVENT_MESG_SP 1
|
||||
#define EVENT_MESG_DP 2
|
||||
#define EVENT_MESG_VI 3
|
||||
#define EVENT_MESG_PRENMI 4
|
||||
|
||||
typedef enum {
|
||||
THREAD_ID_SYSTEM,
|
||||
THREAD_ID_IDLE,
|
||||
THREAD_ID_FAULT,
|
||||
THREAD_ID_MAIN,
|
||||
THREAD_ID_4,
|
||||
THREAD_ID_AUDIO,
|
||||
THREAD_ID_GRAPHICS,
|
||||
THREAD_ID_7,
|
||||
THREAD_ID_SERIAL,
|
||||
} ThreadID;
|
||||
|
||||
#endif // GLOBAL_H
|
||||
|
||||
+2
-2
@@ -64,7 +64,7 @@ extern s32 D_80161718;
|
||||
extern s32 D_8016171C;
|
||||
extern s32 D_801617E8[];
|
||||
extern s32 D_801617FC;
|
||||
extern s32 D_80161A98;
|
||||
extern s32 gHitCount;
|
||||
extern s32 D_80177838;
|
||||
extern s32 D_80177854;
|
||||
extern s32 D_80177880;
|
||||
@@ -75,7 +75,7 @@ extern s32 D_80177B48;
|
||||
extern s32 D_80177B50[];
|
||||
extern s32 D_80177B70[];
|
||||
extern s32 D_80177E7C;
|
||||
extern s32 D_80178234;
|
||||
extern s32 gCurrentLevel;
|
||||
extern s32 D_80178750;
|
||||
|
||||
#endif
|
||||
|
||||
+27
-27
@@ -92,33 +92,33 @@ typedef struct {
|
||||
|
||||
extern DmaEntry gDmaTable[]; // 178A70
|
||||
|
||||
extern OverlayInit sLogoOverlay[1]; // sets segment 15 with no overlay
|
||||
extern OverlayInit sCreditsOverlay_6[6]; // overlay EF0260
|
||||
extern OverlayInit sEBFBE0_Overlay1[1]; // EBFBE0
|
||||
extern OverlayInit sEBFBE0_Overlay2[1]; // EBFBE0
|
||||
extern OverlayInit sEBFBE0_Overlay3[1]; // EBFBE0
|
||||
extern OverlayInit sEBFBE0_Overlay4[1]; // EBFBE0
|
||||
extern OverlayInit sDF4260_Overlay1[1]; // DF4260
|
||||
extern OverlayInit sE08400_Overlay1_2[2]; // E08400
|
||||
extern OverlayInit sE6A810_Overlay1_6[6]; // E6A810
|
||||
extern OverlayInit sE08400_Overlay2_2[2]; // E08400
|
||||
extern OverlayInit sE51970_Overlay1[1]; // E51970
|
||||
extern OverlayInit sE16C50_Overlay1[1]; // E16C50
|
||||
extern OverlayInit sE16C50_Overlay2[1]; // E16C50
|
||||
extern OverlayInit sE51970_Overlay2_2[2]; // E51970
|
||||
extern OverlayInit sE16C50_Overlay3[1]; // E16C50
|
||||
extern OverlayInit sE9F1D0_Overlay1[1]; // E9F1D0
|
||||
extern OverlayInit sE16C50_Overlay4[1]; // E16C50
|
||||
extern OverlayInit sE16C50_Overlay5[1]; // E16C50
|
||||
extern OverlayInit sDF4260_Overlay2[1]; // DF4260
|
||||
extern OverlayInit sE9F1D0_Overlay2[1]; // E9F1D0
|
||||
extern OverlayInit sE9F1D0_Overlay3_2[2]; // E9F1D0
|
||||
extern OverlayInit sE08400_Overlay3[1]; // E08400
|
||||
extern OverlayInit sE51970_Overlay3[1]; // E51970
|
||||
extern OverlayInit sE51970_Overlay4[1]; // E51970
|
||||
extern OverlayInit sE6A810_Overlay2_2[2]; // E6A810
|
||||
extern OverlayInit sDF4260_Overlay3[1]; // DF4260
|
||||
extern OverlayInit sE08400_Overlay4_2[2]; // E08400
|
||||
extern OverlayInit sNoOvl_Logo[1]; // sets segment 15 with no overlay
|
||||
extern OverlayInit sOvlEF0260_Credits[6]; // overlay EF0260
|
||||
extern OverlayInit sOvlEBFBE0_Title[1]; // EBFBE0
|
||||
extern OverlayInit sOvlEBFBE0_Menu[1]; // EBFBE0
|
||||
extern OverlayInit sOvlEBFBE0_Map[1]; // EBFBE0
|
||||
extern OverlayInit sOvlEBFBE0_State5[1]; // EBFBE0
|
||||
extern OverlayInit sOvlDF4260_Corneria[1]; // DF4260
|
||||
extern OverlayInit sOvlE08400_Meteo[2]; // E08400
|
||||
extern OverlayInit sOvlE6A810_Titania[6]; // E6A810
|
||||
extern OverlayInit sOvlE08400_SectorX[2]; // E08400
|
||||
extern OverlayInit sOvlE51970_SectorZ[1]; // E51970
|
||||
extern OverlayInit sOvlE16C50_Aquas[1]; // E16C50
|
||||
extern OverlayInit sOvlE16C50_Area6[1]; // E16C50
|
||||
extern OverlayInit sOvlE51970_Fortuna[2]; // E51970
|
||||
extern OverlayInit sOvlE16C50_Unk4[1]; // E16C50
|
||||
extern OverlayInit sOvlE9F1D0_SectorY[1]; // E9F1D0
|
||||
extern OverlayInit sOvlE16C50_Solar[1]; // E16C50
|
||||
extern OverlayInit sOvlE16C50_Zoness[1]; // E16C50
|
||||
extern OverlayInit sOvlDF4260_Venom1[1]; // DF4260
|
||||
extern OverlayInit sOvlE9F1D0_Venom2[1]; // E9F1D0
|
||||
extern OverlayInit sOvlE9F1D0_VenomSW[2]; // E9F1D0
|
||||
extern OverlayInit sOvlE08400_Setup20[1]; // E08400
|
||||
extern OverlayInit sOvlE51970_Bolse[1]; // E51970
|
||||
extern OverlayInit sOvlE51970_Katina[1]; // E51970
|
||||
extern OverlayInit sOvlE6A810_Macbeth[2]; // E6A810
|
||||
extern OverlayInit sOvlDF4260_Training[1]; // DF4260
|
||||
extern OverlayInit sOvlE08400_Versus[2]; // E08400
|
||||
extern OverlayInit sEFFA40_Overlay[1]; // EFFA40
|
||||
|
||||
DECLARE_SEGMENT(makerom);
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
#ifndef SF64_LEVEL
|
||||
#define SF64_LEVEL
|
||||
|
||||
#include "structs.h"
|
||||
|
||||
typedef enum {
|
||||
LEVELTYPE_GROUND,
|
||||
LEVELTYPE_SPACE,
|
||||
LEVELTYPE_UNK2,
|
||||
LEVELTYPE_UNK3,
|
||||
} LevelType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 type;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ u16 bgColor;
|
||||
/* 0x0A */ u16 unk_0A;
|
||||
/* 0x0C */ s32 fogR;
|
||||
/* 0x10 */ s32 fogG;
|
||||
/* 0x14 */ s32 fogB;
|
||||
/* 0x18 */ s32 fogN;
|
||||
/* 0x1C */ s32 fogF;
|
||||
/* 0x20 */ Vec3f unk_20;
|
||||
/* 0x2C */ s32 lightR;
|
||||
/* 0x30 */ s32 lightG;
|
||||
/* 0x34 */ s32 lightB;
|
||||
/* 0x38 */ s32 ambR;
|
||||
/* 0x3C */ s32 ambG;
|
||||
/* 0x40 */ s32 ambB;
|
||||
} EnvSettings; // size = 0x44?
|
||||
|
||||
typedef enum {
|
||||
OVL_SETUP_TITLE,
|
||||
OVL_SETUP_MENU,
|
||||
OVL_SETUP_MAP,
|
||||
OVL_SETUP_STATE_5,
|
||||
OVL_SETUP_CREDITS,
|
||||
OVL_SETUP_CORNERIA,
|
||||
OVL_SETUP_METEO,
|
||||
OVL_SETUP_TITANIA,
|
||||
OVL_SETUP_SECTOR_X,
|
||||
OVL_SETUP_AQUAS,
|
||||
OVL_SETUP_AREA_6,
|
||||
OVL_SETUP_FORTUNA,
|
||||
OVL_SETUP_UNK_4,
|
||||
OVL_SETUP_SECTOR_Y,
|
||||
OVL_SETUP_SOLAR,
|
||||
OVL_SETUP_ZONESS,
|
||||
OVL_SETUP_VENOM_2,
|
||||
OVL_SETUP_TRAINING,
|
||||
OVL_SETUP_VENOM_1,
|
||||
OVL_SETUP_KATINA,
|
||||
OVL_SETUP_20,
|
||||
OVL_SETUP_MACBETH,
|
||||
OVL_SETUP_BOLSE,
|
||||
OVL_SETUP_SECTOR_Z,
|
||||
OVL_SETUP_VENOM_SW,
|
||||
OVL_SETUP_VERSUS = 50,
|
||||
OVL_SETUP_LOGO = 99,
|
||||
} OverlaySetups;
|
||||
|
||||
typedef enum {
|
||||
LEVEL_CORNERIA,
|
||||
LEVEL_METEO,
|
||||
LEVEL_SECTOR_X,
|
||||
LEVEL_AREA_6,
|
||||
LEVEL_UNK_4,
|
||||
LEVEL_SECTOR_Y,
|
||||
LEVEL_VENOM_1,
|
||||
LEVEL_SOLAR,
|
||||
LEVEL_ZONESS,
|
||||
LEVEL_VENOM_2,
|
||||
LEVEL_TRAINING,
|
||||
LEVEL_MACBETH,
|
||||
LEVEL_TITANIA,
|
||||
LEVEL_AQUAS,
|
||||
LEVEL_FORTUNA,
|
||||
LEVEL_UNK_15,
|
||||
LEVEL_KATINA,
|
||||
LEVEL_BOLSE,
|
||||
LEVEL_SECTOR_Z,
|
||||
LEVEL_VENOM_SW,
|
||||
LEVEL_VERSUS,
|
||||
} LevelId;
|
||||
|
||||
#endif
|
||||
@@ -9,6 +9,11 @@ typedef struct {
|
||||
/* 0x8 */ f32 z;
|
||||
} Vec3f; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
Vec3f normal;
|
||||
f32 dist;
|
||||
} Plane;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
@@ -26,4 +31,53 @@ typedef union {
|
||||
// u64 force_struct_alignment;
|
||||
} Matrix; // size = 0x40
|
||||
|
||||
f32 Math_ModF(f32 value, f32 mod);
|
||||
void Rand_Init(void);
|
||||
f32 Rand_ZeroOne(void);
|
||||
void Rand_SetSeed(s32 seed1, s32 seed2, s32 seed3);
|
||||
f32 Rand_ZeroOneSeeded(void);
|
||||
f32 Math_Atan2F(f32 y, f32 x);
|
||||
f32 Math_Atan2F_XY(f32 x, f32 y);
|
||||
f32 Math_Atan2F_XYAlt(f32 x, f32 y);
|
||||
f32 Math_PowF(f32 base, s32 exp);
|
||||
void Math_MinMax(s32* min, s32* max, s32 val1, s32 val2, s32 val3);
|
||||
|
||||
f32 Math_SmoothStepToF(f32 *value, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
f32 Math_SmoothStepToAngle(f32 *angle, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
void Math_SmoothStepToVec3fArray(Vec3f *src, Vec3f *dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep);
|
||||
s32 Math_PursueVec3f(Vec3f *pos, Vec3f *target, Vec3f *rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist);
|
||||
void Math_Vec3fFromAngles(Vec3f *step, f32 xRot, f32 yRot, f32 stepsize);
|
||||
f32 Math_RadToDeg(f32 rAngle);
|
||||
|
||||
void Matrix_Copy(Matrix*, Matrix*);
|
||||
void Matrix_Push(Matrix** mtxStack);
|
||||
void Matrix_Pop(Matrix** mtxStack);
|
||||
void Matrix_Mult(Matrix*, Matrix*, u8);
|
||||
void Matrix_Translate(Matrix*, f32, f32, f32, u8);
|
||||
void Matrix_Scale(Matrix*, f32, f32, f32, u8);
|
||||
void Matrix_RotateX(Matrix*, f32, u8);
|
||||
void Matrix_RotateY(Matrix*, f32, u8);
|
||||
void Matrix_RotateZ(Matrix*, f32, u8);
|
||||
void Matrix_RotateAxis(Matrix*, f32, f32, f32, f32, u8);
|
||||
void Matrix_ToMtx(Mtx *dest);
|
||||
void Matrix_FromMtx(Mtx *src, Matrix *dest);
|
||||
void Matrix_MultVec3f(Matrix*, Vec3f*, Vec3f*);
|
||||
void Matrix_MultVec3fNoTranslate(Matrix*, Vec3f*, Vec3f*);
|
||||
void Matrix_GetYRPAngles(Matrix*, Vec3f*);
|
||||
void Matrix_GetXYZAngles(Matrix*, Vec3f*);
|
||||
void Matrix_LookAt(Matrix*, f32, f32, f32, f32, f32, f32, f32, f32, f32, u8);
|
||||
void Matrix_SetGfxMtx(Gfx**);
|
||||
|
||||
f32 Math_FAtanF(f32);
|
||||
f32 Math_FAtan2F(f32, f32);
|
||||
f32 Math_FAsinF(f32);
|
||||
f32 Math_FAcosF(f32);
|
||||
|
||||
f32 __sinf(f32);
|
||||
f32 __cosf(f32);
|
||||
|
||||
s64 __ull_div(s64, s64);
|
||||
s64 __ll_mul(s64, s64);
|
||||
s64 __ll_rshift(s64, s64);
|
||||
|
||||
#endif
|
||||
|
||||
+85
-4
@@ -21,6 +21,87 @@ bool Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len)
|
||||
void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 yRangeHi, s32 yRangeLo, s32 len);
|
||||
bool Message_IsPrintingChar(u16* msgPtr, s32 charPos);
|
||||
|
||||
typedef enum {
|
||||
RCID_FOX = 0,
|
||||
RCID_FOX_OPEN,
|
||||
RCID_FOX_RED = 5,
|
||||
RCID_FOX_RED_OPEN,
|
||||
RCID_STATIC = 2,
|
||||
RCID_STATIC_FLIP,
|
||||
RCID_FALCO = 10,
|
||||
RCID_FALCO_OPEN,
|
||||
RCID_FALCO_RED = 15,
|
||||
RCID_FALCO_RED_OPEN,
|
||||
RCID_SLIPPY = 20,
|
||||
RCID_SLIPPY_OPEN,
|
||||
RCID_SLIPPY_RED = 25,
|
||||
RCID_SLIPPY_RED_OPEN,
|
||||
RCID_PEPPY = 30,
|
||||
RCID_PEPPY_OPEN,
|
||||
RCID_PEPPY_RED = 35,
|
||||
RCID_PEPPY_RED_OPEN,
|
||||
RCID_KATT = 40,
|
||||
RCID_KATT_OPEN,
|
||||
RCID_ANDROSS = 50,
|
||||
RCID_ANDROSS_OPEN,
|
||||
RCID_ANDROSS_RED = 55,
|
||||
RCID_ANDROSS_RED_OPEN,
|
||||
RCID_JAMES = 60,
|
||||
RCID_JAMES_OPEN,
|
||||
RCID_PEPPER = 70,
|
||||
RCID_PEPPER_OPEN,
|
||||
RCID_BOSS_CORNERIA = 80,
|
||||
RCID_BOSS_CORNERIA_OPEN,
|
||||
RCID_ROB64 = 90,
|
||||
RCID_ROB64_OPEN,
|
||||
RCID_ROB64_RED = 95,
|
||||
RCID_ROB64_RED_OPEN,
|
||||
RCID_BOSS_METEO = 100,
|
||||
RCID_BOSS_METEO_OPEN,
|
||||
RCID_BOSS_CORNERIA2 = 110,
|
||||
RCID_BOSS_CORNERIA2_OPEN,
|
||||
RCID_BOSS_AREA6 = 120,
|
||||
RCID_BOSS_AREA6_OPEN,
|
||||
RCID_BOSS_ZONESS = 130,
|
||||
RCID_BOSS_ZONESS_OPEN,
|
||||
RCID_ROB64_2 = 140,
|
||||
RCID_ROB64_2_OPEN,
|
||||
RCID_BOSS_SECTORX = 150,
|
||||
RCID_BOSS_SECTORX_OPEN,
|
||||
RCID_BOSS_SECTORY = 160,
|
||||
RCID_BOSS_SECTORY_OPEN,
|
||||
RCID_BILL = 170,
|
||||
RCID_BILL_OPEN,
|
||||
RCID_CAIMAN_AREA6 = 180,
|
||||
RCID_CAIMAN_AREA6_OPEN,
|
||||
RCID_BOSS_MACBETH = 190,
|
||||
RCID_BOSS_MACBETH_OPEN,
|
||||
RCID_WOLF = 200,
|
||||
RCID_WOLF_OPEN,
|
||||
RCID_PIGMA = 210,
|
||||
RCID_PIGMA_OPEN,
|
||||
RCID_LEON = 220,
|
||||
RCID_LEON_OPEN,
|
||||
RCID_ANDREW = 230,
|
||||
RCID_ANDREW_OPEN,
|
||||
RCID_WOLF_2 = 240,
|
||||
RCID_WOLF_2_OPEN,
|
||||
RCID_PIGMA_2 = 250,
|
||||
RCID_PIGMA_2_OPEN,
|
||||
RCID_LEON_2 = 260,
|
||||
RCID_LEON_2_OPEN,
|
||||
RCID_ANDREW_2 = 270,
|
||||
RCID_ANDREW_2_OPEN,
|
||||
RCID_ROB64_TITLE = 300,
|
||||
RCID_ROB64_TITLE_OPEN,
|
||||
RCID_PEPPER_TITLE = 310,
|
||||
RCID_PEPPER_TITLE_OPEN,
|
||||
RCID_TRAINING = 350,
|
||||
RCID_TRAINING_OPEN,
|
||||
RCID_FOX_EXPERT = 400,
|
||||
RCID_FOX_EXPERT_OPEN,
|
||||
} RadioCharacterId;
|
||||
|
||||
typedef enum {
|
||||
MSGCHAR_END,
|
||||
MSGCHAR_NWL,
|
||||
@@ -30,10 +111,10 @@ typedef enum {
|
||||
MSGCHAR_NP5,
|
||||
MSGCHAR_NP6,
|
||||
MSGCHAR_NP7,
|
||||
MSGCHAR_NP8,
|
||||
MSGCHAR_NP9,
|
||||
MSGCHAR_NPA,
|
||||
MSGCHAR_NPB,
|
||||
MSGCHAR_PRI0,
|
||||
MSGCHAR_PRI1,
|
||||
MSGCHAR_PRI2,
|
||||
MSGCHAR_PRI3,
|
||||
MSGCHAR_SPC,
|
||||
MSGCHAR_QSP,
|
||||
MSGCHAR_HSP,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,125 @@
|
||||
#ifndef SF64_THREAD
|
||||
#define SF64_THREAD
|
||||
|
||||
#include "libultra/ultra64.h"
|
||||
#include "gfx.h"
|
||||
|
||||
typedef enum {
|
||||
GSTATE_NONE,
|
||||
GSTATE_INIT,
|
||||
GSTATE_TITLE,
|
||||
GSTATE_MENU,
|
||||
GSTATE_MAP,
|
||||
GSTATE_STATE_5,
|
||||
GSTATE_VS_INIT,
|
||||
GSTATE_PLAY,
|
||||
GSTATE_CREDITS,
|
||||
GSTATE_BOOT = 100,
|
||||
GSTATE_BOOT_WAIT,
|
||||
GSTATE_SHOW_LOGO,
|
||||
GSTATE_CHECK_SAVE,
|
||||
GSTATE_LOGO_WAIT,
|
||||
GSTATE_START,
|
||||
} GameStates;
|
||||
|
||||
typedef void (*TimerAction)(s32*, s32);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 active;
|
||||
/* 0x08 */ OSTimer timer;
|
||||
/* 0x28 */ TimerAction action;
|
||||
/* 0x2C */ s32* address;
|
||||
/* 0x30 */ s32 value;
|
||||
} TimerTask; // size = 0x38, 0x8 aligned
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSThread thread;
|
||||
/* 0x1B0 */ char stack[0x800];
|
||||
/* 0x9B0 */ OSMesgQueue msgQueue;
|
||||
/* 0x9C8 */ OSMesg msg;
|
||||
/* 0x9CC */ FrameBuffer* fb;
|
||||
/* 0x9D0 */ u16 width;
|
||||
/* 0x9D2 */ u16 height;
|
||||
} FaultMgr; // size = 0x9D8, 0x8 aligned
|
||||
|
||||
typedef enum {
|
||||
SPTASK_STATE_NOT_STARTED,
|
||||
SPTASK_STATE_RUNNING,
|
||||
SPTASK_STATE_INTERRUPTED,
|
||||
SPTASK_STATE_FINISHED,
|
||||
SPTASK_STATE_FINISHED_DP
|
||||
} SpTaskState;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSTask task;
|
||||
/* 0x40 */ OSMesgQueue* msgQueue;
|
||||
/* 0x44 */ OSMesg msg;
|
||||
/* 0x48 */ SpTaskState state;
|
||||
} SPTask; // size = 0x50, 0x8 aligned
|
||||
|
||||
typedef struct {
|
||||
/* 0x00000 */ SPTask task;
|
||||
/* 0x00050 */ Vp viewports[0x10];
|
||||
/* 0x00150 */ Mtx mtx[0x480];
|
||||
/* 0x12150 */ Gfx unkDL1[0x180];
|
||||
/* 0x12D50 */ Gfx masterDL[0x1380];
|
||||
/* 0x1C950 */ Gfx unkDL2[0xD80];
|
||||
/* 0x23550 */ Lightsn lights[0x100];
|
||||
} GfxPool; // size = 0x2AD50, 0x8 aligned
|
||||
|
||||
void Controller_Init(void);
|
||||
void Controller_UpdateInput(void);
|
||||
void Controller_ReadData(void);
|
||||
void Save_ReadData(void);
|
||||
void Save_WriteData(void);
|
||||
void Controller_Rumble(void);
|
||||
|
||||
s32 Timer_CreateTask(u64, TimerAction, s32*, s32);
|
||||
void Timer_Increment(s32* address, s32 value);
|
||||
void Timer_SetValue(s32* address, s32 value);
|
||||
void Timer_CompleteTask(TimerTask*);
|
||||
void Timer_Wait(u64);
|
||||
|
||||
s32 Save_WriteEeprom(SaveFile*);
|
||||
s32 Save_ReadEeprom(SaveFile*);
|
||||
|
||||
void Fault_ThreadEntry(void*);
|
||||
void func_80007FE4(FrameBuffer*, u16, u16);
|
||||
void Fault_Init(void);
|
||||
|
||||
typedef enum {
|
||||
SI_READ_CONTROLLER = 10,
|
||||
SI_READ_SAVE,
|
||||
SI_WRITE_SAVE,
|
||||
SI_RUMBLE,
|
||||
SI_SAVE_FAILED,
|
||||
SI_SAVE_SUCCESS,
|
||||
SI_CONT_READ_DONE,
|
||||
} SerialMesg;
|
||||
|
||||
#define MSG_QUEUE_EMPTY -1
|
||||
|
||||
#define FAULT_MESG_BREAK 1
|
||||
#define FAULT_MESG_FAULT 2
|
||||
|
||||
#define TASK_MESG_1 1
|
||||
#define TASK_MESG_2 2
|
||||
|
||||
#define EVENT_MESG_SP 1
|
||||
#define EVENT_MESG_DP 2
|
||||
#define EVENT_MESG_VI 3
|
||||
#define EVENT_MESG_PRENMI 4
|
||||
|
||||
typedef enum {
|
||||
THREAD_ID_SYSTEM,
|
||||
THREAD_ID_IDLE,
|
||||
THREAD_ID_FAULT,
|
||||
THREAD_ID_MAIN,
|
||||
THREAD_ID_4,
|
||||
THREAD_ID_AUDIO,
|
||||
THREAD_ID_GRAPHICS,
|
||||
THREAD_ID_7,
|
||||
THREAD_ID_SERIAL,
|
||||
} ThreadID;
|
||||
|
||||
#endif
|
||||
+68
-391
File diff suppressed because it is too large
Load Diff
+196
-102
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,24 @@
|
||||
D_800C90F0 = 0x800C90F0;
|
||||
__libm_qnan_f = 0x800C9570;
|
||||
D_1 = 0x1; //ignore:true
|
||||
D_80120000 = 0x80120000;//ignore:true
|
||||
D_80130001 = 0x80130001;//ignore:true
|
||||
D_80000000 = 0x80000000;//ignore:true
|
||||
D_80000001 = 0x80000001;//ignore:true
|
||||
D_80000002 = 0x80000002;//ignore:true
|
||||
D_80000003 = 0x80000003;//ignore:true
|
||||
D_80000004 = 0x80000004;//ignore:true
|
||||
D_80000005 = 0x80000005;//ignore:true
|
||||
D_80000006 = 0x80000006;//ignore:true
|
||||
D_80000007 = 0x80000007;//ignore:true
|
||||
D_80000008 = 0x80000008;//ignore:true
|
||||
D_80000009 = 0x80000009;//ignore:true
|
||||
D_8000000A = 0x8000000A;//ignore:true
|
||||
D_8000000B = 0x8000000B;//ignore:true
|
||||
D_8000000C = 0x8000000C;//ignore:true
|
||||
D_8000000D = 0x8000000D;//ignore:true
|
||||
D_8000000E = 0x8000000E;//ignore:true
|
||||
D_8000000F = 0x8000000F;//ignore:true
|
||||
|
||||
D_800C45E0 = 0x800C45E0;
|
||||
|
||||
@@ -12,31 +30,19 @@ gZBuffer = 0x80282000;
|
||||
gFrameBuffers = 0x8038F800;
|
||||
gDmaTable = 0x80178A70; //size:0x5A0
|
||||
D_80178A70 = 0x80178A78; //ignore:true
|
||||
D_80151650 = 0x80151650; //ignore:true
|
||||
|
||||
D_80161A18 = 0x80161A18;//size:0x10
|
||||
D_801615D0 = 0x801615D0;//size:0xC
|
||||
D_801615E0 = 0x801615E0;//size:0xC
|
||||
D_800CFF80 = 0x800CFF80;//size:0x10
|
||||
|
||||
D_80161578 = 0x80161578;//size:0x30
|
||||
D_80161AA8 = 0x80161AA8;//size:0x10
|
||||
D_800CA23C = 0x800CA23C;//size:0x18
|
||||
D_800CA26C = 0x800CA26C;//size:0x20
|
||||
D_800CA260 = 0x800CA260;//size:0xC
|
||||
D_801613E0 = 0x801613E0;//size:0x18
|
||||
D_800CC124 = 0x800CC124;//type:u8
|
||||
|
||||
D_80161B00 = 0x80161B00; //size:0x1900
|
||||
D_80163400 = 0x80163400; //size:0xBE0
|
||||
D_80163FE0 = 0x80163FE0; //size:0xB130
|
||||
D_8016F110 = 0x8016F110; //size:0x1020
|
||||
D_80170130 = 0x80170130; //size:0x36B0
|
||||
D_801737E0 = 0x801737E0; //size:0x870
|
||||
D_80174050 = 0x80174050; //size:0x700
|
||||
D_80174750 = 0x80174750; //size:0x12C0
|
||||
D_80175A10 = 0x80175A10; //size:0xA28
|
||||
D_80176438 = 0x80176438; //size:0x18
|
||||
|
||||
gExpertMode = 0x801779F8;
|
||||
D_800C9E90 = 0x800C9E90;//size:0x70
|
||||
|
||||
D_800D3180 = 0x800D3180; // size:0x1E
|
||||
gSetupDLs = 0x800D31B0; // size:0x18C0
|
||||
@@ -79,7 +85,6 @@ __pos_z = 0x8016199C;//type:f32
|
||||
Save_Checksum = 0x800C2FB0;
|
||||
Save_Write = 0x800C3084;
|
||||
Save_Read = 0x800C3194;
|
||||
gSaveFile = 0x80178870; //size:0x200
|
||||
|
||||
__rspboot_start = 0x80000450;//name_end:__rspboot_end
|
||||
__aspmain_start = 0x80000520;//name_end:__aspmain_end
|
||||
@@ -88,7 +93,6 @@ gF3dexData = 0x800C3DD0;
|
||||
|
||||
sEFFA40_Overlay = 0x800CBD3C;
|
||||
|
||||
D_80177E88 = 0x80177E88; // size:0xC
|
||||
D_800CFA54 = 0x800CFA54;
|
||||
|
||||
D_800D934C = 0x800D934C; // force_migration:True
|
||||
@@ -100,7 +104,6 @@ D_800D55E4_fake = 0x800D55E4; // force_migration:True
|
||||
D_800D8570 = 0x800D8570; // force_migration:True
|
||||
D_800D8594 = 0x800D8594; // force_migration:True
|
||||
D_800C93EC = 0x800C93EC; // force_migration:True
|
||||
D_80177B90 = 0x80177B90; // force_migration:True
|
||||
|
||||
D_DF4260_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_DF4260
|
||||
D_E16C50_801C171C = 0x801C171C; // force_migration:True segment:ovl_E16C50
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
// fox_enmy1
|
||||
Object_Kill = 0x80060FBC;
|
||||
|
||||
//fox_display
|
||||
Graphics_ClearPrintBuffer = 0x80099980;
|
||||
Graphics_Printf = 0x800999D8;
|
||||
Texture_Scroll = 0x80099A2C;
|
||||
@@ -45,6 +49,7 @@ Graphics_GetSmallTextWidth = 0x800A13EC;
|
||||
func_800A1540 = 0x800A1540;
|
||||
func_800A1558 = 0x800A1558;
|
||||
|
||||
// fox_rcp
|
||||
RCP_SetupDL = 0x800B8DD0;
|
||||
RCP_SetFog = 0x800B8E14;
|
||||
RCP_SetupDL_0 = 0x800b8f18;
|
||||
@@ -100,10 +105,30 @@ RCP_SetupDL_44 = 0x800BA5E0;
|
||||
RCP_SetupDL_50 = 0x800BA610;
|
||||
RCP_SetupDL_61 = 0x800BA640;
|
||||
|
||||
gTextCharTextures = 0x80179010;
|
||||
// fox_radio
|
||||
D_80178720 = 0x80178720;
|
||||
D_80178724 = 0x80178724;
|
||||
D_80178728 = 0x80178728;
|
||||
D_8017872C = 0x8017872C;
|
||||
D_80178730 = 0x80178730;
|
||||
D_80178734 = 0x80178734;
|
||||
D_80178738 = 0x80178738;
|
||||
D_8017873C = 0x8017873C;
|
||||
D_80178740 = 0x80178740;
|
||||
D_80178744 = 0x80178744;
|
||||
D_80178748 = 0x80178748;
|
||||
sCurrentMsgPri = 0x800D4A70;
|
||||
|
||||
func_800BA760 = 0x800BA760;
|
||||
func_800BA7BC = 0x800BA7BC;
|
||||
func_800BA808 = 0x800BA808;
|
||||
func_800BAAE8 = 0x800BAAE8;
|
||||
func_800BB388 = 0x800BB388;
|
||||
func_800BB5D0 = 0x800BB5D0;
|
||||
|
||||
// fox_message
|
||||
gTextCharTextures = 0x80179010;
|
||||
gMsgLookup = 0x80185CBC;
|
||||
gDefaultSave = 0x800D4D10;
|
||||
|
||||
Message_PtrFromId = 0x800C2830;
|
||||
Message_IdFromPtr = 0x800C2890;
|
||||
@@ -113,3 +138,315 @@ Message_DisplayChar = 0x800C295C;
|
||||
Message_DisplayText = 0x800C2AF0;
|
||||
Message_DisplayScrollingText = 0x800C2D3C;
|
||||
Message_IsPrintingChar = 0x800C2F30;
|
||||
|
||||
// fox_save
|
||||
gDefaultSave = 0x800D4D10;
|
||||
gSaveFile = 0x80178870; //size:0x200
|
||||
|
||||
// fox_enmy1
|
||||
Object_80_Initialize = 0x80061364;
|
||||
Object_4C_Initialize = 0x80061394;
|
||||
Object_2F4_Initialize = 0x800613C4;
|
||||
Object_408_Initialize = 0x80061404;
|
||||
Object_6C_Initialize = 0x80061444;
|
||||
Object_8C_Initialize = 0x80061474;
|
||||
|
||||
// fox_A24B0
|
||||
D_80161A10 = 0x80161A10;
|
||||
D_80161A14 = 0x80161A14;
|
||||
D_80161A18 = 0x80161A18; //size:0x10
|
||||
D_80161A28 = 0x80161A28;
|
||||
D_80161A2C = 0x80161A2C;
|
||||
D_80161A2E = 0x80161A2E;
|
||||
gNextLevel = 0x80161A30;
|
||||
gNextGameState = 0x80161A32;
|
||||
D_80161A34 = 0x80161A34;
|
||||
gBgColor = 0x80161A36;
|
||||
gBlurAlpha = 0x80161A38;
|
||||
D_80161A39 = 0x80161A39;
|
||||
D_80161A3C = 0x80161A3C;
|
||||
D_80161A40 = 0x80161A40;
|
||||
D_80161A44 = 0x80161A44;
|
||||
D_800D2860 = 0x800D2860;
|
||||
D_800D2870 = 0x800D2870;
|
||||
D_800D2874 = 0x800D2874;
|
||||
D_800D2884 = 0x800D2884;
|
||||
D_800D2894 = 0x800D2894;
|
||||
D_800D28A4 = 0x800D28A4;
|
||||
sOverlaySetups = 0x800D28B4;
|
||||
|
||||
Game_Initialize = 0x800A18B0;
|
||||
Game_SetGameState = 0x800A1980;
|
||||
func_800A1B6C = 0x800A1B6C;
|
||||
func_800A1C14 = 0x800A1C14;
|
||||
func_800A1E68 = 0x800A1E68;
|
||||
func_800A1F44 = 0x800A1F44;
|
||||
func_800A1FB0 = 0x800A1FB0;
|
||||
func_800A24DC = 0x800A24DC;
|
||||
func_800A25DC = 0x800A25DC;
|
||||
func_800A26C0 = 0x800A26C0;
|
||||
func_800A3608 = 0x800A3608;
|
||||
|
||||
// sf_hud
|
||||
gMedalFlashTimer = 0x801617B8;
|
||||
gMedalStatus = 0x801617B4;
|
||||
|
||||
// sf_A4B50
|
||||
D_80161A50 = 0x80161A50;
|
||||
D_80161A54 = 0x80161A54;
|
||||
D_80161A5C = 0x80161A5C;
|
||||
D_80161A60 = 0x80161A60;
|
||||
D_80161A62 = 0x80161A62;
|
||||
D_80161A64 = 0x80161A64;
|
||||
sEnvSettings = 0x80161A68;
|
||||
D_80161A70 = 0x80161A70;
|
||||
D_80161A74 = 0x80161A74;
|
||||
D_80161A78 = 0x80161A78;
|
||||
D_80161A7C = 0x80161A7C;
|
||||
D_80161A80 = 0x80161A80;
|
||||
D_80161A84 = 0x80161A84;
|
||||
D_80161A88 = 0x80161A88;
|
||||
D_80161A8C = 0x80161A8C;
|
||||
gGoldRingCount = 0x80161A90;
|
||||
gHitCount = 0x80161A98;
|
||||
D_80161A9C = 0x80161A9C;
|
||||
gLifeCount = 0x80161AA0;
|
||||
gLaserStrength = 0x80161AA8;//size:0x10
|
||||
D_80161AB8 = 0x80161AB8;
|
||||
gObjects80 = 0x80161B00; //size:0x1900
|
||||
gObjects4C = 0x80163400; //size:0xBE0
|
||||
gObjects2F4 = 0x80163FE0; //size:0xB130
|
||||
gObjects408 = 0x8016F110; //size:0x1020
|
||||
gObjects8C = 0x80170130; //size:0x36B0
|
||||
gObjects6C = 0x801737E0; //size:0x870
|
||||
gObjects70 = 0x80174050; //size:0x700
|
||||
gUnkEntities30 = 0x80174750; //size:0x12C0
|
||||
gUnkEntities28 = 0x80175A10; //size:0xA28
|
||||
gUnkEntities1C = 0x80176438; //size:0x18
|
||||
D_80176550 = 0x80176550;
|
||||
D_80176558 = 0x80176558;
|
||||
D_80176878 = 0x80176878;
|
||||
D_80176B98 = 0x80176B98;
|
||||
D_80176EB8 = 0x80176EB8;
|
||||
D_801771D8 = 0x801771D8;
|
||||
gOverlaySetup = 0x801774F8;
|
||||
D_80177500 = 0x80177500;
|
||||
gOverlayStage = 0x80177820;
|
||||
D_80177824 = 0x80177824;
|
||||
D_80177828 = 0x80177828;
|
||||
D_8017782C = 0x8017782C;
|
||||
D_80177830 = 0x80177830;
|
||||
gGameState = 0x80177834;
|
||||
D_80177838 = 0x80177838;
|
||||
D_8017783C = 0x8017783C;
|
||||
D_80177840 = 0x80177840;
|
||||
D_80177848 = 0x80177848;
|
||||
D_8017784C = 0x8017784C;
|
||||
D_80177850 = 0x80177850;
|
||||
D_80177854 = 0x80177854;
|
||||
D_80177858 = 0x80177858;
|
||||
D_80177868 = 0x80177868;
|
||||
D_80177870 = 0x80177870;
|
||||
D_80177880 = 0x80177880;
|
||||
D_80177888 = 0x80177888;
|
||||
D_80177898 = 0x80177898;
|
||||
D_8017789C = 0x8017789C;
|
||||
D_801778A0 = 0x801778A0;
|
||||
D_801778A4 = 0x801778A4;
|
||||
gCamCount = 0x801778A8;
|
||||
D_801778AB = 0x801778AB;
|
||||
D_801778AC = 0x801778AC;
|
||||
D_801778B0 = 0x801778B0;
|
||||
D_801778C8 = 0x801778C8;
|
||||
D_801778D0 = 0x801778D0;
|
||||
D_801778E8 = 0x801778E8;
|
||||
D_80177908 = 0x80177908;
|
||||
D_80177910 = 0x80177910;
|
||||
D_80177928 = 0x80177928;
|
||||
D_80177930 = 0x80177930;
|
||||
D_80177938 = 0x80177938;
|
||||
D_80177940 = 0x80177940;
|
||||
D_80177948 = 0x80177948;
|
||||
D_80177950 = 0x80177950;
|
||||
D_80177958 = 0x80177958;
|
||||
D_80177978 = 0x80177978;
|
||||
D_8017797C = 0x8017797C;
|
||||
D_80177980 = 0x80177980;
|
||||
D_80177988 = 0x80177988;
|
||||
D_80177990 = 0x80177990;
|
||||
D_801779A0 = 0x801779A0;
|
||||
D_801779A8 = 0x801779A8;
|
||||
D_801779B8 = 0x801779B8;
|
||||
D_801779C0 = 0x801779C0;
|
||||
D_801779C8 = 0x801779C8;
|
||||
D_801779D8 = 0x801779D8;
|
||||
D_801779E8 = 0x801779E8;
|
||||
gExpertMode = 0x801779F8;
|
||||
D_80177A10 = 0x80177A10;//size:0x28
|
||||
D_80177A48 = 0x80177A48;//size:0x28
|
||||
D_80177A70 = 0x80177A70;//size:0x10
|
||||
D_80177A80 = 0x80177A80;
|
||||
D_80177A88 = 0x80177A88;//size:0x10
|
||||
D_80177A98 = 0x80177A98;
|
||||
D_80177AA0 = 0x80177AA0;
|
||||
D_80177AB0 = 0x80177AB0;
|
||||
D_80177AB8 = 0x80177AB8;
|
||||
D_80177AC8 = 0x80177AC8;
|
||||
D_80177AD0 = 0x80177AD0;
|
||||
D_80177AE0 = 0x80177AE0;
|
||||
D_80177AE8 = 0x80177AE8;
|
||||
D_80177AF8 = 0x80177AF8;
|
||||
D_80177B00 = 0x80177B00;
|
||||
D_80177B40 = 0x80177B40;
|
||||
D_80177B48 = 0x80177B48;
|
||||
D_80177B50 = 0x80177B50;
|
||||
D_80177B70 = 0x80177B70;
|
||||
D_80177B8C = 0x80177B8C;
|
||||
D_80177B90 = 0x80177B90;
|
||||
D_80177BB0 = 0x80177BB0;
|
||||
D_80177C30 = 0x80177C30;
|
||||
D_80177C50 = 0x80177C50;
|
||||
gSoundMode = 0x80177C74;
|
||||
gVolumeSettings = 0x80177C80;
|
||||
D_80177C90 = 0x80177C90;
|
||||
D_80177C94 = 0x80177C94;
|
||||
gLevelType = 0x80177C98;
|
||||
D_80177C9C = 0x80177C9C;
|
||||
D_80177CA0 = 0x80177CA0;
|
||||
D_80177CA4 = 0x80177CA4;
|
||||
D_80177CAC = 0x80177CAC;
|
||||
D_80177CB0 = 0x80177CB0;
|
||||
D_80177CB4 = 0x80177CB4;
|
||||
D_80177CBC = 0x80177CBC;
|
||||
D_80177CC4 = 0x80177CC4;
|
||||
D_80177CC8 = 0x80177CC8;
|
||||
D_80177D08 = 0x80177D08;
|
||||
gRightWingHealth = 0x80177D10;
|
||||
D_80177D20 = 0x80177D20;
|
||||
gLeftWingHealth = 0x80177D28;
|
||||
D_80177D38 = 0x80177D38;
|
||||
D_80177D40 = 0x80177D40;
|
||||
D_80177D50 = 0x80177D50;
|
||||
D_80177D58 = 0x80177D58;
|
||||
D_80177D68 = 0x80177D68;
|
||||
D_80177D70 = 0x80177D70;
|
||||
D_80177D88 = 0x80177D88;
|
||||
gBombCount = 0x80177DA0;
|
||||
gFrameCount = 0x80177DB0;
|
||||
D_80177DC8 = 0x80177DC8;
|
||||
D_80177E70 = 0x80177E70;
|
||||
D_80177E78 = 0x80177E78;
|
||||
D_80177E80 = 0x80177E80;
|
||||
D_80177E88 = 0x80177E88; // size:0xC
|
||||
D_80177E98 = 0x80177E98;
|
||||
D_80177F10 = 0x80177F10;
|
||||
D_8017812C = 0x8017812C;
|
||||
gCurrentLevel = 0x80178234;
|
||||
D_80178238 = 0x80178238;//size:4 type:u8
|
||||
D_8017827C = 0x8017827C;
|
||||
gPlayer = 0x80178280;
|
||||
D_80178284 = 0x80178284;
|
||||
D_80178288 = 0x80178288;
|
||||
D_8017828C = 0x8017828C;
|
||||
D_80178290 = 0x80178290;
|
||||
D_80178294 = 0x80178294;
|
||||
D_80178298 = 0x80178298;
|
||||
D_8017829C = 0x8017829C;
|
||||
D_801782A4 = 0x801782A4;
|
||||
D_801782AC = 0x801782AC;
|
||||
D_801782B4 = 0x801782B4;
|
||||
D_801782B8 = 0x801782B8;
|
||||
D_801782BC = 0x801782BC;
|
||||
D_801782C0 = 0x801782C0;
|
||||
D_801782D0 = 0x801782D0;
|
||||
D_801782D4 = 0x801782D4;
|
||||
D_801782D8 = 0x801782D8;
|
||||
D_801782E8 = 0x801782E8;
|
||||
D_801782F8 = 0x801782F8;
|
||||
D_801782FC = 0x801782FC;
|
||||
D_80178300 = 0x80178300;
|
||||
D_80178308 = 0x80178308;
|
||||
D_80178310 = 0x80178310;
|
||||
gFogRed = 0x80178320;
|
||||
gFogGreen = 0x80178328;
|
||||
gFogBlue = 0x80178330;
|
||||
gFogAlpha = 0x80178338;
|
||||
D_80178340 = 0x80178340;
|
||||
D_80178348 = 0x80178348;
|
||||
D_80178350 = 0x80178350;
|
||||
D_80178354 = 0x80178354;
|
||||
D_80178358 = 0x80178358;
|
||||
D_8017835C = 0x8017835C;
|
||||
D_80178360 = 0x80178360;
|
||||
D_80178364 = 0x80178364;
|
||||
D_80178368 = 0x80178368;
|
||||
D_8017836C = 0x8017836C;
|
||||
D_80178370 = 0x80178370;
|
||||
D_80178374 = 0x80178374;
|
||||
D_80178378 = 0x80178378;
|
||||
D_80178380 = 0x80178380;
|
||||
D_80178390 = 0x80178390;
|
||||
D_801783A0 = 0x801783A0;
|
||||
D_801783B0 = 0x801783B0;
|
||||
D_801783D0 = 0x801783D0;
|
||||
D_801783D4 = 0x801783D4;
|
||||
gFogNear = 0x801783D8;
|
||||
gFogFar = 0x801783DC;
|
||||
D_80178410 = 0x80178410;
|
||||
D_80178420 = 0x80178420;
|
||||
D_80178424 = 0x80178424;
|
||||
D_80178428 = 0x80178428;
|
||||
D_8017842C = 0x8017842C;
|
||||
D_80178430 = 0x80178430;
|
||||
D_80178440 = 0x80178440;
|
||||
D_80178444 = 0x80178444;
|
||||
D_80178448 = 0x80178448;
|
||||
D_8017847C = 0x8017847C;
|
||||
D_80178480 = 0x80178480;
|
||||
D_80178488 = 0x80178488;
|
||||
D_801784A4 = 0x801784A4;
|
||||
D_801784AC = 0x801784AC;
|
||||
D_801784B8 = 0x801784B8;
|
||||
D_801784BC = 0x801784BC;
|
||||
D_801784C0 = 0x801784C0;
|
||||
D_801784C4 = 0x801784C4;
|
||||
D_801784C8 = 0x801784C8;
|
||||
D_801784CC = 0x801784CC;
|
||||
D_801784D0 = 0x801784D0;
|
||||
D_801784D4 = 0x801784D4;
|
||||
D_801784D8 = 0x801784D8;
|
||||
gLight1x = 0x801784DC;
|
||||
gLight1y = 0x801784E0;
|
||||
gLight1z = 0x801784E4;
|
||||
D_801784E8 = 0x801784E8;
|
||||
D_801784EC = 0x801784EC;
|
||||
D_801784F0 = 0x801784F0;
|
||||
D_801784F4 = 0x801784F4;
|
||||
D_801784F8 = 0x801784F8;
|
||||
D_801784FC = 0x801784FC;
|
||||
D_80178500 = 0x80178500;
|
||||
gLight2x = 0x80178504;
|
||||
gLight2y = 0x80178508;
|
||||
gLight2z = 0x8017850C;
|
||||
D_80178520 = 0x80178520;
|
||||
D_80178524 = 0x80178524;
|
||||
D_80178528 = 0x80178528;
|
||||
D_80178538 = 0x80178538;
|
||||
D_8017853C = 0x8017853C;
|
||||
D_80178540 = 0x80178540;
|
||||
D_80178544 = 0x80178544;
|
||||
gLight1R = 0x80178548;
|
||||
gLight1G = 0x8017854C;
|
||||
gLight1B = 0x80178550;
|
||||
gAmbientR = 0x80178554;
|
||||
gAmbientG = 0x80178558;
|
||||
gAmbientB = 0x8017855C;
|
||||
gLight2R = 0x80178564;
|
||||
gLight2G = 0x80178568;
|
||||
gLight2B = 0x8017856C;
|
||||
D_80178570 = 0x80178570;
|
||||
D_80178574 = 0x80178574;
|
||||
D_80178578 = 0x80178578;
|
||||
|
||||
Play_GetMaxHealth = 0x800A3FC4;
|
||||
Play_CheckMedalStatus = 0x800A3F50;
|
||||
|
||||
@@ -401,6 +401,7 @@ D_600683C = 0x0600683C;
|
||||
D_6006858 = 0x06006858;
|
||||
D_6006890_f32 = 0x06006890;
|
||||
D_6006890_Gfx = 0x06006890;
|
||||
D_6030B14_f32 = 0x6030B14;
|
||||
D_60068BC = 0x060068BC;
|
||||
D_60068F0 = 0x060068F0;
|
||||
D_6006A3C = 0x06006A3C;
|
||||
|
||||
+726
-726
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,117 @@
|
||||
#include "global.h"
|
||||
|
||||
s32 D_801613A0;
|
||||
|
||||
s32 D_800C9E90[28] = {
|
||||
0x8012, 0x8013, 0x8015, 0x8017, 0x8017, 0x8019, 0x8018, 0x801B, 0x8016, 0x8018, 0x8012, 0x8020, 0x8014, 0x801E,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
const f32 D_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f };
|
||||
|
||||
void func_80042EC0(Object_408* arg0) {
|
||||
s32 var_a3;
|
||||
f32 var_fv0;
|
||||
|
||||
if (D_801613A0 < 0xF00) {
|
||||
var_a3 = 10;
|
||||
} else if (D_801613A0 < 0x1680) {
|
||||
var_a3 = 5;
|
||||
} else if (D_801613A0 < 0x1E00) {
|
||||
var_a3 = 2;
|
||||
} else if (D_801613A0 < 0x2580) {
|
||||
var_a3 = 1;
|
||||
} else {
|
||||
var_a3 = 0;
|
||||
}
|
||||
if (var_a3 != 0) {
|
||||
var_fv0 = 0.0f;
|
||||
if (arg0->obj.id == OBJECT_292) {
|
||||
var_fv0 = 300.0f;
|
||||
} else if (arg0->obj.id == OBJECT_306) {
|
||||
var_fv0 = 200.0f;
|
||||
}
|
||||
func_80077240(arg0->obj.pos.x, arg0->obj.pos.y + var_fv0, arg0->obj.pos.z, var_a3);
|
||||
}
|
||||
gHitCount += var_a3 + 1;
|
||||
D_80177850 = 0xF;
|
||||
}
|
||||
|
||||
void func_80042FAC(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FB8(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FC4(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FD0(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FDC(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FE8(Object_408* arg0) {
|
||||
}
|
||||
|
||||
void func_80042FF4(Object_2F4* arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
|
||||
f32 arg9, f32 argA, s32 argB, s32 argC) {
|
||||
Object_2F4_Initialize(arg0);
|
||||
arg0->obj.status = 1;
|
||||
arg0->obj.id = OBJECT_189;
|
||||
arg0->unk_0B8 = argB;
|
||||
arg0->obj.pos.x = arg1;
|
||||
arg0->obj.pos.y = arg2;
|
||||
arg0->obj.pos.z = arg3;
|
||||
arg0->obj.rot.x = arg4;
|
||||
arg0->obj.rot.y = arg5;
|
||||
arg0->obj.rot.z = arg6;
|
||||
arg0->unk_0E8.x = arg7;
|
||||
arg0->unk_0E8.y = arg8;
|
||||
arg0->unk_0E8.z = arg9;
|
||||
arg0->unk_110 = argA;
|
||||
arg0->unk_0BC = argC;
|
||||
arg0->unk_0BE = 20;
|
||||
func_800612B8(&arg0->unk_01C, arg0->obj.id);
|
||||
if (gLevelType == 0) {
|
||||
arg0->unk_10C = 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
void func_800430DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9,
|
||||
s32 argA, s32 argB) {
|
||||
s32 i;
|
||||
|
||||
for (i = 59; i >= 0; i--) {
|
||||
if (gObjects2F4[i].obj.status == 0) {
|
||||
func_80042FF4(&gObjects2F4[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80043188(Object_2F4* arg0) {
|
||||
arg0->unk_01C.unk_10 = 30000.0f;
|
||||
}
|
||||
|
||||
void func_8004319C(Player* arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
func_800182F4(0x105000FF);
|
||||
func_800182F4(0x115000FF);
|
||||
|
||||
D_80177A80 = 0;
|
||||
D_80178448 = arg3 + D_80177D20;
|
||||
D_80178440 = arg1;
|
||||
D_80178444 = arg2;
|
||||
|
||||
arg0->unk_1C8 = 7;
|
||||
arg0->unk_1D0 = 10;
|
||||
arg0->unk_1F8 = 50;
|
||||
arg0->unk_1FC = 50;
|
||||
arg0->unk_000 = 0.0f;
|
||||
arg0->unk_004 = 1.0f;
|
||||
if (arg0->unk_074 < arg0->unk_0AC) {
|
||||
arg0->unk_004 = -1.0f;
|
||||
}
|
||||
gPlayer[0].unk_0C0.x = 0.0f;
|
||||
}
|
||||
+157
-154
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -551,7 +551,7 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
|
||||
sp108.dist = var_s0->dist;
|
||||
if ((DOT_XYZ(sp108.normal, temp_V3f1) + sp108.dist) <= 0.0f) {
|
||||
temp_fs0 = sp108.normal.x * arg2->x + sp108.normal.y * arg2->y + sp108.normal.z * arg2->z;
|
||||
if (Math_FAcosF(temp_fs0 / (sqrtf(VEC3F_SQ(sp108.normal)) * spEC)) > 1.5707964f) {
|
||||
if (Math_FAcosF(temp_fs0 / (sqrtf(VEC3F_SQ(sp108.normal)) * spEC)) > M_PI / 2.0f) {
|
||||
temp_fs0 = (DOT_XYZ(sp108.normal, temp_V3f1) + sp108.dist) / temp_fs0;
|
||||
spDC.x = temp_V3f1.x - (arg2->x * temp_fs0);
|
||||
spDC.y = temp_V3f1.y - (arg2->y * temp_fs0);
|
||||
@@ -574,7 +574,7 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
|
||||
arg5[1] =
|
||||
-Math_Atan2F_XY(__sinf(Math_Atan2F_XY(sp108.normal.y, sp108.normal.z)) * sp108.normal.z,
|
||||
sp108.normal.x);
|
||||
} else if (arg5[0] >= 3.1415927f) {
|
||||
} else if (arg5[0] >= M_PI) {
|
||||
arg5[1] = Math_Atan2F_XY(sp108.normal.y, sp108.normal.x);
|
||||
} else {
|
||||
arg5[1] = -Math_Atan2F_XY(sp108.normal.y, sp108.normal.x);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user