#include #include "constants.h" #include "game/cheats.h" #include "game/dlights.h" #include "game/game_092610.h" #include "game/game_0b3350.h" #include "game/game_0b69d0.h" #include "game/smoke/smoke.h" #include "game/sparks/sparks.h" #include "game/bg.h" #include "game/file.h" #include "game/lv.h" #include "game/game_176080.h" #include "game/mplayer/scenarios.h" #include "game/propobj.h" #include "game/utils.h" #include "game/wallhit.h" #include "bss.h" #include "lib/snd.h" #include "lib/memp.h" #include "lib/rng.h" #include "lib/mtx.h" #include "lib/lib_2f490.h" #include "lib/lib_317f0.h" #include "data.h" #include "types.h" const char var7f1a78e0[] = "LIGHTS : Hit occured on light %d in room %d\n"; const char var7f1a7910[] = "L2(%d) -> "; const char var7f1a791c[] = "L2 -> BUILD LIGHTS TRANSFER TABLE - Starting\n"; const char var7f1a794c[] = "L2(%d) -> "; const char var7f1a7958[] = "L2_BuildTransferTables -> Found %d portals\n"; const char var7f1a7984[] = "L2(%d) -> "; const char var7f1a7990[] = "L2_BuildTransferTables -> Found %d rooms\n"; const char var7f1a79bc[] = "L2(%d) -> "; const char var7f1a79c8[] = "L2_BuildTransferTables -> Alloc %u bytes of free memory\n"; const char var7f1a7a04[] = "L2(%d) -> "; const char var7f1a7a10[] = "L2_BuildTransferTables -> Alloc %u bytes for scratch\n"; const char var7f1a7a48[] = "L2(%d) -> "; const char var7f1a7a54[] = "L2 -> Building room based light transmission table\n"; const char var7f1a7a88[] = "L2(%d) -> "; const char var7f1a7a94[] = "L2 -> Finished\n"; const char var7f1a7aa4[] = "L2(%d) -> "; const char var7f1a7ab0[] = "L2 -> Generating room parameters from BG data\n"; const char var7f1a7ae0[] = "L2(%d) -> "; const char var7f1a7aec[] = "L2 -> Light2_ProcessBgParams room %d does not have a 3D bounding box => Room Volume is bodged!\n"; const char var7f1a7b4c[] = "L2(%d) -> "; const char var7f1a7b58[] = "%s%sL2 -> Surface area bodged for room %d - using %f\n"; const char var7f1a7b90[] = ""; const char var7f1a7b94[] = ""; const char var7f1a7b98[] = "L2(%d) -> "; const char var7f1a7ba4[] = "L2 -> Finished\n"; const char var7f1a7bb4[] = "dlights.c"; const char var7f1a7bc0[] = "dlights.c"; const char var7f1a7bcc[] = "L2 - g_bfGlobalLightRebuild = %d"; const char var7f1a7bf0[] = "Acoustic Shadowing is %s"; const char var7f1a7c0c[] = "Enabled"; const char var7f1a7c14[] = "Disabled"; const char var7f1a7c20[] = "L2 - Fading Rm%d - Mode=%d%%"; const char var7f1a7c40[] = "RWI : Re-light all affected char props : g_bfGlobalLightRebuild"; const char var7f1a7c80[] = "L2 - %d Rooms have been processed"; const char var7f1a7ca4[] = "L2 - %d Chars need lighting"; const char var7f1a7cc0[] = "L2(%d) -> "; const char var7f1a7ccc[] = "L2 -> Building portal range table (Num Portals = %d)\n"; const char var7f1a7d04[] = "L2(%d) -> "; const char var7f1a7d10[] = "L2 -> Allocated %uK for the compressed acoustic shadow table\n"; const char var7f1a7d50[] = "L2(%d) -> "; const char var7f1a7d5c[] = "L2 -> Finished building portal range table\n"; u32 var8009cad0; u32 var8009cad4; u32 var8009cad8; u32 var8009cadc; u32 var8009cae0; u32 var8009cae4; u32 var8009cae8; u8 var8009caec[4]; u8 var8009caf0; struct var80061420 *var80061420 = NULL; u32 var80061424 = 0x00000000; u32 var80061428 = 0x00000000; u32 var8006142c = 0x00000000; u16 **var80061430 = NULL; u32 var80061434 = 0x00000000; u32 var80061438 = 0x00000000; u32 var8006143c = 0x42480000; u32 var80061440 = 0x00000000; u32 var80061444 = 1; u32 var80061448 = 0x00000000; u32 var8006144c = 0x00000000; u32 var80061450 = 0x00000000; u32 var80061454 = 0xffffffff; #if VERSION >= VERSION_NTSC_1_0 s32 var80061458 = 0x00000000; u32 var8006145c = 0x00000000; #endif u32 var80061460 = 0x96969600; u32 var80061464 = 0x96969600; u32 var80061468 = 0xffffff00; u32 var8006146c = 0xffffff00; u32 var80061470 = 0x4d4d2e00; u32 var80061474 = 0x00000000; u32 var80061478 = 0x00000000; /** * These numbers are suspected to be portal indexes, based on the size of the * array and the number of portals in CI Training. No idea what the returned * values are though. */ s32 func0f000920(s32 num1, s32 num2) { if (num1 != num2) { s32 upper = (num1 > num2) ? num1 : num2; s32 lower = (num1 < num2) ? num1 : num2; return var80061430[upper][lower]; } return 0; } struct light *roomGetLight(s32 roomnum, s32 lightnum) { return (struct light *)&g_BgLightsFileData[(g_Rooms[roomnum].lightindex + lightnum) * 0x22]; } u8 func0f0009c0(s32 roomnum) { s32 value = g_Rooms[roomnum].unk52 + g_Rooms[roomnum].unk4b; if (value > 255) { value = 255; } if (value < 0) { value = 0; } return value; } u8 func0f000a10(s32 roomnum) { s32 value = g_Rooms[roomnum].unk52; if ((g_Vars.currentplayer->isdead == false && g_InCutscene == 0 && (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active)) && (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_NIGHTVISION)) || (g_Vars.currentplayer->isdead == false && g_InCutscene == 0 && (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active)) && (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_IRSCANNER))) { value += var8009caec[0]; } else { value += g_Rooms[roomnum].unk4b; } if (value > 255) { value = 255; } if (value < 0) { value = 0; } return value; } u8 func0f000b18(u32 arg0) { return 255; } u8 func0f000b24(s32 roomnum) { u32 value; if ((g_Vars.currentplayer->isdead == false && g_InCutscene == 0 && (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active)) && (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_NIGHTVISION)) || (g_Vars.currentplayer->isdead == false && g_InCutscene == 0 && (!g_Vars.currentplayer->eyespy || (g_Vars.currentplayer->eyespy && !g_Vars.currentplayer->eyespy->active)) && (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_IRSCANNER))) { return var8009caec[0]; } if (g_Rooms[roomnum].flags & ROOMFLAG_0040) { value = g_Rooms[roomnum].unk4b; } else { value = 255; } return value; } u8 roomGetBrightness(s32 room) { return g_Rooms[room].brightness & 0xff; } s32 func0f000c54(s32 roomnum) { if (g_Rooms[roomnum].unk52 > 255) { return 255; } if (g_Rooms[roomnum].unk52 < 0) { return 0; } return (g_Rooms[roomnum].flags & ROOMFLAG_0040) ? g_Rooms[roomnum].unk52 : 0; } f32 roomGetUnk5c(s32 roomnum) { return g_Rooms[roomnum].unk5c; } f32 func0f000cec(s32 roomnum) { f32 value = (g_Rooms[roomnum].unk52 + g_Rooms[roomnum].unk4b) / 0.0039215688593686f; if (value > 1) { value = 1; } if (value < 0) { value = 0; } return value; } f32 func0f000d6c(s32 roomnum) { return g_Rooms[roomnum].unk4b / 255.0f; } f32 func0f000dbc(s32 roomnum) { return g_Rooms[roomnum].brightness / 255.0f; } bool lightGetBboxCentre(s32 roomnum, u32 lightnum, struct coord *pos) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22]; s32 i; light += lightnum; pos->x = 0; pos->y = 0; pos->z = 0; for (i = 0; i < 4; i++) { pos->x += light->bbox[i].x; pos->y += light->bbox[i].y; pos->z += light->bbox[i].z; } pos->x *= 0.25f; pos->y *= 0.25f; pos->z *= 0.25f; return true; } bool lightIsHealthy(s32 roomnum, s32 lightnum) { bool healthy; if (roomnum && roomGetLight(roomnum, lightnum)->healthy) { healthy = true; } else { healthy = false; } return healthy; } bool lightIsVulnerable(s32 roomnum, s32 lightnum) { struct light *light = roomGetLight(roomnum, lightnum); return light->vulnerable; } bool lightIsOn(s32 roomnum, s32 lightnum) { bool on; if (roomnum && roomGetLight(roomnum, lightnum)->on) { on = true; } else { on = false; } return on; } void roomSetUnk52(s32 roomnum, s32 value) { g_Rooms[roomnum].unk52 = value; } void lightGetUnk07(s32 roomnum, u32 lightnum, struct coord *coord) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22]; light += lightnum; coord->x = light->unk07; coord->y = light->unk08; coord->z = light->unk09; } void func0f0010b4(void) { if (var80061424) { var80061424 = 0; } var80061424 = 1; } void roomSetDefaults(struct room *room) { room->unk48 = 0; room->unk49 = 255; room->unk4a = 0; room->brightness = 128; room->unk52 = 0; room->unk4b = 0; room->bitfield.prevop = 0; room->flags &= ~(ROOMFLAG_0200 | ROOMFLAG_DIRTY | ROOMFLAG_RENDERALWAYS | ROOMFLAG_0040); room->unk6c = 1; room->unk70 = 1; room->unk5c = 1; room->unk60 = 0; room->unk64 = 0; room->unk68 = 0; } GLOBAL_ASM( glabel func0f001138 .late_rodata glabel var7f1a7d8c .word 0x3f169697 .text /* f001138: 27bdffc0 */ addiu $sp,$sp,-64 /* f00113c: afb00018 */ sw $s0,0x18($sp) /* f001140: 00808025 */ or $s0,$a0,$zero /* f001144: afbf001c */ sw $ra,0x1c($sp) /* f001148: afa50044 */ sw $a1,0x44($sp) /* f00114c: 0fc59e7d */ jal gfxAllocate /* f001150: 24040018 */ addiu $a0,$zero,0x18 /* f001154: 87a40046 */ lh $a0,0x46($sp) /* f001158: 0fc00284 */ jal func0f000a10 /* f00115c: afa2003c */ sw $v0,0x3c($sp) /* f001160: 44822000 */ mtc1 $v0,$f4 /* f001164: 8fa3003c */ lw $v1,0x3c($sp) /* f001168: 2406004d */ addiu $a2,$zero,0x4d /* f00116c: 04410005 */ bgez $v0,.L0f001184 /* f001170: 468021a0 */ cvt.s.w $f6,$f4 /* f001174: 3c014f80 */ lui $at,0x4f80 /* f001178: 44814000 */ mtc1 $at,$f8 /* f00117c: 00000000 */ nop /* f001180: 46083180 */ add.s $f6,$f6,$f8 .L0f001184: /* f001184: 3c017f1a */ lui $at,%hi(var7f1a7d8c) /* f001188: c42a7d8c */ lwc1 $f10,%lo(var7f1a7d8c)($at) /* f00118c: 24040001 */ addiu $a0,$zero,0x1 /* f001190: 02002825 */ or $a1,$s0,$zero /* f001194: 460a3402 */ mul.s $f16,$f6,$f10 /* f001198: 3c18bc00 */ lui $t8,0xbc00 /* f00119c: 3c198000 */ lui $t9,0x8000 /* f0011a0: 3c080386 */ lui $t0,0x386 /* f0011a4: 3c0a0388 */ lui $t2,0x388 /* f0011a8: 3c0b0384 */ lui $t3,0x384 /* f0011ac: 3c014f00 */ lui $at,0x4f00 /* f0011b0: 444ef800 */ cfc1 $t6,$31 /* f0011b4: 44c4f800 */ ctc1 $a0,$31 /* f0011b8: 240f002e */ addiu $t7,$zero,0x2e /* f0011bc: 354a0010 */ ori $t2,$t2,0x10 /* f0011c0: 460084a4 */ cvt.w.s $f18,$f16 /* f0011c4: 35080010 */ ori $t0,$t0,0x10 /* f0011c8: 37390040 */ ori $t9,$t9,0x40 /* f0011cc: 37180002 */ ori $t8,$t8,0x2 /* f0011d0: 4444f800 */ cfc1 $a0,$31 /* f0011d4: 26100008 */ addiu $s0,$s0,0x8 /* f0011d8: 24690008 */ addiu $t1,$v1,0x8 /* f0011dc: 30840078 */ andi $a0,$a0,0x78 /* f0011e0: 10800012 */ beqz $a0,.L0f00122c /* f0011e4: 356b0010 */ ori $t3,$t3,0x10 /* f0011e8: 44819000 */ mtc1 $at,$f18 /* f0011ec: 24040001 */ addiu $a0,$zero,0x1 /* f0011f0: 46128481 */ sub.s $f18,$f16,$f18 /* f0011f4: 44c4f800 */ ctc1 $a0,$31 /* f0011f8: 00000000 */ nop /* f0011fc: 460094a4 */ cvt.w.s $f18,$f18 /* f001200: 4444f800 */ cfc1 $a0,$31 /* f001204: 00000000 */ nop /* f001208: 30840078 */ andi $a0,$a0,0x78 /* f00120c: 14800005 */ bnez $a0,.L0f001224 /* f001210: 00000000 */ nop /* f001214: 44049000 */ mfc1 $a0,$f18 /* f001218: 3c018000 */ lui $at,0x8000 /* f00121c: 10000007 */ b .L0f00123c /* f001220: 00812025 */ or $a0,$a0,$at .L0f001224: /* f001224: 10000005 */ b .L0f00123c /* f001228: 2404ffff */ addiu $a0,$zero,-1 .L0f00122c: /* f00122c: 44049000 */ mfc1 $a0,$f18 /* f001230: 00000000 */ nop /* f001234: 0480fffb */ bltz $a0,.L0f001224 /* f001238: 00000000 */ nop .L0f00123c: /* f00123c: a0620008 */ sb $v0,0x8($v1) /* f001240: a0620009 */ sb $v0,0x9($v1) /* f001244: a062000a */ sb $v0,0xa($v1) /* f001248: a062000c */ sb $v0,0xc($v1) /* f00124c: a062000d */ sb $v0,0xd($v1) /* f001250: a062000e */ sb $v0,0xe($v1) /* f001254: a0640000 */ sb $a0,0x0($v1) /* f001258: a0640001 */ sb $a0,0x1($v1) /* f00125c: a0640002 */ sb $a0,0x2($v1) /* f001260: a0640004 */ sb $a0,0x4($v1) /* f001264: a0640005 */ sb $a0,0x5($v1) /* f001268: a0640006 */ sb $a0,0x6($v1) /* f00126c: a0660010 */ sb $a2,0x10($v1) /* f001270: a0660011 */ sb $a2,0x11($v1) /* f001274: a06f0012 */ sb $t7,0x12($v1) /* f001278: acb80000 */ sw $t8,0x0($a1) /* f00127c: acb90004 */ sw $t9,0x4($a1) /* f001280: 02001025 */ or $v0,$s0,$zero /* f001284: 26100008 */ addiu $s0,$s0,0x8 /* f001288: 02002025 */ or $a0,$s0,$zero /* f00128c: ac480000 */ sw $t0,0x0($v0) /* f001290: ac490004 */ sw $t1,0x4($v0) /* f001294: 26100008 */ addiu $s0,$s0,0x8 /* f001298: ac830004 */ sw $v1,0x4($a0) /* f00129c: ac8a0000 */ sw $t2,0x0($a0) /* f0012a0: 02002825 */ or $a1,$s0,$zero /* f0012a4: 44cef800 */ ctc1 $t6,$31 /* f0012a8: acab0000 */ sw $t3,0x0($a1) /* f0012ac: afa50028 */ sw $a1,0x28($sp) /* f0012b0: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0012b4: 26100008 */ addiu $s0,$s0,0x8 /* f0012b8: 8fa50028 */ lw $a1,0x28($sp) /* f0012bc: 3c0c0382 */ lui $t4,0x382 /* f0012c0: 358c0010 */ ori $t4,$t4,0x10 /* f0012c4: 02001825 */ or $v1,$s0,$zero /* f0012c8: aca20004 */ sw $v0,0x4($a1) /* f0012cc: ac6c0000 */ sw $t4,0x0($v1) /* f0012d0: afa30024 */ sw $v1,0x24($sp) /* f0012d4: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0012d8: 26100008 */ addiu $s0,$s0,0x8 /* f0012dc: 8fa30024 */ lw $v1,0x24($sp) /* f0012e0: 244d0010 */ addiu $t5,$v0,0x10 /* f0012e4: 02001025 */ or $v0,$s0,$zero /* f0012e8: ac6d0004 */ sw $t5,0x4($v1) /* f0012ec: 8fbf001c */ lw $ra,0x1c($sp) /* f0012f0: 8fb00018 */ lw $s0,0x18($sp) /* f0012f4: 27bd0040 */ addiu $sp,$sp,0x40 /* f0012f8: 03e00008 */ jr $ra /* f0012fc: 00000000 */ nop ); GLOBAL_ASM( glabel func0f001300 /* f001300: 27bdffd0 */ addiu $sp,$sp,-48 /* f001304: afbf0014 */ sw $ra,0x14($sp) /* f001308: 00801025 */ or $v0,$a0,$zero /* f00130c: 3c0ebc00 */ lui $t6,0xbc00 /* f001310: 3c0f8000 */ lui $t7,0x8000 /* f001314: 35ef0040 */ ori $t7,$t7,0x40 /* f001318: 35ce0002 */ ori $t6,$t6,0x2 /* f00131c: 24830008 */ addiu $v1,$a0,0x8 /* f001320: ac4e0000 */ sw $t6,0x0($v0) /* f001324: ac4f0004 */ sw $t7,0x4($v0) /* f001328: 3c180386 */ lui $t8,0x386 /* f00132c: 3c198006 */ lui $t9,%hi(var80061468) /* f001330: 27391468 */ addiu $t9,$t9,%lo(var80061468) /* f001334: 37180010 */ ori $t8,$t8,0x10 /* f001338: 24650008 */ addiu $a1,$v1,0x8 /* f00133c: ac780000 */ sw $t8,0x0($v1) /* f001340: ac790004 */ sw $t9,0x4($v1) /* f001344: 3c080388 */ lui $t0,0x388 /* f001348: 3c098006 */ lui $t1,%hi(var80061460) /* f00134c: 25291460 */ addiu $t1,$t1,%lo(var80061460) /* f001350: 35080010 */ ori $t0,$t0,0x10 /* f001354: 24a60008 */ addiu $a2,$a1,0x8 /* f001358: 3c0a0384 */ lui $t2,0x384 /* f00135c: aca80000 */ sw $t0,0x0($a1) /* f001360: aca90004 */ sw $t1,0x4($a1) /* f001364: 354a0010 */ ori $t2,$t2,0x10 /* f001368: acca0000 */ sw $t2,0x0($a2) /* f00136c: 24c40008 */ addiu $a0,$a2,0x8 /* f001370: afa40030 */ sw $a0,0x30($sp) /* f001374: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f001378: afa60020 */ sw $a2,0x20($sp) /* f00137c: 8fa30030 */ lw $v1,0x30($sp) /* f001380: 8fa60020 */ lw $a2,0x20($sp) /* f001384: 3c0b0382 */ lui $t3,0x382 /* f001388: 356b0010 */ ori $t3,$t3,0x10 /* f00138c: acc20004 */ sw $v0,0x4($a2) /* f001390: ac6b0000 */ sw $t3,0x0($v1) /* f001394: 24640008 */ addiu $a0,$v1,0x8 /* f001398: afa40030 */ sw $a0,0x30($sp) /* f00139c: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0013a0: afa3001c */ sw $v1,0x1c($sp) /* f0013a4: 8fa3001c */ lw $v1,0x1c($sp) /* f0013a8: 8fa40030 */ lw $a0,0x30($sp) /* f0013ac: 244c0010 */ addiu $t4,$v0,0x10 /* f0013b0: ac6c0004 */ sw $t4,0x4($v1) /* f0013b4: 8fbf0014 */ lw $ra,0x14($sp) /* f0013b8: 27bd0030 */ addiu $sp,$sp,0x30 /* f0013bc: 00801025 */ or $v0,$a0,$zero /* f0013c0: 03e00008 */ jr $ra /* f0013c4: 00000000 */ nop ); #if VERSION >= VERSION_NTSC_1_0 void roomInitLights(s32 roomnum) { struct room *room = &g_Rooms[roomnum]; struct light *light; s32 i; func0f158108(roomnum, &room->unk48, &room->unk49); room->unk48 = room->unk48 / 4; if (room->numlights) { room->unk4a = (f32)(room->unk49 - room->unk48) / (f32)room->numlights; } else { room->unk4a = 0; } if (room->unk48 > 255) { room->unk48 = 255; } if (room->unk49 > 255) { room->unk49 = 255; } room->unk4c = room->unk48; if (room->numlights == 0) { room->unk4c += (room->unk49 - room->unk48) * 4 / 5; } switch (g_Vars.stagenum) { case STAGE_EXTRACTION: case STAGE_DEFECTION: if (roomnum == 0x003d) { // near the top comms hub room->unk4c = 2; } break; } if (((g_StageIndex == STAGEINDEX_INFILTRATION || g_StageIndex == STAGEINDEX_RESCUE || g_StageIndex == STAGEINDEX_ESCAPE || g_StageIndex == STAGEINDEX_MAIANSOS) && roomnum == 0x000f) // freight elevator shaft || ((g_StageIndex == STAGEINDEX_DEFECTION || g_StageIndex == STAGEINDEX_EXTRACTION || g_StageIndex == STAGEINDEX_MBR) && roomnum == 0x0001) // moon || ((g_StageIndex == STAGEINDEX_SKEDARRUINS || g_StageIndex == STAGEINDEX_WAR) && roomnum == 0x0002) // fake sky || ((s32)g_StageIndex == STAGEINDEX_TEST_OLD && roomnum == 0x0001) || (g_StageIndex == STAGEINDEX_ATTACKSHIP && roomnum == 0x0071)) { // planet room->flags |= ROOMFLAG_RENDERALWAYS; } else { room->flags &= ~ROOMFLAG_RENDERALWAYS; } room->flags |= ROOMFLAG_DIRTY; light = (struct light *)&g_BgLightsFileData[(u32)g_Rooms[roomnum].lightindex * 0x22]; for (i = 0; i < room->numlights; i++) { light->unk04 = g_Rooms[roomnum].unk4a; light->unk05_00 = true; light->healthy = true; light->on = true; light->unk05_03 = false; light->vulnerable = true; switch (g_Vars.stagenum) { case STAGE_CITRAINING: case STAGE_DEFENSE: if (roomnum == 0x000a) { // firing range light->vulnerable = false; } break; case STAGE_DEFECTION: case STAGE_EXTRACTION: if (roomnum == 0x003e && (i == 0 || i == 1)) { // top comms hub light->vulnerable = false; } break; } light++; } } #else GLOBAL_ASM( glabel roomInitLights /* f0013c8: 27bdffd8 */ addiu $sp,$sp,-40 /* f0013cc: afb30020 */ sw $s3,0x20($sp) /* f0013d0: 000498c0 */ sll $s3,$a0,0x3 /* f0013d4: 02649821 */ addu $s3,$s3,$a0 /* f0013d8: 3c0e800b */ lui $t6,0x800b /* f0013dc: 8dce90a8 */ lw $t6,-0x6f58($t6) /* f0013e0: 00139880 */ sll $s3,$s3,0x2 /* f0013e4: 02649823 */ subu $s3,$s3,$a0 /* f0013e8: afb2001c */ sw $s2,0x1c($sp) /* f0013ec: 00139880 */ sll $s3,$s3,0x2 /* f0013f0: afbf0024 */ sw $ra,0x24($sp) /* f0013f4: 026e9021 */ addu $s2,$s3,$t6 /* f0013f8: afb10018 */ sw $s1,0x18($sp) /* f0013fc: afb00014 */ sw $s0,0x14($sp) /* f001400: 26450048 */ addiu $a1,$s2,0x48 /* f001404: 0fc549da */ jal func0f158108 /* f001408: 26460049 */ addiu $a2,$s2,0x49 /* f00140c: 924f0048 */ lbu $t7,0x48($s2) /* f001410: 82430008 */ lb $v1,0x8($s2) /* f001414: 05e10003 */ bgez $t7,.NB0f001424 /* f001418: 000fc083 */ sra $t8,$t7,0x2 /* f00141c: 25e10003 */ addiu $at,$t7,0x3 /* f001420: 0001c083 */ sra $t8,$at,0x2 .NB0f001424: /* f001424: 1060002c */ beqz $v1,.NB0f0014d8 /* f001428: a2580048 */ sb $t8,0x48($s2) /* f00142c: 92590049 */ lbu $t9,0x49($s2) /* f001430: 330200ff */ andi $v0,$t8,0xff /* f001434: 44834000 */ mtc1 $v1,$f8 /* f001438: 03224023 */ subu $t0,$t9,$v0 /* f00143c: 44882000 */ mtc1 $t0,$f4 /* f001440: 468042a0 */ cvt.s.w $f10,$f8 /* f001444: 240a0001 */ addiu $t2,$zero,0x1 /* f001448: 3c014f00 */ lui $at,0x4f00 /* f00144c: 468021a0 */ cvt.s.w $f6,$f4 /* f001450: 460a3403 */ div.s $f16,$f6,$f10 /* f001454: 4449f800 */ cfc1 $t1,$31 /* f001458: 44caf800 */ ctc1 $t2,$31 /* f00145c: 00000000 */ sll $zero,$zero,0x0 /* f001460: 460084a4 */ cvt.w.s $f18,$f16 /* f001464: 444af800 */ cfc1 $t2,$31 /* f001468: 00000000 */ sll $zero,$zero,0x0 /* f00146c: 314a0078 */ andi $t2,$t2,0x78 /* f001470: 51400013 */ beqzl $t2,.NB0f0014c0 /* f001474: 440a9000 */ mfc1 $t2,$f18 /* f001478: 44819000 */ mtc1 $at,$f18 /* f00147c: 240a0001 */ addiu $t2,$zero,0x1 /* f001480: 46128481 */ sub.s $f18,$f16,$f18 /* f001484: 44caf800 */ ctc1 $t2,$31 /* f001488: 00000000 */ sll $zero,$zero,0x0 /* f00148c: 460094a4 */ cvt.w.s $f18,$f18 /* f001490: 444af800 */ cfc1 $t2,$31 /* f001494: 00000000 */ sll $zero,$zero,0x0 /* f001498: 314a0078 */ andi $t2,$t2,0x78 /* f00149c: 15400005 */ bnez $t2,.NB0f0014b4 /* f0014a0: 00000000 */ sll $zero,$zero,0x0 /* f0014a4: 440a9000 */ mfc1 $t2,$f18 /* f0014a8: 3c018000 */ lui $at,0x8000 /* f0014ac: 10000007 */ beqz $zero,.NB0f0014cc /* f0014b0: 01415025 */ or $t2,$t2,$at .NB0f0014b4: /* f0014b4: 10000005 */ beqz $zero,.NB0f0014cc /* f0014b8: 240affff */ addiu $t2,$zero,-1 /* f0014bc: 440a9000 */ mfc1 $t2,$f18 .NB0f0014c0: /* f0014c0: 00000000 */ sll $zero,$zero,0x0 /* f0014c4: 0540fffb */ bltz $t2,.NB0f0014b4 /* f0014c8: 00000000 */ sll $zero,$zero,0x0 .NB0f0014cc: /* f0014cc: 44c9f800 */ ctc1 $t1,$31 /* f0014d0: 10000003 */ beqz $zero,.NB0f0014e0 /* f0014d4: a24a004a */ sb $t2,0x4a($s2) .NB0f0014d8: /* f0014d8: a240004a */ sb $zero,0x4a($s2) /* f0014dc: 92420048 */ lbu $v0,0x48($s2) .NB0f0014e0: /* f0014e0: 28410100 */ slti $at,$v0,0x100 /* f0014e4: 14200002 */ bnez $at,.NB0f0014f0 /* f0014e8: 240b00ff */ addiu $t3,$zero,0xff /* f0014ec: a24b0048 */ sb $t3,0x48($s2) .NB0f0014f0: /* f0014f0: 924c0049 */ lbu $t4,0x49($s2) /* f0014f4: 240d00ff */ addiu $t5,$zero,0xff /* f0014f8: 29810100 */ slti $at,$t4,0x100 /* f0014fc: 54200003 */ bnezl $at,.NB0f00150c /* f001500: 824e0008 */ lb $t6,0x8($s2) /* f001504: a24d0049 */ sb $t5,0x49($s2) /* f001508: 824e0008 */ lb $t6,0x8($s2) .NB0f00150c: /* f00150c: 92420048 */ lbu $v0,0x48($s2) /* f001510: 15c00009 */ bnez $t6,.NB0f001538 /* f001514: a242004c */ sb $v0,0x4c($s2) /* f001518: 92580049 */ lbu $t8,0x49($s2) /* f00151c: 24010005 */ addiu $at,$zero,0x5 /* f001520: 0302c823 */ subu $t9,$t8,$v0 /* f001524: 00194080 */ sll $t0,$t9,0x2 /* f001528: 0101001a */ div $zero,$t0,$at /* f00152c: 00004812 */ mflo $t1 /* f001530: 00495021 */ addu $t2,$v0,$t1 /* f001534: a24a004c */ sb $t2,0x4c($s2) .NB0f001538: /* f001538: 3c02800a */ lui $v0,0x800a /* f00153c: 8c42eb74 */ lw $v0,-0x148c($v0) /* f001540: 24010022 */ addiu $at,$zero,0x22 /* f001544: 10410002 */ beq $v0,$at,.NB0f001550 /* f001548: 24010030 */ addiu $at,$zero,0x30 /* f00154c: 14410004 */ bne $v0,$at,.NB0f001560 .NB0f001550: /* f001550: 2401215c */ addiu $at,$zero,0x215c /* f001554: 16610002 */ bne $s3,$at,.NB0f001560 /* f001558: 240b0002 */ addiu $t3,$zero,0x2 /* f00155c: a24b004c */ sb $t3,0x4c($s2) .NB0f001560: /* f001560: 3c028008 */ lui $v0,0x8008 /* f001564: 8c422460 */ lw $v0,0x2460($v0) /* f001568: 2401001b */ addiu $at,$zero,0x1b /* f00156c: 10410006 */ beq $v0,$at,.NB0f001588 /* f001570: 24010021 */ addiu $at,$zero,0x21 /* f001574: 10410004 */ beq $v0,$at,.NB0f001588 /* f001578: 24010005 */ addiu $at,$zero,0x5 /* f00157c: 50410003 */ beql $v0,$at,.NB0f00158c /* f001580: 24010834 */ addiu $at,$zero,0x834 /* f001584: 14400002 */ bnez $v0,.NB0f001590 .NB0f001588: /* f001588: 24010834 */ addiu $at,$zero,0x834 .NB0f00158c: /* f00158c: 12610017 */ beq $s3,$at,.NB0f0015ec .NB0f001590: /* f001590: 2401001c */ addiu $at,$zero,0x1c /* f001594: 10410004 */ beq $v0,$at,.NB0f0015a8 /* f001598: 2401000e */ addiu $at,$zero,0xe /* f00159c: 10410002 */ beq $v0,$at,.NB0f0015a8 /* f0015a0: 24010023 */ addiu $at,$zero,0x23 /* f0015a4: 14410002 */ bne $v0,$at,.NB0f0015b0 .NB0f0015a8: /* f0015a8: 2401008c */ addiu $at,$zero,0x8c /* f0015ac: 1261000f */ beq $s3,$at,.NB0f0015ec .NB0f0015b0: /* f0015b0: 24010016 */ addiu $at,$zero,0x16 /* f0015b4: 10410002 */ beq $v0,$at,.NB0f0015c0 /* f0015b8: 24010002 */ addiu $at,$zero,0x2 /* f0015bc: 14410002 */ bne $v0,$at,.NB0f0015c8 .NB0f0015c0: /* f0015c0: 24010118 */ addiu $at,$zero,0x118 /* f0015c4: 12610009 */ beq $s3,$at,.NB0f0015ec .NB0f0015c8: /* f0015c8: 24010026 */ addiu $at,$zero,0x26 /* f0015cc: 14410002 */ bne $v0,$at,.NB0f0015d8 /* f0015d0: 2401008c */ addiu $at,$zero,0x8c /* f0015d4: 12610005 */ beq $s3,$at,.NB0f0015ec .NB0f0015d8: /* f0015d8: 24010020 */ addiu $at,$zero,0x20 /* f0015dc: 14410007 */ bne $v0,$at,.NB0f0015fc /* f0015e0: 24013dcc */ addiu $at,$zero,0x3dcc /* f0015e4: 56610006 */ bnel $s3,$at,.NB0f001600 /* f0015e8: 964e0000 */ lhu $t6,0x0($s2) .NB0f0015ec: /* f0015ec: 964c0000 */ lhu $t4,0x0($s2) /* f0015f0: 358d0080 */ ori $t5,$t4,0x80 /* f0015f4: 10000004 */ beqz $zero,.NB0f001608 /* f0015f8: a64d0000 */ sh $t5,0x0($s2) .NB0f0015fc: /* f0015fc: 964e0000 */ lhu $t6,0x0($s2) .NB0f001600: /* f001600: 31d8ff7f */ andi $t8,$t6,0xff7f /* f001604: a6580000 */ sh $t8,0x0($s2) .NB0f001608: /* f001608: 96590000 */ lhu $t9,0x0($s2) /* f00160c: 24040015 */ addiu $a0,$zero,0x15 /* f001610: 37280100 */ ori $t0,$t9,0x100 /* f001614: 0fc40ab9 */ jal cheatIsActive /* f001618: a6480000 */ sh $t0,0x0($s2) /* f00161c: 1040000b */ beqz $v0,.NB0f00164c /* f001620: 3c0d800b */ lui $t5,0x800b /* f001624: 964f0000 */ lhu $t7,0x0($s2) /* f001628: 31e90080 */ andi $t1,$t7,0x80 /* f00162c: 15200007 */ bnez $t1,.NB0f00164c /* f001630: 00000000 */ sll $zero,$zero,0x0 /* f001634: 924a004e */ lbu $t2,0x4e($s2) /* f001638: 44802000 */ mtc1 $zero,$f4 /* f00163c: 314bff0f */ andi $t3,$t2,0xff0f /* f001640: 356c0010 */ ori $t4,$t3,0x10 /* f001644: a24c004e */ sb $t4,0x4e($s2) /* f001648: e6440060 */ swc1 $f4,0x60($s2) .NB0f00164c: /* f00164c: 8dad90a8 */ lw $t5,-0x6f58($t5) /* f001650: 824f0008 */ lb $t7,0x8($s2) /* f001654: 3c08800b */ lui $t0,0x800b /* f001658: 01b37021 */ addu $t6,$t5,$s3 /* f00165c: 95d8000a */ lhu $t8,0xa($t6) /* f001660: 8d089458 */ lw $t0,-0x6ba8($t0) /* f001664: 00008825 */ or $s1,$zero,$zero /* f001668: 0018c900 */ sll $t9,$t8,0x4 /* f00166c: 0338c821 */ addu $t9,$t9,$t8 /* f001670: 0019c840 */ sll $t9,$t9,0x1 /* f001674: 19e0004e */ blez $t7,.NB0f0017b0 /* f001678: 03288021 */ addu $s0,$t9,$t0 .NB0f00167c: /* f00167c: 0fc40ab9 */ jal cheatIsActive /* f001680: 24040015 */ addiu $a0,$zero,0x15 /* f001684: 10400017 */ beqz $v0,.NB0f0016e4 /* f001688: 3c0d800b */ lui $t5,0x800b /* f00168c: 0c004d84 */ jal random /* f001690: a2000004 */ sb $zero,0x4($s0) /* f001694: 30490001 */ andi $t1,$v0,0x1 /* f001698: 51200006 */ beqzl $t1,.NB0f0016b4 /* f00169c: 920d0005 */ lbu $t5,0x5($s0) /* f0016a0: 920b0005 */ lbu $t3,0x5($s0) /* f0016a4: 356c0080 */ ori $t4,$t3,0x80 /* f0016a8: 10000004 */ beqz $zero,.NB0f0016bc /* f0016ac: a20c0005 */ sb $t4,0x5($s0) /* f0016b0: 920d0005 */ lbu $t5,0x5($s0) .NB0f0016b4: /* f0016b4: 31aeff7f */ andi $t6,$t5,0xff7f /* f0016b8: a20e0005 */ sb $t6,0x5($s0) .NB0f0016bc: /* f0016bc: 92180005 */ lbu $t8,0x5($s0) /* f0016c0: 3308ffbf */ andi $t0,$t8,0xffbf /* f0016c4: 310900df */ andi $t1,$t0,0xdf /* f0016c8: a2080005 */ sb $t0,0x5($s0) /* f0016cc: 312b00ef */ andi $t3,$t1,0xef /* f0016d0: a2090005 */ sb $t1,0x5($s0) /* f0016d4: a20b0005 */ sb $t3,0x5($s0) /* f0016d8: 316c00f7 */ andi $t4,$t3,0xf7 /* f0016dc: 1000002e */ beqz $zero,.NB0f001798 /* f0016e0: a20c0005 */ sb $t4,0x5($s0) .NB0f0016e4: /* f0016e4: 8dad90a8 */ lw $t5,-0x6f58($t5) /* f0016e8: 92080005 */ lbu $t0,0x5($s0) /* f0016ec: 3c02800a */ lui $v0,0x800a /* f0016f0: 01b37021 */ addu $t6,$t5,$s3 /* f0016f4: 91d8004a */ lbu $t8,0x4a($t6) /* f0016f8: 350a0080 */ ori $t2,$t0,0x80 /* f0016fc: 354d0040 */ ori $t5,$t2,0x40 /* f001700: a2180004 */ sb $t8,0x4($s0) /* f001704: a20a0005 */ sb $t2,0x5($s0) /* f001708: 35b80020 */ ori $t8,$t5,0x20 /* f00170c: a20d0005 */ sb $t5,0x5($s0) /* f001710: 330f00ef */ andi $t7,$t8,0xef /* f001714: a2180005 */ sb $t8,0x5($s0) /* f001718: a20f0005 */ sb $t7,0x5($s0) /* f00171c: 35e90008 */ ori $t1,$t7,0x8 /* f001720: a2090005 */ sb $t1,0x5($s0) /* f001724: 8c42eb74 */ lw $v0,-0x148c($v0) /* f001728: 24010022 */ addiu $at,$zero,0x22 /* f00172c: 10410010 */ beq $v0,$at,.NB0f001770 /* f001730: 24010026 */ addiu $at,$zero,0x26 /* f001734: 10410007 */ beq $v0,$at,.NB0f001754 /* f001738: 2401002d */ addiu $at,$zero,0x2d /* f00173c: 10410005 */ beq $v0,$at,.NB0f001754 /* f001740: 24010030 */ addiu $at,$zero,0x30 /* f001744: 5041000b */ beql $v0,$at,.NB0f001774 /* f001748: 240121e8 */ addiu $at,$zero,0x21e8 /* f00174c: 10000013 */ beqz $zero,.NB0f00179c /* f001750: 824e0008 */ lb $t6,0x8($s2) .NB0f001754: /* f001754: 24010578 */ addiu $at,$zero,0x578 /* f001758: 56610010 */ bnel $s3,$at,.NB0f00179c /* f00175c: 824e0008 */ lb $t6,0x8($s2) /* f001760: 920a0005 */ lbu $t2,0x5($s0) /* f001764: 314bfff7 */ andi $t3,$t2,0xfff7 /* f001768: 1000000b */ beqz $zero,.NB0f001798 /* f00176c: a20b0005 */ sb $t3,0x5($s0) .NB0f001770: /* f001770: 240121e8 */ addiu $at,$zero,0x21e8 .NB0f001774: /* f001774: 56610009 */ bnel $s3,$at,.NB0f00179c /* f001778: 824e0008 */ lb $t6,0x8($s2) /* f00177c: 12200003 */ beqz $s1,.NB0f00178c /* f001780: 24010001 */ addiu $at,$zero,0x1 /* f001784: 56210005 */ bnel $s1,$at,.NB0f00179c /* f001788: 824e0008 */ lb $t6,0x8($s2) .NB0f00178c: /* f00178c: 920c0005 */ lbu $t4,0x5($s0) /* f001790: 318dfff7 */ andi $t5,$t4,0xfff7 /* f001794: a20d0005 */ sb $t5,0x5($s0) .NB0f001798: /* f001798: 824e0008 */ lb $t6,0x8($s2) .NB0f00179c: /* f00179c: 26310001 */ addiu $s1,$s1,0x1 /* f0017a0: 26100022 */ addiu $s0,$s0,0x22 /* f0017a4: 022e082a */ slt $at,$s1,$t6 /* f0017a8: 1420ffb4 */ bnez $at,.NB0f00167c /* f0017ac: 00000000 */ sll $zero,$zero,0x0 .NB0f0017b0: /* f0017b0: 8fbf0024 */ lw $ra,0x24($sp) /* f0017b4: 8fb00014 */ lw $s0,0x14($sp) /* f0017b8: 8fb10018 */ lw $s1,0x18($sp) /* f0017bc: 8fb2001c */ lw $s2,0x1c($sp) /* f0017c0: 8fb30020 */ lw $s3,0x20($sp) /* f0017c4: 03e00008 */ jr $ra /* f0017c8: 27bd0028 */ addiu $sp,$sp,0x28 ); #endif GLOBAL_ASM( glabel func0f001734 /* f001734: 27bdff48 */ addiu $sp,$sp,-184 /* f001738: afbf006c */ sw $ra,0x6c($sp) /* f00173c: afbe0068 */ sw $s8,0x68($sp) /* f001740: afb70064 */ sw $s7,0x64($sp) /* f001744: afb60060 */ sw $s6,0x60($sp) /* f001748: afb5005c */ sw $s5,0x5c($sp) /* f00174c: afb40058 */ sw $s4,0x58($sp) /* f001750: afb30054 */ sw $s3,0x54($sp) /* f001754: afb20050 */ sw $s2,0x50($sp) /* f001758: afb1004c */ sw $s1,0x4c($sp) /* f00175c: 10c0000f */ beqz $a2,.L0f00179c /* f001760: afb00048 */ sw $s0,0x48($sp) /* f001764: 3c1e800a */ lui $s8,%hi(g_Rooms) /* f001768: 0006b8c0 */ sll $s7,$a2,0x3 /* f00176c: 02e6b821 */ addu $s7,$s7,$a2 /* f001770: 27de4928 */ addiu $s8,$s8,%lo(g_Rooms) /* f001774: 8fce0000 */ lw $t6,0x0($s8) /* f001778: 0017b880 */ sll $s7,$s7,0x2 /* f00177c: 02e6b823 */ subu $s7,$s7,$a2 /* f001780: 0017b880 */ sll $s7,$s7,0x2 /* f001784: 01d77821 */ addu $t7,$t6,$s7 /* f001788: 81f80008 */ lb $t8,0x8($t7) /* f00178c: 00064080 */ sll $t0,$a2,0x2 /* f001790: 01064021 */ addu $t0,$t0,$a2 /* f001794: 17000003 */ bnez $t8,.L0f0017a4 /* f001798: 3c19800a */ lui $t9,%hi(g_BgRooms) .L0f00179c: /* f00179c: 100000a5 */ b .L0f001a34 /* f0017a0: 00001025 */ or $v0,$zero,$zero .L0f0017a4: /* 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 /* f0017b4: c4460004 */ lwc1 $f6,0x4($v0) /* f0017b8: 46062201 */ sub.s $f8,$f4,$f6 /* f0017bc: e7a800a4 */ swc1 $f8,0xa4($sp) /* f0017c0: c4500008 */ lwc1 $f16,0x8($v0) /* f0017c4: c48a0004 */ lwc1 $f10,0x4($a0) /* f0017c8: 46105481 */ sub.s $f18,$f10,$f16 /* f0017cc: e7b200a8 */ swc1 $f18,0xa8($sp) /* f0017d0: c446000c */ lwc1 $f6,0xc($v0) /* f0017d4: c4840008 */ lwc1 $f4,0x8($a0) /* f0017d8: 46062201 */ sub.s $f8,$f4,$f6 /* f0017dc: e7a800ac */ swc1 $f8,0xac($sp) /* f0017e0: c4500004 */ lwc1 $f16,0x4($v0) /* f0017e4: c4aa0000 */ lwc1 $f10,0x0($a1) /* f0017e8: 46105481 */ sub.s $f18,$f10,$f16 /* f0017ec: e7b20098 */ swc1 $f18,0x98($sp) /* f0017f0: c4460008 */ lwc1 $f6,0x8($v0) /* f0017f4: c4a40004 */ lwc1 $f4,0x4($a1) /* f0017f8: 46062201 */ sub.s $f8,$f4,$f6 /* f0017fc: c7a600a4 */ lwc1 $f6,0xa4($sp) /* f001800: c7a40098 */ lwc1 $f4,0x98($sp) /* f001804: e7a8009c */ swc1 $f8,0x9c($sp) /* f001808: c450000c */ lwc1 $f16,0xc($v0) /* f00180c: c4aa0008 */ lwc1 $f10,0x8($a1) /* f001810: 46062201 */ sub.s $f8,$f4,$f6 /* f001814: c7a600ac */ lwc1 $f6,0xac($sp) /* f001818: afa600c0 */ sw $a2,0xc0($sp) /* f00181c: 46105481 */ sub.s $f18,$f10,$f16 /* f001820: c7b000a8 */ lwc1 $f16,0xa8($sp) /* f001824: c7aa009c */ lwc1 $f10,0x9c($sp) /* f001828: e7a8008c */ swc1 $f8,0x8c($sp) /* f00182c: e7b200a0 */ swc1 $f18,0xa0($sp) /* f001830: 46105481 */ sub.s $f18,$f10,$f16 /* f001834: c7a400a0 */ lwc1 $f4,0xa0($sp) /* f001838: 46084402 */ mul.s $f16,$f8,$f8 /* f00183c: 46062281 */ sub.s $f10,$f4,$f6 /* f001840: 46129102 */ mul.s $f4,$f18,$f18 /* f001844: e7b20090 */ swc1 $f18,0x90($sp) /* f001848: 460a5202 */ mul.s $f8,$f10,$f10 /* f00184c: e7aa0094 */ swc1 $f10,0x94($sp) /* f001850: 46048180 */ add.s $f6,$f16,$f4 /* f001854: 0c012974 */ jal sqrtf /* f001858: 46083300 */ add.s $f12,$f6,$f8 /* f00185c: 3c014000 */ lui $at,0x4000 /* f001860: 44819000 */ mtc1 $at,$f18 /* f001864: c7b0008c */ lwc1 $f16,0x8c($sp) /* f001868: c7aa0090 */ lwc1 $f10,0x90($sp) /* 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_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 /* f00188c: 27b50098 */ addiu $s5,$sp,0x98 /* f001890: 27b400a4 */ addiu $s4,$sp,0xa4 /* f001894: 46028102 */ mul.s $f4,$f16,$f2 /* f001898: c7b00098 */ lwc1 $f16,0x98($sp) /* f00189c: 46025182 */ mul.s $f6,$f10,$f2 /* f0018a0: 00000000 */ nop /* f0018a4: 46024482 */ mul.s $f18,$f8,$f2 /* f0018a8: e7a4008c */ swc1 $f4,0x8c($sp) /* f0018ac: 46048280 */ add.s $f10,$f16,$f4 /* f0018b0: c7a8009c */ lwc1 $f8,0x9c($sp) /* f0018b4: c7a400a0 */ lwc1 $f4,0xa0($sp) /* f0018b8: e7a60090 */ swc1 $f6,0x90($sp) /* f0018bc: e7aa0098 */ swc1 $f10,0x98($sp) /* f0018c0: 46064400 */ add.s $f16,$f8,$f6 /* f0018c4: e7b20094 */ swc1 $f18,0x94($sp) /* f0018c8: 46122280 */ add.s $f10,$f4,$f18 /* f0018cc: e7b0009c */ swc1 $f16,0x9c($sp) /* f0018d0: e7aa00a0 */ swc1 $f10,0xa0($sp) /* f0018d4: 944a000a */ lhu $t2,0xa($v0) /* f0018d8: 804d0008 */ lb $t5,0x8($v0) /* f0018dc: 000a5900 */ sll $t3,$t2,0x4 /* f0018e0: 016a5821 */ addu $t3,$t3,$t2 /* f0018e4: 000b5840 */ sll $t3,$t3,0x1 /* f0018e8: 19a00051 */ blez $t5,.L0f001a30 /* f0018ec: 016c8021 */ addu $s0,$t3,$t4 /* f0018f0: 96020004 */ lhu $v0,0x4($s0) .L0f0018f4: /* f0018f4: 00027e40 */ sll $t7,$v0,0x19 /* f0018f8: 05e10045 */ bgez $t7,.L0f001a10 /* f0018fc: 0002cf00 */ sll $t9,$v0,0x1c /* f001900: 07210043 */ bgez $t9,.L0f001a10 /* f001904: 2604000a */ addiu $a0,$s0,0xa /* f001908: 26110010 */ addiu $s1,$s0,0x10 /* f00190c: 2612001c */ addiu $s2,$s0,0x1c /* f001910: 02403025 */ or $a2,$s2,$zero /* f001914: 02202825 */ or $a1,$s1,$zero /* f001918: 00003825 */ or $a3,$zero,$zero /* f00191c: afb40010 */ sw $s4,0x10($sp) /* f001920: afb50014 */ sw $s5,0x14($sp) /* f001924: afb60018 */ sw $s6,0x18($sp) /* f001928: afa0001c */ sw $zero,0x1c($sp) /* f00192c: 0c00bd24 */ jal func0002f490 /* f001930: afa00020 */ sw $zero,0x20($sp) /* f001934: 1440000c */ bnez $v0,.L0f001968 /* f001938: 02202025 */ or $a0,$s1,$zero /* f00193c: 26050016 */ addiu $a1,$s0,0x16 /* f001940: 02403025 */ or $a2,$s2,$zero /* f001944: 00003825 */ or $a3,$zero,$zero /* f001948: afb40010 */ sw $s4,0x10($sp) /* f00194c: afb50014 */ sw $s5,0x14($sp) /* f001950: afb60018 */ sw $s6,0x18($sp) /* f001954: afa0001c */ sw $zero,0x1c($sp) /* f001958: 0c00bd24 */ jal func0002f490 /* f00195c: afa00020 */ sw $zero,0x20($sp) /* f001960: 5040002c */ beqzl $v0,.L0f001a14 /* f001964: 8fcf0000 */ lw $t7,0x0($s8) .L0f001968: /* f001968: 8608000a */ lh $t0,0xa($s0) /* f00196c: 8fa400c0 */ lw $a0,0xc0($sp) /* f001970: 02602825 */ or $a1,$s3,$zero /* f001974: 44884000 */ mtc1 $t0,$f8 /* f001978: 00000000 */ nop /* f00197c: 468041a0 */ cvt.s.w $f6,$f8 /* f001980: e7a6007c */ swc1 $f6,0x7c($sp) /* f001984: 8609000c */ lh $t1,0xc($s0) /* f001988: 44898000 */ mtc1 $t1,$f16 /* f00198c: 00000000 */ nop /* f001990: 46808120 */ cvt.s.w $f4,$f16 /* f001994: e7a40080 */ swc1 $f4,0x80($sp) /* f001998: 860a000e */ lh $t2,0xe($s0) /* f00199c: 448a9000 */ mtc1 $t2,$f18 /* f0019a0: 00000000 */ nop /* f0019a4: 468092a0 */ cvt.s.w $f10,$f18 /* f0019a8: 0fc006de */ jal roomSetLightBroken /* f0019ac: e7aa0084 */ swc1 $f10,0x84($sp) /* f0019b0: 3c01bf80 */ lui $at,0xbf80 /* f0019b4: 44810000 */ mtc1 $at,$f0 /* f0019b8: 8fae00c0 */ lw $t6,0xc0($sp) /* f0019bc: 240bffff */ addiu $t3,$zero,-1 /* f0019c0: 240c0400 */ addiu $t4,$zero,0x400 /* f0019c4: 27ad007c */ addiu $t5,$sp,0x7c /* f0019c8: afad0020 */ sw $t5,0x20($sp) /* f0019cc: afac0014 */ sw $t4,0x14($sp) /* f0019d0: afab0010 */ sw $t3,0x10($sp) /* f0019d4: 00002025 */ or $a0,$zero,$zero /* f0019d8: 00002825 */ or $a1,$zero,$zero /* f0019dc: 24068077 */ addiu $a2,$zero,-32649 /* f0019e0: 2407ffff */ addiu $a3,$zero,-1 /* f0019e4: afa00018 */ sw $zero,0x18($sp) /* f0019e8: afa0001c */ sw $zero,0x1c($sp) /* f0019ec: afa00028 */ sw $zero,0x28($sp) /* f0019f0: afae002c */ sw $t6,0x2c($sp) /* f0019f4: e7a00024 */ swc1 $f0,0x24($sp) /* f0019f8: e7a00030 */ swc1 $f0,0x30($sp) /* f0019fc: e7a00034 */ swc1 $f0,0x34($sp) /* f001a00: 0fc24e7e */ jal func0f0939f8 /* f001a04: e7a00038 */ swc1 $f0,0x38($sp) /* f001a08: 1000000a */ b .L0f001a34 /* f001a0c: 24020001 */ addiu $v0,$zero,0x1 .L0f001a10: /* f001a10: 8fcf0000 */ lw $t7,0x0($s8) .L0f001a14: /* f001a14: 26730001 */ addiu $s3,$s3,0x1 /* f001a18: 26100022 */ addiu $s0,$s0,0x22 /* f001a1c: 01f7c021 */ addu $t8,$t7,$s7 /* f001a20: 83190008 */ lb $t9,0x8($t8) /* f001a24: 0279082a */ slt $at,$s3,$t9 /* f001a28: 5420ffb2 */ bnezl $at,.L0f0018f4 /* f001a2c: 96020004 */ lhu $v0,0x4($s0) .L0f001a30: /* f001a30: 00001025 */ or $v0,$zero,$zero .L0f001a34: /* f001a34: 8fbf006c */ lw $ra,0x6c($sp) /* f001a38: 8fb00048 */ lw $s0,0x48($sp) /* f001a3c: 8fb1004c */ lw $s1,0x4c($sp) /* f001a40: 8fb20050 */ lw $s2,0x50($sp) /* f001a44: 8fb30054 */ lw $s3,0x54($sp) /* f001a48: 8fb40058 */ lw $s4,0x58($sp) /* f001a4c: 8fb5005c */ lw $s5,0x5c($sp) /* f001a50: 8fb60060 */ lw $s6,0x60($sp) /* f001a54: 8fb70064 */ lw $s7,0x64($sp) /* f001a58: 8fbe0068 */ lw $s8,0x68($sp) /* f001a5c: 03e00008 */ jr $ra /* f001a60: 27bd00b8 */ addiu $sp,$sp,0xb8 ); void roomSetLightsFaulty(s32 roomnum, s32 chance) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22]; s32 i; if (g_Rooms[roomnum].numlights) { for (i = 0; i < g_Rooms[roomnum].numlights; i++) { if ((random() % 100) < chance) { light->healthy = false; light->on = false; } light++; } } #if VERSION >= VERSION_NTSC_1_0 g_Rooms[roomnum].unk4c = 50; #else g_Rooms[roomnum].unk4c = 15; #endif g_Rooms[roomnum].flags |= ROOMFLAG_DIRTY; } void roomSetLightBroken(s32 roomnum, s32 lightnum) { struct light *light = roomGetLight(roomnum, lightnum); light->healthy = false; light->on = false; g_Rooms[roomnum].flags |= ROOMFLAG_DIRTY; } void func0f001bdc(void) { if (var80061444) { func0f004c6c(); } } GLOBAL_ASM( glabel func0f001c0c /* f001c0c: 27bdff90 */ addiu $sp,$sp,-112 /* f001c10: afbf003c */ sw $ra,0x3c($sp) /* f001c14: afbe0038 */ sw $s8,0x38($sp) /* f001c18: afb70034 */ sw $s7,0x34($sp) /* f001c1c: afb60030 */ sw $s6,0x30($sp) /* f001c20: afb5002c */ sw $s5,0x2c($sp) /* f001c24: afb40028 */ sw $s4,0x28($sp) /* f001c28: afb30024 */ sw $s3,0x24($sp) /* f001c2c: afb20020 */ sw $s2,0x20($sp) /* f001c30: afb1001c */ sw $s1,0x1c($sp) /* f001c34: 0c012144 */ jal osGetCount /* f001c38: afb00018 */ sw $s0,0x18($sp) /* f001c3c: 3c018006 */ lui $at,%hi(var80061440) /* f001c40: 0fc008ee */ jal func0f0023b8 /* f001c44: ac201440 */ sw $zero,%lo(var80061440)($at) /* 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) /* f001c5c: 000070c0 */ sll $t6,$zero,0x3 /* f001c60: ae000000 */ sw $zero,0x0($s0) /* f001c64: 006e7821 */ addu $t7,$v1,$t6 /* f001c68: 95f80000 */ lhu $t8,0x0($t7) /* f001c6c: 00001025 */ or $v0,$zero,$zero /* f001c70: 3c04800a */ lui $a0,%hi(g_Vars+0x2bc) /* f001c74: 13000008 */ beqz $t8,.L0f001c98 /* f001c78: 24590001 */ addiu $t9,$v0,0x1 .L0f001c7c: /* f001c7c: 001940c0 */ sll $t0,$t9,0x3 /* f001c80: 00684821 */ addu $t1,$v1,$t0 /* f001c84: ae190000 */ sw $t9,0x0($s0) /* f001c88: 952a0000 */ lhu $t2,0x0($t1) /* f001c8c: 03201025 */ or $v0,$t9,$zero /* f001c90: 5540fffa */ bnezl $t2,.L0f001c7c /* f001c94: 24590001 */ addiu $t9,$v0,0x1 .L0f001c98: /* f001c98: 50400125 */ beqzl $v0,.L0f002130 /* f001c9c: 8fbf003c */ lw $ra,0x3c($sp) /* f001ca0: 8c84a27c */ lw $a0,%lo(g_Vars+0x2bc)($a0) /* f001ca4: 00045880 */ sll $t3,$a0,0x2 /* f001ca8: 0fc5db69 */ jal align16 /* f001cac: 01602025 */ or $a0,$t3,$zero /* f001cb0: 8e040000 */ lw $a0,0x0($s0) /* f001cb4: 00409825 */ or $s3,$v0,$zero /* f001cb8: 00046080 */ sll $t4,$a0,0x2 /* f001cbc: 0fc5db69 */ jal align16 /* f001cc0: 01802025 */ or $a0,$t4,$zero /* f001cc4: 3c04800a */ lui $a0,%hi(g_Vars+0x2bc) /* f001cc8: 8c84a27c */ lw $a0,%lo(g_Vars+0x2bc)($a0) /* f001ccc: 0040a025 */ or $s4,$v0,$zero /* f001cd0: 00046880 */ sll $t5,$a0,0x2 /* f001cd4: 0fc5db69 */ jal align16 /* f001cd8: 01a02025 */ or $a0,$t5,$zero /* f001cdc: 3c16800a */ lui $s6,%hi(var8009cae0) /* f001ce0: 26d6cae0 */ addiu $s6,$s6,%lo(var8009cae0) /* f001ce4: 8ec30000 */ lw $v1,0x0($s6) /* f001ce8: 0040f025 */ or $s8,$v0,$zero /* f001cec: 00630019 */ multu $v1,$v1 /* f001cf0: 00002012 */ mflo $a0 /* f001cf4: 0fc5db69 */ jal align16 /* f001cf8: 00000000 */ nop /* f001cfc: 3c04800a */ lui $a0,%hi(g_Vars+0x2bc) /* f001d00: 8c84a27c */ lw $a0,%lo(g_Vars+0x2bc)($a0) /* f001d04: 00409025 */ or $s2,$v0,$zero /* f001d08: 000470c0 */ sll $t6,$a0,0x3 /* f001d0c: 0fc5db69 */ jal align16 /* f001d10: 01c02025 */ or $a0,$t6,$zero /* f001d14: 0c0048b8 */ jal mempGetStageFree /* f001d18: afa20068 */ sw $v0,0x68($sp) /* f001d1c: 0fc5d820 */ jal func0f176080 /* f001d20: 00000000 */ nop /* f001d24: 00531821 */ addu $v1,$v0,$s3 /* f001d28: 3c118006 */ lui $s1,%hi(var80061438) /* f001d2c: 3c018006 */ lui $at,%hi(var80061434) /* f001d30: 00743021 */ addu $a2,$v1,$s4 /* f001d34: 26311438 */ addiu $s1,$s1,%lo(var80061438) /* f001d38: ac221434 */ sw $v0,%lo(var80061434)($at) /* f001d3c: 00de3821 */ addu $a3,$a2,$s8 /* f001d40: ae230000 */ sw $v1,0x0($s1) /* f001d44: afa60044 */ sw $a2,0x44($sp) /* f001d48: afa70048 */ sw $a3,0x48($sp) /* f001d4c: 00f2a821 */ addu $s5,$a3,$s2 /* f001d50: 8fa40068 */ lw $a0,0x68($sp) /* f001d54: 0c0048f2 */ jal mempAlloc /* f001d58: 24050004 */ addiu $a1,$zero,0x4 /* f001d5c: 8e0f0000 */ lw $t7,0x0($s0) /* f001d60: 3c148006 */ lui $s4,%hi(var80061420) /* f001d64: 26941420 */ addiu $s4,$s4,%lo(var80061420) /* f001d68: ae820000 */ sw $v0,0x0($s4) /* f001d6c: 19e00019 */ blez $t7,.L0f001dd4 /* f001d70: 00009825 */ or $s3,$zero,$zero /* f001d74: 00009025 */ or $s2,$zero,$zero /* f001d78: 00001825 */ or $v1,$zero,$zero /* f001d7c: 24040001 */ addiu $a0,$zero,0x1 .L0f001d80: /* f001d80: 8ef80000 */ lw $t8,0x0($s7) /* f001d84: 0312c821 */ addu $t9,$t8,$s2 /* f001d88: 93220006 */ lbu $v0,0x6($t9) /* f001d8c: 30480001 */ andi $t0,$v0,0x1 /* f001d90: 11000007 */ beqz $t0,.L0f001db0 /* f001d94: 30490004 */ andi $t1,$v0,0x4 /* f001d98: 55200006 */ bnezl $t1,.L0f001db4 /* f001d9c: 8e2c0000 */ lw $t4,0x0($s1) /* f001da0: 8e2a0000 */ lw $t2,0x0($s1) /* f001da4: 01435821 */ addu $t3,$t2,$v1 /* f001da8: 10000004 */ b .L0f001dbc /* f001dac: ad600000 */ sw $zero,0x0($t3) .L0f001db0: /* f001db0: 8e2c0000 */ lw $t4,0x0($s1) .L0f001db4: /* f001db4: 01836821 */ addu $t5,$t4,$v1 /* f001db8: ada40000 */ sw $a0,0x0($t5) .L0f001dbc: /* f001dbc: 8e0e0000 */ lw $t6,0x0($s0) /* f001dc0: 26730001 */ addiu $s3,$s3,0x1 /* f001dc4: 26520008 */ addiu $s2,$s2,0x8 /* f001dc8: 026e082a */ slt $at,$s3,$t6 /* f001dcc: 1420ffec */ bnez $at,.L0f001d80 /* f001dd0: 24630004 */ addiu $v1,$v1,0x4 .L0f001dd4: /* f001dd4: 3c02800a */ lui $v0,%hi(g_Vars+0x4b4) /* f001dd8: 8c42a474 */ lw $v0,%lo(g_Vars+0x4b4)($v0) /* f001ddc: 24010022 */ addiu $at,$zero,0x22 /* f001de0: 10410003 */ beq $v0,$at,.L0f001df0 /* f001de4: 24010030 */ addiu $at,$zero,0x30 /* f001de8: 14410005 */ bne $v0,$at,.L0f001e00 /* f001dec: 00000000 */ nop .L0f001df0: /* f001df0: 8e2f0000 */ lw $t7,0x0($s1) /* f001df4: ade00188 */ sw $zero,0x188($t7) /* f001df8: 8e380000 */ lw $t8,0x0($s1) /* f001dfc: af000190 */ sw $zero,0x190($t8) .L0f001e00: /* f001e00: 0fc00857 */ jal func0f00215c /* f001e04: 8fa40048 */ lw $a0,0x48($sp) /* f001e08: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001e0c: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001e10: 24130001 */ addiu $s3,$zero,0x1 /* f001e14: 0000f025 */ or $s8,$zero,$zero /* f001e18: 28a10002 */ slti $at,$a1,0x2 /* f001e1c: 14200016 */ bnez $at,.L0f001e78 /* f001e20: 00000000 */ nop /* f001e24: 8fb10044 */ lw $s1,0x44($sp) /* f001e28: 26310004 */ addiu $s1,$s1,0x4 .L0f001e2c: /* f001e2c: 8ed90000 */ lw $t9,0x0($s6) /* f001e30: 8fa80048 */ lw $t0,0x48($sp) /* f001e34: 24070001 */ addiu $a3,$zero,0x1 /* f001e38: 02790019 */ multu $s3,$t9 /* f001e3c: 00001012 */ mflo $v0 /* f001e40: 00553021 */ addu $a2,$v0,$s5 /* f001e44: 0fc5de95 */ jal func0f177a54 /* f001e48: 00482021 */ addu $a0,$v0,$t0 /* f001e4c: ae220000 */ sw $v0,0x0($s1) /* f001e50: 0fc5db62 */ jal align4 /* f001e54: 00402025 */ or $a0,$v0,$zero /* f001e58: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001e5c: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001e60: 26730001 */ addiu $s3,$s3,0x1 /* f001e64: 26310004 */ addiu $s1,$s1,0x4 /* f001e68: 0265082a */ slt $at,$s3,$a1 /* f001e6c: 1420ffef */ bnez $at,.L0f001e2c /* f001e70: 03c2f021 */ addu $s8,$s8,$v0 /* f001e74: 24130001 */ addiu $s3,$zero,0x1 .L0f001e78: /* f001e78: 0fc5db69 */ jal align16 /* f001e7c: 03c02025 */ or $a0,$s8,$zero /* f001e80: 00402025 */ or $a0,$v0,$zero /* f001e84: 0c0048f2 */ jal mempAlloc /* f001e88: 24050004 */ addiu $a1,$zero,0x4 /* f001e8c: 03c02025 */ or $a0,$s8,$zero /* f001e90: 0040b825 */ or $s7,$v0,$zero /* f001e94: 0fc5db69 */ jal align16 /* f001e98: 0000f025 */ or $s8,$zero,$zero /* f001e9c: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001ea0: 8fa90068 */ lw $t1,0x68($sp) /* f001ea4: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001ea8: 00001825 */ or $v1,$zero,$zero /* f001eac: 01225021 */ addu $t2,$t1,$v0 /* f001eb0: 28a10002 */ slti $at,$a1,0x2 /* f001eb4: 14200029 */ bnez $at,.L0f001f5c /* f001eb8: afaa0068 */ sw $t2,0x68($sp) /* f001ebc: 8fb10044 */ lw $s1,0x44($sp) /* f001ec0: 24120008 */ addiu $s2,$zero,0x8 /* f001ec4: 26310004 */ addiu $s1,$s1,0x4 .L0f001ec8: /* f001ec8: 8e240000 */ lw $a0,0x0($s1) /* f001ecc: afa30054 */ sw $v1,0x54($sp) /* f001ed0: 0fc5db62 */ jal align4 /* f001ed4: 00008025 */ or $s0,$zero,$zero /* f001ed8: 8e8b0000 */ lw $t3,0x0($s4) /* f001edc: 8fa30054 */ lw $v1,0x54($sp) /* f001ee0: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001ee4: 01726021 */ addu $t4,$t3,$s2 /* f001ee8: ad970000 */ sw $s7,0x0($t4) /* f001eec: 8e2d0000 */ lw $t5,0x0($s1) /* f001ef0: 02e2b821 */ addu $s7,$s7,$v0 /* f001ef4: 00621821 */ addu $v1,$v1,$v0 /* f001ef8: 19a00011 */ blez $t5,.L0f001f40 /* f001efc: 00000000 */ nop /* f001f00: 8ece0000 */ lw $t6,0x0($s6) .L0f001f04: /* f001f04: 8e890000 */ lw $t1,0x0($s4) /* f001f08: 026e0019 */ multu $s3,$t6 /* f001f0c: 01325021 */ addu $t2,$t1,$s2 /* f001f10: 8d4b0000 */ lw $t3,0x0($t2) /* f001f14: 01706021 */ addu $t4,$t3,$s0 /* f001f18: 00007812 */ mflo $t7 /* f001f1c: 01f5c021 */ addu $t8,$t7,$s5 /* f001f20: 0310c821 */ addu $t9,$t8,$s0 /* f001f24: 93280000 */ lbu $t0,0x0($t9) /* f001f28: 26100001 */ addiu $s0,$s0,0x1 /* f001f2c: a1880000 */ sb $t0,0x0($t4) /* f001f30: 8e2d0000 */ lw $t5,0x0($s1) /* f001f34: 020d082a */ slt $at,$s0,$t5 /* f001f38: 5420fff2 */ bnezl $at,.L0f001f04 /* f001f3c: 8ece0000 */ lw $t6,0x0($s6) .L0f001f40: /* f001f40: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001f44: 26730001 */ addiu $s3,$s3,0x1 /* f001f48: 26520008 */ addiu $s2,$s2,0x8 /* f001f4c: 0265082a */ slt $at,$s3,$a1 /* f001f50: 1420ffdd */ bnez $at,.L0f001ec8 /* f001f54: 26310004 */ addiu $s1,$s1,0x4 /* f001f58: 24130001 */ addiu $s3,$zero,0x1 .L0f001f5c: /* f001f5c: 28a10002 */ slti $at,$a1,0x2 /* f001f60: 14200017 */ bnez $at,.L0f001fc0 /* f001f64: 8fb10044 */ lw $s1,0x44($sp) /* f001f68: 8fb00048 */ lw $s0,0x48($sp) /* f001f6c: 26310004 */ addiu $s1,$s1,0x4 /* f001f70: 26100001 */ addiu $s0,$s0,0x1 .L0f001f74: /* f001f74: 8ec70000 */ lw $a3,0x0($s6) /* f001f78: 02002025 */ or $a0,$s0,$zero /* f001f7c: 02670019 */ multu $s3,$a3 /* f001f80: 00007012 */ mflo $t6 /* f001f84: 01d53021 */ addu $a2,$t6,$s5 /* f001f88: 0fc5de95 */ jal func0f177a54 /* f001f8c: 00000000 */ nop /* f001f90: ae220000 */ sw $v0,0x0($s1) /* f001f94: 0fc5db62 */ jal align4 /* f001f98: 00402025 */ or $a0,$v0,$zero /* f001f9c: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001fa0: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001fa4: 26730001 */ addiu $s3,$s3,0x1 /* f001fa8: 26310004 */ addiu $s1,$s1,0x4 /* f001fac: 0265082a */ slt $at,$s3,$a1 /* f001fb0: 26100001 */ addiu $s0,$s0,0x1 /* f001fb4: 1420ffef */ bnez $at,.L0f001f74 /* f001fb8: 03c2f021 */ addu $s8,$s8,$v0 /* f001fbc: 24130001 */ addiu $s3,$zero,0x1 .L0f001fc0: /* f001fc0: 0fc5db69 */ jal align16 /* f001fc4: 03c02025 */ or $a0,$s8,$zero /* f001fc8: 00402025 */ or $a0,$v0,$zero /* f001fcc: 0c0048f2 */ jal mempAlloc /* f001fd0: 24050004 */ addiu $a1,$zero,0x4 /* f001fd4: 0040b825 */ or $s7,$v0,$zero /* f001fd8: 0fc5db69 */ jal align16 /* f001fdc: 03c02025 */ or $a0,$s8,$zero /* f001fe0: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f001fe4: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f001fe8: 8fb10044 */ lw $s1,0x44($sp) /* f001fec: 28a10002 */ slti $at,$a1,0x2 /* f001ff0: 14200024 */ bnez $at,.L0f002084 /* f001ff4: 26310004 */ addiu $s1,$s1,0x4 /* f001ff8: 24120008 */ addiu $s2,$zero,0x8 .L0f001ffc: /* f001ffc: 8e8f0000 */ lw $t7,0x0($s4) /* f002000: 00008025 */ or $s0,$zero,$zero /* f002004: 01f2c021 */ addu $t8,$t7,$s2 /* f002008: af170004 */ sw $s7,0x4($t8) /* f00200c: 0fc5db62 */ jal align4 /* f002010: 8e240000 */ lw $a0,0x0($s1) /* f002014: 8e390000 */ lw $t9,0x0($s1) /* f002018: 3c05800a */ lui $a1,%hi(g_Vars+0x2bc) /* f00201c: 02e2b821 */ addu $s7,$s7,$v0 /* f002020: 1b200011 */ blez $t9,.L0f002068 /* f002024: 00000000 */ nop /* f002028: 8ec90000 */ lw $t1,0x0($s6) .L0f00202c: /* f00202c: 8e8d0000 */ lw $t5,0x0($s4) /* f002030: 02690019 */ multu $s3,$t1 /* f002034: 01b27021 */ addu $t6,$t5,$s2 /* f002038: 8dcf0004 */ lw $t7,0x4($t6) /* f00203c: 01f0c021 */ addu $t8,$t7,$s0 /* f002040: 00005012 */ mflo $t2 /* f002044: 01555821 */ addu $t3,$t2,$s5 /* f002048: 01704021 */ addu $t0,$t3,$s0 /* f00204c: 910c0000 */ lbu $t4,0x0($t0) /* f002050: 26100001 */ addiu $s0,$s0,0x1 /* f002054: a30c0000 */ sb $t4,0x0($t8) /* f002058: 8e390000 */ lw $t9,0x0($s1) /* f00205c: 0219082a */ slt $at,$s0,$t9 /* f002060: 5420fff2 */ bnezl $at,.L0f00202c /* f002064: 8ec90000 */ lw $t1,0x0($s6) .L0f002068: /* f002068: 8ca5a27c */ lw $a1,%lo(g_Vars+0x2bc)($a1) /* f00206c: 26730001 */ addiu $s3,$s3,0x1 /* f002070: 26520008 */ addiu $s2,$s2,0x8 /* f002074: 0265082a */ slt $at,$s3,$a1 /* f002078: 1420ffe0 */ bnez $at,.L0f001ffc /* f00207c: 26310004 */ addiu $s1,$s1,0x4 /* f002080: 24130001 */ addiu $s3,$zero,0x1 .L0f002084: /* f002084: 28a10002 */ slti $at,$a1,0x2 /* f002088: 14200010 */ bnez $at,.L0f0020cc /* f00208c: 2402008c */ addiu $v0,$zero,0x8c /* f002090: 3c10800a */ lui $s0,%hi(g_Rooms) /* f002094: 26104928 */ addiu $s0,$s0,%lo(g_Rooms) /* f002098: 8e090000 */ lw $t1,0x0($s0) .L0f00209c: /* f00209c: 3c08800a */ lui $t0,%hi(g_Vars+0x2bc) /* f0020a0: 26730001 */ addiu $s3,$s3,0x1 /* f0020a4: 01221821 */ addu $v1,$t1,$v0 /* f0020a8: 946a0000 */ lhu $t2,0x0($v1) /* f0020ac: 2442008c */ addiu $v0,$v0,140 /* f0020b0: 354b0004 */ ori $t3,$t2,0x4 /* f0020b4: a46b0000 */ sh $t3,0x0($v1) /* f0020b8: 8d08a27c */ lw $t0,%lo(g_Vars+0x2bc)($t0) /* f0020bc: 0268082a */ slt $at,$s3,$t0 /* f0020c0: 5420fff6 */ bnezl $at,.L0f00209c /* f0020c4: 8e090000 */ lw $t1,0x0($s0) /* f0020c8: 24130001 */ addiu $s3,$zero,0x1 .L0f0020cc: /* f0020cc: 3c10800a */ lui $s0,%hi(g_Rooms) /* f0020d0: 0fc00cec */ jal lightingTick /* f0020d4: 26104928 */ addiu $s0,$s0,%lo(g_Rooms) /* f0020d8: 3c0d800a */ lui $t5,%hi(g_Vars+0x2bc) /* f0020dc: 8dada27c */ lw $t5,%lo(g_Vars+0x2bc)($t5) /* f0020e0: 2402008c */ addiu $v0,$zero,0x8c /* f0020e4: 2404fffb */ addiu $a0,$zero,-5 /* f0020e8: 29a10002 */ slti $at,$t5,0x2 /* f0020ec: 1420000d */ bnez $at,.L0f002124 /* f0020f0: 00000000 */ nop /* f0020f4: 8e0e0000 */ lw $t6,0x0($s0) .L0f0020f8: /* f0020f8: 3c18800a */ lui $t8,%hi(g_Vars+0x2bc) /* f0020fc: 26730001 */ addiu $s3,$s3,0x1 /* f002100: 01c21821 */ addu $v1,$t6,$v0 /* f002104: 946f0000 */ lhu $t7,0x0($v1) /* f002108: 2442008c */ addiu $v0,$v0,0x8c /* f00210c: 01e46024 */ and $t4,$t7,$a0 /* f002110: a46c0000 */ sh $t4,0x0($v1) /* f002114: 8f18a27c */ lw $t8,%lo(g_Vars+0x2bc)($t8) /* f002118: 0278082a */ slt $at,$s3,$t8 /* f00211c: 5420fff6 */ bnezl $at,.L0f0020f8 /* f002120: 8e0e0000 */ lw $t6,0x0($s0) .L0f002124: /* f002124: 0c012144 */ jal osGetCount /* f002128: 00000000 */ nop /* f00212c: 8fbf003c */ lw $ra,0x3c($sp) .L0f002130: /* f002130: 8fb00018 */ lw $s0,0x18($sp) /* f002134: 8fb1001c */ lw $s1,0x1c($sp) /* f002138: 8fb20020 */ lw $s2,0x20($sp) /* f00213c: 8fb30024 */ lw $s3,0x24($sp) /* f002140: 8fb40028 */ lw $s4,0x28($sp) /* f002144: 8fb5002c */ lw $s5,0x2c($sp) /* f002148: 8fb60030 */ lw $s6,0x30($sp) /* f00214c: 8fb70034 */ lw $s7,0x34($sp) /* f002150: 8fbe0038 */ lw $s8,0x38($sp) /* f002154: 03e00008 */ jr $ra /* f002158: 27bd0070 */ addiu $sp,$sp,0x70 ); GLOBAL_ASM( glabel func0f00215c /* f00215c: 3c0e7f00 */ lui $t6,%hi(func0f002334) /* f002160: 25ce2334 */ addiu $t6,$t6,%lo(func0f002334) /* f002164: 3c01800a */ lui $at,%hi(var8009cae8) /* f002168: ac2ecae8 */ sw $t6,%lo(var8009cae8)($at) /* f00216c: 3c014248 */ lui $at,0x4248 /* f002170: 44812000 */ mtc1 $at,$f4 /* f002174: 3c018006 */ lui $at,%hi(var8006143c) /* f002178: 27bdffd0 */ addiu $sp,$sp,-48 /* f00217c: e424143c */ swc1 $f4,%lo(var8006143c)($at) /* f002180: 3c01800a */ lui $at,%hi(var8009cae4) /* f002184: 240f0014 */ addiu $t7,$zero,0x14 /* f002188: afb00014 */ sw $s0,0x14($sp) /* f00218c: ac2fcae4 */ sw $t7,%lo(var8009cae4)($at) /* f002190: 3c10800a */ lui $s0,%hi(g_Vars) /* f002194: 3c018006 */ lui $at,%hi(var80061440) /* f002198: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars) /* f00219c: ac201440 */ sw $zero,%lo(var80061440)($at) /* f0021a0: 8e1802bc */ lw $t8,0x2bc($s0) /* f0021a4: afb40024 */ sw $s4,0x24($sp) /* f0021a8: afb2001c */ sw $s2,0x1c($sp) /* f0021ac: 2b010002 */ slti $at,$t8,0x2 /* f0021b0: 0080a025 */ or $s4,$a0,$zero /* f0021b4: afbf002c */ sw $ra,0x2c($sp) /* f0021b8: afb50028 */ sw $s5,0x28($sp) /* f0021bc: afb30020 */ sw $s3,0x20($sp) /* f0021c0: afb10018 */ sw $s1,0x18($sp) /* f0021c4: 14200052 */ bnez $at,.L0f002310 /* f0021c8: 24120001 */ addiu $s2,$zero,0x1 /* f0021cc: 3c15800a */ lui $s5,%hi(var8009cae0) /* f0021d0: 3c118006 */ lui $s1,%hi(var80061434) /* f0021d4: 26311434 */ addiu $s1,$s1,%lo(var80061434) /* f0021d8: 26b5cae0 */ addiu $s5,$s5,%lo(var8009cae0) /* f0021dc: 8eb90000 */ lw $t9,0x0($s5) .L0f0021e0: /* f0021e0: 02402025 */ or $a0,$s2,$zero /* f0021e4: 02590019 */ multu $s2,$t9 /* f0021e8: 00004012 */ mflo $t0 /* f0021ec: 01149821 */ addu $s3,$t0,$s4 /* f0021f0: 0fc00967 */ jal func0f00259c /* f0021f4: 00000000 */ nop /* f0021f8: 00001825 */ or $v1,$zero,$zero /* f0021fc: 02602025 */ or $a0,$s3,$zero .L0f002200: /* f002200: 24630001 */ addiu $v1,$v1,0x1 /* f002204: 24840001 */ addiu $a0,$a0,0x1 /* f002208: 1860fffd */ blez $v1,.L0f002200 /* f00220c: a080ffff */ sb $zero,-0x1($a0) /* f002210: 8e0202bc */ lw $v0,0x2bc($s0) /* f002214: 24030001 */ addiu $v1,$zero,0x1 /* f002218: 26640001 */ addiu $a0,$s3,0x1 /* f00221c: 28410002 */ slti $at,$v0,0x2 /* f002220: 14200037 */ bnez $at,.L0f002300 /* f002224: 00123880 */ sll $a3,$s2,0x2 /* f002228: 24050004 */ addiu $a1,$zero,0x4 .L0f00222c: /* f00222c: 8e220000 */ lw $v0,0x0($s1) /* f002230: 24630001 */ addiu $v1,$v1,0x1 /* f002234: 240d0001 */ addiu $t5,$zero,0x1 /* f002238: 00474821 */ addu $t1,$v0,$a3 /* f00223c: 00453021 */ addu $a2,$v0,$a1 /* f002240: c4c00000 */ lwc1 $f0,0x0($a2) /* f002244: c5220000 */ lwc1 $f2,0x0($t1) /* f002248: 3c014f00 */ lui $at,0x4f00 /* f00224c: 4600103c */ c.lt.s $f2,$f0 /* f002250: 00000000 */ nop /* f002254: 45020006 */ bc1fl .L0f002270 /* f002258: 444cf800 */ cfc1 $t4,$31 /* f00225c: e4c20000 */ swc1 $f2,0x0($a2) /* f002260: 8e2a0000 */ lw $t2,0x0($s1) /* f002264: 01455821 */ addu $t3,$t2,$a1 /* f002268: c5600000 */ lwc1 $f0,0x0($t3) /* f00226c: 444cf800 */ cfc1 $t4,$31 .L0f002270: /* f002270: 44cdf800 */ ctc1 $t5,$31 /* f002274: 00000000 */ nop /* f002278: 460001a4 */ cvt.w.s $f6,$f0 /* f00227c: 444df800 */ cfc1 $t5,$31 /* f002280: 00000000 */ nop /* f002284: 31ad0078 */ andi $t5,$t5,0x78 /* f002288: 51a00013 */ beqzl $t5,.L0f0022d8 /* f00228c: 440d3000 */ mfc1 $t5,$f6 /* f002290: 44813000 */ mtc1 $at,$f6 /* f002294: 240d0001 */ addiu $t5,$zero,0x1 /* f002298: 46060181 */ sub.s $f6,$f0,$f6 /* f00229c: 44cdf800 */ ctc1 $t5,$31 /* f0022a0: 00000000 */ nop /* f0022a4: 460031a4 */ cvt.w.s $f6,$f6 /* f0022a8: 444df800 */ cfc1 $t5,$31 /* f0022ac: 00000000 */ nop /* f0022b0: 31ad0078 */ andi $t5,$t5,0x78 /* f0022b4: 15a00005 */ bnez $t5,.L0f0022cc /* f0022b8: 00000000 */ nop /* f0022bc: 440d3000 */ mfc1 $t5,$f6 /* f0022c0: 3c018000 */ lui $at,0x8000 /* f0022c4: 10000007 */ b .L0f0022e4 /* f0022c8: 01a16825 */ or $t5,$t5,$at .L0f0022cc: /* f0022cc: 10000005 */ b .L0f0022e4 /* f0022d0: 240dffff */ addiu $t5,$zero,-1 /* f0022d4: 440d3000 */ mfc1 $t5,$f6 .L0f0022d8: /* f0022d8: 00000000 */ nop /* f0022dc: 05a0fffb */ bltz $t5,.L0f0022cc /* f0022e0: 00000000 */ nop .L0f0022e4: /* f0022e4: a08d0000 */ sb $t5,0x0($a0) /* f0022e8: 8e0202bc */ lw $v0,0x2bc($s0) /* f0022ec: 44ccf800 */ ctc1 $t4,$31 /* f0022f0: 24840001 */ addiu $a0,$a0,0x1 /* f0022f4: 0062082a */ slt $at,$v1,$v0 /* f0022f8: 1420ffcc */ bnez $at,.L0f00222c /* f0022fc: 24a50004 */ addiu $a1,$a1,0x4 .L0f002300: /* f002300: 26520001 */ addiu $s2,$s2,0x1 /* f002304: 0242082a */ slt $at,$s2,$v0 /* f002308: 5420ffb5 */ bnezl $at,.L0f0021e0 /* f00230c: 8eb90000 */ lw $t9,0x0($s5) .L0f002310: /* f002310: 8fbf002c */ lw $ra,0x2c($sp) /* f002314: 8fb00014 */ lw $s0,0x14($sp) /* f002318: 8fb10018 */ lw $s1,0x18($sp) /* f00231c: 8fb2001c */ lw $s2,0x1c($sp) /* f002320: 8fb30020 */ lw $s3,0x20($sp) /* f002324: 8fb40024 */ lw $s4,0x24($sp) /* f002328: 8fb50028 */ lw $s5,0x28($sp) /* f00232c: 03e00008 */ jr $ra /* f002330: 27bd0030 */ addiu $sp,$sp,0x30 ); f32 func0f002334(s32 roomnum, f32 mult, s32 portalnum1, s32 portalnum2) { f32 fVar2 = 0; f32 result; if (portalnum1 != -1) { fVar2 = func0f15b274(portalnum1); } result = (func0f15b274(portalnum2) / (g_Rooms[roomnum].unk70 - fVar2)) * mult; return result; } GLOBAL_ASM( glabel func0f0023b8 .late_rodata glabel var7f1a7d90 .word 0x4b989680 .text /* f0023b8: 3c09800a */ lui $t1,%hi(g_Vars) /* f0023bc: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) /* f0023c0: 8d2e02bc */ lw $t6,0x2bc($t1) /* f0023c4: 27bdffd8 */ addiu $sp,$sp,-40 /* f0023c8: f7ba0020 */ sdc1 $f26,0x20($sp) /* f0023cc: f7b80018 */ sdc1 $f24,0x18($sp) /* f0023d0: f7b60010 */ sdc1 $f22,0x10($sp) /* f0023d4: f7b40008 */ sdc1 $f20,0x8($sp) /* f0023d8: 19c0006a */ blez $t6,.L0f002584 /* f0023dc: 00001025 */ or $v0,$zero,$zero /* f0023e0: 3c017f1a */ lui $at,%hi(var7f1a7d90) /* f0023e4: c43a7d90 */ lwc1 $f26,%lo(var7f1a7d90)($at) /* f0023e8: 3c014270 */ lui $at,0x4270 /* f0023ec: 4481b000 */ mtc1 $at,$f22 /* f0023f0: 3c0142c8 */ lui $at,0x42c8 /* f0023f4: 4481a000 */ mtc1 $at,$f20 /* f0023f8: 3c013f80 */ lui $at,0x3f80 /* f0023fc: 3c0a800a */ lui $t2,%hi(g_Rooms) /* f002400: 44818000 */ mtc1 $at,$f16 /* f002404: 4480c000 */ mtc1 $zero,$f24 /* f002408: 44809000 */ mtc1 $zero,$f18 /* f00240c: 254a4928 */ addiu $t2,$t2,%lo(g_Rooms) /* f002410: 00002825 */ or $a1,$zero,$zero /* f002414: 240b000c */ addiu $t3,$zero,0xc /* f002418: 8d4f0000 */ lw $t7,0x0($t2) .L0f00241c: /* f00241c: 24030001 */ addiu $v1,$zero,0x1 /* f002420: 00003825 */ or $a3,$zero,$zero /* f002424: 01e5c021 */ addu $t8,$t7,$a1 /* f002428: e710006c */ swc1 $f16,0x6c($t8) /* f00242c: 8d590000 */ lw $t9,0x0($t2) /* f002430: 03256021 */ addu $t4,$t9,$a1 /* f002434: e5900070 */ swc1 $f16,0x70($t4) /* f002438: 8d440000 */ lw $a0,0x0($t2) /* f00243c: 000268c0 */ sll $t5,$v0,0x3 .L0f002440: /* f002440: 01a26821 */ addu $t5,$t5,$v0 /* f002444: 000d6880 */ sll $t5,$t5,0x2 /* f002448: 01a26823 */ subu $t5,$t5,$v0 /* f00244c: 000d6880 */ sll $t5,$t5,0x2 /* f002450: 008d7021 */ addu $t6,$a0,$t5 /* f002454: 01c73021 */ addu $a2,$t6,$a3 /* f002458: c4c40024 */ lwc1 $f4,0x24($a2) /* f00245c: c4c60018 */ lwc1 $f6,0x18($a2) /* f002460: 00853021 */ addu $a2,$a0,$a1 /* f002464: 00c74021 */ addu $t0,$a2,$a3 /* f002468: 46062001 */ sub.s $f0,$f4,$f6 /* f00246c: 4600903c */ c.lt.s $f18,$f0 /* f002470: 00000000 */ nop /* f002474: 4502000b */ bc1fl .L0f0024a4 /* f002478: 00001825 */ or $v1,$zero,$zero /* f00247c: c5080024 */ lwc1 $f8,0x24($t0) /* f002480: c50a0018 */ lwc1 $f10,0x18($t0) /* f002484: 460a4101 */ sub.s $f4,$f8,$f10 /* f002488: c4c8006c */ lwc1 $f8,0x6c($a2) /* f00248c: 46142183 */ div.s $f6,$f4,$f20 /* f002490: 46064282 */ mul.s $f10,$f8,$f6 /* f002494: e4ca006c */ swc1 $f10,0x6c($a2) /* f002498: 10000002 */ b .L0f0024a4 /* f00249c: 8d440000 */ lw $a0,0x0($t2) /* f0024a0: 00001825 */ or $v1,$zero,$zero .L0f0024a4: /* f0024a4: 24e70004 */ addiu $a3,$a3,0x4 /* f0024a8: 54ebffe5 */ bnel $a3,$t3,.L0f002440 /* f0024ac: 000268c0 */ sll $t5,$v0,0x3 /* f0024b0: 00853021 */ addu $a2,$a0,$a1 /* f0024b4: c4c4006c */ lwc1 $f4,0x6c($a2) /* f0024b8: 46102200 */ add.s $f8,$f4,$f16 /* f0024bc: e4c8006c */ swc1 $f8,0x6c($a2) /* f0024c0: 8d4f0000 */ lw $t7,0x0($t2) /* f0024c4: 01e53021 */ addu $a2,$t7,$a1 /* f0024c8: c4c6006c */ lwc1 $f6,0x6c($a2) /* f0024cc: 4606b03c */ c.lt.s $f22,$f6 /* f0024d0: 00000000 */ nop /* f0024d4: 45000004 */ bc1f .L0f0024e8 /* f0024d8: 00000000 */ nop /* f0024dc: e4d6006c */ swc1 $f22,0x6c($a2) /* f0024e0: 8d580000 */ lw $t8,0x0($t2) /* f0024e4: 03053021 */ addu $a2,$t8,$a1 .L0f0024e8: /* f0024e8: 50600020 */ beqzl $v1,.L0f00256c /* f0024ec: e4da0070 */ swc1 $f26,0x70($a2) /* f0024f0: c4ca0024 */ lwc1 $f10,0x24($a2) /* f0024f4: c4c40018 */ lwc1 $f4,0x18($a2) /* f0024f8: c4c80028 */ lwc1 $f8,0x28($a2) /* f0024fc: c4c6001c */ lwc1 $f6,0x1c($a2) /* f002500: 46045001 */ sub.s $f0,$f10,$f4 /* f002504: c4c40020 */ lwc1 $f4,0x20($a2) /* f002508: c4ca002c */ lwc1 $f10,0x2c($a2) /* f00250c: 46064081 */ sub.s $f2,$f8,$f6 /* f002510: 4600c03c */ c.lt.s $f24,$f0 /* f002514: 46045301 */ sub.s $f12,$f10,$f4 /* f002518: 45030003 */ bc1tl .L0f002528 /* f00251c: 4602c03c */ c.lt.s $f24,$f2 /* f002520: 46000007 */ neg.s $f0,$f0 /* f002524: 4602c03c */ c.lt.s $f24,$f2 .L0f002528: /* f002528: 00000000 */ nop /* f00252c: 45030003 */ bc1tl .L0f00253c /* f002530: 460cc03c */ c.lt.s $f24,$f12 /* f002534: 46001087 */ neg.s $f2,$f2 /* f002538: 460cc03c */ c.lt.s $f24,$f12 .L0f00253c: /* f00253c: 46020202 */ mul.s $f8,$f0,$f2 /* f002540: 45010002 */ bc1t .L0f00254c /* f002544: 00000000 */ nop /* f002548: 46006307 */ neg.s $f12,$f12 .L0f00254c: /* f00254c: 460c0182 */ mul.s $f6,$f0,$f12 /* f002550: 46064280 */ add.s $f10,$f8,$f6 /* f002554: 460c1102 */ mul.s $f4,$f2,$f12 /* f002558: 46045380 */ add.s $f14,$f10,$f4 /* f00255c: 460e7200 */ add.s $f8,$f14,$f14 /* f002560: 10000002 */ b .L0f00256c /* f002564: e4c80070 */ swc1 $f8,0x70($a2) /* f002568: e4da0070 */ swc1 $f26,0x70($a2) .L0f00256c: /* f00256c: 8d3902bc */ lw $t9,0x2bc($t1) /* f002570: 24420001 */ addiu $v0,$v0,0x1 /* f002574: 24a5008c */ addiu $a1,$a1,0x8c /* f002578: 0059082a */ slt $at,$v0,$t9 /* f00257c: 5420ffa7 */ bnezl $at,.L0f00241c /* f002580: 8d4f0000 */ lw $t7,0x0($t2) .L0f002584: /* f002584: d7b40008 */ ldc1 $f20,0x8($sp) /* f002588: d7b60010 */ ldc1 $f22,0x10($sp) /* f00258c: d7b80018 */ ldc1 $f24,0x18($sp) /* f002590: d7ba0020 */ ldc1 $f26,0x20($sp) /* f002594: 03e00008 */ jr $ra /* f002598: 27bd0028 */ addiu $sp,$sp,0x28 ); GLOBAL_ASM( glabel func0f00259c .late_rodata glabel var7f1a7d94 .word 0x3dcccccd .text /* f00259c: 27bdffa0 */ addiu $sp,$sp,-96 /* f0025a0: afb60034 */ sw $s6,0x34($sp) /* f0025a4: 3c16800a */ lui $s6,%hi(g_Vars) /* f0025a8: 26d69fc0 */ addiu $s6,$s6,%lo(g_Vars) /* f0025ac: 8ece02bc */ lw $t6,0x2bc($s6) /* f0025b0: 44800000 */ mtc1 $zero,$f0 /* f0025b4: afb30028 */ sw $s3,0x28($sp) /* f0025b8: afb10020 */ sw $s1,0x20($sp) /* f0025bc: f7b40010 */ sdc1 $f20,0x10($sp) /* f0025c0: 00809825 */ or $s3,$a0,$zero /* f0025c4: afbf003c */ sw $ra,0x3c($sp) /* f0025c8: afb70038 */ sw $s7,0x38($sp) /* f0025cc: afb50030 */ sw $s5,0x30($sp) /* f0025d0: afb4002c */ sw $s4,0x2c($sp) /* f0025d4: afb20024 */ sw $s2,0x24($sp) /* f0025d8: afb0001c */ sw $s0,0x1c($sp) /* f0025dc: 00008825 */ or $s1,$zero,$zero /* f0025e0: 19c0000e */ blez $t6,.L0f00261c /* f0025e4: 46000506 */ mov.s $f20,$f0 /* f0025e8: 3c148006 */ lui $s4,%hi(var80061434) /* f0025ec: 26941434 */ addiu $s4,$s4,%lo(var80061434) /* f0025f0: 00008025 */ or $s0,$zero,$zero /* f0025f4: 8e8f0000 */ lw $t7,0x0($s4) .L0f0025f8: /* f0025f8: 26310001 */ addiu $s1,$s1,0x1 /* f0025fc: 01f0c021 */ addu $t8,$t7,$s0 /* f002600: e7000000 */ swc1 $f0,0x0($t8) /* f002604: 8ed902bc */ lw $t9,0x2bc($s6) /* f002608: 26100004 */ addiu $s0,$s0,0x4 /* f00260c: 0239082a */ slt $at,$s1,$t9 /* f002610: 5420fff9 */ bnezl $at,.L0f0025f8 /* f002614: 8e8f0000 */ lw $t7,0x0($s4) /* f002618: 00008825 */ or $s1,$zero,$zero .L0f00261c: /* f00261c: 3c15800a */ lui $s5,%hi(g_Rooms) /* f002620: 0013b8c0 */ sll $s7,$s3,0x3 /* f002624: 26b54928 */ addiu $s5,$s5,%lo(g_Rooms) /* f002628: 02f3b821 */ addu $s7,$s7,$s3 /* f00262c: 8ea80000 */ lw $t0,0x0($s5) /* f002630: 0017b880 */ sll $s7,$s7,0x2 /* f002634: 02f3b823 */ subu $s7,$s7,$s3 /* f002638: 0017b880 */ sll $s7,$s7,0x2 /* f00263c: 3c148006 */ lui $s4,%hi(var80061434) /* f002640: 01174821 */ addu $t1,$t0,$s7 /* f002644: 26941434 */ addiu $s4,$s4,%lo(var80061434) /* f002648: 0c012974 */ jal sqrtf /* f00264c: c52c006c */ lwc1 $f12,0x6c($t1) /* f002650: 3c01437f */ lui $at,0x437f /* f002654: 44812000 */ mtc1 $at,$f4 /* f002658: 8e8b0000 */ lw $t3,0x0($s4) /* f00265c: 00135080 */ sll $t2,$s3,0x2 /* f002660: 46040182 */ mul.s $f6,$f0,$f4 /* f002664: afaa0044 */ sw $t2,0x44($sp) /* f002668: 016a6821 */ addu $t5,$t3,$t2 /* f00266c: 02602025 */ or $a0,$s3,$zero /* f002670: e5a60000 */ swc1 $f6,0x0($t5) /* f002674: 8eae0000 */ lw $t6,0x0($s5) /* f002678: 8fb80044 */ lw $t8,0x44($sp) /* f00267c: 01d79021 */ addu $s2,$t6,$s7 /* f002680: 82420005 */ lb $v0,0x5($s2) /* f002684: 1040000a */ beqz $v0,.L0f0026b0 /* f002688: 00000000 */ nop /* f00268c: 8e8f0000 */ lw $t7,0x0($s4) /* f002690: 00003025 */ or $a2,$zero,$zero /* f002694: 2407ffff */ addiu $a3,$zero,-1 /* f002698: 01f8c821 */ addu $t9,$t7,$t8 /* f00269c: 0fc00a11 */ jal func0f002844 /* f0026a0: 8f250000 */ lw $a1,0x0($t9) /* f0026a4: 8ea80000 */ lw $t0,0x0($s5) /* f0026a8: 01179021 */ addu $s2,$t0,$s7 /* f0026ac: 82420005 */ lb $v0,0x5($s2) .L0f0026b0: /* f0026b0: 18400013 */ blez $v0,.L0f002700 /* f0026b4: 00008025 */ or $s0,$zero,$zero /* f0026b8: 3c13800a */ lui $s3,%hi(g_RoomPortals) /* f0026bc: 26734ce0 */ addiu $s3,$s3,%lo(g_RoomPortals) /* f0026c0: 864a000e */ lh $t2,0xe($s2) .L0f0026c4: /* f0026c4: 8e690000 */ lw $t1,0x0($s3) /* f0026c8: 000a5840 */ sll $t3,$t2,0x1 /* f0026cc: 012b6021 */ addu $t4,$t1,$t3 /* f0026d0: 01906821 */ addu $t5,$t4,$s0 /* f0026d4: 0fc56c9d */ jal func0f15b274 /* f0026d8: 85a40000 */ lh $a0,0x0($t5) /* f0026dc: 8eae0000 */ lw $t6,0x0($s5) /* f0026e0: 26310001 */ addiu $s1,$s1,0x1 /* f0026e4: 26100002 */ addiu $s0,$s0,0x2 /* f0026e8: 01d79021 */ addu $s2,$t6,$s7 /* f0026ec: 824f0005 */ lb $t7,0x5($s2) /* f0026f0: 4600a500 */ add.s $f20,$f20,$f0 /* f0026f4: 022f082a */ slt $at,$s1,$t7 /* f0026f8: 5420fff2 */ bnezl $at,.L0f0026c4 /* f0026fc: 864a000e */ lh $t2,0xe($s2) .L0f002700: /* f002700: c6400070 */ lwc1 $f0,0x70($s2) /* f002704: 8ed802bc */ lw $t8,0x2bc($s6) /* f002708: 24110001 */ addiu $s1,$zero,0x1 /* f00270c: 46140201 */ sub.s $f8,$f0,$f20 /* f002710: 2b010002 */ slti $at,$t8,0x2 /* f002714: 24100004 */ addiu $s0,$zero,0x4 /* f002718: 46004283 */ div.s $f10,$f8,$f0 /* f00271c: 14200015 */ bnez $at,.L0f002774 /* f002720: e7aa0058 */ swc1 $f10,0x58($sp) /* f002724: 3c014040 */ lui $at,0x4040 /* f002728: 4481a000 */ mtc1 $at,$f20 /* f00272c: 2412008c */ addiu $s2,$zero,0x8c /* f002730: 8eb90000 */ lw $t9,0x0($s5) .L0f002734: /* f002734: 03324021 */ addu $t0,$t9,$s2 /* f002738: 0c012974 */ jal sqrtf /* f00273c: c50c006c */ lwc1 $f12,0x6c($t0) /* f002740: 4600a483 */ div.s $f18,$f20,$f0 /* f002744: 8e8a0000 */ lw $t2,0x0($s4) /* f002748: 26310001 */ addiu $s1,$s1,0x1 /* f00274c: 2652008c */ addiu $s2,$s2,0x8c /* f002750: 01501021 */ addu $v0,$t2,$s0 /* f002754: c4500000 */ lwc1 $f16,0x0($v0) /* f002758: 26100004 */ addiu $s0,$s0,0x4 /* f00275c: 46128102 */ mul.s $f4,$f16,$f18 /* f002760: e4440000 */ swc1 $f4,0x0($v0) /* f002764: 8ec902bc */ lw $t1,0x2bc($s6) /* f002768: 0229082a */ slt $at,$s1,$t1 /* f00276c: 5420fff1 */ bnezl $at,.L0f002734 /* f002770: 8eb90000 */ lw $t9,0x0($s5) .L0f002774: /* f002774: 8e8b0000 */ lw $t3,0x0($s4) /* f002778: 8fac0044 */ lw $t4,0x44($sp) /* f00277c: 3c01437f */ lui $at,0x437f /* f002780: 44813000 */ mtc1 $at,$f6 /* f002784: 016c1021 */ addu $v0,$t3,$t4 /* f002788: c4480000 */ lwc1 $f8,0x0($v0) /* f00278c: 3c01437f */ lui $at,0x437f /* f002790: 4608303c */ c.lt.s $f6,$f8 /* f002794: 00000000 */ nop /* f002798: 45000004 */ bc1f .L0f0027ac /* f00279c: 00000000 */ nop /* f0027a0: 44815000 */ mtc1 $at,$f10 /* f0027a4: 00000000 */ nop /* f0027a8: e44a0000 */ swc1 $f10,0x0($v0) .L0f0027ac: /* f0027ac: 3c017f1a */ lui $at,%hi(var7f1a7d94) /* f0027b0: c4327d94 */ lwc1 $f18,%lo(var7f1a7d94)($at) /* f0027b4: c7b00058 */ lwc1 $f16,0x58($sp) /* f0027b8: 4612803c */ c.lt.s $f16,$f18 /* f0027bc: 00000000 */ nop /* f0027c0: 45020015 */ bc1fl .L0f002818 /* f0027c4: 8fbf003c */ lw $ra,0x3c($sp) /* f0027c8: 8ead0000 */ lw $t5,0x0($s5) /* f0027cc: 3c014f80 */ lui $at,0x4f80 /* f0027d0: 01b79021 */ addu $s2,$t5,$s7 /* f0027d4: 924e0049 */ lbu $t6,0x49($s2) /* f0027d8: 000e7843 */ sra $t7,$t6,0x1 /* f0027dc: a24f0048 */ sb $t7,0x48($s2) /* f0027e0: 8eb80000 */ lw $t8,0x0($s5) /* f0027e4: 8fa90044 */ lw $t1,0x44($sp) /* f0027e8: 0317c821 */ addu $t9,$t8,$s7 /* f0027ec: 93280049 */ lbu $t0,0x49($t9) /* f0027f0: 44882000 */ mtc1 $t0,$f4 /* f0027f4: 05010004 */ bgez $t0,.L0f002808 /* f0027f8: 468021a0 */ cvt.s.w $f6,$f4 /* f0027fc: 44814000 */ mtc1 $at,$f8 /* f002800: 00000000 */ nop /* f002804: 46083180 */ add.s $f6,$f6,$f8 .L0f002808: /* f002808: 8e8a0000 */ lw $t2,0x0($s4) /* f00280c: 01495821 */ addu $t3,$t2,$t1 /* f002810: e5660000 */ swc1 $f6,0x0($t3) /* f002814: 8fbf003c */ lw $ra,0x3c($sp) .L0f002818: /* f002818: d7b40010 */ ldc1 $f20,0x10($sp) /* f00281c: 8fb0001c */ lw $s0,0x1c($sp) /* f002820: 8fb10020 */ lw $s1,0x20($sp) /* f002824: 8fb20024 */ lw $s2,0x24($sp) /* f002828: 8fb30028 */ lw $s3,0x28($sp) /* f00282c: 8fb4002c */ lw $s4,0x2c($sp) /* f002830: 8fb50030 */ lw $s5,0x30($sp) /* f002834: 8fb60034 */ lw $s6,0x34($sp) /* f002838: 8fb70038 */ lw $s7,0x38($sp) /* f00283c: 03e00008 */ jr $ra /* f002840: 27bd0060 */ addiu $sp,$sp,0x60 ); GLOBAL_ASM( glabel func0f002844 /* f002844: 27bdff98 */ addiu $sp,$sp,-104 /* f002848: 3c028006 */ lui $v0,%hi(var80061440) /* f00284c: 24421440 */ addiu $v0,$v0,%lo(var80061440) /* f002850: 8c4f0000 */ lw $t7,0x0($v0) /* f002854: f7b60020 */ sdc1 $f22,0x20($sp) /* f002858: 4485b000 */ mtc1 $a1,$f22 /* f00285c: afb60040 */ sw $s6,0x40($sp) /* f002860: afb5003c */ sw $s5,0x3c($sp) /* f002864: 240effff */ addiu $t6,$zero,-1 /* f002868: 2401ffff */ addiu $at,$zero,-1 /* f00286c: 25f80001 */ addiu $t8,$t7,0x1 /* f002870: 0080a825 */ or $s5,$a0,$zero /* f002874: 00c0b025 */ or $s6,$a2,$zero /* f002878: afbf004c */ sw $ra,0x4c($sp) /* f00287c: afbe0048 */ sw $s8,0x48($sp) /* f002880: afb70044 */ sw $s7,0x44($sp) /* f002884: afb40038 */ sw $s4,0x38($sp) /* f002888: afb30034 */ sw $s3,0x34($sp) /* f00288c: afb20030 */ sw $s2,0x30($sp) /* f002890: afb1002c */ sw $s1,0x2c($sp) /* f002894: afb00028 */ sw $s0,0x28($sp) /* f002898: f7b40018 */ sdc1 $f20,0x18($sp) /* f00289c: afa70074 */ sw $a3,0x74($sp) /* f0028a0: afae0060 */ sw $t6,0x60($sp) /* f0028a4: 10e1000c */ beq $a3,$at,.L0f0028d8 /* f0028a8: ac580000 */ sw $t8,0x0($v0) /* 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) /* f0028c0: 54830005 */ bnel $a0,$v1,.L0f0028d8 /* f0028c4: afa30060 */ sw $v1,0x60($sp) /* f0028c8: 844a0004 */ lh $t2,0x4($v0) /* f0028cc: 10000002 */ b .L0f0028d8 /* f0028d0: afaa0060 */ sw $t2,0x60($sp) /* f0028d4: afa30060 */ sw $v1,0x60($sp) .L0f0028d8: /* f0028d8: 001558c0 */ sll $t3,$s5,0x3 /* f0028dc: 01755821 */ addu $t3,$t3,$s5 /* f0028e0: 000b5880 */ sll $t3,$t3,0x2 /* f0028e4: 3c0c800a */ lui $t4,%hi(g_Rooms) /* f0028e8: 8d8c4928 */ lw $t4,%lo(g_Rooms)($t4) /* f0028ec: 01755823 */ subu $t3,$t3,$s5 /* f0028f0: 000b5880 */ sll $t3,$t3,0x2 /* f0028f4: afab0050 */ sw $t3,0x50($sp) /* f0028f8: 018b1021 */ addu $v0,$t4,$t3 /* f0028fc: 804e0005 */ lb $t6,0x5($v0) /* f002900: 00009825 */ or $s3,$zero,$zero /* f002904: 0000a025 */ or $s4,$zero,$zero /* f002908: 19c00055 */ blez $t6,.L0f002a60 /* f00290c: 3c1e8006 */ lui $s8,%hi(var80061438) /* f002910: 3c17800a */ lui $s7,%hi(g_RoomPortals) /* f002914: 3c128006 */ lui $s2,%hi(var80061434) /* f002918: 4480a000 */ mtc1 $zero,$f20 /* f00291c: 26521434 */ addiu $s2,$s2,%lo(var80061434) /* f002920: 26f74ce0 */ addiu $s7,$s7,%lo(g_RoomPortals) /* f002924: 27de1438 */ addiu $s8,$s8,%lo(var80061438) /* f002928: 8458000e */ lh $t8,0xe($v0) .L0f00292c: /* f00292c: 8eef0000 */ lw $t7,0x0($s7) /* f002930: 8fca0000 */ lw $t2,0x0($s8) /* f002934: 0018c840 */ sll $t9,$t8,0x1 /* f002938: 01f94021 */ addu $t0,$t7,$t9 /* f00293c: 01144821 */ addu $t1,$t0,$s4 /* f002940: 85310000 */ lh $s1,0x0($t1) /* 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_BgPortals)($t6) /* f002964: 0011c0c0 */ sll $t8,$s1,0x3 /* f002968: 02a02025 */ or $a0,$s5,$zero /* f00296c: 01d81021 */ addu $v0,$t6,$t8 /* f002970: 84430002 */ lh $v1,0x2($v0) /* f002974: 3c19800a */ lui $t9,%hi(var8009cae8) /* f002978: 16a30003 */ bne $s5,$v1,.L0f002988 /* f00297c: 00608025 */ or $s0,$v1,$zero /* f002980: 10000001 */ b .L0f002988 /* f002984: 84500004 */ lh $s0,0x4($v0) .L0f002988: /* f002988: 120f002b */ beq $s0,$t7,.L0f002a38 /* f00298c: 00000000 */ nop /* f002990: 8f39cae8 */ lw $t9,%lo(var8009cae8)($t9) /* f002994: 4405b000 */ mfc1 $a1,$f22 /* f002998: 8fa60074 */ lw $a2,0x74($sp) /* f00299c: 0320f809 */ jalr $t9 /* f0029a0: 02203825 */ or $a3,$s1,$zero /* f0029a4: 3c018006 */ lui $at,%hi(var8006143c) /* f0029a8: c424143c */ lwc1 $f4,%lo(var8006143c)($at) /* f0029ac: 46000086 */ mov.s $f2,$f0 /* f0029b0: 3c08800a */ lui $t0,%hi(var8009cae4) /* f0029b4: 4600203c */ c.lt.s $f4,$f0 /* f0029b8: 00000000 */ nop /* f0029bc: 4500001e */ bc1f .L0f002a38 /* f0029c0: 00000000 */ nop /* f0029c4: 8d08cae4 */ lw $t0,%lo(var8009cae4)($t0) /* f0029c8: 02203825 */ or $a3,$s1,$zero /* f0029cc: 02c8082a */ slt $at,$s6,$t0 /* f0029d0: 10200019 */ beqz $at,.L0f002a38 /* f0029d4: 00000000 */ nop /* f0029d8: 8e490000 */ lw $t1,0x0($s2) /* f0029dc: 00151080 */ sll $v0,$s5,0x2 /* f0029e0: 00105880 */ sll $t3,$s0,0x2 /* f0029e4: 01221821 */ addu $v1,$t1,$v0 /* f0029e8: c4660000 */ lwc1 $f6,0x0($v1) /* f0029ec: 44051000 */ mfc1 $a1,$f2 /* f0029f0: 26c60001 */ addiu $a2,$s6,0x1 /* f0029f4: 46003201 */ sub.s $f8,$f6,$f0 /* f0029f8: e4680000 */ swc1 $f8,0x0($v1) /* f0029fc: 8e4a0000 */ lw $t2,0x0($s2) /* f002a00: 014b2021 */ addu $a0,$t2,$t3 /* f002a04: c48a0000 */ lwc1 $f10,0x0($a0) /* f002a08: 46005400 */ add.s $f16,$f10,$f0 /* f002a0c: e4900000 */ swc1 $f16,0x0($a0) /* f002a10: 8e4c0000 */ lw $t4,0x0($s2) /* f002a14: 01821821 */ addu $v1,$t4,$v0 /* f002a18: c4720000 */ lwc1 $f18,0x0($v1) /* f002a1c: 4614903c */ c.lt.s $f18,$f20 /* f002a20: 00000000 */ nop /* f002a24: 45000002 */ bc1f .L0f002a30 /* f002a28: 00000000 */ nop /* f002a2c: e4740000 */ swc1 $f20,0x0($v1) .L0f002a30: /* f002a30: 0fc00a11 */ jal func0f002844 /* f002a34: 02002025 */ or $a0,$s0,$zero .L0f002a38: /* f002a38: 3c0d800a */ lui $t5,%hi(g_Rooms) /* f002a3c: 8dad4928 */ lw $t5,%lo(g_Rooms)($t5) /* f002a40: 8fae0050 */ lw $t6,0x50($sp) /* f002a44: 26730001 */ addiu $s3,$s3,0x1 /* f002a48: 26940002 */ addiu $s4,$s4,0x2 /* f002a4c: 01ae1021 */ addu $v0,$t5,$t6 /* f002a50: 80580005 */ lb $t8,0x5($v0) /* f002a54: 0278082a */ slt $at,$s3,$t8 /* f002a58: 5420ffb4 */ bnezl $at,.L0f00292c /* f002a5c: 8458000e */ lh $t8,0xe($v0) .L0f002a60: /* f002a60: 8fbf004c */ lw $ra,0x4c($sp) /* f002a64: d7b40018 */ ldc1 $f20,0x18($sp) /* f002a68: d7b60020 */ ldc1 $f22,0x20($sp) /* f002a6c: 8fb00028 */ lw $s0,0x28($sp) /* f002a70: 8fb1002c */ lw $s1,0x2c($sp) /* f002a74: 8fb20030 */ lw $s2,0x30($sp) /* f002a78: 8fb30034 */ lw $s3,0x34($sp) /* f002a7c: 8fb40038 */ lw $s4,0x38($sp) /* f002a80: 8fb5003c */ lw $s5,0x3c($sp) /* f002a84: 8fb60040 */ lw $s6,0x40($sp) /* f002a88: 8fb70044 */ lw $s7,0x44($sp) /* f002a8c: 8fbe0048 */ lw $s8,0x48($sp) /* f002a90: 03e00008 */ jr $ra /* f002a94: 27bd0068 */ addiu $sp,$sp,0x68 ); void func0f002a98(void) { s32 i; var8009cae0 = align4(g_Vars.roomcount); #if VERSION >= VERSION_NTSC_1_0 var80061458 = 0; #endif g_Vars.remakewallhitvtx = 0; for (i = 1; i < g_Vars.roomcount; i++) { roomSetDefaults(&g_Rooms[i]); roomInitLights(i); } var80061420 = 0; if (IS4MB()) { var80061444 = 0; } } void roomSetLightsOn(s32 roomnum, s32 enable) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[roomnum].lightindex * 0x22]; s32 i; if (g_Rooms[roomnum].numlights) { for (i = 0; i < g_Rooms[roomnum].numlights; i++) { if (light->healthy) { light->on = enable; } light++; } } if (enable) { g_Rooms[roomnum].flags &= ~ROOMFLAG_LIGHTSOFF; } else { g_Rooms[roomnum].flags |= ROOMFLAG_LIGHTSOFF; } g_Rooms[roomnum].flags |= ROOMFLAG_DIRTY; } void roomSetLighting(s32 roomnum, s32 operation, u8 arg2, u8 arg3, u8 arg4) { if (cheatIsActive(CHEAT_PERFECTDARKNESS) == false) { g_Rooms[roomnum].bitfield.prevop = operation; switch (operation) { case LIGHTOP_1: g_Rooms[roomnum].unk60 = arg2 * 0.01f; break; case LIGHTOP_2: g_Rooms[roomnum].unk60 = arg2; g_Rooms[roomnum].unk64 = arg3 * 0.01f; g_Rooms[roomnum].unk68 = arg4 * 4.0f; g_Rooms[roomnum].unk54 = arg4; break; case LIGHTOP_3: g_Rooms[roomnum].unk60 = arg2 * 0.01f; g_Rooms[roomnum].unk64 = arg3 * 0.01f; g_Rooms[roomnum].unk68 = arg4 * 4.0f; g_Rooms[roomnum].unk54 = arg4; break; case LIGHTOP_4: g_Rooms[roomnum].unk60 = arg2 * 0.01f; g_Rooms[roomnum].unk64 = arg3 * 0.01f; g_Rooms[roomnum].unk68 = arg4 * 4.0f; g_Rooms[roomnum].unk54 = 0; break; case LIGHTOP_5: break; } } } #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel func0f002ef8 /* f002ef8: 0004c0c0 */ sll $t8,$a0,0x3 /* f002efc: 0304c021 */ addu $t8,$t8,$a0 /* f002f00: 3c0e800a */ lui $t6,%hi(g_Rooms) /* f002f04: 8dce4928 */ lw $t6,%lo(g_Rooms)($t6) /* f002f08: 27bdff28 */ addiu $sp,$sp,-216 /* f002f0c: 0018c080 */ sll $t8,$t8,0x2 /* f002f10: 0304c023 */ subu $t8,$t8,$a0 /* f002f14: 0018c080 */ sll $t8,$t8,0x2 /* f002f18: afbf0044 */ sw $ra,0x44($sp) /* f002f1c: afa400d8 */ sw $a0,0xd8($sp) /* f002f20: afa500dc */ sw $a1,0xdc($sp) /* f002f24: 01d8c821 */ addu $t9,$t6,$t8 /* f002f28: 972a000a */ lhu $t2,0xa($t9) /* 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 /* f002f40: 000d6840 */ sll $t5,$t5,0x1 /* f002f44: 01af1821 */ addu $v1,$t5,$t7 /* f002f48: 80780005 */ lb $t8,0x5($v1) /* f002f4c: 07020004 */ bltzl $t8,.L0f002f60 /* f002f50: 94790004 */ lhu $t9,0x4($v1) /* f002f54: 10000112 */ b .L0f0033a0 /* f002f58: 00001025 */ or $v0,$zero,$zero /* f002f5c: 94790004 */ lhu $t9,0x4($v1) .L0f002f60: /* f002f60: 00195ec0 */ sll $t3,$t9,0x1b /* f002f64: 05610102 */ bgez $t3,.L0f003370 /* f002f68: 00000000 */ nop /* f002f6c: 0c004b70 */ jal random /* f002f70: afa300d4 */ sw $v1,0xd4($sp) /* f002f74: 304c0007 */ andi $t4,$v0,0x7 /* f002f78: 15800005 */ bnez $t4,.L0f002f90 /* f002f7c: 8fa300d4 */ lw $v1,0xd4($sp) /* f002f80: 906d0005 */ lbu $t5,0x5($v1) /* f002f84: 31afffef */ andi $t7,$t5,0xffef /* f002f88: 10000104 */ b .L0f00339c /* f002f8c: a06f0005 */ sb $t7,0x5($v1) .L0f002f90: /* f002f90: 0c004b70 */ jal random /* f002f94: afa300d4 */ sw $v1,0xd4($sp) /* f002f98: 304e0001 */ andi $t6,$v0,0x1 /* f002f9c: 15c000ff */ bnez $t6,.L0f00339c /* f002fa0: 8fa300d4 */ lw $v1,0xd4($sp) /* f002fa4: 0c004b70 */ jal random /* f002fa8: afa300d4 */ sw $v1,0xd4($sp) /* f002fac: 44822000 */ mtc1 $v0,$f4 /* f002fb0: 04410005 */ bgez $v0,.L0f002fc8 /* f002fb4: 468021a0 */ cvt.s.w $f6,$f4 /* f002fb8: 3c014f80 */ lui $at,0x4f80 /* f002fbc: 44814000 */ mtc1 $at,$f8 /* f002fc0: 00000000 */ nop /* f002fc4: 46083180 */ add.s $f6,$f6,$f8 .L0f002fc8: /* f002fc8: 3c012f80 */ lui $at,0x2f80 /* f002fcc: 44815000 */ mtc1 $at,$f10 /* f002fd0: 3c013f80 */ lui $at,0x3f80 /* f002fd4: 44814000 */ mtc1 $at,$f8 /* f002fd8: 460a3002 */ mul.s $f0,$f6,$f10 /* f002fdc: 46000100 */ add.s $f4,$f0,$f0 /* f002fe0: 46082301 */ sub.s $f12,$f4,$f8 /* f002fe4: 0c004b70 */ jal random /* f002fe8: e7ac0070 */ swc1 $f12,0x70($sp) /* f002fec: 44823000 */ mtc1 $v0,$f6 /* f002ff0: 8fa300d4 */ lw $v1,0xd4($sp) /* f002ff4: c7ac0070 */ lwc1 $f12,0x70($sp) /* f002ff8: 04410005 */ bgez $v0,.L0f003010 /* f002ffc: 468032a0 */ cvt.s.w $f10,$f6 /* f003000: 3c014f80 */ lui $at,0x4f80 /* f003004: 44812000 */ mtc1 $at,$f4 /* f003008: 00000000 */ nop /* f00300c: 46045280 */ add.s $f10,$f10,$f4 .L0f003010: /* f003010: 3c012f80 */ lui $at,0x2f80 /* f003014: 44814000 */ mtc1 $at,$f8 /* f003018: 3c013f80 */ lui $at,0x3f80 /* f00301c: 44812000 */ mtc1 $at,$f4 /* f003020: 46085002 */ mul.s $f0,$f10,$f8 /* f003024: 2409ffff */ addiu $t1,$zero,-1 /* f003028: 3c077f1a */ lui $a3,%hi(var7f1a7bb4) /* f00302c: 24e77bb4 */ addiu $a3,$a3,%lo(var7f1a7bb4) /* f003030: 2406060a */ addiu $a2,$zero,0x60a /* f003034: 46000180 */ add.s $f6,$f0,$f0 /* f003038: 46043081 */ sub.s $f2,$f6,$f4 /* f00303c: e7a2006c */ swc1 $f2,0x6c($sp) /* f003040: 8468000a */ lh $t0,0xa($v1) /* f003044: 84780010 */ lh $t8,0x10($v1) /* f003048: 846f0016 */ lh $t7,0x16($v1) /* f00304c: 846a0012 */ lh $t2,0x12($v1) /* f003050: 0308c823 */ subu $t9,$t8,$t0 /* f003054: 44995000 */ mtc1 $t9,$f10 /* f003058: 01e87023 */ subu $t6,$t7,$t0 /* f00305c: 448e2000 */ mtc1 $t6,$f4 /* f003060: 468053a0 */ cvt.s.w $f14,$f10 /* f003064: 8464000c */ lh $a0,0xc($v1) /* f003068: 846c0014 */ lh $t4,0x14($v1) /* f00306c: 8465000e */ lh $a1,0xe($v1) /* f003070: 01445823 */ subu $t3,$t2,$a0 /* f003074: 468022a0 */ cvt.s.w $f10,$f4 /* f003078: 448b4000 */ mtc1 $t3,$f8 /* f00307c: 01856823 */ subu $t5,$t4,$a1 /* f003080: 448d3000 */ mtc1 $t5,$f6 /* f003084: 460e6382 */ mul.s $f14,$f12,$f14 /* f003088: e7aa00bc */ swc1 $f10,0xbc($sp) /* f00308c: 84780018 */ lh $t8,0x18($v1) /* f003090: 46804420 */ cvt.s.w $f16,$f8 /* f003094: 0304c823 */ subu $t9,$t8,$a0 /* f003098: 44994000 */ mtc1 $t9,$f8 /* f00309c: 27a40098 */ addiu $a0,$sp,0x98 /* f0030a0: 468034a0 */ cvt.s.w $f18,$f6 /* f0030a4: 46106402 */ mul.s $f16,$f12,$f16 /* f0030a8: 00000000 */ nop /* f0030ac: 46126482 */ mul.s $f18,$f12,$f18 /* f0030b0: c7ac006c */ lwc1 $f12,0x6c($sp) /* f0030b4: 468041a0 */ cvt.s.w $f6,$f8 /* f0030b8: e7a600c0 */ swc1 $f6,0xc0($sp) /* f0030bc: 846a001a */ lh $t2,0x1a($v1) /* f0030c0: 01455823 */ subu $t3,$t2,$a1 /* f0030c4: 448b2000 */ mtc1 $t3,$f4 /* f0030c8: 27a500a4 */ addiu $a1,$sp,0xa4 /* f0030cc: 46802220 */ cvt.s.w $f8,$f4 /* f0030d0: 460a1102 */ mul.s $f4,$f2,$f10 /* f0030d4: 44885000 */ mtc1 $t0,$f10 /* f0030d8: 46066002 */ mul.s $f0,$f12,$f6 /* f0030dc: e7a800c4 */ swc1 $f8,0xc4($sp) /* f0030e0: 46086082 */ mul.s $f2,$f12,$f8 /* f0030e4: e7a400bc */ swc1 $f4,0xbc($sp) /* f0030e8: c7a800bc */ lwc1 $f8,0xbc($sp) /* f0030ec: 46805120 */ cvt.s.w $f4,$f10 /* f0030f0: 460e2180 */ add.s $f6,$f4,$f14 /* f0030f4: 46083280 */ add.s $f10,$f6,$f8 /* f0030f8: e7aa0098 */ swc1 $f10,0x98($sp) /* f0030fc: 846c000a */ lh $t4,0xa($v1) /* f003100: 448c2000 */ mtc1 $t4,$f4 /* f003104: 00000000 */ nop /* f003108: 468021a0 */ cvt.s.w $f6,$f4 /* f00310c: 46103200 */ add.s $f8,$f6,$f16 /* f003110: 46004280 */ add.s $f10,$f8,$f0 /* f003114: e7aa009c */ swc1 $f10,0x9c($sp) /* f003118: 846d000a */ lh $t5,0xa($v1) /* f00311c: 448d2000 */ mtc1 $t5,$f4 /* f003120: 00000000 */ nop /* f003124: 468021a0 */ cvt.s.w $f6,$f4 /* f003128: 46123200 */ add.s $f8,$f6,$f18 /* f00312c: 46024280 */ add.s $f10,$f8,$f2 /* f003130: e7aa00a0 */ swc1 $f10,0xa0($sp) /* f003134: 806f0007 */ lb $t7,0x7($v1) /* f003138: 448f2000 */ mtc1 $t7,$f4 /* f00313c: 00000000 */ nop /* f003140: 468021a0 */ cvt.s.w $f6,$f4 /* f003144: e7a6008c */ swc1 $f6,0x8c($sp) /* f003148: 806e0008 */ lb $t6,0x8($v1) /* f00314c: 448e4000 */ mtc1 $t6,$f8 /* f003150: 00000000 */ nop /* f003154: 468042a0 */ cvt.s.w $f10,$f8 /* f003158: c7a8008c */ lwc1 $f8,0x8c($sp) /* f00315c: e7aa0090 */ swc1 $f10,0x90($sp) /* f003160: 80780009 */ lb $t8,0x9($v1) /* f003164: 46004287 */ neg.s $f10,$f8 /* f003168: afa90068 */ sw $t1,0x68($sp) /* f00316c: 44982000 */ mtc1 $t8,$f4 /* f003170: e7aa0080 */ swc1 $f10,0x80($sp) /* f003174: 468021a0 */ cvt.s.w $f6,$f4 /* f003178: c7a40090 */ lwc1 $f4,0x90($sp) /* f00317c: e7a60094 */ swc1 $f6,0x94($sp) /* f003180: c7a80094 */ lwc1 $f8,0x94($sp) /* f003184: 46002187 */ neg.s $f6,$f4 /* f003188: 46004287 */ neg.s $f10,$f8 /* f00318c: e7a60084 */ swc1 $f6,0x84($sp) /* f003190: 0fc5dc59 */ jal func0f177164 /* f003194: e7aa0088 */ swc1 $f10,0x88($sp) /* f003198: c7b200a4 */ lwc1 $f18,0xa4($sp) /* f00319c: c7b00080 */ lwc1 $f16,0x80($sp) /* f0031a0: c7ae00a8 */ lwc1 $f14,0xa8($sp) /* f0031a4: c7ac0084 */ lwc1 $f12,0x84($sp) /* f0031a8: 46109400 */ add.s $f16,$f18,$f16 /* f0031ac: c7b200ac */ lwc1 $f18,0xac($sp) /* f0031b0: c7aa0088 */ lwc1 $f10,0x88($sp) /* f0031b4: 460c7300 */ add.s $f12,$f14,$f12 /* f0031b8: 27a400a4 */ addiu $a0,$sp,0xa4 /* f0031bc: 3c077f1a */ lui $a3,%hi(var7f1a7bc0) /* f0031c0: 460a9280 */ add.s $f10,$f18,$f10 /* f0031c4: e7b000a4 */ swc1 $f16,0xa4($sp) /* f0031c8: e7ac00a8 */ swc1 $f12,0xa8($sp) /* f0031cc: 00802825 */ or $a1,$a0,$zero /* f0031d0: e7aa00ac */ swc1 $f10,0xac($sp) /* f0031d4: 2406060c */ addiu $a2,$zero,0x60c /* f0031d8: 0fc5dc59 */ jal func0f177164 /* f0031dc: 24e77bc0 */ addiu $a3,$a3,%lo(var7f1a7bc0) /* f0031e0: 8fa400d8 */ lw $a0,0xd8($sp) /* f0031e4: 0004c880 */ sll $t9,$a0,0x2 /* f0031e8: 0324c821 */ addu $t9,$t9,$a0 /* f0031ec: 0019c880 */ sll $t9,$t9,0x2 /* f0031f0: 0c004b70 */ jal random /* f0031f4: afb90058 */ sw $t9,0x58($sp) /* f0031f8: 30430003 */ andi $v1,$v0,0x3 /* f0031fc: 1060000a */ beqz $v1,.L0f003228 /* f003200: 8fa90068 */ lw $t1,0x68($sp) /* f003204: 24010001 */ addiu $at,$zero,0x1 /* f003208: 10610009 */ beq $v1,$at,.L0f003230 /* f00320c: 24010002 */ addiu $at,$zero,0x2 /* f003210: 10610009 */ beq $v1,$at,.L0f003238 /* f003214: 24010003 */ addiu $at,$zero,0x3 /* f003218: 5061000a */ beql $v1,$at,.L0f003244 /* f00321c: 24090014 */ addiu $t1,$zero,0x14 /* f003220: 10000009 */ b .L0f003248 /* f003224: 8fa400d8 */ lw $a0,0xd8($sp) .L0f003228: /* f003228: 10000006 */ b .L0f003244 /* f00322c: 24090011 */ addiu $t1,$zero,0x11 .L0f003230: /* f003230: 10000004 */ b .L0f003244 /* f003234: 24090012 */ addiu $t1,$zero,0x12 .L0f003238: /* f003238: 10000002 */ b .L0f003244 /* f00323c: 24090013 */ addiu $t1,$zero,0x13 /* f003240: 24090014 */ addiu $t1,$zero,0x14 .L0f003244: /* f003244: 8fa400d8 */ lw $a0,0xd8($sp) .L0f003248: /* f003248: 8fa500dc */ lw $a1,0xdc($sp) /* f00324c: 27a60074 */ addiu $a2,$sp,0x74 /* f003250: 0fc0037f */ jal lightGetBboxCentre /* f003254: afa90068 */ sw $t1,0x68($sp) /* 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) /* f00326c: 016c1821 */ addu $v1,$t3,$t4 /* f003270: c4680004 */ lwc1 $f8,0x4($v1) /* f003274: 8fa90068 */ lw $t1,0x68($sp) /* f003278: 27ad008c */ addiu $t5,$sp,0x8c /* f00327c: 46083280 */ add.s $f10,$f6,$f8 /* f003280: 8fa400d8 */ lw $a0,0xd8($sp) /* f003284: 00002825 */ or $a1,$zero,$zero /* f003288: 27a60074 */ addiu $a2,$sp,0x74 /* f00328c: e7aa0074 */ swc1 $f10,0x74($sp) /* f003290: c4660008 */ lwc1 $f6,0x8($v1) /* f003294: c7aa007c */ lwc1 $f10,0x7c($sp) /* f003298: 27a700a4 */ addiu $a3,$sp,0xa4 /* f00329c: 46062200 */ add.s $f8,$f4,$f6 /* f0032a0: e7a80078 */ swc1 $f8,0x78($sp) /* f0032a4: c464000c */ lwc1 $f4,0xc($v1) /* f0032a8: afad0010 */ sw $t5,0x10($sp) /* f0032ac: afa90014 */ sw $t1,0x14($sp) /* f0032b0: 46045180 */ add.s $f6,$f10,$f4 /* f0032b4: 0fc4be7c */ jal sparksCreate /* f0032b8: e7a6007c */ swc1 $f6,0x7c($sp) /* f0032bc: 0c004b70 */ jal random /* f0032c0: 00000000 */ nop /* f0032c4: 304f0003 */ andi $t7,$v0,0x3 /* f0032c8: 15e00008 */ bnez $t7,.L0f0032ec /* f0032cc: 8fae00d8 */ lw $t6,0xd8($sp) /* f0032d0: 2418ffff */ addiu $t8,$zero,-1 /* f0032d4: a7ae0064 */ sh $t6,0x64($sp) /* f0032d8: a7b80066 */ sh $t8,0x66($sp) /* f0032dc: 27a40074 */ addiu $a0,$sp,0x74 /* f0032e0: 27a50064 */ addiu $a1,$sp,0x64 /* f0032e4: 0fc4ba08 */ jal smokeCreateSimple /* f0032e8: 24060007 */ addiu $a2,$zero,0x7 .L0f0032ec: /* f0032ec: 8fa400d8 */ lw $a0,0xd8($sp) /* f0032f0: 24050040 */ addiu $a1,$zero,0x40 /* f0032f4: 0fc010e3 */ jal roomAdjustLighting /* f0032f8: 24060050 */ addiu $a2,$zero,0x50 /* f0032fc: 0fc25480 */ jal func0f095200 /* f003300: 00000000 */ nop /* f003304: 3c01bf80 */ lui $at,0xbf80 /* f003308: 44810000 */ mtc1 $at,$f0 /* f00330c: 8faf00d8 */ lw $t7,0xd8($sp) /* f003310: 00023400 */ sll $a2,$v0,0x10 /* f003314: 0006cc03 */ sra $t9,$a2,0x10 /* f003318: 240affff */ addiu $t2,$zero,-1 /* f00331c: 240b0400 */ addiu $t3,$zero,0x400 /* f003320: 240c0010 */ addiu $t4,$zero,0x10 /* f003324: 27ad0074 */ addiu $t5,$sp,0x74 /* f003328: afad0020 */ sw $t5,0x20($sp) /* f00332c: afac001c */ sw $t4,0x1c($sp) /* f003330: afab0014 */ sw $t3,0x14($sp) /* f003334: afaa0010 */ sw $t2,0x10($sp) /* f003338: 03203025 */ or $a2,$t9,$zero /* f00333c: 00002025 */ or $a0,$zero,$zero /* f003340: 00002825 */ or $a1,$zero,$zero /* f003344: 2407ffff */ addiu $a3,$zero,-1 /* f003348: afa00018 */ sw $zero,0x18($sp) /* f00334c: afa00028 */ sw $zero,0x28($sp) /* f003350: afaf002c */ sw $t7,0x2c($sp) /* f003354: e7a00024 */ swc1 $f0,0x24($sp) /* f003358: e7a00030 */ swc1 $f0,0x30($sp) /* f00335c: e7a00034 */ swc1 $f0,0x34($sp) /* f003360: 0fc24e7e */ jal func0f0939f8 /* f003364: e7a00038 */ swc1 $f0,0x38($sp) /* f003368: 1000000d */ b .L0f0033a0 /* f00336c: 24020001 */ addiu $v0,$zero,0x1 .L0f003370: /* f003370: 0c004b70 */ jal random /* f003374: afa300d4 */ sw $v1,0xd4($sp) /* f003378: 24010050 */ addiu $at,$zero,0x50 /* f00337c: 0041001b */ divu $zero,$v0,$at /* f003380: 00007010 */ mfhi $t6 /* f003384: 8fa300d4 */ lw $v1,0xd4($sp) /* f003388: 55c00005 */ bnezl $t6,.L0f0033a0 /* f00338c: 00001025 */ or $v0,$zero,$zero /* f003390: 90790005 */ lbu $t9,0x5($v1) /* f003394: 372a0010 */ ori $t2,$t9,0x10 /* f003398: a06a0005 */ sb $t2,0x5($v1) .L0f00339c: /* f00339c: 00001025 */ or $v0,$zero,$zero .L0f0033a0: /* f0033a0: 8fbf0044 */ lw $ra,0x44($sp) /* f0033a4: 27bd00d8 */ addiu $sp,$sp,0xd8 /* f0033a8: 03e00008 */ jr $ra /* f0033ac: 00000000 */ nop ); #else GLOBAL_ASM( glabel func0f002ef8 /* f002ef8: 0004c0c0 */ sll $t8,$a0,0x3 /* f002efc: 0304c021 */ addu $t8,$t8,$a0 /* f002f00: 3c0e800a */ lui $t6,%hi(g_Rooms) /* f002f04: 8dce4928 */ lw $t6,%lo(g_Rooms)($t6) /* f002f08: 27bdff28 */ addiu $sp,$sp,-216 /* f002f0c: 0018c080 */ sll $t8,$t8,0x2 /* f002f10: 0304c023 */ subu $t8,$t8,$a0 /* f002f14: 0018c080 */ sll $t8,$t8,0x2 /* f002f18: afbf0044 */ sw $ra,0x44($sp) /* f002f1c: afa400d8 */ sw $a0,0xd8($sp) /* f002f20: afa500dc */ sw $a1,0xdc($sp) /* f002f24: 01d8c821 */ addu $t9,$t6,$t8 /* f002f28: 972a000a */ lhu $t2,0xa($t9) /* 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 /* f002f40: 000d6840 */ sll $t5,$t5,0x1 /* f002f44: 01af1821 */ addu $v1,$t5,$t7 /* f002f48: 80780005 */ lb $t8,0x5($v1) /* f002f4c: 07020004 */ bltzl $t8,.L0f002f60 /* f002f50: 94790004 */ lhu $t9,0x4($v1) /* f002f54: 10000112 */ b .L0f0033a0 /* f002f58: 00001025 */ or $v0,$zero,$zero /* f002f5c: 94790004 */ lhu $t9,0x4($v1) .L0f002f60: /* f002f60: 00195ec0 */ sll $t3,$t9,0x1b /* f002f64: 05610102 */ bgez $t3,.L0f003370 /* f002f68: 00000000 */ nop /* f002f6c: 0c004b70 */ jal random /* f002f70: afa300d4 */ sw $v1,0xd4($sp) /* f002f74: 304c0007 */ andi $t4,$v0,0x7 /* f002f78: 15800005 */ bnez $t4,.L0f002f90 /* f002f7c: 8fa300d4 */ lw $v1,0xd4($sp) /* f002f80: 906d0005 */ lbu $t5,0x5($v1) /* f002f84: 31afffef */ andi $t7,$t5,0xffef /* f002f88: 10000104 */ b .L0f00339c /* f002f8c: a06f0005 */ sb $t7,0x5($v1) .L0f002f90: /* f002f90: 0c004b70 */ jal random /* f002f94: afa300d4 */ sw $v1,0xd4($sp) /* f002f98: 304e0001 */ andi $t6,$v0,0x1 /* f002f9c: 15c000ff */ bnez $t6,.L0f00339c /* f002fa0: 8fa300d4 */ lw $v1,0xd4($sp) /* f002fa4: 0c004b70 */ jal random /* f002fa8: afa300d4 */ sw $v1,0xd4($sp) /* f002fac: 44822000 */ mtc1 $v0,$f4 /* f002fb0: 04410005 */ bgez $v0,.L0f002fc8 /* f002fb4: 468021a0 */ cvt.s.w $f6,$f4 /* f002fb8: 3c014f80 */ lui $at,0x4f80 /* f002fbc: 44814000 */ mtc1 $at,$f8 /* f002fc0: 00000000 */ nop /* f002fc4: 46083180 */ add.s $f6,$f6,$f8 .L0f002fc8: /* f002fc8: 3c012f80 */ lui $at,0x2f80 /* f002fcc: 44815000 */ mtc1 $at,$f10 /* f002fd0: 3c013f80 */ lui $at,0x3f80 /* f002fd4: 44814000 */ mtc1 $at,$f8 /* f002fd8: 460a3002 */ mul.s $f0,$f6,$f10 /* f002fdc: 46000100 */ add.s $f4,$f0,$f0 /* f002fe0: 46082301 */ sub.s $f12,$f4,$f8 /* f002fe4: 0c004b70 */ jal random /* f002fe8: e7ac0070 */ swc1 $f12,0x70($sp) /* f002fec: 44823000 */ mtc1 $v0,$f6 /* f002ff0: 8fa300d4 */ lw $v1,0xd4($sp) /* f002ff4: c7ac0070 */ lwc1 $f12,0x70($sp) /* f002ff8: 04410005 */ bgez $v0,.L0f003010 /* f002ffc: 468032a0 */ cvt.s.w $f10,$f6 /* f003000: 3c014f80 */ lui $at,0x4f80 /* f003004: 44812000 */ mtc1 $at,$f4 /* f003008: 00000000 */ nop /* f00300c: 46045280 */ add.s $f10,$f10,$f4 .L0f003010: /* f003010: 3c012f80 */ lui $at,0x2f80 /* f003014: 44814000 */ mtc1 $at,$f8 /* f003018: 3c013f80 */ lui $at,0x3f80 /* f00301c: 44812000 */ mtc1 $at,$f4 /* f003020: 46085002 */ mul.s $f0,$f10,$f8 /* f003024: 2409ffff */ addiu $t1,$zero,-1 /* f003028: 3c077f1a */ lui $a3,%hi(var7f1a7bb4) /* f00302c: 24e77bb4 */ addiu $a3,$a3,%lo(var7f1a7bb4) /* f003030: 2406060a */ addiu $a2,$zero,0x622 /* f003034: 46000180 */ add.s $f6,$f0,$f0 /* f003038: 46043081 */ sub.s $f2,$f6,$f4 /* f00303c: e7a2006c */ swc1 $f2,0x6c($sp) /* f003040: 8468000a */ lh $t0,0xa($v1) /* f003044: 84780010 */ lh $t8,0x10($v1) /* f003048: 846f0016 */ lh $t7,0x16($v1) /* f00304c: 846a0012 */ lh $t2,0x12($v1) /* f003050: 0308c823 */ subu $t9,$t8,$t0 /* f003054: 44995000 */ mtc1 $t9,$f10 /* f003058: 01e87023 */ subu $t6,$t7,$t0 /* f00305c: 448e2000 */ mtc1 $t6,$f4 /* f003060: 468053a0 */ cvt.s.w $f14,$f10 /* f003064: 8464000c */ lh $a0,0xc($v1) /* f003068: 846c0014 */ lh $t4,0x14($v1) /* f00306c: 8465000e */ lh $a1,0xe($v1) /* f003070: 01445823 */ subu $t3,$t2,$a0 /* f003074: 468022a0 */ cvt.s.w $f10,$f4 /* f003078: 448b4000 */ mtc1 $t3,$f8 /* f00307c: 01856823 */ subu $t5,$t4,$a1 /* f003080: 448d3000 */ mtc1 $t5,$f6 /* f003084: 460e6382 */ mul.s $f14,$f12,$f14 /* f003088: e7aa00bc */ swc1 $f10,0xbc($sp) /* f00308c: 84780018 */ lh $t8,0x18($v1) /* f003090: 46804420 */ cvt.s.w $f16,$f8 /* f003094: 0304c823 */ subu $t9,$t8,$a0 /* f003098: 44994000 */ mtc1 $t9,$f8 /* f00309c: 27a40098 */ addiu $a0,$sp,0x98 /* f0030a0: 468034a0 */ cvt.s.w $f18,$f6 /* f0030a4: 46106402 */ mul.s $f16,$f12,$f16 /* f0030a8: 00000000 */ nop /* f0030ac: 46126482 */ mul.s $f18,$f12,$f18 /* f0030b0: c7ac006c */ lwc1 $f12,0x6c($sp) /* f0030b4: 468041a0 */ cvt.s.w $f6,$f8 /* f0030b8: e7a600c0 */ swc1 $f6,0xc0($sp) /* f0030bc: 846a001a */ lh $t2,0x1a($v1) /* f0030c0: 01455823 */ subu $t3,$t2,$a1 /* f0030c4: 448b2000 */ mtc1 $t3,$f4 /* f0030c8: 27a500a4 */ addiu $a1,$sp,0xa4 /* f0030cc: 46802220 */ cvt.s.w $f8,$f4 /* f0030d0: 460a1102 */ mul.s $f4,$f2,$f10 /* f0030d4: 44885000 */ mtc1 $t0,$f10 /* f0030d8: 46066002 */ mul.s $f0,$f12,$f6 /* f0030dc: e7a800c4 */ swc1 $f8,0xc4($sp) /* f0030e0: 46086082 */ mul.s $f2,$f12,$f8 /* f0030e4: e7a400bc */ swc1 $f4,0xbc($sp) /* f0030e8: c7a800bc */ lwc1 $f8,0xbc($sp) /* f0030ec: 46805120 */ cvt.s.w $f4,$f10 /* f0030f0: 460e2180 */ add.s $f6,$f4,$f14 /* f0030f4: 46083280 */ add.s $f10,$f6,$f8 /* f0030f8: e7aa0098 */ swc1 $f10,0x98($sp) /* f0030fc: 846c000a */ lh $t4,0xa($v1) /* f003100: 448c2000 */ mtc1 $t4,$f4 /* f003104: 00000000 */ nop /* f003108: 468021a0 */ cvt.s.w $f6,$f4 /* f00310c: 46103200 */ add.s $f8,$f6,$f16 /* f003110: 46004280 */ add.s $f10,$f8,$f0 /* f003114: e7aa009c */ swc1 $f10,0x9c($sp) /* f003118: 846d000a */ lh $t5,0xa($v1) /* f00311c: 448d2000 */ mtc1 $t5,$f4 /* f003120: 00000000 */ nop /* f003124: 468021a0 */ cvt.s.w $f6,$f4 /* f003128: 46123200 */ add.s $f8,$f6,$f18 /* f00312c: 46024280 */ add.s $f10,$f8,$f2 /* f003130: e7aa00a0 */ swc1 $f10,0xa0($sp) /* f003134: 806f0007 */ lb $t7,0x7($v1) /* f003138: 448f2000 */ mtc1 $t7,$f4 /* f00313c: 00000000 */ nop /* f003140: 468021a0 */ cvt.s.w $f6,$f4 /* f003144: e7a6008c */ swc1 $f6,0x8c($sp) /* f003148: 806e0008 */ lb $t6,0x8($v1) /* f00314c: 448e4000 */ mtc1 $t6,$f8 /* f003150: 00000000 */ nop /* f003154: 468042a0 */ cvt.s.w $f10,$f8 /* f003158: c7a8008c */ lwc1 $f8,0x8c($sp) /* f00315c: e7aa0090 */ swc1 $f10,0x90($sp) /* f003160: 80780009 */ lb $t8,0x9($v1) /* f003164: 46004287 */ neg.s $f10,$f8 /* f003168: afa90068 */ sw $t1,0x68($sp) /* f00316c: 44982000 */ mtc1 $t8,$f4 /* f003170: e7aa0080 */ swc1 $f10,0x80($sp) /* f003174: 468021a0 */ cvt.s.w $f6,$f4 /* f003178: c7a40090 */ lwc1 $f4,0x90($sp) /* f00317c: e7a60094 */ swc1 $f6,0x94($sp) /* f003180: c7a80094 */ lwc1 $f8,0x94($sp) /* f003184: 46002187 */ neg.s $f6,$f4 /* f003188: 46004287 */ neg.s $f10,$f8 /* f00318c: e7a60084 */ swc1 $f6,0x84($sp) /* f003190: 0fc5dc59 */ jal func0f177164 /* f003194: e7aa0088 */ swc1 $f10,0x88($sp) /* f003198: c7b200a4 */ lwc1 $f18,0xa4($sp) /* f00319c: c7b00080 */ lwc1 $f16,0x80($sp) /* f0031a0: c7ae00a8 */ lwc1 $f14,0xa8($sp) /* f0031a4: c7ac0084 */ lwc1 $f12,0x84($sp) /* f0031a8: 46109400 */ add.s $f16,$f18,$f16 /* f0031ac: c7b200ac */ lwc1 $f18,0xac($sp) /* f0031b0: c7aa0088 */ lwc1 $f10,0x88($sp) /* f0031b4: 460c7300 */ add.s $f12,$f14,$f12 /* f0031b8: 27a400a4 */ addiu $a0,$sp,0xa4 /* f0031bc: 3c077f1a */ lui $a3,%hi(var7f1a7bc0) /* f0031c0: 460a9280 */ add.s $f10,$f18,$f10 /* f0031c4: e7b000a4 */ swc1 $f16,0xa4($sp) /* f0031c8: e7ac00a8 */ swc1 $f12,0xa8($sp) /* f0031cc: 00802825 */ or $a1,$a0,$zero /* f0031d0: e7aa00ac */ swc1 $f10,0xac($sp) /* f0031d4: 2406060c */ addiu $a2,$zero,0x624 /* f0031d8: 0fc5dc59 */ jal func0f177164 /* f0031dc: 24e77bc0 */ addiu $a3,$a3,%lo(var7f1a7bc0) /* f0031e0: 8fa400d8 */ lw $a0,0xd8($sp) /* f0031e4: 0004c880 */ sll $t9,$a0,0x2 /* f0031e8: 0324c821 */ addu $t9,$t9,$a0 /* f0031ec: 0019c880 */ sll $t9,$t9,0x2 /* f0031f0: 0c004b70 */ jal random /* f0031f4: afb90058 */ sw $t9,0x58($sp) /* f0031f8: 30430003 */ andi $v1,$v0,0x3 /* f0031fc: 1060000a */ beqz $v1,.L0f003228 /* f003200: 8fa90068 */ lw $t1,0x68($sp) /* f003204: 24010001 */ addiu $at,$zero,0x1 /* f003208: 10610009 */ beq $v1,$at,.L0f003230 /* f00320c: 24010002 */ addiu $at,$zero,0x2 /* f003210: 10610009 */ beq $v1,$at,.L0f003238 /* f003214: 24010003 */ addiu $at,$zero,0x3 /* f003218: 5061000a */ beql $v1,$at,.L0f003244 /* f00321c: 24090014 */ addiu $t1,$zero,0x14 /* f003220: 10000009 */ b .L0f003248 /* f003224: 8fa400d8 */ lw $a0,0xd8($sp) .L0f003228: /* f003228: 10000006 */ b .L0f003244 /* f00322c: 24090011 */ addiu $t1,$zero,0x11 .L0f003230: /* f003230: 10000004 */ b .L0f003244 /* f003234: 24090012 */ addiu $t1,$zero,0x12 .L0f003238: /* f003238: 10000002 */ b .L0f003244 /* f00323c: 24090013 */ addiu $t1,$zero,0x13 /* f003240: 24090014 */ addiu $t1,$zero,0x14 .L0f003244: /* f003244: 8fa400d8 */ lw $a0,0xd8($sp) .L0f003248: /* f003248: 8fa500dc */ lw $a1,0xdc($sp) /* f00324c: 27a60074 */ addiu $a2,$sp,0x74 /* f003250: 0fc0037f */ jal lightGetBboxCentre /* f003254: afa90068 */ sw $t1,0x68($sp) /* 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) /* f00326c: 016c1821 */ addu $v1,$t3,$t4 /* f003270: c4680004 */ lwc1 $f8,0x4($v1) /* f003274: 8fa90068 */ lw $t1,0x68($sp) /* f003278: 27ad008c */ addiu $t5,$sp,0x8c /* f00327c: 46083280 */ add.s $f10,$f6,$f8 /* f003280: 8fa400d8 */ lw $a0,0xd8($sp) /* f003284: 00002825 */ or $a1,$zero,$zero /* f003288: 27a60074 */ addiu $a2,$sp,0x74 /* f00328c: e7aa0074 */ swc1 $f10,0x74($sp) /* f003290: c4660008 */ lwc1 $f6,0x8($v1) /* f003294: c7aa007c */ lwc1 $f10,0x7c($sp) /* f003298: 27a700a4 */ addiu $a3,$sp,0xa4 /* f00329c: 46062200 */ add.s $f8,$f4,$f6 /* f0032a0: e7a80078 */ swc1 $f8,0x78($sp) /* f0032a4: c464000c */ lwc1 $f4,0xc($v1) /* f0032a8: afad0010 */ sw $t5,0x10($sp) /* f0032ac: afa90014 */ sw $t1,0x14($sp) /* f0032b0: 46045180 */ add.s $f6,$f10,$f4 /* f0032b4: 0fc4be7c */ jal sparksCreate /* f0032b8: e7a6007c */ swc1 $f6,0x7c($sp) /* f0032bc: 0c004b70 */ jal random /* f0032c0: 00000000 */ nop /* f0032c4: 304f0003 */ andi $t7,$v0,0x3 /* f0032c8: 15e00008 */ bnez $t7,.L0f0032ec /* f0032cc: 8fae00d8 */ lw $t6,0xd8($sp) /* f0032d0: 2418ffff */ addiu $t8,$zero,-1 /* f0032d4: a7ae0064 */ sh $t6,0x64($sp) /* f0032d8: a7b80066 */ sh $t8,0x66($sp) /* f0032dc: 27a40074 */ addiu $a0,$sp,0x74 /* f0032e0: 27a50064 */ addiu $a1,$sp,0x64 /* f0032e4: 0fc4ba08 */ jal smokeCreateSimple /* f0032e8: 24060007 */ addiu $a2,$zero,0x7 .L0f0032ec: /* f0032ec: 8fa400d8 */ lw $a0,0xd8($sp) /* f0032f0: 24050040 */ addiu $a1,$zero,0x40 /* f0032f4: 0fc010e3 */ jal roomAdjustLighting /* f0032f8: 24060050 */ addiu $a2,$zero,0x50 /* f0032fc: 0fc25480 */ jal func0f095200 /* f003300: 00000000 */ nop /* f003304: 3c01bf80 */ lui $at,0xbf80 /* f003308: 44810000 */ mtc1 $at,$f0 /* f00330c: 8faf00d8 */ lw $t7,0xd8($sp) /* f003310: 00023400 */ sll $a2,$v0,0x10 /* f003314: 0006cc03 */ sra $t9,$a2,0x10 /* f003318: 240affff */ addiu $t2,$zero,-1 /* f00331c: 240b0400 */ addiu $t3,$zero,0x400 /* f003320: 240c0010 */ addiu $t4,$zero,0x10 /* f003324: 27ad0074 */ addiu $t5,$sp,0x74 /* f003328: afad0020 */ sw $t5,0x20($sp) /* f00332c: afac001c */ sw $t4,0x1c($sp) /* f003330: afab0014 */ sw $t3,0x14($sp) /* f003334: afaa0010 */ sw $t2,0x10($sp) /* f003338: 03203025 */ or $a2,$t9,$zero /* f00333c: 00002025 */ or $a0,$zero,$zero /* f003340: 00002825 */ or $a1,$zero,$zero /* f003344: 2407ffff */ addiu $a3,$zero,-1 /* f003348: afa00018 */ sw $zero,0x18($sp) /* f00334c: afa00028 */ sw $zero,0x28($sp) /* f003350: afaf002c */ sw $t7,0x2c($sp) /* f003354: e7a00024 */ swc1 $f0,0x24($sp) /* f003358: e7a00030 */ swc1 $f0,0x30($sp) /* f00335c: e7a00034 */ swc1 $f0,0x34($sp) /* f003360: 0fc24e7e */ jal func0f0939f8 /* f003364: e7a00038 */ swc1 $f0,0x38($sp) /* f003368: 1000000d */ b .L0f0033a0 /* f00336c: 24020001 */ addiu $v0,$zero,0x1 .L0f003370: /* f003370: 0c004b70 */ jal random /* f003374: afa300d4 */ sw $v1,0xd4($sp) /* f003378: 24010050 */ addiu $at,$zero,0x50 /* f00337c: 0041001b */ divu $zero,$v0,$at /* f003380: 00007010 */ mfhi $t6 /* f003384: 8fa300d4 */ lw $v1,0xd4($sp) /* f003388: 55c00005 */ bnezl $t6,.L0f0033a0 /* f00338c: 00001025 */ or $v0,$zero,$zero /* f003390: 90790005 */ lbu $t9,0x5($v1) /* f003394: 372a0010 */ ori $t2,$t9,0x10 /* f003398: a06a0005 */ sb $t2,0x5($v1) .L0f00339c: /* f00339c: 00001025 */ or $v0,$zero,$zero .L0f0033a0: /* f0033a0: 8fbf0044 */ lw $ra,0x44($sp) /* f0033a4: 27bd00d8 */ addiu $sp,$sp,0xd8 /* f0033a8: 03e00008 */ jr $ra /* f0033ac: 00000000 */ nop ); #endif void lightingTick(void) { s32 i; func0f0037ac(); if (g_Vars.remakewallhitvtx) { func0f141234(); g_Vars.remakewallhitvtx = false; for (i = 1; i < g_Vars.roomcount; i++) { g_Rooms[i].flags &= ~ROOMFLAG_1000; } } } #if VERSION >= VERSION_NTSC_1_0 void func0f003444(void) { s32 i; s32 j; for (i = 0; i < g_Vars.roomcount; i++) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[i].lightindex * 0x22]; g_Rooms[i].bitfield.prevop = 1; g_Rooms[i].unk60 = 0.5f; for (j = 0; j < g_Rooms[i].numlights; j++) { light->unk05_00 = random() % 2 ? true : false; light->healthy = true; light->on = true; light->unk05_03 = false; light->vulnerable = true; light->unk04 = g_Rooms[i].unk4a; light++; } } } #endif #if VERSION >= VERSION_NTSC_1_0 void func0f0035c0(void) { s32 i; s32 j; for (i = 0; i < g_Vars.roomcount; i++) { struct light *light = (struct light *)&g_BgLightsFileData[g_Rooms[i].lightindex * 0x22]; g_Rooms[i].bitfield.prevop = 1; g_Rooms[i].unk60 = 0; for (j = 0; j < g_Rooms[i].numlights; j++) { light->unk05_00 = random() % 2 ? true : false; light->healthy = false; light->on = false; light->unk05_03 = false; light->vulnerable = false; light->unk04 = 0; light++; } } } #endif #if VERSION >= VERSION_NTSC_1_0 void func0f00372c(void) { if (g_Vars.tickmode != var80061458) { if (TICKMODE_CUTSCENE == g_Vars.tickmode && TICKMODE_CUTSCENE != var80061458) { func0f003444(); } else if (TICKMODE_NORMAL == g_Vars.tickmode && TICKMODE_NORMAL != var80061458) { func0f0035c0(); } var80061458 = g_Vars.tickmode; } } #endif #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel func0f0037ac .late_rodata glabel var7f1a7dbc .word func0f0037ac+0x134 # f0038e0 glabel var7f1a7dc0 .word func0f0037ac+0x194 # f003940 glabel var7f1a7dc4 .word func0f0037ac+0x278 # f003a24 glabel var7f1a7dc8 .word func0f0037ac+0x328 # f003ad4 glabel var7f1a7dcc .word func0f0037ac+0x410 # f003bbc glabel var7f1a7dd0 .word 0x40c90fdb glabel var7f1a7dd4 .word 0x3b808081 .text /* f0037ac: 27bdff28 */ addiu $sp,$sp,-216 /* f0037b0: afbf0054 */ sw $ra,0x54($sp) /* f0037b4: afbe0050 */ sw $s8,0x50($sp) /* f0037b8: afb7004c */ sw $s7,0x4c($sp) /* f0037bc: afb60048 */ sw $s6,0x48($sp) /* f0037c0: afb50044 */ sw $s5,0x44($sp) /* f0037c4: afb40040 */ sw $s4,0x40($sp) /* f0037c8: afb3003c */ sw $s3,0x3c($sp) /* f0037cc: afb20038 */ sw $s2,0x38($sp) /* f0037d0: afb10034 */ sw $s1,0x34($sp) /* f0037d4: afb00030 */ sw $s0,0x30($sp) /* f0037d8: f7b60028 */ sdc1 $f22,0x28($sp) /* f0037dc: f7b40020 */ sdc1 $f20,0x20($sp) /* f0037e0: afa000d0 */ sw $zero,0xd0($sp) /* f0037e4: afa000c8 */ sw $zero,0xc8($sp) /* f0037e8: 0fc41b99 */ jal cheatIsActive /* f0037ec: 24040015 */ addiu $a0,$zero,0x15 /* f0037f0: 10400003 */ beqz $v0,.L0f003800 /* f0037f4: 00000000 */ nop /* f0037f8: 0fc00dcb */ jal func0f00372c /* f0037fc: 00000000 */ nop .L0f003800: /* f003800: 3c0e8006 */ lui $t6,%hi(var80061420) /* f003804: 8dce1420 */ lw $t6,%lo(var80061420)($t6) /* f003808: 3c02800a */ lui $v0,%hi(g_Vars+0x2bc) /* f00380c: 51c002b4 */ beqzl $t6,.L0f0042e0 /* f003810: 8fbf0054 */ lw $ra,0x54($sp) /* f003814: 8c42a27c */ lw $v0,%lo(g_Vars+0x2bc)($v0) /* f003818: 241e0001 */ addiu $s8,$zero,0x1 /* f00381c: 2412008c */ addiu $s2,$zero,0x8c /* f003820: 28410002 */ slti $at,$v0,0x2 /* f003824: 14200010 */ bnez $at,.L0f003868 /* f003828: 3c13800a */ lui $s3,%hi(g_Rooms) /* f00382c: 26734928 */ addiu $s3,$s3,%lo(g_Rooms) /* f003830: 2403fbff */ addiu $v1,$zero,-1025 /* f003834: 8e6f0000 */ lw $t7,0x0($s3) .L0f003838: /* f003838: 3c02800a */ lui $v0,%hi(g_Vars+0x2bc) /* f00383c: 27de0001 */ addiu $s8,$s8,0x1 /* f003840: 01f28021 */ addu $s0,$t7,$s2 /* f003844: 96180000 */ lhu $t8,0x0($s0) /* f003848: 2652008c */ addiu $s2,$s2,0x8c /* f00384c: 0303c824 */ and $t9,$t8,$v1 /* f003850: a6190000 */ sh $t9,0x0($s0) /* f003854: 8c42a27c */ lw $v0,%lo(g_Vars+0x2bc)($v0) /* f003858: 03c2082a */ slt $at,$s8,$v0 /* f00385c: 5420fff6 */ bnezl $at,.L0f003838 /* f003860: 8e6f0000 */ lw $t7,0x0($s3) /* f003864: 241e0001 */ addiu $s8,$zero,0x1 .L0f003868: /* f003868: 3c13800a */ lui $s3,%hi(g_Rooms) /* f00386c: 28410002 */ slti $at,$v0,0x2 /* f003870: 142001aa */ bnez $at,.L0f003f1c /* f003874: 26734928 */ addiu $s3,$s3,%lo(g_Rooms) /* f003878: 4480b000 */ mtc1 $zero,$f22 /* f00387c: 2412008c */ addiu $s2,$zero,0x8c /* f003880: 2417008c */ addiu $s7,$zero,0x8c /* f003884: 2416ffff */ addiu $s6,$zero,-1 /* f003888: 27b5009c */ addiu $s5,$sp,0x9c /* f00388c: 27b400a0 */ addiu $s4,$sp,0xa0 /* f003890: 8e680000 */ lw $t0,0x0($s3) .L0f003894: /* f003894: 3c0a800a */ lui $t2,%hi(g_Vars+0x34) /* f003898: 8d4a9ff4 */ lw $t2,%lo(g_Vars+0x34)($t2) /* f00389c: 01128021 */ addu $s0,$t0,$s2 /* f0038a0: 86090054 */ lh $t1,0x54($s0) /* f0038a4: 012a5823 */ subu $t3,$t1,$t2 /* f0038a8: a60b0054 */ sh $t3,0x54($s0) /* f0038ac: 8e6c0000 */ lw $t4,0x0($s3) /* f0038b0: 01928021 */ addu $s0,$t4,$s2 /* f0038b4: 960d004e */ lhu $t5,0x4e($s0) /* f0038b8: 000d7302 */ srl $t6,$t5,0xc /* f0038bc: 25cfffff */ addiu $t7,$t6,-1 /* f0038c0: 2de10005 */ sltiu $at,$t7,0x5 /* f0038c4: 102000c2 */ beqz $at,.L0f003bd0 /* f0038c8: 000f7880 */ sll $t7,$t7,0x2 /* f0038cc: 3c017f1a */ lui $at,%hi(var7f1a7dbc) /* f0038d0: 002f0821 */ addu $at,$at,$t7 /* f0038d4: 8c2f7dbc */ lw $t7,%lo(var7f1a7dbc)($at) /* f0038d8: 01e00008 */ jr $t7 /* f0038dc: 00000000 */ nop /* f0038e0: c6040060 */ lwc1 $f4,0x60($s0) /* f0038e4: 03c02025 */ or $a0,$s8,$zero /* f0038e8: 00002825 */ or $a1,$zero,$zero /* f0038ec: e604005c */ swc1 $f4,0x5c($s0) /* f0038f0: 8e780000 */ lw $t8,0x0($s3) /* f0038f4: 03128021 */ addu $s0,$t8,$s2 /* f0038f8: c606005c */ lwc1 $f6,0x5c($s0) /* f0038fc: 4616303c */ c.lt.s $f6,$f22 /* f003900: 00000000 */ nop /* f003904: 45020005 */ bc1fl .L0f00391c /* f003908: 96080000 */ lhu $t0,0x0($s0) /* f00390c: e616005c */ swc1 $f22,0x5c($s0) /* f003910: 8e790000 */ lw $t9,0x0($s3) /* f003914: 03328021 */ addu $s0,$t9,$s2 /* f003918: 96080000 */ lhu $t0,0x0($s0) .L0f00391c: /* f00391c: 00003025 */ or $a2,$zero,$zero /* f003920: 00003825 */ or $a3,$zero,$zero /* f003924: 35090100 */ ori $t1,$t0,0x100 /* f003928: a6090000 */ sh $t1,0x0($s0) /* f00392c: 0fc00b0a */ jal roomSetLighting /* f003930: afa00010 */ sw $zero,0x10($sp) /* f003934: 8e6a0000 */ lw $t2,0x0($s3) /* f003938: 100000a5 */ b .L0f003bd0 /* f00393c: 01528021 */ addu $s0,$t2,$s2 /* f003940: 860b0054 */ lh $t3,0x54($s0) /* f003944: 056100a2 */ bgez $t3,.L0f003bd0 /* f003948: 00000000 */ nop /* f00394c: 0c004b70 */ jal random /* f003950: 00000000 */ nop /* f003954: 8e6c0000 */ lw $t4,0x0($s3) /* f003958: 44824000 */ mtc1 $v0,$f8 /* f00395c: 3c014f80 */ lui $at,0x4f80 /* f003960: 01928021 */ addu $s0,$t4,$s2 /* f003964: 04410004 */ bgez $v0,.L0f003978 /* f003968: 468042a0 */ cvt.s.w $f10,$f8 /* f00396c: 44818000 */ mtc1 $at,$f16 /* f003970: 00000000 */ nop /* f003974: 46105280 */ add.s $f10,$f10,$f16 .L0f003978: /* f003978: 3c012f80 */ lui $at,0x2f80 /* f00397c: 44819000 */ mtc1 $at,$f18 /* f003980: 3c0142c8 */ lui $at,0x42c8 /* f003984: 44813000 */ mtc1 $at,$f6 /* f003988: 46125102 */ mul.s $f4,$f10,$f18 /* f00398c: c6100060 */ lwc1 $f16,0x60($s0) /* f003990: 3c013f80 */ lui $at,0x3f80 /* f003994: 46062202 */ mul.s $f8,$f4,$f6 /* f003998: 4610403c */ c.lt.s $f8,$f16 /* f00399c: 00000000 */ nop /* f0039a0: 45020008 */ bc1fl .L0f0039c4 /* f0039a4: c6120064 */ lwc1 $f18,0x64($s0) /* f0039a8: 44815000 */ mtc1 $at,$f10 /* f0039ac: 00000000 */ nop /* f0039b0: e60a005c */ swc1 $f10,0x5c($s0) /* f0039b4: 8e6d0000 */ lw $t5,0x0($s3) /* f0039b8: 1000000d */ b .L0f0039f0 /* f0039bc: 01b28021 */ addu $s0,$t5,$s2 /* f0039c0: c6120064 */ lwc1 $f18,0x64($s0) .L0f0039c4: /* f0039c4: e612005c */ swc1 $f18,0x5c($s0) /* f0039c8: 8e6e0000 */ lw $t6,0x0($s3) /* f0039cc: 01d28021 */ addu $s0,$t6,$s2 /* f0039d0: c604005c */ lwc1 $f4,0x5c($s0) /* f0039d4: 4616203c */ c.lt.s $f4,$f22 /* f0039d8: 00000000 */ nop /* f0039dc: 45020005 */ bc1fl .L0f0039f4 /* f0039e0: c6060068 */ lwc1 $f6,0x68($s0) /* f0039e4: e616005c */ swc1 $f22,0x5c($s0) /* f0039e8: 8e6f0000 */ lw $t7,0x0($s3) /* f0039ec: 01f28021 */ addu $s0,$t7,$s2 .L0f0039f0: /* f0039f0: c6060068 */ lwc1 $f6,0x68($s0) .L0f0039f4: /* f0039f4: 4600320d */ trunc.w.s $f8,$f6 /* f0039f8: 44194000 */ mfc1 $t9,$f8 /* f0039fc: 00000000 */ nop /* f003a00: a6190054 */ sh $t9,0x54($s0) /* f003a04: 8e680000 */ lw $t0,0x0($s3) /* f003a08: 01128021 */ addu $s0,$t0,$s2 /* f003a0c: 96090000 */ lhu $t1,0x0($s0) /* f003a10: 352a0100 */ ori $t2,$t1,0x100 /* f003a14: a60a0000 */ sh $t2,0x0($s0) /* f003a18: 8e6b0000 */ lw $t3,0x0($s3) /* f003a1c: 1000006c */ b .L0f003bd0 /* f003a20: 01728021 */ addu $s0,$t3,$s2 /* f003a24: 860c0054 */ lh $t4,0x54($s0) /* f003a28: 00003025 */ or $a2,$zero,$zero /* f003a2c: 5980001d */ blezl $t4,.L0f003aa4 /* f003a30: 03c02025 */ or $a0,$s8,$zero /* f003a34: c6100064 */ lwc1 $f16,0x64($s0) /* f003a38: e610005c */ swc1 $f16,0x5c($s0) /* f003a3c: 8e6d0000 */ lw $t5,0x0($s3) /* f003a40: 01b28021 */ addu $s0,$t5,$s2 /* f003a44: 860e0054 */ lh $t6,0x54($s0) /* f003a48: c6040068 */ lwc1 $f4,0x68($s0) /* f003a4c: c6080060 */ lwc1 $f8,0x60($s0) /* f003a50: 448e5000 */ mtc1 $t6,$f10 /* f003a54: c6100064 */ lwc1 $f16,0x64($s0) /* f003a58: 468054a0 */ cvt.s.w $f18,$f10 /* f003a5c: 46104281 */ sub.s $f10,$f8,$f16 /* f003a60: 46049183 */ div.s $f6,$f18,$f4 /* f003a64: c604005c */ lwc1 $f4,0x5c($s0) /* f003a68: 460a3482 */ mul.s $f18,$f6,$f10 /* f003a6c: 46122200 */ add.s $f8,$f4,$f18 /* f003a70: e608005c */ swc1 $f8,0x5c($s0) /* f003a74: 8e6f0000 */ lw $t7,0x0($s3) /* f003a78: 01f28021 */ addu $s0,$t7,$s2 /* f003a7c: c610005c */ lwc1 $f16,0x5c($s0) /* f003a80: 4616803c */ c.lt.s $f16,$f22 /* f003a84: 00000000 */ nop /* f003a88: 4502000d */ bc1fl .L0f003ac0 /* f003a8c: 96080000 */ lhu $t0,0x0($s0) /* f003a90: e616005c */ swc1 $f22,0x5c($s0) /* f003a94: 8e780000 */ lw $t8,0x0($s3) /* f003a98: 10000008 */ b .L0f003abc /* f003a9c: 03128021 */ addu $s0,$t8,$s2 /* f003aa0: 03c02025 */ or $a0,$s8,$zero .L0f003aa4: /* f003aa4: 00002825 */ or $a1,$zero,$zero /* f003aa8: 00003825 */ or $a3,$zero,$zero /* f003aac: 0fc00b0a */ jal roomSetLighting /* f003ab0: afa00010 */ sw $zero,0x10($sp) /* f003ab4: 8e790000 */ lw $t9,0x0($s3) /* f003ab8: 03328021 */ addu $s0,$t9,$s2 .L0f003abc: /* f003abc: 96080000 */ lhu $t0,0x0($s0) .L0f003ac0: /* f003ac0: 35090100 */ ori $t1,$t0,0x100 /* f003ac4: a6090000 */ sh $t1,0x0($s0) /* f003ac8: 8e6a0000 */ lw $t2,0x0($s3) /* f003acc: 10000040 */ b .L0f003bd0 /* f003ad0: 01528021 */ addu $s0,$t2,$s2 /* f003ad4: 86020054 */ lh $v0,0x54($s0) /* f003ad8: 18400003 */ blez $v0,.L0f003ae8 /* f003adc: 00021823 */ negu $v1,$v0 /* f003ae0: 10000001 */ b .L0f003ae8 /* f003ae4: 00401825 */ or $v1,$v0,$zero .L0f003ae8: /* f003ae8: c6000068 */ lwc1 $f0,0x68($s0) /* f003aec: c6100064 */ lwc1 $f16,0x64($s0) /* f003af0: 4600018d */ trunc.w.s $f6,$f0 /* f003af4: 440c3000 */ mfc1 $t4,$f6 /* f003af8: c6060060 */ lwc1 $f6,0x60($s0) /* f003afc: 006c001a */ div $zero,$v1,$t4 /* f003b00: 00006810 */ mfhi $t5 /* f003b04: 448d5000 */ mtc1 $t5,$f10 /* f003b08: 15800002 */ bnez $t4,.L0f003b14 /* f003b0c: 00000000 */ nop /* f003b10: 0007000d */ break 0x7 .L0f003b14: /* f003b14: 2401ffff */ addiu $at,$zero,-1 /* f003b18: 15810004 */ bne $t4,$at,.L0f003b2c /* f003b1c: 3c018000 */ lui $at,0x8000 /* f003b20: 14610002 */ bne $v1,$at,.L0f003b2c /* f003b24: 00000000 */ nop /* f003b28: 0006000d */ break 0x6 .L0f003b2c: /* f003b2c: 46805120 */ cvt.s.w $f4,$f10 /* f003b30: 3c017f1a */ lui $at,%hi(var7f1a7dd0) /* f003b34: c4327dd0 */ lwc1 $f18,%lo(var7f1a7dd0)($at) /* f003b38: 3c013f00 */ lui $at,0x3f00 /* f003b3c: 46068280 */ add.s $f10,$f16,$f6 /* f003b40: 46122202 */ mul.s $f8,$f4,$f18 /* f003b44: 44812000 */ mtc1 $at,$f4 /* f003b48: 00000000 */ nop /* f003b4c: 46045502 */ mul.s $f20,$f10,$f4 /* f003b50: 0c0068f4 */ jal cosf /* f003b54: 46004303 */ div.s $f12,$f8,$f0 /* f003b58: 3c013f80 */ lui $at,0x3f80 /* f003b5c: 44819000 */ mtc1 $at,$f18 /* f003b60: 8e6e0000 */ lw $t6,0x0($s3) /* f003b64: 46120200 */ add.s $f8,$f0,$f18 /* f003b68: 01d28021 */ addu $s0,$t6,$s2 /* f003b6c: c6060060 */ lwc1 $f6,0x60($s0) /* f003b70: 46144402 */ mul.s $f16,$f8,$f20 /* f003b74: 46068280 */ add.s $f10,$f16,$f6 /* f003b78: e60a005c */ swc1 $f10,0x5c($s0) /* f003b7c: 8e6f0000 */ lw $t7,0x0($s3) /* f003b80: 01f28021 */ addu $s0,$t7,$s2 /* f003b84: c604005c */ lwc1 $f4,0x5c($s0) /* f003b88: 4616203c */ c.lt.s $f4,$f22 /* f003b8c: 00000000 */ nop /* f003b90: 45020005 */ bc1fl .L0f003ba8 /* f003b94: 96190000 */ lhu $t9,0x0($s0) /* f003b98: e616005c */ swc1 $f22,0x5c($s0) /* f003b9c: 8e780000 */ lw $t8,0x0($s3) /* f003ba0: 03128021 */ addu $s0,$t8,$s2 /* f003ba4: 96190000 */ lhu $t9,0x0($s0) .L0f003ba8: /* f003ba8: 37280100 */ ori $t0,$t9,0x100 /* f003bac: a6080000 */ sh $t0,0x0($s0) /* f003bb0: 8e690000 */ lw $t1,0x0($s3) /* f003bb4: 10000006 */ b .L0f003bd0 /* f003bb8: 01328021 */ addu $s0,$t1,$s2 /* f003bbc: 960a0000 */ lhu $t2,0x0($s0) /* f003bc0: 354b0100 */ ori $t3,$t2,0x100 /* f003bc4: a60b0000 */ sh $t3,0x0($s0) /* f003bc8: 8e6c0000 */ lw $t4,0x0($s3) /* f003bcc: 01928021 */ addu $s0,$t4,$s2 .L0f003bd0: /* f003bd0: 3c0d8006 */ lui $t5,%hi(var8006144c) /* f003bd4: 8dad144c */ lw $t5,%lo(var8006144c)($t5) /* f003bd8: 51a00007 */ beqzl $t5,.L0f003bf8 /* f003bdc: 96060000 */ lhu $a2,0x0($s0) /* f003be0: 960e0000 */ lhu $t6,0x0($s0) /* f003be4: 35cf0100 */ ori $t7,$t6,0x100 /* f003be8: a60f0000 */ sh $t7,0x0($s0) /* f003bec: 8e780000 */ lw $t8,0x0($s3) /* f003bf0: 03128021 */ addu $s0,$t8,$s2 /* f003bf4: 96060000 */ lhu $a2,0x0($s0) .L0f003bf8: /* f003bf8: 30d90100 */ andi $t9,$a2,0x100 /* f003bfc: 5320007f */ beqzl $t9,.L0f003dfc /* f003c00: 860a0052 */ lh $t2,0x52($s0) /* f003c04: 82040008 */ lb $a0,0x8($s0) /* f003c08: 24080001 */ addiu $t0,$zero,0x1 /* f003c0c: afa800c8 */ sw $t0,0xc8($sp) /* f003c10: 10800032 */ beqz $a0,.L0f003cdc /* f003c14: 00001825 */ or $v1,$zero,$zero /* f003c18: 9609000a */ lhu $t1,0xa($s0) /* 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 /* f003c30: 00002825 */ or $a1,$zero,$zero /* f003c34: 1880000b */ blez $a0,.L0f003c64 /* f003c38: 014b1021 */ addu $v0,$t2,$t3 .L0f003c3c: /* f003c3c: 944c0004 */ lhu $t4,0x4($v0) /* f003c40: 24630001 */ addiu $v1,$v1,0x1 /* f003c44: 0064082a */ slt $at,$v1,$a0 /* f003c48: 000c7680 */ sll $t6,$t4,0x1a /* f003c4c: 05c10002 */ bgez $t6,.L0f003c58 /* f003c50: 00000000 */ nop /* f003c54: 24a50001 */ addiu $a1,$a1,0x1 .L0f003c58: /* f003c58: 1420fff8 */ bnez $at,.L0f003c3c /* f003c5c: 24420022 */ addiu $v0,$v0,0x22 /* f003c60: 00001825 */ or $v1,$zero,$zero .L0f003c64: /* f003c64: 30cf2000 */ andi $t7,$a2,0x2000 /* f003c68: 11e00004 */ beqz $t7,.L0f003c7c /* f003c6c: 3c014000 */ lui $at,0x4000 /* f003c70: 44810000 */ mtc1 $at,$f0 /* f003c74: 10000028 */ b .L0f003d18 /* f003c78: c610005c */ lwc1 $f16,0x5c($s0) .L0f003c7c: /* f003c7c: 50a0000c */ beqzl $a1,.L0f003cb0 /* f003c80: 9219004c */ lbu $t9,0x4c($s0) /* f003c84: 9218004c */ lbu $t8,0x4c($s0) /* f003c88: 3c014f80 */ lui $at,0x4f80 /* f003c8c: 44989000 */ mtc1 $t8,$f18 /* f003c90: 07010020 */ bgez $t8,.L0f003d14 /* f003c94: 46809020 */ cvt.s.w $f0,$f18 /* f003c98: 44814000 */ mtc1 $at,$f8 /* f003c9c: 00000000 */ nop /* f003ca0: 46080000 */ add.s $f0,$f0,$f8 /* f003ca4: 1000001c */ b .L0f003d18 /* f003ca8: c610005c */ lwc1 $f16,0x5c($s0) /* f003cac: 9219004c */ lbu $t9,0x4c($s0) .L0f003cb0: /* f003cb0: 3c014f80 */ lui $at,0x4f80 /* f003cb4: 44998000 */ mtc1 $t9,$f16 /* f003cb8: 07210004 */ bgez $t9,.L0f003ccc /* f003cbc: 468081a0 */ cvt.s.w $f6,$f16 /* f003cc0: 44815000 */ mtc1 $at,$f10 /* f003cc4: 00000000 */ nop /* f003cc8: 460a3180 */ add.s $f6,$f6,$f10 .L0f003ccc: /* f003ccc: 3c014000 */ lui $at,0x4000 /* f003cd0: 44812000 */ mtc1 $at,$f4 /* f003cd4: 1000000f */ b .L0f003d14 /* f003cd8: 46043003 */ div.s $f0,$f6,$f4 .L0f003cdc: /* f003cdc: 30c82000 */ andi $t0,$a2,0x2000 /* f003ce0: 11000004 */ beqz $t0,.L0f003cf4 /* f003ce4: 3c014000 */ lui $at,0x4000 /* f003ce8: 44810000 */ mtc1 $at,$f0 /* f003cec: 1000000a */ b .L0f003d18 /* f003cf0: c610005c */ lwc1 $f16,0x5c($s0) .L0f003cf4: /* f003cf4: 9209004c */ lbu $t1,0x4c($s0) /* f003cf8: 3c014f80 */ lui $at,0x4f80 /* f003cfc: 44899000 */ mtc1 $t1,$f18 /* f003d00: 05210004 */ bgez $t1,.L0f003d14 /* f003d04: 46809020 */ cvt.s.w $f0,$f18 /* f003d08: 44814000 */ mtc1 $at,$f8 /* f003d0c: 00000000 */ nop /* f003d10: 46080000 */ add.s $f0,$f0,$f8 .L0f003d14: /* f003d14: c610005c */ lwc1 $f16,0x5c($s0) .L0f003d18: /* 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_BgLightsFileData)($t7) /* f003d38: 01928021 */ addu $s0,$t4,$s2 /* f003d3c: 960d000a */ lhu $t5,0xa($s0) /* f003d40: 82040008 */ lb $a0,0x8($s0) /* f003d44: 000d7100 */ sll $t6,$t5,0x4 /* f003d48: 01cd7021 */ addu $t6,$t6,$t5 /* f003d4c: 000e7040 */ sll $t6,$t6,0x1 /* f003d50: 1880001c */ blez $a0,.L0f003dc4 /* f003d54: 01cf1021 */ addu $v0,$t6,$t7 .L0f003d58: /* f003d58: 94580004 */ lhu $t8,0x4($v0) /* f003d5c: 24630001 */ addiu $v1,$v1,0x1 /* f003d60: 0018ce80 */ sll $t9,$t8,0x1a /* f003d64: 07230015 */ bgezl $t9,.L0f003dbc /* f003d68: 0064082a */ slt $at,$v1,$a0 /* f003d6c: 90490004 */ lbu $t1,0x4($v0) /* f003d70: c606005c */ lwc1 $f6,0x5c($s0) /* f003d74: 3c014f80 */ lui $at,0x4f80 /* f003d78: 44892000 */ mtc1 $t1,$f4 /* f003d7c: 05210004 */ bgez $t1,.L0f003d90 /* f003d80: 468024a0 */ cvt.s.w $f18,$f4 /* f003d84: 44814000 */ mtc1 $at,$f8 /* f003d88: 00000000 */ nop /* f003d8c: 46089480 */ add.s $f18,$f18,$f8 .L0f003d90: /* f003d90: 46123002 */ mul.s $f0,$f6,$f18 /* f003d94: 860a0050 */ lh $t2,0x50($s0) /* f003d98: 4600040d */ trunc.w.s $f16,$f0 /* f003d9c: 440c8000 */ mfc1 $t4,$f16 /* f003da0: 00000000 */ nop /* f003da4: 014c6821 */ addu $t5,$t2,$t4 /* f003da8: a60d0050 */ sh $t5,0x50($s0) /* f003dac: 8e6e0000 */ lw $t6,0x0($s3) /* f003db0: 01d28021 */ addu $s0,$t6,$s2 /* f003db4: 82040008 */ lb $a0,0x8($s0) /* f003db8: 0064082a */ slt $at,$v1,$a0 .L0f003dbc: /* f003dbc: 1420ffe6 */ bnez $at,.L0f003d58 /* f003dc0: 24420022 */ addiu $v0,$v0,0x22 .L0f003dc4: /* f003dc4: 860f0050 */ lh $t7,0x50($s0) /* f003dc8: 29e10100 */ slti $at,$t7,0x100 /* f003dcc: 54200006 */ bnezl $at,.L0f003de8 /* f003dd0: 96080000 */ lhu $t0,0x0($s0) /* f003dd4: 241800ff */ addiu $t8,$zero,0xff /* f003dd8: a6180050 */ sh $t8,0x50($s0) /* f003ddc: 8e790000 */ lw $t9,0x0($s3) /* f003de0: 03328021 */ addu $s0,$t9,$s2 /* f003de4: 96080000 */ lhu $t0,0x0($s0) .L0f003de8: /* f003de8: 3109feff */ andi $t1,$t0,0xfeff /* f003dec: a6090000 */ sh $t1,0x0($s0) /* f003df0: 8e6b0000 */ lw $t3,0x0($s3) /* f003df4: 01728021 */ addu $s0,$t3,$s2 /* f003df8: 860a0052 */ lh $t2,0x52($s0) .L0f003dfc: /* f003dfc: 3c028006 */ lui $v0,%hi(var80061420) /* f003e00: 5140003c */ beqzl $t2,.L0f003ef4 /* f003e04: 96080000 */ lhu $t0,0x0($s0) /* f003e08: 3c11800a */ lui $s1,%hi(g_Vars+0x34) /* f003e0c: 8e319ff4 */ lw $s1,%lo(g_Vars+0x34)($s1) /* f003e10: 8c421420 */ lw $v0,%lo(var80061420)($v0) /* f003e14: 001e80c0 */ sll $s0,$s8,0x3 /* f003e18: 00116040 */ sll $t4,$s1,0x1 /* f003e1c: 1040001c */ beqz $v0,.L0f003e90 /* f003e20: 01808825 */ or $s1,$t4,$zero /* f003e24: afa000a0 */ sw $zero,0xa0($sp) /* f003e28: afa0009c */ sw $zero,0x9c($sp) /* f003e2c: 00506821 */ addu $t5,$v0,$s0 /* f003e30: 8da40004 */ lw $a0,0x4($t5) /* f003e34: 02802825 */ or $a1,$s4,$zero /* f003e38: 0fc5df23 */ jal func0f177c8c /* f003e3c: 02a03025 */ or $a2,$s5,$zero /* f003e40: 50560014 */ beql $v0,$s6,.L0f003e94 /* f003e44: 8e6a0000 */ lw $t2,0x0($s3) .L0f003e48: /* f003e48: 10400009 */ beqz $v0,.L0f003e70 /* f003e4c: 3c098006 */ lui $t1,%hi(var80061420) /* f003e50: 8faf009c */ lw $t7,0x9c($sp) /* f003e54: 8e6e0000 */ lw $t6,0x0($s3) /* f003e58: 01f70019 */ multu $t7,$s7 /* f003e5c: 0000c012 */ mflo $t8 /* f003e60: 01d81021 */ addu $v0,$t6,$t8 /* f003e64: 94590000 */ lhu $t9,0x0($v0) /* f003e68: 37280400 */ ori $t0,$t9,0x400 /* f003e6c: a4480000 */ sh $t0,0x0($v0) .L0f003e70: /* f003e70: 8d291420 */ lw $t1,%lo(var80061420)($t1) /* f003e74: 02802825 */ or $a1,$s4,$zero /* f003e78: 02a03025 */ or $a2,$s5,$zero /* f003e7c: 01305821 */ addu $t3,$t1,$s0 /* f003e80: 0fc5df23 */ jal func0f177c8c /* f003e84: 8d640004 */ lw $a0,0x4($t3) /* f003e88: 1456ffef */ bne $v0,$s6,.L0f003e48 /* f003e8c: 00000000 */ nop .L0f003e90: /* f003e90: 8e6a0000 */ lw $t2,0x0($s3) .L0f003e94: /* f003e94: 01528021 */ addu $s0,$t2,$s2 /* f003e98: 86020052 */ lh $v0,0x52($s0) /* f003e9c: 18400008 */ blez $v0,.L0f003ec0 /* f003ea0: 0222082a */ slt $at,$s1,$v0 /* f003ea4: 0051082a */ slt $at,$v0,$s1 /* f003ea8: 50200003 */ beqzl $at,.L0f003eb8 /* f003eac: 00516023 */ subu $t4,$v0,$s1 /* f003eb0: 00408825 */ or $s1,$v0,$zero /* f003eb4: 00516023 */ subu $t4,$v0,$s1 .L0f003eb8: /* f003eb8: 10000006 */ b .L0f003ed4 /* f003ebc: a60c0052 */ sh $t4,0x52($s0) .L0f003ec0: /* f003ec0: 50200003 */ beqzl $at,.L0f003ed0 /* f003ec4: 00516821 */ addu $t5,$v0,$s1 /* f003ec8: 00408825 */ or $s1,$v0,$zero /* f003ecc: 00516821 */ addu $t5,$v0,$s1 .L0f003ed0: /* f003ed0: a60d0052 */ sh $t5,0x52($s0) .L0f003ed4: /* f003ed4: 8e6f0000 */ lw $t7,0x0($s3) /* f003ed8: 01f28021 */ addu $s0,$t7,$s2 /* f003edc: 960e0000 */ lhu $t6,0x0($s0) /* f003ee0: 35d80400 */ ori $t8,$t6,0x400 /* f003ee4: a6180000 */ sh $t8,0x0($s0) /* f003ee8: 8e790000 */ lw $t9,0x0($s3) /* f003eec: 03328021 */ addu $s0,$t9,$s2 /* f003ef0: 96080000 */ lhu $t0,0x0($s0) .L0f003ef4: /* f003ef4: 3c02800a */ lui $v0,%hi(g_Vars+0x2bc) /* f003ef8: 27de0001 */ addiu $s8,$s8,0x1 /* f003efc: 3109feff */ andi $t1,$t0,0xfeff /* f003f00: a6090000 */ sh $t1,0x0($s0) /* f003f04: 8c42a27c */ lw $v0,%lo(g_Vars+0x2bc)($v0) /* f003f08: 2652008c */ addiu $s2,$s2,0x8c /* f003f0c: 03c2082a */ slt $at,$s8,$v0 /* f003f10: 5420fe60 */ bnezl $at,.L0f003894 /* f003f14: 8e680000 */ lw $t0,0x0($s3) /* f003f18: 241e0001 */ addiu $s8,$zero,0x1 .L0f003f1c: /* f003f1c: 3c0b8006 */ lui $t3,%hi(var8006144c) /* f003f20: 8d6b144c */ lw $t3,%lo(var8006144c)($t3) /* f003f24: 2416ffff */ addiu $s6,$zero,-1 /* f003f28: 2417008c */ addiu $s7,$zero,0x8c /* f003f2c: 15600002 */ bnez $t3,.L0f003f38 /* f003f30: 8faa00c8 */ lw $t2,0xc8($sp) /* f003f34: 11400010 */ beqz $t2,.L0f003f78 .L0f003f38: /* f003f38: 28410002 */ slti $at,$v0,0x2 /* f003f3c: 1420000e */ bnez $at,.L0f003f78 /* f003f40: 2412008c */ addiu $s2,$zero,0x8c /* f003f44: 8e6c0000 */ lw $t4,0x0($s3) .L0f003f48: /* f003f48: 3c02800a */ lui $v0,%hi(g_Vars+0x2bc) /* f003f4c: 27de0001 */ addiu $s8,$s8,0x1 /* f003f50: 01928021 */ addu $s0,$t4,$s2 /* f003f54: 960d0000 */ lhu $t5,0x0($s0) /* f003f58: 2652008c */ addiu $s2,$s2,0x8c /* f003f5c: 35af0200 */ ori $t7,$t5,0x200 /* f003f60: a60f0000 */ sh $t7,0x0($s0) /* f003f64: 8c42a27c */ lw $v0,%lo(g_Vars+0x2bc)($v0) /* f003f68: 03c2082a */ slt $at,$s8,$v0 /* f003f6c: 5420fff6 */ bnezl $at,.L0f003f48 /* f003f70: 8e6c0000 */ lw $t4,0x0($s3) /* f003f74: 241e0001 */ addiu $s8,$zero,0x1 .L0f003f78: /* f003f78: 28410002 */ slti $at,$v0,0x2 /* f003f7c: 1420009a */ bnez $at,.L0f0041e8 /* f003f80: 27b5008c */ addiu $s5,$sp,0x8c /* f003f84: 3c017f1a */ lui $at,%hi(var7f1a7dd4) /* f003f88: c4347dd4 */ lwc1 $f20,%lo(var7f1a7dd4)($at) /* f003f8c: 27b40090 */ addiu $s4,$sp,0x90 .L0f003f90: /* f003f90: 53c00092 */ beqzl $s8,.L0f0041dc /* f003f94: 27de0001 */ addiu $s8,$s8,0x1 /* f003f98: 03d70019 */ multu $s8,$s7 /* f003f9c: 8e6e0000 */ lw $t6,0x0($s3) /* f003fa0: 00009012 */ mflo $s2 /* f003fa4: 01d2c021 */ addu $t8,$t6,$s2 /* f003fa8: 97060000 */ lhu $a2,0x0($t8) /* f003fac: 30d90080 */ andi $t9,$a2,0x80 /* f003fb0: 17200002 */ bnez $t9,.L0f003fbc /* f003fb4: 30c8000c */ andi $t0,$a2,0xc /* f003fb8: 11000087 */ beqz $t0,.L0f0041d8 .L0f003fbc: /* f003fbc: 30c90600 */ andi $t1,$a2,0x600 /* f003fc0: 11200085 */ beqz $t1,.L0f0041d8 /* f003fc4: 00008825 */ or $s1,$zero,$zero /* f003fc8: 3c0b8006 */ lui $t3,%hi(var80061420) /* f003fcc: 8d6b1420 */ lw $t3,%lo(var80061420)($t3) /* f003fd0: 001e80c0 */ sll $s0,$s8,0x3 /* f003fd4: afa00090 */ sw $zero,0x90($sp) /* f003fd8: afa0008c */ sw $zero,0x8c($sp) /* f003fdc: 01705021 */ addu $t2,$t3,$s0 /* f003fe0: 8d440000 */ lw $a0,0x0($t2) /* f003fe4: 02802825 */ or $a1,$s4,$zero /* f003fe8: 0fc5df23 */ jal func0f177c8c /* f003fec: 02a03025 */ or $a2,$s5,$zero /* f003ff0: 50560021 */ beql $v0,$s6,.L0f004078 /* f003ff4: 2a210100 */ slti $at,$s1,0x100 /* f003ff8: 8fac008c */ lw $t4,0x8c($sp) .L0f003ffc: /* f003ffc: 3c088006 */ lui $t0,%hi(var80061420) /* f004000: 11800014 */ beqz $t4,.L0f004054 /* f004004: 00000000 */ nop /* f004008: 11800011 */ beqz $t4,.L0f004050 /* f00400c: 00001825 */ or $v1,$zero,$zero /* f004010: 01970019 */ multu $t4,$s7 /* f004014: 8e6d0000 */ lw $t5,0x0($s3) /* f004018: 44824000 */ mtc1 $v0,$f8 /* f00401c: 00000000 */ nop /* f004020: 468041a0 */ cvt.s.w $f6,$f8 /* f004024: 00007812 */ mflo $t7 /* f004028: 01af7021 */ addu $t6,$t5,$t7 /* f00402c: 85d80050 */ lh $t8,0x50($t6) /* f004030: 4606a482 */ mul.s $f18,$f20,$f6 /* f004034: 44985000 */ mtc1 $t8,$f10 /* f004038: 00000000 */ nop /* f00403c: 46805120 */ cvt.s.w $f4,$f10 /* f004040: 46049402 */ mul.s $f16,$f18,$f4 /* f004044: 4600828d */ trunc.w.s $f10,$f16 /* f004048: 44035000 */ mfc1 $v1,$f10 /* f00404c: 00000000 */ nop .L0f004050: /* f004050: 02238821 */ addu $s1,$s1,$v1 .L0f004054: /* f004054: 8d081420 */ lw $t0,%lo(var80061420)($t0) /* f004058: 02802825 */ or $a1,$s4,$zero /* f00405c: 02a03025 */ or $a2,$s5,$zero /* f004060: 01104821 */ addu $t1,$t0,$s0 /* f004064: 0fc5df23 */ jal func0f177c8c /* f004068: 8d240000 */ lw $a0,0x0($t1) /* f00406c: 5456ffe3 */ bnel $v0,$s6,.L0f003ffc /* f004070: 8fac008c */ lw $t4,0x8c($sp) /* f004074: 2a210100 */ slti $at,$s1,0x100 .L0f004078: /* f004078: 54200003 */ bnezl $at,.L0f004088 /* f00407c: 8e6b0000 */ lw $t3,0x0($s3) /* f004080: 241100ff */ addiu $s1,$zero,0xff /* f004084: 8e6b0000 */ lw $t3,0x0($s3) .L0f004088: /* f004088: 24010005 */ addiu $at,$zero,0x5 /* f00408c: 01725021 */ addu $t2,$t3,$s2 /* f004090: a151004b */ sb $s1,0x4b($t2) /* f004094: 8e6c0000 */ lw $t4,0x0($s3) /* f004098: 01928021 */ addu $s0,$t4,$s2 /* f00409c: 960d0000 */ lhu $t5,0x0($s0) /* f0040a0: 35af0040 */ ori $t7,$t5,0x40 /* f0040a4: a60f0000 */ sh $t7,0x0($s0) /* f0040a8: 8e6e0000 */ lw $t6,0x0($s3) /* f0040ac: 01d28021 */ addu $s0,$t6,$s2 /* f0040b0: 96180000 */ lhu $t8,0x0($s0) /* f0040b4: 37191000 */ ori $t9,$t8,0x1000 /* f0040b8: a6190000 */ sh $t9,0x0($s0) /* f0040bc: 8e680000 */ lw $t0,0x0($s3) /* f0040c0: 01128021 */ addu $s0,$t0,$s2 /* f0040c4: 96090000 */ lhu $t1,0x0($s0) /* f0040c8: 312bf9ff */ andi $t3,$t1,0xf9ff /* f0040cc: a60b0000 */ sh $t3,0x0($s0) /* f0040d0: 8e6a0000 */ lw $t2,0x0($s3) /* f0040d4: 01526021 */ addu $t4,$t2,$s2 /* f0040d8: 958d004e */ lhu $t5,0x4e($t4) /* f0040dc: 000d7b02 */ srl $t7,$t5,0xc /* f0040e0: 15e10023 */ bne $t7,$at,.L0f004170 /* f0040e4: 00000000 */ nop /* f0040e8: 0fc00284 */ jal func0f000a10 /* f0040ec: 03c02025 */ or $a0,$s8,$zero /* f0040f0: 001e2400 */ sll $a0,$s8,0x10 /* f0040f4: 00047403 */ sra $t6,$a0,0x10 /* f0040f8: afa2007c */ sw $v0,0x7c($sp) /* f0040fc: afa20078 */ sw $v0,0x78($sp) /* f004100: 01c02025 */ or $a0,$t6,$zero /* f004104: 27a50080 */ addiu $a1,$sp,0x80 /* f004108: 27a6007c */ addiu $a2,$sp,0x7c /* f00410c: 27a70078 */ addiu $a3,$sp,0x78 /* f004110: 0fc6192e */ jal scenarioCallback38 /* f004114: afa20080 */ sw $v0,0x80($sp) /* f004118: 8fb80080 */ lw $t8,0x80($sp) /* f00411c: 8e790000 */ lw $t9,0x0($s3) /* f004120: 44984000 */ mtc1 $t8,$f8 /* f004124: 03324021 */ addu $t0,$t9,$s2 /* f004128: 468041a0 */ cvt.s.w $f6,$f8 /* f00412c: 46143482 */ mul.s $f18,$f6,$f20 /* f004130: e5120074 */ swc1 $f18,0x74($t0) /* f004134: 8fa9007c */ lw $t1,0x7c($sp) /* f004138: 8e6b0000 */ lw $t3,0x0($s3) /* f00413c: 44892000 */ mtc1 $t1,$f4 /* f004140: 01725021 */ addu $t2,$t3,$s2 /* f004144: 46802420 */ cvt.s.w $f16,$f4 /* f004148: 46148282 */ mul.s $f10,$f16,$f20 /* f00414c: e54a0078 */ swc1 $f10,0x78($t2) /* f004150: 8fac0078 */ lw $t4,0x78($sp) /* f004154: 8e6d0000 */ lw $t5,0x0($s3) /* f004158: 448c4000 */ mtc1 $t4,$f8 /* f00415c: 01b27821 */ addu $t7,$t5,$s2 /* f004160: 468041a0 */ cvt.s.w $f6,$f8 /* f004164: 46143482 */ mul.s $f18,$f6,$f20 /* f004168: 10000016 */ b .L0f0041c4 /* f00416c: e5f2007c */ swc1 $f18,0x7c($t7) .L0f004170: /* f004170: 0fc00284 */ jal func0f000a10 /* f004174: 03c02025 */ or $a0,$s8,$zero /* f004178: 44822000 */ mtc1 $v0,$f4 /* f00417c: 3c014f80 */ lui $at,0x4f80 /* f004180: 04410004 */ bgez $v0,.L0f004194 /* f004184: 46802420 */ cvt.s.w $f16,$f4 /* f004188: 44815000 */ mtc1 $at,$f10 /* f00418c: 00000000 */ nop /* f004190: 460a8400 */ add.s $f16,$f16,$f10 .L0f004194: /* f004194: 46148202 */ mul.s $f8,$f16,$f20 /* f004198: 8e6e0000 */ lw $t6,0x0($s3) /* f00419c: 01d2c021 */ addu $t8,$t6,$s2 /* f0041a0: e7080074 */ swc1 $f8,0x74($t8) /* f0041a4: 8e790000 */ lw $t9,0x0($s3) /* f0041a8: 03328021 */ addu $s0,$t9,$s2 /* f0041ac: c6060074 */ lwc1 $f6,0x74($s0) /* f0041b0: e6060078 */ swc1 $f6,0x78($s0) /* f0041b4: 8e680000 */ lw $t0,0x0($s3) /* f0041b8: 01128021 */ addu $s0,$t0,$s2 /* f0041bc: c6120074 */ lwc1 $f18,0x74($s0) /* f0041c0: e612007c */ swc1 $f18,0x7c($s0) .L0f0041c4: /* f0041c4: 8fa900d0 */ lw $t1,0xd0($sp) /* f0041c8: 3c02800a */ lui $v0,%hi(g_Vars+0x2bc) /* f0041cc: 8c42a27c */ lw $v0,%lo(g_Vars+0x2bc)($v0) /* f0041d0: 252b0001 */ addiu $t3,$t1,0x1 /* f0041d4: afab00d0 */ sw $t3,0xd0($sp) .L0f0041d8: /* f0041d8: 27de0001 */ addiu $s8,$s8,0x1 .L0f0041dc: /* f0041dc: 03c2082a */ slt $at,$s8,$v0 /* f0041e0: 1420ff6b */ bnez $at,.L0f003f90 /* f0041e4: 00000000 */ nop .L0f0041e8: /* f0041e8: 3c0a800a */ lui $t2,%hi(g_Vars+0x4d8) /* f0041ec: 8d4aa498 */ lw $t2,%lo(g_Vars+0x4d8)($t2) /* f0041f0: 3c038006 */ lui $v1,%hi(var8006144c) /* f0041f4: 8c63144c */ lw $v1,%lo(var8006144c)($v1) /* f0041f8: 1d400035 */ bgtz $t2,.L0f0042d0 /* f0041fc: 8fac00d0 */ lw $t4,0xd0($sp) /* f004200: 15800003 */ bnez $t4,.L0f004210 /* f004204: 3c11800a */ lui $s1,%hi(g_Vars+0x33c) /* f004208: 10600031 */ beqz $v1,.L0f0042d0 /* f00420c: 00000000 */ nop .L0f004210: /* f004210: 8e31a2fc */ lw $s1,%lo(g_Vars+0x33c)($s1) /* f004214: 24140003 */ addiu $s4,$zero,0x3 /* f004218: 24120002 */ addiu $s2,$zero,0x2 /* f00421c: 5220002a */ beqzl $s1,.L0f0042c8 /* f004220: 240d000f */ addiu $t5,$zero,0xf /* f004224: 922d0000 */ lbu $t5,0x0($s1) .L0f004228: /* f004228: 568d0024 */ bnel $s4,$t5,.L0f0042bc /* f00422c: 8e310020 */ lw $s1,0x20($s1) /* f004230: 862f0028 */ lh $t7,0x28($s1) /* f004234: 0000f025 */ or $s8,$zero,$zero /* f004238: 02208025 */ or $s0,$s1,$zero /* f00423c: 52cf001f */ beql $s6,$t7,.L0f0042bc /* f004240: 8e310020 */ lw $s1,0x20($s1) /* f004244: 86220028 */ lh $v0,0x28($s1) .L0f004248: /* f004248: 00570019 */ multu $v0,$s7 /* f00424c: 8e6e0000 */ lw $t6,0x0($s3) /* f004250: 0000c012 */ mflo $t8 /* f004254: 01d8c821 */ addu $t9,$t6,$t8 /* f004258: 97280000 */ lhu $t0,0x0($t9) /* f00425c: 31091000 */ andi $t1,$t0,0x1000 /* f004260: 51200012 */ beqzl $t1,.L0f0042ac /* f004264: 8602002a */ lh $v0,0x2a($s0) /* f004268: 5472000a */ bnel $v1,$s2,.L0f004294 /* f00426c: 8e220004 */ lw $v0,0x4($s1) /* f004270: 8e220004 */ lw $v0,0x4($s1) /* f004274: 8c44001c */ lw $a0,0x1c($v0) /* f004278: 244500fc */ addiu $a1,$v0,0xfc /* f00427c: 0fc1a451 */ jal func0f069144 /* f004280: 9446018a */ lhu $a2,0x18a($v0) /* f004284: 3c038006 */ lui $v1,%hi(var8006144c) /* f004288: 10000007 */ b .L0f0042a8 /* f00428c: 8c63144c */ lw $v1,%lo(var8006144c)($v1) /* f004290: 8e220004 */ lw $v0,0x4($s1) .L0f004294: /* f004294: 3c038006 */ lui $v1,%hi(var8006144c) /* f004298: 904a032e */ lbu $t2,0x32e($v0) /* f00429c: 354c0020 */ ori $t4,$t2,0x20 /* f0042a0: a04c032e */ sb $t4,0x32e($v0) /* f0042a4: 8c63144c */ lw $v1,%lo(var8006144c)($v1) .L0f0042a8: /* f0042a8: 8602002a */ lh $v0,0x2a($s0) .L0f0042ac: /* f0042ac: 26100002 */ addiu $s0,$s0,0x2 /* f0042b0: 16c2ffe5 */ bne $s6,$v0,.L0f004248 /* f0042b4: 00000000 */ nop /* f0042b8: 8e310020 */ lw $s1,0x20($s1) .L0f0042bc: /* f0042bc: 5620ffda */ bnezl $s1,.L0f004228 /* f0042c0: 922d0000 */ lbu $t5,0x0($s1) /* f0042c4: 240d000f */ addiu $t5,$zero,0xf .L0f0042c8: /* f0042c8: 3c01800a */ lui $at,%hi(g_Vars+0x4e1) /* f0042cc: a02da4a1 */ sb $t5,%lo(g_Vars+0x4e1)($at) .L0f0042d0: /* f0042d0: 10600002 */ beqz $v1,.L0f0042dc /* f0042d4: 3c018006 */ lui $at,%hi(var8006144c) /* f0042d8: ac20144c */ sw $zero,%lo(var8006144c)($at) .L0f0042dc: /* f0042dc: 8fbf0054 */ lw $ra,0x54($sp) .L0f0042e0: /* f0042e0: d7b40020 */ ldc1 $f20,0x20($sp) /* f0042e4: d7b60028 */ ldc1 $f22,0x28($sp) /* f0042e8: 8fb00030 */ lw $s0,0x30($sp) /* f0042ec: 8fb10034 */ lw $s1,0x34($sp) /* f0042f0: 8fb20038 */ lw $s2,0x38($sp) /* f0042f4: 8fb3003c */ lw $s3,0x3c($sp) /* f0042f8: 8fb40040 */ lw $s4,0x40($sp) /* f0042fc: 8fb50044 */ lw $s5,0x44($sp) /* f004300: 8fb60048 */ lw $s6,0x48($sp) /* f004304: 8fb7004c */ lw $s7,0x4c($sp) /* f004308: 8fbe0050 */ lw $s8,0x50($sp) /* f00430c: 03e00008 */ jr $ra /* f004310: 27bd00d8 */ addiu $sp,$sp,0xd8 ); #else GLOBAL_ASM( glabel func0f0037ac .late_rodata glabel var7f1a7dbc .word func0f0037ac+0x154 glabel var7f1a7dc0 .word func0f0037ac+0x1b4 glabel var7f1a7dc4 .word func0f0037ac+0x298 glabel var7f1a7dc8 .word func0f0037ac+0x348 glabel var7f1a7dcc .word func0f0037ac+0x430 glabel var7f1a7dd0 .word 0x40c90fdb glabel var7f1a7dd4 .word 0x3b808081 .text /* f0034d4: 27bdff28 */ addiu $sp,$sp,-216 /* f0034d8: 3c038006 */ lui $v1,0x8006 /* f0034dc: 3c02800a */ lui $v0,0x800a /* f0034e0: 8c633980 */ lw $v1,0x3980($v1) /* f0034e4: 8c42e96c */ lw $v0,-0x1694($v0) /* f0034e8: afbf0054 */ sw $ra,0x54($sp) /* f0034ec: afbe0050 */ sw $s8,0x50($sp) /* f0034f0: afb7004c */ sw $s7,0x4c($sp) /* f0034f4: afb60048 */ sw $s6,0x48($sp) /* f0034f8: afb50044 */ sw $s5,0x44($sp) /* f0034fc: afb40040 */ sw $s4,0x40($sp) /* f003500: afb3003c */ sw $s3,0x3c($sp) /* f003504: afb20038 */ sw $s2,0x38($sp) /* f003508: afb10034 */ sw $s1,0x34($sp) /* f00350c: afb00030 */ sw $s0,0x30($sp) /* f003510: f7b60028 */ sdc1 $f22,0x28($sp) /* f003514: f7b40020 */ sdc1 $f20,0x20($sp) /* f003518: afa000d4 */ sw $zero,0xd4($sp) /* f00351c: 1062000a */ beq $v1,$v0,.NB0f003548 /* f003520: afa000c8 */ sw $zero,0xc8($sp) /* f003524: 24010006 */ addiu $at,$zero,0x6 /* f003528: 14610005 */ bne $v1,$at,.NB0f003540 /* f00352c: 24010001 */ addiu $at,$zero,0x1 /* f003530: 14410003 */ bne $v0,$at,.NB0f003540 /* f003534: 240e0002 */ addiu $t6,$zero,0x2 /* f003538: 3c018006 */ lui $at,0x8006 /* f00353c: ac2e395c */ sw $t6,0x395c($at) .NB0f003540: /* f003540: 3c018006 */ lui $at,0x8006 /* f003544: ac223980 */ sw $v0,0x3980($at) .NB0f003548: /* f003548: 3c0f8006 */ lui $t7,0x8006 /* f00354c: 8def3930 */ lw $t7,0x3930($t7) /* f003550: 3c02800a */ lui $v0,0x800a /* f003554: 51e002b4 */ beqzl $t7,.NB0f004028 /* f003558: 8fbf0054 */ lw $ra,0x54($sp) /* f00355c: 8c42e97c */ lw $v0,-0x1684($v0) /* f003560: 241e0001 */ addiu $s8,$zero,0x1 /* f003564: 2412008c */ addiu $s2,$zero,0x8c /* f003568: 28410002 */ slti $at,$v0,0x2 /* f00356c: 14200010 */ bnez $at,.NB0f0035b0 /* f003570: 3c13800b */ lui $s3,0x800b /* f003574: 267390a8 */ addiu $s3,$s3,-28504 /* f003578: 2403fbff */ addiu $v1,$zero,-1025 /* f00357c: 8e780000 */ lw $t8,0x0($s3) .NB0f003580: /* f003580: 3c02800a */ lui $v0,0x800a /* f003584: 27de0001 */ addiu $s8,$s8,0x1 /* f003588: 03128021 */ addu $s0,$t8,$s2 /* f00358c: 96190000 */ lhu $t9,0x0($s0) /* f003590: 2652008c */ addiu $s2,$s2,0x8c /* f003594: 03234024 */ and $t0,$t9,$v1 /* f003598: a6080000 */ sh $t0,0x0($s0) /* f00359c: 8c42e97c */ lw $v0,-0x1684($v0) /* f0035a0: 03c2082a */ slt $at,$s8,$v0 /* f0035a4: 5420fff6 */ bnezl $at,.NB0f003580 /* f0035a8: 8e780000 */ lw $t8,0x0($s3) /* f0035ac: 241e0001 */ addiu $s8,$zero,0x1 .NB0f0035b0: /* f0035b0: 3c13800b */ lui $s3,0x800b /* f0035b4: 28410002 */ slti $at,$v0,0x2 /* f0035b8: 142001aa */ bnez $at,.NB0f003c64 /* f0035bc: 267390a8 */ addiu $s3,$s3,-28504 /* f0035c0: 4480b000 */ mtc1 $zero,$f22 /* f0035c4: 2412008c */ addiu $s2,$zero,0x8c /* f0035c8: 2417008c */ addiu $s7,$zero,0x8c /* f0035cc: 2416ffff */ addiu $s6,$zero,-1 /* f0035d0: 27b5009c */ addiu $s5,$sp,0x9c /* f0035d4: 27b400a0 */ addiu $s4,$sp,0xa0 /* f0035d8: 8e690000 */ lw $t1,0x0($s3) .NB0f0035dc: /* f0035dc: 3c0b800a */ lui $t3,0x800a /* f0035e0: 8d6be6f4 */ lw $t3,-0x190c($t3) /* f0035e4: 01328021 */ addu $s0,$t1,$s2 /* f0035e8: 860a0054 */ lh $t2,0x54($s0) /* f0035ec: 014b6023 */ subu $t4,$t2,$t3 /* f0035f0: a60c0054 */ sh $t4,0x54($s0) /* f0035f4: 8e6d0000 */ lw $t5,0x0($s3) /* f0035f8: 01b28021 */ addu $s0,$t5,$s2 /* f0035fc: 960e004e */ lhu $t6,0x4e($s0) /* f003600: 000e7b02 */ srl $t7,$t6,0xc /* f003604: 25f8ffff */ addiu $t8,$t7,-1 /* f003608: 2f010005 */ sltiu $at,$t8,0x5 /* f00360c: 102000c2 */ beqz $at,.NB0f003918 /* f003610: 0018c080 */ sll $t8,$t8,0x2 /* f003614: 3c017f1a */ lui $at,0x7f1a /* f003618: 00380821 */ addu $at,$at,$t8 /* f00361c: 8c381a5c */ lw $t8,0x1a5c($at) /* f003620: 03000008 */ jr $t8 /* f003624: 00000000 */ sll $zero,$zero,0x0 /* f003628: c6040060 */ lwc1 $f4,0x60($s0) /* f00362c: 03c02025 */ or $a0,$s8,$zero /* f003630: 00002825 */ or $a1,$zero,$zero /* f003634: e604005c */ swc1 $f4,0x5c($s0) /* f003638: 8e790000 */ lw $t9,0x0($s3) /* f00363c: 03328021 */ addu $s0,$t9,$s2 /* f003640: c606005c */ lwc1 $f6,0x5c($s0) /* f003644: 4616303c */ c.lt.s $f6,$f22 /* f003648: 00000000 */ sll $zero,$zero,0x0 /* f00364c: 45020005 */ bc1fl .NB0f003664 /* f003650: 96090000 */ lhu $t1,0x0($s0) /* f003654: e616005c */ swc1 $f22,0x5c($s0) /* f003658: 8e680000 */ lw $t0,0x0($s3) /* f00365c: 01128021 */ addu $s0,$t0,$s2 /* f003660: 96090000 */ lhu $t1,0x0($s0) .NB0f003664: /* f003664: 00003025 */ or $a2,$zero,$zero /* f003668: 00003825 */ or $a3,$zero,$zero /* f00366c: 352a0100 */ ori $t2,$t1,0x100 /* f003670: a60a0000 */ sh $t2,0x0($s0) /* f003674: 0fc00b2e */ jal roomSetLighting /* f003678: afa00010 */ sw $zero,0x10($sp) /* f00367c: 8e6b0000 */ lw $t3,0x0($s3) /* f003680: 100000a5 */ beqz $zero,.NB0f003918 /* f003684: 01728021 */ addu $s0,$t3,$s2 /* f003688: 860c0054 */ lh $t4,0x54($s0) /* f00368c: 058100a2 */ bgez $t4,.NB0f003918 /* f003690: 00000000 */ sll $zero,$zero,0x0 /* f003694: 0c004d84 */ jal random /* f003698: 00000000 */ sll $zero,$zero,0x0 /* f00369c: 8e6d0000 */ lw $t5,0x0($s3) /* f0036a0: 44824000 */ mtc1 $v0,$f8 /* f0036a4: 3c014f80 */ lui $at,0x4f80 /* f0036a8: 01b28021 */ addu $s0,$t5,$s2 /* f0036ac: 04410004 */ bgez $v0,.NB0f0036c0 /* f0036b0: 468042a0 */ cvt.s.w $f10,$f8 /* f0036b4: 44818000 */ mtc1 $at,$f16 /* f0036b8: 00000000 */ sll $zero,$zero,0x0 /* f0036bc: 46105280 */ add.s $f10,$f10,$f16 .NB0f0036c0: /* f0036c0: 3c012f80 */ lui $at,0x2f80 /* f0036c4: 44819000 */ mtc1 $at,$f18 /* f0036c8: 3c0142c8 */ lui $at,0x42c8 /* f0036cc: 44813000 */ mtc1 $at,$f6 /* f0036d0: 46125102 */ mul.s $f4,$f10,$f18 /* f0036d4: c6100060 */ lwc1 $f16,0x60($s0) /* f0036d8: 3c013f80 */ lui $at,0x3f80 /* f0036dc: 46062202 */ mul.s $f8,$f4,$f6 /* f0036e0: 4610403c */ c.lt.s $f8,$f16 /* f0036e4: 00000000 */ sll $zero,$zero,0x0 /* f0036e8: 45020008 */ bc1fl .NB0f00370c /* f0036ec: c6120064 */ lwc1 $f18,0x64($s0) /* f0036f0: 44815000 */ mtc1 $at,$f10 /* f0036f4: 00000000 */ sll $zero,$zero,0x0 /* f0036f8: e60a005c */ swc1 $f10,0x5c($s0) /* f0036fc: 8e6e0000 */ lw $t6,0x0($s3) /* f003700: 1000000d */ beqz $zero,.NB0f003738 /* f003704: 01d28021 */ addu $s0,$t6,$s2 /* f003708: c6120064 */ lwc1 $f18,0x64($s0) .NB0f00370c: /* f00370c: e612005c */ swc1 $f18,0x5c($s0) /* f003710: 8e6f0000 */ lw $t7,0x0($s3) /* f003714: 01f28021 */ addu $s0,$t7,$s2 /* f003718: c604005c */ lwc1 $f4,0x5c($s0) /* f00371c: 4616203c */ c.lt.s $f4,$f22 /* f003720: 00000000 */ sll $zero,$zero,0x0 /* f003724: 45020005 */ bc1fl .NB0f00373c /* f003728: c6060068 */ lwc1 $f6,0x68($s0) /* f00372c: e616005c */ swc1 $f22,0x5c($s0) /* f003730: 8e780000 */ lw $t8,0x0($s3) /* f003734: 03128021 */ addu $s0,$t8,$s2 .NB0f003738: /* f003738: c6060068 */ lwc1 $f6,0x68($s0) .NB0f00373c: /* f00373c: 4600320d */ trunc.w.s $f8,$f6 /* f003740: 44084000 */ mfc1 $t0,$f8 /* f003744: 00000000 */ sll $zero,$zero,0x0 /* f003748: a6080054 */ sh $t0,0x54($s0) /* f00374c: 8e690000 */ lw $t1,0x0($s3) /* f003750: 01328021 */ addu $s0,$t1,$s2 /* f003754: 960a0000 */ lhu $t2,0x0($s0) /* f003758: 354b0100 */ ori $t3,$t2,0x100 /* f00375c: a60b0000 */ sh $t3,0x0($s0) /* f003760: 8e6c0000 */ lw $t4,0x0($s3) /* f003764: 1000006c */ beqz $zero,.NB0f003918 /* f003768: 01928021 */ addu $s0,$t4,$s2 /* f00376c: 860d0054 */ lh $t5,0x54($s0) /* f003770: 00003025 */ or $a2,$zero,$zero /* f003774: 59a0001d */ blezl $t5,.NB0f0037ec /* f003778: 03c02025 */ or $a0,$s8,$zero /* f00377c: c6100064 */ lwc1 $f16,0x64($s0) /* f003780: e610005c */ swc1 $f16,0x5c($s0) /* f003784: 8e6e0000 */ lw $t6,0x0($s3) /* f003788: 01d28021 */ addu $s0,$t6,$s2 /* f00378c: 860f0054 */ lh $t7,0x54($s0) /* f003790: c6040068 */ lwc1 $f4,0x68($s0) /* f003794: c6080060 */ lwc1 $f8,0x60($s0) /* f003798: 448f5000 */ mtc1 $t7,$f10 /* f00379c: c6100064 */ lwc1 $f16,0x64($s0) /* f0037a0: 468054a0 */ cvt.s.w $f18,$f10 /* f0037a4: 46104281 */ sub.s $f10,$f8,$f16 /* f0037a8: 46049183 */ div.s $f6,$f18,$f4 /* f0037ac: c604005c */ lwc1 $f4,0x5c($s0) /* f0037b0: 460a3482 */ mul.s $f18,$f6,$f10 /* f0037b4: 46122200 */ add.s $f8,$f4,$f18 /* f0037b8: e608005c */ swc1 $f8,0x5c($s0) /* f0037bc: 8e780000 */ lw $t8,0x0($s3) /* f0037c0: 03128021 */ addu $s0,$t8,$s2 /* f0037c4: c610005c */ lwc1 $f16,0x5c($s0) /* f0037c8: 4616803c */ c.lt.s $f16,$f22 /* f0037cc: 00000000 */ sll $zero,$zero,0x0 /* f0037d0: 4502000d */ bc1fl .NB0f003808 /* f0037d4: 96090000 */ lhu $t1,0x0($s0) /* f0037d8: e616005c */ swc1 $f22,0x5c($s0) /* f0037dc: 8e790000 */ lw $t9,0x0($s3) /* f0037e0: 10000008 */ beqz $zero,.NB0f003804 /* f0037e4: 03328021 */ addu $s0,$t9,$s2 /* f0037e8: 03c02025 */ or $a0,$s8,$zero .NB0f0037ec: /* f0037ec: 00002825 */ or $a1,$zero,$zero /* f0037f0: 00003825 */ or $a3,$zero,$zero /* f0037f4: 0fc00b2e */ jal roomSetLighting /* f0037f8: afa00010 */ sw $zero,0x10($sp) /* f0037fc: 8e680000 */ lw $t0,0x0($s3) /* f003800: 01128021 */ addu $s0,$t0,$s2 .NB0f003804: /* f003804: 96090000 */ lhu $t1,0x0($s0) .NB0f003808: /* f003808: 352a0100 */ ori $t2,$t1,0x100 /* f00380c: a60a0000 */ sh $t2,0x0($s0) /* f003810: 8e6b0000 */ lw $t3,0x0($s3) /* f003814: 10000040 */ beqz $zero,.NB0f003918 /* f003818: 01728021 */ addu $s0,$t3,$s2 /* f00381c: 86020054 */ lh $v0,0x54($s0) /* f003820: 18400003 */ blez $v0,.NB0f003830 /* f003824: 00021823 */ negu $v1,$v0 /* f003828: 10000001 */ beqz $zero,.NB0f003830 /* f00382c: 00401825 */ or $v1,$v0,$zero .NB0f003830: /* f003830: c6000068 */ lwc1 $f0,0x68($s0) /* f003834: c6100064 */ lwc1 $f16,0x64($s0) /* f003838: 4600018d */ trunc.w.s $f6,$f0 /* f00383c: 440d3000 */ mfc1 $t5,$f6 /* f003840: c6060060 */ lwc1 $f6,0x60($s0) /* f003844: 006d001a */ div $zero,$v1,$t5 /* f003848: 00007010 */ mfhi $t6 /* f00384c: 448e5000 */ mtc1 $t6,$f10 /* f003850: 15a00002 */ bnez $t5,.NB0f00385c /* f003854: 00000000 */ sll $zero,$zero,0x0 /* f003858: 0007000d */ break 0x7 .NB0f00385c: /* f00385c: 2401ffff */ addiu $at,$zero,-1 /* f003860: 15a10004 */ bne $t5,$at,.NB0f003874 /* f003864: 3c018000 */ lui $at,0x8000 /* f003868: 14610002 */ bne $v1,$at,.NB0f003874 /* f00386c: 00000000 */ sll $zero,$zero,0x0 /* f003870: 0006000d */ break 0x6 .NB0f003874: /* f003874: 46805120 */ cvt.s.w $f4,$f10 /* f003878: 3c017f1a */ lui $at,0x7f1a /* f00387c: c4321a70 */ lwc1 $f18,0x1a70($at) /* f003880: 3c013f00 */ lui $at,0x3f00 /* f003884: 46068280 */ add.s $f10,$f16,$f6 /* f003888: 46122202 */ mul.s $f8,$f4,$f18 /* f00388c: 44812000 */ mtc1 $at,$f4 /* f003890: 00000000 */ sll $zero,$zero,0x0 /* f003894: 46045502 */ mul.s $f20,$f10,$f4 /* f003898: 0c006d52 */ jal cosf /* f00389c: 46004303 */ div.s $f12,$f8,$f0 /* f0038a0: 3c013f80 */ lui $at,0x3f80 /* f0038a4: 44819000 */ mtc1 $at,$f18 /* f0038a8: 8e6f0000 */ lw $t7,0x0($s3) /* f0038ac: 46120200 */ add.s $f8,$f0,$f18 /* f0038b0: 01f28021 */ addu $s0,$t7,$s2 /* f0038b4: c6060060 */ lwc1 $f6,0x60($s0) /* f0038b8: 46144402 */ mul.s $f16,$f8,$f20 /* f0038bc: 46068280 */ add.s $f10,$f16,$f6 /* f0038c0: e60a005c */ swc1 $f10,0x5c($s0) /* f0038c4: 8e780000 */ lw $t8,0x0($s3) /* f0038c8: 03128021 */ addu $s0,$t8,$s2 /* f0038cc: c604005c */ lwc1 $f4,0x5c($s0) /* f0038d0: 4616203c */ c.lt.s $f4,$f22 /* f0038d4: 00000000 */ sll $zero,$zero,0x0 /* f0038d8: 45020005 */ bc1fl .NB0f0038f0 /* f0038dc: 96080000 */ lhu $t0,0x0($s0) /* f0038e0: e616005c */ swc1 $f22,0x5c($s0) /* f0038e4: 8e790000 */ lw $t9,0x0($s3) /* f0038e8: 03328021 */ addu $s0,$t9,$s2 /* f0038ec: 96080000 */ lhu $t0,0x0($s0) .NB0f0038f0: /* f0038f0: 35090100 */ ori $t1,$t0,0x100 /* f0038f4: a6090000 */ sh $t1,0x0($s0) /* f0038f8: 8e6a0000 */ lw $t2,0x0($s3) /* f0038fc: 10000006 */ beqz $zero,.NB0f003918 /* f003900: 01528021 */ addu $s0,$t2,$s2 /* f003904: 960b0000 */ lhu $t3,0x0($s0) /* f003908: 356c0100 */ ori $t4,$t3,0x100 /* f00390c: a60c0000 */ sh $t4,0x0($s0) /* f003910: 8e6d0000 */ lw $t5,0x0($s3) /* f003914: 01b28021 */ addu $s0,$t5,$s2 .NB0f003918: /* f003918: 3c0e8006 */ lui $t6,0x8006 /* f00391c: 8dce395c */ lw $t6,0x395c($t6) /* f003920: 51c00007 */ beqzl $t6,.NB0f003940 /* f003924: 96060000 */ lhu $a2,0x0($s0) /* f003928: 960f0000 */ lhu $t7,0x0($s0) /* f00392c: 35f80100 */ ori $t8,$t7,0x100 /* f003930: a6180000 */ sh $t8,0x0($s0) /* f003934: 8e790000 */ lw $t9,0x0($s3) /* f003938: 03328021 */ addu $s0,$t9,$s2 /* f00393c: 96060000 */ lhu $a2,0x0($s0) .NB0f003940: /* f003940: 30c80100 */ andi $t0,$a2,0x100 /* f003944: 5100007f */ beqzl $t0,.NB0f003b44 /* f003948: 860b0052 */ lh $t3,0x52($s0) /* f00394c: 82040008 */ lb $a0,0x8($s0) /* f003950: 24090001 */ addiu $t1,$zero,0x1 /* f003954: afa900c8 */ sw $t1,0xc8($sp) /* f003958: 10800032 */ beqz $a0,.NB0f003a24 /* f00395c: 00001825 */ or $v1,$zero,$zero /* f003960: 960a000a */ lhu $t2,0xa($s0) /* f003964: 3c0c800b */ lui $t4,0x800b /* f003968: 8d8c9458 */ lw $t4,-0x6ba8($t4) /* f00396c: 000a5900 */ sll $t3,$t2,0x4 /* f003970: 016a5821 */ addu $t3,$t3,$t2 /* f003974: 000b5840 */ sll $t3,$t3,0x1 /* f003978: 00002825 */ or $a1,$zero,$zero /* f00397c: 1880000b */ blez $a0,.NB0f0039ac /* f003980: 016c1021 */ addu $v0,$t3,$t4 .NB0f003984: /* f003984: 944d0004 */ lhu $t5,0x4($v0) /* f003988: 24630001 */ addiu $v1,$v1,0x1 /* f00398c: 0064082a */ slt $at,$v1,$a0 /* f003990: 000d7e80 */ sll $t7,$t5,0x1a /* f003994: 05e10002 */ bgez $t7,.NB0f0039a0 /* f003998: 00000000 */ sll $zero,$zero,0x0 /* f00399c: 24a50001 */ addiu $a1,$a1,0x1 .NB0f0039a0: /* f0039a0: 1420fff8 */ bnez $at,.NB0f003984 /* f0039a4: 24420022 */ addiu $v0,$v0,0x22 /* f0039a8: 00001825 */ or $v1,$zero,$zero .NB0f0039ac: /* f0039ac: 30d82000 */ andi $t8,$a2,0x2000 /* f0039b0: 13000004 */ beqz $t8,.NB0f0039c4 /* f0039b4: 3c014000 */ lui $at,0x4000 /* f0039b8: 44810000 */ mtc1 $at,$f0 /* f0039bc: 10000028 */ beqz $zero,.NB0f003a60 /* f0039c0: c610005c */ lwc1 $f16,0x5c($s0) .NB0f0039c4: /* f0039c4: 50a0000c */ beqzl $a1,.NB0f0039f8 /* f0039c8: 9208004c */ lbu $t0,0x4c($s0) /* f0039cc: 9219004c */ lbu $t9,0x4c($s0) /* f0039d0: 3c014f80 */ lui $at,0x4f80 /* f0039d4: 44999000 */ mtc1 $t9,$f18 /* f0039d8: 07210020 */ bgez $t9,.NB0f003a5c /* f0039dc: 46809020 */ cvt.s.w $f0,$f18 /* f0039e0: 44814000 */ mtc1 $at,$f8 /* f0039e4: 00000000 */ sll $zero,$zero,0x0 /* f0039e8: 46080000 */ add.s $f0,$f0,$f8 /* f0039ec: 1000001c */ beqz $zero,.NB0f003a60 /* f0039f0: c610005c */ lwc1 $f16,0x5c($s0) /* f0039f4: 9208004c */ lbu $t0,0x4c($s0) .NB0f0039f8: /* f0039f8: 3c014f80 */ lui $at,0x4f80 /* f0039fc: 44888000 */ mtc1 $t0,$f16 /* f003a00: 05010004 */ bgez $t0,.NB0f003a14 /* f003a04: 468081a0 */ cvt.s.w $f6,$f16 /* f003a08: 44815000 */ mtc1 $at,$f10 /* f003a0c: 00000000 */ sll $zero,$zero,0x0 /* f003a10: 460a3180 */ add.s $f6,$f6,$f10 .NB0f003a14: /* f003a14: 3c014000 */ lui $at,0x4000 /* f003a18: 44812000 */ mtc1 $at,$f4 /* f003a1c: 1000000f */ beqz $zero,.NB0f003a5c /* f003a20: 46043003 */ div.s $f0,$f6,$f4 .NB0f003a24: /* f003a24: 30c92000 */ andi $t1,$a2,0x2000 /* f003a28: 11200004 */ beqz $t1,.NB0f003a3c /* f003a2c: 3c014000 */ lui $at,0x4000 /* f003a30: 44810000 */ mtc1 $at,$f0 /* f003a34: 1000000a */ beqz $zero,.NB0f003a60 /* f003a38: c610005c */ lwc1 $f16,0x5c($s0) .NB0f003a3c: /* f003a3c: 920a004c */ lbu $t2,0x4c($s0) /* f003a40: 3c014f80 */ lui $at,0x4f80 /* f003a44: 448a9000 */ mtc1 $t2,$f18 /* f003a48: 05410004 */ bgez $t2,.NB0f003a5c /* f003a4c: 46809020 */ cvt.s.w $f0,$f18 /* f003a50: 44814000 */ mtc1 $at,$f8 /* f003a54: 00000000 */ sll $zero,$zero,0x0 /* f003a58: 46080000 */ add.s $f0,$f0,$f8 .NB0f003a5c: /* f003a5c: c610005c */ lwc1 $f16,0x5c($s0) .NB0f003a60: /* f003a60: 3c18800b */ lui $t8,0x800b /* f003a64: 46100002 */ mul.s $f0,$f0,$f16 /* f003a68: 4600028d */ trunc.w.s $f10,$f0 /* f003a6c: 440c5000 */ mfc1 $t4,$f10 /* f003a70: 00000000 */ sll $zero,$zero,0x0 /* f003a74: a60c0050 */ sh $t4,0x50($s0) /* f003a78: 8e6d0000 */ lw $t5,0x0($s3) /* f003a7c: 8f189458 */ lw $t8,-0x6ba8($t8) /* f003a80: 01b28021 */ addu $s0,$t5,$s2 /* f003a84: 960e000a */ lhu $t6,0xa($s0) /* f003a88: 82040008 */ lb $a0,0x8($s0) /* f003a8c: 000e7900 */ sll $t7,$t6,0x4 /* f003a90: 01ee7821 */ addu $t7,$t7,$t6 /* f003a94: 000f7840 */ sll $t7,$t7,0x1 /* f003a98: 1880001c */ blez $a0,.NB0f003b0c /* f003a9c: 01f81021 */ addu $v0,$t7,$t8 .NB0f003aa0: /* f003aa0: 94590004 */ lhu $t9,0x4($v0) /* f003aa4: 24630001 */ addiu $v1,$v1,0x1 /* f003aa8: 00194680 */ sll $t0,$t9,0x1a /* f003aac: 05030015 */ bgezl $t0,.NB0f003b04 /* f003ab0: 0064082a */ slt $at,$v1,$a0 /* f003ab4: 904a0004 */ lbu $t2,0x4($v0) /* f003ab8: c606005c */ lwc1 $f6,0x5c($s0) /* f003abc: 3c014f80 */ lui $at,0x4f80 /* f003ac0: 448a2000 */ mtc1 $t2,$f4 /* f003ac4: 05410004 */ bgez $t2,.NB0f003ad8 /* f003ac8: 468024a0 */ cvt.s.w $f18,$f4 /* f003acc: 44814000 */ mtc1 $at,$f8 /* f003ad0: 00000000 */ sll $zero,$zero,0x0 /* f003ad4: 46089480 */ add.s $f18,$f18,$f8 .NB0f003ad8: /* f003ad8: 46123002 */ mul.s $f0,$f6,$f18 /* f003adc: 860b0050 */ lh $t3,0x50($s0) /* f003ae0: 4600040d */ trunc.w.s $f16,$f0 /* f003ae4: 440d8000 */ mfc1 $t5,$f16 /* f003ae8: 00000000 */ sll $zero,$zero,0x0 /* f003aec: 016d7021 */ addu $t6,$t3,$t5 /* f003af0: a60e0050 */ sh $t6,0x50($s0) /* f003af4: 8e6f0000 */ lw $t7,0x0($s3) /* f003af8: 01f28021 */ addu $s0,$t7,$s2 /* f003afc: 82040008 */ lb $a0,0x8($s0) /* f003b00: 0064082a */ slt $at,$v1,$a0 .NB0f003b04: /* f003b04: 1420ffe6 */ bnez $at,.NB0f003aa0 /* f003b08: 24420022 */ addiu $v0,$v0,0x22 .NB0f003b0c: /* f003b0c: 86180050 */ lh $t8,0x50($s0) /* f003b10: 2b010100 */ slti $at,$t8,0x100 /* f003b14: 54200006 */ bnezl $at,.NB0f003b30 /* f003b18: 96090000 */ lhu $t1,0x0($s0) /* f003b1c: 241900ff */ addiu $t9,$zero,0xff /* f003b20: a6190050 */ sh $t9,0x50($s0) /* f003b24: 8e680000 */ lw $t0,0x0($s3) /* f003b28: 01128021 */ addu $s0,$t0,$s2 /* f003b2c: 96090000 */ lhu $t1,0x0($s0) .NB0f003b30: /* f003b30: 312afeff */ andi $t2,$t1,0xfeff /* f003b34: a60a0000 */ sh $t2,0x0($s0) /* f003b38: 8e6c0000 */ lw $t4,0x0($s3) /* f003b3c: 01928021 */ addu $s0,$t4,$s2 /* f003b40: 860b0052 */ lh $t3,0x52($s0) .NB0f003b44: /* f003b44: 3c028006 */ lui $v0,0x8006 /* f003b48: 5160003c */ beqzl $t3,.NB0f003c3c /* f003b4c: 96090000 */ lhu $t1,0x0($s0) /* f003b50: 3c11800a */ lui $s1,0x800a /* f003b54: 8e31e6f4 */ lw $s1,-0x190c($s1) /* f003b58: 8c423930 */ lw $v0,0x3930($v0) /* f003b5c: 001e80c0 */ sll $s0,$s8,0x3 /* f003b60: 00116840 */ sll $t5,$s1,0x1 /* f003b64: 1040001c */ beqz $v0,.NB0f003bd8 /* f003b68: 01a08825 */ or $s1,$t5,$zero /* f003b6c: afa000a0 */ sw $zero,0xa0($sp) /* f003b70: afa0009c */ sw $zero,0x9c($sp) /* f003b74: 00507021 */ addu $t6,$v0,$s0 /* f003b78: 8dc40004 */ lw $a0,0x4($t6) /* f003b7c: 02802825 */ or $a1,$s4,$zero /* f003b80: 0fc5ca4b */ jal func0f177c8c /* f003b84: 02a03025 */ or $a2,$s5,$zero /* f003b88: 50560014 */ beql $v0,$s6,.NB0f003bdc /* f003b8c: 8e6b0000 */ lw $t3,0x0($s3) .NB0f003b90: /* f003b90: 10400009 */ beqz $v0,.NB0f003bb8 /* f003b94: 3c0a8006 */ lui $t2,0x8006 /* f003b98: 8fb8009c */ lw $t8,0x9c($sp) /* f003b9c: 8e6f0000 */ lw $t7,0x0($s3) /* f003ba0: 03170019 */ multu $t8,$s7 /* f003ba4: 0000c812 */ mflo $t9 /* f003ba8: 01f91021 */ addu $v0,$t7,$t9 /* f003bac: 94480000 */ lhu $t0,0x0($v0) /* f003bb0: 35090400 */ ori $t1,$t0,0x400 /* f003bb4: a4490000 */ sh $t1,0x0($v0) .NB0f003bb8: /* f003bb8: 8d4a3930 */ lw $t2,0x3930($t2) /* f003bbc: 02802825 */ or $a1,$s4,$zero /* f003bc0: 02a03025 */ or $a2,$s5,$zero /* f003bc4: 01506021 */ addu $t4,$t2,$s0 /* f003bc8: 0fc5ca4b */ jal func0f177c8c /* f003bcc: 8d840004 */ lw $a0,0x4($t4) /* f003bd0: 1456ffef */ bne $v0,$s6,.NB0f003b90 /* f003bd4: 00000000 */ sll $zero,$zero,0x0 .NB0f003bd8: /* f003bd8: 8e6b0000 */ lw $t3,0x0($s3) .NB0f003bdc: /* f003bdc: 01728021 */ addu $s0,$t3,$s2 /* f003be0: 86020052 */ lh $v0,0x52($s0) /* f003be4: 18400008 */ blez $v0,.NB0f003c08 /* f003be8: 0222082a */ slt $at,$s1,$v0 /* f003bec: 0051082a */ slt $at,$v0,$s1 /* f003bf0: 50200003 */ beqzl $at,.NB0f003c00 /* f003bf4: 00516823 */ subu $t5,$v0,$s1 /* f003bf8: 00408825 */ or $s1,$v0,$zero /* f003bfc: 00516823 */ subu $t5,$v0,$s1 .NB0f003c00: /* f003c00: 10000006 */ beqz $zero,.NB0f003c1c /* f003c04: a60d0052 */ sh $t5,0x52($s0) .NB0f003c08: /* f003c08: 50200003 */ beqzl $at,.NB0f003c18 /* f003c0c: 00517021 */ addu $t6,$v0,$s1 /* f003c10: 00408825 */ or $s1,$v0,$zero /* f003c14: 00517021 */ addu $t6,$v0,$s1 .NB0f003c18: /* f003c18: a60e0052 */ sh $t6,0x52($s0) .NB0f003c1c: /* f003c1c: 8e780000 */ lw $t8,0x0($s3) /* f003c20: 03128021 */ addu $s0,$t8,$s2 /* f003c24: 960f0000 */ lhu $t7,0x0($s0) /* f003c28: 35f90400 */ ori $t9,$t7,0x400 /* f003c2c: a6190000 */ sh $t9,0x0($s0) /* f003c30: 8e680000 */ lw $t0,0x0($s3) /* f003c34: 01128021 */ addu $s0,$t0,$s2 /* f003c38: 96090000 */ lhu $t1,0x0($s0) .NB0f003c3c: /* f003c3c: 3c02800a */ lui $v0,0x800a /* f003c40: 27de0001 */ addiu $s8,$s8,0x1 /* f003c44: 312afeff */ andi $t2,$t1,0xfeff /* f003c48: a60a0000 */ sh $t2,0x0($s0) /* f003c4c: 8c42e97c */ lw $v0,-0x1684($v0) /* f003c50: 2652008c */ addiu $s2,$s2,0x8c /* f003c54: 03c2082a */ slt $at,$s8,$v0 /* f003c58: 5420fe60 */ bnezl $at,.NB0f0035dc /* f003c5c: 8e690000 */ lw $t1,0x0($s3) /* f003c60: 241e0001 */ addiu $s8,$zero,0x1 .NB0f003c64: /* f003c64: 3c0c8006 */ lui $t4,0x8006 /* f003c68: 8d8c395c */ lw $t4,0x395c($t4) /* f003c6c: 2416ffff */ addiu $s6,$zero,-1 /* f003c70: 2417008c */ addiu $s7,$zero,0x8c /* f003c74: 15800002 */ bnez $t4,.NB0f003c80 /* f003c78: 8fab00c8 */ lw $t3,0xc8($sp) /* f003c7c: 11600010 */ beqz $t3,.NB0f003cc0 .NB0f003c80: /* f003c80: 28410002 */ slti $at,$v0,0x2 /* f003c84: 1420000e */ bnez $at,.NB0f003cc0 /* f003c88: 2412008c */ addiu $s2,$zero,0x8c /* f003c8c: 8e6d0000 */ lw $t5,0x0($s3) .NB0f003c90: /* f003c90: 3c02800a */ lui $v0,0x800a /* f003c94: 27de0001 */ addiu $s8,$s8,0x1 /* f003c98: 01b28021 */ addu $s0,$t5,$s2 /* f003c9c: 960e0000 */ lhu $t6,0x0($s0) /* f003ca0: 2652008c */ addiu $s2,$s2,0x8c /* f003ca4: 35d80200 */ ori $t8,$t6,0x200 /* f003ca8: a6180000 */ sh $t8,0x0($s0) /* f003cac: 8c42e97c */ lw $v0,-0x1684($v0) /* f003cb0: 03c2082a */ slt $at,$s8,$v0 /* f003cb4: 5420fff6 */ bnezl $at,.NB0f003c90 /* f003cb8: 8e6d0000 */ lw $t5,0x0($s3) /* f003cbc: 241e0001 */ addiu $s8,$zero,0x1 .NB0f003cc0: /* f003cc0: 28410002 */ slti $at,$v0,0x2 /* f003cc4: 1420009a */ bnez $at,.NB0f003f30 /* f003cc8: 27b5008c */ addiu $s5,$sp,0x8c /* f003ccc: 3c017f1a */ lui $at,0x7f1a /* f003cd0: c4341a74 */ lwc1 $f20,0x1a74($at) /* f003cd4: 27b40090 */ addiu $s4,$sp,0x90 .NB0f003cd8: /* f003cd8: 53c00092 */ beqzl $s8,.NB0f003f24 /* f003cdc: 27de0001 */ addiu $s8,$s8,0x1 /* f003ce0: 03d70019 */ multu $s8,$s7 /* f003ce4: 8e6f0000 */ lw $t7,0x0($s3) /* f003ce8: 00009012 */ mflo $s2 /* f003cec: 01f2c821 */ addu $t9,$t7,$s2 /* f003cf0: 97260000 */ lhu $a2,0x0($t9) /* f003cf4: 30c80080 */ andi $t0,$a2,0x80 /* f003cf8: 15000002 */ bnez $t0,.NB0f003d04 /* f003cfc: 30c9000c */ andi $t1,$a2,0xc /* f003d00: 11200087 */ beqz $t1,.NB0f003f20 .NB0f003d04: /* f003d04: 30ca0600 */ andi $t2,$a2,0x600 /* f003d08: 11400085 */ beqz $t2,.NB0f003f20 /* f003d0c: 00008825 */ or $s1,$zero,$zero /* f003d10: 3c0c8006 */ lui $t4,0x8006 /* f003d14: 8d8c3930 */ lw $t4,0x3930($t4) /* f003d18: 001e80c0 */ sll $s0,$s8,0x3 /* f003d1c: afa00090 */ sw $zero,0x90($sp) /* f003d20: afa0008c */ sw $zero,0x8c($sp) /* f003d24: 01905821 */ addu $t3,$t4,$s0 /* f003d28: 8d640000 */ lw $a0,0x0($t3) /* f003d2c: 02802825 */ or $a1,$s4,$zero /* f003d30: 0fc5ca4b */ jal func0f177c8c /* f003d34: 02a03025 */ or $a2,$s5,$zero /* f003d38: 50560021 */ beql $v0,$s6,.NB0f003dc0 /* f003d3c: 2a210100 */ slti $at,$s1,0x100 /* f003d40: 8fad008c */ lw $t5,0x8c($sp) .NB0f003d44: /* f003d44: 3c098006 */ lui $t1,0x8006 /* f003d48: 11a00014 */ beqz $t5,.NB0f003d9c /* f003d4c: 00000000 */ sll $zero,$zero,0x0 /* f003d50: 11a00011 */ beqz $t5,.NB0f003d98 /* f003d54: 00001825 */ or $v1,$zero,$zero /* f003d58: 01b70019 */ multu $t5,$s7 /* f003d5c: 8e6e0000 */ lw $t6,0x0($s3) /* f003d60: 44824000 */ mtc1 $v0,$f8 /* f003d64: 00000000 */ sll $zero,$zero,0x0 /* f003d68: 468041a0 */ cvt.s.w $f6,$f8 /* f003d6c: 0000c012 */ mflo $t8 /* f003d70: 01d87821 */ addu $t7,$t6,$t8 /* f003d74: 85f90050 */ lh $t9,0x50($t7) /* f003d78: 4606a482 */ mul.s $f18,$f20,$f6 /* f003d7c: 44995000 */ mtc1 $t9,$f10 /* f003d80: 00000000 */ sll $zero,$zero,0x0 /* f003d84: 46805120 */ cvt.s.w $f4,$f10 /* f003d88: 46049402 */ mul.s $f16,$f18,$f4 /* f003d8c: 4600828d */ trunc.w.s $f10,$f16 /* f003d90: 44035000 */ mfc1 $v1,$f10 /* f003d94: 00000000 */ sll $zero,$zero,0x0 .NB0f003d98: /* f003d98: 02238821 */ addu $s1,$s1,$v1 .NB0f003d9c: /* f003d9c: 8d293930 */ lw $t1,0x3930($t1) /* f003da0: 02802825 */ or $a1,$s4,$zero /* f003da4: 02a03025 */ or $a2,$s5,$zero /* f003da8: 01305021 */ addu $t2,$t1,$s0 /* f003dac: 0fc5ca4b */ jal func0f177c8c /* f003db0: 8d440000 */ lw $a0,0x0($t2) /* f003db4: 5456ffe3 */ bnel $v0,$s6,.NB0f003d44 /* f003db8: 8fad008c */ lw $t5,0x8c($sp) /* f003dbc: 2a210100 */ slti $at,$s1,0x100 .NB0f003dc0: /* f003dc0: 54200003 */ bnezl $at,.NB0f003dd0 /* f003dc4: 8e6c0000 */ lw $t4,0x0($s3) /* f003dc8: 241100ff */ addiu $s1,$zero,0xff /* f003dcc: 8e6c0000 */ lw $t4,0x0($s3) .NB0f003dd0: /* f003dd0: 24010005 */ addiu $at,$zero,0x5 /* f003dd4: 01925821 */ addu $t3,$t4,$s2 /* f003dd8: a171004b */ sb $s1,0x4b($t3) /* f003ddc: 8e6d0000 */ lw $t5,0x0($s3) /* f003de0: 01b28021 */ addu $s0,$t5,$s2 /* f003de4: 960e0000 */ lhu $t6,0x0($s0) /* f003de8: 35d80040 */ ori $t8,$t6,0x40 /* f003dec: a6180000 */ sh $t8,0x0($s0) /* f003df0: 8e6f0000 */ lw $t7,0x0($s3) /* f003df4: 01f28021 */ addu $s0,$t7,$s2 /* f003df8: 96190000 */ lhu $t9,0x0($s0) /* f003dfc: 37281000 */ ori $t0,$t9,0x1000 /* f003e00: a6080000 */ sh $t0,0x0($s0) /* f003e04: 8e690000 */ lw $t1,0x0($s3) /* f003e08: 01328021 */ addu $s0,$t1,$s2 /* f003e0c: 960a0000 */ lhu $t2,0x0($s0) /* f003e10: 314cf9ff */ andi $t4,$t2,0xf9ff /* f003e14: a60c0000 */ sh $t4,0x0($s0) /* f003e18: 8e6b0000 */ lw $t3,0x0($s3) /* f003e1c: 01726821 */ addu $t5,$t3,$s2 /* f003e20: 95ae004e */ lhu $t6,0x4e($t5) /* f003e24: 000ec302 */ srl $t8,$t6,0xc /* f003e28: 17010023 */ bne $t8,$at,.NB0f003eb8 /* f003e2c: 00000000 */ sll $zero,$zero,0x0 /* f003e30: 0fc00284 */ jal func0f000a10 /* f003e34: 03c02025 */ or $a0,$s8,$zero /* f003e38: 001e2400 */ sll $a0,$s8,0x10 /* f003e3c: 00047c03 */ sra $t7,$a0,0x10 /* f003e40: afa2007c */ sw $v0,0x7c($sp) /* f003e44: afa20078 */ sw $v0,0x78($sp) /* f003e48: 01e02025 */ or $a0,$t7,$zero /* f003e4c: 27a50080 */ addiu $a1,$sp,0x80 /* f003e50: 27a6007c */ addiu $a2,$sp,0x7c /* f003e54: 27a70078 */ addiu $a3,$sp,0x78 /* f003e58: 0fc60248 */ jal scenarioCallback38 /* f003e5c: afa20080 */ sw $v0,0x80($sp) /* f003e60: 8fb90080 */ lw $t9,0x80($sp) /* f003e64: 8e680000 */ lw $t0,0x0($s3) /* f003e68: 44994000 */ mtc1 $t9,$f8 /* f003e6c: 01124821 */ addu $t1,$t0,$s2 /* f003e70: 468041a0 */ cvt.s.w $f6,$f8 /* f003e74: 46143482 */ mul.s $f18,$f6,$f20 /* f003e78: e5320074 */ swc1 $f18,0x74($t1) /* f003e7c: 8faa007c */ lw $t2,0x7c($sp) /* f003e80: 8e6c0000 */ lw $t4,0x0($s3) /* f003e84: 448a2000 */ mtc1 $t2,$f4 /* f003e88: 01925821 */ addu $t3,$t4,$s2 /* f003e8c: 46802420 */ cvt.s.w $f16,$f4 /* f003e90: 46148282 */ mul.s $f10,$f16,$f20 /* f003e94: e56a0078 */ swc1 $f10,0x78($t3) /* f003e98: 8fad0078 */ lw $t5,0x78($sp) /* f003e9c: 8e6e0000 */ lw $t6,0x0($s3) /* f003ea0: 448d4000 */ mtc1 $t5,$f8 /* f003ea4: 01d2c021 */ addu $t8,$t6,$s2 /* f003ea8: 468041a0 */ cvt.s.w $f6,$f8 /* f003eac: 46143482 */ mul.s $f18,$f6,$f20 /* f003eb0: 10000016 */ beqz $zero,.NB0f003f0c /* f003eb4: e712007c */ swc1 $f18,0x7c($t8) .NB0f003eb8: /* f003eb8: 0fc00284 */ jal func0f000a10 /* f003ebc: 03c02025 */ or $a0,$s8,$zero /* f003ec0: 44822000 */ mtc1 $v0,$f4 /* f003ec4: 3c014f80 */ lui $at,0x4f80 /* f003ec8: 04410004 */ bgez $v0,.NB0f003edc /* f003ecc: 46802420 */ cvt.s.w $f16,$f4 /* f003ed0: 44815000 */ mtc1 $at,$f10 /* f003ed4: 00000000 */ sll $zero,$zero,0x0 /* f003ed8: 460a8400 */ add.s $f16,$f16,$f10 .NB0f003edc: /* f003edc: 46148202 */ mul.s $f8,$f16,$f20 /* f003ee0: 8e6f0000 */ lw $t7,0x0($s3) /* f003ee4: 01f2c821 */ addu $t9,$t7,$s2 /* f003ee8: e7280074 */ swc1 $f8,0x74($t9) /* f003eec: 8e680000 */ lw $t0,0x0($s3) /* f003ef0: 01128021 */ addu $s0,$t0,$s2 /* f003ef4: c6060074 */ lwc1 $f6,0x74($s0) /* f003ef8: e6060078 */ swc1 $f6,0x78($s0) /* f003efc: 8e690000 */ lw $t1,0x0($s3) /* f003f00: 01328021 */ addu $s0,$t1,$s2 /* f003f04: c6120074 */ lwc1 $f18,0x74($s0) /* f003f08: e612007c */ swc1 $f18,0x7c($s0) .NB0f003f0c: /* f003f0c: 8faa00d4 */ lw $t2,0xd4($sp) /* f003f10: 3c02800a */ lui $v0,0x800a /* f003f14: 8c42e97c */ lw $v0,-0x1684($v0) /* f003f18: 254c0001 */ addiu $t4,$t2,0x1 /* f003f1c: afac00d4 */ sw $t4,0xd4($sp) .NB0f003f20: /* f003f20: 27de0001 */ addiu $s8,$s8,0x1 .NB0f003f24: /* f003f24: 03c2082a */ slt $at,$s8,$v0 /* f003f28: 1420ff6b */ bnez $at,.NB0f003cd8 /* f003f2c: 00000000 */ sll $zero,$zero,0x0 .NB0f003f30: /* f003f30: 3c0b800a */ lui $t3,0x800a /* f003f34: 8d6beb98 */ lw $t3,-0x1468($t3) /* f003f38: 3c038006 */ lui $v1,0x8006 /* f003f3c: 8c63395c */ lw $v1,0x395c($v1) /* f003f40: 1d600035 */ bgtz $t3,.NB0f004018 /* f003f44: 8fad00d4 */ lw $t5,0xd4($sp) /* f003f48: 15a00003 */ bnez $t5,.NB0f003f58 /* f003f4c: 3c11800a */ lui $s1,0x800a /* f003f50: 10600031 */ beqz $v1,.NB0f004018 /* f003f54: 00000000 */ sll $zero,$zero,0x0 .NB0f003f58: /* f003f58: 8e31e9fc */ lw $s1,-0x1604($s1) /* f003f5c: 24120003 */ addiu $s2,$zero,0x3 /* f003f60: 5220002b */ beqzl $s1,.NB0f004010 /* f003f64: 240e000f */ addiu $t6,$zero,0xf /* f003f68: 922e0000 */ lbu $t6,0x0($s1) .NB0f003f6c: /* f003f6c: 564e0025 */ bnel $s2,$t6,.NB0f004004 /* f003f70: 8e310020 */ lw $s1,0x20($s1) /* f003f74: 86380028 */ lh $t8,0x28($s1) /* f003f78: 0000f025 */ or $s8,$zero,$zero /* f003f7c: 02208025 */ or $s0,$s1,$zero /* f003f80: 52d80020 */ beql $s6,$t8,.NB0f004004 /* f003f84: 8e310020 */ lw $s1,0x20($s1) /* f003f88: 86220028 */ lh $v0,0x28($s1) .NB0f003f8c: /* f003f8c: 00570019 */ multu $v0,$s7 /* f003f90: 8e6f0000 */ lw $t7,0x0($s3) /* f003f94: 24010002 */ addiu $at,$zero,0x2 /* f003f98: 0000c812 */ mflo $t9 /* f003f9c: 01f94021 */ addu $t0,$t7,$t9 /* f003fa0: 95090000 */ lhu $t1,0x0($t0) /* f003fa4: 312a1000 */ andi $t2,$t1,0x1000 /* f003fa8: 51400012 */ beqzl $t2,.NB0f003ff4 /* f003fac: 8602002a */ lh $v0,0x2a($s0) /* f003fb0: 5461000a */ bnel $v1,$at,.NB0f003fdc /* f003fb4: 8e220004 */ lw $v0,0x4($s1) /* f003fb8: 8e220004 */ lw $v0,0x4($s1) /* f003fbc: 8c44001c */ lw $a0,0x1c($v0) /* f003fc0: 244500fc */ addiu $a1,$v0,0xfc /* f003fc4: 0fc1a0f1 */ jal func0f069144 /* f003fc8: 9446018a */ lhu $a2,0x18a($v0) /* f003fcc: 3c038006 */ lui $v1,0x8006 /* f003fd0: 10000007 */ beqz $zero,.NB0f003ff0 /* f003fd4: 8c63395c */ lw $v1,0x395c($v1) /* f003fd8: 8e220004 */ lw $v0,0x4($s1) .NB0f003fdc: /* f003fdc: 3c038006 */ lui $v1,0x8006 /* f003fe0: 904b032e */ lbu $t3,0x32e($v0) /* f003fe4: 356d0020 */ ori $t5,$t3,0x20 /* f003fe8: a04d032e */ sb $t5,0x32e($v0) /* f003fec: 8c63395c */ lw $v1,0x395c($v1) .NB0f003ff0: /* f003ff0: 8602002a */ lh $v0,0x2a($s0) .NB0f003ff4: /* f003ff4: 26100002 */ addiu $s0,$s0,0x2 /* f003ff8: 16c2ffe4 */ bne $s6,$v0,.NB0f003f8c /* f003ffc: 00000000 */ sll $zero,$zero,0x0 /* f004000: 8e310020 */ lw $s1,0x20($s1) .NB0f004004: /* f004004: 5620ffd9 */ bnezl $s1,.NB0f003f6c /* f004008: 922e0000 */ lbu $t6,0x0($s1) /* f00400c: 240e000f */ addiu $t6,$zero,0xf .NB0f004010: /* f004010: 3c01800a */ lui $at,0x800a /* f004014: a02eeba1 */ sb $t6,-0x145f($at) .NB0f004018: /* f004018: 10600002 */ beqz $v1,.NB0f004024 /* f00401c: 3c018006 */ lui $at,0x8006 /* f004020: ac20395c */ sw $zero,0x395c($at) .NB0f004024: /* f004024: 8fbf0054 */ lw $ra,0x54($sp) .NB0f004028: /* f004028: d7b40020 */ ldc1 $f20,0x20($sp) /* f00402c: d7b60028 */ ldc1 $f22,0x28($sp) /* f004030: 8fb00030 */ lw $s0,0x30($sp) /* f004034: 8fb10034 */ lw $s1,0x34($sp) /* f004038: 8fb20038 */ lw $s2,0x38($sp) /* f00403c: 8fb3003c */ lw $s3,0x3c($sp) /* f004040: 8fb40040 */ lw $s4,0x40($sp) /* f004044: 8fb50044 */ lw $s5,0x44($sp) /* f004048: 8fb60048 */ lw $s6,0x48($sp) /* f00404c: 8fb7004c */ lw $s7,0x4c($sp) /* f004050: 8fbe0050 */ lw $s8,0x50($sp) /* f004054: 03e00008 */ jr $ra /* f004058: 27bd00d8 */ addiu $sp,$sp,0xd8 ); #endif void func0f004314(void) { struct hand *hand1 = &g_Vars.currentplayer->hands[0]; struct hand *hand2 = &g_Vars.currentplayer->hands[1]; func0f005bb0(); if (hand1->flashon || hand2->flashon) { roomAdjustLighting(g_Vars.currentplayer->prop->rooms[0], 64, 80); } } void func0f004384(void) { // empty } void roomAdjustLighting(s32 roomnum, s32 start, s32 limit) { if (var80061420 && !(g_Rooms[roomnum].flags & ROOMFLAG_OUTDOORS ? 1 : 0)) { s32 value; s32 sp78 = 0; s32 neighbournum = 0; value = func0f177c8c(var80061420[roomnum].unk04, &sp78, &neighbournum); while (value != -1) { f32 increment = value * 0.0039215688593686f * start * 5.0f; if (start > 0) { if (increment > start) { increment = start; } } else { if (increment < start) { increment = start; } } // @bug: Should be checking neighbournum flags, not roomnum if (!(g_Rooms[roomnum].flags & ROOMFLAG_OUTDOORS ? 1 : 0)) { func0f004558(neighbournum, increment, limit); } value = func0f177c8c(var80061420[roomnum].unk04, &sp78, &neighbournum); } } } void func0f004558(s32 roomnum, s32 increment, s32 limit) { if (roomnum) { if (g_Rooms[roomnum].flags & ROOMFLAG_VISIBLEBYPLAYER) { if (increment > 0) { // Increasing if (g_Rooms[roomnum].unk52 < limit) { g_Rooms[roomnum].unk52 += increment; if (g_Rooms[roomnum].unk52 > limit) { g_Rooms[roomnum].unk52 = limit; } } } else { // Decreasing if (g_Rooms[roomnum].unk52 > limit) { g_Rooms[roomnum].unk52 += increment; if (g_Rooms[roomnum].unk52 < limit) { g_Rooms[roomnum].unk52 = limit; } } } } } } GLOBAL_ASM( glabel func0f004604 .late_rodata glabel var7f1a7ddc .word 0x3b808081 .text /* f004604: 3c06800a */ lui $a2,%hi(g_Rooms) /* f004608: 000428c0 */ sll $a1,$a0,0x3 /* f00460c: 24c64928 */ addiu $a2,$a2,%lo(g_Rooms) /* f004610: 27bdff68 */ addiu $sp,$sp,-152 /* f004614: 00a42821 */ addu $a1,$a1,$a0 /* f004618: 8cce0000 */ lw $t6,0x0($a2) /* f00461c: 00052880 */ sll $a1,$a1,0x2 /* f004620: 00a42823 */ subu $a1,$a1,$a0 /* f004624: 00052880 */ sll $a1,$a1,0x2 /* f004628: afbf0024 */ sw $ra,0x24($sp) /* f00462c: afb20020 */ sw $s2,0x20($sp) /* f004630: afb1001c */ sw $s1,0x1c($sp) /* f004634: afb00018 */ sw $s0,0x18($sp) /* f004638: 3c028008 */ lui $v0,%hi(var8007fc3c) /* f00463c: 01c55821 */ addu $t3,$t6,$a1 /* f004640: 956f0056 */ lhu $t7,0x56($t3) /* f004644: 9442fc3c */ lhu $v0,%lo(var8007fc3c)($v0) /* f004648: 504f0183 */ beql $v0,$t7,.L0f004c58 /* f00464c: 8fbf0024 */ lw $ra,0x24($sp) /* f004650: 85780002 */ lh $t8,0x2($t3) /* f004654: 53000180 */ beqzl $t8,.L0f004c58 /* f004658: 8fbf0024 */ lw $ra,0x24($sp) /* f00465c: a5620056 */ sh $v0,0x56($t3) /* f004660: 8cd90000 */ lw $t9,0x0($a2) /* f004664: 03255821 */ addu $t3,$t9,$a1 /* f004668: 95630000 */ lhu $v1,0x0($t3) /* f00466c: 306e0040 */ andi $t6,$v1,0x40 /* f004670: 15c00002 */ bnez $t6,.L0f00467c /* f004674: 346f0200 */ ori $t7,$v1,0x200 /* f004678: a56f0000 */ sh $t7,0x0($t3) .L0f00467c: /* f00467c: afa40098 */ sw $a0,0x98($sp) /* f004680: 0fc002c9 */ jal func0f000b24 /* f004684: afa50048 */ sw $a1,0x48($sp) /* f004688: 3c18800a */ lui $t8,%hi(g_Rooms) /* f00468c: 8f184928 */ lw $t8,%lo(g_Rooms)($t8) /* f004690: 8fb90048 */ lw $t9,0x48($sp) /* f004694: 305200ff */ andi $s2,$v0,0xff /* f004698: 03197021 */ addu $t6,$t8,$t9 /* f00469c: 8dcf0014 */ lw $t7,0x14($t6) /* f0046a0: 85e40016 */ lh $a0,0x16($t7) /* f0046a4: 0fc59e73 */ jal gfxAllocateColours /* f0046a8: afa40070 */ sw $a0,0x70($sp) /* f0046ac: 3c07800a */ lui $a3,%hi(g_Rooms) /* f0046b0: 24e74928 */ addiu $a3,$a3,%lo(g_Rooms) /* f0046b4: 8fa60048 */ lw $a2,0x48($sp) /* f0046b8: 8cf80000 */ lw $t8,0x0($a3) /* f0046bc: 00402825 */ or $a1,$v0,$zero /* f0046c0: 0306c821 */ addu $t9,$t8,$a2 /* f0046c4: af220058 */ sw $v0,0x58($t9) /* f0046c8: 8cee0000 */ lw $t6,0x0($a3) /* f0046cc: 01c65821 */ addu $t3,$t6,$a2 /* f0046d0: 8d630014 */ lw $v1,0x14($t3) /* f0046d4: 856c0052 */ lh $t4,0x52($t3) /* f0046d8: 846f0014 */ lh $t7,0x14($v1) /* f0046dc: 8c790000 */ lw $t9,0x0($v1) /* f0046e0: 000fc080 */ sll $t8,$t7,0x2 /* f0046e4: 030fc023 */ subu $t8,$t8,$t7 /* f0046e8: 0018c080 */ sll $t8,$t8,0x2 /* f0046ec: 03192021 */ addu $a0,$t8,$t9 /* f0046f0: 95780000 */ lhu $t8,0x0($t3) /* f0046f4: 24840007 */ addiu $a0,$a0,0x7 /* f0046f8: 348e0007 */ ori $t6,$a0,0x7 /* f0046fc: 39cf0007 */ xori $t7,$t6,0x7 /* f004700: 33190080 */ andi $t9,$t8,0x80 /* f004704: 13200003 */ beqz $t9,.L0f004714 /* f004708: 01e02025 */ or $a0,$t7,$zero /* f00470c: 10000151 */ b .L0f004c54 /* f004710: ad6f0058 */ sw $t7,0x58($t3) .L0f004714: /* f004714: 8fae0070 */ lw $t6,0x70($sp) /* f004718: 00008025 */ or $s0,$zero,$zero /* f00471c: 00008825 */ or $s1,$zero,$zero /* f004720: 19c0014c */ blez $t6,.L0f004c54 /* f004724: 00a05025 */ or $t2,$a1,$zero /* f004728: 3c1f8007 */ lui $ra,%hi(g_InCutscene) /* f00472c: 27ff0764 */ addiu $ra,$ra,%lo(g_InCutscene) /* f004730: 00804825 */ or $t1,$a0,$zero .L0f004734: /* f004734: 8cef0000 */ lw $t7,0x0($a3) /* f004738: 01e65821 */ addu $t3,$t7,$a2 /* f00473c: 8d780014 */ lw $t8,0x14($t3) /* f004740: 8f190000 */ lw $t9,0x0($t8) /* f004744: 03317021 */ addu $t6,$t9,$s1 /* f004748: 91cf0006 */ lbu $t7,0x6($t6) /* f00474c: 31f80001 */ andi $t8,$t7,0x1 /* f004750: 1300003d */ beqz $t8,.L0f004848 /* f004754: 00000000 */ nop /* f004758: 91390000 */ lbu $t9,0x0($t1) /* f00475c: 44923000 */ mtc1 $s2,$f6 /* f004760: 3c017f1a */ lui $at,%hi(var7f1a7ddc) /* f004764: a1590000 */ sb $t9,0x0($t2) /* f004768: 912e0001 */ lbu $t6,0x1($t1) /* f00476c: 46803220 */ cvt.s.w $f8,$f6 /* f004770: a14e0001 */ sb $t6,0x1($t2) /* f004774: 912f0002 */ lbu $t7,0x2($t1) /* f004778: a14f0002 */ sb $t7,0x2($t2) /* f00477c: 06410005 */ bgez $s2,.L0f004794 /* f004780: c4247ddc */ lwc1 $f4,%lo(var7f1a7ddc)($at) /* f004784: 3c014f80 */ lui $at,0x4f80 /* f004788: 44815000 */ mtc1 $at,$f10 /* f00478c: 00000000 */ nop /* f004790: 460a4200 */ add.s $f8,$f8,$f10 .L0f004794: /* f004794: 91380003 */ lbu $t8,0x3($t1) /* f004798: 46082402 */ mul.s $f16,$f4,$f8 /* f00479c: 3c014f80 */ lui $at,0x4f80 /* f0047a0: 44989000 */ mtc1 $t8,$f18 /* f0047a4: 07010004 */ bgez $t8,.L0f0047b8 /* f0047a8: 468091a0 */ cvt.s.w $f6,$f18 /* f0047ac: 44815000 */ mtc1 $at,$f10 /* f0047b0: 00000000 */ nop /* f0047b4: 460a3180 */ add.s $f6,$f6,$f10 .L0f0047b8: /* f0047b8: 46103102 */ mul.s $f4,$f6,$f16 /* f0047bc: 240e0001 */ addiu $t6,$zero,0x1 /* f0047c0: 3c014f00 */ lui $at,0x4f00 /* f0047c4: 4459f800 */ cfc1 $t9,$31 /* f0047c8: 44cef800 */ ctc1 $t6,$31 /* f0047cc: 00000000 */ nop /* f0047d0: 46002224 */ cvt.w.s $f8,$f4 /* f0047d4: 444ef800 */ cfc1 $t6,$31 /* f0047d8: 00000000 */ nop /* f0047dc: 31ce0078 */ andi $t6,$t6,0x78 /* f0047e0: 51c00013 */ beqzl $t6,.L0f004830 /* f0047e4: 440e4000 */ mfc1 $t6,$f8 /* f0047e8: 44814000 */ mtc1 $at,$f8 /* f0047ec: 240e0001 */ addiu $t6,$zero,0x1 /* f0047f0: 46082201 */ sub.s $f8,$f4,$f8 /* f0047f4: 44cef800 */ ctc1 $t6,$31 /* f0047f8: 00000000 */ nop /* f0047fc: 46004224 */ cvt.w.s $f8,$f8 /* f004800: 444ef800 */ cfc1 $t6,$31 /* f004804: 00000000 */ nop /* f004808: 31ce0078 */ andi $t6,$t6,0x78 /* f00480c: 15c00005 */ bnez $t6,.L0f004824 /* f004810: 00000000 */ nop /* f004814: 440e4000 */ mfc1 $t6,$f8 /* f004818: 3c018000 */ lui $at,0x8000 /* f00481c: 10000007 */ b .L0f00483c /* f004820: 01c17025 */ or $t6,$t6,$at .L0f004824: /* f004824: 10000005 */ b .L0f00483c /* f004828: 240effff */ addiu $t6,$zero,-1 /* f00482c: 440e4000 */ mfc1 $t6,$f8 .L0f004830: /* f004830: 00000000 */ nop /* f004834: 05c0fffb */ bltz $t6,.L0f004824 /* f004838: 00000000 */ nop .L0f00483c: /* f00483c: 44d9f800 */ ctc1 $t9,$31 /* f004840: 100000fe */ b .L0f004c3c /* f004844: a14e0003 */ sb $t6,0x3($t2) .L0f004848: /* f004848: 3c07800a */ lui $a3,%hi(g_Vars+0x284) /* f00484c: 8ce7a244 */ lw $a3,%lo(g_Vars+0x284)($a3) /* f004850: 02406825 */ or $t5,$s2,$zero /* f004854: 8ce800d8 */ lw $t0,0xd8($a3) /* f004858: 15000013 */ bnez $t0,.L0f0048a8 /* f00485c: 00000000 */ nop /* f004860: 8fef0000 */ lw $t7,0x0($ra) /* f004864: 15e00010 */ bnez $t7,.L0f0048a8 /* f004868: 00000000 */ nop /* f00486c: 8ce20480 */ lw $v0,0x480($a3) /* f004870: 50400007 */ beqzl $v0,.L0f004890 /* f004874: 8cee1c54 */ lw $t6,0x1c54($a3) /* f004878: 1040000b */ beqz $v0,.L0f0048a8 /* f00487c: 00000000 */ nop /* f004880: 80580037 */ lb $t8,0x37($v0) /* f004884: 17000008 */ bnez $t8,.L0f0048a8 /* f004888: 00000000 */ nop /* f00488c: 8cee1c54 */ lw $t6,0x1c54($a3) .L0f004890: /* f004890: 8cf900c4 */ lw $t9,0xc4($a3) /* f004894: 01c07827 */ nor $t7,$t6,$zero /* f004898: 032fc024 */ and $t8,$t9,$t7 /* f00489c: 330e0001 */ andi $t6,$t8,0x1 /* f0048a0: 55c00016 */ bnezl $t6,.L0f0048fc /* f0048a4: 91220001 */ lbu $v0,0x1($t1) .L0f0048a8: /* f0048a8: 5500002c */ bnezl $t0,.L0f00495c /* f0048ac: 91260000 */ lbu $a2,0x0($t1) /* f0048b0: 8ff90000 */ lw $t9,0x0($ra) /* f0048b4: 57200029 */ bnezl $t9,.L0f00495c /* f0048b8: 91260000 */ lbu $a2,0x0($t1) /* f0048bc: 8ce20480 */ lw $v0,0x480($a3) /* f0048c0: 50400007 */ beqzl $v0,.L0f0048e0 /* f0048c4: 8cee1c54 */ lw $t6,0x1c54($a3) /* f0048c8: 50400024 */ beqzl $v0,.L0f00495c /* f0048cc: 91260000 */ lbu $a2,0x0($t1) /* f0048d0: 804f0037 */ lb $t7,0x37($v0) /* f0048d4: 55e00021 */ bnezl $t7,.L0f00495c /* f0048d8: 91260000 */ lbu $a2,0x0($t1) /* f0048dc: 8cee1c54 */ lw $t6,0x1c54($a3) .L0f0048e0: /* f0048e0: 8cf800c4 */ lw $t8,0xc4($a3) /* f0048e4: 01c0c827 */ nor $t9,$t6,$zero /* f0048e8: 03197824 */ and $t7,$t8,$t9 /* f0048ec: 31ee0008 */ andi $t6,$t7,0x8 /* f0048f0: 51c0001a */ beqzl $t6,.L0f00495c /* f0048f4: 91260000 */ lbu $a2,0x0($t1) /* f0048f8: 91220001 */ lbu $v0,0x1($t1) .L0f0048fc: /* f0048fc: 91230000 */ lbu $v1,0x0($t1) /* f004900: 0043082a */ slt $at,$v0,$v1 /* f004904: 5020000a */ beqzl $at,.L0f004930 /* f004908: 91230002 */ lbu $v1,0x2($t1) /* f00490c: 91380002 */ lbu $t8,0x2($t1) /* f004910: 00602025 */ or $a0,$v1,$zero /* f004914: 00602825 */ or $a1,$v1,$zero /* f004918: 0303082a */ slt $at,$t8,$v1 /* f00491c: 50200004 */ beqzl $at,.L0f004930 /* f004920: 91230002 */ lbu $v1,0x2($t1) /* f004924: 1000000f */ b .L0f004964 /* f004928: 00603025 */ or $a2,$v1,$zero /* f00492c: 91230002 */ lbu $v1,0x2($t1) .L0f004930: /* f004930: 0062082a */ slt $at,$v1,$v0 /* f004934: 10200003 */ beqz $at,.L0f004944 /* f004938: 00602025 */ or $a0,$v1,$zero /* f00493c: 10000001 */ b .L0f004944 /* f004940: 00402025 */ or $a0,$v0,$zero .L0f004944: /* f004944: 00801025 */ or $v0,$a0,$zero /* f004948: 00402025 */ or $a0,$v0,$zero /* f00494c: 00402825 */ or $a1,$v0,$zero /* f004950: 10000004 */ b .L0f004964 /* f004954: 00403025 */ or $a2,$v0,$zero /* f004958: 91260000 */ lbu $a2,0x0($t1) .L0f00495c: /* f00495c: 91250001 */ lbu $a1,0x1($t1) /* f004960: 91240002 */ lbu $a0,0x2($t1) .L0f004964: /* f004964: 91390003 */ lbu $t9,0x3($t1) /* f004968: 00c5082a */ slt $at,$a2,$a1 /* f00496c: 00c01825 */ or $v1,$a2,$zero /* f004970: 10200002 */ beqz $at,.L0f00497c /* f004974: afb90084 */ sw $t9,0x84($sp) /* f004978: 00a01825 */ or $v1,$a1,$zero .L0f00497c: /* f00497c: 0064082a */ slt $at,$v1,$a0 /* f004980: 44864000 */ mtc1 $a2,$f8 /* f004984: 50200003 */ beqzl $at,.L0f004994 /* f004988: 01a3082a */ slt $at,$t5,$v1 /* f00498c: 00801825 */ or $v1,$a0,$zero /* f004990: 01a3082a */ slt $at,$t5,$v1 .L0f004994: /* f004994: 5020000d */ beqzl $at,.L0f0049cc /* f004998: 44832000 */ mtc1 $v1,$f4 /* f00499c: 44839000 */ mtc1 $v1,$f18 /* f0049a0: 44925000 */ mtc1 $s2,$f10 /* f0049a4: 3c014f80 */ lui $at,0x4f80 /* f0049a8: 468090a0 */ cvt.s.w $f2,$f18 /* f0049ac: 06410004 */ bgez $s2,.L0f0049c0 /* f0049b0: 468051a0 */ cvt.s.w $f6,$f10 /* f0049b4: 44818000 */ mtc1 $at,$f16 /* f0049b8: 00000000 */ nop /* f0049bc: 46103180 */ add.s $f6,$f6,$f16 .L0f0049c0: /* f0049c0: 10000005 */ b .L0f0049d8 /* f0049c4: 46023003 */ div.s $f0,$f6,$f2 /* f0049c8: 44832000 */ mtc1 $v1,$f4 .L0f0049cc: /* f0049cc: 3c013f80 */ lui $at,0x3f80 /* f0049d0: 44810000 */ mtc1 $at,$f0 /* f0049d4: 468020a0 */ cvt.s.w $f2,$f4 .L0f0049d8: /* f0049d8: 468044a0 */ cvt.s.w $f18,$f8 /* f0049dc: 44853000 */ mtc1 $a1,$f6 /* f0049e0: 00000000 */ nop /* f0049e4: 46803120 */ cvt.s.w $f4,$f6 /* f0049e8: 46009282 */ mul.s $f10,$f18,$f0 /* f0049ec: 4600540d */ trunc.w.s $f16,$f10 /* f0049f0: 44845000 */ mtc1 $a0,$f10 /* f0049f4: 46002202 */ mul.s $f8,$f4,$f0 /* f0049f8: 440e8000 */ mfc1 $t6,$f16 /* f0049fc: 00000000 */ nop /* f004a00: afae0080 */ sw $t6,0x80($sp) /* f004a04: 46805420 */ cvt.s.w $f16,$f10 /* f004a08: 4600448d */ trunc.w.s $f18,$f8 /* f004a0c: 46008182 */ mul.s $f6,$f16,$f0 /* f004a10: 44199000 */ mfc1 $t9,$f18 /* f004a14: 46001202 */ mul.s $f8,$f2,$f0 /* f004a18: afb9007c */ sw $t9,0x7c($sp) /* f004a1c: 4600310d */ trunc.w.s $f4,$f6 /* f004a20: 4600448d */ trunc.w.s $f18,$f8 /* f004a24: 440e2000 */ mfc1 $t6,$f4 /* f004a28: 00000000 */ nop /* f004a2c: afae0078 */ sw $t6,0x78($sp) /* f004a30: 8ce800d8 */ lw $t0,0xd8($a3) /* f004a34: 44039000 */ mfc1 $v1,$f18 /* f004a38: 15000013 */ bnez $t0,.L0f004a88 /* f004a3c: 00000000 */ nop /* f004a40: 8ff90000 */ lw $t9,0x0($ra) /* f004a44: 17200010 */ bnez $t9,.L0f004a88 /* f004a48: 00000000 */ nop /* f004a4c: 8ce20480 */ lw $v0,0x480($a3) /* f004a50: 50400007 */ beqzl $v0,.L0f004a70 /* f004a54: 8cf81c54 */ lw $t8,0x1c54($a3) /* f004a58: 1040000b */ beqz $v0,.L0f004a88 /* f004a5c: 00000000 */ nop /* f004a60: 804f0037 */ lb $t7,0x37($v0) /* f004a64: 15e00008 */ bnez $t7,.L0f004a88 /* f004a68: 00000000 */ nop /* f004a6c: 8cf81c54 */ lw $t8,0x1c54($a3) .L0f004a70: /* f004a70: 8cee00c4 */ lw $t6,0xc4($a3) /* f004a74: 0300c827 */ nor $t9,$t8,$zero /* f004a78: 01d97824 */ and $t7,$t6,$t9 /* f004a7c: 31f80001 */ andi $t8,$t7,0x1 /* f004a80: 17000015 */ bnez $t8,.L0f004ad8 /* f004a84: 00000000 */ nop .L0f004a88: /* f004a88: 55000016 */ bnezl $t0,.L0f004ae4 /* f004a8c: 01837821 */ addu $t7,$t4,$v1 /* f004a90: 8fee0000 */ lw $t6,0x0($ra) /* f004a94: 55c00013 */ bnezl $t6,.L0f004ae4 /* f004a98: 01837821 */ addu $t7,$t4,$v1 /* f004a9c: 8ce20480 */ lw $v0,0x480($a3) /* f004aa0: 50400007 */ beqzl $v0,.L0f004ac0 /* f004aa4: 8cf81c54 */ lw $t8,0x1c54($a3) /* f004aa8: 5040000e */ beqzl $v0,.L0f004ae4 /* f004aac: 01837821 */ addu $t7,$t4,$v1 /* f004ab0: 80590037 */ lb $t9,0x37($v0) /* f004ab4: 5720000b */ bnezl $t9,.L0f004ae4 /* f004ab8: 01837821 */ addu $t7,$t4,$v1 /* f004abc: 8cf81c54 */ lw $t8,0x1c54($a3) .L0f004ac0: /* f004ac0: 8cef00c4 */ lw $t7,0xc4($a3) /* f004ac4: 03007027 */ nor $t6,$t8,$zero /* f004ac8: 01eec824 */ and $t9,$t7,$t6 /* f004acc: 33380008 */ andi $t8,$t9,0x8 /* f004ad0: 53000004 */ beqzl $t8,.L0f004ae4 /* f004ad4: 01837821 */ addu $t7,$t4,$v1 .L0f004ad8: /* f004ad8: 10000006 */ b .L0f004af4 /* f004adc: 00006025 */ or $t4,$zero,$zero /* f004ae0: 01837821 */ addu $t7,$t4,$v1 .L0f004ae4: /* f004ae4: 29e1011e */ slti $at,$t7,0x11e /* f004ae8: 14200002 */ bnez $at,.L0f004af4 /* f004aec: 240e011d */ addiu $t6,$zero,0x11d /* f004af0: 01c36023 */ subu $t4,$t6,$v1 .L0f004af4: /* f004af4: 8fb90080 */ lw $t9,0x80($sp) /* f004af8: 8fb8007c */ lw $t8,0x7c($sp) /* f004afc: 8fae0078 */ lw $t6,0x78($sp) /* f004b00: 03387821 */ addu $t7,$t9,$t8 /* f004b04: 01eec821 */ addu $t9,$t7,$t6 /* f004b08: 5720000c */ bnezl $t9,.L0f004b3c /* f004b0c: 8fae0080 */ lw $t6,0x80($sp) /* f004b10: 44805000 */ mtc1 $zero,$f10 /* f004b14: c570005c */ lwc1 $f16,0x5c($t3) /* f004b18: 46105032 */ c.eq.s $f10,$f16 /* f004b1c: 00000000 */ nop /* f004b20: 45030006 */ bc1tl .L0f004b3c /* f004b24: 8fae0080 */ lw $t6,0x80($sp) /* f004b28: 95780000 */ lhu $t8,0x0($t3) /* f004b2c: 330f2000 */ andi $t7,$t8,0x2000 /* f004b30: 51e0000b */ beqzl $t7,.L0f004b60 /* f004b34: 9578004e */ lhu $t8,0x4e($t3) /* f004b38: 8fae0080 */ lw $t6,0x80($sp) .L0f004b3c: /* f004b3c: 8fb8007c */ lw $t8,0x7c($sp) /* f004b40: 01ccc821 */ addu $t9,$t6,$t4 /* f004b44: 8fae0078 */ lw $t6,0x78($sp) /* f004b48: afb90080 */ sw $t9,0x80($sp) /* f004b4c: 030c7821 */ addu $t7,$t8,$t4 /* f004b50: 01ccc821 */ addu $t9,$t6,$t4 /* f004b54: afaf007c */ sw $t7,0x7c($sp) /* f004b58: afb90078 */ sw $t9,0x78($sp) /* f004b5c: 9578004e */ lhu $t8,0x4e($t3) .L0f004b60: /* f004b60: 24010005 */ addiu $at,$zero,0x5 /* f004b64: 00187b02 */ srl $t7,$t8,0xc /* f004b68: 55e1000f */ bnel $t7,$at,.L0f004ba8 /* f004b6c: 8fae0080 */ lw $t6,0x80($sp) /* f004b70: 87a4009a */ lh $a0,0x9a($sp) /* f004b74: 27a50080 */ addiu $a1,$sp,0x80 /* f004b78: 27a6007c */ addiu $a2,$sp,0x7c /* f004b7c: 27a70078 */ addiu $a3,$sp,0x78 /* f004b80: afa9003c */ sw $t1,0x3c($sp) /* f004b84: afaa0040 */ sw $t2,0x40($sp) /* f004b88: 0fc6192e */ jal scenarioCallback38 /* f004b8c: afac0074 */ sw $t4,0x74($sp) /* f004b90: 3c1f8007 */ lui $ra,%hi(g_InCutscene) /* f004b94: 27ff0764 */ addiu $ra,$ra,%lo(g_InCutscene) /* f004b98: 8fa9003c */ lw $t1,0x3c($sp) /* f004b9c: 8faa0040 */ lw $t2,0x40($sp) /* f004ba0: 8fac0074 */ lw $t4,0x74($sp) /* f004ba4: 8fae0080 */ lw $t6,0x80($sp) .L0f004ba8: /* f004ba8: 29c10100 */ slti $at,$t6,0x100 /* f004bac: 14200002 */ bnez $at,.L0f004bb8 /* f004bb0: 241900ff */ addiu $t9,$zero,0xff /* f004bb4: afb90080 */ sw $t9,0x80($sp) .L0f004bb8: /* f004bb8: 8fb8007c */ lw $t8,0x7c($sp) /* f004bbc: 2b010100 */ slti $at,$t8,0x100 /* f004bc0: 14200002 */ bnez $at,.L0f004bcc /* f004bc4: 240f00ff */ addiu $t7,$zero,0xff /* f004bc8: afaf007c */ sw $t7,0x7c($sp) .L0f004bcc: /* f004bcc: 8fae0078 */ lw $t6,0x78($sp) /* f004bd0: 29c10100 */ slti $at,$t6,0x100 /* f004bd4: 14200002 */ bnez $at,.L0f004be0 /* f004bd8: 241900ff */ addiu $t9,$zero,0xff /* f004bdc: afb90078 */ sw $t9,0x78($sp) .L0f004be0: /* f004be0: 8fb80080 */ lw $t8,0x80($sp) /* f004be4: 07030003 */ bgezl $t8,.L0f004bf4 /* f004be8: 8faf007c */ lw $t7,0x7c($sp) /* f004bec: afa00080 */ sw $zero,0x80($sp) /* f004bf0: 8faf007c */ lw $t7,0x7c($sp) .L0f004bf4: /* f004bf4: 05e30003 */ bgezl $t7,.L0f004c04 /* f004bf8: 8fae0078 */ lw $t6,0x78($sp) /* f004bfc: afa0007c */ sw $zero,0x7c($sp) /* f004c00: 8fae0078 */ lw $t6,0x78($sp) .L0f004c04: /* f004c04: 05c30003 */ bgezl $t6,.L0f004c14 /* f004c08: 8fb90080 */ lw $t9,0x80($sp) /* f004c0c: afa00078 */ sw $zero,0x78($sp) /* f004c10: 8fb90080 */ lw $t9,0x80($sp) .L0f004c14: /* f004c14: 3c07800a */ lui $a3,%hi(g_Rooms) /* f004c18: 24e74928 */ addiu $a3,$a3,%lo(g_Rooms) /* f004c1c: a1590000 */ sb $t9,0x0($t2) /* f004c20: 8fb8007c */ lw $t8,0x7c($sp) /* f004c24: a1580001 */ sb $t8,0x1($t2) /* f004c28: 8faf0078 */ lw $t7,0x78($sp) /* f004c2c: a14f0002 */ sb $t7,0x2($t2) /* f004c30: 8fae0084 */ lw $t6,0x84($sp) /* f004c34: a14e0003 */ sb $t6,0x3($t2) /* f004c38: 8fa60048 */ lw $a2,0x48($sp) .L0f004c3c: /* f004c3c: 8fb90070 */ lw $t9,0x70($sp) /* f004c40: 26100001 */ addiu $s0,$s0,0x1 /* f004c44: 2631000c */ addiu $s1,$s1,0xc /* f004c48: 254a0004 */ addiu $t2,$t2,0x4 /* f004c4c: 1619feb9 */ bne $s0,$t9,.L0f004734 /* f004c50: 25290004 */ addiu $t1,$t1,0x4 .L0f004c54: /* f004c54: 8fbf0024 */ lw $ra,0x24($sp) .L0f004c58: /* f004c58: 8fb00018 */ lw $s0,0x18($sp) /* f004c5c: 8fb1001c */ lw $s1,0x1c($sp) /* f004c60: 8fb20020 */ lw $s2,0x20($sp) /* f004c64: 03e00008 */ jr $ra /* f004c68: 27bd0098 */ addiu $sp,$sp,0x98 ); GLOBAL_ASM( glabel func0f004c6c /* f004c6c: 27bdffb8 */ addiu $sp,$sp,-72 /* f004c70: afbf002c */ sw $ra,0x2c($sp) /* f004c74: afb50028 */ sw $s5,0x28($sp) /* f004c78: afb40024 */ sw $s4,0x24($sp) /* f004c7c: afb30020 */ sw $s3,0x20($sp) /* f004c80: afb2001c */ sw $s2,0x1c($sp) /* f004c84: afb10018 */ sw $s1,0x18($sp) /* f004c88: afb00014 */ sw $s0,0x14($sp) /* f004c8c: 0fc5db69 */ jal align16 /* f004c90: 24042000 */ addiu $a0,$zero,0x2000 /* f004c94: 3c15800a */ lui $s5,%hi(var8009cadc) /* f004c98: 26b5cadc */ addiu $s5,$s5,%lo(var8009cadc) /* f004c9c: 8ea40000 */ lw $a0,0x0($s5) /* f004ca0: afa20044 */ sw $v0,0x44($sp) /* f004ca4: 00047080 */ sll $t6,$a0,0x2 /* f004ca8: 0fc5db69 */ jal align16 /* f004cac: 01c02025 */ or $a0,$t6,$zero /* f004cb0: 8ea40000 */ lw $a0,0x0($s5) /* f004cb4: afa20040 */ sw $v0,0x40($sp) /* f004cb8: 00047880 */ sll $t7,$a0,0x2 /* f004cbc: 01e47823 */ subu $t7,$t7,$a0 /* f004cc0: 0fc5db69 */ jal align16 /* f004cc4: 000f2080 */ sll $a0,$t7,0x2 /* f004cc8: 8ea40000 */ lw $a0,0x0($s5) /* f004ccc: 00409025 */ or $s2,$v0,$zero /* f004cd0: 0004c080 */ sll $t8,$a0,0x2 /* f004cd4: 0fc5db69 */ jal align16 /* f004cd8: 03002025 */ or $a0,$t8,$zero /* f004cdc: 8ea40000 */ lw $a0,0x0($s5) /* f004ce0: afa20038 */ sw $v0,0x38($sp) /* f004ce4: 0004c840 */ sll $t9,$a0,0x1 /* f004ce8: 0fc5db69 */ jal align16 /* f004cec: 03202025 */ or $a0,$t9,$zero /* f004cf0: 8ea50000 */ lw $a1,0x0($s5) /* f004cf4: 00403825 */ or $a3,$v0,$zero /* f004cf8: 00008825 */ or $s1,$zero,$zero /* f004cfc: 18a00009 */ blez $a1,.L0f004d24 /* f004d00: 8fb40038 */ lw $s4,0x38($sp) .L0f004d04: /* f004d04: 12200002 */ beqz $s1,.L0f004d10 /* f004d08: 00115840 */ sll $t3,$s1,0x1 /* f004d0c: 028ba021 */ addu $s4,$s4,$t3 .L0f004d10: /* f004d10: 26310001 */ addiu $s1,$s1,0x1 /* f004d14: 0225082a */ slt $at,$s1,$a1 /* f004d18: 1420fffa */ bnez $at,.L0f004d04 /* f004d1c: 00000000 */ nop /* f004d20: 00008825 */ or $s1,$zero,$zero .L0f004d24: /* f004d24: 02802025 */ or $a0,$s4,$zero /* f004d28: 0fc5db69 */ jal align16 /* f004d2c: afa70034 */ sw $a3,0x34($sp) /* f004d30: 0040a025 */ or $s4,$v0,$zero /* f004d34: 0fc5db69 */ jal align16 /* f004d38: 00402025 */ or $a0,$v0,$zero /* f004d3c: 00402025 */ or $a0,$v0,$zero /* f004d40: 0c0048f2 */ jal mempAlloc /* f004d44: 24050004 */ addiu $a1,$zero,0x4 /* f004d48: 8ea50000 */ lw $a1,0x0($s5) /* f004d4c: 8fa30038 */ lw $v1,0x38($sp) /* f004d50: 3c138006 */ lui $s3,%hi(var80061430) /* f004d54: 26731430 */ addiu $s3,$s3,%lo(var80061430) /* f004d58: 8fa70034 */ lw $a3,0x34($sp) /* f004d5c: ae620000 */ sw $v0,0x0($s3) /* f004d60: 18a00014 */ blez $a1,.L0f004db4 /* f004d64: 00433021 */ addu $a2,$v0,$v1 /* f004d68: 00008025 */ or $s0,$zero,$zero .L0f004d6c: /* f004d6c: 52200008 */ beqzl $s1,.L0f004d90 /* f004d70: 8e6f0000 */ lw $t7,0x0($s3) /* f004d74: 8e6c0000 */ lw $t4,0x0($s3) /* f004d78: 00117040 */ sll $t6,$s1,0x1 /* f004d7c: 01906821 */ addu $t5,$t4,$s0 /* f004d80: ada60000 */ sw $a2,0x0($t5) /* f004d84: 10000004 */ b .L0f004d98 /* f004d88: 00ce3021 */ addu $a2,$a2,$t6 /* f004d8c: 8e6f0000 */ lw $t7,0x0($s3) .L0f004d90: /* f004d90: 01f0c021 */ addu $t8,$t7,$s0 /* f004d94: af000000 */ sw $zero,0x0($t8) .L0f004d98: /* f004d98: 8ea50000 */ lw $a1,0x0($s5) /* f004d9c: 26310001 */ addiu $s1,$s1,0x1 /* f004da0: 26100004 */ addiu $s0,$s0,0x4 /* f004da4: 0225082a */ slt $at,$s1,$a1 /* f004da8: 1420fff0 */ bnez $at,.L0f004d6c /* f004dac: 00000000 */ nop /* f004db0: 00008825 */ or $s1,$zero,$zero .L0f004db4: /* f004db4: 00a70019 */ multu $a1,$a3 /* f004db8: 8fb90044 */ lw $t9,0x44($sp) /* f004dbc: 8fab0040 */ lw $t3,0x40($sp) /* f004dc0: 0292a021 */ addu $s4,$s4,$s2 /* f004dc4: 0299a021 */ addu $s4,$s4,$t9 /* f004dc8: 028ba021 */ addu $s4,$s4,$t3 /* f004dcc: 0283a021 */ addu $s4,$s4,$v1 /* f004dd0: afa70034 */ sw $a3,0x34($sp) /* f004dd4: 00006012 */ mflo $t4 /* f004dd8: 028c2021 */ addu $a0,$s4,$t4 /* f004ddc: 0fc5db69 */ jal align16 /* f004de0: 00000000 */ nop /* f004de4: 0c0048c9 */ jal mempGetNextStageAllocation /* f004de8: 00000000 */ nop /* f004dec: 8fad0044 */ lw $t5,0x44($sp) /* f004df0: 3c01800a */ lui $at,%hi(var8009cad0) /* f004df4: ac22cad0 */ sw $v0,%lo(var8009cad0)($at) /* f004df8: 3c01800a */ lui $at,%hi(var8009cad8) /* f004dfc: 004d1821 */ addu $v1,$v0,$t5 /* f004e00: ac23cad8 */ sw $v1,%lo(var8009cad8)($at) /* f004e04: 8fa70034 */ lw $a3,0x34($sp) /* f004e08: 8ea50000 */ lw $a1,0x0($s5) /* f004e0c: 8fae0040 */ lw $t6,0x40($sp) /* f004e10: 8fb40038 */ lw $s4,0x38($sp) /* f004e14: 00a70019 */ multu $a1,$a3 /* f004e18: 3c128006 */ lui $s2,%hi(var8006142c) /* f004e1c: 006e2021 */ addu $a0,$v1,$t6 /* f004e20: 2652142c */ addiu $s2,$s2,%lo(var8006142c) /* f004e24: 00944021 */ addu $t0,$a0,$s4 /* f004e28: ae440000 */ sw $a0,0x0($s2) /* f004e2c: 3c018006 */ lui $at,%hi(var80061428) /* f004e30: 34028009 */ dli $v0,0x8009 /* f004e34: 00008025 */ or $s0,$zero,$zero /* f004e38: 0000c012 */ mflo $t8 /* f004e3c: 01183021 */ addu $a2,$t0,$t8 /* f004e40: ac261428 */ sw $a2,%lo(var80061428)($at) /* f004e44: 18a0001a */ blez $a1,.L0f004eb0 /* f004e48: 01003025 */ or $a2,$t0,$zero .L0f004e4c: /* f004e4c: 8e590000 */ lw $t9,0x0($s2) /* f004e50: 26310001 */ addiu $s1,$s1,0x1 /* f004e54: 0287a021 */ addu $s4,$s4,$a3 /* f004e58: 03305821 */ addu $t3,$t9,$s0 /* f004e5c: ad660000 */ sw $a2,0x0($t3) /* f004e60: 8ea50000 */ lw $a1,0x0($s5) /* f004e64: 00c73021 */ addu $a2,$a2,$a3 /* f004e68: 00002025 */ or $a0,$zero,$zero /* f004e6c: 18a0000c */ blez $a1,.L0f004ea0 /* f004e70: 00001825 */ or $v1,$zero,$zero /* f004e74: 8e4c0000 */ lw $t4,0x0($s2) .L0f004e78: /* f004e78: 24840001 */ addiu $a0,$a0,0x1 /* f004e7c: 01906821 */ addu $t5,$t4,$s0 /* f004e80: 8dae0000 */ lw $t6,0x0($t5) /* f004e84: 01c3c021 */ addu $t8,$t6,$v1 /* f004e88: a7020000 */ sh $v0,0x0($t8) /* f004e8c: 8ea50000 */ lw $a1,0x0($s5) /* f004e90: 24630002 */ addiu $v1,$v1,0x2 /* f004e94: 0085082a */ slt $at,$a0,$a1 /* f004e98: 5420fff7 */ bnezl $at,.L0f004e78 /* f004e9c: 8e4c0000 */ lw $t4,0x0($s2) .L0f004ea0: /* f004ea0: 0225082a */ slt $at,$s1,$a1 /* f004ea4: 1420ffe9 */ bnez $at,.L0f004e4c /* f004ea8: 26100004 */ addiu $s0,$s0,0x4 /* f004eac: 00008825 */ or $s1,$zero,$zero .L0f004eb0: /* f004eb0: 18a0001c */ blez $a1,.L0f004f24 /* f004eb4: 00008025 */ or $s0,$zero,$zero /* f004eb8: 0000a025 */ or $s4,$zero,$zero .L0f004ebc: /* f004ebc: 0fc2d95b */ jal func0f0b656c /* f004ec0: 02202025 */ or $a0,$s1,$zero /* f004ec4: 3c013f00 */ lui $at,0x3f00 /* f004ec8: 44812000 */ mtc1 $at,$f4 /* f004ecc: 00007825 */ or $t7,$zero,$zero /* f004ed0: 3c19800a */ lui $t9,%hi(var8009cad8) /* f004ed4: 4600203c */ c.lt.s $f4,$f0 /* f004ed8: 00000000 */ nop /* f004edc: 45000002 */ bc1f .L0f004ee8 /* f004ee0: 00000000 */ nop /* f004ee4: 240f0001 */ addiu $t7,$zero,0x1 .L0f004ee8: /* f004ee8: 8f39cad8 */ lw $t9,%lo(var8009cad8)($t9) /* f004eec: 3c0c8006 */ lui $t4,%hi(var80061428) /* f004ef0: 02202025 */ or $a0,$s1,$zero /* f004ef4: 03305821 */ addu $t3,$t9,$s0 /* f004ef8: ad6f0000 */ sw $t7,0x0($t3) /* f004efc: 8d8c1428 */ lw $t4,%lo(var80061428)($t4) /* f004f00: 0c005f38 */ jal func00017ce0 /* f004f04: 028c2821 */ addu $a1,$s4,$t4 /* f004f08: 8ea50000 */ lw $a1,0x0($s5) /* f004f0c: 26310001 */ addiu $s1,$s1,0x1 /* f004f10: 26100004 */ addiu $s0,$s0,0x4 /* f004f14: 0225082a */ slt $at,$s1,$a1 /* f004f18: 1420ffe8 */ bnez $at,.L0f004ebc /* f004f1c: 2694000c */ addiu $s4,$s4,0xc /* f004f20: 00008825 */ or $s1,$zero,$zero .L0f004f24: /* f004f24: 3c0d800a */ lui $t5,%hi(g_Vars+0x4b4) /* f004f28: 8dada474 */ lw $t5,%lo(g_Vars+0x4b4)($t5) /* f004f2c: 24010033 */ addiu $at,$zero,0x33 /* f004f30: 3c18800a */ lui $t8,%hi(var8009cad8) /* f004f34: 15a10005 */ bne $t5,$at,.L0f004f4c /* f004f38: 00005025 */ or $t2,$zero,$zero /* f004f3c: 8f18cad8 */ lw $t8,%lo(var8009cad8)($t8) /* f004f40: 240e0001 */ addiu $t6,$zero,0x1 /* f004f44: af0e0000 */ sw $t6,0x0($t8) /* f004f48: 8ea50000 */ lw $a1,0x0($s5) .L0f004f4c: /* f004f4c: 18a0000e */ blez $a1,.L0f004f88 /* f004f50: 00008025 */ or $s0,$zero,$zero /* f004f54: 8e590000 */ lw $t9,0x0($s2) .L0f004f58: /* f004f58: 26310001 */ addiu $s1,$s1,0x1 /* f004f5c: 03307821 */ addu $t7,$t9,$s0 /* f004f60: 8deb0000 */ lw $t3,0x0($t7) /* f004f64: 26100004 */ addiu $s0,$s0,0x4 /* f004f68: 016a6021 */ addu $t4,$t3,$t2 /* f004f6c: a5800000 */ sh $zero,0x0($t4) /* f004f70: 8ead0000 */ lw $t5,0x0($s5) /* f004f74: 254a0002 */ addiu $t2,$t2,0x2 /* f004f78: 022d082a */ slt $at,$s1,$t5 /* f004f7c: 5420fff6 */ bnezl $at,.L0f004f58 /* f004f80: 8e590000 */ lw $t9,0x0($s2) /* f004f84: 00008825 */ or $s1,$zero,$zero .L0f004f88: /* f004f88: 0fc01417 */ jal func0f00505c /* f004f8c: 00000000 */ nop /* f004f90: 8ea50000 */ lw $a1,0x0($s5) /* f004f94: 58a00029 */ blezl $a1,.L0f00503c /* f004f98: 8fbf002c */ lw $ra,0x2c($sp) .L0f004f9c: /* f004f9c: 1a200022 */ blez $s1,.L0f005028 /* f004fa0: 00002025 */ or $a0,$zero,$zero /* f004fa4: 00115040 */ sll $t2,$s1,0x1 /* f004fa8: 00118080 */ sll $s0,$s1,0x2 /* f004fac: 00001825 */ or $v1,$zero,$zero /* f004fb0: 00003825 */ or $a3,$zero,$zero .L0f004fb4: /* f004fb4: 8e420000 */ lw $v0,0x0($s2) /* f004fb8: 24840001 */ addiu $a0,$a0,0x1 /* f004fbc: 00507021 */ addu $t6,$v0,$s0 /* f004fc0: 00477821 */ addu $t7,$v0,$a3 /* f004fc4: 8dd80000 */ lw $t8,0x0($t6) /* f004fc8: 8deb0000 */ lw $t3,0x0($t7) /* f004fcc: 24e70004 */ addiu $a3,$a3,0x4 /* f004fd0: 0303c821 */ addu $t9,$t8,$v1 /* f004fd4: 016a6021 */ addu $t4,$t3,$t2 /* f004fd8: 97250000 */ lhu $a1,0x0($t9) /* f004fdc: 95890000 */ lhu $t1,0x0($t4) /* f004fe0: 00a9082a */ slt $at,$a1,$t1 /* f004fe4: 50200008 */ beqzl $at,.L0f005008 /* f004fe8: 8e6f0000 */ lw $t7,0x0($s3) /* f004fec: 8e6d0000 */ lw $t5,0x0($s3) /* f004ff0: 01b07021 */ addu $t6,$t5,$s0 /* f004ff4: 8dd80000 */ lw $t8,0x0($t6) /* f004ff8: 0303c821 */ addu $t9,$t8,$v1 /* f004ffc: 10000006 */ b .L0f005018 /* f005000: a7250000 */ sh $a1,0x0($t9) /* f005004: 8e6f0000 */ lw $t7,0x0($s3) .L0f005008: /* f005008: 01f05821 */ addu $t3,$t7,$s0 /* f00500c: 8d6c0000 */ lw $t4,0x0($t3) /* f005010: 01836821 */ addu $t5,$t4,$v1 /* f005014: a5a90000 */ sh $t1,0x0($t5) .L0f005018: /* f005018: 1491ffe6 */ bne $a0,$s1,.L0f004fb4 /* f00501c: 24630002 */ addiu $v1,$v1,0x2 /* f005020: 3c05800a */ lui $a1,%hi(var8009cadc) /* f005024: 8ca5cadc */ lw $a1,%lo(var8009cadc)($a1) .L0f005028: /* f005028: 26310001 */ addiu $s1,$s1,0x1 /* f00502c: 0225082a */ slt $at,$s1,$a1 /* f005030: 1420ffda */ bnez $at,.L0f004f9c /* f005034: 00000000 */ nop /* f005038: 8fbf002c */ lw $ra,0x2c($sp) .L0f00503c: /* f00503c: 8fb00014 */ lw $s0,0x14($sp) /* f005040: 8fb10018 */ lw $s1,0x18($sp) /* f005044: 8fb2001c */ lw $s2,0x1c($sp) /* f005048: 8fb30020 */ lw $s3,0x20($sp) /* f00504c: 8fb40024 */ lw $s4,0x24($sp) /* f005050: 8fb50028 */ lw $s5,0x28($sp) /* f005054: 03e00008 */ jr $ra /* f005058: 27bd0048 */ addiu $sp,$sp,0x48 ); GLOBAL_ASM( glabel func0f00505c /* f00505c: 27bdff80 */ addiu $sp,$sp,-128 /* f005060: 3c0e800a */ lui $t6,%hi(var8009cadc) /* f005064: 8dcecadc */ lw $t6,%lo(var8009cadc)($t6) /* f005068: afbf003c */ sw $ra,0x3c($sp) /* f00506c: afbe0038 */ sw $s8,0x38($sp) /* f005070: afb70034 */ sw $s7,0x34($sp) /* f005074: afb60030 */ sw $s6,0x30($sp) /* f005078: afb5002c */ sw $s5,0x2c($sp) /* f00507c: afb40028 */ sw $s4,0x28($sp) /* f005080: afb30024 */ sw $s3,0x24($sp) /* f005084: afb20020 */ sw $s2,0x20($sp) /* f005088: afb1001c */ sw $s1,0x1c($sp) /* f00508c: afb00018 */ sw $s0,0x18($sp) /* f005090: 19c000c3 */ blez $t6,.L0f0053a0 /* f005094: 00004825 */ or $t1,$zero,$zero /* f005098: 3c0a800a */ lui $t2,%hi(var8009cad0) /* f00509c: 3c078006 */ lui $a3,%hi(var8006142c) /* f0050a0: 24e7142c */ addiu $a3,$a3,%lo(var8006142c) /* f0050a4: 254acad0 */ addiu $t2,$t2,%lo(var8009cad0) /* f0050a8: 8d4f0000 */ lw $t7,0x0($t2) .L0f0050ac: /* f0050ac: afa0007c */ sw $zero,0x7c($sp) /* f0050b0: 3c03800a */ lui $v1,%hi(g_Rooms) /* f0050b4: ade90000 */ sw $t1,0x0($t7) /* f0050b8: 8c634928 */ lw $v1,%lo(g_Rooms)($v1) /* f0050bc: 24060001 */ addiu $a2,$zero,0x1 .L0f0050c0: /* f0050c0: 8fb9007c */ lw $t9,0x7c($sp) /* f0050c4: 8d580000 */ lw $t8,0x0($t2) /* f0050c8: 00195880 */ sll $t3,$t9,0x2 /* f0050cc: 030b6021 */ addu $t4,$t8,$t3 /* f0050d0: 8d960000 */ lw $s6,0x0($t4) /* f0050d4: afa00070 */ sw $zero,0x70($sp) /* f0050d8: 001668c0 */ sll $t5,$s6,0x3 /* f0050dc: afad0044 */ sw $t5,0x44($sp) .L0f0050e0: /* f0050e0: 8fb90070 */ lw $t9,0x70($sp) /* 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 /* f0050f8: 01cf1021 */ addu $v0,$t6,$t7 /* f0050fc: 10000002 */ b .L0f005108 /* f005100: 84440004 */ lh $a0,0x4($v0) .L0f005104: /* f005104: 84440002 */ lh $a0,0x2($v0) .L0f005108: /* f005108: 000440c0 */ sll $t0,$a0,0x3 /* f00510c: 01044021 */ addu $t0,$t0,$a0 /* f005110: 00084080 */ sll $t0,$t0,0x2 /* f005114: 01044023 */ subu $t0,$t0,$a0 /* f005118: 00084080 */ sll $t0,$t0,0x2 /* f00511c: 00681021 */ addu $v0,$v1,$t0 /* f005120: 80580005 */ lb $t8,0x5($v0) /* f005124: 0000b825 */ or $s7,$zero,$zero /* f005128: 5b00008e */ blezl $t8,.L0f005364 /* f00512c: 8fb90070 */ lw $t9,0x70($sp) /* f005130: 844c000e */ lh $t4,0xe($v0) .L0f005134: /* f005134: 3c0b800a */ lui $t3,%hi(g_RoomPortals) /* f005138: 8d6b4ce0 */ lw $t3,%lo(g_RoomPortals)($t3) /* f00513c: 000c6840 */ sll $t5,$t4,0x1 /* f005140: 3c19800a */ lui $t9,%hi(var8009cad8) /* f005144: 016d7021 */ addu $t6,$t3,$t5 /* f005148: 01d77821 */ addu $t7,$t6,$s7 /* f00514c: 85f30000 */ lh $s3,0x0($t7) /* f005150: 1276007a */ beq $s3,$s6,.L0f00533c /* f005154: 00000000 */ nop /* f005158: 8f39cad8 */ lw $t9,%lo(var8009cad8)($t9) /* f00515c: 00138080 */ sll $s0,$s3,0x2 /* f005160: 0330c021 */ addu $t8,$t9,$s0 /* f005164: 8f0c0000 */ lw $t4,0x0($t8) /* f005168: 11800074 */ beqz $t4,.L0f00533c /* f00516c: 00000000 */ nop /* f005170: 8ce30000 */ lw $v1,0x0($a3) /* f005174: 0016a080 */ sll $s4,$s6,0x2 /* f005178: 00139040 */ sll $s2,$s3,0x1 /* f00517c: 00745821 */ addu $t3,$v1,$s4 /* f005180: 8d6d0000 */ lw $t5,0x0($t3) /* f005184: 34018000 */ dli $at,0x8000 /* f005188: 00168840 */ sll $s1,$s6,0x1 /* f00518c: 01b27021 */ addu $t6,$t5,$s2 /* f005190: 95cf0000 */ lhu $t7,0x0($t6) /* f005194: 0009a880 */ sll $s5,$t1,0x2 /* f005198: 2405000c */ addiu $a1,$zero,0xc /* f00519c: 01e1082a */ slt $at,$t7,$at /* f0051a0: 5420004c */ bnezl $at,.L0f0052d4 /* f0051a4: 00756821 */ addu $t5,$v1,$s5 /* f0051a8: 02c50019 */ multu $s6,$a1 /* f0051ac: 3c048006 */ lui $a0,%hi(var80061428) /* f0051b0: 8c841428 */ lw $a0,%lo(var80061428)($a0) /* f0051b4: 0000c812 */ mflo $t9 /* f0051b8: 00991021 */ addu $v0,$a0,$t9 /* f0051bc: c4440000 */ lwc1 $f4,0x0($v0) /* f0051c0: 02650019 */ multu $s3,$a1 /* f0051c4: c4480004 */ lwc1 $f8,0x4($v0) /* f0051c8: c4500008 */ lwc1 $f16,0x8($v0) /* f0051cc: 0000c012 */ mflo $t8 /* f0051d0: 00981821 */ addu $v1,$a0,$t8 /* f0051d4: c4660000 */ lwc1 $f6,0x0($v1) /* f0051d8: c46a0004 */ lwc1 $f10,0x4($v1) /* f0051dc: c4720008 */ lwc1 $f18,0x8($v1) /* f0051e0: 46062001 */ sub.s $f0,$f4,$f6 /* f0051e4: afa90074 */ sw $t1,0x74($sp) /* f0051e8: afa80040 */ sw $t0,0x40($sp) /* f0051ec: 460a4081 */ sub.s $f2,$f8,$f10 /* f0051f0: 46000102 */ mul.s $f4,$f0,$f0 /* f0051f4: afa60078 */ sw $a2,0x78($sp) /* f0051f8: 46128381 */ sub.s $f14,$f16,$f18 /* f0051fc: 46021182 */ mul.s $f6,$f2,$f2 /* f005200: 46062200 */ add.s $f8,$f4,$f6 /* f005204: 460e7282 */ mul.s $f10,$f14,$f14 /* f005208: 0c012974 */ jal sqrtf /* f00520c: 460a4300 */ add.s $f12,$f8,$f10 /* f005210: 444cf800 */ cfc1 $t4,$31 /* f005214: 24020001 */ addiu $v0,$zero,0x1 /* f005218: 44c2f800 */ ctc1 $v0,$31 /* f00521c: 3c078006 */ lui $a3,%hi(var8006142c) /* f005220: 3c0a800a */ lui $t2,%hi(var8009cad0) /* f005224: 46000424 */ cvt.w.s $f16,$f0 /* f005228: 254acad0 */ addiu $t2,$t2,%lo(var8009cad0) /* f00522c: 24e7142c */ addiu $a3,$a3,%lo(var8006142c) /* f005230: 8fa60078 */ lw $a2,0x78($sp) /* f005234: 4442f800 */ cfc1 $v0,$31 /* f005238: 8fa80040 */ lw $t0,0x40($sp) /* f00523c: 8fa90074 */ lw $t1,0x74($sp) /* f005240: 30420078 */ andi $v0,$v0,0x78 /* f005244: 10400012 */ beqz $v0,.L0f005290 /* f005248: 3c014f00 */ lui $at,0x4f00 /* f00524c: 44818000 */ mtc1 $at,$f16 /* f005250: 24020001 */ addiu $v0,$zero,0x1 /* f005254: 46100401 */ sub.s $f16,$f0,$f16 /* f005258: 44c2f800 */ ctc1 $v0,$31 /* f00525c: 00000000 */ nop /* f005260: 46008424 */ cvt.w.s $f16,$f16 /* f005264: 4442f800 */ cfc1 $v0,$31 /* f005268: 00000000 */ nop /* f00526c: 30420078 */ andi $v0,$v0,0x78 /* f005270: 14400005 */ bnez $v0,.L0f005288 /* f005274: 00000000 */ nop /* f005278: 44028000 */ mfc1 $v0,$f16 /* f00527c: 3c018000 */ lui $at,0x8000 /* f005280: 10000007 */ b .L0f0052a0 /* f005284: 00411025 */ or $v0,$v0,$at .L0f005288: /* f005288: 10000005 */ b .L0f0052a0 /* f00528c: 2402ffff */ addiu $v0,$zero,-1 .L0f005290: /* f005290: 44028000 */ mfc1 $v0,$f16 /* f005294: 00000000 */ nop /* f005298: 0440fffb */ bltz $v0,.L0f005288 /* f00529c: 00000000 */ nop .L0f0052a0: /* f0052a0: 8ceb0000 */ lw $t3,0x0($a3) /* f0052a4: 44ccf800 */ ctc1 $t4,$31 /* f0052a8: 01746821 */ addu $t5,$t3,$s4 /* f0052ac: 8dae0000 */ lw $t6,0x0($t5) /* f0052b0: 01d27821 */ addu $t7,$t6,$s2 /* f0052b4: a5e20000 */ sh $v0,0x0($t7) /* f0052b8: 8cf90000 */ lw $t9,0x0($a3) /* f0052bc: 0330c021 */ addu $t8,$t9,$s0 /* f0052c0: 8f0c0000 */ lw $t4,0x0($t8) /* f0052c4: 01915821 */ addu $t3,$t4,$s1 /* f0052c8: a5620000 */ sh $v0,0x0($t3) /* f0052cc: 8ce30000 */ lw $v1,0x0($a3) /* f0052d0: 00756821 */ addu $t5,$v1,$s5 .L0f0052d4: /* f0052d4: 00707021 */ addu $t6,$v1,$s0 /* f0052d8: 8dcf0000 */ lw $t7,0x0($t6) /* f0052dc: 8da20000 */ lw $v0,0x0($t5) /* f0052e0: 01f1c821 */ addu $t9,$t7,$s1 /* f0052e4: 00516021 */ addu $t4,$v0,$s1 /* f0052e8: 958b0000 */ lhu $t3,0x0($t4) /* f0052ec: 97380000 */ lhu $t8,0x0($t9) /* f0052f0: 030b2021 */ addu $a0,$t8,$t3 /* f0052f4: 308dffff */ andi $t5,$a0,0xffff /* f0052f8: 29a116a9 */ slti $at,$t5,0x16a9 /* f0052fc: 1020000f */ beqz $at,.L0f00533c /* f005300: 01a02025 */ or $a0,$t5,$zero /* f005304: 11360004 */ beq $t1,$s6,.L0f005318 /* f005308: 00527821 */ addu $t7,$v0,$s2 /* f00530c: 95f90000 */ lhu $t9,0x0($t7) /* f005310: 01b9082a */ slt $at,$t5,$t9 /* f005314: 10200009 */ beqz $at,.L0f00533c .L0f005318: /* f005318: 00526021 */ addu $t4,$v0,$s2 /* f00531c: a5840000 */ sh $a0,0x0($t4) /* f005320: 8d580000 */ lw $t8,0x0($t2) /* f005324: 00065880 */ sll $t3,$a2,0x2 /* f005328: 24c60001 */ addiu $a2,$a2,0x1 /* f00532c: 30ce07ff */ andi $t6,$a2,0x7ff /* f005330: 030b6821 */ addu $t5,$t8,$t3 /* f005334: adb30000 */ sw $s3,0x0($t5) /* f005338: 01c03025 */ or $a2,$t6,$zero .L0f00533c: /* f00533c: 3c03800a */ lui $v1,%hi(g_Rooms) /* f005340: 8c634928 */ lw $v1,%lo(g_Rooms)($v1) /* f005344: 27de0001 */ addiu $s8,$s8,0x1 /* f005348: 26f70002 */ addiu $s7,$s7,0x2 /* f00534c: 00681021 */ addu $v0,$v1,$t0 /* f005350: 804f0005 */ lb $t7,0x5($v0) /* f005354: 03cf082a */ slt $at,$s8,$t7 /* f005358: 5420ff76 */ bnezl $at,.L0f005134 /* f00535c: 844c000e */ lh $t4,0xe($v0) /* f005360: 8fb90070 */ lw $t9,0x70($sp) .L0f005364: /* f005364: 24010002 */ addiu $at,$zero,0x2 /* f005368: 272c0001 */ addiu $t4,$t9,0x1 /* f00536c: 1581ff5c */ bne $t4,$at,.L0f0050e0 /* f005370: afac0070 */ sw $t4,0x70($sp) /* f005374: 8fb8007c */ lw $t8,0x7c($sp) /* f005378: 270b0001 */ addiu $t3,$t8,0x1 /* f00537c: 316d07ff */ andi $t5,$t3,0x7ff /* f005380: 15a6ff4f */ bne $t5,$a2,.L0f0050c0 /* f005384: afad007c */ sw $t5,0x7c($sp) /* f005388: 3c0e800a */ lui $t6,%hi(var8009cadc) /* f00538c: 8dcecadc */ lw $t6,%lo(var8009cadc)($t6) /* f005390: 25290001 */ addiu $t1,$t1,0x1 /* f005394: 012e082a */ slt $at,$t1,$t6 /* f005398: 5420ff44 */ bnezl $at,.L0f0050ac /* f00539c: 8d4f0000 */ lw $t7,0x0($t2) .L0f0053a0: /* f0053a0: 8fbf003c */ lw $ra,0x3c($sp) /* f0053a4: 8fb00018 */ lw $s0,0x18($sp) /* f0053a8: 8fb1001c */ lw $s1,0x1c($sp) /* f0053ac: 8fb20020 */ lw $s2,0x20($sp) /* f0053b0: 8fb30024 */ lw $s3,0x24($sp) /* f0053b4: 8fb40028 */ lw $s4,0x28($sp) /* f0053b8: 8fb5002c */ lw $s5,0x2c($sp) /* f0053bc: 8fb60030 */ lw $s6,0x30($sp) /* f0053c0: 8fb70034 */ lw $s7,0x34($sp) /* f0053c4: 8fbe0038 */ lw $s8,0x38($sp) /* f0053c8: 03e00008 */ jr $ra /* f0053cc: 27bd0080 */ addiu $sp,$sp,0x80 ); GLOBAL_ASM( glabel func0f0053d0 .late_rodata glabel var7f1a7de0 .word 0x46fffe00 .text /* f0053d0: 27bdff90 */ addiu $sp,$sp,-112 /* f0053d4: 8fae0088 */ lw $t6,0x88($sp) /* f0053d8: 3c017f1a */ lui $at,%hi(var7f1a7de0) /* f0053dc: c4247de0 */ lwc1 $f4,%lo(var7f1a7de0)($at) /* f0053e0: afbf0014 */ sw $ra,0x14($sp) /* f0053e4: afa40070 */ sw $a0,0x70($sp) /* f0053e8: afa60078 */ sw $a2,0x78($sp) /* f0053ec: afa7007c */ sw $a3,0x7c($sp) /* f0053f0: 11c00003 */ beqz $t6,.L0f005400 /* f0053f4: e7a4006c */ swc1 $f4,0x6c($sp) /* f0053f8: 10000002 */ b .L0f005404 /* f0053fc: 01c01825 */ or $v1,$t6,$zero .L0f005400: /* f005400: 27a3006c */ addiu $v1,$sp,0x6c .L0f005404: /* f005404: 8fa20080 */ lw $v0,0x80($sp) /* f005408: c4a60000 */ lwc1 $f6,0x0($a1) /* f00540c: 44809000 */ mtc1 $zero,$f18 /* f005410: c4480000 */ lwc1 $f8,0x0($v0) /* f005414: c4700000 */ lwc1 $f16,0x0($v1) /* f005418: 46083381 */ sub.s $f14,$f6,$f8 /* f00541c: 460e903c */ c.lt.s $f18,$f14 /* f005420: 00000000 */ nop /* f005424: 45030003 */ bc1tl .L0f005434 /* f005428: 4610703c */ c.lt.s $f14,$f16 /* f00542c: 46007387 */ neg.s $f14,$f14 /* f005430: 4610703c */ c.lt.s $f14,$f16 .L0f005434: /* f005434: 00000000 */ nop /* f005438: 450200aa */ bc1fl .L0f0056e4 /* f00543c: 8fbf0014 */ lw $ra,0x14($sp) /* f005440: c4aa0008 */ lwc1 $f10,0x8($a1) /* f005444: c4440008 */ lwc1 $f4,0x8($v0) /* f005448: 46045081 */ sub.s $f2,$f10,$f4 /* f00544c: 4602903c */ c.lt.s $f18,$f2 /* f005450: 00000000 */ nop /* f005454: 45030003 */ bc1tl .L0f005464 /* f005458: 4610103c */ c.lt.s $f2,$f16 /* f00545c: 46001087 */ neg.s $f2,$f2 /* f005460: 4610103c */ c.lt.s $f2,$f16 .L0f005464: /* f005464: 00000000 */ nop /* f005468: 4502009e */ bc1fl .L0f0056e4 /* f00546c: 8fbf0014 */ lw $ra,0x14($sp) /* f005470: c4a60004 */ lwc1 $f6,0x4($a1) /* f005474: c4480004 */ lwc1 $f8,0x4($v0) /* f005478: 46083001 */ sub.s $f0,$f6,$f8 /* f00547c: 4600903c */ c.lt.s $f18,$f0 /* f005480: 00000000 */ nop /* f005484: 45030003 */ bc1tl .L0f005494 /* f005488: 4610003c */ c.lt.s $f0,$f16 /* f00548c: 46000007 */ neg.s $f0,$f0 /* f005490: 4610003c */ c.lt.s $f0,$f16 .L0f005494: /* f005494: 00000000 */ nop /* f005498: 45020092 */ bc1fl .L0f0056e4 /* f00549c: 8fbf0014 */ lw $ra,0x14($sp) /* f0054a0: 460e7282 */ mul.s $f10,$f14,$f14 /* f0054a4: afa30068 */ sw $v1,0x68($sp) /* f0054a8: afa50074 */ sw $a1,0x74($sp) /* f0054ac: 46000102 */ mul.s $f4,$f0,$f0 /* f0054b0: e7b00064 */ swc1 $f16,0x64($sp) /* f0054b4: 46021202 */ mul.s $f8,$f2,$f2 /* f0054b8: 46045180 */ add.s $f6,$f10,$f4 /* f0054bc: 0c012974 */ jal sqrtf /* f0054c0: 46083300 */ add.s $f12,$f6,$f8 /* f0054c4: c7b00064 */ lwc1 $f16,0x64($sp) /* f0054c8: 8fa30068 */ lw $v1,0x68($sp) /* f0054cc: 8faf0070 */ lw $t7,0x70($sp) /* f0054d0: 4610003c */ c.lt.s $f0,$f16 /* f0054d4: 8fb8007c */ lw $t8,0x7c($sp) /* f0054d8: 45020082 */ bc1fl .L0f0056e4 /* f0054dc: 8fbf0014 */ lw $ra,0x14($sp) /* f0054e0: 11f80004 */ beq $t7,$t8,.L0f0054f4 /* f0054e4: 8fa40078 */ lw $a0,0x78($sp) /* f0054e8: 8fa50084 */ lw $a1,0x84($sp) /* f0054ec: 54850009 */ bnel $a0,$a1,.L0f005514 /* f0054f0: afa30068 */ sw $v1,0x68($sp) .L0f0054f4: /* f0054f4: c46a0000 */ lwc1 $f10,0x0($v1) /* f0054f8: 460a003c */ c.lt.s $f0,$f10 /* f0054fc: 00000000 */ nop /* f005500: 45020078 */ bc1fl .L0f0056e4 /* f005504: 8fbf0014 */ lw $ra,0x14($sp) /* f005508: 10000075 */ b .L0f0056e0 /* f00550c: e4600000 */ swc1 $f0,0x0($v1) /* f005510: afa30068 */ sw $v1,0x68($sp) .L0f005514: /* f005514: 0fc00248 */ jal func0f000920 /* f005518: e7b00064 */ swc1 $f16,0x64($sp) /* f00551c: 44822000 */ mtc1 $v0,$f4 /* f005520: 8fa30068 */ lw $v1,0x68($sp) /* f005524: c7b00064 */ lwc1 $f16,0x64($sp) /* f005528: 04410005 */ bgez $v0,.L0f005540 /* f00552c: 46802020 */ cvt.s.w $f0,$f4 /* f005530: 3c014f80 */ lui $at,0x4f80 /* f005534: 44813000 */ mtc1 $at,$f6 /* f005538: 00000000 */ nop /* f00553c: 46060000 */ add.s $f0,$f0,$f6 .L0f005540: /* f005540: 4610003c */ c.lt.s $f0,$f16 /* f005544: 46000306 */ mov.s $f12,$f0 /* f005548: 8fa40078 */ lw $a0,0x78($sp) /* f00554c: 27a50044 */ addiu $a1,$sp,0x44 /* f005550: 45020064 */ bc1fl .L0f0056e4 /* f005554: 8fbf0014 */ lw $ra,0x14($sp) /* f005558: afa30068 */ sw $v1,0x68($sp) /* f00555c: e7ac0050 */ swc1 $f12,0x50($sp) /* f005560: 0c005f38 */ jal func00017ce0 /* f005564: e7b00064 */ swc1 $f16,0x64($sp) /* f005568: 8fa20074 */ lw $v0,0x74($sp) /* f00556c: c7a80044 */ lwc1 $f8,0x44($sp) /* f005570: 44809000 */ mtc1 $zero,$f18 /* f005574: c44a0000 */ lwc1 $f10,0x0($v0) /* f005578: c7ac0050 */ lwc1 $f12,0x50($sp) /* f00557c: c7b00064 */ lwc1 $f16,0x64($sp) /* f005580: 460a4081 */ sub.s $f2,$f8,$f10 /* f005584: 8fa30068 */ lw $v1,0x68($sp) /* f005588: c7a4004c */ lwc1 $f4,0x4c($sp) /* f00558c: 460c8401 */ sub.s $f16,$f16,$f12 /* f005590: 4602903c */ c.lt.s $f18,$f2 /* f005594: 00000000 */ nop /* f005598: 45030003 */ bc1tl .L0f0055a8 /* f00559c: 4610103c */ c.lt.s $f2,$f16 /* f0055a0: 46001087 */ neg.s $f2,$f2 /* f0055a4: 4610103c */ c.lt.s $f2,$f16 .L0f0055a8: /* f0055a8: 00000000 */ nop /* f0055ac: 4502004d */ bc1fl .L0f0056e4 /* f0055b0: 8fbf0014 */ lw $ra,0x14($sp) /* f0055b4: c4460008 */ lwc1 $f6,0x8($v0) /* f0055b8: 46062001 */ sub.s $f0,$f4,$f6 /* f0055bc: 4600903c */ c.lt.s $f18,$f0 /* f0055c0: 00000000 */ nop /* f0055c4: 45030003 */ bc1tl .L0f0055d4 /* f0055c8: 4610003c */ c.lt.s $f0,$f16 /* f0055cc: 46000007 */ neg.s $f0,$f0 /* f0055d0: 4610003c */ c.lt.s $f0,$f16 .L0f0055d4: /* f0055d4: 00000000 */ nop /* f0055d8: 45020042 */ bc1fl .L0f0056e4 /* f0055dc: 8fbf0014 */ lw $ra,0x14($sp) /* f0055e0: 46021202 */ mul.s $f8,$f2,$f2 /* f0055e4: afa30068 */ sw $v1,0x68($sp) /* f0055e8: e7b00064 */ swc1 $f16,0x64($sp) /* f0055ec: 46000282 */ mul.s $f10,$f0,$f0 /* f0055f0: 0c012974 */ jal sqrtf /* f0055f4: 460a4300 */ add.s $f12,$f8,$f10 /* f0055f8: c7b00064 */ lwc1 $f16,0x64($sp) /* f0055fc: 8fa30068 */ lw $v1,0x68($sp) /* f005600: 46000306 */ mov.s $f12,$f0 /* f005604: 4610003c */ c.lt.s $f0,$f16 /* f005608: 8fa40084 */ lw $a0,0x84($sp) /* f00560c: 27a5002c */ addiu $a1,$sp,0x2c /* f005610: 45020034 */ bc1fl .L0f0056e4 /* f005614: 8fbf0014 */ lw $ra,0x14($sp) /* f005618: afa30068 */ sw $v1,0x68($sp) /* f00561c: e7ac0038 */ swc1 $f12,0x38($sp) /* f005620: 0c005f38 */ jal func00017ce0 /* f005624: e7b00064 */ swc1 $f16,0x64($sp) /* f005628: 8fa20080 */ lw $v0,0x80($sp) /* f00562c: c7a4002c */ lwc1 $f4,0x2c($sp) /* f005630: 44809000 */ mtc1 $zero,$f18 /* f005634: c4460000 */ lwc1 $f6,0x0($v0) /* f005638: c7ac0038 */ lwc1 $f12,0x38($sp) /* f00563c: c7b00064 */ lwc1 $f16,0x64($sp) /* f005640: 46062081 */ sub.s $f2,$f4,$f6 /* f005644: 8fa30068 */ lw $v1,0x68($sp) /* f005648: c7a80034 */ lwc1 $f8,0x34($sp) /* f00564c: 460c8401 */ sub.s $f16,$f16,$f12 /* f005650: 4602903c */ c.lt.s $f18,$f2 /* f005654: 00000000 */ nop /* f005658: 45030003 */ bc1tl .L0f005668 /* f00565c: 4610103c */ c.lt.s $f2,$f16 /* f005660: 46001087 */ neg.s $f2,$f2 /* f005664: 4610103c */ c.lt.s $f2,$f16 .L0f005668: /* f005668: 00000000 */ nop /* f00566c: 4502001d */ bc1fl .L0f0056e4 /* f005670: 8fbf0014 */ lw $ra,0x14($sp) /* f005674: c44a0008 */ lwc1 $f10,0x8($v0) /* f005678: 460a4001 */ sub.s $f0,$f8,$f10 /* f00567c: 4600903c */ c.lt.s $f18,$f0 /* f005680: 00000000 */ nop /* f005684: 45030003 */ bc1tl .L0f005694 /* f005688: 4610003c */ c.lt.s $f0,$f16 /* f00568c: 46000007 */ neg.s $f0,$f0 /* f005690: 4610003c */ c.lt.s $f0,$f16 .L0f005694: /* f005694: 00000000 */ nop /* f005698: 45020012 */ bc1fl .L0f0056e4 /* f00569c: 8fbf0014 */ lw $ra,0x14($sp) /* f0056a0: 46021102 */ mul.s $f4,$f2,$f2 /* f0056a4: afa30068 */ sw $v1,0x68($sp) /* f0056a8: e7b00064 */ swc1 $f16,0x64($sp) /* f0056ac: 46000182 */ mul.s $f6,$f0,$f0 /* f0056b0: 0c012974 */ jal sqrtf /* f0056b4: 46062300 */ add.s $f12,$f4,$f6 /* f0056b8: c7b00064 */ lwc1 $f16,0x64($sp) /* f0056bc: 8fa30068 */ lw $v1,0x68($sp) /* f0056c0: 4610003c */ c.lt.s $f0,$f16 /* f0056c4: 00000000 */ nop /* f0056c8: 45020006 */ bc1fl .L0f0056e4 /* f0056cc: 8fbf0014 */ lw $ra,0x14($sp) /* f0056d0: 46008401 */ sub.s $f16,$f16,$f0 /* f0056d4: c4680000 */ lwc1 $f8,0x0($v1) /* f0056d8: 46104281 */ sub.s $f10,$f8,$f16 /* f0056dc: e46a0000 */ swc1 $f10,0x0($v1) .L0f0056e0: /* f0056e0: 8fbf0014 */ lw $ra,0x14($sp) .L0f0056e4: /* f0056e4: c4600000 */ lwc1 $f0,0x0($v1) /* f0056e8: 27bd0070 */ addiu $sp,$sp,0x70 /* f0056ec: 03e00008 */ jr $ra /* f0056f0: 00000000 */ nop ); GLOBAL_ASM( glabel func0f0056f4 .late_rodata glabel var7f1a7de4 .word 0x46fffe00 .text /* f0056f4: 27bdff68 */ addiu $sp,$sp,-152 /* f0056f8: 3c0e8006 */ lui $t6,%hi(var80061444) /* f0056fc: 8dce1444 */ lw $t6,%lo(var80061444)($t6) /* f005700: afbe0048 */ sw $s8,0x48($sp) /* f005704: afb70044 */ sw $s7,0x44($sp) /* f005708: afb1002c */ sw $s1,0x2c($sp) /* f00570c: afb00028 */ sw $s0,0x28($sp) /* f005710: 00a08025 */ or $s0,$a1,$zero /* f005714: 00e08825 */ or $s1,$a3,$zero /* f005718: 0080b825 */ or $s7,$a0,$zero /* f00571c: 00c0f025 */ or $s8,$a2,$zero /* f005720: afbf004c */ sw $ra,0x4c($sp) /* f005724: afb60040 */ sw $s6,0x40($sp) /* f005728: afb5003c */ sw $s5,0x3c($sp) /* f00572c: afb40038 */ sw $s4,0x38($sp) /* f005730: afb30034 */ sw $s3,0x34($sp) /* f005734: 11c00026 */ beqz $t6,.L0f0057d0 /* f005738: afb20030 */ sw $s2,0x30($sp) /* f00573c: 3c02800a */ lui $v0,%hi(g_Vars) /* f005740: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) /* f005744: 8c4f006c */ lw $t7,0x6c($v0) /* f005748: 00002825 */ or $a1,$zero,$zero /* f00574c: 00001825 */ or $v1,$zero,$zero /* f005750: 11e00003 */ beqz $t7,.L0f005760 /* f005754: 00002025 */ or $a0,$zero,$zero /* f005758: 10000001 */ b .L0f005760 /* f00575c: 24050001 */ addiu $a1,$zero,0x1 .L0f005760: /* f005760: 8c580068 */ lw $t8,0x68($v0) /* f005764: 13000003 */ beqz $t8,.L0f005774 /* f005768: 00000000 */ nop /* f00576c: 10000001 */ b .L0f005774 /* f005770: 24030001 */ addiu $v1,$zero,0x1 .L0f005774: /* f005774: 8c590064 */ lw $t9,0x64($v0) /* f005778: 13200003 */ beqz $t9,.L0f005788 /* f00577c: 00000000 */ nop /* f005780: 10000001 */ b .L0f005788 /* f005784: 24040001 */ addiu $a0,$zero,0x1 .L0f005788: /* f005788: 8c4a0070 */ lw $t2,0x70($v0) /* f00578c: 00001025 */ or $v0,$zero,$zero /* f005790: 11400003 */ beqz $t2,.L0f0057a0 /* f005794: 00000000 */ nop /* f005798: 10000001 */ b .L0f0057a0 /* f00579c: 24020001 */ addiu $v0,$zero,0x1 .L0f0057a0: /* f0057a0: 00445821 */ addu $t3,$v0,$a0 /* f0057a4: 01636021 */ addu $t4,$t3,$v1 /* f0057a8: 01856821 */ addu $t5,$t4,$a1 /* f0057ac: 29a10003 */ slti $at,$t5,0x3 /* f0057b0: 50200008 */ beqzl $at,.L0f0057d4 /* f0057b4: c6040000 */ lwc1 $f4,0x0($s0) /* f0057b8: 12fe0005 */ beq $s7,$s8,.L0f0057d0 /* f0057bc: 2402ffff */ addiu $v0,$zero,-1 /* f0057c0: 52e20004 */ beql $s7,$v0,.L0f0057d4 /* f0057c4: c6040000 */ lwc1 $f4,0x0($s0) /* f0057c8: 17c20036 */ bne $s8,$v0,.L0f0058a4 /* f0057cc: 3c16800a */ lui $s6,%hi(g_Rooms) .L0f0057d0: /* f0057d0: c6040000 */ lwc1 $f4,0x0($s0) .L0f0057d4: /* f0057d4: c6260000 */ lwc1 $f6,0x0($s1) /* f0057d8: 44808000 */ mtc1 $zero,$f16 /* f0057dc: 8fb200ac */ lw $s2,0xac($sp) /* f0057e0: 46062381 */ sub.s $f14,$f4,$f6 /* f0057e4: 460e803c */ c.lt.s $f16,$f14 /* f0057e8: 00000000 */ nop /* f0057ec: 45030003 */ bc1tl .L0f0057fc /* f0057f0: c64c0000 */ lwc1 $f12,0x0($s2) /* f0057f4: 46007387 */ neg.s $f14,$f14 /* f0057f8: c64c0000 */ lwc1 $f12,0x0($s2) .L0f0057fc: /* f0057fc: 460c703c */ c.lt.s $f14,$f12 /* f005800: 00000000 */ nop /* f005804: 45020072 */ bc1fl .L0f0059d0 /* f005808: 8fbf004c */ lw $ra,0x4c($sp) /* f00580c: c6080008 */ lwc1 $f8,0x8($s0) /* f005810: c62a0008 */ lwc1 $f10,0x8($s1) /* f005814: 460a4081 */ sub.s $f2,$f8,$f10 /* f005818: 4602803c */ c.lt.s $f16,$f2 /* f00581c: 00000000 */ nop /* f005820: 45030003 */ bc1tl .L0f005830 /* f005824: 460c103c */ c.lt.s $f2,$f12 /* f005828: 46001087 */ neg.s $f2,$f2 /* f00582c: 460c103c */ c.lt.s $f2,$f12 .L0f005830: /* f005830: 00000000 */ nop /* f005834: 45020066 */ bc1fl .L0f0059d0 /* f005838: 8fbf004c */ lw $ra,0x4c($sp) /* f00583c: c6120004 */ lwc1 $f18,0x4($s0) /* f005840: c6240004 */ lwc1 $f4,0x4($s1) /* f005844: 46049001 */ sub.s $f0,$f18,$f4 /* f005848: 4600803c */ c.lt.s $f16,$f0 /* f00584c: 00000000 */ nop /* f005850: 45030003 */ bc1tl .L0f005860 /* f005854: 460c003c */ c.lt.s $f0,$f12 /* f005858: 46000007 */ neg.s $f0,$f0 /* f00585c: 460c003c */ c.lt.s $f0,$f12 .L0f005860: /* f005860: 00000000 */ nop /* f005864: 4502005a */ bc1fl .L0f0059d0 /* f005868: 8fbf004c */ lw $ra,0x4c($sp) /* f00586c: 460e7182 */ mul.s $f6,$f14,$f14 /* f005870: 00000000 */ nop /* f005874: 46000202 */ mul.s $f8,$f0,$f0 /* f005878: 46083280 */ add.s $f10,$f6,$f8 /* f00587c: 46021482 */ mul.s $f18,$f2,$f2 /* f005880: 0c012974 */ jal sqrtf /* f005884: 46125300 */ add.s $f12,$f10,$f18 /* f005888: c6440000 */ lwc1 $f4,0x0($s2) /* f00588c: 4604003c */ c.lt.s $f0,$f4 /* f005890: 00000000 */ nop /* f005894: 4502004e */ bc1fl .L0f0059d0 /* f005898: 8fbf004c */ lw $ra,0x4c($sp) /* f00589c: 1000004b */ b .L0f0059cc /* f0058a0: e6400000 */ swc1 $f0,0x0($s2) .L0f0058a4: /* f0058a4: 001748c0 */ sll $t1,$s7,0x3 /* f0058a8: 26d64928 */ addiu $s6,$s6,%lo(g_Rooms) /* f0058ac: 01374821 */ addu $t1,$t1,$s7 /* f0058b0: 8ec20000 */ lw $v0,0x0($s6) /* f0058b4: 00094880 */ sll $t1,$t1,0x2 /* f0058b8: 01374823 */ subu $t1,$t1,$s7 /* f0058bc: 00094880 */ sll $t1,$t1,0x2 /* f0058c0: 00492021 */ addu $a0,$v0,$t1 /* f0058c4: 80850005 */ lb $a1,0x5($a0) /* f0058c8: 00003025 */ or $a2,$zero,$zero /* f0058cc: 00003825 */ or $a3,$zero,$zero /* f0058d0: 18a0003e */ blez $a1,.L0f0059cc /* f0058d4: 001ea8c0 */ sll $s5,$s8,0x3 /* f0058d8: 02bea821 */ addu $s5,$s5,$s8 /* f0058dc: 0015a880 */ sll $s5,$s5,0x2 /* f0058e0: 02bea823 */ subu $s5,$s5,$s8 /* f0058e4: 0015a880 */ sll $s5,$s5,0x2 /* f0058e8: 00554021 */ addu $t0,$v0,$s5 /* f0058ec: 81030005 */ lb $v1,0x5($t0) /* f0058f0: 3c14800a */ lui $s4,%hi(g_RoomPortals) /* f0058f4: 26944ce0 */ addiu $s4,$s4,%lo(g_RoomPortals) /* f0058f8: afb100a4 */ sw $s1,0xa4($sp) /* f0058fc: afb0009c */ sw $s0,0x9c($sp) /* f005900: afa90060 */ sw $t1,0x60($sp) /* f005904: 8fb200ac */ lw $s2,0xac($sp) .L0f005908: /* f005908: 848f000e */ lh $t7,0xe($a0) /* f00590c: 8e8e0000 */ lw $t6,0x0($s4) /* f005910: 00008825 */ or $s1,$zero,$zero /* f005914: 000fc040 */ sll $t8,$t7,0x1 /* f005918: 01d8c821 */ addu $t9,$t6,$t8 /* f00591c: 03275021 */ addu $t2,$t9,$a3 /* f005920: 18600026 */ blez $v1,.L0f0059bc /* f005924: 85530000 */ lh $s3,0x0($t2) /* f005928: afa70054 */ sw $a3,0x54($sp) /* f00592c: afa6007c */ sw $a2,0x7c($sp) /* f005930: 00008025 */ or $s0,$zero,$zero /* f005934: 850c000e */ lh $t4,0xe($t0) .L0f005938: /* f005938: 8e8b0000 */ lw $t3,0x0($s4) /* f00593c: 8fb800a4 */ lw $t8,0xa4($sp) /* f005940: 000c6840 */ sll $t5,$t4,0x1 /* f005944: 016d7821 */ addu $t7,$t3,$t5 /* f005948: 01f07021 */ addu $t6,$t7,$s0 /* f00594c: 85c20000 */ lh $v0,0x0($t6) /* f005950: afb20018 */ sw $s2,0x18($sp) /* f005954: 02e02025 */ or $a0,$s7,$zero /* f005958: 8fa5009c */ lw $a1,0x9c($sp) /* f00595c: 02603025 */ or $a2,$s3,$zero /* f005960: 03c03825 */ or $a3,$s8,$zero /* f005964: afb80010 */ sw $t8,0x10($sp) /* f005968: 0fc014f4 */ jal func0f0053d0 /* f00596c: afa20014 */ sw $v0,0x14($sp) /* f005970: c6460000 */ lwc1 $f6,0x0($s2) /* f005974: 4606003c */ c.lt.s $f0,$f6 /* f005978: 00000000 */ nop /* f00597c: 45020003 */ bc1fl .L0f00598c /* f005980: 8ec20000 */ lw $v0,0x0($s6) /* f005984: e6400000 */ swc1 $f0,0x0($s2) /* f005988: 8ec20000 */ lw $v0,0x0($s6) .L0f00598c: /* f00598c: 26310001 */ addiu $s1,$s1,0x1 /* f005990: 26100002 */ addiu $s0,$s0,0x2 /* f005994: 00554021 */ addu $t0,$v0,$s5 /* f005998: 81030005 */ lb $v1,0x5($t0) /* f00599c: 0223082a */ slt $at,$s1,$v1 /* f0059a0: 5420ffe5 */ bnezl $at,.L0f005938 /* f0059a4: 850c000e */ lh $t4,0xe($t0) /* f0059a8: 8fb90060 */ lw $t9,0x60($sp) /* f0059ac: 8fa70054 */ lw $a3,0x54($sp) /* f0059b0: 8fa6007c */ lw $a2,0x7c($sp) /* f0059b4: 00592021 */ addu $a0,$v0,$t9 /* f0059b8: 80850005 */ lb $a1,0x5($a0) .L0f0059bc: /* f0059bc: 24c60001 */ addiu $a2,$a2,0x1 /* f0059c0: 00c5082a */ slt $at,$a2,$a1 /* f0059c4: 1420ffd0 */ bnez $at,.L0f005908 /* f0059c8: 24e70002 */ addiu $a3,$a3,0x2 .L0f0059cc: /* f0059cc: 8fbf004c */ lw $ra,0x4c($sp) .L0f0059d0: /* f0059d0: 8fb00028 */ lw $s0,0x28($sp) /* f0059d4: 8fb1002c */ lw $s1,0x2c($sp) /* f0059d8: 8fb20030 */ lw $s2,0x30($sp) /* f0059dc: 8fb30034 */ lw $s3,0x34($sp) /* f0059e0: 8fb40038 */ lw $s4,0x38($sp) /* f0059e4: 8fb5003c */ lw $s5,0x3c($sp) /* f0059e8: 8fb60040 */ lw $s6,0x40($sp) /* f0059ec: 8fb70044 */ lw $s7,0x44($sp) /* f0059f0: 8fbe0048 */ lw $s8,0x48($sp) /* f0059f4: 03e00008 */ jr $ra /* f0059f8: 27bd0098 */ addiu $sp,$sp,0x98 /* f0059fc: 27bdff88 */ addiu $sp,$sp,-120 /* f005a00: afb20030 */ sw $s2,0x30($sp) /* f005a04: 3c017f1a */ lui $at,%hi(var7f1a7de4) /* f005a08: 8fb2008c */ lw $s2,0x8c($sp) /* f005a0c: c4247de4 */ lwc1 $f4,%lo(var7f1a7de4)($at) /* f005a10: afbf004c */ sw $ra,0x4c($sp) /* f005a14: afbe0048 */ sw $s8,0x48($sp) /* f005a18: afb70044 */ sw $s7,0x44($sp) /* f005a1c: afb60040 */ sw $s6,0x40($sp) /* f005a20: afb5003c */ sw $s5,0x3c($sp) /* f005a24: afb40038 */ sw $s4,0x38($sp) /* f005a28: afb30034 */ sw $s3,0x34($sp) /* f005a2c: afb1002c */ sw $s1,0x2c($sp) /* f005a30: afb00028 */ sw $s0,0x28($sp) /* f005a34: afa5007c */ sw $a1,0x7c($sp) /* f005a38: afa70084 */ sw $a3,0x84($sp) /* f005a3c: 0080a825 */ or $s5,$a0,$zero /* f005a40: 00c0b025 */ or $s6,$a2,$zero /* f005a44: 14860006 */ bne $a0,$a2,.L0f005a60 /* f005a48: e6440000 */ swc1 $f4,0x0($s2) /* f005a4c: 8fa4007c */ lw $a0,0x7c($sp) /* f005a50: 0fc5dd18 */ jal coordsGetDistance /* f005a54: 8fa50084 */ lw $a1,0x84($sp) /* f005a58: 10000049 */ b .L0f005b80 /* f005a5c: e6400000 */ swc1 $f0,0x0($s2) .L0f005a60: /* f005a60: 001570c0 */ sll $t6,$s5,0x3 /* f005a64: 3c1e800a */ lui $s8,%hi(g_Rooms) /* f005a68: 01d57021 */ addu $t6,$t6,$s5 /* f005a6c: 27de4928 */ addiu $s8,$s8,%lo(g_Rooms) /* f005a70: 000e7080 */ sll $t6,$t6,0x2 /* f005a74: 8fc20000 */ lw $v0,0x0($s8) /* f005a78: 01d57023 */ subu $t6,$t6,$s5 /* f005a7c: 000e7080 */ sll $t6,$t6,0x2 /* f005a80: afae005c */ sw $t6,0x5c($sp) /* f005a84: 004e2821 */ addu $a1,$v0,$t6 /* f005a88: 80a60005 */ lb $a2,0x5($a1) /* f005a8c: 00003825 */ or $a3,$zero,$zero /* f005a90: 00004025 */ or $t0,$zero,$zero /* f005a94: 18c0003a */ blez $a2,.L0f005b80 /* f005a98: 0016b8c0 */ sll $s7,$s6,0x3 /* f005a9c: 02f6b821 */ addu $s7,$s7,$s6 /* f005aa0: 0017b880 */ sll $s7,$s7,0x2 /* f005aa4: 02f6b823 */ subu $s7,$s7,$s6 /* f005aa8: 0017b880 */ sll $s7,$s7,0x2 /* f005aac: 00571821 */ addu $v1,$v0,$s7 /* f005ab0: 3c14800a */ lui $s4,%hi(g_RoomPortals) /* f005ab4: 26944ce0 */ addiu $s4,$s4,%lo(g_RoomPortals) /* f005ab8: 80640005 */ lb $a0,0x5($v1) .L0f005abc: /* f005abc: 84b9000e */ lh $t9,0xe($a1) /* f005ac0: 8e980000 */ lw $t8,0x0($s4) /* f005ac4: 00008025 */ or $s0,$zero,$zero /* f005ac8: 00194840 */ sll $t1,$t9,0x1 /* f005acc: 03095021 */ addu $t2,$t8,$t1 /* f005ad0: 01485821 */ addu $t3,$t2,$t0 /* f005ad4: 18800026 */ blez $a0,.L0f005b70 /* f005ad8: 85730000 */ lh $s3,0x0($t3) /* f005adc: 00008825 */ or $s1,$zero,$zero /* f005ae0: afa7006c */ sw $a3,0x6c($sp) /* f005ae4: afa80050 */ sw $t0,0x50($sp) /* f005ae8: 846d000e */ lh $t5,0xe($v1) .L0f005aec: /* f005aec: 8e8c0000 */ lw $t4,0x0($s4) /* f005af0: 8fb80084 */ lw $t8,0x84($sp) /* f005af4: 000d7040 */ sll $t6,$t5,0x1 /* f005af8: 018e7821 */ addu $t7,$t4,$t6 /* f005afc: 01f1c821 */ addu $t9,$t7,$s1 /* f005b00: 87220000 */ lh $v0,0x0($t9) /* f005b04: afa00018 */ sw $zero,0x18($sp) /* f005b08: 02a02025 */ or $a0,$s5,$zero /* f005b0c: 8fa5007c */ lw $a1,0x7c($sp) /* f005b10: 02603025 */ or $a2,$s3,$zero /* f005b14: 02c03825 */ or $a3,$s6,$zero /* f005b18: afb80010 */ sw $t8,0x10($sp) /* f005b1c: 0fc014f4 */ jal func0f0053d0 /* f005b20: afa20014 */ sw $v0,0x14($sp) /* f005b24: c6460000 */ lwc1 $f6,0x0($s2) /* f005b28: 4606003c */ c.lt.s $f0,$f6 /* f005b2c: 00000000 */ nop /* f005b30: 45020003 */ bc1fl .L0f005b40 /* f005b34: 8fc20000 */ lw $v0,0x0($s8) /* f005b38: e6400000 */ swc1 $f0,0x0($s2) /* f005b3c: 8fc20000 */ lw $v0,0x0($s8) .L0f005b40: /* f005b40: 26100001 */ addiu $s0,$s0,0x1 /* f005b44: 26310002 */ addiu $s1,$s1,0x2 /* f005b48: 00571821 */ addu $v1,$v0,$s7 /* f005b4c: 80640005 */ lb $a0,0x5($v1) /* f005b50: 0204082a */ slt $at,$s0,$a0 /* f005b54: 5420ffe5 */ bnezl $at,.L0f005aec /* f005b58: 846d000e */ lh $t5,0xe($v1) /* f005b5c: 8fa9005c */ lw $t1,0x5c($sp) /* f005b60: 8fa80050 */ lw $t0,0x50($sp) /* f005b64: 8fa7006c */ lw $a3,0x6c($sp) /* f005b68: 00492821 */ addu $a1,$v0,$t1 /* f005b6c: 80a60005 */ lb $a2,0x5($a1) .L0f005b70: /* f005b70: 24e70001 */ addiu $a3,$a3,0x1 /* f005b74: 00e6082a */ slt $at,$a3,$a2 /* f005b78: 1420ffd0 */ bnez $at,.L0f005abc /* f005b7c: 25080002 */ addiu $t0,$t0,0x2 .L0f005b80: /* f005b80: 8fbf004c */ lw $ra,0x4c($sp) /* f005b84: 8fb00028 */ lw $s0,0x28($sp) /* f005b88: 8fb1002c */ lw $s1,0x2c($sp) /* f005b8c: 8fb20030 */ lw $s2,0x30($sp) /* f005b90: 8fb30034 */ lw $s3,0x34($sp) /* f005b94: 8fb40038 */ lw $s4,0x38($sp) /* f005b98: 8fb5003c */ lw $s5,0x3c($sp) /* f005b9c: 8fb60040 */ lw $s6,0x40($sp) /* f005ba0: 8fb70044 */ lw $s7,0x44($sp) /* f005ba4: 8fbe0048 */ lw $s8,0x48($sp) /* f005ba8: 03e00008 */ jr $ra /* f005bac: 27bd0078 */ addiu $sp,$sp,0x78 ); GLOBAL_ASM( glabel func0f005bb0 /* f005bb0: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f005bb4: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f005bb8: 27bdffd0 */ addiu $sp,$sp,-48 /* f005bbc: afbf0024 */ sw $ra,0x24($sp) /* f005bc0: 8dcf00bc */ lw $t7,0xbc($t6) /* f005bc4: 0fc00270 */ jal func0f0009c0 /* f005bc8: 85e40028 */ lh $a0,0x28($t7) /* f005bcc: 3c07800a */ lui $a3,%hi(g_Vars) /* f005bd0: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars) /* f005bd4: 8ce80284 */ lw $t0,0x284($a3) /* f005bd8: afa2002c */ sw $v0,0x2c($sp) /* f005bdc: 3c068007 */ lui $a2,%hi(g_InCutscene) /* f005be0: 8d0500d8 */ lw $a1,0xd8($t0) /* f005be4: 24c60764 */ addiu $a2,$a2,%lo(g_InCutscene) /* f005be8: 14a00013 */ bnez $a1,.L0f005c38 /* f005bec: 00000000 */ nop /* f005bf0: 8cd80000 */ lw $t8,0x0($a2) /* f005bf4: 17000010 */ bnez $t8,.L0f005c38 /* f005bf8: 00000000 */ nop /* f005bfc: 8d030480 */ lw $v1,0x480($t0) /* f005c00: 50600007 */ beqzl $v1,.L0f005c20 /* f005c04: 8d0a1c54 */ lw $t2,0x1c54($t0) /* f005c08: 1060000b */ beqz $v1,.L0f005c38 /* f005c0c: 00000000 */ nop /* f005c10: 80790037 */ lb $t9,0x37($v1) /* f005c14: 17200008 */ bnez $t9,.L0f005c38 /* f005c18: 00000000 */ nop /* f005c1c: 8d0a1c54 */ lw $t2,0x1c54($t0) .L0f005c20: /* f005c20: 8d0900c4 */ lw $t1,0xc4($t0) /* f005c24: 01405827 */ nor $t3,$t2,$zero /* f005c28: 012b6024 */ and $t4,$t1,$t3 /* f005c2c: 318d0001 */ andi $t5,$t4,0x1 /* f005c30: 55a00017 */ bnezl $t5,.L0f005c90 /* f005c34: 8d0c1c1c */ lw $t4,0x1c1c($t0) .L0f005c38: /* f005c38: 3c068007 */ lui $a2,%hi(g_InCutscene) /* f005c3c: 14a00016 */ bnez $a1,.L0f005c98 /* f005c40: 24c60764 */ addiu $a2,$a2,%lo(g_InCutscene) /* f005c44: 8cce0000 */ lw $t6,0x0($a2) /* f005c48: 15c00013 */ bnez $t6,.L0f005c98 /* f005c4c: 00000000 */ nop /* f005c50: 8d030480 */ lw $v1,0x480($t0) /* f005c54: 50600007 */ beqzl $v1,.L0f005c74 /* f005c58: 8d191c54 */ lw $t9,0x1c54($t0) /* f005c5c: 1060000e */ beqz $v1,.L0f005c98 /* f005c60: 00000000 */ nop /* f005c64: 806f0037 */ lb $t7,0x37($v1) /* f005c68: 15e0000b */ bnez $t7,.L0f005c98 /* f005c6c: 00000000 */ nop /* f005c70: 8d191c54 */ lw $t9,0x1c54($t0) .L0f005c74: /* f005c74: 8d1800c4 */ lw $t8,0xc4($t0) /* f005c78: 03205027 */ nor $t2,$t9,$zero /* f005c7c: 030a4824 */ and $t1,$t8,$t2 /* f005c80: 312b0008 */ andi $t3,$t1,0x8 /* f005c84: 11600004 */ beqz $t3,.L0f005c98 /* f005c88: 00000000 */ nop /* f005c8c: 8d0c1c1c */ lw $t4,0x1c1c($t0) .L0f005c90: /* f005c90: 5180002c */ beqzl $t4,.L0f005d44 /* f005c94: 24090001 */ addiu $t1,$zero,0x1 .L0f005c98: /* f005c98: 14a00013 */ bnez $a1,.L0f005ce8 /* f005c9c: 00000000 */ nop /* f005ca0: 8ccd0000 */ lw $t5,0x0($a2) /* f005ca4: 15a00010 */ bnez $t5,.L0f005ce8 /* f005ca8: 00000000 */ nop /* f005cac: 8d030480 */ lw $v1,0x480($t0) /* f005cb0: 50600007 */ beqzl $v1,.L0f005cd0 /* f005cb4: 8d191c54 */ lw $t9,0x1c54($t0) /* f005cb8: 1060000b */ beqz $v1,.L0f005ce8 /* f005cbc: 00000000 */ nop /* f005cc0: 806e0037 */ lb $t6,0x37($v1) /* f005cc4: 15c00008 */ bnez $t6,.L0f005ce8 /* f005cc8: 00000000 */ nop /* f005ccc: 8d191c54 */ lw $t9,0x1c54($t0) .L0f005cd0: /* f005cd0: 8d0f00c4 */ lw $t7,0xc4($t0) /* f005cd4: 0320c027 */ nor $t8,$t9,$zero /* f005cd8: 01f85024 */ and $t2,$t7,$t8 /* f005cdc: 31490001 */ andi $t1,$t2,0x1 /* f005ce0: 5520001c */ bnezl $t1,.L0f005d54 /* f005ce4: 2ca40001 */ sltiu $a0,$a1,0x1 .L0f005ce8: /* f005ce8: 54a00014 */ bnezl $a1,.L0f005d3c /* f005cec: 8d0a1c1c */ lw $t2,0x1c1c($t0) /* f005cf0: 8ccb0000 */ lw $t3,0x0($a2) /* f005cf4: 55600011 */ bnezl $t3,.L0f005d3c /* f005cf8: 8d0a1c1c */ lw $t2,0x1c1c($t0) /* f005cfc: 8d030480 */ lw $v1,0x480($t0) /* f005d00: 50600007 */ beqzl $v1,.L0f005d20 /* f005d04: 8d0e1c54 */ lw $t6,0x1c54($t0) /* f005d08: 5060000c */ beqzl $v1,.L0f005d3c /* f005d0c: 8d0a1c1c */ lw $t2,0x1c1c($t0) /* f005d10: 806c0037 */ lb $t4,0x37($v1) /* f005d14: 55800009 */ bnezl $t4,.L0f005d3c /* f005d18: 8d0a1c1c */ lw $t2,0x1c1c($t0) /* f005d1c: 8d0e1c54 */ lw $t6,0x1c54($t0) .L0f005d20: /* f005d20: 8d0d00c4 */ lw $t5,0xc4($t0) /* f005d24: 01c0c827 */ nor $t9,$t6,$zero /* f005d28: 01b97824 */ and $t7,$t5,$t9 /* f005d2c: 31f80008 */ andi $t8,$t7,0x8 /* f005d30: 57000008 */ bnezl $t8,.L0f005d54 /* f005d34: 2ca40001 */ sltiu $a0,$a1,0x1 /* f005d38: 8d0a1c1c */ lw $t2,0x1c1c($t0) .L0f005d3c: /* f005d3c: 11400004 */ beqz $t2,.L0f005d50 /* f005d40: 24090001 */ addiu $t1,$zero,0x1 .L0f005d44: /* f005d44: 3c018006 */ lui $at,%hi(var8006144c) /* f005d48: ac29144c */ sw $t1,%lo(var8006144c)($at) /* f005d4c: 8d0500d8 */ lw $a1,0xd8($t0) .L0f005d50: /* f005d50: 2ca40001 */ sltiu $a0,$a1,0x1 .L0f005d54: /* f005d54: 10800017 */ beqz $a0,.L0f005db4 /* f005d58: 00000000 */ nop /* f005d5c: 8cc20000 */ lw $v0,0x0($a2) /* f005d60: 2c4b0001 */ sltiu $t3,$v0,0x1 /* f005d64: 11600013 */ beqz $t3,.L0f005db4 /* f005d68: 00000000 */ nop /* f005d6c: 8d030480 */ lw $v1,0x480($t0) /* f005d70: 2c620001 */ sltiu $v0,$v1,0x1 /* f005d74: 14400007 */ bnez $v0,.L0f005d94 /* f005d78: 0003102b */ sltu $v0,$zero,$v1 /* f005d7c: 1040000d */ beqz $v0,.L0f005db4 /* f005d80: 00000000 */ nop /* f005d84: 80620037 */ lb $v0,0x37($v1) /* f005d88: 2c4c0001 */ sltiu $t4,$v0,0x1 /* f005d8c: 11800009 */ beqz $t4,.L0f005db4 /* f005d90: 00000000 */ nop .L0f005d94: /* f005d94: 8d0d1c54 */ lw $t5,0x1c54($t0) /* f005d98: 8d0e00c4 */ lw $t6,0xc4($t0) /* f005d9c: 01a0c827 */ nor $t9,$t5,$zero /* f005da0: 01d91024 */ and $v0,$t6,$t9 /* f005da4: 304f0001 */ andi $t7,$v0,0x1 /* f005da8: 000f102b */ sltu $v0,$zero,$t7 /* f005dac: 54400018 */ bnezl $v0,.L0f005e10 /* f005db0: ad021c1c */ sw $v0,0x1c1c($t0) .L0f005db4: /* f005db4: 10800015 */ beqz $a0,.L0f005e0c /* f005db8: 00801025 */ or $v0,$a0,$zero /* f005dbc: 8cc20000 */ lw $v0,0x0($a2) /* f005dc0: 2c4a0001 */ sltiu $t2,$v0,0x1 /* f005dc4: 11400011 */ beqz $t2,.L0f005e0c /* f005dc8: 01401025 */ or $v0,$t2,$zero /* f005dcc: 8d030480 */ lw $v1,0x480($t0) /* f005dd0: 2c620001 */ sltiu $v0,$v1,0x1 /* f005dd4: 14400007 */ bnez $v0,.L0f005df4 /* f005dd8: 0003102b */ sltu $v0,$zero,$v1 /* f005ddc: 5040000c */ beqzl $v0,.L0f005e10 /* f005de0: ad021c1c */ sw $v0,0x1c1c($t0) /* f005de4: 80620037 */ lb $v0,0x37($v1) /* f005de8: 2c490001 */ sltiu $t1,$v0,0x1 /* f005dec: 11200007 */ beqz $t1,.L0f005e0c /* f005df0: 01201025 */ or $v0,$t1,$zero .L0f005df4: /* f005df4: 8d0c1c54 */ lw $t4,0x1c54($t0) /* f005df8: 8d0b00c4 */ lw $t3,0xc4($t0) /* f005dfc: 01806827 */ nor $t5,$t4,$zero /* f005e00: 016d1024 */ and $v0,$t3,$t5 /* f005e04: 304e0008 */ andi $t6,$v0,0x8 /* f005e08: 000e102b */ sltu $v0,$zero,$t6 .L0f005e0c: /* f005e0c: ad021c1c */ sw $v0,0x1c1c($t0) .L0f005e10: /* f005e10: 8ce80284 */ lw $t0,0x284($a3) /* f005e14: 8d0f00d8 */ lw $t7,0xd8($t0) /* f005e18: 15e0004e */ bnez $t7,.L0f005f54 /* f005e1c: 00000000 */ nop /* f005e20: 8cd80000 */ lw $t8,0x0($a2) /* f005e24: 1700004b */ bnez $t8,.L0f005f54 /* f005e28: 00000000 */ nop /* f005e2c: 8d030480 */ lw $v1,0x480($t0) /* f005e30: 50600007 */ beqzl $v1,.L0f005e50 /* f005e34: 8d0c1c54 */ lw $t4,0x1c54($t0) /* f005e38: 10600046 */ beqz $v1,.L0f005f54 /* f005e3c: 00000000 */ nop /* f005e40: 806a0037 */ lb $t2,0x37($v1) /* f005e44: 15400043 */ bnez $t2,.L0f005f54 /* f005e48: 00000000 */ nop /* f005e4c: 8d0c1c54 */ lw $t4,0x1c54($t0) .L0f005e50: /* f005e50: 8d0900c4 */ lw $t1,0xc4($t0) /* f005e54: 01805827 */ nor $t3,$t4,$zero /* f005e58: 012b6824 */ and $t5,$t1,$t3 /* f005e5c: 31ae0001 */ andi $t6,$t5,0x1 /* f005e60: 11c0003c */ beqz $t6,.L0f005f54 /* f005e64: 00000000 */ nop /* f005e68: 0fc5b364 */ jal lvIsPaused /* f005e6c: 00000000 */ nop /* f005e70: 14400038 */ bnez $v0,.L0f005f54 /* f005e74: 3c08800a */ lui $t0,%hi(g_Vars+0x284) /* f005e78: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) /* f005e7c: 3c048009 */ lui $a0,%hi(var80095200) /* f005e80: 24050505 */ addiu $a1,$zero,0x505 /* f005e84: 8d191c20 */ lw $t9,0x1c20($t0) /* f005e88: 2407ffff */ addiu $a3,$zero,-1 /* f005e8c: 240fffff */ addiu $t7,$zero,-1 /* f005e90: 1720000d */ bnez $t9,.L0f005ec8 /* f005e94: 25061c20 */ addiu $a2,$t0,0x1c20 /* f005e98: 3c01bf80 */ lui $at,0xbf80 /* f005e9c: 44812000 */ mtc1 $at,$f4 /* f005ea0: 2418ffff */ addiu $t8,$zero,-1 /* f005ea4: 240affff */ addiu $t2,$zero,-1 /* f005ea8: afaa001c */ sw $t2,0x1c($sp) /* f005eac: afb80018 */ sw $t8,0x18($sp) /* f005eb0: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f005eb4: afaf0010 */ sw $t7,0x10($sp) /* f005eb8: 0c004241 */ jal sndStart /* f005ebc: e7a40014 */ swc1 $f4,0x14($sp) /* f005ec0: 3c08800a */ lui $t0,%hi(g_Vars+0x284) /* f005ec4: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) .L0f005ec8: /* f005ec8: 8fac002c */ lw $t4,0x2c($sp) /* f005ecc: 29810081 */ slti $at,$t4,0x81 /* f005ed0: 54200015 */ bnezl $at,.L0f005f28 /* f005ed4: 8d041c24 */ lw $a0,0x1c24($t0) /* f005ed8: 8d091c24 */ lw $t1,0x1c24($t0) /* f005edc: 3c048009 */ lui $a0,%hi(var80095200) /* f005ee0: 240501be */ addiu $a1,$zero,0x1be /* f005ee4: 15200035 */ bnez $t1,.L0f005fbc /* f005ee8: 25061c24 */ addiu $a2,$t0,0x1c24 /* f005eec: 3c01bf80 */ lui $at,0xbf80 /* f005ef0: 44813000 */ mtc1 $at,$f6 /* f005ef4: 240bffff */ addiu $t3,$zero,-1 /* f005ef8: 240dffff */ addiu $t5,$zero,-1 /* f005efc: 240effff */ addiu $t6,$zero,-1 /* f005f00: afae001c */ sw $t6,0x1c($sp) /* f005f04: afad0018 */ sw $t5,0x18($sp) /* f005f08: afab0010 */ sw $t3,0x10($sp) /* f005f0c: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f005f10: 2407ffff */ addiu $a3,$zero,-1 /* f005f14: 0c004241 */ jal sndStart /* f005f18: e7a60014 */ swc1 $f6,0x14($sp) /* f005f1c: 10000028 */ b .L0f005fc0 /* f005f20: 8fbf0024 */ lw $ra,0x24($sp) /* f005f24: 8d041c24 */ lw $a0,0x1c24($t0) .L0f005f28: /* f005f28: 50800025 */ beqzl $a0,.L0f005fc0 /* f005f2c: 8fbf0024 */ lw $ra,0x24($sp) /* f005f30: 0c00cdfc */ jal sndGetState /* f005f34: 00000000 */ nop /* f005f38: 10400020 */ beqz $v0,.L0f005fbc /* f005f3c: 3c19800a */ lui $t9,%hi(g_Vars+0x284) /* f005f40: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9) /* f005f44: 0c00cec9 */ jal audioStop /* f005f48: 8f241c24 */ lw $a0,0x1c24($t9) /* f005f4c: 1000001c */ b .L0f005fc0 /* f005f50: 8fbf0024 */ lw $ra,0x24($sp) .L0f005f54: /* f005f54: 3c07800a */ lui $a3,%hi(g_Vars) /* f005f58: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars) /* f005f5c: 8cef0284 */ lw $t7,0x284($a3) /* f005f60: 8de41c20 */ lw $a0,0x1c20($t7) /* f005f64: 10800008 */ beqz $a0,.L0f005f88 /* f005f68: 00000000 */ nop /* f005f6c: 0c00cdfc */ jal sndGetState /* f005f70: 00000000 */ nop /* f005f74: 10400004 */ beqz $v0,.L0f005f88 /* f005f78: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f005f7c: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f005f80: 0c00cec9 */ jal audioStop /* f005f84: 8f041c20 */ lw $a0,0x1c20($t8) .L0f005f88: /* f005f88: 3c07800a */ lui $a3,%hi(g_Vars) /* f005f8c: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars) /* f005f90: 8cea0284 */ lw $t2,0x284($a3) /* f005f94: 8d441c24 */ lw $a0,0x1c24($t2) /* f005f98: 50800009 */ beqzl $a0,.L0f005fc0 /* f005f9c: 8fbf0024 */ lw $ra,0x24($sp) /* f005fa0: 0c00cdfc */ jal sndGetState /* f005fa4: 00000000 */ nop /* f005fa8: 10400004 */ beqz $v0,.L0f005fbc /* f005fac: 3c0c800a */ lui $t4,%hi(g_Vars+0x284) /* f005fb0: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4) /* f005fb4: 0c00cec9 */ jal audioStop /* f005fb8: 8d841c24 */ lw $a0,0x1c24($t4) .L0f005fbc: /* f005fbc: 8fbf0024 */ lw $ra,0x24($sp) .L0f005fc0: /* f005fc0: 27bd0030 */ addiu $sp,$sp,0x30 /* f005fc4: 03e00008 */ jr $ra /* f005fc8: 00000000 */ nop );