papermario/ver/us/asm/nonmatchings/169BE0/func_80249380.s
Ethan Roseman 3315d6010f
Splat refactor (#257)
* all non-world rodata migrated

* data disasm

* kinda working

* updated yaml

* bloop

* linker header

* configure 2.0

* bin

* mass rename to remove code_

* pause rename

* battle partner stuff

* whew

* more renames

* more renames

* more renaming

* it builds!

* updates

* remove main prefix

* one more thing

* crc, yay0

* .data, .rodata, .bss

* img

* dead_atan2

* it buildsgit add -A

* split battle/partner/6FAD10

* rm &s on sleepy_sheep syms

* sha1sum ninja rule description

* OK but commented out PaperMarioMapFS and PaperMarioNpcSprites

* uncomment

* fix mapfs

* match func_8003CFB4

* .

* clean up and name npc_iter_no_op

* npc.c

* enable cc warnings

* name npc_find_near

* use singular options.asset_path

* smores

* cc_dsl only when needed

* kinda fix configure for splat refactor2

* ok!

* new msg format

* remove old msg format docs

* slight bug fixes, splat adjustment

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "cfc140bb76"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "cfc140bb76"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "85349befcd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "85349befcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Update symbol addrs

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "a44631e194"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "a44631e194"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

Co-authored-by: Alex Bates <hi@imalex.xyz>
2021-04-13 16:47:52 +09:00

411 lines
21 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80249380
/* 169BE0 80249380 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 169BE4 80249384 0080482D */ daddu $t1, $a0, $zero
/* 169BE8 80249388 AFB5003C */ sw $s5, 0x3c($sp)
/* 169BEC 8024938C 00A0A82D */ daddu $s5, $a1, $zero
/* 169BF0 80249390 AFB60040 */ sw $s6, 0x40($sp)
/* 169BF4 80249394 8FAA0058 */ lw $t2, 0x58($sp)
/* 169BF8 80249398 3C038025 */ lui $v1, %hi(D_8024B7CC)
/* 169BFC 8024939C 2463B7CC */ addiu $v1, $v1, %lo(D_8024B7CC)
/* 169C00 802493A0 AFBF0044 */ sw $ra, 0x44($sp)
/* 169C04 802493A4 AFB40038 */ sw $s4, 0x38($sp)
/* 169C08 802493A8 AFB30034 */ sw $s3, 0x34($sp)
/* 169C0C 802493AC AFB20030 */ sw $s2, 0x30($sp)
/* 169C10 802493B0 AFB1002C */ sw $s1, 0x2c($sp)
/* 169C14 802493B4 AFB00028 */ sw $s0, 0x28($sp)
/* 169C18 802493B8 8C620000 */ lw $v0, ($v1)
/* 169C1C 802493BC 8FAD005C */ lw $t5, 0x5c($sp)
/* 169C20 802493C0 10E20004 */ beq $a3, $v0, .L802493D4
/* 169C24 802493C4 00C0B02D */ daddu $s6, $a2, $zero
/* 169C28 802493C8 AC670000 */ sw $a3, ($v1)
/* 169C2C 802493CC 3C018025 */ lui $at, %hi(D_8024B7D0)
/* 169C30 802493D0 AC20B7D0 */ sw $zero, %lo(D_8024B7D0)($at)
.L802493D4:
/* 169C34 802493D4 3C058025 */ lui $a1, %hi(D_8024B7D0)
/* 169C38 802493D8 24A5B7D0 */ addiu $a1, $a1, %lo(D_8024B7D0)
/* 169C3C 802493DC 8C630000 */ lw $v1, ($v1)
/* 169C40 802493E0 8CA40000 */ lw $a0, ($a1)
/* 169C44 802493E4 00031880 */ sll $v1, $v1, 2
/* 169C48 802493E8 00041040 */ sll $v0, $a0, 1
/* 169C4C 802493EC 00441021 */ addu $v0, $v0, $a0
/* 169C50 802493F0 3C01802F */ lui $at, %hi(D_802EB5A8)
/* 169C54 802493F4 00230821 */ addu $at, $at, $v1
/* 169C58 802493F8 8C23B5A8 */ lw $v1, %lo(D_802EB5A8)($at)
/* 169C5C 802493FC 00021080 */ sll $v0, $v0, 2
/* 169C60 80249400 8C640008 */ lw $a0, 8($v1)
/* 169C64 80249404 90720000 */ lbu $s2, ($v1)
/* 169C68 80249408 90730001 */ lbu $s3, 1($v1)
/* 169C6C 8024940C 946B0004 */ lhu $t3, 4($v1)
/* 169C70 80249410 00822021 */ addu $a0, $a0, $v0
/* 169C74 80249414 292200A2 */ slti $v0, $t1, 0xa2
/* 169C78 80249418 90940008 */ lbu $s4, 8($a0)
/* 169C7C 8024941C 8C8C0000 */ lw $t4, ($a0)
/* 169C80 80249420 10400130 */ beqz $v0, .L802498E4
/* 169C84 80249424 240200F7 */ addiu $v0, $zero, 0xf7
/* 169C88 80249428 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* 169C8C 8024942C 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* 169C90 80249430 8C820004 */ lw $v0, 4($a0)
/* 169C94 80249434 8D040000 */ lw $a0, ($t0)
/* 169C98 80249438 3C038025 */ lui $v1, %hi(D_8024B7C8)
/* 169C9C 8024943C 8C63B7C8 */ lw $v1, %lo(D_8024B7C8)($v1)
/* 169CA0 80249440 00491021 */ addu $v0, $v0, $t1
/* 169CA4 80249444 90540000 */ lbu $s4, ($v0)
/* 169CA8 80249448 1083000A */ beq $a0, $v1, .L80249474
/* 169CAC 8024944C 24820008 */ addiu $v0, $a0, 8
/* 169CB0 80249450 AD020000 */ sw $v0, ($t0)
/* 169CB4 80249454 3C02DE00 */ lui $v0, 0xde00
/* 169CB8 80249458 AC820000 */ sw $v0, ($a0)
/* 169CBC 8024945C 3C028025 */ lui $v0, %hi(D_8024B760)
/* 169CC0 80249460 2442B760 */ addiu $v0, $v0, %lo(D_8024B760)
/* 169CC4 80249464 AC820004 */ sw $v0, 4($a0)
/* 169CC8 80249468 2402FFFF */ addiu $v0, $zero, -1
/* 169CCC 8024946C 3C018025 */ lui $at, %hi(D_8024B7D4)
/* 169CD0 80249470 AC22B7D4 */ sw $v0, %lo(D_8024B7D4)($at)
.L80249474:
/* 169CD4 80249474 3C048025 */ lui $a0, %hi(D_8024B7D4)
/* 169CD8 80249478 2484B7D4 */ addiu $a0, $a0, %lo(D_8024B7D4)
/* 169CDC 8024947C 8C820000 */ lw $v0, ($a0)
/* 169CE0 80249480 104A0029 */ beq $v0, $t2, .L80249528
/* 169CE4 80249484 3C06F500 */ lui $a2, 0xf500
/* 169CE8 80249488 34C60100 */ ori $a2, $a2, 0x100
/* 169CEC 8024948C 3C070703 */ lui $a3, 0x703
/* 169CF0 80249490 34E7C000 */ ori $a3, $a3, 0xc000
/* 169CF4 80249494 8D030000 */ lw $v1, ($t0)
/* 169CF8 80249498 3C02FD10 */ lui $v0, 0xfd10
/* 169CFC 8024949C AC8A0000 */ sw $t2, ($a0)
/* 169D00 802494A0 3C04802F */ lui $a0, %hi(D_802F4560)
/* 169D04 802494A4 24844560 */ addiu $a0, $a0, %lo(D_802F4560)
/* 169D08 802494A8 0060282D */ daddu $a1, $v1, $zero
/* 169D0C 802494AC 24630008 */ addiu $v1, $v1, 8
/* 169D10 802494B0 AD030000 */ sw $v1, ($t0)
/* 169D14 802494B4 ACA20000 */ sw $v0, ($a1)
/* 169D18 802494B8 000A1100 */ sll $v0, $t2, 4
/* 169D1C 802494BC 00441021 */ addu $v0, $v0, $a0
/* 169D20 802494C0 ACA20004 */ sw $v0, 4($a1)
/* 169D24 802494C4 24620008 */ addiu $v0, $v1, 8
/* 169D28 802494C8 AD020000 */ sw $v0, ($t0)
/* 169D2C 802494CC 3C02E800 */ lui $v0, 0xe800
/* 169D30 802494D0 AC620000 */ sw $v0, ($v1)
/* 169D34 802494D4 24620010 */ addiu $v0, $v1, 0x10
/* 169D38 802494D8 AC600004 */ sw $zero, 4($v1)
/* 169D3C 802494DC AD020000 */ sw $v0, ($t0)
/* 169D40 802494E0 3C020700 */ lui $v0, 0x700
/* 169D44 802494E4 AC62000C */ sw $v0, 0xc($v1)
/* 169D48 802494E8 24620018 */ addiu $v0, $v1, 0x18
/* 169D4C 802494EC AC660008 */ sw $a2, 8($v1)
/* 169D50 802494F0 AD020000 */ sw $v0, ($t0)
/* 169D54 802494F4 3C02E600 */ lui $v0, 0xe600
/* 169D58 802494F8 AC620010 */ sw $v0, 0x10($v1)
/* 169D5C 802494FC 24620020 */ addiu $v0, $v1, 0x20
/* 169D60 80249500 AC600014 */ sw $zero, 0x14($v1)
/* 169D64 80249504 AD020000 */ sw $v0, ($t0)
/* 169D68 80249508 3C02F000 */ lui $v0, 0xf000
/* 169D6C 8024950C AC620018 */ sw $v0, 0x18($v1)
/* 169D70 80249510 24620028 */ addiu $v0, $v1, 0x28
/* 169D74 80249514 AC67001C */ sw $a3, 0x1c($v1)
/* 169D78 80249518 AD020000 */ sw $v0, ($t0)
/* 169D7C 8024951C 3C02E700 */ lui $v0, 0xe700
/* 169D80 80249520 AC620020 */ sw $v0, 0x20($v1)
/* 169D84 80249524 AC600024 */ sw $zero, 0x24($v1)
.L80249528:
/* 169D88 80249528 2A420010 */ slti $v0, $s2, 0x10
/* 169D8C 8024952C 1440005E */ bnez $v0, .L802496A8
/* 169D90 80249530 3242000F */ andi $v0, $s2, 0xf
/* 169D94 80249534 1440005C */ bnez $v0, .L802496A8
/* 169D98 80249538 0240202D */ daddu $a0, $s2, $zero
/* 169D9C 8024953C 3C02FD50 */ lui $v0, 0xfd50
/* 169DA0 80249540 3C070700 */ lui $a3, 0x700
/* 169DA4 80249544 8D050000 */ lw $a1, ($t0)
/* 169DA8 80249548 01690018 */ mult $t3, $t1
/* 169DAC 8024954C 00A0182D */ daddu $v1, $a1, $zero
/* 169DB0 80249550 24A50008 */ addiu $a1, $a1, 8
/* 169DB4 80249554 AD050000 */ sw $a1, ($t0)
/* 169DB8 80249558 AC620000 */ sw $v0, ($v1)
/* 169DBC 8024955C 24A20008 */ addiu $v0, $a1, 8
/* 169DC0 80249560 AD020000 */ sw $v0, ($t0)
/* 169DC4 80249564 24A20010 */ addiu $v0, $a1, 0x10
/* 169DC8 80249568 AD020000 */ sw $v0, ($t0)
/* 169DCC 8024956C 24A20018 */ addiu $v0, $a1, 0x18
/* 169DD0 80249570 AD020000 */ sw $v0, ($t0)
/* 169DD4 80249574 00007012 */ mflo $t6
/* 169DD8 80249578 018E1021 */ addu $v0, $t4, $t6
/* 169DDC 8024957C AC620004 */ sw $v0, 4($v1)
/* 169DE0 80249580 3C02F550 */ lui $v0, 0xf550
/* 169DE4 80249584 ACA20000 */ sw $v0, ($a1)
/* 169DE8 80249588 3C02E600 */ lui $v0, 0xe600
/* 169DEC 8024958C ACA20008 */ sw $v0, 8($a1)
/* 169DF0 80249590 3C02F300 */ lui $v0, 0xf300
/* 169DF4 80249594 ACA70004 */ sw $a3, 4($a1)
/* 169DF8 80249598 ACA0000C */ sw $zero, 0xc($a1)
/* 169DFC 8024959C 06410002 */ bgez $s2, .L802495A8
/* 169E00 802495A0 ACA20010 */ sw $v0, 0x10($a1)
/* 169E04 802495A4 2644000F */ addiu $a0, $s2, 0xf
.L802495A8:
/* 169E08 802495A8 00043103 */ sra $a2, $a0, 4
/* 169E0C 802495AC 18C00002 */ blez $a2, .L802495B8
/* 169E10 802495B0 24030800 */ addiu $v1, $zero, 0x800
/* 169E14 802495B4 24C307FF */ addiu $v1, $a2, 0x7ff
.L802495B8:
/* 169E18 802495B8 02530018 */ mult $s2, $s3
/* 169E1C 802495BC 00007012 */ mflo $t6
/* 169E20 802495C0 25C20003 */ addiu $v0, $t6, 3
/* 169E24 802495C4 00021083 */ sra $v0, $v0, 2
/* 169E28 802495C8 2444FFFF */ addiu $a0, $v0, -1
/* 169E2C 802495CC 28820800 */ slti $v0, $a0, 0x800
/* 169E30 802495D0 50400001 */ beql $v0, $zero, .L802495D8
/* 169E34 802495D4 240407FF */ addiu $a0, $zero, 0x7ff
.L802495D8:
/* 169E38 802495D8 30820FFF */ andi $v0, $a0, 0xfff
/* 169E3C 802495DC 00021300 */ sll $v0, $v0, 0xc
/* 169E40 802495E0 18C0000D */ blez $a2, .L80249618
/* 169E44 802495E4 00472025 */ or $a0, $v0, $a3
/* 169E48 802495E8 14C00002 */ bnez $a2, .L802495F4
/* 169E4C 802495EC 0066001A */ div $zero, $v1, $a2
/* 169E50 802495F0 0007000D */ break 7
.L802495F4:
/* 169E54 802495F4 2401FFFF */ addiu $at, $zero, -1
/* 169E58 802495F8 14C10004 */ bne $a2, $at, .L8024960C
/* 169E5C 802495FC 3C018000 */ lui $at, 0x8000
/* 169E60 80249600 14610002 */ bne $v1, $at, .L8024960C
/* 169E64 80249604 00000000 */ nop
/* 169E68 80249608 0006000D */ break 6
.L8024960C:
/* 169E6C 8024960C 00001012 */ mflo $v0
/* 169E70 80249610 08092587 */ j .L8024961C
/* 169E74 80249614 30420FFF */ andi $v0, $v0, 0xfff
.L80249618:
/* 169E78 80249618 30620FFF */ andi $v0, $v1, 0xfff
.L8024961C:
/* 169E7C 8024961C 00821025 */ or $v0, $a0, $v0
/* 169E80 80249620 ACA20014 */ sw $v0, 0x14($a1)
/* 169E84 80249624 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 169E88 80249628 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 169E8C 8024962C 8CA40000 */ lw $a0, ($a1)
/* 169E90 80249630 3C02E700 */ lui $v0, 0xe700
/* 169E94 80249634 0080182D */ daddu $v1, $a0, $zero
/* 169E98 80249638 24840008 */ addiu $a0, $a0, 8
/* 169E9C 8024963C ACA40000 */ sw $a0, ($a1)
/* 169EA0 80249640 AC620000 */ sw $v0, ($v1)
/* 169EA4 80249644 24820008 */ addiu $v0, $a0, 8
/* 169EA8 80249648 AC600004 */ sw $zero, 4($v1)
/* 169EAC 8024964C ACA20000 */ sw $v0, ($a1)
/* 169EB0 80249650 00121043 */ sra $v0, $s2, 1
/* 169EB4 80249654 24420007 */ addiu $v0, $v0, 7
/* 169EB8 80249658 000210C2 */ srl $v0, $v0, 3
/* 169EBC 8024965C 00021240 */ sll $v0, $v0, 9
/* 169EC0 80249660 3C03F540 */ lui $v1, 0xf540
/* 169EC4 80249664 00431025 */ or $v0, $v0, $v1
/* 169EC8 80249668 AC820000 */ sw $v0, ($a0)
/* 169ECC 8024966C 24820010 */ addiu $v0, $a0, 0x10
/* 169ED0 80249670 AC800004 */ sw $zero, 4($a0)
/* 169ED4 80249674 ACA20000 */ sw $v0, ($a1)
/* 169ED8 80249678 3C02F200 */ lui $v0, 0xf200
/* 169EDC 8024967C 2643FFFF */ addiu $v1, $s2, -1
/* 169EE0 80249680 00031880 */ sll $v1, $v1, 2
/* 169EE4 80249684 30630FFF */ andi $v1, $v1, 0xfff
/* 169EE8 80249688 00031B00 */ sll $v1, $v1, 0xc
/* 169EEC 8024968C AC820008 */ sw $v0, 8($a0)
/* 169EF0 80249690 2662FFFF */ addiu $v0, $s3, -1
/* 169EF4 80249694 00021080 */ sll $v0, $v0, 2
/* 169EF8 80249698 30420FFF */ andi $v0, $v0, 0xfff
/* 169EFC 8024969C 00621825 */ or $v1, $v1, $v0
/* 169F00 802496A0 080925EB */ j .L802497AC
/* 169F04 802496A4 AC83000C */ sw $v1, 0xc($a0)
.L802496A8:
/* 169F08 802496A8 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 169F0C 802496AC 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 169F10 802496B0 00123043 */ sra $a2, $s2, 1
/* 169F14 802496B4 24C2FFFF */ addiu $v0, $a2, -1
/* 169F18 802496B8 30420FFF */ andi $v0, $v0, 0xfff
/* 169F1C 802496BC 3C03FD48 */ lui $v1, 0xfd48
/* 169F20 802496C0 00431025 */ or $v0, $v0, $v1
/* 169F24 802496C4 24C60007 */ addiu $a2, $a2, 7
/* 169F28 802496C8 000630C2 */ srl $a2, $a2, 3
/* 169F2C 802496CC 00063240 */ sll $a2, $a2, 9
/* 169F30 802496D0 2643FFFF */ addiu $v1, $s2, -1
/* 169F34 802496D4 8CA40000 */ lw $a0, ($a1)
/* 169F38 802496D8 01690018 */ mult $t3, $t1
/* 169F3C 802496DC 0080382D */ daddu $a3, $a0, $zero
/* 169F40 802496E0 24840008 */ addiu $a0, $a0, 8
/* 169F44 802496E4 ACA40000 */ sw $a0, ($a1)
/* 169F48 802496E8 ACE20000 */ sw $v0, ($a3)
/* 169F4C 802496EC 24820008 */ addiu $v0, $a0, 8
/* 169F50 802496F0 ACA20000 */ sw $v0, ($a1)
/* 169F54 802496F4 24820010 */ addiu $v0, $a0, 0x10
/* 169F58 802496F8 ACA20000 */ sw $v0, ($a1)
/* 169F5C 802496FC 24820018 */ addiu $v0, $a0, 0x18
/* 169F60 80249700 ACA20000 */ sw $v0, ($a1)
/* 169F64 80249704 24820020 */ addiu $v0, $a0, 0x20
/* 169F68 80249708 ACA20000 */ sw $v0, ($a1)
/* 169F6C 8024970C 24820028 */ addiu $v0, $a0, 0x28
/* 169F70 80249710 ACA20000 */ sw $v0, ($a1)
/* 169F74 80249714 24820030 */ addiu $v0, $a0, 0x30
/* 169F78 80249718 ACA20000 */ sw $v0, ($a1)
/* 169F7C 8024971C 2665FFFF */ addiu $a1, $s3, -1
/* 169F80 80249720 00052880 */ sll $a1, $a1, 2
/* 169F84 80249724 30A50FFF */ andi $a1, $a1, 0xfff
/* 169F88 80249728 00007012 */ mflo $t6
/* 169F8C 8024972C 018E1021 */ addu $v0, $t4, $t6
/* 169F90 80249730 ACE20004 */ sw $v0, 4($a3)
/* 169F94 80249734 3C02F548 */ lui $v0, 0xf548
/* 169F98 80249738 00C21025 */ or $v0, $a2, $v0
/* 169F9C 8024973C 3C070700 */ lui $a3, 0x700
/* 169FA0 80249740 AC820000 */ sw $v0, ($a0)
/* 169FA4 80249744 3C02E600 */ lui $v0, 0xe600
/* 169FA8 80249748 AC820008 */ sw $v0, 8($a0)
/* 169FAC 8024974C 3C02F400 */ lui $v0, 0xf400
/* 169FB0 80249750 AC820010 */ sw $v0, 0x10($a0)
/* 169FB4 80249754 00031040 */ sll $v0, $v1, 1
/* 169FB8 80249758 30420FFF */ andi $v0, $v0, 0xfff
/* 169FBC 8024975C 00021300 */ sll $v0, $v0, 0xc
/* 169FC0 80249760 AC870004 */ sw $a3, 4($a0)
/* 169FC4 80249764 00A73825 */ or $a3, $a1, $a3
/* 169FC8 80249768 00471025 */ or $v0, $v0, $a3
/* 169FCC 8024976C AC820014 */ sw $v0, 0x14($a0)
/* 169FD0 80249770 3C02E700 */ lui $v0, 0xe700
/* 169FD4 80249774 AC820018 */ sw $v0, 0x18($a0)
/* 169FD8 80249778 3C02F540 */ lui $v0, 0xf540
/* 169FDC 8024977C 00C23025 */ or $a2, $a2, $v0
/* 169FE0 80249780 3C02F200 */ lui $v0, 0xf200
/* 169FE4 80249784 00031880 */ sll $v1, $v1, 2
/* 169FE8 80249788 30630FFF */ andi $v1, $v1, 0xfff
/* 169FEC 8024978C 00031B00 */ sll $v1, $v1, 0xc
/* 169FF0 80249790 00651825 */ or $v1, $v1, $a1
/* 169FF4 80249794 AC80000C */ sw $zero, 0xc($a0)
/* 169FF8 80249798 AC80001C */ sw $zero, 0x1c($a0)
/* 169FFC 8024979C AC860020 */ sw $a2, 0x20($a0)
/* 16A000 802497A0 AC800024 */ sw $zero, 0x24($a0)
/* 16A004 802497A4 AC820028 */ sw $v0, 0x28($a0)
/* 16A008 802497A8 AC83002C */ sw $v1, 0x2c($a0)
.L802497AC:
/* 16A00C 802497AC 11A0003A */ beqz $t5, .L80249898
/* 16A010 802497B0 3C0AFCFF */ lui $t2, 0xfcff
/* 16A014 802497B4 354A97FF */ ori $t2, $t2, 0x97ff
/* 16A018 802497B8 3C08FF2D */ lui $t0, 0xff2d
/* 16A01C 802497BC 3508FEFF */ ori $t0, $t0, 0xfeff
/* 16A020 802497C0 3C11E200 */ lui $s1, 0xe200
/* 16A024 802497C4 3631001C */ ori $s1, $s1, 0x1c
/* 16A028 802497C8 3C090050 */ lui $t1, 0x50
/* 16A02C 802497CC 35294340 */ ori $t1, $t1, 0x4340
/* 16A030 802497D0 26A40002 */ addiu $a0, $s5, 2
/* 16A034 802497D4 00042080 */ sll $a0, $a0, 2
/* 16A038 802497D8 26C50002 */ addiu $a1, $s6, 2
/* 16A03C 802497DC 00052880 */ sll $a1, $a1, 2
/* 16A040 802497E0 26460002 */ addiu $a2, $s2, 2
/* 16A044 802497E4 02A63021 */ addu $a2, $s5, $a2
/* 16A048 802497E8 00063080 */ sll $a2, $a2, 2
/* 16A04C 802497EC 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 16A050 802497F0 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 16A054 802497F4 26670002 */ addiu $a3, $s3, 2
/* 16A058 802497F8 02C73821 */ addu $a3, $s6, $a3
/* 16A05C 802497FC 8E020000 */ lw $v0, ($s0)
/* 16A060 80249800 00073880 */ sll $a3, $a3, 2
/* 16A064 80249804 0040182D */ daddu $v1, $v0, $zero
/* 16A068 80249808 24420008 */ addiu $v0, $v0, 8
/* 16A06C 8024980C AE020000 */ sw $v0, ($s0)
/* 16A070 80249810 AC6A0000 */ sw $t2, ($v1)
/* 16A074 80249814 AC680004 */ sw $t0, 4($v1)
/* 16A078 80249818 24430008 */ addiu $v1, $v0, 8
/* 16A07C 8024981C AE030000 */ sw $v1, ($s0)
/* 16A080 80249820 AC510000 */ sw $s1, ($v0)
/* 16A084 80249824 AC490004 */ sw $t1, 4($v0)
/* 16A088 80249828 24020400 */ addiu $v0, $zero, 0x400
/* 16A08C 8024982C AFA00010 */ sw $zero, 0x10($sp)
/* 16A090 80249830 AFA00014 */ sw $zero, 0x14($sp)
/* 16A094 80249834 AFA00018 */ sw $zero, 0x18($sp)
/* 16A098 80249838 AFA2001C */ sw $v0, 0x1c($sp)
/* 16A09C 8024983C 0C090AE8 */ jal func_80242BA0
/* 16A0A0 80249840 AFA20020 */ sw $v0, 0x20($sp)
/* 16A0A4 80249844 3C06FCFF */ lui $a2, 0xfcff
/* 16A0A8 80249848 34C6FFFF */ ori $a2, $a2, 0xffff
/* 16A0AC 8024984C 3C05FFFC */ lui $a1, 0xfffc
/* 16A0B0 80249850 34A5F279 */ ori $a1, $a1, 0xf279
/* 16A0B4 80249854 3C070F0A */ lui $a3, 0xf0a
/* 16A0B8 80249858 34E77008 */ ori $a3, $a3, 0x7008
/* 16A0BC 8024985C 8E020000 */ lw $v0, ($s0)
/* 16A0C0 80249860 3C03E700 */ lui $v1, 0xe700
/* 16A0C4 80249864 0040202D */ daddu $a0, $v0, $zero
/* 16A0C8 80249868 24420008 */ addiu $v0, $v0, 8
/* 16A0CC 8024986C AE020000 */ sw $v0, ($s0)
/* 16A0D0 80249870 AC830000 */ sw $v1, ($a0)
/* 16A0D4 80249874 24430008 */ addiu $v1, $v0, 8
/* 16A0D8 80249878 AC800004 */ sw $zero, 4($a0)
/* 16A0DC 8024987C AE030000 */ sw $v1, ($s0)
/* 16A0E0 80249880 24430010 */ addiu $v1, $v0, 0x10
/* 16A0E4 80249884 AC460000 */ sw $a2, ($v0)
/* 16A0E8 80249888 AC450004 */ sw $a1, 4($v0)
/* 16A0EC 8024988C AE030000 */ sw $v1, ($s0)
/* 16A0F0 80249890 AC510008 */ sw $s1, 8($v0)
/* 16A0F4 80249894 AC47000C */ sw $a3, 0xc($v0)
.L80249898:
/* 16A0F8 80249898 00152080 */ sll $a0, $s5, 2
/* 16A0FC 8024989C 00162880 */ sll $a1, $s6, 2
/* 16A100 802498A0 02B23021 */ addu $a2, $s5, $s2
/* 16A104 802498A4 00063080 */ sll $a2, $a2, 2
/* 16A108 802498A8 02D33821 */ addu $a3, $s6, $s3
/* 16A10C 802498AC 00073880 */ sll $a3, $a3, 2
/* 16A110 802498B0 24020400 */ addiu $v0, $zero, 0x400
/* 16A114 802498B4 AFA00010 */ sw $zero, 0x10($sp)
/* 16A118 802498B8 AFA00014 */ sw $zero, 0x14($sp)
/* 16A11C 802498BC AFA00018 */ sw $zero, 0x18($sp)
/* 16A120 802498C0 AFA2001C */ sw $v0, 0x1c($sp)
/* 16A124 802498C4 0C090AE8 */ jal func_80242BA0
/* 16A128 802498C8 AFA20020 */ sw $v0, 0x20($sp)
/* 16A12C 802498CC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 16A130 802498D0 8C63A66C */ lw $v1, %lo(gMasterGfxPos)($v1)
/* 16A134 802498D4 3C018025 */ lui $at, %hi(D_8024B7C8)
/* 16A138 802498D8 AC23B7C8 */ sw $v1, %lo(D_8024B7C8)($at)
/* 16A13C 802498DC 08092655 */ j .L80249954
/* 16A140 802498E0 0280102D */ daddu $v0, $s4, $zero
.L802498E4:
/* 16A144 802498E4 15220003 */ bne $t1, $v0, .L802498F4
/* 16A148 802498E8 240200F4 */ addiu $v0, $zero, 0xf4
/* 16A14C 802498EC 08092655 */ j .L80249954
/* 16A150 802498F0 2682FFFA */ addiu $v0, $s4, -6
.L802498F4:
/* 16A154 802498F4 11220010 */ beq $t1, $v0, .L80249938
/* 16A158 802498F8 292200F5 */ slti $v0, $t1, 0xf5
/* 16A15C 802498FC 10400005 */ beqz $v0, .L80249914
/* 16A160 80249900 240200F3 */ addiu $v0, $zero, 0xf3
/* 16A164 80249904 1122000A */ beq $t1, $v0, .L80249930
/* 16A168 80249908 0000102D */ daddu $v0, $zero, $zero
/* 16A16C 8024990C 08092655 */ j .L80249954
/* 16A170 80249910 00000000 */ nop
.L80249914:
/* 16A174 80249914 240200F5 */ addiu $v0, $zero, 0xf5
/* 16A178 80249918 11220009 */ beq $t1, $v0, .L80249940
/* 16A17C 8024991C 240200F6 */ addiu $v0, $zero, 0xf6
/* 16A180 80249920 11220009 */ beq $t1, $v0, .L80249948
/* 16A184 80249924 0000102D */ daddu $v0, $zero, $zero
/* 16A188 80249928 08092655 */ j .L80249954
/* 16A18C 8024992C 00000000 */ nop
.L80249930:
/* 16A190 80249930 08092654 */ j .L80249950
/* 16A194 80249934 ACA00000 */ sw $zero, ($a1)
.L80249938:
/* 16A198 80249938 08092653 */ j .L8024994C
/* 16A19C 8024993C 24020001 */ addiu $v0, $zero, 1
.L80249940:
/* 16A1A0 80249940 08092653 */ j .L8024994C
/* 16A1A4 80249944 24020002 */ addiu $v0, $zero, 2
.L80249948:
/* 16A1A8 80249948 24020003 */ addiu $v0, $zero, 3
.L8024994C:
/* 16A1AC 8024994C ACA20000 */ sw $v0, ($a1)
.L80249950:
/* 16A1B0 80249950 0000102D */ daddu $v0, $zero, $zero
.L80249954:
/* 16A1B4 80249954 8FBF0044 */ lw $ra, 0x44($sp)
/* 16A1B8 80249958 8FB60040 */ lw $s6, 0x40($sp)
/* 16A1BC 8024995C 8FB5003C */ lw $s5, 0x3c($sp)
/* 16A1C0 80249960 8FB40038 */ lw $s4, 0x38($sp)
/* 16A1C4 80249964 8FB30034 */ lw $s3, 0x34($sp)
/* 16A1C8 80249968 8FB20030 */ lw $s2, 0x30($sp)
/* 16A1CC 8024996C 8FB1002C */ lw $s1, 0x2c($sp)
/* 16A1D0 80249970 8FB00028 */ lw $s0, 0x28($sp)
/* 16A1D4 80249974 03E00008 */ jr $ra
/* 16A1D8 80249978 27BD0048 */ addiu $sp, $sp, 0x48