mirror of
https://github.com/HarbourMasters/Starship
synced 2026-07-09 07:03:15 -04:00
+11
-11
@@ -149,8 +149,8 @@ void func_80042FAC(Object_408 *);
|
||||
void func_80042FD0(Object_408 *);
|
||||
void func_80053658(UnkStruct_D_80161630 *);
|
||||
void func_8005465C(s32);
|
||||
u8 func_80058F14(u8 arg0, u8 arg1);
|
||||
void func_80059498(void);
|
||||
u8 Overlay_Load(u8 arg0, u8 arg1);
|
||||
void Overlay_InitDma(void);
|
||||
void func_8005980C(f32 arg0);
|
||||
void func_80057D00(void);
|
||||
void func_8005F030(Vec3f*);
|
||||
@@ -288,20 +288,20 @@ void func_800B86CC(void);
|
||||
s32 func_800BA7BC(u16*, s32);
|
||||
void func_800BA808(u16*, s32);
|
||||
void func_800BB5D0(void);
|
||||
void func_800BC4B0(void);
|
||||
void Graphics_NMIWipe(void);
|
||||
void func_800B6F50(f32, f32, f32, f32, f32, f32);
|
||||
void func_800B9358(void);
|
||||
void func_800C1ED4(void);
|
||||
void func_800C20B0(void);
|
||||
void func_800C2190(void);
|
||||
u16* func_800C2830(u16 arg0);
|
||||
u16 func_800C2890(u16*);
|
||||
s32 func_800C28DC(u16* arg0);
|
||||
s32 func_800C2928(u16* arg0);
|
||||
void func_800C295C(Gfx** arg0, u16 arg1, s32 arg2, s32 arg3);
|
||||
s32 func_800C2AF0(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_800C2D3C(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
s32 func_800C2F30(u16*, s32);
|
||||
u16* Message_PtrFromId(u16 msgId);
|
||||
u16 Message_IdFromPtr(u16*);
|
||||
s32 Message_GetWidth(u16* msgPtr);
|
||||
s32 Message_GetCharCount(u16* msgPtr);
|
||||
void Message_DisplayChar(Gfx** gfxPtr, u16 msgChar, s32 xpos, s32 ypos);
|
||||
s32 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);
|
||||
s32 Message_NotWhitespace(u16*, s32);
|
||||
s32 Save_Write(void);
|
||||
s32 Save_Read(void);
|
||||
|
||||
|
||||
+26
-26
@@ -149,22 +149,22 @@ typedef struct {
|
||||
/* 0x08 */ SkelAnime* skelanime;
|
||||
} Animation; // size = 0x0C
|
||||
|
||||
char* func_80099980(char *buf, s32 fill, s32 len);
|
||||
s32 func_800999D8(const char *fmt, ...);
|
||||
void func_80099A2C(void *texture, s32 width, s32 height, u8 mode);
|
||||
void func_80099E28(void *dst, void *src, u8 mode);
|
||||
s32 func_8009A400(Limb* limb, Limb** skeleton);
|
||||
void func_8009A440(s32 mode, Limb * limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
|
||||
void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
|
||||
s16 func_8009AA20(AnimationHeader *animationSegmemt, s32 frame, Vec3f *frameTable);
|
||||
s16 func_8009ACDC(AnimationHeader *animationSegment);
|
||||
void func_8009AD18(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
|
||||
void func_8009B74C(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
|
||||
void func_8009B784(Limb **skeletonSegment, AnimationHeader *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
|
||||
f32 func_8009BC2C(f32 *value, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
f32 func_8009BD38(f32 *angle, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||
void func_8009BEEC(Vec3f *src, Vec3f *dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep);
|
||||
s32 func_8009C124(Vec3f *pos, Vec3f *target, Vec3f *rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist);
|
||||
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);
|
||||
@@ -182,17 +182,17 @@ void TextureRect_16bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height,
|
||||
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 func_8009F574(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a);
|
||||
void func_8009F6CC(Vec3f *step, f32 xRot, f32 yRot, f32 stepsize);
|
||||
f32 func_8009F768(f32 rAngle);
|
||||
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);
|
||||
s32* func_8009F7B4(Gfx **gfxPtr, u8 width, u8 height);
|
||||
void func_8009FC0C(s32 xPos, s32 yPos, s32 number);
|
||||
void func_8009FEA0(s32 xPos, s32 yPos, s32 number);
|
||||
void func_800A0094(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 func_800A06F8(char *text);
|
||||
void func_800A100C(s32 xPos, s32 yPos, s32 number);
|
||||
void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||
s32 func_800A13EC(char *text);
|
||||
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);
|
||||
|
||||
|
||||
+28
-28
@@ -89,34 +89,34 @@ typedef struct {
|
||||
|
||||
extern DmaEntry gDmaTable[]; // 178A70
|
||||
|
||||
extern OverlayInit D_800CA3B4[1]; // sets segment 15 with no overlay
|
||||
extern OverlayInit D_800CA44C[6]; // overlay EF0260
|
||||
extern OverlayInit D_800CA7DC[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA874[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA90C[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA9A4[1]; // EBFBE0
|
||||
extern OverlayInit D_800CAA3C[1]; // DF4260
|
||||
extern OverlayInit D_800CAAD4[2]; // E08400
|
||||
extern OverlayInit D_800CAC04[6]; // E6A810
|
||||
extern OverlayInit D_800CAF94[2]; // E08400
|
||||
extern OverlayInit D_800CB0C4[1]; // E51970
|
||||
extern OverlayInit D_800CB15C[1]; // E16C50
|
||||
extern OverlayInit D_800CB1F4[1]; // E16C50
|
||||
extern OverlayInit D_800CB28C[2]; // E51970
|
||||
extern OverlayInit D_800CB3BC[1]; // E16C50
|
||||
extern OverlayInit D_800CB454[1]; // E9F1D0
|
||||
extern OverlayInit D_800CB4EC[1]; // E16C50
|
||||
extern OverlayInit D_800CB584[1]; // E16C50
|
||||
extern OverlayInit D_800CB61C[1]; // DF4260
|
||||
extern OverlayInit D_800CB6B4[1]; // E9F1D0
|
||||
extern OverlayInit D_800CB74C[2]; // E9F1D0
|
||||
extern OverlayInit D_800CB87C[1]; // E08400
|
||||
extern OverlayInit D_800CB914[1]; // E51970
|
||||
extern OverlayInit D_800CB9AC[1]; // E51970
|
||||
extern OverlayInit D_800CBA44[2]; // E6A810
|
||||
extern OverlayInit D_800CBB74[1]; // DF4260
|
||||
extern OverlayInit D_800CBC0C[2]; // E08400
|
||||
extern OverlayInit D_800CBD3C[1]; // EFFA40
|
||||
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 sEFFA40_Overlay[1]; // EFFA40
|
||||
|
||||
DECLARE_SEGMENT(makerom);
|
||||
DECLARE_SEGMENT(main);
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
#define UNK_TYPE s32
|
||||
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
u16* unk4;
|
||||
} UnkStruct_D_80185CBC;
|
||||
s32 msgId;
|
||||
u16* msgPtr;
|
||||
} MsgLookup;
|
||||
|
||||
typedef void (*TimerAction)(s32*, s32);
|
||||
|
||||
|
||||
+2
-4
@@ -133,8 +133,6 @@ extern OSMesg D_80156608[4];
|
||||
extern OSMesg D_80156618[1];
|
||||
extern OSMesg D_8015661C[1];
|
||||
|
||||
extern u8 D_800CA3B0;
|
||||
|
||||
extern f32 D_800CBF18[];
|
||||
extern ObjectStruct_1C D_800CC124[];
|
||||
extern f32 D_800CF9B0[];
|
||||
@@ -450,7 +448,7 @@ extern Gfx D_Gfx_800DBAA0[];
|
||||
extern Gfx D_Gfx_800DAC20[];
|
||||
extern Gfx D_Gfx_800D9688[];
|
||||
|
||||
extern u8 D_80179010[24][16 * 13 / 2];
|
||||
extern u8 gTextCharTextures[24][16 * 13 / 2];
|
||||
extern u16 D_8017A0F4[];
|
||||
extern u16 D_80182544[];
|
||||
extern u16 D_80183CA8[];
|
||||
@@ -468,7 +466,7 @@ extern u16 D_8018398C[];
|
||||
extern u16 D_801839B8[];
|
||||
extern u16 D_80183A08[];
|
||||
extern u16 D_80183A64[];
|
||||
extern UnkStruct_D_80185CBC D_80185CBC[];
|
||||
extern MsgLookup gMsgLookup[];
|
||||
|
||||
extern Gfx* D_DF4260_8019A008[];
|
||||
extern Matrix D_E51970_8019EE80;
|
||||
|
||||
@@ -18,8 +18,6 @@ D_80178A70 = 0x80178A78; //ignore:true
|
||||
D_800D3180 = 0x800D3180; // size:0x1E
|
||||
gSetupDLs = 0x800D31B0; // size:0x18C0
|
||||
|
||||
D_80179010 = 0x80179010; //type:u8
|
||||
|
||||
D_800CFCA0 = 0x800CFCA0;
|
||||
|
||||
D_800DD900 = 0x800DD900; // size:0x1A0
|
||||
@@ -38,7 +36,7 @@ __rspboot_end = 0x80000520;
|
||||
__f3dex_start = 0x80001410;
|
||||
gF3dexData = 0x800C3DD0;
|
||||
|
||||
D_800CBD3C = 0x800CBD3C;
|
||||
sEFFA40_Overlay = 0x800CBD3C;
|
||||
|
||||
D_80177E88 = 0x80177E88; // size:0xC
|
||||
D_800CFA54 = 0x800CFA54;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
func_80099980 = 0x80099980;
|
||||
func_800999D8 = 0x800999D8;
|
||||
func_80099A2C = 0x80099A2C;
|
||||
func_80099E28 = 0x80099E28;
|
||||
func_8009A400 = 0x8009A400;
|
||||
func_8009A440 = 0x8009A440;
|
||||
func_8009A72C = 0x8009A72C;
|
||||
func_8009AA20 = 0x8009AA20;
|
||||
func_8009ACDC = 0x8009ACDC;
|
||||
func_8009AD18 = 0x8009AD18;
|
||||
func_8009B74C = 0x8009B74C;
|
||||
func_8009B784 = 0x8009B784;
|
||||
func_8009BC2C = 0x8009BC2C;
|
||||
func_8009BD38 = 0x8009BD38;
|
||||
func_8009BEEC = 0x8009BEEC;
|
||||
func_8009C124 = 0x8009C124;
|
||||
Graphics_ClearPrintBuffer = 0x80099980;
|
||||
Graphics_Printf = 0x800999D8;
|
||||
Texture_Scroll = 0x80099A2C;
|
||||
Texture_Mottle = 0x80099E28;
|
||||
Animation_GetLimbIndex = 0x8009A400;
|
||||
Animation_DrawLimb = 0x8009A440;
|
||||
Animation_DrawSkeleton = 0x8009A72C;
|
||||
Animation_GetFrameData = 0x8009AA20;
|
||||
Animation_GetFrameCount = 0x8009ACDC;
|
||||
Animation_FindBoundingBox = 0x8009AD18;
|
||||
Animation_GetDListBoundingBox = 0x8009B74C;
|
||||
Animation_GetSkeletonBoundingBox = 0x8009B784;
|
||||
Math_SmoothStepToF = 0x8009BC2C;
|
||||
Math_SmoothStepToAngle = 0x8009BD38;
|
||||
Math_SmoothStepToVec3fArray = 0x8009BEEC;
|
||||
Math_PursueVec3f = 0x8009C124;
|
||||
TextureRect_4bCI = 0x8009C320;
|
||||
TextureRect_4bCI_Flip = 0x8009C674;
|
||||
TextureRect_4bCI_MirX = 0x8009C9C8;
|
||||
@@ -31,18 +31,29 @@ TextureRect_16bIA_MirX = 0x8009EA38;
|
||||
TextureRect_16bIA_MirY = 0x8009ED04;
|
||||
TextureRect_16bIA_MirXY = 0x8009EFDC;
|
||||
TextureRect_32bRGBA = 0x8009F2C0;
|
||||
func_8009F574 = 0x8009F574;
|
||||
func_8009F6CC = 0x8009F6CC;
|
||||
func_8009F768 = 0x8009F768;
|
||||
Graphics_FillRectangle = 0x8009F574;
|
||||
Math_Vec3fFromAngles = 0x8009F6CC;
|
||||
Math_RadToDeg = 0x8009F768;
|
||||
func_8009F7B4 = 0x8009F7B4;
|
||||
func_8009FC0C = 0x8009FC0C;
|
||||
func_8009FEA0 = 0x8009FEA0;
|
||||
func_800A0094 = 0x800A0094;
|
||||
func_800A06F8 = 0x800A06F8;
|
||||
func_800A100C = 0x800A100C;
|
||||
func_800A1200 = 0x800A1200;
|
||||
func_800A13EC = 0x800A13EC;
|
||||
Graphics_DisplayHUDNumber = 0x8009FC0C;
|
||||
Graphics_DisplaySmallNumber = 0x8009FEA0;
|
||||
Graphics_DisplayLargeText = 0x800A0094;
|
||||
Graphics_GetLargeTextWidth = 0x800A06F8;
|
||||
Graphics_DisplayLargeNumber = 0x800A100C;
|
||||
Graphics_DisplaySmallText = 0x800A1200;
|
||||
Graphics_GetSmallTextWidth = 0x800A13EC;
|
||||
func_800A1540 = 0x800A1540;
|
||||
func_800A1558 = 0x800A1558;
|
||||
|
||||
gTextCharTextures = 0x80179010;
|
||||
gMsgLookup = 0x80185CBC;
|
||||
gDefaultSave = 0x800D4D10;
|
||||
|
||||
Message_PtrFromId = 0x800C2830;
|
||||
Message_IdFromPtr = 0x800C2890;
|
||||
Message_GetWidth = 0x800C28DC;
|
||||
Message_GetCharCount = 0x800C2928;
|
||||
Message_DisplayChar = 0x800C295C;
|
||||
Message_DisplayText = 0x800C2AF0;
|
||||
Message_DisplayScrollingText = 0x800C2D3C;
|
||||
Message_NotWhitespace = 0x800C2F30;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
// clang-format off
|
||||
|
||||
u8 D_80179010[][104] = {
|
||||
u8 gTextCharTextures[][104] = {
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
|
||||
+4147
-2934
File diff suppressed because it is too large
Load Diff
+14
-12
@@ -7,22 +7,24 @@ void func_8002E3E0(Object_2F4* arg0) {
|
||||
|
||||
if (D_80178234 == 0x13) {
|
||||
if (D_8015F940 < 0xF00) {
|
||||
var_a3 = 0x32;
|
||||
var_a3 = 50;
|
||||
} else if (D_8015F940 < 0x1680) {
|
||||
var_a3 = 0x1E;
|
||||
var_a3 = 30;
|
||||
} else if (D_8015F940 < 0x1E00) {
|
||||
var_a3 = 0x14;
|
||||
var_a3 = 20;
|
||||
} else if (D_8015F940 < 0x2580) {
|
||||
var_a3 = 0xA;
|
||||
var_a3 = 10;
|
||||
}
|
||||
} else {
|
||||
if (D_8015F940 < 0xF00) {
|
||||
var_a3 = 10;
|
||||
} else if (D_8015F940 < 0x1680) {
|
||||
var_a3 = 5;
|
||||
} else if (D_8015F940 < 0x1E00) {
|
||||
var_a3 = 2;
|
||||
} else if (D_8015F940 < 0x2580) {
|
||||
var_a3 = 1;
|
||||
}
|
||||
} else if (D_8015F940 < 0xF00) {
|
||||
var_a3 = 0xA;
|
||||
} else if (D_8015F940 < 0x1680) {
|
||||
var_a3 = 5;
|
||||
} else if (D_8015F940 < 0x1E00) {
|
||||
var_a3 = 2;
|
||||
} else if (D_8015F940 < 0x2580) {
|
||||
var_a3 = 1;
|
||||
}
|
||||
if (var_a3 != 0) {
|
||||
func_80077240(arg0->obj.pos.x, arg0->obj.pos.y, arg0->obj.pos.z, var_a3);
|
||||
|
||||
@@ -1,181 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "sf64dma.h"
|
||||
|
||||
#define SEGMENT_SIZE(segment) ((ptrdiff_t) ((uintptr_t) (segment).end - (uintptr_t) (segment).start))
|
||||
|
||||
u8 D_800CA3B0 = 3;
|
||||
|
||||
#include "fox_59780_inits.c"
|
||||
|
||||
void func_80058B80(void* arg0, void* arg1, ptrdiff_t arg2) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; gDmaTable[i].pRom.end != NULL; i++) {
|
||||
if (gDmaTable[i].vRomAddress == arg0) {
|
||||
if (gDmaTable[i].compFlag == 0) {
|
||||
Lib_DmaRead(gDmaTable[i].pRom.start, arg1, arg2);
|
||||
} else {
|
||||
Lib_FillScreen(1);
|
||||
D_800CA3B0 = 3;
|
||||
D_80161A39 = 1;
|
||||
Lib_DmaRead(gDmaTable[i].pRom.start, gFrameBuffers, SEGMENT_SIZE(gDmaTable[i].pRom));
|
||||
Mio0_Decompress(gFrameBuffers, arg1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u8 func_80058C48(OverlayInit* ovlInit) {
|
||||
u8* ramPtr = SEGMENT_VRAM_START(ovl_DF4260);
|
||||
u8 segment;
|
||||
u8 startLoad = false;
|
||||
|
||||
if (ovlInit->ovl.rom.start == (0, D_800CBDD4.ovl.rom.start)) { // fake because D_800CBDD4 is probably 2D array
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom);
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss);
|
||||
} else {
|
||||
D_800CBDD4.ovl.rom.start = ovlInit->ovl.rom.start;
|
||||
D_800CBDD4.ovl.rom.end = ramPtr;
|
||||
if (ovlInit->ovl.rom.start != 0) {
|
||||
startLoad = true;
|
||||
func_80058B80(ovlInit->ovl.rom.start, ramPtr, SEGMENT_SIZE(ovlInit->ovl.rom));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom);
|
||||
bzero(ovlInit->ovl.bss.start, SEGMENT_SIZE(ovlInit->ovl.bss));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss);
|
||||
}
|
||||
}
|
||||
segment = 0;
|
||||
while ((segment < 15) && (ovlInit->assets[segment].start == D_800CBDD4.assets[segment].start) && (startLoad == 0)) {
|
||||
if (ovlInit->assets[segment].start != 0) {
|
||||
gSegments[segment + 1] = K0_TO_PHYS(ramPtr);
|
||||
gSPSegment(gUnkDisp1++, segment + 1, K0_TO_PHYS(ramPtr));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->assets[segment]);
|
||||
}
|
||||
segment += 1;
|
||||
}
|
||||
for (segment; segment < 15; segment += 1) {
|
||||
D_800CBDD4.assets[segment].start = ovlInit->assets[segment].start;
|
||||
D_800CBDD4.assets[segment].end = ramPtr;
|
||||
if (ovlInit->assets[segment].start != 0) {
|
||||
gSegments[segment + 1] = K0_TO_PHYS(ramPtr);
|
||||
gSPSegment(gUnkDisp1++, segment + 1, K0_TO_PHYS(ramPtr));
|
||||
func_80058B80(ovlInit->assets[segment].start, ramPtr, SEGMENT_SIZE(ovlInit->assets[segment]));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->assets[segment]);
|
||||
}
|
||||
}
|
||||
|
||||
if (D_800CA3B0 != 0) {
|
||||
D_800CA3B0--;
|
||||
} else if (gStartNMI == 0) {
|
||||
Lib_FillScreen(0);
|
||||
}
|
||||
return startLoad;
|
||||
}
|
||||
|
||||
u8 func_80058F14(u8 arg0, u8 arg1) {
|
||||
u8 var_v1;
|
||||
|
||||
switch (arg0) {
|
||||
case 0x0:
|
||||
var_v1 = func_80058C48(&D_800CA7DC[arg1]);
|
||||
if (var_v1 == 1) {
|
||||
func_8001DC6C(0, 0x16);
|
||||
}
|
||||
break;
|
||||
case 0x1:
|
||||
var_v1 = func_80058C48(&D_800CA874[arg1]);
|
||||
break;
|
||||
case 0x2:
|
||||
var_v1 = func_80058C48(&D_800CA90C[arg1]);
|
||||
break;
|
||||
case 0x3:
|
||||
var_v1 = func_80058C48(&D_800CA9A4[arg1]);
|
||||
break;
|
||||
case 0x5:
|
||||
var_v1 = func_80058C48(&D_800CAA3C[arg1]);
|
||||
break;
|
||||
case 0x6:
|
||||
var_v1 = func_80058C48(&D_800CAAD4[arg1]);
|
||||
break;
|
||||
case 0x7:
|
||||
var_v1 = func_80058C48(&D_800CAC04[arg1]);
|
||||
break;
|
||||
case 0x8:
|
||||
var_v1 = func_80058C48(&D_800CAF94[arg1]);
|
||||
break;
|
||||
case 0x17:
|
||||
var_v1 = func_80058C48(&D_800CB0C4[arg1]);
|
||||
break;
|
||||
case 0x9:
|
||||
var_v1 = func_80058C48(&D_800CB15C[arg1]);
|
||||
break;
|
||||
case 0xA:
|
||||
var_v1 = func_80058C48(&D_800CB1F4[arg1]);
|
||||
break;
|
||||
case 0xB:
|
||||
var_v1 = func_80058C48(&D_800CB28C[arg1]);
|
||||
break;
|
||||
case 0xC:
|
||||
var_v1 = func_80058C48(&D_800CB3BC[arg1]);
|
||||
break;
|
||||
case 0xD:
|
||||
var_v1 = func_80058C48(&D_800CB454[arg1]);
|
||||
break;
|
||||
case 0xE:
|
||||
var_v1 = func_80058C48(&D_800CB4EC[arg1]);
|
||||
break;
|
||||
case 0xF:
|
||||
var_v1 = func_80058C48(&D_800CB584[arg1]);
|
||||
break;
|
||||
case 0x10:
|
||||
var_v1 = func_80058C48(&D_800CB6B4[arg1]);
|
||||
break;
|
||||
case 0x11:
|
||||
var_v1 = func_80058C48(&D_800CBB74[arg1]);
|
||||
break;
|
||||
case 0x12:
|
||||
var_v1 = func_80058C48(&D_800CB61C[arg1]);
|
||||
break;
|
||||
case 0x18:
|
||||
var_v1 = func_80058C48(&D_800CB74C[arg1]);
|
||||
break;
|
||||
case 0x14:
|
||||
var_v1 = func_80058C48(&D_800CB87C[arg1]);
|
||||
break;
|
||||
case 0x16:
|
||||
var_v1 = func_80058C48(&D_800CB914[arg1]);
|
||||
break;
|
||||
case 0x13:
|
||||
var_v1 = func_80058C48(&D_800CB9AC[arg1]);
|
||||
break;
|
||||
case 0x15:
|
||||
var_v1 = func_80058C48(&D_800CBA44[arg1]);
|
||||
break;
|
||||
case 0x32:
|
||||
var_v1 = func_80058C48(&D_800CBC0C[arg1]);
|
||||
if (var_v1 == 1) {
|
||||
func_8001DC6C(3, 0x310);
|
||||
}
|
||||
break;
|
||||
case 0x63:
|
||||
var_v1 = func_80058C48(&D_800CA3B4[arg1]);
|
||||
if (var_v1 == 1) {
|
||||
func_8001DC6C(0, 0xE);
|
||||
}
|
||||
break;
|
||||
case 0x4:
|
||||
var_v1 = func_80058C48(&D_800CA44C[arg1]);
|
||||
break;
|
||||
default:
|
||||
(void) "DMA MODE ERROR %d\n";
|
||||
var_v1 = 0;
|
||||
break;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_80059498(void) {
|
||||
Lib_DmaRead(SEGMENT_ROM_START(dma_table), gDmaTable, SEGMENT_ROM_SIZE(dma_table));
|
||||
func_80058B80(SEGMENT_ROM_START(ast_DE5D50), D_80179010, SEGMENT_ROM_SIZE(ast_DE5D50));
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
#include "global.h"
|
||||
|
||||
void func_80084370(s32 arg0) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, arg0, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
func_8009F574(&gMasterDisp, SCREEN_WIDTH - arg0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, arg0, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, SCREEN_WIDTH - arg0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
}
|
||||
|
||||
void func_800843FC(s32 arg0) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, SCREEN_WIDTH, arg0, 0, 0, 0, 255);
|
||||
func_8009F574(&gMasterDisp, 0, SCREEN_HEIGHT - arg0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH, arg0, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, 0, SCREEN_HEIGHT - arg0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||
}
|
||||
|
||||
void func_80084488(s32 arg0) {
|
||||
@@ -16,7 +16,7 @@ void func_80084488(s32 arg0) {
|
||||
func_800B8FA8();
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -150.0f, 0);
|
||||
for (var_s1 = 0; var_s1 < MIN(360, arg0 * 15); var_s1 += 0xF) {
|
||||
for (var_s1 = 0; var_s1 < MIN(360, arg0 * 15); var_s1 += 15) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, MIN((arg0 - (var_s1 / 15)) * 15, 255));
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_RotateZ(gGfxMatrix, var_s1 * M_DTOR, 1);
|
||||
|
||||
+74
-71
@@ -27,8 +27,8 @@ void func_800A18B0(void) {
|
||||
D_80161A10 = D_80161A14 = 0.0f;
|
||||
D_801774F8 = 99;
|
||||
D_80177820 = 0;
|
||||
func_80059498();
|
||||
D_80161A39 = 1;
|
||||
Overlay_InitDma();
|
||||
D_80161A39 = true;
|
||||
}
|
||||
|
||||
void func_800A1980(void) {
|
||||
@@ -83,23 +83,23 @@ void func_800A1980(void) {
|
||||
}
|
||||
|
||||
s32 func_800A1B6C(void) {
|
||||
static u8 D_800D2908 = 0;
|
||||
static u8 D_800D290C = 99;
|
||||
static u8 D_800D2910 = 99;
|
||||
static u8 D_800D2914 = 99;
|
||||
static u8 sHoldTimer = 0;
|
||||
static u8 sOverlaySelect = 99;
|
||||
static u8 sCurrentOverlay = 99;
|
||||
static u8 sOverlayMode = 99;
|
||||
|
||||
if (D_801774F8 != D_800D2910) {
|
||||
D_800D2908 = 2;
|
||||
D_800D2910 = D_801774F8;
|
||||
if (D_801774F8 != sCurrentOverlay) {
|
||||
sHoldTimer = 2;
|
||||
sCurrentOverlay = D_801774F8;
|
||||
}
|
||||
if (D_800D2908 == 0) {
|
||||
D_800D290C = D_800D2910;
|
||||
D_800D2914 = D_80177820;
|
||||
if (sHoldTimer == 0) {
|
||||
sOverlaySelect = sCurrentOverlay;
|
||||
sOverlayMode = D_80177820;
|
||||
}
|
||||
func_80058F14(D_800D290C, D_800D2914);
|
||||
Overlay_Load(sOverlaySelect, sOverlayMode);
|
||||
|
||||
if (D_800D2908) {
|
||||
D_800D2908--;
|
||||
if (sHoldTimer) {
|
||||
sHoldTimer--;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@@ -107,12 +107,12 @@ s32 func_800A1B6C(void) {
|
||||
|
||||
void func_800A1C14(Gfx** arg0) {
|
||||
gSPDisplayList((*arg0)++, D_Gfx_800DBAA0);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
||||
gDPSetDepthImage((*arg0)++, &gZBuffer);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, &gZBuffer);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, &gZBuffer);
|
||||
gDPSetFillColor((*arg0)++, 0xFFFCFFFC);
|
||||
gDPFillRectangle((*arg0)++, 8, 8, 311, 231);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, gFrameBuffer);
|
||||
gDPFillRectangle((*arg0)++, 8, 8, SCREEN_WIDTH - 8 - 1, SCREEN_HEIGHT - 8 - 1);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gFrameBuffer);
|
||||
|
||||
if (D_80161A38 < 0xFF) {
|
||||
gDPPipeSync((*arg0)++);
|
||||
@@ -124,24 +124,24 @@ void func_800A1C14(Gfx** arg0) {
|
||||
} else {
|
||||
gDPSetFillColor((*arg0)++, (((D_80161A36 | 1) << 0x10) | (D_80161A36 | 1)));
|
||||
}
|
||||
gDPFillRectangle((*arg0)++, 8, 8, 311, 232);
|
||||
gDPFillRectangle((*arg0)++, 8, 8, SCREEN_WIDTH - 8 - 1, SCREEN_HEIGHT - 8);
|
||||
gDPPipeSync((*arg0)++);
|
||||
gDPSetColorDither((*arg0)++, G_CD_MAGICSQ);
|
||||
}
|
||||
|
||||
void func_800A1E68(Gfx** arg0) {
|
||||
gSPDisplayList((*arg0)++, D_Gfx_800DBAA0);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 0, 0, 320, 720);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT * 3);
|
||||
gDPSetFillColor((*arg0)++, 0x00010001);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, gFrameBuffers);
|
||||
gDPFillRectangle((*arg0)++, 0, 0, 319, 719);
|
||||
gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gFrameBuffers[0].data);
|
||||
gDPFillRectangle((*arg0)++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT * 3 - 1);
|
||||
gDPPipeSync((*arg0)++);
|
||||
gDPSetColorDither((*arg0)++, G_CD_MAGICSQ);
|
||||
}
|
||||
|
||||
void func_800A1F44(void) {
|
||||
gViewport->vp.vscale[0] = gViewport->vp.vtrans[0] = 640;
|
||||
gViewport->vp.vscale[1] = gViewport->vp.vtrans[1] = 480;
|
||||
gViewport->vp.vscale[0] = gViewport->vp.vtrans[0] = SCREEN_WIDTH * 2;
|
||||
gViewport->vp.vscale[1] = gViewport->vp.vtrans[1] = SCREEN_HEIGHT * 2;
|
||||
gViewport->vp.vscale[2] = gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = gViewport->vp.vtrans[3] = 0;
|
||||
}
|
||||
@@ -150,48 +150,49 @@ void func_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
||||
if ((arg1 != 1) && (arg1 == 4)) {
|
||||
switch (arg2) {
|
||||
case 0:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, 160, 120);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
|
||||
break;
|
||||
case 1:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[0] = SCREEN_WIDTH * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 160, 8, 312, 120);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2);
|
||||
break;
|
||||
case 2:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 120, 160, 232);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2, SCREEN_HEIGHT - 8);
|
||||
break;
|
||||
case 3:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[0] = SCREEN_WIDTH * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[0] = SCREEN_WIDTH * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 160, 120, 312, 232);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, SCREEN_WIDTH - 8,
|
||||
SCREEN_HEIGHT - 8);
|
||||
break;
|
||||
default:
|
||||
func_800A1F44();
|
||||
@@ -283,9 +284,9 @@ void func_800A26C0(void) {
|
||||
u16 var_v0_3;
|
||||
|
||||
func_800A1980();
|
||||
if (D_80161A39 != 0) {
|
||||
if (D_80161A39) {
|
||||
func_800A1E68(&gUnkDisp1);
|
||||
D_80161A39 = 0;
|
||||
D_80161A39 = false;
|
||||
return;
|
||||
}
|
||||
func_800A1C14(&gUnkDisp1);
|
||||
@@ -309,11 +310,11 @@ void func_800A26C0(void) {
|
||||
case 0x66:
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000000, 128, 16, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000800, 128, 16, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001000, 128, 16, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001800, 128, 16, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F002000, 128, 10, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
D_80177834++;
|
||||
break;
|
||||
case 0x67:
|
||||
@@ -326,11 +327,11 @@ void func_800A26C0(void) {
|
||||
case 0x68:
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000000, 128, 16, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F000800, 128, 16, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001000, 128, 16, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F001800, 128, 16, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, D_F002000, 128, 10, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
case 0x69:
|
||||
D_80177834 = 1;
|
||||
@@ -434,7 +435,7 @@ void func_800A26C0(void) {
|
||||
func_800A1FB0(&gMasterDisp, D_801778A8, 1);
|
||||
func_800A24DC(1);
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
||||
} else if ((D_801778A8 == 4) && (D_80177898 != 0)) {
|
||||
func_800A1FB0(&gMasterDisp, D_801778A8, 3);
|
||||
func_800A24DC(3);
|
||||
@@ -443,29 +444,30 @@ void func_800A26C0(void) {
|
||||
func_800A1FB0(&gMasterDisp, D_801778A8, 1);
|
||||
func_800A24DC(1);
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
||||
gDPSetColorDither(gMasterDisp++, G_CD_NOISE);
|
||||
gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE);
|
||||
gDPSetCycleType(gMasterDisp++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode(gMasterDisp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||
gDPSetRenderMode(gMasterDisp++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 0);
|
||||
gDPFillRectangle(gMasterDisp++, 157, 8, 162, 232);
|
||||
gDPFillRectangle(gMasterDisp++, 8, 117, 312, 122);
|
||||
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 3, 8, SCREEN_WIDTH / 2 + 2, SCREEN_HEIGHT - 8);
|
||||
gDPFillRectangle(gMasterDisp++, 8, SCREEN_HEIGHT / 2 - 3, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2 + 2);
|
||||
|
||||
if (D_80177C98 == 0) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 255);
|
||||
} else {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 100, 100, 255, 255);
|
||||
}
|
||||
gDPFillRectangle(gMasterDisp++, 158, 8, 161, 232);
|
||||
gDPFillRectangle(gMasterDisp++, 8, 118, 312, 121);
|
||||
gDPFillRectangle(gMasterDisp++, SCREEN_WIDTH / 2 - 2, 8, SCREEN_WIDTH / 2 + 1, SCREEN_HEIGHT - 8);
|
||||
gDPFillRectangle(gMasterDisp++, 8, SCREEN_HEIGHT / 2 - 2, SCREEN_WIDTH - 8, SCREEN_HEIGHT / 2 + 1);
|
||||
|
||||
func_8008CB8C();
|
||||
}
|
||||
spBB = 0;
|
||||
if (D_801778A8 == 1) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, 319, 239, D_80178390[0], D_801783A0[0], D_801783B0[0], D_80178380[0]);
|
||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, D_80178390[0],
|
||||
D_801783A0[0], D_801783B0[0], D_80178380[0]);
|
||||
if ((D_80177898 == 4) || (D_80177898 == 8)) {
|
||||
func_800BB5D0();
|
||||
if (D_80161A2C != 0) {
|
||||
@@ -478,12 +480,12 @@ void func_800A26C0(void) {
|
||||
for (i = 0; i < D_801778A8; i++) {
|
||||
if (D_80178280[i].unk_224 != 0) {
|
||||
|
||||
func_8009F574(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i], D_80178348,
|
||||
D_80178350, D_80178354, D_80178340);
|
||||
Graphics_FillRectangle(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i],
|
||||
D_80178348, D_80178350, D_80178354, D_80178340);
|
||||
spBB = 1;
|
||||
} else {
|
||||
func_8009F574(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i],
|
||||
D_80178390[i], D_801783A0[i], D_801783B0[i], D_80178380[i]);
|
||||
Graphics_FillRectangle(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i],
|
||||
D_80178390[i], D_801783A0[i], D_801783B0[i], D_80178380[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -495,7 +497,8 @@ void func_800A26C0(void) {
|
||||
}
|
||||
func_80084688(0, D_80177C50);
|
||||
if (spBB == 0) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, 0x13F, 0xEF, D_80178348, D_80178350, D_80178354, D_80178340);
|
||||
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, D_80178348, D_80178350,
|
||||
D_80178354, D_80178340);
|
||||
}
|
||||
func_80016A50();
|
||||
}
|
||||
@@ -505,7 +508,7 @@ Object_2F4* func_800A3608(s32 arg0) {
|
||||
Object_2F4* var_a2 = D_80163FE0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 60; i++, var_a2++) {
|
||||
for (i = 0; i < ARRAY_COUNT(D_80163FE0); i++, var_a2++) {
|
||||
if (var_a2->obj.status == 0) {
|
||||
func_800613C4(var_a2);
|
||||
var_a2->obj.status = 1;
|
||||
@@ -514,7 +517,7 @@ Object_2F4* func_800A3608(s32 arg0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == 60) {
|
||||
if (i == ARRAY_COUNT(D_80163FE0)) {
|
||||
var_a2 = NULL;
|
||||
}
|
||||
return var_a2;
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
#include "global.h"
|
||||
|
||||
u16* func_800C2830(u16 arg0) {
|
||||
s32 i;
|
||||
UnkStruct_D_80185CBC* ptr = D_80185CBC;
|
||||
|
||||
while (ptr->unk0 != -1) {
|
||||
if (ptr->unk0 == arg0) {
|
||||
return ptr->unk4;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
u16 func_800C2890(u16* arg0) {
|
||||
s32 i;
|
||||
UnkStruct_D_80185CBC* ptr = D_80185CBC;
|
||||
|
||||
while (ptr->unk4 != NULL) {
|
||||
if (ptr->unk4 == arg0) {
|
||||
return ptr->unk0;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 func_800C28DC(u16* arg0) {
|
||||
s32 var_v1 = 0;
|
||||
u16* ptr = arg0;
|
||||
|
||||
while (*ptr != 0) {
|
||||
if (*ptr > 15 || *ptr == 12) {
|
||||
var_v1++;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
s32 func_800C2928(u16* arg0) {
|
||||
s32 var_v1 = 0;
|
||||
u16* ptr = arg0;
|
||||
|
||||
while (*ptr != 0) {
|
||||
var_v1++;
|
||||
ptr++;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_800C295C(Gfx** arg0, u16 arg1, s32 arg2, s32 arg3) {
|
||||
gDPLoadTextureBlock_4b((*arg0)++, D_80179010[arg1 >> 2], G_IM_FMT_CI, 16, 13, arg1 & 3, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle((*arg0)++, arg2 << 2, arg3 << 2, (arg2 + 13) << 2, (arg3 + 13) << 2, G_TX_RENDERTILE, 0x40, 0,
|
||||
0x400, 0x400);
|
||||
}
|
||||
|
||||
s32 func_800C2AF0(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
s32 var_s2 = arg2;
|
||||
s32 var_s4 = arg3;
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
gDPSetTextureLUT((*arg0)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*arg0)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
// bug: if the for loop is skipped, var_v1 is never initialized
|
||||
for (i = 0; arg1[i] != 0 && i < arg4; i++) {
|
||||
var_v1 = 0;
|
||||
switch (arg1[i]) {
|
||||
case 1:
|
||||
var_s2 = arg2;
|
||||
var_s4 += 13;
|
||||
break;
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
case 19:
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
var_s2 += 14;
|
||||
var_v1 = 1;
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
break;
|
||||
case 12:
|
||||
default:
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
var_s2 += 7;
|
||||
var_v1 = 1;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_800C2D3C(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
s32 var_s2 = arg2;
|
||||
s32 var_s4 = arg3;
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
gDPSetTextureLUT((*arg0)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*arg0)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
for (i = 0; arg1[i] != 0 && i < arg6; i++) {
|
||||
switch (arg1[i]) {
|
||||
case 1:
|
||||
var_s2 = arg2;
|
||||
var_s4 += 15;
|
||||
break;
|
||||
case 13:
|
||||
var_s2 += 2;
|
||||
break;
|
||||
case 14:
|
||||
var_s2 += 3;
|
||||
break;
|
||||
case 12:
|
||||
var_s2 += 7;
|
||||
break;
|
||||
default:
|
||||
if ((arg5 < var_s4) && (var_s4 < arg4)) {
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
}
|
||||
var_s2 += 7;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 15:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800C2F30(u16* arg0, s32 arg1) {
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
// bug: if the for loop is skipped, var_v1 is never initialized
|
||||
for (i = 0; arg0[i] != 0 && i < arg1; i++) {
|
||||
var_v1 = 0;
|
||||
switch (arg0[i]) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
break;
|
||||
default:
|
||||
var_v1 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
char* func_80099980(char* buf, s32 fill, s32 len) {
|
||||
char* Graphics_ClearPrintBuffer(char* buf, s32 fill, s32 len) {
|
||||
s32 i;
|
||||
char* ptr = buf;
|
||||
|
||||
@@ -11,18 +11,18 @@ char* func_80099980(char* buf, s32 fill, s32 len) {
|
||||
return buf;
|
||||
}
|
||||
|
||||
s32 func_800999D8(const char* fmt, ...) {
|
||||
s32 Graphics_Printf(const char* fmt, ...) {
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
func_80099980(D_801619A0, 0, 100);
|
||||
Graphics_ClearPrintBuffer(D_801619A0, 0, 100);
|
||||
Lib_vsPrintf(D_801619A0, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_80099A2C(void* texture, s32 width, s32 height, u8 mode) {
|
||||
void Texture_Scroll(void* texture, s32 width, s32 height, u8 mode) {
|
||||
u16* temp_t0 = SEGMENTED_TO_VIRTUAL(texture);
|
||||
u16 temp_a3;
|
||||
s32 var_a0;
|
||||
@@ -68,7 +68,7 @@ void func_80099A2C(void* texture, s32 width, s32 height, u8 mode) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80099E28(void* dst, void* src, u8 mode) {
|
||||
void Texture_Mottle(void* dst, void* src, u8 mode) {
|
||||
s32 var_v1;
|
||||
s32 var_s3;
|
||||
u8* var_s0_2;
|
||||
@@ -122,7 +122,7 @@ void func_80099E28(void* dst, void* src, u8 mode) {
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8009A400(Limb* limb, Limb** skeleton) {
|
||||
s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton) {
|
||||
s32 i = 1;
|
||||
|
||||
for (i = 1; *skeleton != 0; i++, skeleton++) {
|
||||
@@ -133,8 +133,8 @@ s32 func_8009A400(Limb* limb, Limb** skeleton) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_8009A440(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
|
||||
PostLimbDraw postLimbDraw, void* data) {
|
||||
void Animation_DrawLimb(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
|
||||
PostLimbDraw postLimbDraw, void* data) {
|
||||
s32 override;
|
||||
s32 limbIndex;
|
||||
Gfx* dList;
|
||||
@@ -145,7 +145,7 @@ void func_8009A440(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, Ove
|
||||
|
||||
Matrix_Push(&gCalcMatrix);
|
||||
|
||||
limbIndex = func_8009A400(limb, skeleton);
|
||||
limbIndex = Animation_GetLimbIndex(limb, skeleton);
|
||||
limb = SEGMENTED_TO_VIRTUAL(limb);
|
||||
rot = jointTable[limbIndex];
|
||||
trans.x = limb->trans.x;
|
||||
@@ -182,16 +182,16 @@ void func_8009A440(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, Ove
|
||||
}
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
if (limb->child != NULL) {
|
||||
func_8009A440(mode, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
Animation_DrawLimb(mode, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
}
|
||||
Matrix_Pop(&gCalcMatrix);
|
||||
if (limb->sibling != NULL) {
|
||||
func_8009A440(mode, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
Animation_DrawLimb(mode, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
|
||||
PostLimbDraw postLimbDraw, void* data, Matrix* transform) {
|
||||
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
|
||||
PostLimbDraw postLimbDraw, void* data, Matrix* transform) {
|
||||
s32 override;
|
||||
Limb** skeleton;
|
||||
Limb* rootLimb;
|
||||
@@ -204,7 +204,7 @@ void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, Override
|
||||
Matrix_Copy(gCalcMatrix, transform);
|
||||
skeleton = SEGMENTED_TO_VIRTUAL(skeletonSegment);
|
||||
rootLimb = SEGMENTED_TO_VIRTUAL(skeleton[0]);
|
||||
rootIndex = func_8009A400(skeleton[0], skeleton);
|
||||
rootIndex = Animation_GetLimbIndex(skeleton[0], skeleton);
|
||||
baseRot = jointTable[rootIndex];
|
||||
if (mode & 1) {
|
||||
baseTrans.x = rootLimb->trans.x;
|
||||
@@ -238,7 +238,7 @@ void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, Override
|
||||
}
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
if (rootLimb->child != NULL) {
|
||||
func_8009A440(mode, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
Animation_DrawLimb(mode, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, data);
|
||||
}
|
||||
Matrix_Pop(&gCalcMatrix);
|
||||
if (mode >= 2) {
|
||||
@@ -246,7 +246,7 @@ void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, Override
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_8009AA20(AnimationHeader* animationSegmemt, s32 frame, Vec3f* frameTable) {
|
||||
s16 Animation_GetFrameData(AnimationHeader* animationSegmemt, s32 frame, Vec3f* frameTable) {
|
||||
AnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSegmemt);
|
||||
u16 var4 = animation->limbCount;
|
||||
JointKey* key = SEGMENTED_TO_VIRTUAL(animation->jointKey);
|
||||
@@ -273,13 +273,14 @@ s16 func_8009AA20(AnimationHeader* animationSegmemt, s32 frame, Vec3f* frameTabl
|
||||
return var4 + 1;
|
||||
}
|
||||
|
||||
s16 func_8009ACDC(AnimationHeader* animationSegment) {
|
||||
s16 Animation_GetFrameCount(AnimationHeader* animationSegment) {
|
||||
AnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSegment);
|
||||
|
||||
return animation->frameCount;
|
||||
}
|
||||
|
||||
void func_8009AD18(Gfx* dList, s32 len, Vec3f* min, Vec3f* max, s32* vtxFound, s32* vtxCount, Vtx** vtxList) {
|
||||
void Animation_FindBoundingBox(Gfx* dList, s32 len, Vec3f* min, Vec3f* max, s32* vtxFound, s32* vtxCount,
|
||||
Vtx** vtxList) {
|
||||
s64* sp44 = SEGMENTED_TO_VIRTUAL(dList);
|
||||
s64* var_s0;
|
||||
u32 temp_v1;
|
||||
@@ -289,8 +290,8 @@ void func_8009AD18(Gfx* dList, s32 len, Vec3f* min, Vec3f* max, s32* vtxFound, s
|
||||
if (temp_v1 != G_TRI1) {
|
||||
if (temp_v1 != G_VTX) {
|
||||
if (temp_v1 == G_DL) {
|
||||
func_8009AD18(*var_s0 & 0xFFFFFFFF, (*var_s0 >> 0x20) & 0xFFFF, min, max, vtxFound, vtxCount,
|
||||
vtxList);
|
||||
Animation_FindBoundingBox(*var_s0 & 0xFFFFFFFF, (*var_s0 >> 0x20) & 0xFFFF, min, max, vtxFound,
|
||||
vtxCount, vtxList);
|
||||
}
|
||||
} else {
|
||||
*vtxList = SEGMENTED_TO_VIRTUAL(*var_s0 & 0xFFFFFFFF);
|
||||
@@ -326,15 +327,16 @@ void func_8009AD18(Gfx* dList, s32 len, Vec3f* min, Vec3f* max, s32* vtxFound, s
|
||||
}
|
||||
}
|
||||
|
||||
void func_8009B74C(Gfx* dList, s32 len, Vec3f* min, Vec3f* max) {
|
||||
void Animation_GetDListBoundingBox(Gfx* dList, s32 len, Vec3f* min, Vec3f* max) {
|
||||
s32 vtxFound = false;
|
||||
s32 vtxCount;
|
||||
Vtx* vtxList;
|
||||
|
||||
func_8009AD18(dList, len, min, max, &vtxFound, &vtxCount, &vtxList);
|
||||
Animation_FindBoundingBox(dList, len, min, max, &vtxFound, &vtxCount, &vtxList);
|
||||
}
|
||||
|
||||
void func_8009B784(Limb** skeletonSegment, AnimationHeader* animationSegment, s32 frame, Vec3f* min, Vec3f* max) {
|
||||
void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, AnimationHeader* animationSegment, s32 frame, Vec3f* min,
|
||||
Vec3f* max) {
|
||||
JointKey* key;
|
||||
u16* frameData;
|
||||
AnimationHeader* animation;
|
||||
@@ -373,7 +375,7 @@ void func_8009B784(Limb** skeletonSegment, AnimationHeader* animationSegment, s3
|
||||
Matrix_RotateX(gGfxMatrix, (((s32) var_t6 * 360.0f) / 65536.0f) * 0.017453292f, 1);
|
||||
vtxFound = false;
|
||||
if (limb->dList != NULL) {
|
||||
func_8009AD18(limb->dList, 0x2000, min, max, &vtxFound, &vtxCount, &vtxList);
|
||||
Animation_FindBoundingBox(limb->dList, 0x2000, min, max, &vtxFound, &vtxCount, &vtxList);
|
||||
if (vtxFound) {
|
||||
boundBox[0].x = boundBox[3].x = boundBox[4].x = boundBox[7].x = min->x;
|
||||
boundBox[0].y = boundBox[1].y = boundBox[4].y = boundBox[5].y = max->y;
|
||||
@@ -397,7 +399,7 @@ void func_8009B784(Limb** skeletonSegment, AnimationHeader* animationSegment, s3
|
||||
}
|
||||
}
|
||||
|
||||
f32 func_8009BC2C(f32* value, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
f32 Math_SmoothStepToF(f32* value, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
f32 step = target - *value;
|
||||
|
||||
if (step != 0.0f) {
|
||||
@@ -426,7 +428,7 @@ f32 func_8009BC2C(f32* value, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
return step;
|
||||
}
|
||||
|
||||
f32 func_8009BD38(f32* angle, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
f32 Math_SmoothStepToAngle(f32* angle, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
f32 var_fv1 = target - *angle;
|
||||
|
||||
if (var_fv1 != 0.0f) {
|
||||
@@ -465,7 +467,7 @@ f32 func_8009BD38(f32* angle, f32 target, f32 scale, f32 maxStep, f32 minStep) {
|
||||
return var_fv1;
|
||||
}
|
||||
|
||||
void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep) {
|
||||
void Math_SmoothStepToVec3fArray(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep) {
|
||||
Vec3f* srcTemp;
|
||||
Vec3f* dstTemp;
|
||||
s32 i;
|
||||
@@ -481,16 +483,16 @@ void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 m
|
||||
case 1:
|
||||
dstTemp = dst;
|
||||
srcTemp = src;
|
||||
func_8009BC2C(&dstTemp->x, srcTemp->x, scale, maxStep, minStep);
|
||||
func_8009BC2C(&dstTemp->y, srcTemp->y, scale, maxStep, minStep);
|
||||
func_8009BC2C(&dstTemp->z, srcTemp->z, scale, maxStep, minStep);
|
||||
Math_SmoothStepToF(&dstTemp->x, srcTemp->x, scale, maxStep, minStep);
|
||||
Math_SmoothStepToF(&dstTemp->y, srcTemp->y, scale, maxStep, minStep);
|
||||
Math_SmoothStepToF(&dstTemp->z, srcTemp->z, scale, maxStep, minStep);
|
||||
dstTemp++;
|
||||
srcTemp++;
|
||||
|
||||
for (i = 1; i < count; i++, dstTemp++, srcTemp++) {
|
||||
func_8009BD38(&dstTemp->x, srcTemp->x, scale, maxStep, minStep);
|
||||
func_8009BD38(&dstTemp->y, srcTemp->y, scale, maxStep, minStep);
|
||||
func_8009BD38(&dstTemp->z, srcTemp->z, scale, maxStep, minStep);
|
||||
Math_SmoothStepToAngle(&dstTemp->x, srcTemp->x, scale, maxStep, minStep);
|
||||
Math_SmoothStepToAngle(&dstTemp->y, srcTemp->y, scale, maxStep, minStep);
|
||||
Math_SmoothStepToAngle(&dstTemp->z, srcTemp->z, scale, maxStep, minStep);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -498,7 +500,7 @@ void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 m
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8009C124(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist) {
|
||||
s32 Math_PursueVec3f(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist) {
|
||||
Vec3f diff;
|
||||
f32 targetRotX;
|
||||
f32 targetRotY;
|
||||
@@ -510,10 +512,10 @@ s32 func_8009C124(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 scale
|
||||
diff.y = target->y - pos->y;
|
||||
diff.z = target->z - pos->z;
|
||||
|
||||
targetRotY = func_8009F768(Math_Atan2F(diff.x, diff.z));
|
||||
targetRotX = func_8009F768(-Math_Atan2F(diff.y, sqrtf(SQ(diff.x) + SQ(diff.z))));
|
||||
func_8009BD38(&rot->y, targetRotY, scaleTurn, maxTurn, 0.0f);
|
||||
func_8009BD38(&rot->x, targetRotX, scaleTurn, maxTurn, 0.0f);
|
||||
targetRotY = Math_RadToDeg(Math_Atan2F(diff.x, diff.z));
|
||||
targetRotX = Math_RadToDeg(-Math_Atan2F(diff.y, sqrtf(SQ(diff.x) + SQ(diff.z))));
|
||||
Math_SmoothStepToAngle(&rot->y, targetRotY, scaleTurn, maxTurn, 0.0f);
|
||||
Math_SmoothStepToAngle(&rot->x, targetRotX, scaleTurn, maxTurn, 0.0f);
|
||||
Matrix_RotateY(&worldTransform, rot->y * 0.017453292f, 0);
|
||||
Matrix_RotateX(&worldTransform, rot->x * 0.017453292f, 1);
|
||||
localStep.z = stepSize;
|
||||
@@ -687,7 +689,7 @@ void TextureRect_32bRGBA(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32
|
||||
(s32) (1.0f / yScale * 1024.0f));
|
||||
}
|
||||
|
||||
void func_8009F574(Gfx** gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a) {
|
||||
void Graphics_FillRectangle(Gfx** gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a) {
|
||||
if (a != 0) {
|
||||
gDPPipeSync((*gfxPtr)++);
|
||||
gDPSetPrimColor((*gfxPtr)++, 0x00, 0x00, r, g, b, a);
|
||||
@@ -700,7 +702,7 @@ void func_8009F574(Gfx** gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g,
|
||||
}
|
||||
}
|
||||
|
||||
void func_8009F6CC(Vec3f* step, f32 xRot, f32 yRot, f32 stepsize) {
|
||||
void Math_Vec3fFromAngles(Vec3f* step, f32 xRot, f32 yRot, f32 stepsize) {
|
||||
Vec3f sp1C;
|
||||
|
||||
Matrix_RotateY(gCalcMatrix, yRot * 0.017453292f, 0);
|
||||
@@ -710,7 +712,7 @@ void func_8009F6CC(Vec3f* step, f32 xRot, f32 yRot, f32 stepsize) {
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp1C, step);
|
||||
}
|
||||
|
||||
f32 func_8009F768(f32 rAngle) {
|
||||
f32 Math_RadToDeg(f32 rAngle) {
|
||||
rAngle *= 57.295776f;
|
||||
|
||||
while (rAngle < 0.0f) {
|
||||
@@ -762,70 +764,70 @@ s32* func_8009F7B4(Gfx** gfxPtr, u8 width, u8 height) {
|
||||
return spB4;
|
||||
}
|
||||
|
||||
void func_8009FC0C(s32 xPos, s32 yPos, s32 number) {
|
||||
void* spA0[] = {
|
||||
void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number) {
|
||||
void* hudNumberTex[] = {
|
||||
0x01010660, 0x010106B0, 0x01010700, 0x01010750, 0x010107A0,
|
||||
0x010107F0, 0x01010840, 0x01010890, 0x010108E0, 0x01010930,
|
||||
};
|
||||
void* sp78[] = {
|
||||
void* hudNumberPal[] = {
|
||||
0x010106A0, 0x010106F0, 0x01010740, 0x01010790, 0x010107E0,
|
||||
0x01010830, 0x01010880, 0x010108D0, 0x01010920, 0x01010970,
|
||||
};
|
||||
s32 var_s0;
|
||||
s32 var_s3;
|
||||
s32 place;
|
||||
s32 startNumber = false;
|
||||
|
||||
var_s3 = 0;
|
||||
number %= 10000000;
|
||||
var_s0 = 1000000;
|
||||
for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) {
|
||||
if ((number / var_s0 != 0) || (var_s3 == 1)) {
|
||||
TextureRect_4bCI(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
var_s3 = 1;
|
||||
place = 1000000;
|
||||
for (place = 1000000; place != 1; place /= 10) {
|
||||
if ((number / place != 0) || (startNumber == true)) {
|
||||
TextureRect_4bCI(&gMasterDisp, hudNumberTex[number / place], hudNumberPal[number / place], 16, 8, xPos,
|
||||
yPos, 1.0f, 1.0f);
|
||||
startNumber = true;
|
||||
xPos += 9;
|
||||
number %= var_s0;
|
||||
number %= place;
|
||||
}
|
||||
}
|
||||
TextureRect_4bCI(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
TextureRect_4bCI(&gMasterDisp, hudNumberTex[number / place], hudNumberPal[number / place], 16, 8, xPos, yPos, 1.0f,
|
||||
1.0f);
|
||||
}
|
||||
|
||||
void* D_800D2638[] = {
|
||||
void* sSmallNumberTex[] = {
|
||||
0x05000000, 0x05000080, 0x05000100, 0x05000180, D_5000200,
|
||||
0x05000280, D_5000300, 0x05000380, 0x05000400, 0x05000480,
|
||||
};
|
||||
|
||||
void func_8009FEA0(s32 xPos, s32 yPos, s32 number) {
|
||||
s32 var_s0;
|
||||
s32 var_s3;
|
||||
void Graphics_DisplaySmallNumber(s32 xPos, s32 yPos, s32 number) {
|
||||
s32 place;
|
||||
s32 startNumber = false;
|
||||
|
||||
var_s3 = 0;
|
||||
number %= 10000000;
|
||||
var_s0 = 1000000;
|
||||
for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) {
|
||||
if ((number / var_s0 != 0) || (var_s3 == 1)) {
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
var_s3 = 1;
|
||||
place = 1000000;
|
||||
for (place = 1000000; place != 1; place /= 10) {
|
||||
if ((number / place != 0) || (startNumber == true)) {
|
||||
TextureRect_8bIA(&gMasterDisp, sSmallNumberTex[number / place], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
startNumber = true;
|
||||
xPos += 9;
|
||||
number %= var_s0;
|
||||
number %= place;
|
||||
}
|
||||
}
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, sSmallNumberTex[number / place], 16, 8, xPos, yPos, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
char D_800D2660[] = " ABCDEFGHIJKLMNOPQRSTUVWXYZ!:-.0123456789";
|
||||
char D_800D268C[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ. 0123456789st-";
|
||||
u8 D_800D26B8[] = { 15, 14, 14, 13, 13, 13, 14, 14, 5, 12, 14, 12, 16, 14, 15, 13, 16, 14, 13, 13, 13,
|
||||
16, 17, 17, 16, 13, 5, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 14, 0 };
|
||||
void* D_800D26E4[] = {
|
||||
char sSmallChars[] = " ABCDEFGHIJKLMNOPQRSTUVWXYZ!:-.0123456789";
|
||||
char sLargeChars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ. 0123456789st-";
|
||||
u8 sLargeCharWidths[] = { 15, 14, 14, 13, 13, 13, 14, 14, 5, 12, 14, 12, 16, 14, 15, 13, 16, 14, 13, 13, 13,
|
||||
16, 17, 17, 16, 13, 5, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 14, 0 };
|
||||
void* sLargeCharTex[] = {
|
||||
0x05008020, 0x05008110, 0x05008200, 0x050082F0, 0x050083E0, 0x050084D0, 0x050085C0, 0x050086B0, 0x050087A0,
|
||||
0x05008890, 0x05008980, 0x05008A70, 0x05008B60, 0x05008C50, 0x05008D40, 0x05008E30, 0x05008F20, 0x05009010,
|
||||
0x05009100, 0x050091F0, 0x050092E0, 0x050093D0, 0x050094C0, 0x050096A0, 0x05009880, 0x05009A60, 0x05009DB0,
|
||||
NULL, D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0,
|
||||
0x0500A6E0, 0x0500A7D0, 0x05009B50, 0x05009C40, 0x05009970,
|
||||
};
|
||||
void* D_800D2788[] = {
|
||||
void* sLargeNumberTex[] = {
|
||||
D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0, 0x0500A6E0, 0x0500A7D0,
|
||||
};
|
||||
void* D_800D27B0[] = {
|
||||
void* sSmallCharTex[] = {
|
||||
NULL, 0x050070C0, 0x05007100, 0x05007180, 0x050071C0, 0x05007200, 0x05007510, 0x05007550, 0x05007590,
|
||||
0x050075D0, 0x05007610, 0x05007650, 0x05007F60, 0x05007FA0, 0x05007FE0, 0x05009D30, 0x05009D70, 0x05009EA0,
|
||||
0x05009EE0, 0x05009F20, 0x0500B380, 0x0500B440, 0x0500B480, 0x0500B4C0, 0x0500B500, 0x0500B540, 0x0500B5C0,
|
||||
@@ -833,298 +835,296 @@ void* D_800D27B0[] = {
|
||||
0x05000280, D_5000300, 0x05000380, 0x05000400, 0x05000480,
|
||||
};
|
||||
|
||||
void func_800A0094(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
|
||||
u32 var_t0;
|
||||
void Graphics_DisplayLargeText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
|
||||
u32 charIndex;
|
||||
f32 xPosCurrent = (f32) xPos;
|
||||
s32 pad4C;
|
||||
s32 width;
|
||||
s32 var_t1 = 0;
|
||||
s32 startPrint = false;
|
||||
|
||||
while (text[0] != 0) {
|
||||
var_t0 = 0;
|
||||
while ((var_t0 < ARRAY_COUNT(D_800D268C)) && D_800D268C[var_t0] != text[0]) {
|
||||
var_t0++;
|
||||
charIndex = 0;
|
||||
while ((charIndex < ARRAY_COUNT(sLargeChars)) && sLargeChars[charIndex] != text[0]) {
|
||||
charIndex++;
|
||||
}
|
||||
if (D_800D268C[var_t0] == text[0]) {
|
||||
if ((var_t1 == 1) && (text[-1] == 'Y') && (text[0] == 'A')) {
|
||||
if (sLargeChars[charIndex] == text[0]) {
|
||||
if ((startPrint == true) && (text[-1] == 'Y') && (text[0] == 'A')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'A')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'A')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'O')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'T') && (text[0] == 'A')) {
|
||||
if ((startPrint == true) && (text[-1] == 'T') && (text[0] == 'A')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'Y')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'Y')) {
|
||||
xPosCurrent -= 4.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'I')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'I')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'O')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'A')) {
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'A')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'Y') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'Y') && (text[0] == 'O')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'T')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'T')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'W')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'W')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'T')) {
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'T')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'G')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'G')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'Y')) {
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'Y')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'T') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'T') && (text[0] == 'O')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'U')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'U')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'S')) {
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'S')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'R') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'R') && (text[0] == 'O')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'Y')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'Y')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'N') && (text[0] == 'J')) {
|
||||
if ((startPrint == true) && (text[-1] == 'N') && (text[0] == 'J')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'E')) {
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'E')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'S') && (text[0] == 't')) {
|
||||
if ((startPrint == true) && (text[-1] == 'S') && (text[0] == 't')) {
|
||||
xPosCurrent -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'X') && (text[0] == 'X')) {
|
||||
if ((startPrint == true) && (text[-1] == 'X') && (text[0] == 'X')) {
|
||||
xPosCurrent -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'X')) {
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'X')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'W')) {
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'W')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'X') && (text[0] == 'W')) {
|
||||
if ((startPrint == true) && (text[-1] == 'X') && (text[0] == 'W')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'X')) {
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'X')) {
|
||||
xPosCurrent -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'H') && (text[0] == 'O')) {
|
||||
if ((startPrint == true) && (text[-1] == 'H') && (text[0] == 'O')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'J') && (text[0] == 'I')) {
|
||||
if ((startPrint == true) && (text[-1] == 'J') && (text[0] == 'I')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'N')) {
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'N')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'M')) {
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'M')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'D')) {
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'D')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'U') && (text[0] == 'K')) {
|
||||
if ((startPrint == true) && (text[-1] == 'U') && (text[0] == 'K')) {
|
||||
xPosCurrent += 1.0f;
|
||||
}
|
||||
if (D_800D26E4[var_t0] != NULL) {
|
||||
if (sLargeCharTex[charIndex] != NULL) {
|
||||
width = 16;
|
||||
if ((text[0] == 'W') || (text[0] == 'X')) {
|
||||
width = 32;
|
||||
}
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D26E4[var_t0], width, 15, xPosCurrent, yPos, xScale, yScale);
|
||||
TextureRect_8bIA(&gMasterDisp, sLargeCharTex[charIndex], width, 15, xPosCurrent, yPos, xScale, yScale);
|
||||
}
|
||||
var_t1 = 1;
|
||||
xPosCurrent += (D_800D26B8[var_t0] * xScale) + 2.0f;
|
||||
startPrint = true;
|
||||
xPosCurrent += (sLargeCharWidths[charIndex] * xScale) + 2.0f;
|
||||
}
|
||||
text++;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800A06F8(char* text) {
|
||||
s32 var_t1 = 0;
|
||||
s32 var_fv0 = 0;
|
||||
u32 var_t0;
|
||||
s32 Graphics_GetLargeTextWidth(char* text) {
|
||||
s32 startPrint = false;
|
||||
s32 xPos = 0;
|
||||
u32 charIndex;
|
||||
|
||||
while (text[0] != 0) {
|
||||
var_t0 = 0;
|
||||
while ((var_t0 < ARRAY_COUNT(D_800D268C)) && D_800D268C[var_t0] != text[0]) {
|
||||
var_t0++;
|
||||
charIndex = 0;
|
||||
while ((charIndex < ARRAY_COUNT(sLargeChars)) && sLargeChars[charIndex] != text[0]) {
|
||||
charIndex++;
|
||||
}
|
||||
if (D_800D268C[var_t0] == text[0]) {
|
||||
if ((var_t1 == 1) && (text[-1] == 'Y') && (text[0] == 'A')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if (sLargeChars[charIndex] == text[0]) {
|
||||
if ((startPrint == true) && (text[-1] == 'Y') && (text[0] == 'A')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'A')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'A')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'O')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'O')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'T') && (text[0] == 'A')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'T') && (text[0] == 'A')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'Y')) {
|
||||
var_fv0 -= 4.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'Y')) {
|
||||
xPos -= 4.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'I')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'I')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'O')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'O')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'A')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'A')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'Y') && (text[0] == 'O')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'Y') && (text[0] == 'O')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'T')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'T')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'W')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'W')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'T')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'T')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'G')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'G')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'Y')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'Y')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'J')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'T') && (text[0] == 'O')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'T') && (text[0] == 'O')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'U')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'U')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'A') && (text[0] == 'S')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'A') && (text[0] == 'S')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'R') && (text[0] == 'O')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'R') && (text[0] == 'O')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'Y')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'Y')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'N') && (text[0] == 'J')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'N') && (text[0] == 'J')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'K') && (text[0] == 'E')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'K') && (text[0] == 'E')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'S') && (text[0] == 't')) {
|
||||
var_fv0 -= 2.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'S') && (text[0] == 't')) {
|
||||
xPos -= 2.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'X') && (text[0] == 'X')) {
|
||||
var_fv0 -= 3.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'X') && (text[0] == 'X')) {
|
||||
xPos -= 3.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'O') && (text[0] == 'X')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'O') && (text[0] == 'X')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'W')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'W')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'X') && (text[0] == 'W')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'X') && (text[0] == 'W')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'W') && (text[0] == 'X')) {
|
||||
var_fv0 -= 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'W') && (text[0] == 'X')) {
|
||||
xPos -= 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'H') && (text[0] == 'O')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'H') && (text[0] == 'O')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'J') && (text[0] == 'I')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'J') && (text[0] == 'I')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'N')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'N')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'M')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'M')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'I') && (text[0] == 'D')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'I') && (text[0] == 'D')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
if ((var_t1 == 1) && (text[-1] == 'U') && (text[0] == 'K')) {
|
||||
var_fv0 += 1.0f;
|
||||
if ((startPrint == true) && (text[-1] == 'U') && (text[0] == 'K')) {
|
||||
xPos += 1.0f;
|
||||
}
|
||||
var_t1 = 1;
|
||||
var_fv0 += D_800D26B8[var_t0] + 2.0f;
|
||||
startPrint = true;
|
||||
xPos += sLargeCharWidths[charIndex] + 2.0f;
|
||||
}
|
||||
text++;
|
||||
}
|
||||
return var_fv0;
|
||||
return xPos;
|
||||
}
|
||||
|
||||
void func_800A100C(s32 xPos, s32 yPos, s32 number) {
|
||||
s32 var_s0;
|
||||
s32 var_s3 = 0;
|
||||
void Graphics_DisplayLargeNumber(s32 xPos, s32 yPos, s32 number) {
|
||||
s32 place;
|
||||
s32 startNumber = false;
|
||||
|
||||
number %= 10000000;
|
||||
var_s0 = 1000000;
|
||||
for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) {
|
||||
if ((number / var_s0 != 0) || (var_s3 == 1)) {
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f);
|
||||
var_s3 = 1;
|
||||
place = 1000000;
|
||||
for (place = 1000000; place != 1; place /= 10) {
|
||||
if ((number / place != 0) || (startNumber == true)) {
|
||||
TextureRect_8bIA(&gMasterDisp, sLargeNumberTex[number / place], 16, 15, xPos, yPos, 1.0f, 1.0f);
|
||||
startNumber = true;
|
||||
xPos += 13;
|
||||
number %= var_s0;
|
||||
number %= place;
|
||||
}
|
||||
}
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f);
|
||||
TextureRect_8bIA(&gMasterDisp, sLargeNumberTex[number / place], 16, 15, xPos, yPos, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
|
||||
void Graphics_DisplaySmallText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
|
||||
u32 var_t0;
|
||||
f32 xPosCurrent = (f32) xPos;
|
||||
s32 pad4C;
|
||||
s32 width;
|
||||
s32 var_t1 = 0;
|
||||
|
||||
while (text[0] != 0) {
|
||||
var_t0 = 0;
|
||||
while ((var_t0 < ARRAY_COUNT(D_800D2660)) && D_800D2660[var_t0] != text[0]) {
|
||||
while ((var_t0 < ARRAY_COUNT(sSmallChars)) && sSmallChars[var_t0] != text[0]) {
|
||||
var_t0++;
|
||||
}
|
||||
if (D_800D2660[var_t0] == text[0]) {
|
||||
if (D_800D27B0[var_t0] != NULL) {
|
||||
if (sSmallChars[var_t0] == text[0]) {
|
||||
if (sSmallCharTex[var_t0] != NULL) {
|
||||
width = 8;
|
||||
if (var_t0 > 30) {
|
||||
width = 16;
|
||||
}
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D27B0[var_t0], width, 8, xPosCurrent, yPos, xScale, yScale);
|
||||
TextureRect_8bIA(&gMasterDisp, sSmallCharTex[var_t0], width, 8, xPosCurrent, yPos, xScale, yScale);
|
||||
if (1) {}
|
||||
}
|
||||
switch (text[0]) {
|
||||
@@ -1148,39 +1148,36 @@ void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800A13EC(char* text) {
|
||||
u32 var_t0;
|
||||
s32 var_fv0 = 0;
|
||||
s32 pad4C;
|
||||
s32 var_a2;
|
||||
s32 var_t1 = 0;
|
||||
s32 Graphics_GetSmallTextWidth(char* text) {
|
||||
u32 charIndex;
|
||||
s32 xPos = 0;
|
||||
|
||||
while (text[0] != 0) {
|
||||
var_t0 = 0;
|
||||
while ((var_t0 < ARRAY_COUNT(D_800D2660)) && D_800D2660[var_t0] != text[0]) {
|
||||
var_t0++;
|
||||
charIndex = 0;
|
||||
while ((charIndex < ARRAY_COUNT(sSmallChars)) && sSmallChars[charIndex] != text[0]) {
|
||||
charIndex++;
|
||||
}
|
||||
if (D_800D2660[var_t0] == text[0]) {
|
||||
if (sSmallChars[charIndex] == text[0]) {
|
||||
switch (text[0]) {
|
||||
case '!':
|
||||
case ':':
|
||||
case 'I':
|
||||
var_fv0 += 4.0f;
|
||||
xPos += 4.0f;
|
||||
break;
|
||||
case '-':
|
||||
var_fv0 += 6.0f;
|
||||
xPos += 6.0f;
|
||||
break;
|
||||
default:
|
||||
if (var_t0 > 29) {
|
||||
var_fv0 += 9.0f;
|
||||
if (charIndex > 29) {
|
||||
xPos += 9.0f;
|
||||
} else {
|
||||
var_fv0 += 8.0f;
|
||||
xPos += 8.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
text++;
|
||||
}
|
||||
return var_fv0;
|
||||
return xPos;
|
||||
}
|
||||
|
||||
void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
@@ -1217,5 +1214,5 @@ void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
// }
|
||||
#else
|
||||
void func_800A1558(f32 weight, u16 size, void* src1, void* src2, void* dst);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_9A580/func_800A1558.s")
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_display/func_800A1558.s")
|
||||
#endif
|
||||
@@ -67,8 +67,8 @@ void func_80059A24(Object_2F4* arg0) {
|
||||
|
||||
Matrix_Translate(gGfxMatrix, 0.f, -temp, 0.0f, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
func_8009AA20(&D_601E8C4, arg0->unk_0B6, sp30);
|
||||
func_8009A72C(1, &D_601E9D0, sp30, NULL, func_800599A4, &arg0->unk_040, &gIdentityMatrix);
|
||||
Animation_GetFrameData(&D_601E8C4, arg0->unk_0B6, sp30);
|
||||
Animation_DrawSkeleton(1, &D_601E9D0, sp30, NULL, func_800599A4, &arg0->unk_040, &gIdentityMatrix);
|
||||
}
|
||||
|
||||
void func_80059AEC(Object_80* arg0) {
|
||||
@@ -424,7 +424,7 @@ void func_8005ADAC(Object_2F4* arg0) {
|
||||
if (arg0->unk_07C >= 2) {
|
||||
temp1 = 1.3050001f;
|
||||
}
|
||||
func_8009BC2C(&arg0->unk_188, temp1, 0.3f, 5.0f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_188, temp1, 0.3f, 5.0f, 0.0f);
|
||||
sp5C = arg0->unk_188;
|
||||
if (D_80177DB0 & 1) {
|
||||
sp5C *= 1.111f;
|
||||
@@ -587,8 +587,8 @@ void func_8005B848(Object_2F4* arg0) {
|
||||
|
||||
void func_8005B9A4(Object_2F4* arg0) {
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, 1);
|
||||
func_8009AA20(&D_6029528, arg0->unk_0B6, &arg0->unk_18C);
|
||||
func_8009A72C(1, D_6029674, &arg0->unk_18C, NULL, NULL, (s32*) arg0, &gIdentityMatrix);
|
||||
Animation_GetFrameData(&D_6029528, arg0->unk_0B6, &arg0->unk_18C);
|
||||
Animation_DrawSkeleton(1, D_6029674, &arg0->unk_18C, NULL, NULL, (s32*) arg0, &gIdentityMatrix);
|
||||
}
|
||||
|
||||
void func_8005BA30(Object_2F4* arg0) {
|
||||
|
||||
@@ -1467,7 +1467,7 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
arg0->unk_180 = D_80178280[0].unk_074;
|
||||
}
|
||||
if (arg0->unk_0BC != 0) {
|
||||
func_8009BD38(&arg0->obj.rot.x, 0.0f, 0.3f, 4.0f, 0.001f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.x, 0.0f, 0.3f, 4.0f, 0.001f);
|
||||
} else {
|
||||
if ((arg0->unk_078 == 0) &&
|
||||
((fabsf(arg0->unk_180 - arg0->obj.pos.x) > 300.0f) || (fabsf(arg0->unk_188 - arg0->obj.pos.z) > 300.0f))) {
|
||||
@@ -1484,10 +1484,10 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
sp88 = (arg0->unk_180 + spD4) - arg0->obj.pos.x;
|
||||
sp84 = (arg0->unk_184 + spD0) - arg0->obj.pos.y;
|
||||
sp80 = (arg0->unk_188 + spCC) - arg0->obj.pos.z;
|
||||
sp78 = func_8009F768(Math_Atan2F(sp88, sp80));
|
||||
sp7C = func_8009F768(-Math_Atan2F(sp84, sqrtf((sp88 * sp88) + (sp80 * sp80))));
|
||||
sp84 = func_8009BD38(&arg0->obj.rot.y, sp78, 0.3f, 4.0f, 0.001f);
|
||||
func_8009BD38(&arg0->obj.rot.x, sp7C, 0.3f, 4.0f, 0.001f);
|
||||
sp78 = Math_RadToDeg(Math_Atan2F(sp88, sp80));
|
||||
sp7C = Math_RadToDeg(-Math_Atan2F(sp84, sqrtf((sp88 * sp88) + (sp80 * sp80))));
|
||||
sp84 = Math_SmoothStepToAngle(&arg0->obj.rot.y, sp78, 0.3f, 4.0f, 0.001f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.x, sp7C, 0.3f, 4.0f, 0.001f);
|
||||
}
|
||||
if ((fabsf(arg0->unk_180 - arg0->obj.pos.x) < 60.0f) && (fabsf(arg0->unk_184 - arg0->obj.pos.y) < 60.0f) &&
|
||||
(fabsf(arg0->unk_188 - arg0->obj.pos.z) < 60.0f) && ((spC4 == 2) || (spC4 == 3) || (spC4 == 4))) {
|
||||
@@ -1499,7 +1499,7 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
func_80060FBC(&arg0->obj, &arg0->unk_100);
|
||||
}
|
||||
}
|
||||
func_8009F6CC(&sp98, arg0->obj.rot.x, arg0->obj.rot.y, arg0->unk_124.y);
|
||||
Math_Vec3fFromAngles(&sp98, arg0->obj.rot.x, arg0->obj.rot.y, arg0->unk_124.y);
|
||||
arg0->unk_0E8 = sp98.x;
|
||||
arg0->unk_0EC = sp98.y;
|
||||
arg0->unk_0F0 = sp98.z - D_80177D08;
|
||||
@@ -1509,7 +1509,7 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
if (arg0->unk_0B4 == 1) {
|
||||
if (arg0->unk_0BE == 0) {
|
||||
arg0->unk_0BE = 30;
|
||||
func_8009F6CC(&sp98, arg0->obj.rot.x, arg0->obj.rot.y, 120.0f);
|
||||
Math_Vec3fFromAngles(&sp98, arg0->obj.rot.x, arg0->obj.rot.y, 120.0f);
|
||||
func_8007F04C(0x161, arg0->obj.pos.x + sp98.x, arg0->obj.pos.y + sp98.y, arg0->obj.pos.z + sp98.z,
|
||||
arg0->obj.rot.x, arg0->obj.rot.y, arg0->obj.rot.z, 0.0f, 0.0f, 0.0f, sp98.x, sp98.y, sp98.z,
|
||||
1.0f);
|
||||
@@ -1518,7 +1518,7 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
if (sp84 < 0.0f) {
|
||||
var_fv0 = 30.0f;
|
||||
}
|
||||
func_8009BD38(&arg0->obj.rot.z, var_fv0, 0.1f, 3.0f, 0.01f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.z, var_fv0, 0.1f, 3.0f, 0.01f);
|
||||
}
|
||||
if ((D_801784AC == 4) &&
|
||||
(func_E6A810_801B6AEC(arg0->obj.pos.x, arg0->obj.pos.y, arg0->obj.pos.z + D_80177D20) != 0)) {
|
||||
@@ -1558,7 +1558,7 @@ void func_800656D4(Object_2F4* arg0) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_61B30/func_800656D4.s")
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_enmy1/func_800656D4.s")
|
||||
#endif
|
||||
|
||||
void func_800660F0(Object_2F4* arg0) {
|
||||
@@ -1668,7 +1668,7 @@ void func_8006654C(Object_2F4* arg0) {
|
||||
arg0->unk_114 = arg0->unk_114 + 0.5f;
|
||||
}
|
||||
arg0->unk_0B6++;
|
||||
if (func_8009ACDC(&D_6029528) < arg0->unk_0B6) {
|
||||
if (Animation_GetFrameCount(&D_6029528) < arg0->unk_0B6) {
|
||||
arg0->unk_0B6 = 0;
|
||||
}
|
||||
if ((arg0->obj.rot.z < 15.0f) && (arg0->unk_0B6 < 0x14)) {
|
||||
@@ -1848,24 +1848,24 @@ void func_80066EF0(Object_6C* arg0) {
|
||||
var_fa1 = 600.0f;
|
||||
}
|
||||
if (D_80178280[0].unk_0AC + var_fa1 < arg0->obj.pos.x) {
|
||||
func_8009BC2C(&arg0->obj.pos.x, D_80178280[0].unk_0AC + var_fa1, 0.1f, 10.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.x, D_80178280[0].unk_0AC + var_fa1, 0.1f, 10.0f, 0.01f);
|
||||
}
|
||||
if (arg0->obj.pos.x < D_80178280[0].unk_0AC - var_fa1) {
|
||||
func_8009BC2C(&arg0->obj.pos.x, D_80178280[0].unk_0AC - var_fa1, 0.1f, 10.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.x, D_80178280[0].unk_0AC - var_fa1, 0.1f, 10.0f, 0.01f);
|
||||
}
|
||||
}
|
||||
if (arg0->obj.pos.y > 650.0f) {
|
||||
func_8009BC2C(&arg0->obj.pos.y, 650.0f, 0.1f, 10.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.y, 650.0f, 0.1f, 10.0f, 0.01f);
|
||||
}
|
||||
if (D_80177C98 == 0) {
|
||||
if (arg0->obj.pos.y < D_80177940 + 70.0f) {
|
||||
func_8009BC2C(&arg0->obj.pos.y, D_80177940 + 70.0f, 0.1f, 5.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.y, D_80177940 + 70.0f, 0.1f, 5.0f, 0.01f);
|
||||
}
|
||||
if ((D_80178234 == 0xD) && (D_80178284 != 0)) {
|
||||
arg0->obj.pos.z += 20.0f;
|
||||
}
|
||||
} else if (arg0->obj.pos.y < -500.0f) {
|
||||
func_8009BC2C(&arg0->obj.pos.y, -500.0f, 0.1f, 5.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.y, -500.0f, 0.1f, 5.0f, 0.01f);
|
||||
}
|
||||
if ((D_801778E8 != 0) && (arg0->unk_40 == 0) && (D_801737E0[1].obj.status == 2)) {
|
||||
if (fabsf(arg0->obj.pos.x - D_801737E0[1].obj.pos.x) < 200.0f) {
|
||||
@@ -1884,7 +1884,7 @@ void func_800671D0(Object_6C* arg0) {
|
||||
Vec3f sp40;
|
||||
Vec3f sp34;
|
||||
|
||||
func_8009BC2C(&arg0->unk_50, 10.0f, 1.0f, 2.0f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_50, 10.0f, 1.0f, 2.0f, 0.0f);
|
||||
if (arg0->unk_50 > 30.0f) {
|
||||
var_v0 = 0;
|
||||
} else if (arg0->unk_50 > 20.0f) {
|
||||
@@ -1940,11 +1940,11 @@ void func_8006753C(Object_2F4* arg0) {
|
||||
arg0->obj.rot.y += 1.0f;
|
||||
if (D_80177880 == 1) {
|
||||
if (D_80178234 == 0x12) {
|
||||
func_8009BC2C(&arg0->obj.pos.x, -2000.0f, 0.05f, 60.0f, 0.01f);
|
||||
func_8009BC2C(&arg0->obj.pos.y, -200.0f, 0.05f, 3.0f, 0.01f);
|
||||
func_8009BC2C(&arg0->obj.pos.z, 0.0f, 0.05f, 0.f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.x, -2000.0f, 0.05f, 60.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.y, -200.0f, 0.05f, 3.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.z, 0.0f, 0.05f, 0.f, 0.01f);
|
||||
} else {
|
||||
func_8009BC2C(&arg0->obj.pos.y, 300.0f, 0.05f, 50.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->obj.pos.y, 300.0f, 0.05f, 50.0f, 0.01f);
|
||||
}
|
||||
}
|
||||
if (arg0->unk_0D0 != 0) {
|
||||
@@ -2070,7 +2070,7 @@ void func_80067BEC(Object_6C* arg0) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
func_8009BC2C(&arg0->unk_68, 2.5f, 1.0f, 0.5f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_68, 2.5f, 1.0f, 0.5f, 0.0f);
|
||||
arg0->obj.pos.x += (D_80178280[arg0->unk_4E].unk_074 - arg0->obj.pos.x) * 0.5f;
|
||||
if (D_80178280[arg0->unk_4E].unk_1CC == 1) {
|
||||
arg0->obj.pos.y += ((D_80178280[arg0->unk_4E].unk_078 + 50.0f) - arg0->obj.pos.y) * 0.5f;
|
||||
@@ -2101,7 +2101,7 @@ void func_80068020(Object_6C* arg0) {
|
||||
|
||||
switch (arg0->unk_46) {
|
||||
case 0:
|
||||
func_8009BC2C(&arg0->unk_68, 0.4f, 1.0f, 0.05f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_68, 0.4f, 1.0f, 0.05f, 0.0f);
|
||||
func_80066EF0(arg0);
|
||||
func_800671D0(arg0);
|
||||
if (arg0->unk_4C != 0) {
|
||||
@@ -2137,9 +2137,9 @@ void func_80068020(Object_6C* arg0) {
|
||||
break;
|
||||
case 1:
|
||||
if (arg0->unk_48 >= 0x1F) {
|
||||
func_8009BC2C(&arg0->unk_68, 1.0f, 1.0f, 0.06f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_68, 1.0f, 1.0f, 0.06f, 0.0f);
|
||||
} else {
|
||||
func_8009BC2C(&arg0->unk_68, 0.0f, 1.0f, 0.06f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_68, 0.0f, 1.0f, 0.06f, 0.0f);
|
||||
}
|
||||
arg0->obj.pos.x += (D_80178280[arg0->unk_4E].unk_074 - arg0->obj.pos.x) * 0.5f;
|
||||
if (D_80178280[arg0->unk_4E].unk_1CC == 1) {
|
||||
@@ -2153,7 +2153,8 @@ void func_80068020(Object_6C* arg0) {
|
||||
arg0->obj.pos.z += (D_80178280[arg0->unk_4E].unk_138 - arg0->obj.pos.z) * 0.5f;
|
||||
}
|
||||
arg0->obj.rot.z += 22.0f;
|
||||
func_8009BD38(&arg0->obj.rot.y, func_8009F768(-D_80178280[arg0->unk_4E].unk_058), 0.2f, 10.0f, 0.0f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.y, Math_RadToDeg(-D_80178280[arg0->unk_4E].unk_058), 0.2f, 10.0f,
|
||||
0.0f);
|
||||
if (arg0->unk_48 == 0) {
|
||||
func_80060FBC(&arg0->obj, &arg0->unk_5C);
|
||||
}
|
||||
@@ -2251,9 +2252,9 @@ void func_80068914(Object_6C* arg0) {
|
||||
arg0->obj.pos.z += (D_80178280[arg0->unk_4E].unk_138 - 100.0f - arg0->obj.pos.z) * 0.3f;
|
||||
}
|
||||
if (arg0->unk_48 == 0) {
|
||||
func_8009BC2C(&arg0->unk_68, 5.0f, 0.2f, 15.0f, 0.01f);
|
||||
func_8009BC2C(&arg0->unk_50, 0.0f, 0.1f, 0.03f, 0.0f);
|
||||
func_8009BC2C(&arg0->unk_54, 4.0f, 0.1f, 0.2f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->unk_68, 5.0f, 0.2f, 15.0f, 0.01f);
|
||||
Math_SmoothStepToF(&arg0->unk_50, 0.0f, 0.1f, 0.03f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_54, 4.0f, 0.1f, 0.2f, 0.01f);
|
||||
}
|
||||
if (arg0->unk_68 <= 6.5f) {
|
||||
func_80060FBC(&arg0->obj, &arg0->unk_5C);
|
||||
@@ -2868,4 +2869,4 @@ void func_8006A3E8(void) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_61B30/D_800D63D0.s")
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_enmy1/D_800D63D0.s")
|
||||
@@ -0,0 +1,201 @@
|
||||
#include "global.h"
|
||||
#include "sf64dma.h"
|
||||
|
||||
#define SEGMENT_SIZE(segment) ((ptrdiff_t) ((uintptr_t) (segment).end - (uintptr_t) (segment).start))
|
||||
|
||||
u8 D_800CA3B0 = 3;
|
||||
|
||||
#include "fox_load_inits.c"
|
||||
|
||||
OverlayInit sCurrentOverlay = {
|
||||
NO_OVERLAY,
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
/* 0x3 */ NO_SEGMENT,
|
||||
/* 0x4 */ NO_SEGMENT,
|
||||
/* 0x5 */ NO_SEGMENT,
|
||||
/* 0x6 */ NO_SEGMENT,
|
||||
/* 0x7 */ NO_SEGMENT,
|
||||
/* 0x8 */ NO_SEGMENT,
|
||||
/* 0x9 */ NO_SEGMENT,
|
||||
/* 0xA */ NO_SEGMENT,
|
||||
/* 0xB */ NO_SEGMENT,
|
||||
/* 0xC */ NO_SEGMENT,
|
||||
/* 0xD */ NO_SEGMENT,
|
||||
/* 0xE */ NO_SEGMENT,
|
||||
/* 0xF */ NO_SEGMENT },
|
||||
};
|
||||
|
||||
void Overlay_LoadSegment(void* vRomAddress, void* dest, ptrdiff_t size) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; gDmaTable[i].pRom.end != NULL; i++) {
|
||||
if (gDmaTable[i].vRomAddress == vRomAddress) {
|
||||
if (gDmaTable[i].compFlag == 0) {
|
||||
Lib_DmaRead(gDmaTable[i].pRom.start, dest, size);
|
||||
} else {
|
||||
Lib_FillScreen(true);
|
||||
D_800CA3B0 = 3;
|
||||
D_80161A39 = true;
|
||||
Lib_DmaRead(gDmaTable[i].pRom.start, gFrameBuffers, SEGMENT_SIZE(gDmaTable[i].pRom));
|
||||
Mio0_Decompress(gFrameBuffers, dest);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u8 Overlay_Init(OverlayInit* ovlInit) {
|
||||
u8* ramPtr = SEGMENT_VRAM_START(ovl_DF4260);
|
||||
u8 segment;
|
||||
u8 changeOvl = false;
|
||||
|
||||
if (ovlInit->ovl.rom.start == (0, sCurrentOverlay.ovl.rom.start)) { // fake because D_800CBDD4 is probably 2D array
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom);
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss);
|
||||
} else {
|
||||
sCurrentOverlay.ovl.rom.start = ovlInit->ovl.rom.start;
|
||||
sCurrentOverlay.ovl.rom.end = ramPtr;
|
||||
if (ovlInit->ovl.rom.start != 0) {
|
||||
changeOvl = true;
|
||||
Overlay_LoadSegment(ovlInit->ovl.rom.start, ramPtr, SEGMENT_SIZE(ovlInit->ovl.rom));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom);
|
||||
bzero(ovlInit->ovl.bss.start, SEGMENT_SIZE(ovlInit->ovl.bss));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss);
|
||||
}
|
||||
}
|
||||
segment = 0;
|
||||
while ((segment < 15) && (ovlInit->assets[segment].start == sCurrentOverlay.assets[segment].start) &&
|
||||
changeOvl == 0) {
|
||||
if (ovlInit->assets[segment].start != 0) {
|
||||
gSegments[segment + 1] = K0_TO_PHYS(ramPtr);
|
||||
gSPSegment(gUnkDisp1++, segment + 1, K0_TO_PHYS(ramPtr));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->assets[segment]);
|
||||
}
|
||||
segment += 1;
|
||||
}
|
||||
for (segment; segment < 15; segment += 1) {
|
||||
sCurrentOverlay.assets[segment].start = ovlInit->assets[segment].start;
|
||||
sCurrentOverlay.assets[segment].end = ramPtr;
|
||||
if (ovlInit->assets[segment].start != 0) {
|
||||
gSegments[segment + 1] = K0_TO_PHYS(ramPtr);
|
||||
gSPSegment(gUnkDisp1++, segment + 1, K0_TO_PHYS(ramPtr));
|
||||
Overlay_LoadSegment(ovlInit->assets[segment].start, ramPtr, SEGMENT_SIZE(ovlInit->assets[segment]));
|
||||
ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->assets[segment]);
|
||||
}
|
||||
}
|
||||
|
||||
if (D_800CA3B0 != 0) {
|
||||
D_800CA3B0--;
|
||||
} else if (gStartNMI == 0) {
|
||||
Lib_FillScreen(false);
|
||||
}
|
||||
return changeOvl;
|
||||
}
|
||||
|
||||
u8 Overlay_Load(u8 arg0, u8 arg1) {
|
||||
u8 changeOvl;
|
||||
|
||||
switch (arg0) {
|
||||
case 0x0:
|
||||
changeOvl = Overlay_Init(&sEBFBE0_Overlay1[arg1]);
|
||||
if (changeOvl == true) {
|
||||
func_8001DC6C(0, 0x16);
|
||||
}
|
||||
break;
|
||||
case 0x1:
|
||||
changeOvl = Overlay_Init(&sEBFBE0_Overlay2[arg1]);
|
||||
break;
|
||||
case 0x2:
|
||||
changeOvl = Overlay_Init(&sEBFBE0_Overlay3[arg1]);
|
||||
break;
|
||||
case 0x3:
|
||||
changeOvl = Overlay_Init(&sEBFBE0_Overlay4[arg1]);
|
||||
break;
|
||||
case 0x5:
|
||||
changeOvl = Overlay_Init(&sDF4260_Overlay1[arg1]);
|
||||
break;
|
||||
case 0x6:
|
||||
changeOvl = Overlay_Init(&sE08400_Overlay1_2[arg1]);
|
||||
break;
|
||||
case 0x7:
|
||||
changeOvl = Overlay_Init(&sE6A810_Overlay1_6[arg1]);
|
||||
break;
|
||||
case 0x8:
|
||||
changeOvl = Overlay_Init(&sE08400_Overlay2_2[arg1]);
|
||||
break;
|
||||
case 0x17:
|
||||
changeOvl = Overlay_Init(&sE51970_Overlay1[arg1]);
|
||||
break;
|
||||
case 0x9:
|
||||
changeOvl = Overlay_Init(&sE16C50_Overlay1[arg1]);
|
||||
break;
|
||||
case 0xA:
|
||||
changeOvl = Overlay_Init(&sE16C50_Overlay2[arg1]);
|
||||
break;
|
||||
case 0xB:
|
||||
changeOvl = Overlay_Init(&sE51970_Overlay2_2[arg1]);
|
||||
break;
|
||||
case 0xC:
|
||||
changeOvl = Overlay_Init(&sE16C50_Overlay3[arg1]);
|
||||
break;
|
||||
case 0xD:
|
||||
changeOvl = Overlay_Init(&sE9F1D0_Overlay1[arg1]);
|
||||
break;
|
||||
case 0xE:
|
||||
changeOvl = Overlay_Init(&sE16C50_Overlay4[arg1]);
|
||||
break;
|
||||
case 0xF:
|
||||
changeOvl = Overlay_Init(&sE16C50_Overlay5[arg1]);
|
||||
break;
|
||||
case 0x10:
|
||||
changeOvl = Overlay_Init(&sE9F1D0_Overlay2[arg1]);
|
||||
break;
|
||||
case 0x11:
|
||||
changeOvl = Overlay_Init(&sDF4260_Overlay3[arg1]);
|
||||
break;
|
||||
case 0x12:
|
||||
changeOvl = Overlay_Init(&sDF4260_Overlay2[arg1]);
|
||||
break;
|
||||
case 0x18:
|
||||
changeOvl = Overlay_Init(&sE9F1D0_Overlay3_2[arg1]);
|
||||
break;
|
||||
case 0x14:
|
||||
changeOvl = Overlay_Init(&sE08400_Overlay3[arg1]);
|
||||
break;
|
||||
case 0x16:
|
||||
changeOvl = Overlay_Init(&sE51970_Overlay3[arg1]);
|
||||
break;
|
||||
case 0x13:
|
||||
changeOvl = Overlay_Init(&sE51970_Overlay4[arg1]);
|
||||
break;
|
||||
case 0x15:
|
||||
changeOvl = Overlay_Init(&sE6A810_Overlay2_2[arg1]);
|
||||
break;
|
||||
case 0x32:
|
||||
changeOvl = Overlay_Init(&sE08400_Overlay4_2[arg1]);
|
||||
if (changeOvl == true) {
|
||||
func_8001DC6C(3, 0x310);
|
||||
}
|
||||
break;
|
||||
case 0x63:
|
||||
changeOvl = Overlay_Init(&sLogoOverlay[arg1]);
|
||||
if (changeOvl == true) {
|
||||
func_8001DC6C(0, 0xE);
|
||||
}
|
||||
break;
|
||||
case 0x4:
|
||||
changeOvl = Overlay_Init(&sCreditsOverlay_6[arg1]);
|
||||
break;
|
||||
default:
|
||||
(void) "DMA MODE ERROR %d\n";
|
||||
changeOvl = false;
|
||||
break;
|
||||
}
|
||||
return changeOvl;
|
||||
}
|
||||
|
||||
void Overlay_InitDma(void) {
|
||||
Lib_DmaRead(SEGMENT_ROM_START(dma_table), SEGMENT_VRAM_START(dma_table), SEGMENT_ROM_SIZE(dma_table));
|
||||
Overlay_LoadSegment(SEGMENT_ROM_START(ast_DE5D50), SEGMENT_VRAM_START(ast_DE5D50), SEGMENT_ROM_SIZE(ast_DE5D50));
|
||||
}
|
||||
@@ -21,7 +21,7 @@
|
||||
#define ROM_SEGMENT(file) \
|
||||
{ SEGMENT_ROM_START(file), SEGMENT_ROM_END(file) }
|
||||
|
||||
OverlayInit D_800CA3B4[1] = {
|
||||
OverlayInit sLogoOverlay[1] = {
|
||||
{ NO_OVERLAY,
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -40,7 +40,7 @@ OverlayInit D_800CA3B4[1] = {
|
||||
/* 0xF */ ROM_SEGMENT(ast_D25100) } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CA44C[6] = {
|
||||
OverlayInit sCreditsOverlay_6[6] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EF0260),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -139,7 +139,7 @@ OverlayInit D_800CA44C[6] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CA7DC[1] = {
|
||||
OverlayInit sEBFBE0_Overlay1[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EBFBE0),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -158,7 +158,7 @@ OverlayInit D_800CA7DC[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CA874[1] = {
|
||||
OverlayInit sEBFBE0_Overlay2[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EBFBE0),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -177,7 +177,7 @@ OverlayInit D_800CA874[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CA90C[1] = {
|
||||
OverlayInit sEBFBE0_Overlay3[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EBFBE0),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -196,7 +196,7 @@ OverlayInit D_800CA90C[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CA9A4[1] = {
|
||||
OverlayInit sEBFBE0_Overlay4[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EBFBE0),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -215,7 +215,7 @@ OverlayInit D_800CA9A4[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CAA3C[1] = {
|
||||
OverlayInit sDF4260_Overlay1[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_DF4260),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -234,7 +234,7 @@ OverlayInit D_800CAA3C[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CAAD4[2] = {
|
||||
OverlayInit sE08400_Overlay1_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E08400),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -269,7 +269,7 @@ OverlayInit D_800CAAD4[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CAC04[6] = {
|
||||
OverlayInit sE6A810_Overlay1_6[6] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E6A810),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -368,7 +368,7 @@ OverlayInit D_800CAC04[6] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CAF94[2] = {
|
||||
OverlayInit sE08400_Overlay2_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E08400),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -403,7 +403,7 @@ OverlayInit D_800CAF94[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB0C4[1] = {
|
||||
OverlayInit sE51970_Overlay1[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E51970),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -422,7 +422,7 @@ OverlayInit D_800CB0C4[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB15C[1] = {
|
||||
OverlayInit sE16C50_Overlay1[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E16C50),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -441,7 +441,7 @@ OverlayInit D_800CB15C[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB1F4[1] = {
|
||||
OverlayInit sE16C50_Overlay2[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E16C50),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -460,7 +460,7 @@ OverlayInit D_800CB1F4[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB28C[2] = {
|
||||
OverlayInit sE51970_Overlay2_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E51970),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -495,7 +495,7 @@ OverlayInit D_800CB28C[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB3BC[1] = {
|
||||
OverlayInit sE16C50_Overlay3[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E16C50),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -514,7 +514,7 @@ OverlayInit D_800CB3BC[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB454[1] = {
|
||||
OverlayInit sE9F1D0_Overlay1[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E9F1D0),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -533,7 +533,7 @@ OverlayInit D_800CB454[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB4EC[1] = {
|
||||
OverlayInit sE16C50_Overlay4[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E16C50),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -552,7 +552,7 @@ OverlayInit D_800CB4EC[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB584[1] = {
|
||||
OverlayInit sE16C50_Overlay5[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E16C50),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -571,7 +571,7 @@ OverlayInit D_800CB584[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB61C[1] = {
|
||||
OverlayInit sDF4260_Overlay2[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_DF4260),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -590,7 +590,7 @@ OverlayInit D_800CB61C[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB6B4[1] = {
|
||||
OverlayInit sE9F1D0_Overlay2[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E9F1D0),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -609,7 +609,7 @@ OverlayInit D_800CB6B4[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB74C[2] = {
|
||||
OverlayInit sE9F1D0_Overlay3_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E9F1D0),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -644,7 +644,7 @@ OverlayInit D_800CB74C[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB87C[1] = {
|
||||
OverlayInit sE08400_Overlay3[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E08400),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -663,7 +663,7 @@ OverlayInit D_800CB87C[1] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB914[1] = {
|
||||
OverlayInit sE51970_Overlay3[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E51970),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
|
||||
@@ -682,7 +682,7 @@ OverlayInit D_800CB914[1] = {
|
||||
/* 0xF */ ROM_SEGMENT(ast_940AD0) } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CB9AC[1] = {
|
||||
OverlayInit sE51970_Overlay4[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E51970),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -701,7 +701,7 @@ OverlayInit D_800CB9AC[1] = {
|
||||
/* 0xF */ ROM_SEGMENT(ast_940AD0) } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CBA44[2] = {
|
||||
OverlayInit sE6A810_Overlay2_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E6A810),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -736,7 +736,7 @@ OverlayInit D_800CBA44[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CBB74[1] = {
|
||||
OverlayInit sDF4260_Overlay3[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_DF4260),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -755,7 +755,7 @@ OverlayInit D_800CBB74[1] = {
|
||||
/* 0xF */ ROM_SEGMENT(ast_940AD0) } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CBC0C[2] = {
|
||||
OverlayInit sE08400_Overlay4_2[2] = {
|
||||
{ OVERLAY_OFFSETS(ovl_E08400),
|
||||
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
|
||||
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
|
||||
@@ -790,7 +790,7 @@ OverlayInit D_800CBC0C[2] = {
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CBD3C[1] = {
|
||||
OverlayInit sEFFA40_Overlay[1] = {
|
||||
{ OVERLAY_OFFSETS(ovl_EFFA40),
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
@@ -808,22 +808,3 @@ OverlayInit D_800CBD3C[1] = {
|
||||
/* 0xE */ NO_SEGMENT,
|
||||
/* 0xF */ NO_SEGMENT } },
|
||||
};
|
||||
|
||||
OverlayInit D_800CBDD4 = {
|
||||
NO_OVERLAY,
|
||||
{ /* 0x1 */ NO_SEGMENT,
|
||||
/* 0x2 */ NO_SEGMENT,
|
||||
/* 0x3 */ NO_SEGMENT,
|
||||
/* 0x4 */ NO_SEGMENT,
|
||||
/* 0x5 */ NO_SEGMENT,
|
||||
/* 0x6 */ NO_SEGMENT,
|
||||
/* 0x7 */ NO_SEGMENT,
|
||||
/* 0x8 */ NO_SEGMENT,
|
||||
/* 0x9 */ NO_SEGMENT,
|
||||
/* 0xA */ NO_SEGMENT,
|
||||
/* 0xB */ NO_SEGMENT,
|
||||
/* 0xC */ NO_SEGMENT,
|
||||
/* 0xD */ NO_SEGMENT,
|
||||
/* 0xE */ NO_SEGMENT,
|
||||
/* 0xF */ NO_SEGMENT },
|
||||
};
|
||||
@@ -0,0 +1,289 @@
|
||||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
MSGCHAR_END,
|
||||
MSGCHAR_NWL,
|
||||
MSGCHAR_NP2,
|
||||
MSGCHAR_NP3,
|
||||
MSGCHAR_NP4,
|
||||
MSGCHAR_NP5,
|
||||
MSGCHAR_NP6,
|
||||
MSGCHAR_NP7,
|
||||
MSGCHAR_NP8,
|
||||
MSGCHAR_NP9,
|
||||
MSGCHAR_NPA,
|
||||
MSGCHAR_NPB,
|
||||
MSGCHAR_SPC,
|
||||
MSGCHAR_QSP,
|
||||
MSGCHAR_HSP,
|
||||
MSGCHAR_NPF,
|
||||
MSGCHAR_CLF,
|
||||
MSGCHAR_CUP,
|
||||
MSGCHAR_CRT,
|
||||
MSGCHAR_CDN,
|
||||
MSGCHAR_AUP,
|
||||
MSGCHAR_ALF,
|
||||
MSGCHAR_ADN,
|
||||
MSGCHAR_ART,
|
||||
MSGCHAR_A,
|
||||
MSGCHAR_B,
|
||||
MSGCHAR_C,
|
||||
MSGCHAR_D,
|
||||
MSGCHAR_E,
|
||||
MSGCHAR_F,
|
||||
MSGCHAR_G,
|
||||
MSGCHAR_H,
|
||||
MSGCHAR_I,
|
||||
MSGCHAR_J,
|
||||
MSGCHAR_K,
|
||||
MSGCHAR_L,
|
||||
MSGCHAR_M,
|
||||
MSGCHAR_N,
|
||||
MSGCHAR_O,
|
||||
MSGCHAR_P,
|
||||
MSGCHAR_Q,
|
||||
MSGCHAR_R,
|
||||
MSGCHAR_S,
|
||||
MSGCHAR_T,
|
||||
MSGCHAR_U,
|
||||
MSGCHAR_V,
|
||||
MSGCHAR_W,
|
||||
MSGCHAR_X,
|
||||
MSGCHAR_Y,
|
||||
MSGCHAR_Z,
|
||||
MSGCHAR_a,
|
||||
MSGCHAR_b,
|
||||
MSGCHAR_c,
|
||||
MSGCHAR_d,
|
||||
MSGCHAR_e,
|
||||
MSGCHAR_f,
|
||||
MSGCHAR_g,
|
||||
MSGCHAR_h,
|
||||
MSGCHAR_i,
|
||||
MSGCHAR_j,
|
||||
MSGCHAR_k,
|
||||
MSGCHAR_l,
|
||||
MSGCHAR_m,
|
||||
MSGCHAR_n,
|
||||
MSGCHAR_o,
|
||||
MSGCHAR_p,
|
||||
MSGCHAR_q,
|
||||
MSGCHAR_r,
|
||||
MSGCHAR_s,
|
||||
MSGCHAR_t,
|
||||
MSGCHAR_u,
|
||||
MSGCHAR_v,
|
||||
MSGCHAR_w,
|
||||
MSGCHAR_x,
|
||||
MSGCHAR_y,
|
||||
MSGCHAR_z,
|
||||
MSGCHAR_EXM,
|
||||
MSGCHAR_QST,
|
||||
MSGCHAR_DSH,
|
||||
MSGCHAR_CMA,
|
||||
MSGCHAR_PRD,
|
||||
MSGCHAR_0,
|
||||
MSGCHAR_1,
|
||||
MSGCHAR_2,
|
||||
MSGCHAR_3,
|
||||
MSGCHAR_4,
|
||||
MSGCHAR_5,
|
||||
MSGCHAR_6,
|
||||
MSGCHAR_7,
|
||||
MSGCHAR_8,
|
||||
MSGCHAR_9,
|
||||
MSGCHAR_APS,
|
||||
MSGCHAR_LPR,
|
||||
MSGCHAR_RPR,
|
||||
MSGCHAR_CLN,
|
||||
MSGCHAR_PIP,
|
||||
} CharCode;
|
||||
|
||||
u16* Message_PtrFromId(u16 msgId) {
|
||||
s32 i;
|
||||
MsgLookup* lookup = gMsgLookup;
|
||||
|
||||
while (lookup->msgId != -1) {
|
||||
if (lookup->msgId == msgId) {
|
||||
return lookup->msgPtr;
|
||||
}
|
||||
lookup++;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
u16 Message_IdFromPtr(u16* msgPtr) {
|
||||
s32 i;
|
||||
MsgLookup* lookup = gMsgLookup;
|
||||
|
||||
while (lookup->msgPtr != NULL) {
|
||||
if (lookup->msgPtr == msgPtr) {
|
||||
return lookup->msgId;
|
||||
}
|
||||
lookup++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 Message_GetWidth(u16* msgPtr) {
|
||||
s32 width = 0;
|
||||
u16* msgChar = msgPtr;
|
||||
|
||||
while (*msgChar != MSGCHAR_END) {
|
||||
if (*msgChar > 15 || *msgChar == 12) {
|
||||
width++;
|
||||
}
|
||||
msgChar++;
|
||||
}
|
||||
return width;
|
||||
}
|
||||
|
||||
s32 Message_GetCharCount(u16* msgPtr) {
|
||||
s32 count = 0;
|
||||
u16* msgChar = msgPtr;
|
||||
|
||||
while (*msgChar != 0) {
|
||||
count++;
|
||||
msgChar++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
void Message_DisplayChar(Gfx** gfxPtr, u16 msgChar, s32 xpos, s32 ypos) {
|
||||
gDPLoadTextureBlock_4b((*gfxPtr)++, gTextCharTextures[msgChar >> 2], G_IM_FMT_CI, 16, 13, msgChar & 3,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
|
||||
G_TX_NOLOD);
|
||||
gSPTextureRectangle((*gfxPtr)++, xpos << 2, ypos << 2, (xpos + 13) << 2, (ypos + 13) << 2, G_TX_RENDERTILE, 0x40, 0,
|
||||
0x400, 0x400);
|
||||
}
|
||||
|
||||
s32 Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len) {
|
||||
s32 xChar = xPos;
|
||||
s32 yChar = yPos;
|
||||
s32 i;
|
||||
s32 print;
|
||||
|
||||
gDPSetPrimColor((*gfxPtr)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
gDPSetTextureLUT((*gfxPtr)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*gfxPtr)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
// bug: if the for loop is skipped, print is never initialized
|
||||
for (i = 0; msgPtr[i] != MSGCHAR_END && i < len; i++) {
|
||||
print = false;
|
||||
switch (msgPtr[i]) {
|
||||
case MSGCHAR_NWL:
|
||||
xChar = xPos;
|
||||
yChar += 13;
|
||||
break;
|
||||
case MSGCHAR_CLF:
|
||||
case MSGCHAR_CUP:
|
||||
case MSGCHAR_CRT:
|
||||
case MSGCHAR_CDN:
|
||||
gDPSetPrimColor((*gfxPtr)++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
Message_DisplayChar(gfxPtr, msgPtr[i], xChar, yChar);
|
||||
xChar += 14;
|
||||
print = true;
|
||||
gDPSetPrimColor((*gfxPtr)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
break;
|
||||
case MSGCHAR_SPC:
|
||||
default:
|
||||
Message_DisplayChar(gfxPtr, msgPtr[i], xChar, yChar);
|
||||
xChar += 7;
|
||||
print = true;
|
||||
break;
|
||||
case MSGCHAR_NP2:
|
||||
case MSGCHAR_NP3:
|
||||
case MSGCHAR_NP4:
|
||||
case MSGCHAR_NP5:
|
||||
case MSGCHAR_NP6:
|
||||
case MSGCHAR_NP7:
|
||||
case MSGCHAR_NP8:
|
||||
case MSGCHAR_NP9:
|
||||
case MSGCHAR_NPA:
|
||||
case MSGCHAR_NPB:
|
||||
case MSGCHAR_QSP:
|
||||
case MSGCHAR_HSP:
|
||||
case MSGCHAR_NPF:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return print;
|
||||
}
|
||||
|
||||
void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 yRangeHi, s32 yRangeLo, s32 len) {
|
||||
s32 var_s2 = xPos;
|
||||
s32 var_s4 = yPos;
|
||||
s32 i;
|
||||
// s32 var_v1;
|
||||
|
||||
gDPSetTextureLUT((*gfxPtr)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*gfxPtr)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
for (i = 0; msgPtr[i] != 0 && i < len; i++) {
|
||||
switch (msgPtr[i]) {
|
||||
case MSGCHAR_NWL:
|
||||
var_s2 = xPos;
|
||||
var_s4 += 15;
|
||||
break;
|
||||
case MSGCHAR_QSP:
|
||||
var_s2 += 2;
|
||||
break;
|
||||
case MSGCHAR_HSP:
|
||||
var_s2 += 3;
|
||||
break;
|
||||
case MSGCHAR_SPC:
|
||||
var_s2 += 7;
|
||||
break;
|
||||
default:
|
||||
if ((yRangeLo < var_s4) && (var_s4 < yRangeHi)) {
|
||||
Message_DisplayChar(gfxPtr, msgPtr[i], var_s2, var_s4);
|
||||
}
|
||||
var_s2 += 7;
|
||||
break;
|
||||
case MSGCHAR_NP2:
|
||||
case MSGCHAR_NP3:
|
||||
case MSGCHAR_NP4:
|
||||
case MSGCHAR_NP5:
|
||||
case MSGCHAR_NP6:
|
||||
case MSGCHAR_NP7:
|
||||
case MSGCHAR_NP8:
|
||||
case MSGCHAR_NP9:
|
||||
case MSGCHAR_NPA:
|
||||
case MSGCHAR_NPB:
|
||||
case MSGCHAR_NPF:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 Message_NotWhitespace(u16* msgPtr, s32 charPos) {
|
||||
s32 i;
|
||||
s32 print;
|
||||
|
||||
// bug: if the for loop is skipped, print is never initialized
|
||||
for (i = 0; msgPtr[i] != 0 && i < charPos; i++) {
|
||||
print = 0;
|
||||
switch (msgPtr[i]) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
break;
|
||||
default:
|
||||
print = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return print;
|
||||
}
|
||||
@@ -11,7 +11,7 @@ s32 D_800D4A70 = 0;
|
||||
void func_800BA760(void) {
|
||||
func_800B9358();
|
||||
if (D_80177D50 == 1.3f) {
|
||||
D_801782F8 = func_800C2F30(D_80178308, D_801782D8);
|
||||
D_801782F8 = Message_NotWhitespace(D_80178308, D_801782D8);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ void func_800BA808(u16* arg0, s32 arg1) {
|
||||
break;
|
||||
}
|
||||
|
||||
D_801782E8 = func_800C2890(arg0);
|
||||
D_801782E8 = Message_IdFromPtr(arg0);
|
||||
func_8001ACDC(D_801782E8);
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@ void func_800BB388(void) {
|
||||
}
|
||||
if (D_80177D50 == 1.3f) {
|
||||
func_800B8DD0(&gMasterDisp, 0x55);
|
||||
D_801782F8 = func_800C2AF0(&gMasterDisp, D_80178308, D_80178728, D_8017872C, D_801782D8);
|
||||
D_801782F8 = Message_DisplayText(&gMasterDisp, D_80178308, D_80178728, D_8017872C, D_801782D8);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -519,7 +519,7 @@ void func_800BB5D0(void) {
|
||||
case 0x3:
|
||||
if (D_801782AC == 0) {
|
||||
D_8017829C++;
|
||||
temp_v0 = func_800C28DC(D_80178308);
|
||||
temp_v0 = Message_GetWidth(D_80178308);
|
||||
if (D_80137E78 == 3) {
|
||||
D_801782AC = temp_v0 + 0x10;
|
||||
} else {
|
||||
@@ -543,12 +543,12 @@ void func_800BB5D0(void) {
|
||||
if (func_8001AE78() == 0) {
|
||||
D_80178724++;
|
||||
D_80178308 = D_80178720[D_80178724];
|
||||
func_8001ACDC(func_800C2890(D_80178308));
|
||||
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
||||
|
||||
D_801782D8 = 0;
|
||||
D_8017874C = 0;
|
||||
D_801782AC = 0x50;
|
||||
D_801782AC = func_800C28DC(D_80178308) * 2;
|
||||
D_801782AC = Message_GetWidth(D_80178308) * 2;
|
||||
D_8017829C = 4;
|
||||
}
|
||||
break;
|
||||
@@ -650,7 +650,7 @@ void func_800BB5D0(void) {
|
||||
(D_801782A4 != 3) && (D_801782A4 != 1000)) {
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
func_800A1200(0x1F, 0xA7, 1.0f, 1.0f, "DOWN");
|
||||
Graphics_DisplaySmallText(0x1F, 0xA7, 1.0f, 1.0f, "DOWN");
|
||||
func_80084B94(1);
|
||||
}
|
||||
if ((D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
|
||||
@@ -685,7 +685,7 @@ void func_800BB5D0(void) {
|
||||
(D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
func_800A1200(0x1F, 0xA7, 1.0f, 1.0f, "DOWN");
|
||||
Graphics_DisplaySmallText(0x1F, 0xA7, 1.0f, 1.0f, "DOWN");
|
||||
}
|
||||
if ((D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
|
||||
func_80086110(22.0f, 165.0f, D_80163FE0[var_v1].unk_0CE * 2.55f);
|
||||
@@ -702,7 +702,7 @@ void func_800BB5D0(void) {
|
||||
#else
|
||||
extern s32 D_8017874C;
|
||||
void func_800BB5D0(void);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_BB360/func_800BB5D0.s")
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_radio/func_800BB5D0.s")
|
||||
#endif
|
||||
|
||||
void func_800BC040(void) {
|
||||
@@ -719,7 +719,7 @@ void func_800BC040(void) {
|
||||
D_8017829C = 1;
|
||||
D_80177D38 = 0.0f;
|
||||
D_80177D50 = 0.0f;
|
||||
D_801782D8 = func_800C28DC(D_80178308);
|
||||
D_801782D8 = Message_GetWidth(D_80178308);
|
||||
if (D_801778A8 != 1) {
|
||||
D_8017829C = 0;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
void func_800BC4B0(void) {
|
||||
void Graphics_NMIWipe(void) {
|
||||
static s16 D_800D4A80 = 0;
|
||||
s32 i;
|
||||
|
||||
@@ -14,12 +14,14 @@ void func_800BC4B0(void) {
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gSPViewport(gMasterDisp++, gViewport);
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8);
|
||||
|
||||
func_8009F574(&gMasterDisp, 8, 8, MIN(304, D_800D4A80) + 8, 64, 0, 0, 0, 255);
|
||||
func_8009F574(&gMasterDisp, 312 - MIN(304, D_800D4A80), 64, 312, 120, 0, 0, 0, 255);
|
||||
func_8009F574(&gMasterDisp, 8, 120, MIN(304, D_800D4A80) + 8, 176, 0, 0, 0, 255);
|
||||
func_8009F574(&gMasterDisp, 312 - MIN(304, D_800D4A80), 176, 312, 232, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, 8, 8, MIN(304, D_800D4A80) + 8, 64, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, SCREEN_WIDTH - 8 - MIN(304, D_800D4A80), 64, SCREEN_WIDTH - 8, 120, 0, 0, 0,
|
||||
255);
|
||||
Graphics_FillRectangle(&gMasterDisp, 8, 120, MIN(304, D_800D4A80) + 8, 176, 0, 0, 0, 255);
|
||||
Graphics_FillRectangle(&gMasterDisp, SCREEN_WIDTH - 8 - MIN(304, D_800D4A80), 176, SCREEN_WIDTH - 8, 232, 0, 0, 0,
|
||||
255);
|
||||
if (D_800D4A80 == 0) {
|
||||
func_8001EE00();
|
||||
}
|
||||
+1
-1
@@ -337,7 +337,7 @@ void Graphics_ThreadEntry(void* arg0) {
|
||||
gSPDisplayList(gMasterDisp++, gGfxPool->unkDL1);
|
||||
func_800A26C0();
|
||||
if (gStartNMI == 1) {
|
||||
func_800BC4B0();
|
||||
Graphics_NMIWipe();
|
||||
}
|
||||
gSPEndDisplayList(gUnkDisp1++);
|
||||
gSPEndDisplayList(gUnkDisp2++);
|
||||
|
||||
+43
-43
@@ -201,9 +201,9 @@ void func_80086110(f32 arg0, f32 arg1, s32 arg2) {
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
if ((arg2 == 0) && (D_80178280[0].unk_1C8 == 7)) {
|
||||
func_800A1200(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, " OK ");
|
||||
Graphics_DisplaySmallText(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, " OK ");
|
||||
} else {
|
||||
func_800A1200(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, "DOWN");
|
||||
Graphics_DisplaySmallText(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, "DOWN");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -739,47 +739,47 @@ void func_8008AD94(void) {
|
||||
|
||||
switch ((s32) D_80177D68) {
|
||||
case 0:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "FOX");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "FOX");
|
||||
break;
|
||||
|
||||
case 10:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "FALCO");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "FALCO");
|
||||
break;
|
||||
|
||||
case 20:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "SLIPPY");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "SLIPPY");
|
||||
break;
|
||||
|
||||
case 30:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "PEPPY");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "PEPPY");
|
||||
break;
|
||||
|
||||
case 200:
|
||||
case 240:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "WOLF");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "WOLF");
|
||||
break;
|
||||
|
||||
case 220:
|
||||
case 260:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "LEON");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "LEON");
|
||||
break;
|
||||
|
||||
case 210:
|
||||
case 250:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "PIGMA");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "PIGMA");
|
||||
break;
|
||||
|
||||
case 230:
|
||||
case 270:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "ANDREW");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "ANDREW");
|
||||
break;
|
||||
|
||||
case 170:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "BILL");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "BILL");
|
||||
break;
|
||||
|
||||
case 40:
|
||||
func_800A1200(73, 173, 1.0f, 1.0f, "KATT");
|
||||
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "KATT");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -903,7 +903,7 @@ void func_8008B2F0(void) {
|
||||
D_801617A4 = 1.0f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_801617A8, D_801617A4, 0.02f, 1000.0f, 0.001f);
|
||||
Math_SmoothStepToF(&D_801617A8, D_801617A4, 0.02f, 1000.0f, 0.001f);
|
||||
|
||||
var_fv0 = D_80178280[0].unk_264;
|
||||
if (var_fv0 > (256.0f * D_801617A8) - 1.0f) {
|
||||
@@ -1145,7 +1145,7 @@ void func_8008D31C(void) {
|
||||
f32 D_800D20E8[] = { 60.0f, 220.0f, 60.0f, 220.0f };
|
||||
f32 D_800D20F8[] = { 78.0f, 78.0f, 198.0f, 198.0f };
|
||||
|
||||
func_8009BC2C(&D_800D19E0[D_801778A0], D_80178280[D_801778A0].unk_264 * (1.0f / 255.0f), 0.3f, 10.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_800D19E0[D_801778A0], D_80178280[D_801778A0].unk_264 * (1.0f / 255.0f), 0.3f, 10.0f, 0.01f);
|
||||
func_800B8DD0(&gMasterDisp, 0x4E);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
|
||||
@@ -1197,9 +1197,9 @@ void func_8008D4F0(f32 arg0, f32 arg1) {
|
||||
temp2 = sp68 * temp_fs0;
|
||||
|
||||
if (D_80178280[D_801778A0].unk_2B4 == 0) {
|
||||
func_8009BC2C(&D_800D19AC[var_v1], 255.0f, 0.4f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_800D19AC[var_v1], 255.0f, 0.4f, 100.0f, 0.01f);
|
||||
} else {
|
||||
func_8009BC2C(&D_800D19AC[var_v1], 100.0f, 0.4f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_800D19AC[var_v1], 100.0f, 0.4f, 100.0f, 0.01f);
|
||||
}
|
||||
|
||||
temp_t9 = D_800D19AC[var_v1];
|
||||
@@ -1232,7 +1232,7 @@ void func_8008D7F4(void) {
|
||||
|
||||
func_800B8DD0(&gMasterDisp, 0x4E);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, D_800D2150[D_801778A0], D_800D2160[D_801778A0], D_800D2170[D_801778A0], 255);
|
||||
func_8009FC0C(D_800D2130[D_801778A0], D_800D2140[D_801778A0], D_801778A0 + 1);
|
||||
Graphics_DisplayHUDNumber(D_800D2130[D_801778A0], D_800D2140[D_801778A0], D_801778A0 + 1);
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008D7F4.s")
|
||||
@@ -1259,7 +1259,7 @@ void func_8008D984(void) {
|
||||
if ((D_800D2190[D_801778A0] & 2) || ((D_800D2190[D_801778A0] == 0) && (D_80177DA0[D_801778A0] != 0))) {
|
||||
func_800BA4F0();
|
||||
if (D_80177DA0[D_801778A0] >= 2) {
|
||||
if (func_8009BC2C(&D_800D21A4, D_800D21A0, 0.4f, 100.0f, 0.1f) == 0.0f) {
|
||||
if (Math_SmoothStepToF(&D_800D21A4, D_800D21A0, 0.4f, 100.0f, 0.1f) == 0.0f) {
|
||||
if (D_800D21A0 == 255.0f) {
|
||||
D_800D21A0 = 96.0f;
|
||||
} else {
|
||||
@@ -1302,9 +1302,9 @@ void func_8008DD78(f32 arg0, f32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, arg3, arg4, arg5, D_80161708);
|
||||
|
||||
if (arg2 >= 10) {
|
||||
func_8009FC0C((s32) arg0 - (func_8008BCBC(arg2) * 8) + 11, arg1, arg2);
|
||||
Graphics_DisplayHUDNumber((s32) arg0 - (func_8008BCBC(arg2) * 8) + 11, arg1, arg2);
|
||||
} else {
|
||||
func_8009FC0C(arg0, arg1, arg2);
|
||||
Graphics_DisplayHUDNumber(arg0, arg1, arg2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1325,7 +1325,7 @@ void func_8008DE68(void) {
|
||||
D_801616BC = 255.0f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_801616C0, 25.0f, 0.3f, 4.0f, 4.0f);
|
||||
Math_SmoothStepToF(&D_801616C0, 25.0f, 0.3f, 4.0f, 4.0f);
|
||||
|
||||
sp3C = D_801616C0;
|
||||
temp1 = 52.0f;
|
||||
@@ -1342,7 +1342,7 @@ void func_8008DE68(void) {
|
||||
TextureRect_8bIA(&gMasterDisp, D_1002040, 40, 12, sp3C, temp1, 1.0f, 1.0f);
|
||||
|
||||
if (sp3C >= 25.0f) {
|
||||
func_8009BC2C(&D_801616C4, 0.88f, 0.3f, 0.2f, 0.1f);
|
||||
Math_SmoothStepToF(&D_801616C4, 0.88f, 0.3f, 0.2f, 0.1f);
|
||||
}
|
||||
|
||||
if ((D_801616C4 >= 0.1f) && (sp3C >= 25.0f)) {
|
||||
@@ -1362,7 +1362,7 @@ void func_8008DE68(void) {
|
||||
if (var_fv0 < 0.00f) {
|
||||
var_fv0 = 0.00f;
|
||||
}
|
||||
func_8009BC2C(&D_801616C8, var_fv0, 0.2f, 1000.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_801616C8, var_fv0, 0.2f, 1000.0f, 0.01f);
|
||||
} else {
|
||||
D_801616C8 = 2.76f;
|
||||
}
|
||||
@@ -1603,8 +1603,8 @@ void func_800907C4(Object_408* arg0) {
|
||||
arg0->unk_04E = 1;
|
||||
|
||||
} else {
|
||||
func_8009BC2C(&arg0->unk_0DC, 255.0f, 0.3f, 6.0f, 6.0f);
|
||||
func_8009BC2C(&arg0->unk_0E0, 212.0f, 0.3f, 4.98f, 4.98f);
|
||||
Math_SmoothStepToF(&arg0->unk_0DC, 255.0f, 0.3f, 6.0f, 6.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_0E0, 212.0f, 0.3f, 4.98f, 4.98f);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1612,8 +1612,8 @@ void func_800907C4(Object_408* arg0) {
|
||||
if ((arg0->unk_0DC == 28.0f) && (arg0->unk_0E0 == 23.0f)) {
|
||||
arg0->unk_04E = 0;
|
||||
} else {
|
||||
func_8009BC2C(&arg0->unk_0DC, 28.0f, 0.3f, 6.0f, 6.0f);
|
||||
func_8009BC2C(&arg0->unk_0E0, 23.0f, 0.3f, 4.98f, 4.98f);
|
||||
Math_SmoothStepToF(&arg0->unk_0DC, 28.0f, 0.3f, 6.0f, 6.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_0E0, 23.0f, 0.3f, 4.98f, 4.98f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1953,8 +1953,8 @@ s32 func_80091864(Object_2F4* arg0) {
|
||||
y = arg0->unk_124.y - arg0->obj.pos.y;
|
||||
z = arg0->unk_124.z - arg0->obj.pos.z;
|
||||
|
||||
sp40 = func_8009F768(Math_Atan2F(x, z));
|
||||
sp44 = func_8009F768(Math_Atan2F(y, sqrtf(SQ(x) + SQ(z))));
|
||||
sp40 = Math_RadToDeg(Math_Atan2F(x, z));
|
||||
sp44 = Math_RadToDeg(Math_Atan2F(y, sqrtf(SQ(x) + SQ(z))));
|
||||
|
||||
if ((func_800915FC(arg0) != 0) && (arg0->unk_060 == 0)) {
|
||||
sp44 += 40.0f;
|
||||
@@ -1966,8 +1966,8 @@ s32 func_80091864(Object_2F4* arg0) {
|
||||
arg0->unk_050 = 0;
|
||||
}
|
||||
|
||||
sp3C = func_8009BD38(&arg0->unk_0F8, sp40, 0.5f, arg0->unk_11C, 0.001f) * 30.0f;
|
||||
func_8009BD38(&arg0->unk_0F4, sp44, 0.5f, arg0->unk_11C, 0.0001f);
|
||||
sp3C = Math_SmoothStepToAngle(&arg0->unk_0F8, sp40, 0.5f, arg0->unk_11C, 0.001f) * 30.0f;
|
||||
Math_SmoothStepToAngle(&arg0->unk_0F4, sp44, 0.5f, arg0->unk_11C, 0.0001f);
|
||||
sp2C = sp28 = 0.0f;
|
||||
|
||||
if (sp3C < 0.0f) {
|
||||
@@ -1976,10 +1976,10 @@ s32 func_80091864(Object_2F4* arg0) {
|
||||
sp28 = sp3C;
|
||||
}
|
||||
|
||||
func_8009BC2C(&arg0->unk_150, sp2C, 0.2f, 30.0f, 0.00f);
|
||||
func_8009BC2C(&arg0->unk_17C, -sp2C, 0.2f, 30.0f, 0.00f);
|
||||
func_8009BC2C(&arg0->unk_154, sp28, 0.2f, 30.0f, 0.00f);
|
||||
func_8009BC2C(&arg0->unk_180, -sp28, 0.2f, 30.0f, 0.00f);
|
||||
Math_SmoothStepToF(&arg0->unk_150, sp2C, 0.2f, 30.0f, 0.00f);
|
||||
Math_SmoothStepToF(&arg0->unk_17C, -sp2C, 0.2f, 30.0f, 0.00f);
|
||||
Math_SmoothStepToF(&arg0->unk_154, sp28, 0.2f, 30.0f, 0.00f);
|
||||
Math_SmoothStepToF(&arg0->unk_180, -sp28, 0.2f, 30.0f, 0.00f);
|
||||
|
||||
if (sp3C < 0.0f) {
|
||||
sp3C *= -1.0f;
|
||||
@@ -1987,12 +1987,12 @@ s32 func_80091864(Object_2F4* arg0) {
|
||||
sp3C = 360.0f - sp3C;
|
||||
}
|
||||
|
||||
func_8009BC2C(&arg0->unk_130, arg0->unk_134, 0.2f, 30.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&arg0->unk_130, arg0->unk_134, 0.2f, 30.0f, 0.0001f);
|
||||
|
||||
if ((arg0->unk_130 > 0.01f) && (arg0->unk_130 < 359.9f)) {
|
||||
func_8009BD38(&arg0->obj.rot.z, arg0->unk_130, 0.2f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.z, arg0->unk_130, 0.2f, 100.0f, 0.01f);
|
||||
} else {
|
||||
func_8009BD38(&arg0->obj.rot.z, sp3C, 0.1f, 3.0f, 0.01f);
|
||||
Math_SmoothStepToAngle(&arg0->obj.rot.z, sp3C, 0.1f, 3.0f, 0.01f);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -2004,10 +2004,10 @@ s32 func_80091B90(Object_2F4* arg0) {
|
||||
arg0->obj.rot.x = -arg0->unk_0F4;
|
||||
arg0->obj.rot.y = arg0->unk_0F8;
|
||||
|
||||
func_8009BC2C(&arg0->unk_114, arg0->unk_118, 0.2f, 1.0f, 0.0f);
|
||||
func_8009BC2C(&arg0->unk_11C, arg0->unk_120, 1.0f, 1.0f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_114, arg0->unk_118, 0.2f, 1.0f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_11C, arg0->unk_120, 1.0f, 1.0f, 0.0f);
|
||||
|
||||
func_8009F6CC(&vec, arg0->obj.rot.x, arg0->obj.rot.y, arg0->unk_138 + arg0->unk_114);
|
||||
Math_Vec3fFromAngles(&vec, arg0->obj.rot.x, arg0->obj.rot.y, arg0->unk_138 + arg0->unk_114);
|
||||
|
||||
arg0->unk_0EC = arg0->unk_14C + vec.y;
|
||||
arg0->unk_0E8 = arg0->unk_148 + vec.x;
|
||||
@@ -2036,8 +2036,8 @@ s32 func_80091CF8(Object_2F4* arg0) {
|
||||
arg0->unk_054 = 0;
|
||||
}
|
||||
|
||||
func_8009BC2C(&arg0->unk_13C, 0.0f, 0.1f, 0.2f, 0.0f);
|
||||
func_8009BC2C(&arg0->unk_138, arg0->unk_13C, 0.1f, 2.0f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_13C, 0.0f, 0.1f, 0.2f, 0.0f);
|
||||
Math_SmoothStepToF(&arg0->unk_138, arg0->unk_13C, 0.1f, 2.0f, 0.0f);
|
||||
|
||||
if (arg0->unk_13C < 0.1f) {
|
||||
arg0->unk_07C = 1;
|
||||
|
||||
@@ -590,10 +590,10 @@ void func_EBFBE0_80192D58(void) {
|
||||
}
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[i].unk_00.unk_1C, D_EBFBE0_801AE5D0[i], 0.15f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[i].unk_38.unk_04, D_EBFBE0_801AE570[i], 0.15f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[i].unk_00.unk_18, D_EBFBE0_801AE5B8[i], 0.2f, D_EBFBE0_801AE620[i],
|
||||
0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_1C, D_EBFBE0_801AE5D0[i], 0.15f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_38.unk_04, D_EBFBE0_801AE570[i], 0.15f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_18, D_EBFBE0_801AE5B8[i], 0.2f,
|
||||
D_EBFBE0_801AE620[i], 0.1f);
|
||||
}
|
||||
|
||||
D_80161A38 += 4;
|
||||
@@ -700,7 +700,7 @@ void func_EBFBE0_80192D58(void) {
|
||||
if (D_EBFBE0_801AE638[i].unk_38.unk_0C > 0.01f) {
|
||||
D_EBFBE0_801AE638[i].unk_38.unk_0C -= 0.05f;
|
||||
D_EBFBE0_801AE638[i].unk_00.unk_20 -= 0.19f;
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i], 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i], 0.1f);
|
||||
} else {
|
||||
D_EBFBE0_801AE638[i].unk_5C = 0;
|
||||
D_EBFBE0_801AE638[i].unk_58 = 0;
|
||||
@@ -719,8 +719,8 @@ void func_EBFBE0_80192D58(void) {
|
||||
var_fs1 = 120.0f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, var_fs1, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, var_fs1, 0.25f, 100.0f, 0.1f);
|
||||
|
||||
D_80161A38 += 4;
|
||||
|
||||
@@ -855,13 +855,13 @@ void func_EBFBE0_80193C4C(void) {
|
||||
}
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[i].unk_38.unk_04, D_EBFBE0_801AEF84[i], 0.15f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[i].unk_00.unk_18, D_EBFBE0_801AEF90[i], 0.2f, 3.1f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[i].unk_00.unk_1C, D_EBFBE0_801AEF9C[i], 0.15f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_38.unk_04, D_EBFBE0_801AEF84[i], 0.15f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_18, D_EBFBE0_801AEF90[i], 0.2f, 3.1f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_1C, D_EBFBE0_801AEF9C[i], 0.15f, 100.0f, 0.1f);
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, 25.0f, 0.25f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 90.0f, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, 25.0f, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 90.0f, 0.25f, 100.0f, 0.1f);
|
||||
|
||||
D_80161A38 += 4;
|
||||
|
||||
@@ -931,7 +931,8 @@ void func_EBFBE0_80193C4C(void) {
|
||||
if (D_EBFBE0_801AE878[i].unk_38.unk_0C > 0.01f) {
|
||||
D_EBFBE0_801AE878[i].unk_38.unk_0C -= 0.05f;
|
||||
D_EBFBE0_801AE878[i].unk_00.unk_20 -= 0.19f;
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i + 1], 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i + 1],
|
||||
0.1f);
|
||||
} else {
|
||||
D_EBFBE0_801AE878[i].unk_5C = 0;
|
||||
D_EBFBE0_801AE878[i].unk_58 = 0;
|
||||
@@ -945,10 +946,10 @@ void func_EBFBE0_80193C4C(void) {
|
||||
var_fs0 = 131.0f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_04, -15.5f, 0.25f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, -10.0f, 0.35f, 100.0f, 0.1f);
|
||||
func_8009BC2C(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 150.0f, 0.35f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_04, -15.5f, 0.25f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, -10.0f, 0.35f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 150.0f, 0.35f, 100.0f, 0.1f);
|
||||
|
||||
D_80161A38 += 4;
|
||||
|
||||
@@ -1262,7 +1263,7 @@ void func_EBFBE0_801962A4(void) {
|
||||
|
||||
case 2:
|
||||
D_80177990[D_80177AF8] += (s32) D_801779A8[D_80177AF8];
|
||||
temp_fv0 = func_8009BC2C(&D_801779A8[D_80177AF8], 100.0f, 0.05f, 100.0f, 0.1f);
|
||||
temp_fv0 = Math_SmoothStepToF(&D_801779A8[D_80177AF8], 100.0f, 0.05f, 100.0f, 0.1f);
|
||||
|
||||
if (D_80177990[D_80177AF8] >= 100) {
|
||||
D_80177990[D_80177AF8] -= 100;
|
||||
@@ -1426,8 +1427,8 @@ void func_EBFBE0_8019715C(void) {
|
||||
D_EBFBE0_801B91D0 = 0;
|
||||
}
|
||||
} else {
|
||||
sp30 = func_8009BC2C(&D_EBFBE0_801B91D8, D_EBFBE0_801B91E0, 0.5f, 100.0f, 1.0f);
|
||||
temp_fv0_2 = func_8009BC2C(&D_EBFBE0_801B91D4, D_EBFBE0_801B91DC, 0.5f, 100.0f, 1.0f);
|
||||
sp30 = Math_SmoothStepToF(&D_EBFBE0_801B91D8, D_EBFBE0_801B91E0, 0.5f, 100.0f, 1.0f);
|
||||
temp_fv0_2 = Math_SmoothStepToF(&D_EBFBE0_801B91D4, D_EBFBE0_801B91DC, 0.5f, 100.0f, 1.0f);
|
||||
if ((sp30 == 0.0f) && (temp_fv0_2 == 0.0f)) {
|
||||
D_EBFBE0_801B91D0 = 1;
|
||||
}
|
||||
@@ -1506,7 +1507,7 @@ void func_EBFBE0_801973C0(void) {
|
||||
}
|
||||
func_800B8DD0(&gMasterDisp, 0x53);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
func_800A1200(242, 215, 1.0f, 1.0f, "PUSH A");
|
||||
Graphics_DisplaySmallText(242, 215, 1.0f, 1.0f, "PUSH A");
|
||||
}
|
||||
|
||||
#ifdef IMPORT_DATA_PENDING
|
||||
@@ -1637,7 +1638,7 @@ void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
||||
temp[2] = gSaveFile.save.data.unk_18[arg0][2] & 0xFF;
|
||||
temp[3] = '\0';
|
||||
|
||||
func_800A0094(arg1, arg2, 1.0f, 1.0f, temp);
|
||||
Graphics_DisplayLargeText(arg1, arg2, 1.0f, 1.0f, temp);
|
||||
}
|
||||
|
||||
void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) {
|
||||
@@ -1645,10 +1646,10 @@ void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170);
|
||||
TextureRect_8bIA(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
func_800A1200(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS");
|
||||
Graphics_DisplaySmallText(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS");
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
func_8009FEA0((arg1 + 40.0f) - ((func_8008BCBC(D_EBFBE0_801B8220[arg0]) * 8) - 8), (arg2 + 9.0f),
|
||||
D_EBFBE0_801B8220[arg0]);
|
||||
Graphics_DisplaySmallNumber((arg1 + 40.0f) - ((func_8008BCBC(D_EBFBE0_801B8220[arg0]) * 8) - 8), (arg2 + 9.0f),
|
||||
D_EBFBE0_801B8220[arg0]);
|
||||
}
|
||||
|
||||
void func_EBFBE0_80197F74(s32 arg0, s32 arg1, s32 arg2) {
|
||||
@@ -1659,10 +1660,10 @@ void func_EBFBE0_80197F74(s32 arg0, s32 arg1, s32 arg2) {
|
||||
|
||||
for (temp_fs1 = 0.0f, i = 0; i < 3; i++, temp_fs1 += 12.0f) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, D_EBFBE0_801AF0D0[i], D_EBFBE0_801AF0DC[i], D_EBFBE0_801AF0E8[i], 255);
|
||||
func_800A1200(temp_fs1 + arg1, arg2, 1.0f, 1.0f, D_EBFBE0_801AF0C4[i]);
|
||||
Graphics_DisplaySmallText(temp_fs1 + arg1, arg2, 1.0f, 1.0f, D_EBFBE0_801AF0C4[i]);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
func_8009FEA0(arg1 + temp_fs1 - ((func_8008BCBC(D_EBFBE0_801B81A8[arg0][i]) - 1) * 8), arg2 + 9.0f,
|
||||
D_EBFBE0_801B81A8[arg0][i]);
|
||||
Graphics_DisplaySmallNumber(arg1 + temp_fs1 - ((func_8008BCBC(D_EBFBE0_801B81A8[arg0][i]) - 1) * 8),
|
||||
arg2 + 9.0f, D_EBFBE0_801B81A8[arg0][i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1745,7 +1746,7 @@ void func_EBFBE0_801984D0(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
sp1C = (gSaveFile.save.data.unk_5E[arg0][arg1].unk_C & 1) << 8;
|
||||
sp1C |= gSaveFile.save.data.unk_5E[arg0][arg1].unk_0;
|
||||
func_8009FEA0(arg2 + 15.0f - (func_8008BCBC(sp1C) - 1) * 8, arg3 + 24.0f + 1.0f, sp1C);
|
||||
Graphics_DisplaySmallNumber(arg2 + 15.0f - (func_8008BCBC(sp1C) - 1) * 8, arg3 + 24.0f + 1.0f, sp1C);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1766,7 +1767,8 @@ void func_EBFBE0_80198608(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
||||
continue;
|
||||
}
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, D_EBFBE0_801AF0D0[i], D_EBFBE0_801AF0DC[i], D_EBFBE0_801AF0E8[i], 255);
|
||||
func_800A1200(arg2 + var_fs1 - 1.0f, arg3 + 24.0f + 8.0f + 1.0f, 1.0f, 1.0f, D_EBFBE0_801AF0C4[i]);
|
||||
Graphics_DisplaySmallText(arg2 + var_fs1 - 1.0f, arg3 + 24.0f + 8.0f + 1.0f, 1.0f, 1.0f,
|
||||
D_EBFBE0_801AF0C4[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1781,8 +1783,8 @@ void func_EBFBE0_8019882C(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
||||
sp20 = D_EBFBE0_801AEEAC[temp];
|
||||
func_800B8DD0(&gMasterDisp, 0x53);
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
temp2 = func_800A13EC(sp20) / 2.0f;
|
||||
func_800A1200(arg2 + 12.0f - temp2, arg3 - 8.0f, 1.0f, 1.0f, sp20);
|
||||
temp2 = Graphics_GetSmallTextWidth(sp20) / 2.0f;
|
||||
Graphics_DisplaySmallText(arg2 + 12.0f - temp2, arg3 - 8.0f, 1.0f, 1.0f, sp20);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2027,7 +2029,7 @@ s32 func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9
|
||||
}
|
||||
|
||||
void func_EBFBE0_8019C824(f32* arg0) {
|
||||
if ((s32) func_8009BC2C(arg0, D_EBFBE0_801B91E4, 0.5f, 100.0f, 1.0f) == 0.0f) {
|
||||
if ((s32) Math_SmoothStepToF(arg0, D_EBFBE0_801B91E4, 0.5f, 100.0f, 1.0f) == 0.0f) {
|
||||
if (*arg0 == 32.0f) {
|
||||
D_EBFBE0_801B91E4 = 255.0f;
|
||||
} else {
|
||||
|
||||
@@ -271,7 +271,7 @@ void func_EBFBE0_80187CA8(void) {
|
||||
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
|
||||
func_800A1200(temp2, temp, 1.0f, 1.0f, D_EBFBE0_801ADA44);
|
||||
Graphics_DisplaySmallText(temp2, temp, 1.0f, 1.0f, D_EBFBE0_801ADA44);
|
||||
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
|
||||
@@ -294,23 +294,23 @@ void func_EBFBE0_80187E28(void) {
|
||||
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
|
||||
func_800A1200(94, 38, 1.0f, 1.0f, "RANK");
|
||||
func_800A1200(146, 38, 1.0f, 1.0f, "NAME");
|
||||
func_800A1200(192, 38, 1.0f, 1.0f, "HITS");
|
||||
Graphics_DisplaySmallText(94, 38, 1.0f, 1.0f, "RANK");
|
||||
Graphics_DisplaySmallText(146, 38, 1.0f, 1.0f, "NAME");
|
||||
Graphics_DisplaySmallText(192, 38, 1.0f, 1.0f, "HITS");
|
||||
temp = 55;
|
||||
|
||||
for (i = 0; i < D_EBFBE0_801B8288; i++) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
|
||||
func_8009FEA0(105 - ((func_8008BCBC(i + 1) - 1) * 8), temp, i + 1);
|
||||
Graphics_DisplaySmallNumber(105 - ((func_8008BCBC(i + 1) - 1) * 8), temp, i + 1);
|
||||
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||
|
||||
func_800A1200(150, temp, 1.0f, 1.0f, &D_EBFBE0_801B8248[i][0]);
|
||||
Graphics_DisplaySmallText(150, temp, 1.0f, 1.0f, &D_EBFBE0_801B8248[i][0]);
|
||||
|
||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||
|
||||
func_8009FEA0(211 - ((func_8008BCBC(D_EBFBE0_801B8220[i]) - 1) * 8), temp, D_EBFBE0_801B8220[i]);
|
||||
Graphics_DisplaySmallNumber(211 - ((func_8008BCBC(D_EBFBE0_801B8220[i]) - 1) * 8), temp, D_EBFBE0_801B8220[i]);
|
||||
temp += 17;
|
||||
}
|
||||
}
|
||||
@@ -568,8 +568,9 @@ void func_EBFBE0_801881FC(void) {
|
||||
D_EBFBE0_801B8350[3].unk_5C = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_8009AA20(D_EBFBE0_801ADA00[i].unk_4,
|
||||
D_EBFBE0_801B8350[i].unk_58 % func_8009ACDC(D_EBFBE0_801ADA00[i].unk_4), D_EBFBE0_801B86E0[i]);
|
||||
Animation_GetFrameData(D_EBFBE0_801ADA00[i].unk_4,
|
||||
D_EBFBE0_801B8350[i].unk_58 % Animation_GetFrameCount(D_EBFBE0_801ADA00[i].unk_4),
|
||||
D_EBFBE0_801B86E0[i]);
|
||||
}
|
||||
|
||||
D_EBFBE0_801B86A4 = 0;
|
||||
@@ -594,11 +595,11 @@ void func_EBFBE0_801888E8(void) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8009BC2C(&D_EBFBE0_801B86C8, -10.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86CC, 57.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8304, 13.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8308, 2.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B830C, 15.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86C8, -10.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86CC, 57.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8304, 13.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8308, 2.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B830C, 15.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
D_EBFBE0_801B82CC *= 1.04f;
|
||||
|
||||
if (D_EBFBE0_801B86CC == 57.0f) {
|
||||
@@ -636,7 +637,8 @@ void func_EBFBE0_801888E8(void) {
|
||||
case 4:
|
||||
if (D_EBFBE0_801B82A8 == 0) {
|
||||
D_EBFBE0_801B8350[D_EBFBE0_801B8340].unk_54 = 0;
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[D_EBFBE0_801B8340].unk_18, 0.0f, D_EBFBE0_801B82CC, 100.0f, 0.001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[D_EBFBE0_801B8340].unk_18, 0.0f, D_EBFBE0_801B82CC, 100.0f,
|
||||
0.001f);
|
||||
D_EBFBE0_801B82CC *= 1.07f;
|
||||
|
||||
if (D_EBFBE0_801B8350[D_EBFBE0_801B8340].unk_18 == 0.0f) {
|
||||
@@ -669,25 +671,25 @@ void func_EBFBE0_801888E8(void) {
|
||||
}
|
||||
D_EBFBE0_801B8350[1].unk_20 += D_EBFBE0_801B8350[1].unk_24;
|
||||
} else {
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[1].unk_20, 0.0f, 0.3f, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[1].unk_20, 0.0f, 0.3f, 100.0f, 0.1f);
|
||||
}
|
||||
}
|
||||
|
||||
if ((D_EBFBE0_801B86A4 >= 3) && (D_EBFBE0_801B9040 != 0)) {
|
||||
func_8009BC2C(&D_EBFBE0_801B86C8, -10.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86CC, 57.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B905C, 124.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B9060, 242.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86C8, -10.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86CC, 57.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B905C, 124.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B9060, 242.0f, D_EBFBE0_801B82D0, 100.0f, 0.0001f);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_28, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_2C, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_30, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_34, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_38, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_3C, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_40, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_44, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_28, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_2C, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_30, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_34, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_38, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_3C, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_40, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_44, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.01f);
|
||||
}
|
||||
|
||||
D_EBFBE0_801B82D0 *= 1.1f;
|
||||
@@ -750,8 +752,8 @@ void func_EBFBE0_80189208(void) {
|
||||
180.0f / M_PI;
|
||||
D_EBFBE0_801B86DC = (Math_Atan2F(D_EBFBE0_801B905C, D_EBFBE0_801B9064) * 180.0f) / M_PI;
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B86C8, D_EBFBE0_801B86D8, 0.1f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86CC, D_EBFBE0_801B86DC, 0.1f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86C8, D_EBFBE0_801B86D8, 0.1f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86CC, D_EBFBE0_801B86DC, 0.1f, 100.0f, 0.0001f);
|
||||
}
|
||||
|
||||
func_EBFBE0_80191674(D_EBFBE0_801B86C8, D_EBFBE0_801B86CC, 100.0f, &D_EBFBE0_801B82E0, &D_EBFBE0_801B82E4,
|
||||
@@ -892,7 +894,7 @@ void func_EBFBE0_8018994C(void) {
|
||||
|
||||
case 1:
|
||||
if (D_EBFBE0_801B82A8 == 0) {
|
||||
temp2 = func_8009BC2C(&D_EBFBE0_801B7BDC, 255.0f, D_EBFBE0_801B82CC, 100.0f, 1.0f);
|
||||
temp2 = Math_SmoothStepToF(&D_EBFBE0_801B7BDC, 255.0f, D_EBFBE0_801B82CC, 100.0f, 1.0f);
|
||||
D_EBFBE0_801B82CC *= 1.08f;
|
||||
if (temp2 == 0.0f) {
|
||||
D_EBFBE0_801B82A8 = 50;
|
||||
@@ -906,10 +908,10 @@ void func_EBFBE0_8018994C(void) {
|
||||
|
||||
case 2:
|
||||
if (D_EBFBE0_801B82A8 == 0) {
|
||||
func_8009BC2C(&D_EBFBE0_801B7BDC, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7BDC, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.1f);
|
||||
D_EBFBE0_801B82D0 *= 1.06f;
|
||||
if (D_EBFBE0_801B82AC == 0) {
|
||||
temp2 = func_8009BC2C(&D_EBFBE0_801B7BE0, 255.0f, D_EBFBE0_801B82CC, 100.0f, 1.0f);
|
||||
temp2 = Math_SmoothStepToF(&D_EBFBE0_801B7BE0, 255.0f, D_EBFBE0_801B82CC, 100.0f, 1.0f);
|
||||
D_EBFBE0_801B82CC *= 1.08f;
|
||||
if (temp2 == 0.0f) {
|
||||
D_EBFBE0_801B82A8 = 30;
|
||||
@@ -924,7 +926,7 @@ void func_EBFBE0_8018994C(void) {
|
||||
|
||||
case 3:
|
||||
if (D_EBFBE0_801B82A8 == 0) {
|
||||
func_8009BC2C(&D_EBFBE0_801B7BE0, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.1f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7BE0, 0.0f, D_EBFBE0_801B82D0, 100.0f, 0.1f);
|
||||
D_EBFBE0_801B82D0 *= 1.07f;
|
||||
if (D_EBFBE0_801B7BB8 < 1200.0f) {
|
||||
D_EBFBE0_801B7BB8 += 10.0f;
|
||||
@@ -998,7 +1000,7 @@ void func_EBFBE0_8018994C(void) {
|
||||
D_EBFBE0_801B9074 -= 0.5f;
|
||||
}
|
||||
|
||||
temp = func_8009BC2C(&D_EBFBE0_801B7BDC, 0.0f, D_EBFBE0_801B82DC, 100.0f, 0.1f);
|
||||
temp = Math_SmoothStepToF(&D_EBFBE0_801B7BDC, 0.0f, D_EBFBE0_801B82DC, 100.0f, 0.1f);
|
||||
|
||||
D_EBFBE0_801B82DC *= 1.06f;
|
||||
|
||||
@@ -1019,12 +1021,12 @@ void func_EBFBE0_8018994C(void) {
|
||||
}
|
||||
|
||||
if (D_EBFBE0_801B86AC > -100.0f) {
|
||||
func_8009BC2C(&D_EBFBE0_801B86C8, 15.0f, D_EBFBE0_801B82D4, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86CC, -35.0f, D_EBFBE0_801B82D4, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86C8, 15.0f, D_EBFBE0_801B82D4, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86CC, -35.0f, D_EBFBE0_801B82D4, 100.0f, 0.0001f);
|
||||
D_EBFBE0_801B82D4 -= 0.000005f;
|
||||
} else {
|
||||
func_8009BC2C(&D_EBFBE0_801B86C8, -20.0f, D_EBFBE0_801B82D8, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86CC, -25.0f, D_EBFBE0_801B82D8, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86C8, -20.0f, D_EBFBE0_801B82D8, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86CC, -25.0f, D_EBFBE0_801B82D8, 100.0f, 0.0001f);
|
||||
|
||||
if (D_EBFBE0_801B82B4 > 550) {
|
||||
D_EBFBE0_801B82D8 += 0.0001f;
|
||||
@@ -1215,7 +1217,7 @@ void func_EBFBE0_8018A644(void) {
|
||||
}
|
||||
|
||||
if (D_EBFBE0_801B84D0 != 0.0f) {
|
||||
func_8009BC2C(&D_EBFBE0_801B84D0, 0.0f, 0.09f, 70.0f, 1.0f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84D0, 0.0f, 0.09f, 70.0f, 1.0f);
|
||||
}
|
||||
|
||||
if (D_EBFBE0_801B84D0 == 0.0f) {
|
||||
@@ -1374,11 +1376,11 @@ void func_EBFBE0_8018ACEC(void) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8009BC2C(&D_EBFBE0_801B86A8, 30.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86AC, -15.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_801779A0, 0.0f, 0.05f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_801779B8, -40.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86B0, 100.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86A8, 30.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86AC, -15.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_801779A0, 0.0f, 0.05f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_801779B8, -40.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86B0, 100.0f, D_EBFBE0_801B82CC, 100.0f, 0.0001f);
|
||||
|
||||
D_EBFBE0_801B82CC *= 1.04f;
|
||||
if (D_EBFBE0_801B82B4 == 50) {
|
||||
@@ -1576,9 +1578,9 @@ void func_EBFBE0_8018B5C4(void) {
|
||||
};
|
||||
|
||||
if (D_EBFBE0_801B84E8[i].unk_38 == 0) {
|
||||
func_8009BC2C(&D_EBFBE0_801B84E8[i].unk_28, 0.0f, D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.01f);
|
||||
temp[i] =
|
||||
func_8009BC2C(&(D_EBFBE0_801B84E8[i].unk_24), 0.0f, D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84E8[i].unk_28, 0.0f, D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.01f);
|
||||
temp[i] = Math_SmoothStepToF(&(D_EBFBE0_801B84E8[i].unk_24), 0.0f, D_EBFBE0_801B84E8[i].unk_10,
|
||||
100.0f, 0.01f);
|
||||
D_EBFBE0_801B84E8[i].unk_10 *= 1.04f;
|
||||
if (temp[i] == 0.0f) {
|
||||
func_8001A55C((f32*) &D_EBFBE0_801B84E8[i].unk_50, 0x1950107A);
|
||||
@@ -1660,9 +1662,9 @@ void func_EBFBE0_8018B5C4(void) {
|
||||
D_EBFBE0_801B84E8[3].unk_44 = 0.2f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B82EC, 240.0f, 0.06f, 2.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B82F0, 240.0f, 0.06f, 2.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B82F4, 255.0f, 0.06f, 2.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B82EC, 240.0f, 0.06f, 2.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B82F0, 240.0f, 0.06f, 2.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B82F4, 255.0f, 0.06f, 2.0f, 0.01f);
|
||||
|
||||
D_80178548 = D_EBFBE0_801B82EC;
|
||||
D_8017854C = D_EBFBE0_801B82F0;
|
||||
@@ -1689,8 +1691,8 @@ void func_EBFBE0_8018B5C4(void) {
|
||||
D_EBFBE0_801B84E8[1].unk_4C = 0;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B86B4, 16.0f, 0.01f, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86AC, 138.0f, 0.01f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86B4, 16.0f, 0.01f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86AC, 138.0f, 0.01f, 100.0f, 0.01f);
|
||||
|
||||
func_EBFBE0_801914AC(D_EBFBE0_801B86BC, D_EBFBE0_801B86C0, D_EBFBE0_801B86C4, &D_80177978, &D_80177980,
|
||||
&D_80177988, D_EBFBE0_801B86B4, &D_801779A0, &D_801779B8, &D_801779C0,
|
||||
@@ -1724,11 +1726,11 @@ void func_EBFBE0_8018B5C4(void) {
|
||||
if (D_EBFBE0_801B82A8 == 0) {
|
||||
D_EBFBE0_801B84E8[3].unk_44 = 1.2f;
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B84E8[3].unk_00.z, 900.0f, 0.06f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86AC, 154.0f, 0.2f, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86A8, -5.0f, 0.2f, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86BC, 100.0f, 0.2f, 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B86B4, 40.0f, 0.2f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84E8[3].unk_00.z, 900.0f, 0.06f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86AC, 154.0f, 0.2f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86A8, -5.0f, 0.2f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86BC, 100.0f, 0.2f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B86B4, 40.0f, 0.2f, 100.0f, 0.01f);
|
||||
|
||||
func_EBFBE0_801914AC(D_EBFBE0_801B86BC, D_EBFBE0_801B86C0, D_EBFBE0_801B86C4, &D_80177978, &D_80177980,
|
||||
&D_80177988, D_EBFBE0_801B86B4, &D_801779A0, &D_801779B8, &D_801779C0,
|
||||
@@ -1924,12 +1926,12 @@ void func_EBFBE0_8018C644(void) {
|
||||
D_EBFBE0_801B84E8[i].unk_4C = 1;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B84E8[i].unk_00.y, D_EBFBE0_801AE444[i], D_EBFBE0_801B84E8[i].unk_10,
|
||||
100.0f, 0.001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B84E8[i].unk_00.x, D_EBFBE0_801AE434[i], D_EBFBE0_801B84E8[i].unk_10,
|
||||
100.0f, 0.001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B84E8[i].unk_00.z, D_EBFBE0_801AE454[i], D_EBFBE0_801B84E8[i].unk_10,
|
||||
100.0f, 0.001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84E8[i].unk_00.y, D_EBFBE0_801AE444[i],
|
||||
D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84E8[i].unk_00.x, D_EBFBE0_801AE434[i],
|
||||
D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B84E8[i].unk_00.z, D_EBFBE0_801AE454[i],
|
||||
D_EBFBE0_801B84E8[i].unk_10, 100.0f, 0.001f);
|
||||
|
||||
D_EBFBE0_801B84E8[i].unk_10 *= 1.05f;
|
||||
|
||||
@@ -2223,7 +2225,7 @@ void func_EBFBE0_8018D80C(s32 arg0) {
|
||||
for (i = 0; i < D_EBFBE0_801B8100; i++) {
|
||||
switch (D_EBFBE0_801B8108[i]) {
|
||||
case 0:
|
||||
func_8009BC2C(&D_EBFBE0_801B7FC0[i], D_EBFBE0_801B8060[i], 0.05f, 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7FC0[i], D_EBFBE0_801B8060[i], 0.05f, 100.0f, 0.01f);
|
||||
|
||||
if (D_EBFBE0_801B7FC0[i] >= D_EBFBE0_801B8060[i]) {
|
||||
D_EBFBE0_801B7FC0[i] = D_EBFBE0_801B8060[i];
|
||||
@@ -2232,9 +2234,9 @@ void func_EBFBE0_8018D80C(s32 arg0) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8009BC2C(&D_EBFBE0_801B7D40[i], 0.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B7DE0[i], 0.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
func_8009BC2C(&D_EBFBE0_801B7E80[i], -25.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7D40[i], 0.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7DE0[i], 0.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B7E80[i], -25.0f, D_EBFBE0_801B7F20[i], 100.0f, 0.01f);
|
||||
|
||||
D_EBFBE0_801B7FC0[i] -= 0.002f;
|
||||
if (D_EBFBE0_801B7FC0[i] < 0.0f) {
|
||||
@@ -2433,7 +2435,7 @@ void func_EBFBE0_8018E67C(s32 arg0) {
|
||||
Lights_SetOneLight(&gMasterDisp, D_EBFBE0_801B82E0, D_EBFBE0_801B82E4, D_EBFBE0_801B82E8, D_80178548, D_8017854C,
|
||||
D_80178550, D_80178554, D_80178558, D_8017855C);
|
||||
|
||||
sp5C = D_EBFBE0_801B8350[arg0].unk_58 % func_8009ACDC(D_EBFBE0_801ADA00[arg0].unk_0);
|
||||
sp5C = D_EBFBE0_801B8350[arg0].unk_58 % Animation_GetFrameCount(D_EBFBE0_801ADA00[arg0].unk_0);
|
||||
|
||||
func_800BA1D0(D_80178320, D_80178328, D_80178330, 255, 995, 1000);
|
||||
|
||||
@@ -2448,8 +2450,8 @@ void func_EBFBE0_8018E67C(s32 arg0) {
|
||||
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
func_8009AA20(D_EBFBE0_801ADA00[arg0].unk_0, sp5C, &sp60);
|
||||
func_8009A72C(0, D_EBFBE0_801ADA00[arg0].skelanime, &sp60, NULL, NULL, NULL, &gIdentityMatrix);
|
||||
Animation_GetFrameData(D_EBFBE0_801ADA00[arg0].unk_0, sp5C, &sp60);
|
||||
Animation_DrawSkeleton(0, D_EBFBE0_801ADA00[arg0].skelanime, &sp60, NULL, NULL, NULL, &gIdentityMatrix);
|
||||
|
||||
if (arg0 == 2) {
|
||||
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
|
||||
@@ -2493,7 +2495,7 @@ void func_EBFBE0_8018EA78(s32 arg0) {
|
||||
Vec3f sp48[50];
|
||||
s32 sp44;
|
||||
|
||||
sp44 = D_EBFBE0_801B8350[arg0].unk_58 % func_8009ACDC(D_EBFBE0_801ADA00[arg0].unk_4);
|
||||
sp44 = D_EBFBE0_801B8350[arg0].unk_58 % Animation_GetFrameCount(D_EBFBE0_801ADA00[arg0].unk_4);
|
||||
|
||||
func_800B8DD0(&gMasterDisp, 0x17);
|
||||
|
||||
@@ -2512,10 +2514,11 @@ void func_EBFBE0_8018EA78(s32 arg0) {
|
||||
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
|
||||
func_8009BEEC(sp48, D_EBFBE0_801B86E0[arg0], 1, func_8009AA20(D_EBFBE0_801ADA00[arg0].unk_4, sp44, &sp48), 0.2f,
|
||||
100.0f, 0.0001f);
|
||||
func_8009A72C(1, D_EBFBE0_801ADA00[arg0].skelanime, D_EBFBE0_801B86E0[arg0], func_EBFBE0_8018EDC8, NULL, &arg0,
|
||||
&gIdentityMatrix);
|
||||
Math_SmoothStepToVec3fArray(sp48, D_EBFBE0_801B86E0[arg0], 1,
|
||||
Animation_GetFrameData(D_EBFBE0_801ADA00[arg0].unk_4, sp44, &sp48), 0.2f, 100.0f,
|
||||
0.0001f);
|
||||
Animation_DrawSkeleton(1, D_EBFBE0_801ADA00[arg0].skelanime, D_EBFBE0_801B86E0[arg0], func_EBFBE0_8018EDC8, NULL,
|
||||
&arg0, &gIdentityMatrix);
|
||||
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
@@ -2577,10 +2580,10 @@ s32 func_EBFBE0_8018EDC8(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* a
|
||||
D_EBFBE0_801B8350[i].unk_3C = 0.0f;
|
||||
}
|
||||
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_30, D_EBFBE0_801B8350[i].unk_28, 0.01f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_34, D_EBFBE0_801B8350[i].unk_2C, 0.01f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_40, D_EBFBE0_801B8350[i].unk_38, 0.005f, 100.0f, 0.0001f);
|
||||
func_8009BC2C(&D_EBFBE0_801B8350[i].unk_44, D_EBFBE0_801B8350[i].unk_3C, 0.005f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_30, D_EBFBE0_801B8350[i].unk_28, 0.01f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_34, D_EBFBE0_801B8350[i].unk_2C, 0.01f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_40, D_EBFBE0_801B8350[i].unk_38, 0.005f, 100.0f, 0.0001f);
|
||||
Math_SmoothStepToF(&D_EBFBE0_801B8350[i].unk_44, D_EBFBE0_801B8350[i].unk_3C, 0.005f, 100.0f, 0.0001f);
|
||||
}
|
||||
|
||||
switch (i) {
|
||||
@@ -2735,7 +2738,7 @@ void func_EBFBE0_8018F8E4(void) {
|
||||
if (gStopInputTimer == 0) {
|
||||
temp2 = 188.0f;
|
||||
|
||||
if ((s32) func_8009BC2C(&D_EBFBE0_801B7BC8, D_EBFBE0_801B7BCC, 0.5f, 100.0f, 1.0f) == 0.0f) {
|
||||
if ((s32) Math_SmoothStepToF(&D_EBFBE0_801B7BC8, D_EBFBE0_801B7BCC, 0.5f, 100.0f, 1.0f) == 0.0f) {
|
||||
if (D_EBFBE0_801B7BC8 == 32.0f) {
|
||||
D_EBFBE0_801B7BCC = 255.0f;
|
||||
} else {
|
||||
@@ -3374,5 +3377,5 @@ void func_EBFBE0_801919C4(u16** arg0, s32 arg1) {
|
||||
D_80178740 = 178.0f;
|
||||
}
|
||||
|
||||
func_8001ACDC(func_800C2890(D_80178308));
|
||||
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
import argparse
|
||||
|
||||
char_code = ["END","NWL","NP2","NP3","NP4","NP5","NP6","NP7","NP8","NP9","NPA","NPB","SPC","HSP","QSP","NPF","CLF","CUP","CRT","CDN","AUP","ALF","ADN","ART","L_A","L_B","L_C","L_D","L_E","L_F","L_G","L_H","L_I","L_J","L_K","L_L","L_M","L_N","L_O","L_P","L_Q","L_R","L_S","L_T","L_U","L_V","L_W","L_X","L_Y","L_Z","l_a","l_b","l_c","l_d","l_e","l_f","l_g","l_h","l_i","l_j","l_k","l_l","l_m","l_n","l_o","l_p","l_q","l_r","l_s","l_t","l_u","l_v","l_w","l_x","l_y","l_z","EXM","QST","DSH","CMA","PRD","N_0","N_1","N_2","N_3","N_4","N_5","N_6","N_7","N_8","N_9","APS","LPR","RPR","CLN","PIP"]
|
||||
|
||||
def convert_line(line):
|
||||
if 'x' in line or '{' in line or '}' in line:
|
||||
return None
|
||||
|
||||
chars = line.split(',')
|
||||
|
||||
if len(chars) <= 1:
|
||||
return None
|
||||
|
||||
newchars = [char_code[int(x)] for x in chars[0:-1]]
|
||||
|
||||
return ','.join(newchars) + ',\n'
|
||||
|
||||
|
||||
def convert_file(filepath):
|
||||
with open(filepath, 'r') as file:
|
||||
file_lines = file.readlines()
|
||||
for i, line in enumerate(file_lines):
|
||||
newchars = convert_line(line)
|
||||
if newchars:
|
||||
file_lines[i] = newchars
|
||||
|
||||
with open(filepath, 'w') as file:
|
||||
file.writelines(file_lines)
|
||||
|
||||
return
|
||||
|
||||
def convert_names(filepath):
|
||||
with open(filepath, 'r') as file:
|
||||
file_text = file.read()
|
||||
startidx = file_text.find('gMsgLookup[780] = {\n') + len('gMsgLookup[780] = {\n')
|
||||
names = file_text[startidx:-3].split(',')
|
||||
names = [x.strip(' \n}{') for x in names]
|
||||
namepairs = zip(names[::2], names[1::2])
|
||||
|
||||
for pair in namepairs:
|
||||
tname = 'sMsg_ID_' + pair[0]
|
||||
file_text = file_text.replace(pair[1], tname)
|
||||
with open(filepath, 'w') as file:
|
||||
file.write(file_text)
|
||||
return
|
||||
|
||||
parser = argparse.ArgumentParser(description='Convert StarFox 64 dialog characters')
|
||||
parser.add_argument('infile', help="SF64 text file to convert")
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = parser.parse_args()
|
||||
|
||||
# convert_file(args.infile)
|
||||
convert_names(args.infile)
|
||||
+18
-18
@@ -169,25 +169,25 @@
|
||||
- [0x43E80, c, sf_43E80]
|
||||
- [0x496C0, c, sf_496C0]
|
||||
- [0x52730, c, sf_52730]
|
||||
- [0x59780, c, fox_59780]
|
||||
- [0x5A0F0, c, fox_5A0F0]
|
||||
- [0x59780, c, fox_load]
|
||||
- [0x5A0F0, c, fox_edata]
|
||||
- [0x5A2C0, c, fox_edisplay]
|
||||
- [0x61B30, c, fox_61B30]
|
||||
- [0x61B30, c, fox_enmy1]
|
||||
- [0x6B3B0, c, sf_6B3B0]
|
||||
- [0x77E40, c, sf_77E40]
|
||||
- [0x84F70, c, fox_84F70]
|
||||
- [0x85530, c, sf_hud]
|
||||
- [0x97F80, c, sf_97F80]
|
||||
- [0x9A580, c, fox_9A580]
|
||||
- [0x9A580, c, fox_display]
|
||||
- [0xA24B0, c, fox_A24B0]
|
||||
- [0xA4290, c, sf_A4290]
|
||||
- [0xA48A0, c, sf_A48A0]
|
||||
- [0xA4B50, c, sf_A4B50]
|
||||
- [0xB99D0, c, fox_rcp]
|
||||
- [0xBB360, c, fox_BB360]
|
||||
- [0xBD0B0, c, fox_BD0B0]
|
||||
- [0xBB360, c, fox_radio]
|
||||
- [0xBD0B0, c, fox_reset]
|
||||
- [0xBD360, c, sf_versus]
|
||||
- [0xC3430, c, fox_C3430]
|
||||
- [0xC3430, c, fox_message]
|
||||
- [0xC3BB0, c, fox_save]
|
||||
|
||||
# DATA - Microcode
|
||||
@@ -261,20 +261,20 @@
|
||||
- [0xCAB00, data, sf_43E80]
|
||||
- [0xCAB60, data, sf_496C0]
|
||||
- [0xCAE20, data, sf_52730]
|
||||
- [0xCAFB0, .data, fox_59780]
|
||||
- [0xCCA70, data, fox_5A0F0]
|
||||
- [0xCAFB0, .data, fox_load]
|
||||
- [0xCCA70, data, fox_edata]
|
||||
- [0xD0570, .data, fox_edisplay]
|
||||
- [0xD09A0, .data, fox_61B30]
|
||||
- [0xD09A0, .data, fox_enmy1]
|
||||
- [0xD0B80, data, sf_6B3B0]
|
||||
- [0xD20E0, data, sf_77E40]
|
||||
- [0xD2570, data, sf_hud]
|
||||
- [0xD31D0, .data, fox_9A580]
|
||||
- [0xD31D0, .data, fox_display]
|
||||
- [0xD3460, .data, fox_A24B0]
|
||||
- [0xD3520, data, sf_A48A0]
|
||||
- [0xD3B50, data, sf_A4B50]
|
||||
- [0xD3DB0, .data, fox_rcp]
|
||||
- [0xD5670, .data, fox_BB360]
|
||||
- [0xD5680, .data, fox_BD0B0]
|
||||
- [0xD5670, .data, fox_radio]
|
||||
- [0xD5680, .data, fox_reset]
|
||||
- [0xD5690, data, sf_versus]
|
||||
- [0xD5910, .data, fox_save]
|
||||
|
||||
@@ -285,22 +285,22 @@
|
||||
- [0xD61F0, .rodata, sf_43E80]
|
||||
- [0xD6350, .rodata, sf_496C0]
|
||||
- [0xD69A0, .rodata, sf_52730]
|
||||
- [0xD6BA0, .rodata, fox_59780]
|
||||
- [0xD6BA0, .rodata, fox_load]
|
||||
- [0xD6C20, .rodata, fox_edisplay]
|
||||
- [0xD6FD0, .rodata, fox_61B30]
|
||||
- [0xD6FD0, .rodata, fox_enmy1]
|
||||
- [0xD7650, .rodata, sf_6B3B0]
|
||||
- [0xD7E30, .rodata, sf_77E40]
|
||||
- [0xD82F0, .rodata, fox_84F70]
|
||||
- [0xD8320, .rodata, sf_hud]
|
||||
- [0xD8DE0, .rodata, sf_97F80]
|
||||
- [0xD8DF0, .rodata, fox_9A580]
|
||||
- [0xD8DF0, .rodata, fox_display]
|
||||
- [0xD8E50, .rodata, fox_A24B0]
|
||||
- [0xD8ED0, .rodata, sf_A4290]
|
||||
- [0xD8EE0, .rodata, sf_A48A0]
|
||||
- [0xD8EF0, .rodata, sf_A4B50]
|
||||
- [0xD97F0, .rodata, fox_BB360]
|
||||
- [0xD97F0, .rodata, fox_radio]
|
||||
- [0xD9E50, .rodata, sf_versus]
|
||||
- [0xD9F60, .rodata, fox_C3430]
|
||||
- [0xD9F60, .rodata, fox_message]
|
||||
- [0xDA030, .rodata, fox_save]
|
||||
|
||||
# Common assets
|
||||
|
||||
Reference in New Issue
Block a user