Decompile bgInit
This commit is contained in:
parent
c9fe3352a7
commit
2426c270f5
|
|
@ -10558,7 +10558,7 @@ bool aiSetPortalFlag(void)
|
|||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
s16 portalnum = cmd[3] | (cmd[2] << 8);
|
||||
|
||||
g_Portals[portalnum].flags |= cmd[4];
|
||||
g_BgPortals[portalnum].flags |= cmd[4];
|
||||
g_Vars.aioffset += 5;
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ s32 func0f000920(s32 num1, s32 num2)
|
|||
|
||||
struct light *roomGetLight(s32 roomnum, s32 lightnum)
|
||||
{
|
||||
return (struct light *)&g_LightsFileData[(g_Rooms[roomnum].lightindex + lightnum) * 0x22];
|
||||
return (struct light *)&g_BgLightsFileData[(g_Rooms[roomnum].lightindex + lightnum) * 0x22];
|
||||
}
|
||||
|
||||
u8 func0f0009c0(s32 roomnum)
|
||||
|
|
@ -248,7 +248,7 @@ f32 func0f000dbc(s32 roomnum)
|
|||
|
||||
bool lightGetBboxCentre(s32 roomnum, u32 lightnum, struct coord *pos)
|
||||
{
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
s32 i;
|
||||
light += lightnum;
|
||||
|
||||
|
|
@ -309,7 +309,7 @@ void roomSetUnk52(s32 roomnum, s32 value)
|
|||
|
||||
void lightGetUnk07(s32 roomnum, u32 lightnum, struct coord *coord)
|
||||
{
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
light += lightnum;
|
||||
|
||||
coord->x = light->unk07;
|
||||
|
|
@ -580,7 +580,7 @@ void roomInitLights(s32 roomnum)
|
|||
|
||||
room->flags |= ROOMFLAG_DIRTY;
|
||||
|
||||
light = (struct light *)&g_LightsFileData[(u32)g_Rooms[roomnum].lightindex * 0x22];
|
||||
light = (struct light *)&g_BgLightsFileData[(u32)g_Rooms[roomnum].lightindex * 0x22];
|
||||
|
||||
for (i = 0; i < room->numlights; i++) {
|
||||
light->unk04 = g_Rooms[roomnum].unk4a;
|
||||
|
|
@ -636,12 +636,12 @@ glabel func0f001734
|
|||
/* f00178c: 00064080 */ sll $t0,$a2,0x2
|
||||
/* f001790: 01064021 */ addu $t0,$t0,$a2
|
||||
/* f001794: 17000003 */ bnez $t8,.L0f0017a4
|
||||
/* f001798: 3c19800a */ lui $t9,%hi(var800a4cc4)
|
||||
/* f001798: 3c19800a */ lui $t9,%hi(g_BgRooms)
|
||||
.L0f00179c:
|
||||
/* f00179c: 100000a5 */ b .L0f001a34
|
||||
/* f0017a0: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f0017a4:
|
||||
/* f0017a4: 8f394cc4 */ lw $t9,%lo(var800a4cc4)($t9)
|
||||
/* f0017a4: 8f394cc4 */ lw $t9,%lo(g_BgRooms)($t9)
|
||||
/* f0017a8: 00084080 */ sll $t0,$t0,0x2
|
||||
/* f0017ac: c4840000 */ lwc1 $f4,0x0($a0)
|
||||
/* f0017b0: 03281021 */ addu $v0,$t9,$t0
|
||||
|
|
@ -694,8 +694,8 @@ glabel func0f001734
|
|||
/* f00186c: 46009083 */ div.s $f2,$f18,$f0
|
||||
/* f001870: c7a80094 */ lwc1 $f8,0x94($sp)
|
||||
/* f001874: 8fc90000 */ lw $t1,0x0($s8)
|
||||
/* f001878: 3c0c800a */ lui $t4,%hi(g_LightsFileData)
|
||||
/* f00187c: 8d8c4cd8 */ lw $t4,%lo(g_LightsFileData)($t4)
|
||||
/* f001878: 3c0c800a */ lui $t4,%hi(g_BgLightsFileData)
|
||||
/* f00187c: 8d8c4cd8 */ lw $t4,%lo(g_BgLightsFileData)($t4)
|
||||
/* f001880: 01371021 */ addu $v0,$t1,$s7
|
||||
/* f001884: 00009825 */ or $s3,$zero,$zero
|
||||
/* f001888: 27b6008c */ addiu $s6,$sp,0x8c
|
||||
|
|
@ -827,7 +827,7 @@ glabel func0f001734
|
|||
|
||||
void roomSetLightsFaulty(s32 roomnum, s32 chance)
|
||||
{
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
s32 i;
|
||||
|
||||
if (g_Rooms[roomnum].numlights) {
|
||||
|
|
@ -878,8 +878,8 @@ glabel func0f001c0c
|
|||
/* f001c3c: 3c018006 */ lui $at,%hi(var80061440)
|
||||
/* f001c40: 0fc008ee */ jal func0f0023b8
|
||||
/* f001c44: ac201440 */ sw $zero,%lo(var80061440)($at)
|
||||
/* f001c48: 3c17800a */ lui $s7,%hi(g_Portals)
|
||||
/* f001c4c: 26f74cc8 */ addiu $s7,$s7,%lo(g_Portals)
|
||||
/* f001c48: 3c17800a */ lui $s7,%hi(g_BgPortals)
|
||||
/* f001c4c: 26f74cc8 */ addiu $s7,$s7,%lo(g_BgPortals)
|
||||
/* f001c50: 8ee30000 */ lw $v1,0x0($s7)
|
||||
/* f001c54: 3c10800a */ lui $s0,%hi(var8009cadc)
|
||||
/* f001c58: 2610cadc */ addiu $s0,$s0,%lo(var8009cadc)
|
||||
|
|
@ -1729,8 +1729,8 @@ glabel func0f002844
|
|||
/* f0028a0: afae0060 */ sw $t6,0x60($sp)
|
||||
/* f0028a4: 10e1000c */ beq $a3,$at,.L0f0028d8
|
||||
/* f0028a8: ac580000 */ sw $t8,0x0($v0)
|
||||
/* f0028ac: 3c08800a */ lui $t0,%hi(g_Portals)
|
||||
/* f0028b0: 8d084cc8 */ lw $t0,%lo(g_Portals)($t0)
|
||||
/* f0028ac: 3c08800a */ lui $t0,%hi(g_BgPortals)
|
||||
/* f0028b0: 8d084cc8 */ lw $t0,%lo(g_BgPortals)($t0)
|
||||
/* f0028b4: 000748c0 */ sll $t1,$a3,0x3
|
||||
/* f0028b8: 01091021 */ addu $v0,$t0,$t1
|
||||
/* f0028bc: 84430002 */ lh $v1,0x2($v0)
|
||||
|
|
@ -1769,14 +1769,14 @@ glabel func0f002844
|
|||
/* f002938: 01f94021 */ addu $t0,$t7,$t9
|
||||
/* f00293c: 01144821 */ addu $t1,$t0,$s4
|
||||
/* f002940: 85310000 */ lh $s1,0x0($t1)
|
||||
/* f002944: 3c0e800a */ lui $t6,%hi(g_Portals)
|
||||
/* f002944: 3c0e800a */ lui $t6,%hi(g_BgPortals)
|
||||
/* f002948: 8faf0060 */ lw $t7,0x60($sp)
|
||||
/* f00294c: 00115880 */ sll $t3,$s1,0x2
|
||||
/* f002950: 014b6021 */ addu $t4,$t2,$t3
|
||||
/* f002954: 8d8d0000 */ lw $t5,0x0($t4)
|
||||
/* f002958: 11a00037 */ beqz $t5,.L0f002a38
|
||||
/* f00295c: 00000000 */ nop
|
||||
/* f002960: 8dce4cc8 */ lw $t6,%lo(g_Portals)($t6)
|
||||
/* f002960: 8dce4cc8 */ lw $t6,%lo(g_BgPortals)($t6)
|
||||
/* f002964: 0011c0c0 */ sll $t8,$s1,0x3
|
||||
/* f002968: 02a02025 */ or $a0,$s5,$zero
|
||||
/* f00296c: 01d81021 */ addu $v0,$t6,$t8
|
||||
|
|
@ -1882,7 +1882,7 @@ void func0f002a98(void)
|
|||
|
||||
void roomSetLightsOn(s32 roomnum, s32 enable)
|
||||
{
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
s32 i;
|
||||
|
||||
if (g_Rooms[roomnum].numlights) {
|
||||
|
|
@ -1952,8 +1952,8 @@ glabel func0f002ef8
|
|||
/* f002f20: afa500dc */ sw $a1,0xdc($sp)
|
||||
/* f002f24: 01d8c821 */ addu $t9,$t6,$t8
|
||||
/* f002f28: 972a000a */ lhu $t2,0xa($t9)
|
||||
/* f002f2c: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f002f30: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f002f2c: 3c0f800a */ lui $t7,%hi(g_BgLightsFileData)
|
||||
/* f002f30: 8def4cd8 */ lw $t7,%lo(g_BgLightsFileData)($t7)
|
||||
/* f002f34: 01456021 */ addu $t4,$t2,$a1
|
||||
/* f002f38: 000c6900 */ sll $t5,$t4,0x4
|
||||
/* f002f3c: 01ac6821 */ addu $t5,$t5,$t4
|
||||
|
|
@ -2164,8 +2164,8 @@ glabel func0f002ef8
|
|||
/* f00324c: 27a60074 */ addiu $a2,$sp,0x74
|
||||
/* f003250: 0fc0037f */ jal lightGetBboxCentre
|
||||
/* f003254: afa90068 */ sw $t1,0x68($sp)
|
||||
/* f003258: 3c0b800a */ lui $t3,%hi(var800a4cc4)
|
||||
/* f00325c: 8d6b4cc4 */ lw $t3,%lo(var800a4cc4)($t3)
|
||||
/* f003258: 3c0b800a */ lui $t3,%hi(g_BgRooms)
|
||||
/* f00325c: 8d6b4cc4 */ lw $t3,%lo(g_BgRooms)($t3)
|
||||
/* f003260: 8fac0058 */ lw $t4,0x58($sp)
|
||||
/* f003264: c7a60074 */ lwc1 $f6,0x74($sp)
|
||||
/* f003268: c7a40078 */ lwc1 $f4,0x78($sp)
|
||||
|
|
@ -2279,7 +2279,7 @@ void func0f003444(void)
|
|||
s32 j;
|
||||
|
||||
for (i = 0; i < g_Vars.roomcount; i++) {
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[i].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[i].lightindex * 0x22];
|
||||
g_Rooms[i].bitfield.prevop = 1;
|
||||
g_Rooms[i].unk60 = 0.5f;
|
||||
|
||||
|
|
@ -2302,7 +2302,7 @@ void func0f0035c0(void)
|
|||
s32 j;
|
||||
|
||||
for (i = 0; i < g_Vars.roomcount; i++) {
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[i].lightindex * 0x22];
|
||||
struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[i].lightindex * 0x22];
|
||||
g_Rooms[i].bitfield.prevop = 1;
|
||||
g_Rooms[i].unk60 = 0;
|
||||
|
||||
|
|
@ -2652,8 +2652,8 @@ glabel var7f1a7dd4
|
|||
/* f003c10: 10800032 */ beqz $a0,.L0f003cdc
|
||||
/* f003c14: 00001825 */ or $v1,$zero,$zero
|
||||
/* f003c18: 9609000a */ lhu $t1,0xa($s0)
|
||||
/* f003c1c: 3c0b800a */ lui $t3,%hi(g_LightsFileData)
|
||||
/* f003c20: 8d6b4cd8 */ lw $t3,%lo(g_LightsFileData)($t3)
|
||||
/* f003c1c: 3c0b800a */ lui $t3,%hi(g_BgLightsFileData)
|
||||
/* f003c20: 8d6b4cd8 */ lw $t3,%lo(g_BgLightsFileData)($t3)
|
||||
/* f003c24: 00095100 */ sll $t2,$t1,0x4
|
||||
/* f003c28: 01495021 */ addu $t2,$t2,$t1
|
||||
/* f003c2c: 000a5040 */ sll $t2,$t2,0x1
|
||||
|
|
@ -2725,14 +2725,14 @@ glabel var7f1a7dd4
|
|||
.L0f003d14:
|
||||
/* f003d14: c610005c */ lwc1 $f16,0x5c($s0)
|
||||
.L0f003d18:
|
||||
/* f003d18: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f003d18: 3c0f800a */ lui $t7,%hi(g_BgLightsFileData)
|
||||
/* f003d1c: 46100002 */ mul.s $f0,$f0,$f16
|
||||
/* f003d20: 4600028d */ trunc.w.s $f10,$f0
|
||||
/* f003d24: 440b5000 */ mfc1 $t3,$f10
|
||||
/* f003d28: 00000000 */ nop
|
||||
/* f003d2c: a60b0050 */ sh $t3,0x50($s0)
|
||||
/* f003d30: 8e6c0000 */ lw $t4,0x0($s3)
|
||||
/* f003d34: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f003d34: 8def4cd8 */ lw $t7,%lo(g_BgLightsFileData)($t7)
|
||||
/* f003d38: 01928021 */ addu $s0,$t4,$s2
|
||||
/* f003d3c: 960d000a */ lhu $t5,0xa($s0)
|
||||
/* f003d40: 82040008 */ lb $a0,0x8($s0)
|
||||
|
|
@ -4005,8 +4005,8 @@ glabel func0f00505c
|
|||
/* f0050dc: afad0044 */ sw $t5,0x44($sp)
|
||||
.L0f0050e0:
|
||||
/* f0050e0: 8fb90070 */ lw $t9,0x70($sp)
|
||||
/* f0050e4: 3c0e800a */ lui $t6,%hi(g_Portals)
|
||||
/* f0050e8: 8dce4cc8 */ lw $t6,%lo(g_Portals)($t6)
|
||||
/* f0050e4: 3c0e800a */ lui $t6,%hi(g_BgPortals)
|
||||
/* f0050e8: 8dce4cc8 */ lw $t6,%lo(g_BgPortals)($t6)
|
||||
/* f0050ec: 8faf0044 */ lw $t7,0x44($sp)
|
||||
/* f0050f0: 0000f025 */ or $s8,$zero,$zero
|
||||
/* f0050f4: 13200003 */ beqz $t9,.L0f005104
|
||||
|
|
|
|||
|
|
@ -662,8 +662,8 @@ glabel var7f1b5584
|
|||
/* f12a530: 10400168 */ beqz $v0,.L0f12aad4
|
||||
/* f12a534: 8faa0158 */ lw $t2,0x158($sp)
|
||||
/* f12a538: 8fa50118 */ lw $a1,0x118($sp)
|
||||
/* f12a53c: 3c0c800a */ lui $t4,%hi(g_Portals)
|
||||
/* f12a540: 8d8c4cc8 */ lw $t4,%lo(g_Portals)($t4)
|
||||
/* f12a53c: 3c0c800a */ lui $t4,%hi(g_BgPortals)
|
||||
/* f12a540: 8d8c4cc8 */ lw $t4,%lo(g_BgPortals)($t4)
|
||||
/* f12a544: 240fffff */ addiu $t7,$zero,-1
|
||||
/* f12a548: 0005c8c0 */ sll $t9,$a1,0x3
|
||||
/* f12a54c: a7af00c4 */ sh $t7,0xc4($sp)
|
||||
|
|
@ -918,8 +918,8 @@ glabel var7f1b5584
|
|||
/* f12a8ec: 4610303e */ c.le.s $f6,$f16
|
||||
/* f12a8f0: 00000000 */ nop
|
||||
/* f12a8f4: 45000027 */ bc1f .L0f12a994
|
||||
/* f12a8f8: 3c0f800a */ lui $t7,%hi(g_Portals)
|
||||
/* f12a8fc: 8def4cc8 */ lw $t7,%lo(g_Portals)($t7)
|
||||
/* f12a8f8: 3c0f800a */ lui $t7,%hi(g_BgPortals)
|
||||
/* f12a8fc: 8def4cc8 */ lw $t7,%lo(g_BgPortals)($t7)
|
||||
/* f12a900: 001060c0 */ sll $t4,$s0,0x3
|
||||
/* f12a904: 87ad00c6 */ lh $t5,0xc6($sp)
|
||||
/* f12a908: 01ec1021 */ addu $v0,$t7,$t4
|
||||
|
|
@ -1533,8 +1533,8 @@ glabel var7f1b559c
|
|||
/* f12b298: 00408825 */ or $s1,$v0,$zero
|
||||
/* f12b29c: 0002c8c0 */ sll $t9,$v0,0x3
|
||||
/* f12b2a0: 0322c821 */ addu $t9,$t9,$v0
|
||||
/* f12b2a4: 3c09800a */ lui $t1,%hi(var800a4cc4)
|
||||
/* f12b2a8: 8d294cc4 */ lw $t1,%lo(var800a4cc4)($t1)
|
||||
/* f12b2a4: 3c09800a */ lui $t1,%hi(g_BgRooms)
|
||||
/* f12b2a8: 8d294cc4 */ lw $t1,%lo(g_BgRooms)($t1)
|
||||
/* f12b2ac: 0019c880 */ sll $t9,$t9,0x2
|
||||
/* f12b2b0: 3c18800a */ lui $t8,%hi(g_Rooms)
|
||||
/* f12b2b4: 00027880 */ sll $t7,$v0,0x2
|
||||
|
|
|
|||
|
|
@ -302,11 +302,11 @@ glabel func0f13c780
|
|||
/* f13c818: 8fbf006c */ lw $ra,0x6c($sp)
|
||||
/* f13c81c: 84660012 */ lh $a2,0x12($v1)
|
||||
/* f13c820: 27b00138 */ addiu $s0,$sp,0x138
|
||||
/* f13c824: 3c0a800a */ lui $t2,%hi(g_LightsFileData)
|
||||
/* f13c824: 3c0a800a */ lui $t2,%hi(g_BgLightsFileData)
|
||||
/* f13c828: 10c002d4 */ beqz $a2,.L0f13d37c
|
||||
/* f13c82c: 3c0d800a */ lui $t5,%hi(var800a41a0)
|
||||
/* f13c830: 84620010 */ lh $v0,0x10($v1)
|
||||
/* f13c834: 8d4a4cd8 */ lw $t2,%lo(g_LightsFileData)($t2)
|
||||
/* f13c834: 8d4a4cd8 */ lw $t2,%lo(g_BgLightsFileData)($t2)
|
||||
/* f13c838: 8dad41a0 */ lw $t5,%lo(var800a41a0)($t5)
|
||||
/* f13c83c: 00024900 */ sll $t1,$v0,0x4
|
||||
/* f13c840: 01224821 */ addu $t1,$t1,$v0
|
||||
|
|
@ -400,9 +400,9 @@ glabel func0f13c780
|
|||
/* f13c998: 8faa01d8 */ lw $t2,0x1d8($sp)
|
||||
/* f13c99c: 460e5202 */ mul.s $f8,$f10,$f14
|
||||
/* f13c9a0: c7aa00d8 */ lwc1 $f10,0xd8($sp)
|
||||
/* f13c9a4: 3c09800a */ lui $t1,%hi(var800a4cc4)
|
||||
/* f13c9a4: 3c09800a */ lui $t1,%hi(g_BgRooms)
|
||||
/* f13c9a8: 460e2182 */ mul.s $f6,$f4,$f14
|
||||
/* f13c9ac: 8d294cc4 */ lw $t1,%lo(var800a4cc4)($t1)
|
||||
/* f13c9ac: 8d294cc4 */ lw $t1,%lo(g_BgRooms)($t1)
|
||||
/* f13c9b0: 000a5880 */ sll $t3,$t2,0x2
|
||||
/* f13c9b4: 016a5821 */ addu $t3,$t3,$t2
|
||||
/* f13c9b8: e7a800d0 */ swc1 $f8,0xd0($sp)
|
||||
|
|
@ -1219,11 +1219,11 @@ glabel func0f13d568
|
|||
/* f13d6a8: afa50140 */ sw $a1,0x140($sp)
|
||||
/* f13d6ac: 94ad0000 */ lhu $t5,0x0($a1)
|
||||
/* f13d6b0: 8fac0164 */ lw $t4,0x164($sp)
|
||||
/* f13d6b4: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f13d6b4: 3c0f800a */ lui $t7,%hi(g_BgLightsFileData)
|
||||
/* f13d6b8: 24010022 */ addiu $at,$zero,0x22
|
||||
/* f13d6bc: 158d026d */ bne $t4,$t5,.L0f13e074
|
||||
/* f13d6c0: 00005025 */ or $t2,$zero,$zero
|
||||
/* f13d6c4: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f13d6c4: 8def4cd8 */ lw $t7,%lo(g_BgLightsFileData)($t7)
|
||||
/* f13d6c8: 3c0c800a */ lui $t4,%hi(var800a41a0)
|
||||
/* f13d6cc: 8d8c41a0 */ lw $t4,%lo(var800a41a0)($t4)
|
||||
/* f13d6d0: 00af8823 */ subu $s1,$a1,$t7
|
||||
|
|
@ -1468,8 +1468,8 @@ glabel func0f13d568
|
|||
/* f13da3c: 0fc49ccd */ jal func0f127334
|
||||
/* f13da40: 00000000 */ nop
|
||||
/* f13da44: 8fac0164 */ lw $t4,0x164($sp)
|
||||
/* f13da48: 3c18800a */ lui $t8,%hi(var800a4cc4)
|
||||
/* f13da4c: 8f184cc4 */ lw $t8,%lo(var800a4cc4)($t8)
|
||||
/* f13da48: 3c18800a */ lui $t8,%hi(g_BgRooms)
|
||||
/* f13da4c: 8f184cc4 */ lw $t8,%lo(g_BgRooms)($t8)
|
||||
/* f13da50: 000c6880 */ sll $t5,$t4,0x2
|
||||
/* f13da54: 01ac6821 */ addu $t5,$t5,$t4
|
||||
/* f13da58: 000d6880 */ sll $t5,$t5,0x2
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ glabel func0f165360
|
|||
/* f16537c: 3c017f1b */ lui $at,%hi(var7f1b76d0)
|
||||
/* f165380: c42d76d0 */ lwc1 $f13,%lo(var7f1b76d0)($at)
|
||||
/* f165384: c50c000c */ lwc1 $f12,0xc($t0)
|
||||
/* f165388: 3c08800a */ lui $t0,%hi(g_Portals)
|
||||
/* f16538c: 25084cc8 */ addiu $t0,$t0,%lo(g_Portals)
|
||||
/* f165388: 3c08800a */ lui $t0,%hi(g_BgPortals)
|
||||
/* f16538c: 25084cc8 */ addiu $t0,$t0,%lo(g_BgPortals)
|
||||
/* f165390: 8d080000 */ lw $t0,0x0($t0)
|
||||
/* f165394: 000448c0 */ sll $t1,$a0,0x3
|
||||
/* f165398: 01284820 */ add $t1,$t1,$t0
|
||||
|
|
|
|||
|
|
@ -199,15 +199,15 @@ glabel func0f166a6c
|
|||
/* f166b48: 00000000 */ nop
|
||||
/* f166b4c: 846d0700 */ lh $t5,0x700($v1)
|
||||
.L0f166b50:
|
||||
/* f166b50: 3c03800a */ lui $v1,%hi(var800a4cc4)
|
||||
/* f166b50: 3c03800a */ lui $v1,%hi(g_BgRooms)
|
||||
/* f166b54: 24010071 */ addiu $at,$zero,0x71
|
||||
/* f166b58: 144d0015 */ bne $v0,$t5,.L0f166bb0
|
||||
/* f166b5c: 24634cc4 */ addiu $v1,$v1,%lo(var800a4cc4)
|
||||
/* f166b5c: 24634cc4 */ addiu $v1,$v1,%lo(g_BgRooms)
|
||||
/* f166b60: 54a10014 */ bnel $a1,$at,.L0f166bb4
|
||||
/* f166b64: 8c6a0000 */ lw $t2,0x0($v1)
|
||||
.L0f166b68:
|
||||
/* f166b68: 3c03800a */ lui $v1,%hi(var800a4cc4)
|
||||
/* f166b6c: 24634cc4 */ addiu $v1,$v1,%lo(var800a4cc4)
|
||||
/* f166b68: 3c03800a */ lui $v1,%hi(g_BgRooms)
|
||||
/* f166b6c: 24634cc4 */ addiu $v1,$v1,%lo(g_BgRooms)
|
||||
/* f166b70: 8c6e0000 */ lw $t6,0x0($v1)
|
||||
/* f166b74: 00051080 */ sll $v0,$a1,0x2
|
||||
/* f166b78: 00451021 */ addu $v0,$v0,$a1
|
||||
|
|
@ -380,12 +380,12 @@ glabel func0f166d7c
|
|||
|
||||
struct coord *func0f166dd0(s32 room)
|
||||
{
|
||||
return &var800a4cc4[room].pos;
|
||||
return &g_BgRooms[room].pos;
|
||||
}
|
||||
|
||||
void func0f166df0(s32 room, struct coord *globaldrawworldoffset)
|
||||
{
|
||||
globaldrawworldoffset->x = var800a4cc4[room].pos.x;
|
||||
globaldrawworldoffset->y = var800a4cc4[room].pos.y;
|
||||
globaldrawworldoffset->z = var800a4cc4[room].pos.z;
|
||||
globaldrawworldoffset->x = g_BgRooms[room].pos.x;
|
||||
globaldrawworldoffset->y = g_BgRooms[room].pos.y;
|
||||
globaldrawworldoffset->z = g_BgRooms[room].pos.z;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5653,8 +5653,8 @@ glabel func0f06ad2c
|
|||
/* f06aee8: 0fc59392 */ jal portalSetEnabled
|
||||
/* f06aeec: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f06aef0: 862e0062 */ lh $t6,0x62($s1)
|
||||
/* f06aef4: 3c0d800a */ lui $t5,%hi(g_Portals)
|
||||
/* f06aef8: 8dad4cc8 */ lw $t5,%lo(g_Portals)($t5)
|
||||
/* f06aef4: 3c0d800a */ lui $t5,%hi(g_BgPortals)
|
||||
/* f06aef8: 8dad4cc8 */ lw $t5,%lo(g_BgPortals)($t5)
|
||||
/* f06aefc: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f06af00: 01af1021 */ addu $v0,$t5,$t7
|
||||
/* f06af04: 90580006 */ lbu $t8,0x6($v0)
|
||||
|
|
@ -5678,10 +5678,10 @@ glabel func0f06ad2c
|
|||
/* f06af44: 0fc2353a */ jal doorActivatePortal
|
||||
/* f06af48: 02202025 */ or $a0,$s1,$zero
|
||||
/* f06af4c: 862300c4 */ lh $v1,0xc4($s1)
|
||||
/* f06af50: 3c08800a */ lui $t0,%hi(g_Portals)
|
||||
/* f06af50: 3c08800a */ lui $t0,%hi(g_BgPortals)
|
||||
/* f06af54: 04620008 */ bltzl $v1,.L0f06af78
|
||||
/* f06af58: 8e2c0014 */ lw $t4,0x14($s1)
|
||||
/* f06af5c: 8d084cc8 */ lw $t0,%lo(g_Portals)($t0)
|
||||
/* f06af5c: 8d084cc8 */ lw $t0,%lo(g_BgPortals)($t0)
|
||||
/* f06af60: 000348c0 */ sll $t1,$v1,0x3
|
||||
/* f06af64: 01091021 */ addu $v0,$t0,$t1
|
||||
/* f06af68: 904a0006 */ lbu $t2,0x6($v0)
|
||||
|
|
@ -27143,15 +27143,15 @@ s32 objTick(struct prop *prop)
|
|||
struct tintedglassobj *glass = (struct tintedglassobj *)obj;
|
||||
|
||||
if (glass->portalnum >= 0) {
|
||||
pass = (g_Portals[glass->portalnum].flags & PORTALFLAG_ENABLED) && (g_Portals[glass->portalnum].flags & PORTALFLAG_04) == 0;
|
||||
g_Portals[glass->portalnum].flags |= PORTALFLAG_04;
|
||||
pass = (g_BgPortals[glass->portalnum].flags & PORTALFLAG_ENABLED) && (g_BgPortals[glass->portalnum].flags & PORTALFLAG_04) == 0;
|
||||
g_BgPortals[glass->portalnum].flags |= PORTALFLAG_04;
|
||||
}
|
||||
} else if (obj->type == OBJTYPE_DOOR) {
|
||||
struct doorobj *door = (struct doorobj *)obj;
|
||||
|
||||
if (door->portalnum >= 0) {
|
||||
pass = (g_Portals[door->portalnum].flags & PORTALFLAG_ENABLED) && (g_Portals[door->portalnum].flags & PORTALFLAG_04) == 0;
|
||||
g_Portals[door->portalnum].flags |= PORTALFLAG_04;
|
||||
pass = (g_BgPortals[door->portalnum].flags & PORTALFLAG_ENABLED) && (g_BgPortals[door->portalnum].flags & PORTALFLAG_04) == 0;
|
||||
g_BgPortals[door->portalnum].flags |= PORTALFLAG_04;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -35002,11 +35002,11 @@ glabel func0f084e58
|
|||
/* f084e80: afa20088 */ sw $v0,0x88($sp)
|
||||
/* f084e84: 8fa60098 */ lw $a2,0x98($sp)
|
||||
/* f084e88: 00404025 */ or $t0,$v0,$zero
|
||||
/* f084e8c: 3c0f800a */ lui $t7,%hi(g_Portals)
|
||||
/* f084e8c: 3c0f800a */ lui $t7,%hi(g_BgPortals)
|
||||
/* f084e90: 84c400c4 */ lh $a0,0xc4($a2)
|
||||
/* f084e94: 04820010 */ bltzl $a0,.L0f084ed8
|
||||
/* f084e98: 00c02025 */ or $a0,$a2,$zero
|
||||
/* f084e9c: 8def4cc8 */ lw $t7,%lo(g_Portals)($t7)
|
||||
/* f084e9c: 8def4cc8 */ lw $t7,%lo(g_BgPortals)($t7)
|
||||
/* f084ea0: 0004c0c0 */ sll $t8,$a0,0x3
|
||||
/* f084ea4: 01f82821 */ addu $a1,$t7,$t8
|
||||
/* f084ea8: 90a30006 */ lbu $v1,0x6($a1)
|
||||
|
|
|
|||
980
src/game/room.c
980
src/game/room.c
File diff suppressed because it is too large
Load Diff
|
|
@ -236,7 +236,7 @@ struct weatherparticledata *weatherAllocateParticles(void)
|
|||
|
||||
weatherSetBoundaries(data, 0, -800, 800);
|
||||
|
||||
if (g_StageIndex == STAGEINDEX_CRASHSITE) {
|
||||
if ((u32)g_StageIndex == STAGEINDEX_CRASHSITE) {
|
||||
weatherSetBoundaries(data, 1, -500, 500);
|
||||
} else {
|
||||
weatherSetBoundaries(data, 1, -800, 800);
|
||||
|
|
@ -250,7 +250,7 @@ struct weatherparticledata *weatherAllocateParticles(void)
|
|||
data->unk3ec8[i++] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i != ARRAYCOUNT(g_WeatherData->particledata->particles); i++) {
|
||||
for (i = 0; i != (s32)ARRAYCOUNT(g_WeatherData->particledata->particles); i++) {
|
||||
struct weatherparticle *particle = &data->particles[i];
|
||||
particle->pos.x = random() * (1.0f / U32_MAX) * 1600 - 800;
|
||||
particle->pos.y = random() * (1.0f / U32_MAX) * 1600 - 800;
|
||||
|
|
@ -763,7 +763,7 @@ void weatherConfigureSnow(u32 intensity)
|
|||
}
|
||||
}
|
||||
|
||||
bool weatherIsRoomWeatherProof(u32 room)
|
||||
bool weatherIsRoomWeatherProof(s32 room)
|
||||
{
|
||||
if (g_StageIndex == STAGEINDEX_CHICAGO) {
|
||||
// Rooms listed do not have weather
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ extern struct font2a4 *g_FontHandelGothicMd1;
|
|||
extern struct font *g_FontHandelGothicLg2;
|
||||
extern struct font2a4 *g_FontHandelGothicLg1;
|
||||
extern u32 var8007fb9c;
|
||||
extern u32 g_StageIndex;
|
||||
extern s32 g_StageIndex;
|
||||
extern s16 var8007fc0c;
|
||||
extern u32 var8007fc24;
|
||||
extern u16 var8007fc3c;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ u32 func0f172f54(void);
|
|||
void func0f172f5c(Gfx *gdl, u32 arg1, u32 arg2);
|
||||
void func0f173010(u32 *texturenum, u32 arg1, u32 arg2);
|
||||
u32 func0f173434(void);
|
||||
void func0f1734e8(u8 arg0, void *arg1);
|
||||
void func0f1734e8(u16 arg0, void *arg1);
|
||||
u32 func0f173520(void);
|
||||
u32 func0f17353c(void);
|
||||
void texturesLoadConfigs(void);
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ void weatherTickRain(struct weatherdata *weather);
|
|||
void weatherTickSnow(struct weatherdata *weather);
|
||||
void weatherConfigureRain(u32 intensity);
|
||||
void weatherConfigureSnow(u32 intensity);
|
||||
bool weatherIsRoomWeatherProof(u32 param_1);
|
||||
bool weatherIsRoomWeatherProof(s32 room);
|
||||
u32 weatherRenderRain(void);
|
||||
u32 weatherRenderSnow(void);
|
||||
void weatherReset(void);
|
||||
|
|
|
|||
|
|
@ -701,22 +701,19 @@ extern struct shard *g_Shards;
|
|||
extern struct var800a45d0 var800a45d0;
|
||||
extern Gfx *var800a4634;
|
||||
extern struct var800a4640 var800a4640;
|
||||
extern struct bgprimaryheader *g_BgPrimaryData;
|
||||
extern u32 var800a4920;
|
||||
extern u32 g_BgSection3;
|
||||
extern struct room *g_Rooms;
|
||||
extern u8 *g_MpRoomVisibility;
|
||||
extern s16 g_ActiveRoomNums[350];
|
||||
extern s32 g_NumActiveRooms;
|
||||
extern s16 var800a4bf8[100];
|
||||
extern struct bgprimaryheader *g_BgPrimaryData2;
|
||||
extern struct var800a4cc4 *var800a4cc4;
|
||||
extern struct portal *g_Portals;
|
||||
extern struct bgroom *g_BgRooms;
|
||||
extern struct bgportal *g_BgPortals;
|
||||
extern struct var800a4ccc *var800a4ccc; // indexed by portalnum
|
||||
extern u8 *var800a4cd0;
|
||||
extern struct portalcmd *g_PortalCommands;
|
||||
extern u8 *g_LightsFileData;
|
||||
extern void *var800a4cdc;
|
||||
extern struct portalcmd *g_BgPortalCommands;
|
||||
extern u8 *g_BgLightsFileData;
|
||||
extern void *g_BgTable5;
|
||||
extern s16 *g_RoomPortals; // portal numbers for each room, ordered by room
|
||||
extern struct var800a4ce8 *var800a4ce8;
|
||||
extern struct portalthing *g_PortalThings;
|
||||
|
|
|
|||
|
|
@ -4686,7 +4686,7 @@ struct scenariodata {
|
|||
};
|
||||
};
|
||||
|
||||
struct portal {
|
||||
struct bgportal {
|
||||
u16 unk00;
|
||||
s16 roomnum1;
|
||||
s16 roomnum2;
|
||||
|
|
@ -5995,7 +5995,7 @@ struct var80062a8c {
|
|||
/*0x58*/ u32 unk058;
|
||||
};
|
||||
|
||||
struct var800a4cc4 {
|
||||
struct bgroom {
|
||||
u32 unk00;
|
||||
struct coord pos;
|
||||
u8 unk10;
|
||||
|
|
@ -6970,13 +6970,4 @@ struct portalvertices {
|
|||
struct coord vertices[1];
|
||||
};
|
||||
|
||||
struct bgprimaryheader {
|
||||
u32 unk00;
|
||||
u32 roomtable;
|
||||
u32 portaltable;
|
||||
u32 portalcommands;
|
||||
u32 lighttable;
|
||||
u32 unk14;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1840,8 +1840,8 @@ glabel func00017cbc
|
|||
|
||||
GLOBAL_ASM(
|
||||
glabel func00017ce0
|
||||
/* 17ce0: 3c03800a */ lui $v1,%hi(g_Portals)
|
||||
/* 17ce4: 8c634cc8 */ lw $v1,%lo(g_Portals)($v1)
|
||||
/* 17ce0: 3c03800a */ lui $v1,%hi(g_BgPortals)
|
||||
/* 17ce4: 8c634cc8 */ lw $v1,%lo(g_BgPortals)($v1)
|
||||
/* 17ce8: 000470c0 */ sll $t6,$a0,0x3
|
||||
/* 17cec: 3c013f80 */ lui $at,0x3f80
|
||||
/* 17cf0: 006e7821 */ addu $t7,$v1,$t6
|
||||
|
|
@ -1950,10 +1950,10 @@ glabel func00017e30
|
|||
/* 17e54: c4a40004 */ lwc1 $f4,0x4($a1)
|
||||
/* 17e58: 460e6282 */ mul.s $f10,$f12,$f14
|
||||
/* 17e5c: c5020008 */ lwc1 $f2,0x8($t0)
|
||||
/* 17e60: 3c07800a */ lui $a3,%hi(g_Portals)
|
||||
/* 17e60: 3c07800a */ lui $a3,%hi(g_BgPortals)
|
||||
/* 17e64: 46102182 */ mul.s $f6,$f4,$f16
|
||||
/* 17e68: c4a40008 */ lwc1 $f4,0x8($a1)
|
||||
/* 17e6c: 8ce74cc8 */ lw $a3,%lo(g_Portals)($a3)
|
||||
/* 17e6c: 8ce74cc8 */ lw $a3,%lo(g_BgPortals)($a3)
|
||||
/* 17e70: 000478c0 */ sll $t7,$a0,0x3
|
||||
/* 17e74: 27bdff90 */ addiu $sp,$sp,-112
|
||||
/* 17e78: 00efc021 */ addu $t8,$a3,$t7
|
||||
|
|
@ -2197,7 +2197,7 @@ glabel func00018148
|
|||
/* 181e8: 240100ff */ addiu $at,$zero,0xff
|
||||
/* 181ec: 312a00ff */ andi $t2,$t1,0xff
|
||||
/* 181f0: 15410010 */ bne $t2,$at,.L00018234
|
||||
/* 181f4: 3c14800a */ lui $s4,%hi(g_Portals)
|
||||
/* 181f4: 3c14800a */ lui $s4,%hi(g_BgPortals)
|
||||
/* 181f8: 3c038008 */ lui $v1,%hi(g_NumPortalThings)
|
||||
/* 181fc: 8c63fc40 */ lw $v1,%lo(g_NumPortalThings)($v1)
|
||||
/* 18200: 3c0b800a */ lui $t3,%hi(g_Vars+0x520)
|
||||
|
|
@ -2216,7 +2216,7 @@ glabel func00018148
|
|||
/* 1822c: 3c018006 */ lui $at,%hi(var8005ef20)
|
||||
/* 18230: a020ef20 */ sb $zero,%lo(var8005ef20)($at)
|
||||
.L00018234:
|
||||
/* 18234: 26944cc8 */ addiu $s4,$s4,%lo(g_Portals)
|
||||
/* 18234: 26944cc8 */ addiu $s4,$s4,%lo(g_BgPortals)
|
||||
/* 18238: 87b5009c */ lh $s5,0x9c($sp)
|
||||
.L0001823c:
|
||||
/* 1823c: a7a4007c */ sh $a0,0x7c($sp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue