From d6ffe7f15c6fd96310c10a9353e7b898896ff25b Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 15 Dec 2020 18:27:49 +1000 Subject: [PATCH] Attempt to decompile func0f1472fc --- src/game/game_141820.c | 71 +++++++++++++++++++++++++++-- src/gvars/gvars.c | 2 +- src/include/game/data/data_020df0.h | 2 +- src/include/game/game_11f000.h | 2 +- src/include/gvars/gvars.h | 1 + 5 files changed, 70 insertions(+), 8 deletions(-) diff --git a/src/game/game_141820.c b/src/game/game_141820.c index 42a1fe5b4..d068f4b9d 100644 --- a/src/game/game_141820.c +++ b/src/game/game_141820.c @@ -6516,10 +6516,6 @@ void func0f1572f8(void) // empty } -const char var7f1b5e50[] = "Fullscreen_DrawFaultScope"; -const char var7f1b5e6c[] = "Fullscreen_DrawFaultScope"; -const char var7f1b5e88[] = "IntroFaderBlurGfx"; - GLOBAL_ASM( glabel func0f1472fc /* f1472fc: 27bdffa0 */ addiu $sp,$sp,-96 @@ -6690,11 +6686,76 @@ glabel func0f1472fc /* f14756c: 27bd0060 */ addiu $sp,$sp,0x60 ); +// Mismatch because var8009caec and friends needs to be moved into this file, +// and regalloc near random(). +//Gfx *func0f1472fc(Gfx *gdl) +//{ +// s32 unk28 = viGetUnk28(); +// s32 viewheight = viGetViewHeight(); +// s32 viewwidth = viGetViewWidth(); +// s32 viewtop = viGetViewTop(); +// s32 viewleft = viGetViewLeft(); +// s32 viewbottom = viewtop + viewheight; +// s32 roomvalue; +// s32 y; +// +// var8007f840++; +// +// if (var8007f840 >= 2) { +// return gdl; +// } +// +// strcpy(var800a41c0, "Fullscreen_DrawFaultScope"); +// +// var8009caec = 0xbc; +// var8009caef = 0xbe; +// var8009caf0 = 0xde; +// var8009caed = 0x50; +// var8009caee = 0xc0; +// +// roomvalue = func0f0009c0(g_Vars.currentplayer->prop->rooms[0]); +// +// if (roomvalue > 128) { +// func0f127334(roomvalue, roomvalue, roomvalue); +// } +// +// if (g_Menus[g_Vars.currentplayerstats->mpindex].curframe == NULL) { +// gdl = hudRenderMotionBlur(gdl, 0x00ff0000, 0x60); +// } +// +// gDPPipeSync(gdl++); +// +// gdl = func0f1420b0(gdl, 0xffffffff, 0xff); +// +// var8007f878++; +// +// for (y = viewtop; y < viewbottom; y++) { +// u8 green; +// +// if ((var8007f878 & 1) != (y & 1)) { +// u8 tmp = random() % 12; +// green = 0xff - tmp; +// } else { +// green = 148; +// } +// +// gDPSetColor(gdl++, G_SETENVCOLOR, (green << 16) + 0xff); +// +// gdl = func0f141ab0(gdl, unk28, y, 5, y, 1, viewleft, viewwidth); +// } +// +// return gdl; +//} + Gfx *func0f147570(Gfx *gdl) { return gdl; } +const char var7f1b5e50[] = "Fullscreen_DrawFaultScope"; +const char var7f1b5e6c[] = "Fullscreen_DrawFaultScope"; +const char var7f1b5e88[] = "IntroFaderBlurGfx"; + GLOBAL_ASM( glabel func0f147578 /* f147578: 27bdff10 */ addiu $sp,$sp,-240 @@ -7240,7 +7301,7 @@ Gfx *func0f147cf8(Gfx *gdl) return gdl; } -u32 var8007f878 = 0x00000000; +u8 var8007f878 = 0; Gfx *hudRenderHorizonScanner(Gfx *gdl) { diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index b64e27f59..0a1a225b4 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14508,7 +14508,7 @@ u32 var8009cae0 = 0; u32 var8009cae4 = 0; u32 var8009cae8 = 0; u8 var8009caec = 0; -u32 var8009caf0 = 0; +u8 var8009caf0 = 0; u32 var8009caf4 = 0; u32 var8009caf8 = 0; u32 var8009cafc = 0; diff --git a/src/include/game/data/data_020df0.h b/src/include/game/data/data_020df0.h index 0982c10a2..8b1f63f98 100644 --- a/src/include/game/data/data_020df0.h +++ b/src/include/game/data/data_020df0.h @@ -191,7 +191,7 @@ extern u32 var8007f868; extern u32 var8007f86c; extern u32 var8007f870; extern u32 var8007f874; -extern u32 var8007f878; +extern u8 var8007f878; extern u32 var8007f87c; extern f32 var8007f8a8; extern u32 var8007f8dc; diff --git a/src/include/game/game_11f000.h b/src/include/game/game_11f000.h index e060e9b1d..68d32721d 100644 --- a/src/include/game/game_11f000.h +++ b/src/include/game/game_11f000.h @@ -23,7 +23,7 @@ u32 func0f126384(void); u32 func0f126c3c(void); u32 func0f126de8(void); Gfx *func0f12715c(Gfx *gdl); -u32 func0f127334(void); +void func0f127334(s32 arg0, s32 arg1, s32 arg2); u32 func0f127490(void); Gfx *func0f1274d8(Gfx *gdl); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index b320237bb..a8b716099 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -524,6 +524,7 @@ extern u32 var8009cad0; extern u32 var8009cadc; extern u32 var8009cae0; extern u8 var8009caec; +extern u8 var8009caf0; extern u32 var8009cb08; extern u32 var8009cbf8; extern struct prop *g_DangerousProps[MAX_DANGEROUSPROPS];