Names and such (#38)

* names and such 1

* more names

* format
This commit is contained in:
petrie911
2023-11-29 20:44:42 -06:00
committed by GitHub
parent 78a940dbb0
commit 2f67ed8638
29 changed files with 5387 additions and 4002 deletions
+11 -11
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+1 -3
View File
@@ -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;
+37 -26
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+14 -12
View File
@@ -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);
-181
View File
@@ -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));
}
+5 -5
View File
@@ -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
View File
@@ -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;
-189
View File
@@ -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;
}
+231 -234
View File
@@ -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
+5 -5
View File
@@ -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) {
+30 -29
View File
@@ -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")
+201
View File
@@ -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 },
};
+289
View File
@@ -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;
}
+10 -10
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+35 -33
View File
@@ -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 {
+85 -82
View File
@@ -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));
}
+54
View File
@@ -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
View File
@@ -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