oot/asm/non_matchings/code/z_message_PAL/func_801080B4.s

215 lines
11 KiB
ArmAsm

glabel func_801080B4
/* B7F254 801080B4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B7F258 801080B8 3C180001 */ lui $t8, 1
/* B7F25C 801080BC AFBF001C */ sw $ra, 0x1c($sp)
/* B7F260 801080C0 AFA40028 */ sw $a0, 0x28($sp)
/* B7F264 801080C4 AFA5002C */ sw $a1, 0x2c($sp)
/* B7F268 801080C8 AFA60030 */ sw $a2, 0x30($sp)
/* B7F26C 801080CC AFA70034 */ sw $a3, 0x34($sp)
/* B7F270 801080D0 0304C021 */ addu $t8, $t8, $a0
/* B7F274 801080D4 931803DC */ lbu $t8, 0x3dc($t8)
/* B7F278 801080D8 24010006 */ li $at, 6
/* B7F27C 801080DC 8CC30000 */ lw $v1, ($a2)
/* B7F280 801080E0 1701000D */ bne $t8, $at, .L80108118
/* B7F284 801080E4 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7F288 801080E8 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
/* B7F28C 801080EC 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
/* B7F290 801080F0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7F294 801080F4 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7F298 801080F8 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7F29C 801080FC AFA70010 */ sw $a3, 0x10($sp)
/* B7F2A0 80108100 AFB90014 */ sw $t9, 0x14($sp)
/* B7F2A4 80108104 00002025 */ move $a0, $zero
/* B7F2A8 80108108 24060004 */ li $a2, 4
/* B7F2AC 8010810C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7F2B0 80108110 AFA30020 */ sw $v1, 0x20($sp)
/* B7F2B4 80108114 8FA30020 */ lw $v1, 0x20($sp)
.L80108118:
/* B7F2B8 80108118 00601025 */ move $v0, $v1
/* B7F2BC 8010811C 3C09E700 */ lui $t1, 0xe700
/* B7F2C0 80108120 AC490000 */ sw $t1, ($v0)
/* B7F2C4 80108124 AC400004 */ sw $zero, 4($v0)
/* B7F2C8 80108128 24630008 */ addiu $v1, $v1, 8
/* B7F2CC 8010812C 00601025 */ move $v0, $v1
/* B7F2D0 80108130 3C0AFC11 */ lui $t2, (0xFC119623 >> 16) # lui $t2, 0xfc11
/* B7F2D4 80108134 3C0BFF2F */ lui $t3, (0xFF2FFFFF >> 16) # lui $t3, 0xff2f
/* B7F2D8 80108138 356BFFFF */ ori $t3, (0xFF2FFFFF & 0xFFFF) # ori $t3, $t3, 0xffff
/* B7F2DC 8010813C 354A9623 */ ori $t2, (0xFC119623 & 0xFFFF) # ori $t2, $t2, 0x9623
/* B7F2E0 80108140 AC4A0000 */ sw $t2, ($v0)
/* B7F2E4 80108144 AC4B0004 */ sw $t3, 4($v0)
/* B7F2E8 80108148 24630008 */ addiu $v1, $v1, 8
/* B7F2EC 8010814C 00601025 */ move $v0, $v1
/* B7F2F0 80108150 3C0CFA00 */ lui $t4, 0xfa00
/* B7F2F4 80108154 AC4C0000 */ sw $t4, ($v0)
/* B7F2F8 80108158 8FA80028 */ lw $t0, 0x28($sp)
/* B7F2FC 8010815C 34018000 */ li $at, 32768
/* B7F300 80108160 24630008 */ addiu $v1, $v1, 8
/* B7F304 80108164 250820D8 */ addiu $t0, $t0, 0x20d8
/* B7F308 80108168 01013821 */ addu $a3, $t0, $at
/* B7F30C 8010816C 84ED63E2 */ lh $t5, 0x63e2($a3)
/* B7F310 80108170 2401FF00 */ li $at, -256
/* B7F314 80108174 3C068016 */ lui $a2, %hi(gGameInfo) # $a2, 0x8016
/* B7F318 80108178 31AE00FF */ andi $t6, $t5, 0xff
/* B7F31C 8010817C 01C17825 */ or $t7, $t6, $at
/* B7F320 80108180 AC4F0004 */ sw $t7, 4($v0)
/* B7F324 80108184 97B8002E */ lhu $t8, 0x2e($sp)
/* B7F328 80108188 00601025 */ move $v0, $v1
/* B7F32C 8010818C 3C0CFD18 */ lui $t4, 0xfd18
/* B7F330 80108190 2B010066 */ slti $at, $t8, 0x66
/* B7F334 80108194 1420002C */ bnez $at, .L80108248
/* B7F338 80108198 24C6FA90 */ addiu $a2, %lo(gGameInfo) # addiu $a2, $a2, -0x570
/* B7F33C 8010819C 00601025 */ move $v0, $v1
/* B7F340 801081A0 3C19FD18 */ lui $t9, 0xfd18
/* B7F344 801081A4 AC590000 */ sw $t9, ($v0)
/* B7F348 801081A8 8CEA62B0 */ lw $t2, 0x62b0($a3)
/* B7F34C 801081AC 24630008 */ addiu $v1, $v1, 8
/* B7F350 801081B0 3C0CF518 */ lui $t4, 0xf518
/* B7F354 801081B4 254B1000 */ addiu $t3, $t2, 0x1000
/* B7F358 801081B8 AC4B0004 */ sw $t3, 4($v0)
/* B7F35C 801081BC 00601025 */ move $v0, $v1
/* B7F360 801081C0 3C0D0700 */ lui $t5, 0x700
/* B7F364 801081C4 AC4D0004 */ sw $t5, 4($v0)
/* B7F368 801081C8 AC4C0000 */ sw $t4, ($v0)
/* B7F36C 801081CC 24630008 */ addiu $v1, $v1, 8
/* B7F370 801081D0 00601025 */ move $v0, $v1
/* B7F374 801081D4 3C0EE600 */ lui $t6, 0xe600
/* B7F378 801081D8 AC4E0000 */ sw $t6, ($v0)
/* B7F37C 801081DC AC400004 */ sw $zero, 4($v0)
/* B7F380 801081E0 24630008 */ addiu $v1, $v1, 8
/* B7F384 801081E4 00601025 */ move $v0, $v1
/* B7F388 801081E8 3C180723 */ lui $t8, (0x0723F0AB >> 16) # lui $t8, 0x723
/* B7F38C 801081EC 3718F0AB */ ori $t8, (0x0723F0AB & 0xFFFF) # ori $t8, $t8, 0xf0ab
/* B7F390 801081F0 3C0FF300 */ lui $t7, 0xf300
/* B7F394 801081F4 AC4F0000 */ sw $t7, ($v0)
/* B7F398 801081F8 AC580004 */ sw $t8, 4($v0)
/* B7F39C 801081FC 24630008 */ addiu $v1, $v1, 8
/* B7F3A0 80108200 00601025 */ move $v0, $v1
/* B7F3A4 80108204 AC490000 */ sw $t1, ($v0)
/* B7F3A8 80108208 AC400004 */ sw $zero, 4($v0)
/* B7F3AC 8010820C 24630008 */ addiu $v1, $v1, 8
/* B7F3B0 80108210 00601025 */ move $v0, $v1
/* B7F3B4 80108214 3C19F518 */ lui $t9, (0xF5180C00 >> 16) # lui $t9, 0xf518
/* B7F3B8 80108218 37390C00 */ ori $t9, (0xF5180C00 & 0xFFFF) # ori $t9, $t9, 0xc00
/* B7F3BC 8010821C AC590000 */ sw $t9, ($v0)
/* B7F3C0 80108220 AC400004 */ sw $zero, 4($v0)
/* B7F3C4 80108224 24630008 */ addiu $v1, $v1, 8
/* B7F3C8 80108228 00601025 */ move $v0, $v1
/* B7F3CC 8010822C 3C0B0005 */ lui $t3, (0x0005C05C >> 16) # lui $t3, 5
/* B7F3D0 80108230 356BC05C */ ori $t3, (0x0005C05C & 0xFFFF) # ori $t3, $t3, 0xc05c
/* B7F3D4 80108234 3C0AF200 */ lui $t2, 0xf200
/* B7F3D8 80108238 AC4A0000 */ sw $t2, ($v0)
/* B7F3DC 8010823C AC4B0004 */ sw $t3, 4($v0)
/* B7F3E0 80108240 10000029 */ b .L801082E8
/* B7F3E4 80108244 24630008 */ addiu $v1, $v1, 8
.L80108248:
/* B7F3E8 80108248 AC4C0000 */ sw $t4, ($v0)
/* B7F3EC 8010824C 8CED62B0 */ lw $t5, 0x62b0($a3)
/* B7F3F0 80108250 24630008 */ addiu $v1, $v1, 8
/* B7F3F4 80108254 3C0FF518 */ lui $t7, 0xf518
/* B7F3F8 80108258 25AE1000 */ addiu $t6, $t5, 0x1000
/* B7F3FC 8010825C AC4E0004 */ sw $t6, 4($v0)
/* B7F400 80108260 00601025 */ move $v0, $v1
/* B7F404 80108264 3C180700 */ lui $t8, 0x700
/* B7F408 80108268 AC580004 */ sw $t8, 4($v0)
/* B7F40C 8010826C AC4F0000 */ sw $t7, ($v0)
/* B7F410 80108270 24630008 */ addiu $v1, $v1, 8
/* B7F414 80108274 00601025 */ move $v0, $v1
/* B7F418 80108278 3C19E600 */ lui $t9, 0xe600
/* B7F41C 8010827C AC590000 */ sw $t9, ($v0)
/* B7F420 80108280 AC400004 */ sw $zero, 4($v0)
/* B7F424 80108284 24630008 */ addiu $v1, $v1, 8
/* B7F428 80108288 00601025 */ move $v0, $v1
/* B7F42C 8010828C 3C0B073F */ lui $t3, (0x073FF080 >> 16) # lui $t3, 0x73f
/* B7F430 80108290 356BF080 */ ori $t3, (0x073FF080 & 0xFFFF) # ori $t3, $t3, 0xf080
/* B7F434 80108294 3C0AF300 */ lui $t2, 0xf300
/* B7F438 80108298 AC4A0000 */ sw $t2, ($v0)
/* B7F43C 8010829C AC4B0004 */ sw $t3, 4($v0)
/* B7F440 801082A0 24630008 */ addiu $v1, $v1, 8
/* B7F444 801082A4 00601025 */ move $v0, $v1
/* B7F448 801082A8 AC490000 */ sw $t1, ($v0)
/* B7F44C 801082AC AC400004 */ sw $zero, 4($v0)
/* B7F450 801082B0 24630008 */ addiu $v1, $v1, 8
/* B7F454 801082B4 00601025 */ move $v0, $v1
/* B7F458 801082B8 3C0CF518 */ lui $t4, (0xF5181000 >> 16) # lui $t4, 0xf518
/* B7F45C 801082BC 358C1000 */ ori $t4, (0xF5181000 & 0xFFFF) # ori $t4, $t4, 0x1000
/* B7F460 801082C0 AC4C0000 */ sw $t4, ($v0)
/* B7F464 801082C4 AC400004 */ sw $zero, 4($v0)
/* B7F468 801082C8 24630008 */ addiu $v1, $v1, 8
/* B7F46C 801082CC 00601025 */ move $v0, $v1
/* B7F470 801082D0 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7
/* B7F474 801082D4 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* B7F478 801082D8 3C0DF200 */ lui $t5, 0xf200
/* B7F47C 801082DC AC4D0000 */ sw $t5, ($v0)
/* B7F480 801082E0 AC4E0004 */ sw $t6, 4($v0)
/* B7F484 801082E4 24630008 */ addiu $v1, $v1, 8
.L801082E8:
/* B7F488 801082E8 8CC20000 */ lw $v0, ($a2)
/* B7F48C 801082EC 84EF63D8 */ lh $t7, 0x63d8($a3)
/* B7F490 801082F0 3C01E400 */ lui $at, 0xe400
/* B7F494 801082F4 84580522 */ lh $t8, 0x522($v0)
/* B7F498 801082F8 8445052A */ lh $a1, 0x52a($v0)
/* B7F49C 801082FC 844E0524 */ lh $t6, 0x524($v0)
/* B7F4A0 80108300 01F8C821 */ addu $t9, $t7, $t8
/* B7F4A4 80108304 03255021 */ addu $t2, $t9, $a1
/* B7F4A8 80108308 00AE7821 */ addu $t7, $a1, $t6
/* B7F4AC 8010830C 000FC080 */ sll $t8, $t7, 2
/* B7F4B0 80108310 000A5880 */ sll $t3, $t2, 2
/* B7F4B4 80108314 316C0FFF */ andi $t4, $t3, 0xfff
/* B7F4B8 80108318 33190FFF */ andi $t9, $t8, 0xfff
/* B7F4BC 8010831C 03215025 */ or $t2, $t9, $at
/* B7F4C0 80108320 000C6B00 */ sll $t5, $t4, 0xc
/* B7F4C4 80108324 014D5825 */ or $t3, $t2, $t5
/* B7F4C8 80108328 00602025 */ move $a0, $v1
/* B7F4CC 8010832C AC8B0000 */ sw $t3, ($a0)
/* B7F4D0 80108330 8CC20000 */ lw $v0, ($a2)
/* B7F4D4 80108334 84EC63D8 */ lh $t4, 0x63d8($a3)
/* B7F4D8 80108338 24630008 */ addiu $v1, $v1, 8
/* B7F4DC 8010833C 844E0522 */ lh $t6, 0x522($v0)
/* B7F4E0 80108340 844D0524 */ lh $t5, 0x524($v0)
/* B7F4E4 80108344 00601025 */ move $v0, $v1
/* B7F4E8 80108348 018E7821 */ addu $t7, $t4, $t6
/* B7F4EC 8010834C 000FC080 */ sll $t8, $t7, 2
/* B7F4F0 80108350 33190FFF */ andi $t9, $t8, 0xfff
/* B7F4F4 80108354 000D5880 */ sll $t3, $t5, 2
/* B7F4F8 80108358 316C0FFF */ andi $t4, $t3, 0xfff
/* B7F4FC 8010835C 00195300 */ sll $t2, $t9, 0xc
/* B7F500 80108360 018A7025 */ or $t6, $t4, $t2
/* B7F504 80108364 AC8E0004 */ sw $t6, 4($a0)
/* B7F508 80108368 3C0FE100 */ lui $t7, 0xe100
/* B7F50C 8010836C AC4F0000 */ sw $t7, ($v0)
/* B7F510 80108370 AC400004 */ sw $zero, 4($v0)
/* B7F514 80108374 24630008 */ addiu $v1, $v1, 8
/* B7F518 80108378 00601025 */ move $v0, $v1
/* B7F51C 8010837C 97A40036 */ lhu $a0, 0x36($sp)
/* B7F520 80108380 3C190400 */ lui $t9, (0x04000400 >> 16) # lui $t9, 0x400
/* B7F524 80108384 37390400 */ ori $t9, (0x04000400 & 0xFFFF) # ori $t9, $t9, 0x400
/* B7F528 80108388 3C18F100 */ lui $t8, 0xf100
/* B7F52C 8010838C AC580000 */ sw $t8, ($v0)
/* B7F530 80108390 AC590004 */ sw $t9, 4($v0)
/* B7F534 80108394 24630008 */ addiu $v1, $v1, 8
/* B7F538 80108398 00601025 */ move $v0, $v1
/* B7F53C 8010839C AC490000 */ sw $t1, ($v0)
/* B7F540 801083A0 AC400004 */ sw $zero, 4($v0)
/* B7F544 801083A4 24630008 */ addiu $v1, $v1, 8
/* B7F548 801083A8 00601025 */ move $v0, $v1
/* B7F54C 801083AC 3C0BFF2D */ lui $t3, (0xFF2DFEFF >> 16) # lui $t3, 0xff2d
/* B7F550 801083B0 3C0DFCFF */ lui $t5, (0xFCFF97FF >> 16) # lui $t5, 0xfcff
/* B7F554 801083B4 35AD97FF */ ori $t5, (0xFCFF97FF & 0xFFFF) # ori $t5, $t5, 0x97ff
/* B7F558 801083B8 356BFEFF */ ori $t3, (0xFF2DFEFF & 0xFFFF) # ori $t3, $t3, 0xfeff
/* B7F55C 801083BC AC4B0004 */ sw $t3, 4($v0)
/* B7F560 801083C0 AC4D0000 */ sw $t5, ($v0)
/* B7F564 801083C4 84EC63D8 */ lh $t4, 0x63d8($a3)
/* B7F568 801083C8 25017FFF */ addiu $at, $t0, 0x7fff
/* B7F56C 801083CC 24630008 */ addiu $v1, $v1, 8
/* B7F570 801083D0 258A0020 */ addiu $t2, $t4, 0x20
/* B7F574 801083D4 A42A63D9 */ sh $t2, 0x63d9($at)
/* B7F578 801083D8 8FAE0030 */ lw $t6, 0x30($sp)
/* B7F57C 801083DC 24840001 */ addiu $a0, $a0, 1
/* B7F580 801083E0 3082FFFF */ andi $v0, $a0, 0xffff
/* B7F584 801083E4 ADC30000 */ sw $v1, ($t6)
/* B7F588 801083E8 8FBF001C */ lw $ra, 0x1c($sp)
/* B7F58C 801083EC 27BD0028 */ addiu $sp, $sp, 0x28
/* B7F590 801083F0 03E00008 */ jr $ra
/* B7F594 801083F4 00000000 */ nop