Attempt to decompile func0f163e34

This commit is contained in:
Ryan Dwyer
2020-04-09 18:48:13 +10:00
parent a30bef8663
commit 61c9d31330
8 changed files with 292 additions and 198 deletions
+2 -2
View File
@@ -7049,8 +7049,8 @@ s32 var8007fc20 = 0x00000001;
u32 var8007fc24 = 0x800a4910;
u32 var8007fc28 = 0x00000000;
u32 var8007fc2c = 0x00000000;
u32 var8007fc30 = 0x00000000;
u32 var8007fc34 = 0x00000000;
s32 var8007fc30 = 0x00000000;
s32 var8007fc34 = 0x00000000;
u32 var8007fc38 = 0x00000000;
u16 var8007fc3c = 0xfffe;
s32 g_NumPortalThings = 0;
+83 -2
View File
@@ -5644,7 +5644,7 @@ bool func0f15cd90(u32 room, struct screenbox *screen)
}
if (func0f15d08c(&corner, &roomscreenpos) == 0) {
if (var800a4cf0[3] <= -roomscreenpos.z) {
if (var800a4cf0.unk0c <= -roomscreenpos.z) {
numb++;
}
@@ -5666,7 +5666,7 @@ bool func0f15cd90(u32 room, struct screenbox *screen)
numa++;
} else {
if (var800a4cf0[3] <= -roomscreenpos.z) {
if (var800a4cf0.unk0c <= -roomscreenpos.z) {
numb++;
}
@@ -13792,6 +13792,87 @@ glabel func0f163e34
/* f16414c: 27bd0048 */ addiu $sp,$sp,0x48
);
//s16 var800a4ce4;
//s16 var800a4ce6;
// Mismatch because var800a4ce4 and var800a4ce6 need to be moved out of gvars.c
// and into this file.
//void func0f163e34(void)
//{
// s32 i;
// s32 room;
// struct screenbox box;
// struct player *player = g_Vars.currentplayer;
//
// func0f164748();
//
// box.xmin = player->screenxminf;
// box.ymin = player->screenyminf;
// box.xmax = player->screenxmaxf;
// box.ymax = player->screenymaxf;
//
// func0000bee0(&var800a4cf0.unk08);
// var800a4cf0.unk0c = var800a4cf0.unk0c / g_Vars.currentplayerstats->scale_bg2gfx;
//
// for (i = 0; i < g_Vars.roomcount; i++) {
// g_Rooms[i].flags &= ~0x2d;
// g_Rooms[i].unk04 = 0;
// g_Rooms[i].unk06 = 0;
// g_Rooms[i].unk07 = 1;
// }
//
// if (player->visionmode == VISIONMODE_XRAY) {
// func0f162d9c();
// } else {
// if (var8007fc34 < var8007fc30) {
// var8007fc34 = var8007fc30;
// }
//
// var8007fc2c = 0;
// var8007fc30 = 0;
// var800a4ce4[1] = 0;
// var800a4ce4[0] = 32767;
// //var800a4ce6 = 0;
// //var800a4ce4 = 32767;
// var800a4640.unk2d0 = -1;
// var800a4640.unk2d3 = 255;
// var800a4cf0.unk00 = 0;
// var800a4cf0.unk02 = 0;
// var800a4cf0.unk04 = 0;
// var800a65b8 = 0;
// var800a4640.unk2d4.xmin = box.xmin;
// var800a4640.unk2d4.ymin = box.ymin;
// var800a4640.unk2d4.xmax = box.xmax;
// var800a4640.unk2d4.ymax = box.ymax;
//
// func0f162cf0(var800a4cd4);
//
// if (var800a65b8 == 0) {
// if (g_Portals[0].unk00 == 0) {
// for (room = 1; room < g_Vars.roomcount; room++) {
// if (func0f15cd90(room, &box)
// && ((g_StageIndex != STAGEINDEX_INFILTRATION && g_StageIndex != STAGEINDEX_RESCUE && g_StageIndex != STAGEINDEX_ESCAPE) || room != 0xf)
// && (g_StageIndex != STAGEINDEX_SKEDARRUINS || room != 0x02)
// && ((g_StageIndex != STAGEINDEX_DEFECTION && g_StageIndex != STAGEINDEX_EXTRACTION) || room != 0x01)
// && (g_StageIndex != STAGEINDEX_ATTACKSHIP || room != 0x71)) {
// func0f157e94(j, 0, &box);
// }
// }
// } else {
// func0f157e94(var8007fc20, 0, &box);
// var800a4cf0.unk00 = 0;
// var800a4cf0.unk02 = 0;
// var800a4cf0.unk04 = 0;
// func0f1632d4(var8007fc20, var8007fc20, 1, &box);
//
// while (func0f163904());
// }
// }
//
// func0f16397c();
// }
//}
GLOBAL_ASM(
glabel func0f164150
.late_rodata
+3 -185
View File
@@ -17644,189 +17644,7 @@ u32 var800a4630 = 0;
u32 var800a4634 = 0;
u32 var800a4638 = 0;
u32 var800a463c = 0;
u32 var800a4640 = 0;
u32 var800a4644 = 0;
u32 var800a4648 = 0;
u32 var800a464c = 0;
u32 var800a4650 = 0;
u32 var800a4654 = 0;
u32 var800a4658 = 0;
u32 var800a465c = 0;
u32 var800a4660 = 0;
u32 var800a4664 = 0;
u32 var800a4668 = 0;
u32 var800a466c = 0;
u32 var800a4670 = 0;
u32 var800a4674 = 0;
u32 var800a4678 = 0;
u32 var800a467c = 0;
u32 var800a4680 = 0;
u32 var800a4684 = 0;
u32 var800a4688 = 0;
u32 var800a468c = 0;
u32 var800a4690 = 0;
u32 var800a4694 = 0;
u32 var800a4698 = 0;
u32 var800a469c = 0;
u32 var800a46a0 = 0;
u32 var800a46a4 = 0;
u32 var800a46a8 = 0;
u32 var800a46ac = 0;
u32 var800a46b0 = 0;
u32 var800a46b4 = 0;
u32 var800a46b8 = 0;
u32 var800a46bc = 0;
u32 var800a46c0 = 0;
u32 var800a46c4 = 0;
u32 var800a46c8 = 0;
u32 var800a46cc = 0;
u32 var800a46d0 = 0;
u32 var800a46d4 = 0;
u32 var800a46d8 = 0;
u32 var800a46dc = 0;
u32 var800a46e0 = 0;
u32 var800a46e4 = 0;
u32 var800a46e8 = 0;
u32 var800a46ec = 0;
u32 var800a46f0 = 0;
u32 var800a46f4 = 0;
u32 var800a46f8 = 0;
u32 var800a46fc = 0;
u32 var800a4700 = 0;
u32 var800a4704 = 0;
u32 var800a4708 = 0;
u32 var800a470c = 0;
u32 var800a4710 = 0;
u32 var800a4714 = 0;
u32 var800a4718 = 0;
u32 var800a471c = 0;
u32 var800a4720 = 0;
u32 var800a4724 = 0;
u32 var800a4728 = 0;
u32 var800a472c = 0;
u32 var800a4730 = 0;
u32 var800a4734 = 0;
u32 var800a4738 = 0;
u32 var800a473c = 0;
u32 var800a4740 = 0;
u32 var800a4744 = 0;
u32 var800a4748 = 0;
u32 var800a474c = 0;
u32 var800a4750 = 0;
u32 var800a4754 = 0;
u32 var800a4758 = 0;
u32 var800a475c = 0;
u32 var800a4760 = 0;
u32 var800a4764 = 0;
u32 var800a4768 = 0;
u32 var800a476c = 0;
u32 var800a4770 = 0;
u32 var800a4774 = 0;
u32 var800a4778 = 0;
u32 var800a477c = 0;
u32 var800a4780 = 0;
u32 var800a4784 = 0;
u32 var800a4788 = 0;
u32 var800a478c = 0;
u32 var800a4790 = 0;
u32 var800a4794 = 0;
u32 var800a4798 = 0;
u32 var800a479c = 0;
u32 var800a47a0 = 0;
u32 var800a47a4 = 0;
u32 var800a47a8 = 0;
u32 var800a47ac = 0;
u32 var800a47b0 = 0;
u32 var800a47b4 = 0;
u32 var800a47b8 = 0;
u32 var800a47bc = 0;
u32 var800a47c0 = 0;
u32 var800a47c4 = 0;
u32 var800a47c8 = 0;
u32 var800a47cc = 0;
u32 var800a47d0 = 0;
u32 var800a47d4 = 0;
u32 var800a47d8 = 0;
u32 var800a47dc = 0;
u32 var800a47e0 = 0;
u32 var800a47e4 = 0;
u32 var800a47e8 = 0;
u32 var800a47ec = 0;
u32 var800a47f0 = 0;
u32 var800a47f4 = 0;
u32 var800a47f8 = 0;
u32 var800a47fc = 0;
u32 var800a4800 = 0;
u32 var800a4804 = 0;
u32 var800a4808 = 0;
u32 var800a480c = 0;
u32 var800a4810 = 0;
u32 var800a4814 = 0;
u32 var800a4818 = 0;
u32 var800a481c = 0;
u32 var800a4820 = 0;
u32 var800a4824 = 0;
u32 var800a4828 = 0;
u32 var800a482c = 0;
u32 var800a4830 = 0;
u32 var800a4834 = 0;
u32 var800a4838 = 0;
u32 var800a483c = 0;
u32 var800a4840 = 0;
u32 var800a4844 = 0;
u32 var800a4848 = 0;
u32 var800a484c = 0;
u32 var800a4850 = 0;
u32 var800a4854 = 0;
u32 var800a4858 = 0;
u32 var800a485c = 0;
u32 var800a4860 = 0;
u32 var800a4864 = 0;
u32 var800a4868 = 0;
u32 var800a486c = 0;
u32 var800a4870 = 0;
u32 var800a4874 = 0;
u32 var800a4878 = 0;
u32 var800a487c = 0;
u32 var800a4880 = 0;
u32 var800a4884 = 0;
u32 var800a4888 = 0;
u32 var800a488c = 0;
u32 var800a4890 = 0;
u32 var800a4894 = 0;
u32 var800a4898 = 0;
u32 var800a489c = 0;
u32 var800a48a0 = 0;
u32 var800a48a4 = 0;
u32 var800a48a8 = 0;
u32 var800a48ac = 0;
u32 var800a48b0 = 0;
u32 var800a48b4 = 0;
u32 var800a48b8 = 0;
u32 var800a48bc = 0;
u32 var800a48c0 = 0;
u32 var800a48c4 = 0;
u32 var800a48c8 = 0;
u32 var800a48cc = 0;
u32 var800a48d0 = 0;
u32 var800a48d4 = 0;
u32 var800a48d8 = 0;
u32 var800a48dc = 0;
u32 var800a48e0 = 0;
u32 var800a48e4 = 0;
u32 var800a48e8 = 0;
u32 var800a48ec = 0;
u32 var800a48f0 = 0;
u32 var800a48f4 = 0;
u32 var800a48f8 = 0;
u32 var800a48fc = 0;
u32 var800a4900 = 0;
u32 var800a4904 = 0;
u32 var800a4908 = 0;
u32 var800a490c = 0;
u32 var800a4910 = 0;
u32 var800a4914 = 0;
u32 var800a4918 = 0;
struct var800a4640 var800a4640 = {0};
u32 var800a491c = 0;
u32 var800a4920 = 0;
u32 var800a4924 = 0;
@@ -18069,10 +17887,10 @@ u32 var800a4cd4 = 0;
u32 var800a4cd8 = 0;
u32 var800a4cdc = 0;
u32 var800a4ce0 = 0;
u32 var800a4ce4 = 0;
s16 var800a4ce4[2] = {0};
u32 var800a4ce8 = 0;
struct portalthing *g_PortalThings = NULL;
f32 var800a4cf0[4] = {0};
struct var800a4cf0 var800a4cf0 = {0};
u32 var800a4d00 = 0;
u32 var800a4d04 = 0;
u32 var800a4d08 = 0;
+2 -2
View File
@@ -254,8 +254,8 @@ extern s32 var8007fc20;
extern u32 var8007fc24;
extern u32 var8007fc28;
extern u32 var8007fc2c;
extern u32 var8007fc30;
extern u32 var8007fc34;
extern s32 var8007fc30;
extern s32 var8007fc34;
extern u32 var8007fc38;
extern u16 var8007fc3c;
extern s32 g_NumPortalThings;
+3 -3
View File
@@ -80,13 +80,13 @@ bool portalPushValue(bool value);
bool portalPopValue(void);
u32 func0f1625bc(void);
struct portalcmd *portalCommandExecute(struct portalcmd *cmd, bool s2);
u32 func0f162cf0(void);
void func0f162cf0(u32 arg0);
u32 func0f162d9c(void);
u32 func0f1632d4(void);
void func0f1632d4(s16 arg0, s16 arg1, s32 arg2, struct screenbox *box);
u32 func0f163528(void);
u32 func0f163904(void);
u32 func0f16397c(void);
u32 func0f163e34(void);
void func0f163e34(void);
u32 func0f164150(void);
u32 func0f164534(void);
u32 func0f1645a8(void);
+3 -3
View File
@@ -716,7 +716,7 @@ extern u32 var800a45c0;
extern u32 var800a45c4;
extern u32 var800a45d0;
extern u32 var800a4634;
extern u32 var800a4640;
extern struct var800a4640 var800a4640;
extern u32 var800a491c;
extern u32 var800a4920;
extern u32 var800a4924;
@@ -734,10 +734,10 @@ extern u32 var800a4cd0;
extern u32 var800a4cd4;
extern u32 var800a4cd8;
extern u32 var800a4ce0;
extern u32 var800a4ce4;
extern s16 var800a4ce4[2];
extern u32 var800a4ce8;
extern struct portalthing *g_PortalThings;
extern f32 var800a4cf0[4];
extern struct var800a4cf0 var800a4cf0;
extern u32 var800a4d00;
extern u32 var800a6470;
extern u32 var800a647c;
+1 -1
View File
@@ -54,7 +54,7 @@ u32 func0000bdc8(void);
u32 func0000bdd8(void);
f32 func0000be74(void);
u32 func0000be84(void);
u32 func0000bee0(void);
void func0000bee0(f32 *arg0);
u32 func0000bf04(void);
#endif
+195
View File
@@ -5423,4 +5423,199 @@ struct screenbox {
s16 ymax;
};
struct var800a4640 {
/*0x000*/ u32 unk000;
/*0x004*/ u32 unk004;
/*0x008*/ u32 unk008;
/*0x00c*/ u32 unk00c;
/*0x010*/ u32 unk010;
/*0x014*/ u32 unk014;
/*0x018*/ u32 unk018;
/*0x01c*/ u32 unk01c;
/*0x020*/ u32 unk020;
/*0x024*/ u32 unk024;
/*0x028*/ u32 unk028;
/*0x02c*/ u32 unk02c;
/*0x030*/ u32 unk030;
/*0x034*/ u32 unk034;
/*0x038*/ u32 unk038;
/*0x03c*/ u32 unk03c;
/*0x040*/ u32 unk040;
/*0x044*/ u32 unk044;
/*0x048*/ u32 unk048;
/*0x04c*/ u32 unk04c;
/*0x050*/ u32 unk050;
/*0x054*/ u32 unk054;
/*0x058*/ u32 unk058;
/*0x05c*/ u32 unk05c;
/*0x060*/ u32 unk060;
/*0x064*/ u32 unk064;
/*0x068*/ u32 unk068;
/*0x06c*/ u32 unk06c;
/*0x070*/ u32 unk070;
/*0x074*/ u32 unk074;
/*0x078*/ u32 unk078;
/*0x07c*/ u32 unk07c;
/*0x080*/ u32 unk080;
/*0x084*/ u32 unk084;
/*0x088*/ u32 unk088;
/*0x08c*/ u32 unk08c;
/*0x090*/ u32 unk090;
/*0x094*/ u32 unk094;
/*0x098*/ u32 unk098;
/*0x09c*/ u32 unk09c;
/*0x0a0*/ u32 unk0a0;
/*0x0a4*/ u32 unk0a4;
/*0x0a8*/ u32 unk0a8;
/*0x0ac*/ u32 unk0ac;
/*0x0b0*/ u32 unk0b0;
/*0x0b4*/ u32 unk0b4;
/*0x0b8*/ u32 unk0b8;
/*0x0bc*/ u32 unk0bc;
/*0x0c0*/ u32 unk0c0;
/*0x0c4*/ u32 unk0c4;
/*0x0c8*/ u32 unk0c8;
/*0x0cc*/ u32 unk0cc;
/*0x0d0*/ u32 unk0d0;
/*0x0d4*/ u32 unk0d4;
/*0x0d8*/ u32 unk0d8;
/*0x0dc*/ u32 unk0dc;
/*0x0e0*/ u32 unk0e0;
/*0x0e4*/ u32 unk0e4;
/*0x0e8*/ u32 unk0e8;
/*0x0ec*/ u32 unk0ec;
/*0x0f0*/ u32 unk0f0;
/*0x0f4*/ u32 unk0f4;
/*0x0f8*/ u32 unk0f8;
/*0x0fc*/ u32 unk0fc;
/*0x100*/ u32 unk100;
/*0x104*/ u32 unk104;
/*0x108*/ u32 unk108;
/*0x10c*/ u32 unk10c;
/*0x110*/ u32 unk110;
/*0x114*/ u32 unk114;
/*0x118*/ u32 unk118;
/*0x11c*/ u32 unk11c;
/*0x120*/ u32 unk120;
/*0x124*/ u32 unk124;
/*0x128*/ u32 unk128;
/*0x12c*/ u32 unk12c;
/*0x130*/ u32 unk130;
/*0x134*/ u32 unk134;
/*0x138*/ u32 unk138;
/*0x13c*/ u32 unk13c;
/*0x140*/ u32 unk140;
/*0x144*/ u32 unk144;
/*0x148*/ u32 unk148;
/*0x14c*/ u32 unk14c;
/*0x150*/ u32 unk150;
/*0x154*/ u32 unk154;
/*0x158*/ u32 unk158;
/*0x15c*/ u32 unk15c;
/*0x160*/ u32 unk160;
/*0x164*/ u32 unk164;
/*0x168*/ u32 unk168;
/*0x16c*/ u32 unk16c;
/*0x170*/ u32 unk170;
/*0x174*/ u32 unk174;
/*0x178*/ u32 unk178;
/*0x17c*/ u32 unk17c;
/*0x180*/ u32 unk180;
/*0x184*/ u32 unk184;
/*0x188*/ u32 unk188;
/*0x18c*/ u32 unk18c;
/*0x190*/ u32 unk190;
/*0x194*/ u32 unk194;
/*0x198*/ u32 unk198;
/*0x19c*/ u32 unk19c;
/*0x1a0*/ u32 unk1a0;
/*0x1a4*/ u32 unk1a4;
/*0x1a8*/ u32 unk1a8;
/*0x1ac*/ u32 unk1ac;
/*0x1b0*/ u32 unk1b0;
/*0x1b4*/ u32 unk1b4;
/*0x1b8*/ u32 unk1b8;
/*0x1bc*/ u32 unk1bc;
/*0x1c0*/ u32 unk1c0;
/*0x1c4*/ u32 unk1c4;
/*0x1c8*/ u32 unk1c8;
/*0x1cc*/ u32 unk1cc;
/*0x1d0*/ u32 unk1d0;
/*0x1d4*/ u32 unk1d4;
/*0x1d8*/ u32 unk1d8;
/*0x1dc*/ u32 unk1dc;
/*0x1e0*/ u32 unk1e0;
/*0x1e4*/ u32 unk1e4;
/*0x1e8*/ u32 unk1e8;
/*0x1ec*/ u32 unk1ec;
/*0x1f0*/ u32 unk1f0;
/*0x1f4*/ u32 unk1f4;
/*0x1f8*/ u32 unk1f8;
/*0x1fc*/ u32 unk1fc;
/*0x200*/ u32 unk200;
/*0x204*/ u32 unk204;
/*0x208*/ u32 unk208;
/*0x20c*/ u32 unk20c;
/*0x210*/ u32 unk210;
/*0x214*/ u32 unk214;
/*0x218*/ u32 unk218;
/*0x21c*/ u32 unk21c;
/*0x220*/ u32 unk220;
/*0x224*/ u32 unk224;
/*0x228*/ u32 unk228;
/*0x22c*/ u32 unk22c;
/*0x230*/ u32 unk230;
/*0x234*/ u32 unk234;
/*0x238*/ u32 unk238;
/*0x23c*/ u32 unk23c;
/*0x240*/ u32 unk240;
/*0x244*/ u32 unk244;
/*0x248*/ u32 unk248;
/*0x24c*/ u32 unk24c;
/*0x250*/ u32 unk250;
/*0x254*/ u32 unk254;
/*0x258*/ u32 unk258;
/*0x25c*/ u32 unk25c;
/*0x260*/ u32 unk260;
/*0x264*/ u32 unk264;
/*0x268*/ u32 unk268;
/*0x26c*/ u32 unk26c;
/*0x270*/ u32 unk270;
/*0x274*/ u32 unk274;
/*0x278*/ u32 unk278;
/*0x27c*/ u32 unk27c;
/*0x280*/ u32 unk280;
/*0x284*/ u32 unk284;
/*0x288*/ u32 unk288;
/*0x28c*/ u32 unk28c;
/*0x290*/ u32 unk290;
/*0x294*/ u32 unk294;
/*0x298*/ u32 unk298;
/*0x29c*/ u32 unk29c;
/*0x2a0*/ u32 unk2a0;
/*0x2a4*/ u32 unk2a4;
/*0x2a8*/ u32 unk2a8;
/*0x2ac*/ u32 unk2ac;
/*0x2b0*/ u32 unk2b0;
/*0x2b4*/ u32 unk2b4;
/*0x2b8*/ u32 unk2b8;
/*0x2bc*/ u32 unk2bc;
/*0x2c0*/ u32 unk2c0;
/*0x2c4*/ u32 unk2c4;
/*0x2c8*/ u32 unk2c8;
/*0x2cc*/ u32 unk2cc;
/*0x2d0*/ s16 unk2d0;
/*0x2d2*/ u8 unk2d2;
/*0x2d3*/ u8 unk2d3;
struct screenbox unk2d4;
};
struct var800a4cf0 {
u16 unk00;
u16 unk02;
u16 unk04;
f32 unk08;
f32 unk0c;
};
#endif