mirror of https://github.com/zeldaret/oot.git
109 lines
5.1 KiB
ArmAsm
109 lines
5.1 KiB
ArmAsm
glabel func_8008F2F8
|
|
/* B06498 8008F2F8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* B0649C 8008F2FC 3C0E0001 */ lui $t6, 1
|
|
/* B064A0 8008F300 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* B064A4 8008F304 01C47021 */ addu $t6, $t6, $a0
|
|
/* B064A8 8008F308 91CE1CBE */ lbu $t6, 0x1cbe($t6)
|
|
/* B064AC 8008F30C 24010003 */ li $at, 3
|
|
/* B064B0 8008F310 8C851C44 */ lw $a1, 0x1c44($a0)
|
|
/* B064B4 8008F314 55C10004 */ bnel $t6, $at, .L8008F328
|
|
/* B064B8 8008F318 94A20840 */ lhu $v0, 0x840($a1)
|
|
/* B064BC 8008F31C 1000001D */ b .L8008F394
|
|
/* B064C0 8008F320 00001825 */ move $v1, $zero
|
|
/* B064C4 8008F324 94A20840 */ lhu $v0, 0x840($a1)
|
|
.L8008F328:
|
|
/* B064C8 8008F328 28410051 */ slti $at, $v0, 0x51
|
|
/* B064CC 8008F32C 54200012 */ bnezl $at, .L8008F378
|
|
/* B064D0 8008F330 8CB9067C */ lw $t9, 0x67c($a1)
|
|
/* B064D4 8008F334 80A3014F */ lb $v1, 0x14f($a1)
|
|
/* B064D8 8008F338 24010001 */ li $at, 1
|
|
/* B064DC 8008F33C 10610002 */ beq $v1, $at, .L8008F348
|
|
/* B064E0 8008F340 2841012C */ slti $at, $v0, 0x12c
|
|
/* B064E4 8008F344 1420000B */ bnez $at, .L8008F374
|
|
.L8008F348:
|
|
/* B064E8 8008F348 24010001 */ li $at, 1
|
|
/* B064EC 8008F34C 14610007 */ bne $v1, $at, .L8008F36C
|
|
/* B064F0 8008F350 00000000 */ nop
|
|
/* B064F4 8008F354 94AF0088 */ lhu $t7, 0x88($a1)
|
|
/* B064F8 8008F358 31F80001 */ andi $t8, $t7, 1
|
|
/* B064FC 8008F35C 13000003 */ beqz $t8, .L8008F36C
|
|
/* B06500 8008F360 00000000 */ nop
|
|
/* B06504 8008F364 1000000B */ b .L8008F394
|
|
/* B06508 8008F368 24030001 */ li $v1, 1
|
|
.L8008F36C:
|
|
/* B0650C 8008F36C 10000009 */ b .L8008F394
|
|
/* B06510 8008F370 24030003 */ li $v1, 3
|
|
.L8008F374:
|
|
/* B06514 8008F374 8CB9067C */ lw $t9, 0x67c($a1)
|
|
.L8008F378:
|
|
/* B06518 8008F378 00194100 */ sll $t0, $t9, 4
|
|
/* B0651C 8008F37C 05010003 */ bgez $t0, .L8008F38C
|
|
/* B06520 8008F380 00000000 */ nop
|
|
/* B06524 8008F384 10000003 */ b .L8008F394
|
|
/* B06528 8008F388 24030002 */ li $v1, 2
|
|
.L8008F38C:
|
|
/* B0652C 8008F38C 10000034 */ b .L8008F460
|
|
/* B06530 8008F390 00001025 */ move $v0, $zero
|
|
.L8008F394:
|
|
/* B06534 8008F394 AFA3001C */ sw $v1, 0x1c($sp)
|
|
/* B06538 8008F398 AFA40028 */ sw $a0, 0x28($sp)
|
|
/* B0653C 8008F39C 0C023A62 */ jal func_8008E988
|
|
/* B06540 8008F3A0 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* B06544 8008F3A4 8FA3001C */ lw $v1, 0x1c($sp)
|
|
/* B06548 8008F3A8 8FA40028 */ lw $a0, 0x28($sp)
|
|
/* B0654C 8008F3AC 1440002B */ bnez $v0, .L8008F45C
|
|
/* B06550 8008F3B0 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* B06554 8008F3B4 3C0A8012 */ lui $t2, %hi(D_80125C88) # $t2, 0x8012
|
|
/* B06558 8008F3B8 254A5C88 */ addiu $t2, %lo(D_80125C88) # addiu $t2, $t2, 0x5c88
|
|
/* B0655C 8008F3BC 00034880 */ sll $t1, $v1, 2
|
|
/* B06560 8008F3C0 012A3821 */ addu $a3, $t1, $t2
|
|
/* B06564 8008F3C4 90E20000 */ lbu $v0, ($a3)
|
|
/* B06568 8008F3C8 3C0B8016 */ lui $t3, %hi(gSaveContext+0x13c6) # $t3, 0x8016
|
|
/* B0656C 8008F3CC 50400024 */ beql $v0, $zero, .L8008F460
|
|
/* B06570 8008F3D0 24620001 */ addiu $v0, $v1, 1
|
|
/* B06574 8008F3D4 916BFA26 */ lbu $t3, %lo(gSaveContext+0x13c6)($t3)
|
|
/* B06578 8008F3D8 01626024 */ and $t4, $t3, $v0
|
|
/* B0657C 8008F3DC 55800020 */ bnezl $t4, .L8008F460
|
|
/* B06580 8008F3E0 24620001 */ addiu $v0, $v1, 1
|
|
/* B06584 8008F3E4 54600005 */ bnezl $v1, .L8008F3FC
|
|
/* B06588 8008F3E8 24020001 */ li $v0, 1
|
|
/* B0658C 8008F3EC 80AD014C */ lb $t5, 0x14c($a1)
|
|
/* B06590 8008F3F0 24020001 */ li $v0, 1
|
|
/* B06594 8008F3F4 144D000C */ bne $v0, $t5, .L8008F428
|
|
/* B06598 8008F3F8 24020001 */ li $v0, 1
|
|
.L8008F3FC:
|
|
/* B0659C 8008F3FC 10620003 */ beq $v1, $v0, .L8008F40C
|
|
/* B065A0 8008F400 24010003 */ li $at, 3
|
|
/* B065A4 8008F404 54610016 */ bnel $v1, $at, .L8008F460
|
|
/* B065A8 8008F408 24620001 */ addiu $v0, $v1, 1
|
|
.L8008F40C:
|
|
/* B065AC 8008F40C 80AE014F */ lb $t6, 0x14f($a1)
|
|
/* B065B0 8008F410 544E0013 */ bnel $v0, $t6, .L8008F460
|
|
/* B065B4 8008F414 24620001 */ addiu $v0, $v1, 1
|
|
/* B065B8 8008F418 80AF014C */ lb $t7, 0x14c($a1)
|
|
/* B065BC 8008F41C 24010002 */ li $at, 2
|
|
/* B065C0 8008F420 51E1000F */ beql $t7, $at, .L8008F460
|
|
/* B065C4 8008F424 24620001 */ addiu $v0, $v1, 1
|
|
.L8008F428:
|
|
/* B065C8 8008F428 94E50002 */ lhu $a1, 2($a3)
|
|
/* B065CC 8008F42C AFA70018 */ sw $a3, 0x18($sp)
|
|
/* B065D0 8008F430 AFA3001C */ sw $v1, 0x1c($sp)
|
|
/* B065D4 8008F434 0C042DA0 */ jal func_8010B680
|
|
/* B065D8 8008F438 00003025 */ move $a2, $zero
|
|
/* B065DC 8008F43C 8FA70018 */ lw $a3, 0x18($sp)
|
|
/* B065E0 8008F440 3C188016 */ lui $t8, %hi(gSaveContext+0x13c6) # $t8, 0x8016
|
|
/* B065E4 8008F444 9318FA26 */ lbu $t8, %lo(gSaveContext+0x13c6)($t8)
|
|
/* B065E8 8008F448 90F90000 */ lbu $t9, ($a3)
|
|
/* B065EC 8008F44C 3C018016 */ lui $at, %hi(gSaveContext+0x13c6) # $at, 0x8016
|
|
/* B065F0 8008F450 8FA3001C */ lw $v1, 0x1c($sp)
|
|
/* B065F4 8008F454 03194025 */ or $t0, $t8, $t9
|
|
/* B065F8 8008F458 A028FA26 */ sb $t0, %lo(gSaveContext+0x13c6)($at)
|
|
.L8008F45C:
|
|
/* B065FC 8008F45C 24620001 */ addiu $v0, $v1, 1
|
|
.L8008F460:
|
|
/* B06600 8008F460 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* B06604 8008F464 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* B06608 8008F468 03E00008 */ jr $ra
|
|
/* B0660C 8008F46C 00000000 */ nop
|
|
|