Names and such (#38)

* names and such 1

* more names

* format
This commit is contained in:
petrie911
2023-11-29 23:44:42 -03: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;
}
File diff suppressed because it is too large Load Diff
+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 },
};

Some files were not shown because too many files have changed in this diff Show More