.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8003646C /* 1186C 8003646C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 11870 80036470 AFB00010 */ sw $s0, 0x10($sp) /* 11874 80036474 3C10800A */ lui $s0, %hi(D_800A0944) /* 11878 80036478 26100944 */ addiu $s0, $s0, %lo(D_800A0944) /* 1187C 8003647C 24020002 */ addiu $v0, $zero, 2 /* 11880 80036480 AFBF0014 */ sw $ra, 0x14($sp) /* 11884 80036484 86030000 */ lh $v1, ($s0) /* 11888 80036488 96070000 */ lhu $a3, ($s0) /* 1188C 8003648C 1062001A */ beq $v1, $v0, .L800364F8 /* 11890 80036490 28620003 */ slti $v0, $v1, 3 /* 11894 80036494 10400005 */ beqz $v0, .L800364AC /* 11898 80036498 24020001 */ addiu $v0, $zero, 1 /* 1189C 8003649C 1062000A */ beq $v1, $v0, .L800364C8 /* 118A0 800364A0 00000000 */ nop /* 118A4 800364A4 0800D984 */ j .L80036610 /* 118A8 800364A8 00000000 */ nop .L800364AC: /* 118AC 800364AC 24020003 */ addiu $v0, $zero, 3 /* 118B0 800364B0 1062002A */ beq $v1, $v0, .L8003655C /* 118B4 800364B4 24020004 */ addiu $v0, $zero, 4 /* 118B8 800364B8 1062003C */ beq $v1, $v0, .L800365AC /* 118BC 800364BC 00000000 */ nop /* 118C0 800364C0 0800D984 */ j .L80036610 /* 118C4 800364C4 00000000 */ nop .L800364C8: /* 118C8 800364C8 3C03800A */ lui $v1, %hi(D_8009A650) /* 118CC 800364CC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) /* 118D0 800364D0 8C620000 */ lw $v0, ($v1) /* 118D4 800364D4 34420008 */ ori $v0, $v0, 8 /* 118D8 800364D8 0C018028 */ jal nuContRmbForceStop /* 118DC 800364DC AC620000 */ sw $v0, ($v1) /* 118E0 800364E0 96020000 */ lhu $v0, ($s0) /* 118E4 800364E4 24030004 */ addiu $v1, $zero, 4 /* 118E8 800364E8 3C01800A */ lui $at, 0x800a /* 118EC 800364EC A4230946 */ sh $v1, 0x946($at) /* 118F0 800364F0 0800D955 */ j .L80036554 /* 118F4 800364F4 24420001 */ addiu $v0, $v0, 1 .L800364F8: /* 118F8 800364F8 3C04800A */ lui $a0, 0x800a /* 118FC 800364FC 24840946 */ addiu $a0, $a0, 0x946 /* 11900 80036500 84820000 */ lh $v0, ($a0) /* 11904 80036504 94830000 */ lhu $v1, ($a0) /* 11908 80036508 10400003 */ beqz $v0, .L80036518 /* 1190C 8003650C 2462FFFF */ addiu $v0, $v1, -1 /* 11910 80036510 0800D984 */ j .L80036610 /* 11914 80036514 A4820000 */ sh $v0, ($a0) .L80036518: /* 11918 80036518 3C038007 */ lui $v1, %hi(gGameStatusPtr) /* 1191C 8003651C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) /* 11920 80036520 8C620000 */ lw $v0, ($v1) /* 11924 80036524 A0400070 */ sb $zero, 0x70($v0) /* 11928 80036528 8C620000 */ lw $v0, ($v1) /* 1192C 8003652C A0400078 */ sb $zero, 0x78($v0) /* 11930 80036530 8C620000 */ lw $v0, ($v1) /* 11934 80036534 84440086 */ lh $a0, 0x86($v0) /* 11938 80036538 8445008C */ lh $a1, 0x8c($v0) /* 1193C 8003653C 0C0169BD */ jal load_map_by_IDs /* 11940 80036540 0000302D */ daddu $a2, $zero, $zero /* 11944 80036544 0C018030 */ jal nuContRmbForceStopEnd /* 11948 80036548 00000000 */ nop /* 1194C 8003654C 96020000 */ lhu $v0, ($s0) /* 11950 80036550 24420001 */ addiu $v0, $v0, 1 .L80036554: /* 11954 80036554 0800D984 */ j .L80036610 /* 11958 80036558 A6020000 */ sh $v0, ($s0) .L8003655C: /* 1195C 8003655C 0C00F949 */ jal func_8003E524 /* 11960 80036560 00000000 */ nop /* 11964 80036564 0C00E64C */ jal update_npcs /* 11968 80036568 00000000 */ nop /* 1196C 8003656C 3C028007 */ lui $v0, %hi(gGameStatusPtr) /* 11970 80036570 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) /* 11974 80036574 0C0B1059 */ jal does_script_exist /* 11978 80036578 8C44006C */ lw $a0, 0x6c($v0) /* 1197C 8003657C 1440002C */ bnez $v0, .L80036630 /* 11980 80036580 00000000 */ nop /* 11984 80036584 3C05800A */ lui $a1, %hi(D_8009A650) /* 11988 80036588 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650) /* 1198C 8003658C 2404FFF7 */ addiu $a0, $zero, -9 /* 11990 80036590 8CA20000 */ lw $v0, ($a1) /* 11994 80036594 96030000 */ lhu $v1, ($s0) /* 11998 80036598 00441024 */ and $v0, $v0, $a0 /* 1199C 8003659C 24630001 */ addiu $v1, $v1, 1 /* 119A0 800365A0 ACA20000 */ sw $v0, ($a1) /* 119A4 800365A4 0800D984 */ j .L80036610 /* 119A8 800365A8 A6030000 */ sh $v1, ($s0) .L800365AC: /* 119AC 800365AC 3C06800A */ lui $a2, %hi(D_800A0940) /* 119B0 800365B0 24C60940 */ addiu $a2, $a2, %lo(D_800A0940) /* 119B4 800365B4 94C20000 */ lhu $v0, ($a2) /* 119B8 800365B8 3C03800A */ lui $v1, %hi(D_800A0942) /* 119BC 800365BC 94630942 */ lhu $v1, %lo(D_800A0942)($v1) /* 119C0 800365C0 00431023 */ subu $v0, $v0, $v1 /* 119C4 800365C4 A4C20000 */ sh $v0, ($a2) /* 119C8 800365C8 00021400 */ sll $v0, $v0, 0x10 /* 119CC 800365CC 04410008 */ bgez $v0, .L800365F0 /* 119D0 800365D0 240400FF */ addiu $a0, $zero, 0xff /* 119D4 800365D4 3C05BF80 */ lui $a1, 0xbf80 /* 119D8 800365D8 24E20001 */ addiu $v0, $a3, 1 /* 119DC 800365DC A4C00000 */ sh $zero, ($a2) /* 119E0 800365E0 0C04DF62 */ jal func_80137D88 /* 119E4 800365E4 A6020000 */ sh $v0, ($s0) /* 119E8 800365E8 0C00CD3C */ jal set_game_mode /* 119EC 800365EC 24040004 */ addiu $a0, $zero, 4 .L800365F0: /* 119F0 800365F0 0C00E64C */ jal update_npcs /* 119F4 800365F4 00000000 */ nop /* 119F8 800365F8 0C037DD0 */ jal update_player /* 119FC 800365FC 00000000 */ nop /* 11A00 80036600 0C016754 */ jal func_80059D50 /* 11A04 80036604 00000000 */ nop /* 11A08 80036608 0C00B500 */ jal update_cameras /* 11A0C 8003660C 00000000 */ nop .L80036610: /* 11A10 80036610 3C02800A */ lui $v0, %hi(D_800A0940) /* 11A14 80036614 84420940 */ lh $v0, %lo(D_800A0940)($v0) /* 11A18 80036618 44820000 */ mtc1 $v0, $f0 /* 11A1C 8003661C 00000000 */ nop /* 11A20 80036620 46800020 */ cvt.s.w $f0, $f0 /* 11A24 80036624 44050000 */ mfc1 $a1, $f0 /* 11A28 80036628 0C04DF62 */ jal func_80137D88 /* 11A2C 8003662C 0000202D */ daddu $a0, $zero, $zero .L80036630: /* 11A30 80036630 8FBF0014 */ lw $ra, 0x14($sp) /* 11A34 80036634 8FB00010 */ lw $s0, 0x10($sp) /* 11A38 80036638 03E00008 */ jr $ra /* 11A3C 8003663C 27BD0018 */ addiu $sp, $sp, 0x18