mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-25 18:34:27 +00:00
Decompile z_map_exp.c (2 non matchings left) (#104)
Also documented the map data table (not decompiled yet however), and added a DungeonItem enum to use with gSaveContext.dungeonItems reads/writes.
This commit is contained in:
parent
9f1c996db5
commit
9f98210488
36 changed files with 894 additions and 1998 deletions
|
@ -463,7 +463,7 @@ glabel func_801109B0
|
|||
/* B8805C 80110EBC 24A55300 */ addiu $a1, $a1, 0x5300
|
||||
/* B88060 80110EC0 0C01E258 */ jal Health_InitData
|
||||
/* B88064 80110EC4 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B88068 80110EC8 0C0203DA */ jal func_80080F68
|
||||
/* B88068 80110EC8 0C0203DA */ jal Map_Init
|
||||
/* B8806C 80110ECC 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B88070 80110ED0 3C058016 */ lui $a1, %hi(gGameInfo) # $a1, 0x8016
|
||||
/* B88074 80110ED4 24A5FA90 */ addiu $a1, %lo(gGameInfo) # addiu $a1, $a1, -0x570
|
||||
|
|
|
@ -1,807 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013D958
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D968
|
||||
.asciz "Game_play_demo_mode_check=%d\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D988
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_8013DC14
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
.word L80081AA0
|
||||
|
||||
glabel jtbl_8013DC64
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
.word L80081784
|
||||
|
||||
.text
|
||||
glabel Interface_DrawMinimap
|
||||
/* AF8880 800816E0 3C0E8016 */ lui $t6, %hi(gSaveContext+0x1402) # $t6, 0x8016
|
||||
/* AF8884 800816E4 95CEFA62 */ lhu $t6, %lo(gSaveContext+0x1402)($t6)
|
||||
/* AF8888 800816E8 27BDFEF0 */ addiu $sp, $sp, -0x110
|
||||
/* AF888C 800816EC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* AF8890 800816F0 AFA40110 */ sw $a0, 0x110($sp)
|
||||
/* AF8894 800816F4 AFAE0100 */ sw $t6, 0x100($sp)
|
||||
/* AF8898 800816F8 8C850000 */ lw $a1, ($a0)
|
||||
/* AF889C 800816FC 3C068014 */ lui $a2, %hi(D_8013D958) # $a2, 0x8014
|
||||
/* AF88A0 80081700 24C6D958 */ addiu $a2, %lo(D_8013D958) # addiu $a2, $a2, -0x26a8
|
||||
/* AF88A4 80081704 27A400EC */ addiu $a0, $sp, 0xec
|
||||
/* AF88A8 80081708 24070272 */ li $a3, 626
|
||||
/* AF88AC 8008170C 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* AF88B0 80081710 AFA500FC */ sw $a1, 0xfc($sp)
|
||||
/* AF88B4 80081714 8FB80110 */ lw $t8, 0x110($sp)
|
||||
/* AF88B8 80081718 3C190001 */ lui $t9, 1
|
||||
/* AF88BC 8008171C 8FA800FC */ lw $t0, 0xfc($sp)
|
||||
/* AF88C0 80081720 0338C821 */ addu $t9, $t9, $t8
|
||||
/* AF88C4 80081724 97390934 */ lhu $t9, 0x934($t9)
|
||||
/* AF88C8 80081728 2B210004 */ slti $at, $t9, 4
|
||||
/* AF88CC 8008172C 502002BC */ beql $at, $zero, .L80082220
|
||||
/* AF88D0 80081730 8FAF0110 */ lw $t7, 0x110($sp)
|
||||
/* AF88D4 80081734 870200A4 */ lh $v0, 0xa4($t8)
|
||||
/* AF88D8 80081738 2841000A */ slti $at, $v0, 0xa
|
||||
/* AF88DC 8008173C 14200009 */ bnez $at, .L80081764
|
||||
/* AF88E0 80081740 244EFFAF */ addiu $t6, $v0, -0x51
|
||||
/* AF88E4 80081744 2DC10014 */ sltiu $at, $t6, 0x14
|
||||
/* AF88E8 80081748 102002B4 */ beqz $at, .L8008221C
|
||||
/* AF88EC 8008174C 000E7080 */ sll $t6, $t6, 2
|
||||
/* AF88F0 80081750 3C018014 */ lui $at, %hi(jtbl_8013DC14)
|
||||
/* AF88F4 80081754 002E0821 */ addu $at, $at, $t6
|
||||
/* AF88F8 80081758 8C2EDC14 */ lw $t6, %lo(jtbl_8013DC14)($at)
|
||||
/* AF88FC 8008175C 01C00008 */ jr $t6
|
||||
/* AF8900 80081760 00000000 */ nop
|
||||
.L80081764:
|
||||
/* AF8904 80081764 2C41000A */ sltiu $at, $v0, 0xa
|
||||
/* AF8908 80081768 102002AC */ beqz $at, .L8008221C
|
||||
/* AF890C 8008176C 00027880 */ sll $t7, $v0, 2
|
||||
/* AF8910 80081770 3C018014 */ lui $at, %hi(jtbl_8013DC64)
|
||||
/* AF8914 80081774 002F0821 */ addu $at, $at, $t7
|
||||
/* AF8918 80081778 8C2FDC64 */ lw $t7, %lo(jtbl_8013DC64)($at)
|
||||
/* AF891C 8008177C 01E00008 */ jr $t7
|
||||
/* AF8920 80081780 00000000 */ nop
|
||||
glabel L80081784
|
||||
/* AF8924 80081784 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
|
||||
/* AF8928 80081788 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
|
||||
/* AF892C 8008178C 8FAE0110 */ lw $t6, 0x110($sp)
|
||||
/* AF8930 80081790 87380DD2 */ lh $t8, 0xdd2($t9)
|
||||
/* AF8934 80081794 57000091 */ bnezl $t8, .L800819DC
|
||||
/* AF8938 80081798 8FAE0110 */ lw $t6, 0x110($sp)
|
||||
/* AF893C 8008179C 8DC40000 */ lw $a0, ($t6)
|
||||
/* AF8940 800817A0 0C025148 */ jal func_80094520
|
||||
/* AF8944 800817A4 AFA800FC */ sw $t0, 0xfc($sp)
|
||||
/* AF8948 800817A8 8FA800FC */ lw $t0, 0xfc($sp)
|
||||
/* AF894C 800817AC 3C19FC61 */ lui $t9, (0xFC6196C3 >> 16) # lui $t9, 0xfc61
|
||||
/* AF8950 800817B0 3C18FF2F */ lui $t8, (0xFF2FFFFF >> 16) # lui $t8, 0xff2f
|
||||
/* AF8954 800817B4 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8958 800817B8 3718FFFF */ ori $t8, (0xFF2FFFFF & 0xFFFF) # ori $t8, $t8, 0xffff
|
||||
/* AF895C 800817BC 373996C3 */ ori $t9, (0xFC6196C3 & 0xFFFF) # ori $t9, $t9, 0x96c3
|
||||
/* AF8960 800817C0 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8964 800817C4 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8968 800817C8 AC780004 */ sw $t8, 4($v1)
|
||||
/* AF896C 800817CC AC790000 */ sw $t9, ($v1)
|
||||
/* AF8970 800817D0 8FAE0100 */ lw $t6, 0x100($sp)
|
||||
/* AF8974 800817D4 3C0F8016 */ lui $t7, %hi(gSaveContext) # $t7, 0x8016
|
||||
/* AF8978 800817D8 25EFE660 */ addiu $t7, %lo(gSaveContext) # addiu $t7, $t7, -0x19a0
|
||||
/* AF897C 800817DC 3C198012 */ lui $t9, %hi(gBitFlags+8) # $t9, 0x8012
|
||||
/* AF8980 800817E0 01CF3021 */ addu $a2, $t6, $t7
|
||||
/* AF8984 800817E4 90C200A8 */ lbu $v0, 0xa8($a2)
|
||||
/* AF8988 800817E8 8F397128 */ lw $t9, %lo(gBitFlags+8)($t9)
|
||||
/* AF898C 800817EC 0322C024 */ and $t8, $t9, $v0
|
||||
/* AF8990 800817F0 1300006D */ beqz $t8, .L800819A8
|
||||
/* AF8994 800817F4 00000000 */ nop
|
||||
/* AF8998 800817F8 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF899C 800817FC 3C0FFA00 */ lui $t7, 0xfa00
|
||||
/* AF89A0 80081800 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF89A4 80081804 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF89A8 80081808 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF89AC 8008180C AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF89B0 80081810 8FA50110 */ lw $a1, 0x110($sp)
|
||||
/* AF89B4 80081814 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF89B8 80081818 3C0A0700 */ lui $t2, 0x700
|
||||
/* AF89BC 8008181C 00A12821 */ addu $a1, $a1, $at
|
||||
/* AF89C0 80081820 94B90254 */ lhu $t9, 0x254($a1)
|
||||
/* AF89C4 80081824 3C0164FF */ lui $at, (0x64FFFF00 >> 16) # lui $at, 0x64ff
|
||||
/* AF89C8 80081828 3421FF00 */ ori $at, (0x64FFFF00 & 0xFFFF) # ori $at, $at, 0xff00
|
||||
/* AF89CC 8008182C 333800FF */ andi $t8, $t9, 0xff
|
||||
/* AF89D0 80081830 03017025 */ or $t6, $t8, $at
|
||||
/* AF89D4 80081834 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF89D8 80081838 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF89DC 8008183C 3C19FD90 */ lui $t9, 0xfd90
|
||||
/* AF89E0 80081840 3C0BE700 */ lui $t3, 0xe700
|
||||
/* AF89E4 80081844 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF89E8 80081848 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF89EC 8008184C AC790000 */ sw $t9, ($v1)
|
||||
/* AF89F0 80081850 8CB8013C */ lw $t8, 0x13c($a1)
|
||||
/* AF89F4 80081854 3C0FF590 */ lui $t7, 0xf590
|
||||
/* AF89F8 80081858 3C0CF200 */ lui $t4, 0xf200
|
||||
/* AF89FC 8008185C AC780004 */ sw $t8, 4($v1)
|
||||
/* AF8A00 80081860 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A04 80081864 3C18E600 */ lui $t8, 0xe600
|
||||
/* AF8A08 80081868 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8A0C 8008186C 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF8A10 80081870 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8A14 80081874 AC6A0004 */ sw $t2, 4($v1)
|
||||
/* AF8A18 80081878 AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF8A1C 8008187C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A20 80081880 3C0FF300 */ lui $t7, 0xf300
|
||||
/* AF8A24 80081884 3C01E400 */ lui $at, 0xe400
|
||||
/* AF8A28 80081888 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8A2C 8008188C AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8A30 80081890 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8A34 80081894 AC780000 */ sw $t8, ($v1)
|
||||
/* AF8A38 80081898 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A3C 8008189C 3C19077F */ lui $t9, (0x077F7156 >> 16) # lui $t9, 0x77f
|
||||
/* AF8A40 800818A0 37397156 */ ori $t9, (0x077F7156 & 0xFFFF) # ori $t9, $t9, 0x7156
|
||||
/* AF8A44 800818A4 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF8A48 800818A8 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8A4C 800818AC AC790004 */ sw $t9, 4($v1)
|
||||
/* AF8A50 800818B0 AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF8A54 800818B4 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A58 800818B8 3C0FF580 */ lui $t7, (0xF5800C00 >> 16) # lui $t7, 0xf580
|
||||
/* AF8A5C 800818BC 35EF0C00 */ ori $t7, (0xF5800C00 & 0xFFFF) # ori $t7, $t7, 0xc00
|
||||
/* AF8A60 800818C0 24780008 */ addiu $t8, $v1, 8
|
||||
/* AF8A64 800818C4 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AF8A68 800818C8 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8A6C 800818CC AC6B0000 */ sw $t3, ($v1)
|
||||
/* AF8A70 800818D0 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A74 800818D4 3C180017 */ lui $t8, (0x0017C150 >> 16) # lui $t8, 0x17
|
||||
/* AF8A78 800818D8 3718C150 */ ori $t8, (0x0017C150 & 0xFFFF) # ori $t8, $t8, 0xc150
|
||||
/* AF8A7C 800818DC 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF8A80 800818E0 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8A84 800818E4 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8A88 800818E8 AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF8A8C 800818EC 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8A90 800818F0 3C0DE100 */ lui $t5, 0xe100
|
||||
/* AF8A94 800818F4 3C1FF100 */ lui $ra, 0xf100
|
||||
/* AF8A98 800818F8 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8A9C 800818FC AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8AA0 80081900 AC780004 */ sw $t8, 4($v1)
|
||||
/* AF8AA4 80081904 AC6C0000 */ sw $t4, ($v1)
|
||||
/* AF8AA8 80081908 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8AAC 8008190C 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF8AB0 80081910 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8AB4 80081914 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8AB8 80081918 844F0E1E */ lh $t7, 0xe1e($v0)
|
||||
/* AF8ABC 8008191C 25F90055 */ addiu $t9, $t7, 0x55
|
||||
/* AF8AC0 80081920 0019C080 */ sll $t8, $t9, 2
|
||||
/* AF8AC4 80081924 84590E1C */ lh $t9, 0xe1c($v0)
|
||||
/* AF8AC8 80081928 330E0FFF */ andi $t6, $t8, 0xfff
|
||||
/* AF8ACC 8008192C 01C17825 */ or $t7, $t6, $at
|
||||
/* AF8AD0 80081930 27380060 */ addiu $t8, $t9, 0x60
|
||||
/* AF8AD4 80081934 00187080 */ sll $t6, $t8, 2
|
||||
/* AF8AD8 80081938 31D90FFF */ andi $t9, $t6, 0xfff
|
||||
/* AF8ADC 8008193C 0019C300 */ sll $t8, $t9, 0xc
|
||||
/* AF8AE0 80081940 01F87025 */ or $t6, $t7, $t8
|
||||
/* AF8AE4 80081944 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8AE8 80081948 AC6E0000 */ sw $t6, ($v1)
|
||||
/* AF8AEC 8008194C 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8AF0 80081950 84590E1E */ lh $t9, 0xe1e($v0)
|
||||
/* AF8AF4 80081954 844E0E1C */ lh $t6, 0xe1c($v0)
|
||||
/* AF8AF8 80081958 00197880 */ sll $t7, $t9, 2
|
||||
/* AF8AFC 8008195C 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* AF8B00 80081960 000EC880 */ sll $t9, $t6, 2
|
||||
/* AF8B04 80081964 332F0FFF */ andi $t7, $t9, 0xfff
|
||||
/* AF8B08 80081968 000F7300 */ sll $t6, $t7, 0xc
|
||||
/* AF8B0C 8008196C 030EC825 */ or $t9, $t8, $t6
|
||||
/* AF8B10 80081970 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF8B14 80081974 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8B18 80081978 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
|
||||
/* AF8B1C 8008197C 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
|
||||
/* AF8B20 80081980 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8B24 80081984 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8B28 80081988 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8B2C 8008198C AC6D0000 */ sw $t5, ($v1)
|
||||
/* AF8B30 80081990 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8B34 80081994 24780008 */ addiu $t8, $v1, 8
|
||||
/* AF8B38 80081998 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AF8B3C 8008199C AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF8B40 800819A0 AC7F0000 */ sw $ra, ($v1)
|
||||
/* AF8B44 800819A4 90C200A8 */ lbu $v0, 0xa8($a2)
|
||||
.L800819A8:
|
||||
/* AF8B48 800819A8 3C198012 */ lui $t9, %hi(gBitFlags+4) # $t9, 0x8012
|
||||
/* AF8B4C 800819AC 8F397124 */ lw $t9, %lo(gBitFlags+4)($t9)
|
||||
/* AF8B50 800819B0 03227824 */ and $t7, $t9, $v0
|
||||
/* AF8B54 800819B4 51E00009 */ beql $t7, $zero, .L800819DC
|
||||
/* AF8B58 800819B8 8FAE0110 */ lw $t6, 0x110($sp)
|
||||
/* AF8B5C 800819BC 0C020490 */ jal func_80081240
|
||||
/* AF8B60 800819C0 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* AF8B64 800819C4 8FB80110 */ lw $t8, 0x110($sp)
|
||||
/* AF8B68 800819C8 0C025148 */ jal func_80094520
|
||||
/* AF8B6C 800819CC 8F040000 */ lw $a0, ($t8)
|
||||
/* AF8B70 800819D0 0C01EE33 */ jal MapMark_DrawConditionally
|
||||
/* AF8B74 800819D4 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* AF8B78 800819D8 8FAE0110 */ lw $t6, 0x110($sp)
|
||||
.L800819DC:
|
||||
/* AF8B7C 800819DC 2401FFDF */ li $at, -33
|
||||
/* AF8B80 800819E0 95D90020 */ lhu $t9, 0x20($t6)
|
||||
/* AF8B84 800819E4 03217827 */ nor $t7, $t9, $at
|
||||
/* AF8B88 800819E8 55E0020D */ bnezl $t7, .L80082220
|
||||
/* AF8B8C 800819EC 8FAF0110 */ lw $t7, 0x110($sp)
|
||||
/* AF8B90 800819F0 0C02FF21 */ jal Gameplay_InCsMode
|
||||
/* AF8B94 800819F4 01C02025 */ move $a0, $t6
|
||||
/* AF8B98 800819F8 54400209 */ bnezl $v0, .L80082220
|
||||
/* AF8B9C 800819FC 8FAF0110 */ lw $t7, 0x110($sp)
|
||||
/* AF8BA0 80081A00 0C02FF21 */ jal Gameplay_InCsMode
|
||||
/* AF8BA4 80081A04 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* AF8BA8 80081A08 3C048014 */ lui $a0, %hi(D_8013D968) # $a0, 0x8014
|
||||
/* AF8BAC 80081A0C 2484D968 */ addiu $a0, %lo(D_8013D968) # addiu $a0, $a0, -0x2698
|
||||
/* AF8BB0 80081A10 0C00084C */ jal osSyncPrintf
|
||||
/* AF8BB4 80081A14 00402825 */ move $a1, $v0
|
||||
/* AF8BB8 80081A18 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
|
||||
/* AF8BBC 80081A1C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
|
||||
/* AF8BC0 80081A20 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* AF8BC4 80081A24 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* AF8BC8 80081A28 87190DD2 */ lh $t9, 0xdd2($t8)
|
||||
/* AF8BCC 80081A2C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* AF8BD0 80081A30 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* AF8BD4 80081A34 1720000E */ bnez $t9, .L80081A70
|
||||
/* AF8BD8 80081A38 24044814 */ li $a0, 18452
|
||||
/* AF8BDC 80081A3C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* AF8BE0 80081A40 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
|
||||
/* AF8BE4 80081A44 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
|
||||
/* AF8BE8 80081A48 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* AF8BEC 80081A4C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* AF8BF0 80081A50 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* AF8BF4 80081A54 AFA70010 */ sw $a3, 0x10($sp)
|
||||
/* AF8BF8 80081A58 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* AF8BFC 80081A5C 24044813 */ li $a0, 18451
|
||||
/* AF8C00 80081A60 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* AF8C04 80081A64 24060004 */ li $a2, 4
|
||||
/* AF8C08 80081A68 10000007 */ b .L80081A88
|
||||
/* AF8C0C 80081A6C 00000000 */ nop
|
||||
.L80081A70:
|
||||
/* AF8C10 80081A70 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013
|
||||
/* AF8C14 80081A74 25CE33E8 */ addiu $t6, %lo(D_801333E8) # addiu $t6, $t6, 0x33e8
|
||||
/* AF8C18 80081A78 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* AF8C1C 80081A7C 24060004 */ li $a2, 4
|
||||
/* AF8C20 80081A80 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* AF8C24 80081A84 AFA70010 */ sw $a3, 0x10($sp)
|
||||
.L80081A88:
|
||||
/* AF8C28 80081A88 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8C2C 80081A8C 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8C30 80081A90 84580DD2 */ lh $t8, 0xdd2($v0)
|
||||
/* AF8C34 80081A94 3B190001 */ xori $t9, $t8, 1
|
||||
/* AF8C38 80081A98 100001E0 */ b .L8008221C
|
||||
/* AF8C3C 80081A9C A4590DD2 */ sh $t9, 0xdd2($v0)
|
||||
glabel L80081AA0
|
||||
/* AF8C40 80081AA0 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
|
||||
/* AF8C44 80081AA4 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
|
||||
/* AF8C48 80081AA8 8FB80110 */ lw $t8, 0x110($sp)
|
||||
/* AF8C4C 80081AAC 85EE0DD2 */ lh $t6, 0xdd2($t7)
|
||||
/* AF8C50 80081AB0 55C001B1 */ bnezl $t6, .L80082178
|
||||
/* AF8C54 80081AB4 8FB90110 */ lw $t9, 0x110($sp)
|
||||
/* AF8C58 80081AB8 8F040000 */ lw $a0, ($t8)
|
||||
/* AF8C5C 80081ABC 0C025148 */ jal func_80094520
|
||||
/* AF8C60 80081AC0 AFA800FC */ sw $t0, 0xfc($sp)
|
||||
/* AF8C64 80081AC4 8FA800FC */ lw $t0, 0xfc($sp)
|
||||
/* AF8C68 80081AC8 3C0FFC11 */ lui $t7, (0xFC119623 >> 16) # lui $t7, 0xfc11
|
||||
/* AF8C6C 80081ACC 3C0EFF2F */ lui $t6, (0xFF2FFFFF >> 16) # lui $t6, 0xff2f
|
||||
/* AF8C70 80081AD0 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8C74 80081AD4 35CEFFFF */ ori $t6, (0xFF2FFFFF & 0xFFFF) # ori $t6, $t6, 0xffff
|
||||
/* AF8C78 80081AD8 35EF9623 */ ori $t7, (0xFC119623 & 0xFFFF) # ori $t7, $t7, 0x9623
|
||||
/* AF8C7C 80081ADC 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8C80 80081AE0 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8C84 80081AE4 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF8C88 80081AE8 AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF8C8C 80081AEC 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8C90 80081AF0 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* AF8C94 80081AF4 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8C98 80081AF8 24780008 */ addiu $t8, $v1, 8
|
||||
/* AF8C9C 80081AFC AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AF8CA0 80081B00 AC790000 */ sw $t9, ($v1)
|
||||
/* AF8CA4 80081B04 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8CA8 80081B08 8FA50110 */ lw $a1, 0x110($sp)
|
||||
/* AF8CAC 80081B0C 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF8CB0 80081B10 844F0F3C */ lh $t7, 0xf3c($v0)
|
||||
/* AF8CB4 80081B14 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF8CB8 80081B18 00A12821 */ addu $a1, $a1, $at
|
||||
/* AF8CBC 80081B1C 31EE00FF */ andi $t6, $t7, 0xff
|
||||
/* AF8CC0 80081B20 844F0F38 */ lh $t7, 0xf38($v0)
|
||||
/* AF8CC4 80081B24 000EC200 */ sll $t8, $t6, 8
|
||||
/* AF8CC8 80081B28 3C0A0700 */ lui $t2, 0x700
|
||||
/* AF8CCC 80081B2C 000F7600 */ sll $t6, $t7, 0x18
|
||||
/* AF8CD0 80081B30 844F0F3A */ lh $t7, 0xf3a($v0)
|
||||
/* AF8CD4 80081B34 030EC825 */ or $t9, $t8, $t6
|
||||
/* AF8CD8 80081B38 3C098016 */ lui $t1, %hi(D_8015FFD0) # $t1, 0x8016
|
||||
/* AF8CDC 80081B3C 31F800FF */ andi $t8, $t7, 0xff
|
||||
/* AF8CE0 80081B40 00187400 */ sll $t6, $t8, 0x10
|
||||
/* AF8CE4 80081B44 94B80254 */ lhu $t8, 0x254($a1)
|
||||
/* AF8CE8 80081B48 032E7825 */ or $t7, $t9, $t6
|
||||
/* AF8CEC 80081B4C 2529FFD0 */ addiu $t1, %lo(D_8015FFD0) # addiu $t1, $t1, -0x30
|
||||
/* AF8CF0 80081B50 331900FF */ andi $t9, $t8, 0xff
|
||||
/* AF8CF4 80081B54 01F97025 */ or $t6, $t7, $t9
|
||||
/* AF8CF8 80081B58 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF8CFC 80081B5C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8D00 80081B60 3C0FFD70 */ lui $t7, 0xfd70
|
||||
/* AF8D04 80081B64 24780008 */ addiu $t8, $v1, 8
|
||||
/* AF8D08 80081B68 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AF8D0C 80081B6C AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF8D10 80081B70 8CB9013C */ lw $t9, 0x13c($a1)
|
||||
/* AF8D14 80081B74 3C18F570 */ lui $t8, 0xf570
|
||||
/* AF8D18 80081B78 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF8D1C 80081B7C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8D20 80081B80 3C19E600 */ lui $t9, 0xe600
|
||||
/* AF8D24 80081B84 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF8D28 80081B88 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8D2C 80081B8C AC6A0004 */ sw $t2, 4($v1)
|
||||
/* AF8D30 80081B90 AC780000 */ sw $t8, ($v1)
|
||||
/* AF8D34 80081B94 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8D38 80081B98 3C18F300 */ lui $t8, 0xf300
|
||||
/* AF8D3C 80081B9C 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8D40 80081BA0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8D44 80081BA4 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8D48 80081BA8 AC790000 */ sw $t9, ($v1)
|
||||
/* AF8D4C 80081BAC 8D0702B0 */ lw $a3, 0x2b0($t0)
|
||||
/* AF8D50 80081BB0 24EE0008 */ addiu $t6, $a3, 8
|
||||
/* AF8D54 80081BB4 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF8D58 80081BB8 ACF80000 */ sw $t8, ($a3)
|
||||
/* AF8D5C 80081BBC 8D240000 */ lw $a0, ($t1)
|
||||
/* AF8D60 80081BC0 8FA60100 */ lw $a2, 0x100($sp)
|
||||
/* AF8D64 80081BC4 8C8F0040 */ lw $t7, 0x40($a0)
|
||||
/* AF8D68 80081BC8 8C8E0044 */ lw $t6, 0x44($a0)
|
||||
/* AF8D6C 80081BCC 00063040 */ sll $a2, $a2, 1
|
||||
/* AF8D70 80081BD0 01E6C821 */ addu $t9, $t7, $a2
|
||||
/* AF8D74 80081BD4 01C6C021 */ addu $t8, $t6, $a2
|
||||
/* AF8D78 80081BD8 870F0000 */ lh $t7, ($t8)
|
||||
/* AF8D7C 80081BDC 87220000 */ lh $v0, ($t9)
|
||||
/* AF8D80 80081BE0 240407FF */ li $a0, 2047
|
||||
/* AF8D84 80081BE4 01E20019 */ multu $t7, $v0
|
||||
/* AF8D88 80081BE8 00002812 */ mflo $a1
|
||||
/* AF8D8C 80081BEC 24A50003 */ addiu $a1, $a1, 3
|
||||
/* AF8D90 80081BF0 00052883 */ sra $a1, $a1, 2
|
||||
/* AF8D94 80081BF4 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* AF8D98 80081BF8 28A107FF */ slti $at, $a1, 0x7ff
|
||||
/* AF8D9C 80081BFC 10200003 */ beqz $at, .L80081C0C
|
||||
/* AF8DA0 80081C00 00000000 */ nop
|
||||
/* AF8DA4 80081C04 10000001 */ b .L80081C0C
|
||||
/* AF8DA8 80081C08 00A02025 */ move $a0, $a1
|
||||
.L80081C0C:
|
||||
/* AF8DAC 80081C0C 04410003 */ bgez $v0, .L80081C1C
|
||||
/* AF8DB0 80081C10 00021903 */ sra $v1, $v0, 4
|
||||
/* AF8DB4 80081C14 2441000F */ addiu $at, $v0, 0xf
|
||||
/* AF8DB8 80081C18 00011903 */ sra $v1, $at, 4
|
||||
.L80081C1C:
|
||||
/* AF8DBC 80081C1C 1C600003 */ bgtz $v1, .L80081C2C
|
||||
/* AF8DC0 80081C20 00602825 */ move $a1, $v1
|
||||
/* AF8DC4 80081C24 10000001 */ b .L80081C2C
|
||||
/* AF8DC8 80081C28 24050001 */ li $a1, 1
|
||||
.L80081C2C:
|
||||
/* AF8DCC 80081C2C 1C600003 */ bgtz $v1, .L80081C3C
|
||||
/* AF8DD0 80081C30 24B907FF */ addiu $t9, $a1, 0x7ff
|
||||
/* AF8DD4 80081C34 10000002 */ b .L80081C40
|
||||
/* AF8DD8 80081C38 24020001 */ li $v0, 1
|
||||
.L80081C3C:
|
||||
/* AF8DDC 80081C3C 00601025 */ move $v0, $v1
|
||||
.L80081C40:
|
||||
/* AF8DE0 80081C40 0322001A */ div $zero, $t9, $v0
|
||||
/* AF8DE4 80081C44 00007012 */ mflo $t6
|
||||
/* AF8DE8 80081C48 31D80FFF */ andi $t8, $t6, 0xfff
|
||||
/* AF8DEC 80081C4C 14400002 */ bnez $v0, .L80081C58
|
||||
/* AF8DF0 80081C50 00000000 */ nop
|
||||
/* AF8DF4 80081C54 0007000D */ break 7
|
||||
.L80081C58:
|
||||
/* AF8DF8 80081C58 2401FFFF */ li $at, -1
|
||||
/* AF8DFC 80081C5C 14410004 */ bne $v0, $at, .L80081C70
|
||||
/* AF8E00 80081C60 3C018000 */ lui $at, 0x8000
|
||||
/* AF8E04 80081C64 17210002 */ bne $t9, $at, .L80081C70
|
||||
/* AF8E08 80081C68 00000000 */ nop
|
||||
/* AF8E0C 80081C6C 0006000D */ break 6
|
||||
.L80081C70:
|
||||
/* AF8E10 80081C70 30990FFF */ andi $t9, $a0, 0xfff
|
||||
/* AF8E14 80081C74 00197300 */ sll $t6, $t9, 0xc
|
||||
/* AF8E18 80081C78 030A7825 */ or $t7, $t8, $t2
|
||||
/* AF8E1C 80081C7C 01EEC025 */ or $t8, $t7, $t6
|
||||
/* AF8E20 80081C80 ACF80004 */ sw $t8, 4($a3)
|
||||
/* AF8E24 80081C84 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8E28 80081C88 3C0BE700 */ lui $t3, 0xe700
|
||||
/* AF8E2C 80081C8C 3C01F560 */ lui $at, 0xf560
|
||||
/* AF8E30 80081C90 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8E34 80081C94 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8E38 80081C98 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8E3C 80081C9C AC6B0000 */ sw $t3, ($v1)
|
||||
/* AF8E40 80081CA0 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8E44 80081CA4 3C0CF200 */ lui $t4, 0xf200
|
||||
/* AF8E48 80081CA8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8E4C 80081CAC 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8E50 80081CB0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8E54 80081CB4 8D2E0000 */ lw $t6, ($t1)
|
||||
/* AF8E58 80081CB8 3C0DE100 */ lui $t5, 0xe100
|
||||
/* AF8E5C 80081CBC 3C1FF100 */ lui $ra, 0xf100
|
||||
/* AF8E60 80081CC0 8DD80040 */ lw $t8, 0x40($t6)
|
||||
/* AF8E64 80081CC4 0306C821 */ addu $t9, $t8, $a2
|
||||
/* AF8E68 80081CC8 872F0000 */ lh $t7, ($t9)
|
||||
/* AF8E6C 80081CCC AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8E70 80081CD0 000F7043 */ sra $t6, $t7, 1
|
||||
/* AF8E74 80081CD4 25D80007 */ addiu $t8, $t6, 7
|
||||
/* AF8E78 80081CD8 0018C8C3 */ sra $t9, $t8, 3
|
||||
/* AF8E7C 80081CDC 332F01FF */ andi $t7, $t9, 0x1ff
|
||||
/* AF8E80 80081CE0 000F7240 */ sll $t6, $t7, 9
|
||||
/* AF8E84 80081CE4 01C1C025 */ or $t8, $t6, $at
|
||||
/* AF8E88 80081CE8 AC780000 */ sw $t8, ($v1)
|
||||
/* AF8E8C 80081CEC 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8E90 80081CF0 3C01E400 */ lui $at, 0xe400
|
||||
/* AF8E94 80081CF4 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8E98 80081CF8 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8E9C 80081CFC AC6C0000 */ sw $t4, ($v1)
|
||||
/* AF8EA0 80081D00 8D240000 */ lw $a0, ($t1)
|
||||
/* AF8EA4 80081D04 8C8F0044 */ lw $t7, 0x44($a0)
|
||||
/* AF8EA8 80081D08 01E67021 */ addu $t6, $t7, $a2
|
||||
/* AF8EAC 80081D0C 85D80000 */ lh $t8, ($t6)
|
||||
/* AF8EB0 80081D10 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* AF8EB4 80081D14 8C980040 */ lw $t8, 0x40($a0)
|
||||
/* AF8EB8 80081D18 00197880 */ sll $t7, $t9, 2
|
||||
/* AF8EBC 80081D1C 31EE0FFF */ andi $t6, $t7, 0xfff
|
||||
/* AF8EC0 80081D20 0306C821 */ addu $t9, $t8, $a2
|
||||
/* AF8EC4 80081D24 872F0000 */ lh $t7, ($t9)
|
||||
/* AF8EC8 80081D28 25F8FFFF */ addiu $t8, $t7, -1
|
||||
/* AF8ECC 80081D2C 0018C880 */ sll $t9, $t8, 2
|
||||
/* AF8ED0 80081D30 332F0FFF */ andi $t7, $t9, 0xfff
|
||||
/* AF8ED4 80081D34 000FC300 */ sll $t8, $t7, 0xc
|
||||
/* AF8ED8 80081D38 01D8C825 */ or $t9, $t6, $t8
|
||||
/* AF8EDC 80081D3C AC790004 */ sw $t9, 4($v1)
|
||||
/* AF8EE0 80081D40 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8EE4 80081D44 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8EE8 80081D48 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8EEC 80081D4C 8D240000 */ lw $a0, ($t1)
|
||||
/* AF8EF0 80081D50 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8EF4 80081D54 00602825 */ move $a1, $v1
|
||||
/* AF8EF8 80081D58 8C8E0044 */ lw $t6, 0x44($a0)
|
||||
/* AF8EFC 80081D5C 844F0DD0 */ lh $t7, 0xdd0($v0)
|
||||
/* AF8F00 80081D60 01C6C021 */ addu $t8, $t6, $a2
|
||||
/* AF8F04 80081D64 87190000 */ lh $t9, ($t8)
|
||||
/* AF8F08 80081D68 032F7021 */ addu $t6, $t9, $t7
|
||||
/* AF8F0C 80081D6C 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF8F10 80081D70 33190FFF */ andi $t9, $t8, 0xfff
|
||||
/* AF8F14 80081D74 8C980040 */ lw $t8, 0x40($a0)
|
||||
/* AF8F18 80081D78 03217825 */ or $t7, $t9, $at
|
||||
/* AF8F1C 80081D7C 844E0DCE */ lh $t6, 0xdce($v0)
|
||||
/* AF8F20 80081D80 0306C821 */ addu $t9, $t8, $a2
|
||||
/* AF8F24 80081D84 87380000 */ lh $t8, ($t9)
|
||||
/* AF8F28 80081D88 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF8F2C 80081D8C 24010052 */ li $at, 82
|
||||
/* AF8F30 80081D90 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* AF8F34 80081D94 00197080 */ sll $t6, $t9, 2
|
||||
/* AF8F38 80081D98 31D80FFF */ andi $t8, $t6, 0xfff
|
||||
/* AF8F3C 80081D9C 0018CB00 */ sll $t9, $t8, 0xc
|
||||
/* AF8F40 80081DA0 01F97025 */ or $t6, $t7, $t9
|
||||
/* AF8F44 80081DA4 AC6E0000 */ sw $t6, ($v1)
|
||||
/* AF8F48 80081DA8 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF8F4C 80081DAC 84580DD0 */ lh $t8, 0xdd0($v0)
|
||||
/* AF8F50 80081DB0 844E0DCE */ lh $t6, 0xdce($v0)
|
||||
/* AF8F54 80081DB4 00187880 */ sll $t7, $t8, 2
|
||||
/* AF8F58 80081DB8 31F90FFF */ andi $t9, $t7, 0xfff
|
||||
/* AF8F5C 80081DBC 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF8F60 80081DC0 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AF8F64 80081DC4 000F7300 */ sll $t6, $t7, 0xc
|
||||
/* AF8F68 80081DC8 032EC025 */ or $t8, $t9, $t6
|
||||
/* AF8F6C 80081DCC AC780004 */ sw $t8, 4($v1)
|
||||
/* AF8F70 80081DD0 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8F74 80081DD4 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
|
||||
/* AF8F78 80081DD8 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
|
||||
/* AF8F7C 80081DDC 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF8F80 80081DE0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF8F84 80081DE4 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF8F88 80081DE8 AC6D0000 */ sw $t5, ($v1)
|
||||
/* AF8F8C 80081DEC 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF8F90 80081DF0 3C0F8016 */ lui $t7, %hi(gSaveContext+4) # $t7, 0x8016
|
||||
/* AF8F94 80081DF4 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF8F98 80081DF8 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF8F9C 80081DFC AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF8FA0 80081E00 AC7F0000 */ sw $ra, ($v1)
|
||||
/* AF8FA4 80081E04 8FB80110 */ lw $t8, 0x110($sp)
|
||||
/* AF8FA8 80081E08 00601025 */ move $v0, $v1
|
||||
/* AF8FAC 80081E0C 870400A4 */ lh $a0, 0xa4($t8)
|
||||
/* AF8FB0 80081E10 10810005 */ beq $a0, $at, .L80081E28
|
||||
/* AF8FB4 80081E14 24010055 */ li $at, 85
|
||||
/* AF8FB8 80081E18 10810003 */ beq $a0, $at, .L80081E28
|
||||
/* AF8FBC 80081E1C 24010059 */ li $at, 89
|
||||
/* AF8FC0 80081E20 5481000B */ bnel $a0, $at, .L80081E50
|
||||
/* AF8FC4 80081E24 8D390000 */ lw $t9, ($t1)
|
||||
.L80081E28:
|
||||
/* AF8FC8 80081E28 8DEFE664 */ lw $t7, %lo(gSaveContext+4)($t7)
|
||||
/* AF8FCC 80081E2C 24010011 */ li $at, 17
|
||||
/* AF8FD0 80081E30 24020011 */ li $v0, 17
|
||||
/* AF8FD4 80081E34 11E00003 */ beqz $t7, .L80081E44
|
||||
/* AF8FD8 80081E38 00000000 */ nop
|
||||
/* AF8FDC 80081E3C 10000001 */ b .L80081E44
|
||||
/* AF8FE0 80081E40 24020005 */ li $v0, 5
|
||||
.L80081E44:
|
||||
/* AF8FE4 80081E44 5041007D */ beql $v0, $at, .L8008203C
|
||||
/* AF8FE8 80081E48 24010059 */ li $at, 89
|
||||
/* AF8FEC 80081E4C 8D390000 */ lw $t9, ($t1)
|
||||
.L80081E50:
|
||||
/* AF8FF0 80081E50 3C078012 */ lui $a3, %hi(D_80123A5C) # $a3, 0x8012
|
||||
/* AF8FF4 80081E54 24E73A5C */ addiu $a3, %lo(D_80123A5C) # addiu $a3, $a3, 0x3a5c
|
||||
/* AF8FF8 80081E58 84EE0000 */ lh $t6, ($a3)
|
||||
/* AF8FFC 80081E5C 8F220050 */ lw $v0, 0x50($t9)
|
||||
/* AF9000 80081E60 3405FFFF */ li $a1, 65535
|
||||
/* AF9004 80081E64 000EC040 */ sll $t8, $t6, 1
|
||||
/* AF9008 80081E68 00587821 */ addu $t7, $v0, $t8
|
||||
/* AF900C 80081E6C 95E30000 */ lhu $v1, ($t7)
|
||||
/* AF9010 80081E70 50A3000E */ beql $a1, $v1, .L80081EAC
|
||||
/* AF9014 80081E74 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9018 80081E78 10A3006F */ beq $a1, $v1, .L80082038
|
||||
/* AF901C 80081E7C 0046C821 */ addu $t9, $v0, $a2
|
||||
/* AF9020 80081E80 972E0000 */ lhu $t6, ($t9)
|
||||
/* AF9024 80081E84 3C0F8012 */ lui $t7, %hi(gBitFlags)
|
||||
/* AF9028 80081E88 3C198016 */ lui $t9, %hi(gSaveContext+0xf2c) # $t9, 0x8016
|
||||
/* AF902C 80081E8C 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF9030 80081E90 01F87821 */ addu $t7, $t7, $t8
|
||||
/* AF9034 80081E94 8DEF7120 */ lw $t7, %lo(gBitFlags)($t7)
|
||||
/* AF9038 80081E98 9739F58C */ lhu $t9, %lo(gSaveContext+0xf2c)($t9)
|
||||
/* AF903C 80081E9C 01F97024 */ and $t6, $t7, $t9
|
||||
/* AF9040 80081EA0 51C00066 */ beql $t6, $zero, .L8008203C
|
||||
/* AF9044 80081EA4 24010059 */ li $at, 89
|
||||
/* AF9048 80081EA8 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
.L80081EAC:
|
||||
/* AF904C 80081EAC 3C190200 */ lui $t9, %hi(D_02002500) # $t9, 0x200
|
||||
/* AF9050 80081EB0 27392500 */ addiu $t9, %lo(D_02002500) # addiu $t9, $t9, 0x2500
|
||||
/* AF9054 80081EB4 24780008 */ addiu $t8, $v1, 8
|
||||
/* AF9058 80081EB8 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AF905C 80081EBC 3C0FFD10 */ lui $t7, 0xfd10
|
||||
/* AF9060 80081EC0 AC6F0000 */ sw $t7, ($v1)
|
||||
/* AF9064 80081EC4 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF9068 80081EC8 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF906C 80081ECC 3C18F510 */ lui $t8, 0xf510
|
||||
/* AF9070 80081ED0 3C19E600 */ lui $t9, 0xe600
|
||||
/* AF9074 80081ED4 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF9078 80081ED8 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF907C 80081EDC AC6A0004 */ sw $t2, 4($v1)
|
||||
/* AF9080 80081EE0 AC780000 */ sw $t8, ($v1)
|
||||
/* AF9084 80081EE4 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9088 80081EE8 3C18F300 */ lui $t8, 0xf300
|
||||
/* AF908C 80081EEC 3C01E400 */ lui $at, 0xe400
|
||||
/* AF9090 80081EF0 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF9094 80081EF4 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF9098 80081EF8 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF909C 80081EFC AC790000 */ sw $t9, ($v1)
|
||||
/* AF90A0 80081F00 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF90A4 80081F04 3C0F0703 */ lui $t7, (0x0703F400 >> 16) # lui $t7, 0x703
|
||||
/* AF90A8 80081F08 35EFF400 */ ori $t7, (0x0703F400 & 0xFFFF) # ori $t7, $t7, 0xf400
|
||||
/* AF90AC 80081F0C 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF90B0 80081F10 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF90B4 80081F14 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* AF90B8 80081F18 AC780000 */ sw $t8, ($v1)
|
||||
/* AF90BC 80081F1C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF90C0 80081F20 3C18F510 */ lui $t8, (0xF5100400 >> 16) # lui $t8, 0xf510
|
||||
/* AF90C4 80081F24 37180400 */ ori $t8, (0xF5100400 & 0xFFFF) # ori $t8, $t8, 0x400
|
||||
/* AF90C8 80081F28 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF90CC 80081F2C AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF90D0 80081F30 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF90D4 80081F34 AC6B0000 */ sw $t3, ($v1)
|
||||
/* AF90D8 80081F38 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF90DC 80081F3C 3C190001 */ lui $t9, (0x0001C01C >> 16) # lui $t9, 1
|
||||
/* AF90E0 80081F40 3739C01C */ ori $t9, (0x0001C01C & 0xFFFF) # ori $t9, $t9, 0xc01c
|
||||
/* AF90E4 80081F44 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF90E8 80081F48 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF90EC 80081F4C AC600004 */ sw $zero, 4($v1)
|
||||
/* AF90F0 80081F50 AC780000 */ sw $t8, ($v1)
|
||||
/* AF90F4 80081F54 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF90F8 80081F58 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF90FC 80081F5C AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF9100 80081F60 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF9104 80081F64 AC6C0000 */ sw $t4, ($v1)
|
||||
/* AF9108 80081F68 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF910C 80081F6C 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF9110 80081F70 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF9114 80081F74 8D240000 */ lw $a0, ($t1)
|
||||
/* AF9118 80081F78 84E20000 */ lh $v0, ($a3)
|
||||
/* AF911C 80081F7C 8C98004C */ lw $t8, 0x4c($a0)
|
||||
/* AF9120 80081F80 00021040 */ sll $v0, $v0, 1
|
||||
/* AF9124 80081F84 03027821 */ addu $t7, $t8, $v0
|
||||
/* AF9128 80081F88 85F90000 */ lh $t9, ($t7)
|
||||
/* AF912C 80081F8C 272E0008 */ addiu $t6, $t9, 8
|
||||
/* AF9130 80081F90 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF9134 80081F94 8C8E0048 */ lw $t6, 0x48($a0)
|
||||
/* AF9138 80081F98 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AF913C 80081F9C 01E1C825 */ or $t9, $t7, $at
|
||||
/* AF9140 80081FA0 01C2C021 */ addu $t8, $t6, $v0
|
||||
/* AF9144 80081FA4 870F0000 */ lh $t7, ($t8)
|
||||
/* AF9148 80081FA8 25EE0008 */ addiu $t6, $t7, 8
|
||||
/* AF914C 80081FAC 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF9150 80081FB0 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AF9154 80081FB4 000F7300 */ sll $t6, $t7, 0xc
|
||||
/* AF9158 80081FB8 032EC025 */ or $t8, $t9, $t6
|
||||
/* AF915C 80081FBC AC780000 */ sw $t8, ($v1)
|
||||
/* AF9160 80081FC0 8D240000 */ lw $a0, ($t1)
|
||||
/* AF9164 80081FC4 84E20000 */ lh $v0, ($a3)
|
||||
/* AF9168 80081FC8 8C8F004C */ lw $t7, 0x4c($a0)
|
||||
/* AF916C 80081FCC 00021040 */ sll $v0, $v0, 1
|
||||
/* AF9170 80081FD0 01E2C821 */ addu $t9, $t7, $v0
|
||||
/* AF9174 80081FD4 872E0000 */ lh $t6, ($t9)
|
||||
/* AF9178 80081FD8 8C990048 */ lw $t9, 0x48($a0)
|
||||
/* AF917C 80081FDC 000EC080 */ sll $t8, $t6, 2
|
||||
/* AF9180 80081FE0 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AF9184 80081FE4 03227021 */ addu $t6, $t9, $v0
|
||||
/* AF9188 80081FE8 85D80000 */ lh $t8, ($t6)
|
||||
/* AF918C 80081FEC 0018C880 */ sll $t9, $t8, 2
|
||||
/* AF9190 80081FF0 332E0FFF */ andi $t6, $t9, 0xfff
|
||||
/* AF9194 80081FF4 000EC300 */ sll $t8, $t6, 0xc
|
||||
/* AF9198 80081FF8 01F8C825 */ or $t9, $t7, $t8
|
||||
/* AF919C 80081FFC AC790004 */ sw $t9, 4($v1)
|
||||
/* AF91A0 80082000 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF91A4 80082004 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400
|
||||
/* AF91A8 80082008 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400
|
||||
/* AF91AC 8008200C 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF91B0 80082010 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF91B4 80082014 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF91B8 80082018 AC6D0000 */ sw $t5, ($v1)
|
||||
/* AF91BC 8008201C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF91C0 80082020 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF91C4 80082024 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF91C8 80082028 AC780004 */ sw $t8, 4($v1)
|
||||
/* AF91CC 8008202C AC7F0000 */ sw $ra, ($v1)
|
||||
/* AF91D0 80082030 8FB90110 */ lw $t9, 0x110($sp)
|
||||
/* AF91D4 80082034 872400A4 */ lh $a0, 0xa4($t9)
|
||||
.L80082038:
|
||||
/* AF91D8 80082038 24010059 */ li $at, 89
|
||||
.L8008203C:
|
||||
/* AF91DC 8008203C 1481004B */ bne $a0, $at, .L8008216C
|
||||
/* AF91E0 80082040 3C0E8012 */ lui $t6, %hi(gBitFlags+0x24) # $t6, 0x8012
|
||||
/* AF91E4 80082044 3C0F8016 */ lui $t7, %hi(gSaveContext+0xf2c) # $t7, 0x8016
|
||||
/* AF91E8 80082048 95EFF58C */ lhu $t7, %lo(gSaveContext+0xf2c)($t7)
|
||||
/* AF91EC 8008204C 8DCE7144 */ lw $t6, %lo(gBitFlags+0x24)($t6)
|
||||
/* AF91F0 80082050 3C040200 */ lui $a0, %hi(D_02002500) # $a0, 0x200
|
||||
/* AF91F4 80082054 01CFC024 */ and $t8, $t6, $t7
|
||||
/* AF91F8 80082058 13000044 */ beqz $t8, .L8008216C
|
||||
/* AF91FC 8008205C 00000000 */ nop
|
||||
/* AF9200 80082060 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9204 80082064 24842500 */ addiu $a0, %lo(D_02002500) # addiu $a0, $a0, 0x2500
|
||||
/* AF9208 80082068 3C0EFD10 */ lui $t6, 0xfd10
|
||||
/* AF920C 8008206C 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF9210 80082070 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF9214 80082074 AC640004 */ sw $a0, 4($v1)
|
||||
/* AF9218 80082078 AC6E0000 */ sw $t6, ($v1)
|
||||
/* AF921C 8008207C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9220 80082080 3C18F510 */ lui $t8, 0xf510
|
||||
/* AF9224 80082084 3C0EE600 */ lui $t6, 0xe600
|
||||
/* AF9228 80082088 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF922C 8008208C AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF9230 80082090 AC6A0004 */ sw $t2, 4($v1)
|
||||
/* AF9234 80082094 AC780000 */ sw $t8, ($v1)
|
||||
/* AF9238 80082098 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF923C 8008209C 3C18F300 */ lui $t8, 0xf300
|
||||
/* AF9240 800820A0 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF9244 800820A4 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF9248 800820A8 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF924C 800820AC AC6E0000 */ sw $t6, ($v1)
|
||||
/* AF9250 800820B0 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9254 800820B4 3C190703 */ lui $t9, (0x0703F400 >> 16) # lui $t9, 0x703
|
||||
/* AF9258 800820B8 3739F400 */ ori $t9, (0x0703F400 & 0xFFFF) # ori $t9, $t9, 0xf400
|
||||
/* AF925C 800820BC 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF9260 800820C0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF9264 800820C4 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF9268 800820C8 AC780000 */ sw $t8, ($v1)
|
||||
/* AF926C 800820CC 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF9270 800820D0 3C18F510 */ lui $t8, (0xF5100400 >> 16) # lui $t8, 0xf510
|
||||
/* AF9274 800820D4 37180400 */ ori $t8, (0xF5100400 & 0xFFFF) # ori $t8, $t8, 0x400
|
||||
/* AF9278 800820D8 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF927C 800820DC AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF9280 800820E0 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF9284 800820E4 AC6B0000 */ sw $t3, ($v1)
|
||||
/* AF9288 800820E8 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF928C 800820EC 3C0E0001 */ lui $t6, (0x0001C01C >> 16) # lui $t6, 1
|
||||
/* AF9290 800820F0 35CEC01C */ ori $t6, (0x0001C01C & 0xFFFF) # ori $t6, $t6, 0xc01c
|
||||
/* AF9294 800820F4 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF9298 800820F8 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF929C 800820FC AC600004 */ sw $zero, 4($v1)
|
||||
/* AF92A0 80082100 AC780000 */ sw $t8, ($v1)
|
||||
/* AF92A4 80082104 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF92A8 80082108 3C18E445 */ lui $t8, (0xE4458288 >> 16) # lui $t8, 0xe445
|
||||
/* AF92AC 8008210C 37188288 */ ori $t8, (0xE4458288 & 0xFFFF) # ori $t8, $t8, 0x8288
|
||||
/* AF92B0 80082110 24790008 */ addiu $t9, $v1, 8
|
||||
/* AF92B4 80082114 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AF92B8 80082118 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* AF92BC 8008211C AC6C0000 */ sw $t4, ($v1)
|
||||
/* AF92C0 80082120 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF92C4 80082124 3C190043 */ lui $t9, (0x00438268 >> 16) # lui $t9, 0x43
|
||||
/* AF92C8 80082128 37398268 */ ori $t9, (0x00438268 & 0xFFFF) # ori $t9, $t9, 0x8268
|
||||
/* AF92CC 8008212C 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF92D0 80082130 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF92D4 80082134 AC790004 */ sw $t9, 4($v1)
|
||||
/* AF92D8 80082138 AC780000 */ sw $t8, ($v1)
|
||||
/* AF92DC 8008213C 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF92E0 80082140 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400
|
||||
/* AF92E4 80082144 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400
|
||||
/* AF92E8 80082148 246E0008 */ addiu $t6, $v1, 8
|
||||
/* AF92EC 8008214C AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AF92F0 80082150 AC600004 */ sw $zero, 4($v1)
|
||||
/* AF92F4 80082154 AC6D0000 */ sw $t5, ($v1)
|
||||
/* AF92F8 80082158 8D0302B0 */ lw $v1, 0x2b0($t0)
|
||||
/* AF92FC 8008215C 246F0008 */ addiu $t7, $v1, 8
|
||||
/* AF9300 80082160 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AF9304 80082164 AC780004 */ sw $t8, 4($v1)
|
||||
/* AF9308 80082168 AC7F0000 */ sw $ra, ($v1)
|
||||
.L8008216C:
|
||||
/* AF930C 8008216C 0C020490 */ jal func_80081240
|
||||
/* AF9310 80082170 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* AF9314 80082174 8FB90110 */ lw $t9, 0x110($sp)
|
||||
.L80082178:
|
||||
/* AF9318 80082178 2401FFDF */ li $at, -33
|
||||
/* AF931C 8008217C 972E0020 */ lhu $t6, 0x20($t9)
|
||||
/* AF9320 80082180 01C17827 */ nor $t7, $t6, $at
|
||||
/* AF9324 80082184 55E00026 */ bnezl $t7, .L80082220
|
||||
/* AF9328 80082188 8FAF0110 */ lw $t7, 0x110($sp)
|
||||
/* AF932C 8008218C 0C02FF21 */ jal Gameplay_InCsMode
|
||||
/* AF9330 80082190 03202025 */ move $a0, $t9
|
||||
/* AF9334 80082194 14400021 */ bnez $v0, .L8008221C
|
||||
/* AF9338 80082198 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
|
||||
/* AF933C 8008219C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
|
||||
/* AF9340 800821A0 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* AF9344 800821A4 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* AF9348 800821A8 870E0DD2 */ lh $t6, 0xdd2($t8)
|
||||
/* AF934C 800821AC 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* AF9350 800821B0 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* AF9354 800821B4 15C0000E */ bnez $t6, .L800821F0
|
||||
/* AF9358 800821B8 24044814 */ li $a0, 18452
|
||||
/* AF935C 800821BC 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* AF9360 800821C0 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
|
||||
/* AF9364 800821C4 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
|
||||
/* AF9368 800821C8 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* AF936C 800821CC 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* AF9370 800821D0 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* AF9374 800821D4 AFA70010 */ sw $a3, 0x10($sp)
|
||||
/* AF9378 800821D8 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* AF937C 800821DC 24044813 */ li $a0, 18451
|
||||
/* AF9380 800821E0 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* AF9384 800821E4 24060004 */ li $a2, 4
|
||||
/* AF9388 800821E8 10000007 */ b .L80082208
|
||||
/* AF938C 800821EC 00000000 */ nop
|
||||
.L800821F0:
|
||||
/* AF9390 800821F0 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
|
||||
/* AF9394 800821F4 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
|
||||
/* AF9398 800821F8 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* AF939C 800821FC 24060004 */ li $a2, 4
|
||||
/* AF93A0 80082200 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* AF93A4 80082204 AFA70010 */ sw $a3, 0x10($sp)
|
||||
.L80082208:
|
||||
/* AF93A8 80082208 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* AF93AC 8008220C 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* AF93B0 80082210 84580DD2 */ lh $t8, 0xdd2($v0)
|
||||
/* AF93B4 80082214 3B0E0001 */ xori $t6, $t8, 1
|
||||
/* AF93B8 80082218 A44E0DD2 */ sh $t6, 0xdd2($v0)
|
||||
.L8008221C:
|
||||
/* AF93BC 8008221C 8FAF0110 */ lw $t7, 0x110($sp)
|
||||
.L80082220:
|
||||
/* AF93C0 80082220 3C068014 */ lui $a2, %hi(D_8013D988) # $a2, 0x8014
|
||||
/* AF93C4 80082224 24C6D988 */ addiu $a2, %lo(D_8013D988) # addiu $a2, $a2, -0x2678
|
||||
/* AF93C8 80082228 27A400EC */ addiu $a0, $sp, 0xec
|
||||
/* AF93CC 8008222C 2407030E */ li $a3, 782
|
||||
/* AF93D0 80082230 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* AF93D4 80082234 8DE50000 */ lw $a1, ($t7)
|
||||
/* AF93D8 80082238 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* AF93DC 8008223C 27BD0110 */ addiu $sp, $sp, 0x110
|
||||
/* AF93E0 80082240 03E00008 */ jr $ra
|
||||
/* AF93E4 80082244 00000000 */ nop
|
||||
|
|
@ -46,7 +46,7 @@ glabel jtbl_8013DC8C
|
|||
.word L8008255C
|
||||
|
||||
.text
|
||||
glabel func_8008226C
|
||||
glabel Map_Update
|
||||
/* AF940C 8008226C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* AF9410 80082270 3C010001 */ lui $at, 1
|
||||
/* AF9414 80082274 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
|
@ -86,7 +86,7 @@ glabel L800822DC
|
|||
/* AF9498 800822F8 910900A8 */ lbu $t1, 0xa8($t0)
|
||||
/* AF949C 800822FC 8CF90008 */ lw $t9, 8($a3)
|
||||
/* AF94A0 80082300 0013C0C0 */ sll $t8, $s3, 3
|
||||
/* AF94A4 80082304 3C0C8016 */ lui $t4, %hi(D_8015FFD0) # $t4, 0x8016
|
||||
/* AF94A4 80082304 3C0C8016 */ lui $t4, %hi(gMapData) # $t4, 0x8016
|
||||
/* AF94A8 80082308 03295024 */ and $t2, $t9, $t1
|
||||
/* AF94AC 8008230C 11400004 */ beqz $t2, .L80082320
|
||||
/* AF94B0 80082310 0313C023 */ subu $t8, $t8, $s3
|
||||
|
@ -96,7 +96,7 @@ glabel L800822DC
|
|||
.L80082320:
|
||||
/* AF94C0 80082320 A240015F */ sb $zero, 0x15f($s2)
|
||||
.L80082324:
|
||||
/* AF94C4 80082324 8D8CFFD0 */ lw $t4, %lo(D_8015FFD0)($t4)
|
||||
/* AF94C4 80082324 8D8CFFD0 */ lw $t4, %lo(gMapData)($t4)
|
||||
/* AF94C8 80082328 00137140 */ sll $t6, $s3, 5
|
||||
/* AF94CC 8008232C 00008825 */ move $s1, $zero
|
||||
/* AF94D0 80082330 8D8D0054 */ lw $t5, 0x54($t4)
|
||||
|
@ -129,7 +129,7 @@ glabel L800822DC
|
|||
/* AF9534 80082394 AC6A00EC */ sw $t2, 0xec($v1)
|
||||
/* AF9538 80082398 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
|
||||
/* AF953C 8008239C 02202825 */ move $a1, $s1
|
||||
/* AF9540 800823A0 0C020892 */ jal func_80082248
|
||||
/* AF9540 800823A0 0C020892 */ jal Map_GetFloorTextIndexOffset
|
||||
/* AF9544 800823A4 A5710F50 */ sh $s1, 0xf50($t3)
|
||||
/* AF9548 800823A8 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF954C 800823AC 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
|
||||
|
@ -139,7 +139,7 @@ glabel L800822DC
|
|||
/* AF955C 800823BC 004D7021 */ addu $t6, $v0, $t5
|
||||
/* AF9560 800823C0 118E0008 */ beq $t4, $t6, .L800823E4
|
||||
/* AF9564 800823C4 00000000 */ nop
|
||||
/* AF9568 800823C8 0C020892 */ jal func_80082248
|
||||
/* AF9568 800823C8 0C020892 */ jal Map_GetFloorTextIndexOffset
|
||||
/* AF956C 800823CC 02202825 */ move $a1, $s1
|
||||
/* AF9570 800823D0 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF9574 800823D4 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
|
||||
|
@ -147,13 +147,13 @@ glabel L800822DC
|
|||
/* AF957C 800823DC 004FC021 */ addu $t8, $v0, $t7
|
||||
/* AF9580 800823E0 A4780F2E */ sh $t8, 0xf2e($v1)
|
||||
.L800823E4:
|
||||
/* AF9584 800823E4 3C198012 */ lui $t9, %hi(D_80123A60) # $t9, 0x8012
|
||||
/* AF9588 800823E8 87393A60 */ lh $t9, %lo(D_80123A60)($t9)
|
||||
/* AF9584 800823E4 3C198012 */ lui $t9, %hi(sLastRoomNum) # $t9, 0x8012
|
||||
/* AF9588 800823E8 87393A60 */ lh $t9, %lo(sLastRoomNum)($t9)
|
||||
/* AF958C 800823EC 8646025C */ lh $a2, 0x25c($s2)
|
||||
/* AF9590 800823F0 3C088016 */ lui $t0, %hi(D_8015FFD0) # $t0, 0x8016
|
||||
/* AF9590 800823F0 3C088016 */ lui $t0, %hi(gMapData) # $t0, 0x8016
|
||||
/* AF9594 800823F4 1326000D */ beq $t9, $a2, .L8008242C
|
||||
/* AF9598 800823F8 00000000 */ nop
|
||||
/* AF959C 800823FC 8D08FFD0 */ lw $t0, %lo(D_8015FFD0)($t0)
|
||||
/* AF959C 800823FC 8D08FFD0 */ lw $t0, %lo(gMapData)($t0)
|
||||
/* AF95A0 80082400 00135040 */ sll $t2, $s3, 1
|
||||
/* AF95A4 80082404 3C048014 */ lui $a0, %hi(D_8013D998) # $a0, 0x8014
|
||||
/* AF95A8 80082408 8D090058 */ lw $t1, 0x58($t0)
|
||||
|
@ -163,11 +163,11 @@ glabel L800822DC
|
|||
/* AF95B8 80082418 0C00084C */ jal osSyncPrintf
|
||||
/* AF95BC 8008241C 95670000 */ lhu $a3, ($t3)
|
||||
/* AF95C0 80082420 8646025C */ lh $a2, 0x25c($s2)
|
||||
/* AF95C4 80082424 3C018012 */ lui $at, %hi(D_80123A60) # $at, 0x8012
|
||||
/* AF95C8 80082428 A4263A60 */ sh $a2, %lo(D_80123A60)($at)
|
||||
/* AF95C4 80082424 3C018012 */ lui $at, %hi(sLastRoomNum) # $at, 0x8012
|
||||
/* AF95C8 80082428 A4263A60 */ sh $a2, %lo(sLastRoomNum)($at)
|
||||
.L8008242C:
|
||||
/* AF95CC 8008242C 3C028016 */ lui $v0, %hi(D_8015FFD0) # $v0, 0x8016
|
||||
/* AF95D0 80082430 8C42FFD0 */ lw $v0, %lo(D_8015FFD0)($v0)
|
||||
/* AF95CC 8008242C 3C028016 */ lui $v0, %hi(gMapData) # $v0, 0x8016
|
||||
/* AF95D0 80082430 8C42FFD0 */ lw $v0, %lo(gMapData)($v0)
|
||||
/* AF95D4 80082434 00136840 */ sll $t5, $s3, 1
|
||||
/* AF95D8 80082438 AFAD0034 */ sw $t5, 0x34($sp)
|
||||
/* AF95DC 8008243C 8C4C0058 */ lw $t4, 0x58($v0)
|
||||
|
@ -220,14 +220,14 @@ glabel L800822DC
|
|||
/* AF9694 800824F4 0C00084C */ jal osSyncPrintf
|
||||
/* AF9698 800824F8 2484D9D8 */ addiu $a0, %lo(D_8013D9D8) # addiu $a0, $a0, -0x2628
|
||||
/* AF969C 800824FC 02802025 */ move $a0, $s4
|
||||
/* AF96A0 80082500 0C0202AD */ jal func_80080AB4
|
||||
/* AF96A0 80082500 0C0202AD */ jal Map_InitData
|
||||
/* AF96A4 80082504 8645025C */ lh $a1, 0x25c($s2)
|
||||
/* AF96A8 80082508 3C018016 */ lui $at, %hi(gSaveContext+0x1422) # $at, 0x8016
|
||||
/* AF96AC 8008250C A420FA82 */ sh $zero, %lo(gSaveContext+0x1422)($at)
|
||||
/* AF96B0 80082510 0C0201E8 */ jal func_800807A0
|
||||
/* AF96B0 80082510 0C0201E8 */ jal Map_SavePlayerInitialInfo
|
||||
/* AF96B4 80082514 02802025 */ move $a0, $s4
|
||||
/* AF96B8 80082518 3C028016 */ lui $v0, %hi(D_8015FFD0) # $v0, 0x8016
|
||||
/* AF96BC 8008251C 8C42FFD0 */ lw $v0, %lo(D_8015FFD0)($v0)
|
||||
/* AF96B8 80082518 3C028016 */ lui $v0, %hi(gMapData) # $v0, 0x8016
|
||||
/* AF96BC 8008251C 8C42FFD0 */ lw $v0, %lo(gMapData)($v0)
|
||||
/* AF96C0 80082520 8FAD0034 */ lw $t5, 0x34($sp)
|
||||
/* AF96C4 80082524 8646025C */ lh $a2, 0x25c($s2)
|
||||
/* AF96C8 80082528 8C4B0058 */ lw $t3, 0x58($v0)
|
||||
|
@ -246,8 +246,8 @@ glabel L800822DC
|
|||
/* AF96F4 80082554 10000019 */ b .L800825BC
|
||||
/* AF96F8 80082558 A5C60F28 */ sh $a2, 0xf28($t6)
|
||||
glabel L8008255C
|
||||
/* AF96FC 8008255C 3C0F8016 */ lui $t7, %hi(D_8015FFD0) # $t7, 0x8016
|
||||
/* AF9700 80082560 8DEFFFD0 */ lw $t7, %lo(D_8015FFD0)($t7)
|
||||
/* AF96FC 8008255C 3C0F8016 */ lui $t7, %hi(gMapData) # $t7, 0x8016
|
||||
/* AF9700 80082560 8DEFFFD0 */ lw $t7, %lo(gMapData)($t7)
|
||||
/* AF9704 80082564 0002C840 */ sll $t9, $v0, 1
|
||||
/* AF9708 80082568 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
|
||||
/* AF970C 8008256C 8DF80004 */ lw $t8, 4($t7)
|
||||
|
@ -255,9 +255,9 @@ glabel L8008255C
|
|||
/* AF9714 80082574 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF9718 80082578 03194021 */ addu $t0, $t8, $t9
|
||||
/* AF971C 8008257C 8509FFDE */ lh $t1, -0x22($t0)
|
||||
/* AF9720 80082580 3C0B8016 */ lui $t3, %hi(D_8015FFD0) # $t3, 0x8016
|
||||
/* AF9720 80082580 3C0B8016 */ lui $t3, %hi(gMapData) # $t3, 0x8016
|
||||
/* AF9724 80082584 A5490F50 */ sh $t1, 0xf50($t2)
|
||||
/* AF9728 80082588 8D6BFFD0 */ lw $t3, %lo(D_8015FFD0)($t3)
|
||||
/* AF9728 80082588 8D6BFFD0 */ lw $t3, %lo(gMapData)($t3)
|
||||
/* AF972C 8008258C 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
|
||||
/* AF9730 80082590 868C00A4 */ lh $t4, 0xa4($s4)
|
||||
/* AF9734 80082594 8D6D0000 */ lw $t5, ($t3)
|
|
@ -23,7 +23,7 @@ glabel D_8013DC10
|
|||
.float -1.6
|
||||
|
||||
.text
|
||||
glabel func_80081240
|
||||
glabel Minimap_DrawCompassIcons
|
||||
/* AF83E0 80081240 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* AF83E4 80081244 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* AF83E8 80081248 AFB00018 */ sw $s0, 0x18($sp)
|
||||
|
@ -199,12 +199,12 @@ glabel func_80081240
|
|||
/* AF867C 800814DC AE1802B0 */ sw $t8, 0x2b0($s0)
|
||||
/* AF8680 800814E0 AC450004 */ sw $a1, 4($v0)
|
||||
/* AF8684 800814E4 AC590000 */ sw $t9, ($v0)
|
||||
/* AF8688 800814E8 3C028012 */ lui $v0, %hi(D_80123A50) # $v0, 0x8012
|
||||
/* AF868C 800814EC 84423A50 */ lh $v0, %lo(D_80123A50)($v0)
|
||||
/* AF8688 800814E8 3C028012 */ lui $v0, %hi(sPlayerInitialPosX) # $v0, 0x8012
|
||||
/* AF868C 800814EC 84423A50 */ lh $v0, %lo(sPlayerInitialPosX)($v0)
|
||||
/* AF8690 800814F0 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF8694 800814F4 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
|
||||
/* AF8698 800814F8 3C048012 */ lui $a0, %hi(D_80123A54) # $a0, 0x8012
|
||||
/* AF869C 800814FC 84843A54 */ lh $a0, %lo(D_80123A54)($a0)
|
||||
/* AF8698 800814F8 3C048012 */ lui $a0, %hi(sPlayerInitialPosZ) # $a0, 0x8012
|
||||
/* AF869C 800814FC 84843A54 */ lh $a0, %lo(sPlayerInitialPosZ)($a0)
|
||||
/* AF86A0 80081500 84690F30 */ lh $t1, 0xf30($v1)
|
||||
/* AF86A4 80081504 3C014120 */ li $at, 0x41200000 # 0.000000
|
||||
/* AF86A8 80081508 44810000 */ mtc1 $at, $f0
|
||||
|
@ -277,8 +277,8 @@ glabel func_80081240
|
|||
/* AF87A4 80081604 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* AF87A8 80081608 0C0342DC */ jal Matrix_RotateX
|
||||
/* AF87AC 8008160C 46083303 */ div.s $f12, $f6, $f8
|
||||
/* AF87B0 80081610 3C098012 */ lui $t1, %hi(D_80123A58) # $t1, 0x8012
|
||||
/* AF87B4 80081614 85293A58 */ lh $t1, %lo(D_80123A58)($t1)
|
||||
/* AF87B0 80081610 3C098012 */ lui $t1, %hi(sPlayerInitialDirection) # $t1, 0x8012
|
||||
/* AF87B4 80081614 85293A58 */ lh $t1, %lo(sPlayerInitialDirection)($t1)
|
||||
/* AF87B8 80081618 3C014120 */ li $at, 0x41200000 # 0.000000
|
||||
/* AF87BC 8008161C 44819000 */ mtc1 $at, $f18
|
||||
/* AF87C0 80081620 44895000 */ mtc1 $t1, $f10
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_800807A0
|
||||
/* AF7940 800807A0 8C821C44 */ lw $v0, 0x1c44($a0)
|
||||
/* AF7944 800807A4 3C018012 */ lui $at, %hi(D_80123A50) # $at, 0x8012
|
||||
/* AF7948 800807A8 24097FFF */ li $t1, 32767
|
||||
/* AF794C 800807AC C4440024 */ lwc1 $f4, 0x24($v0)
|
||||
/* AF7950 800807B0 4600218D */ trunc.w.s $f6, $f4
|
||||
/* AF7954 800807B4 440F3000 */ mfc1 $t7, $f6
|
||||
/* AF7958 800807B8 00000000 */ nop
|
||||
/* AF795C 800807BC A42F3A50 */ sh $t7, %lo(D_80123A50)($at)
|
||||
/* AF7960 800807C0 C448002C */ lwc1 $f8, 0x2c($v0)
|
||||
/* AF7964 800807C4 3C018012 */ lui $at, %hi(D_80123A54) # $at, 0x8012
|
||||
/* AF7968 800807C8 4600428D */ trunc.w.s $f10, $f8
|
||||
/* AF796C 800807CC 44195000 */ mfc1 $t9, $f10
|
||||
/* AF7970 800807D0 00000000 */ nop
|
||||
/* AF7974 800807D4 A4393A54 */ sh $t9, %lo(D_80123A54)($at)
|
||||
/* AF7978 800807D8 844800B6 */ lh $t0, 0xb6($v0)
|
||||
/* AF797C 800807DC 01285023 */ subu $t2, $t1, $t0
|
||||
/* AF7980 800807E0 05410003 */ bgez $t2, .L800807F0
|
||||
/* AF7984 800807E4 000A5A83 */ sra $t3, $t2, 0xa
|
||||
/* AF7988 800807E8 254103FF */ addiu $at, $t2, 0x3ff
|
||||
/* AF798C 800807EC 00015A83 */ sra $t3, $at, 0xa
|
||||
.L800807F0:
|
||||
/* AF7990 800807F0 3C018012 */ lui $at, %hi(D_80123A58)
|
||||
/* AF7994 800807F4 03E00008 */ jr $ra
|
||||
/* AF7998 800807F8 A42B3A58 */ sh $t3, %lo(D_80123A58)($at)
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013D700
|
||||
.asciz "\x1b[33m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D708
|
||||
.asciz "PALETEセット 【 i=%x : room=%x 】Room_Inf[%d][4]=%x ( map_palete_no = %d )\n"
|
||||
# EUC-JP: PALETEセット 【 i=%x : room=%x 】 | Palette set
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D75C
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_800807FC
|
||||
/* AF799C 800807FC 3C0E8016 */ lui $t6, %hi(D_8015FFD0) # $t6, 0x8016
|
||||
/* AF79A0 80080800 8DCEFFD0 */ lw $t6, %lo(D_8015FFD0)($t6)
|
||||
/* AF79A4 80080804 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* AF79A8 80080808 3C078016 */ lui $a3, %hi(gSaveContext+0x1402) # $a3, 0x8016
|
||||
/* AF79AC 8008080C 94E7FA62 */ lhu $a3, %lo(gSaveContext+0x1402)($a3)
|
||||
/* AF79B0 80080810 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* AF79B4 80080814 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* AF79B8 80080818 8DCF0008 */ lw $t7, 8($t6)
|
||||
/* AF79BC 8008081C 3C0A0001 */ lui $t2, 1
|
||||
/* AF79C0 80080820 00052C00 */ sll $a1, $a1, 0x10
|
||||
/* AF79C4 80080824 01445021 */ addu $t2, $t2, $a0
|
||||
/* AF79C8 80080828 854A074C */ lh $t2, 0x74c($t2)
|
||||
/* AF79CC 8008082C 00052C03 */ sra $a1, $a1, 0x10
|
||||
/* AF79D0 80080830 0007C180 */ sll $t8, $a3, 6
|
||||
/* AF79D4 80080834 00054040 */ sll $t0, $a1, 1
|
||||
/* AF79D8 80080838 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* AF79DC 8008083C 03284821 */ addu $t1, $t9, $t0
|
||||
/* AF79E0 80080840 00803025 */ move $a2, $a0
|
||||
/* AF79E4 80080844 14AA0004 */ bne $a1, $t2, .L80080858
|
||||
/* AF79E8 80080848 85220000 */ lh $v0, ($t1)
|
||||
/* AF79EC 8008084C 3C010001 */ lui $at, 1
|
||||
/* AF79F0 80080850 00240821 */ addu $at, $at, $a0
|
||||
/* AF79F4 80080854 A422074E */ sh $v0, 0x74e($at)
|
||||
.L80080858:
|
||||
/* AF79F8 80080858 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF79FC 8008085C 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF7A00 80080860 00C15821 */ addu $t3, $a2, $at
|
||||
/* AF7A04 80080864 3C048014 */ lui $a0, %hi(D_8013D700) # $a0, 0x8014
|
||||
/* AF7A08 80080868 2484D700 */ addiu $a0, %lo(D_8013D700) # addiu $a0, $a0, -0x2900
|
||||
/* AF7A0C 8008086C AFAB0020 */ sw $t3, 0x20($sp)
|
||||
/* AF7A10 80080870 A7A20026 */ sh $v0, 0x26($sp)
|
||||
/* AF7A14 80080874 A7A50036 */ sh $a1, 0x36($sp)
|
||||
/* AF7A18 80080878 0C00084C */ jal osSyncPrintf
|
||||
/* AF7A1C 8008087C AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* AF7A20 80080880 8FA7002C */ lw $a3, 0x2c($sp)
|
||||
/* AF7A24 80080884 3C0D8016 */ lui $t5, %hi(gSaveContext+0xe8)
|
||||
/* AF7A28 80080888 8FAE0020 */ lw $t6, 0x20($sp)
|
||||
/* AF7A2C 8008088C 000760C0 */ sll $t4, $a3, 3
|
||||
/* AF7A30 80080890 01876023 */ subu $t4, $t4, $a3
|
||||
/* AF7A34 80080894 000C6080 */ sll $t4, $t4, 2
|
||||
/* AF7A38 80080898 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* AF7A3C 8008089C 8DADE748 */ lw $t5, %lo(gSaveContext+0xe8)($t5)
|
||||
/* AF7A40 800808A0 3C048014 */ lui $a0, %hi(D_8013D708) # $a0, 0x8014
|
||||
/* AF7A44 800808A4 2484D708 */ addiu $a0, %lo(D_8013D708) # addiu $a0, $a0, -0x28f8
|
||||
/* AF7A48 800808A8 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* AF7A4C 800808AC 85CF025E */ lh $t7, 0x25e($t6)
|
||||
/* AF7A50 800808B0 87A50026 */ lh $a1, 0x26($sp)
|
||||
/* AF7A54 800808B4 87A60036 */ lh $a2, 0x36($sp)
|
||||
/* AF7A58 800808B8 0C00084C */ jal osSyncPrintf
|
||||
/* AF7A5C 800808BC AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* AF7A60 800808C0 3C048014 */ lui $a0, %hi(D_8013D75C) # $a0, 0x8014
|
||||
/* AF7A64 800808C4 0C00084C */ jal osSyncPrintf
|
||||
/* AF7A68 800808C8 2484D75C */ addiu $a0, %lo(D_8013D75C) # addiu $a0, $a0, -0x28a4
|
||||
/* AF7A6C 800808CC 87B90026 */ lh $t9, 0x26($sp)
|
||||
/* AF7A70 800808D0 8FB80020 */ lw $t8, 0x20($sp)
|
||||
/* AF7A74 800808D4 24090002 */ li $t1, 2
|
||||
/* AF7A78 800808D8 00194040 */ sll $t0, $t9, 1
|
||||
/* AF7A7C 800808DC 03081021 */ addu $v0, $t8, $t0
|
||||
/* AF7A80 800808E0 240A00BF */ li $t2, 191
|
||||
/* AF7A84 800808E4 A0490140 */ sb $t1, 0x140($v0)
|
||||
/* AF7A88 800808E8 A04A0141 */ sb $t2, 0x141($v0)
|
||||
/* AF7A8C 800808EC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* AF7A90 800808F0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* AF7A94 800808F4 03E00008 */ jr $ra
|
||||
/* AF7A98 800808F8 00000000 */ nop
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_8013D9DC
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L80080A84
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
.word L800809C4
|
||||
|
||||
.text
|
||||
glabel func_800808FC
|
||||
/* AF7A9C 800808FC 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* AF7AA0 80080900 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* AF7AA4 80080904 3C178016 */ lui $s7, %hi(gSaveContext) # $s7, 0x8016
|
||||
/* AF7AA8 80080908 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* AF7AAC 8008090C 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF7AB0 80080910 0005F400 */ sll $fp, $a1, 0x10
|
||||
/* AF7AB4 80080914 26F7E660 */ addiu $s7, %lo(gSaveContext) # addiu $s7, $s7, -0x19a0
|
||||
/* AF7AB8 80080918 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* AF7ABC 8008091C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* AF7AC0 80080920 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* AF7AC4 80080924 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF7AC8 80080928 0080A825 */ move $s5, $a0
|
||||
/* AF7ACC 8008092C 001EF403 */ sra $fp, $fp, 0x10
|
||||
/* AF7AD0 80080930 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* AF7AD4 80080934 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* AF7AD8 80080938 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* AF7ADC 8008093C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* AF7AE0 80080940 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* AF7AE4 80080944 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* AF7AE8 80080948 96F41402 */ lhu $s4, 0x1402($s7)
|
||||
/* AF7AEC 8008094C 00811821 */ addu $v1, $a0, $at
|
||||
/* AF7AF0 80080950 00008025 */ move $s0, $zero
|
||||
.L80080954:
|
||||
/* AF7AF4 80080954 00701021 */ addu $v0, $v1, $s0
|
||||
/* AF7AF8 80080958 26100001 */ addiu $s0, $s0, 1
|
||||
/* AF7AFC 8008095C 00108400 */ sll $s0, $s0, 0x10
|
||||
/* AF7B00 80080960 00108403 */ sra $s0, $s0, 0x10
|
||||
/* AF7B04 80080964 2A010010 */ slti $at, $s0, 0x10
|
||||
/* AF7B08 80080968 A0400140 */ sb $zero, 0x140($v0)
|
||||
/* AF7B0C 8008096C 1420FFF9 */ bnez $at, .L80080954
|
||||
/* AF7B10 80080970 A0400150 */ sb $zero, 0x150($v0)
|
||||
/* AF7B14 80080974 3C168012 */ lui $s6, %hi(gBitFlags) # $s6, 0x8012
|
||||
/* AF7B18 80080978 26D67120 */ addiu $s6, %lo(gBitFlags) # addiu $s6, $s6, 0x7120
|
||||
/* AF7B1C 8008097C 02F47821 */ addu $t7, $s7, $s4
|
||||
/* AF7B20 80080980 91F800A8 */ lbu $t8, 0xa8($t7)
|
||||
/* AF7B24 80080984 8ECE0008 */ lw $t6, 8($s6)
|
||||
/* AF7B28 80080988 24080001 */ li $t0, 1
|
||||
/* AF7B2C 8008098C 01D8C824 */ and $t9, $t6, $t8
|
||||
/* AF7B30 80080990 53200004 */ beql $t9, $zero, .L800809A4
|
||||
/* AF7B34 80080994 96A900A4 */ lhu $t1, 0xa4($s5)
|
||||
/* AF7B38 80080998 A060015E */ sb $zero, 0x15e($v1)
|
||||
/* AF7B3C 8008099C A068015F */ sb $t0, 0x15f($v1)
|
||||
/* AF7B40 800809A0 96A900A4 */ lhu $t1, 0xa4($s5)
|
||||
.L800809A4:
|
||||
/* AF7B44 800809A4 2D210019 */ sltiu $at, $t1, 0x19
|
||||
/* AF7B48 800809A8 10200036 */ beqz $at, .L80080A84
|
||||
/* AF7B4C 800809AC 00094880 */ sll $t1, $t1, 2
|
||||
/* AF7B50 800809B0 3C018014 */ lui $at, %hi(jtbl_8013D9DC)
|
||||
/* AF7B54 800809B4 00290821 */ addu $at, $at, $t1
|
||||
/* AF7B58 800809B8 8C29D9DC */ lw $t1, %lo(jtbl_8013D9DC)($at)
|
||||
/* AF7B5C 800809BC 01200008 */ jr $t1
|
||||
/* AF7B60 800809C0 00000000 */ nop
|
||||
glabel L800809C4
|
||||
/* AF7B64 800809C4 3C028016 */ lui $v0, %hi(D_8015FFD0) # $v0, 0x8016
|
||||
/* AF7B68 800809C8 8C42FFD0 */ lw $v0, %lo(D_8015FFD0)($v0)
|
||||
/* AF7B6C 800809CC 00149840 */ sll $s3, $s4, 1
|
||||
/* AF7B70 800809D0 00008025 */ move $s0, $zero
|
||||
/* AF7B74 800809D4 8C4A000C */ lw $t2, 0xc($v0)
|
||||
/* AF7B78 800809D8 2412001C */ li $s2, 28
|
||||
/* AF7B7C 800809DC 241100FF */ li $s1, 255
|
||||
/* AF7B80 800809E0 01535821 */ addu $t3, $t2, $s3
|
||||
/* AF7B84 800809E4 85630000 */ lh $v1, ($t3)
|
||||
/* AF7B88 800809E8 58600027 */ blezl $v1, .L80080A88
|
||||
/* AF7B8C 800809EC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* AF7B90 800809F0 8C4C0010 */ lw $t4, 0x10($v0)
|
||||
.L800809F4:
|
||||
/* AF7B94 800809F4 001468C0 */ sll $t5, $s4, 3
|
||||
/* AF7B98 800809F8 01B46823 */ subu $t5, $t5, $s4
|
||||
/* AF7B9C 800809FC 001E70C0 */ sll $t6, $fp, 3
|
||||
/* AF7BA0 80080A00 01DE7023 */ subu $t6, $t6, $fp
|
||||
/* AF7BA4 80080A04 000D6940 */ sll $t5, $t5, 5
|
||||
/* AF7BA8 80080A08 000E7080 */ sll $t6, $t6, 2
|
||||
/* AF7BAC 80080A0C 018D7821 */ addu $t7, $t4, $t5
|
||||
/* AF7BB0 80080A10 01EEC021 */ addu $t8, $t7, $t6
|
||||
/* AF7BB4 80080A14 0010C840 */ sll $t9, $s0, 1
|
||||
/* AF7BB8 80080A18 03194021 */ addu $t0, $t8, $t9
|
||||
/* AF7BBC 80080A1C 85050000 */ lh $a1, ($t0)
|
||||
/* AF7BC0 80080A20 50B10013 */ beql $a1, $s1, .L80080A70
|
||||
/* AF7BC4 80080A24 26100001 */ addiu $s0, $s0, 1
|
||||
/* AF7BC8 80080A28 02920019 */ multu $s4, $s2
|
||||
/* AF7BCC 80080A2C 00054880 */ sll $t1, $a1, 2
|
||||
/* AF7BD0 80080A30 02C95021 */ addu $t2, $s6, $t1
|
||||
/* AF7BD4 80080A34 8D4B0000 */ lw $t3, ($t2)
|
||||
/* AF7BD8 80080A38 00006012 */ mflo $t4
|
||||
/* AF7BDC 80080A3C 02EC6821 */ addu $t5, $s7, $t4
|
||||
/* AF7BE0 80080A40 8DAF00E8 */ lw $t7, 0xe8($t5)
|
||||
/* AF7BE4 80080A44 016F7024 */ and $t6, $t3, $t7
|
||||
/* AF7BE8 80080A48 51C00009 */ beql $t6, $zero, .L80080A70
|
||||
/* AF7BEC 80080A4C 26100001 */ addiu $s0, $s0, 1
|
||||
/* AF7BF0 80080A50 0C0201FF */ jal func_800807FC
|
||||
/* AF7BF4 80080A54 02A02025 */ move $a0, $s5
|
||||
/* AF7BF8 80080A58 3C028016 */ lui $v0, %hi(D_8015FFD0) # $v0, 0x8016
|
||||
/* AF7BFC 80080A5C 8C42FFD0 */ lw $v0, %lo(D_8015FFD0)($v0)
|
||||
/* AF7C00 80080A60 8C58000C */ lw $t8, 0xc($v0)
|
||||
/* AF7C04 80080A64 0313C821 */ addu $t9, $t8, $s3
|
||||
/* AF7C08 80080A68 87230000 */ lh $v1, ($t9)
|
||||
/* AF7C0C 80080A6C 26100001 */ addiu $s0, $s0, 1
|
||||
.L80080A70:
|
||||
/* AF7C10 80080A70 00108400 */ sll $s0, $s0, 0x10
|
||||
/* AF7C14 80080A74 00108403 */ sra $s0, $s0, 0x10
|
||||
/* AF7C18 80080A78 0203082A */ slt $at, $s0, $v1
|
||||
/* AF7C1C 80080A7C 5420FFDD */ bnezl $at, .L800809F4
|
||||
/* AF7C20 80080A80 8C4C0010 */ lw $t4, 0x10($v0)
|
||||
.L80080A84:
|
||||
glabel L80080A84
|
||||
/* AF7C24 80080A84 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80080A88:
|
||||
/* AF7C28 80080A88 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* AF7C2C 80080A8C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* AF7C30 80080A90 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* AF7C34 80080A94 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* AF7C38 80080A98 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* AF7C3C 80080A9C 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* AF7C40 80080AA0 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* AF7C44 80080AA4 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* AF7C48 80080AA8 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* AF7C4C 80080AAC 03E00008 */ jr $ra
|
||||
/* AF7C50 80080AB0 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
|
@ -1,316 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013D760
|
||||
.asciz "\x1b[34m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D768
|
||||
.asciz "KKK=%d\n"
|
||||
# EUC-JP: KKK=
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D774
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D778
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D788
|
||||
.asciz "\x1b[33m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D790
|
||||
.asciz "デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n"
|
||||
# EUC-JP: デクの樹ダンジョンMAP テクスチャDMA | Deck Tree Dungeon MAP Texture DMA
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D7E0
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D7E4
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D7F4
|
||||
.asciz "MAP 各階ONチェック\n"
|
||||
# EUC-JP: MAP 各階ONチェック | MAP ON check on each floor
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_8013DA40
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
.word L80080B28
|
||||
|
||||
glabel jtbl_8013DA90
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080DF4
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
.word L80080CBC
|
||||
|
||||
.text
|
||||
glabel func_80080AB4
|
||||
/* AF7C54 80080AB4 3C068016 */ lui $a2, %hi(gSaveContext) # $a2, 0x8016
|
||||
/* AF7C58 80080AB8 24C6E660 */ addiu $a2, %lo(gSaveContext) # addiu $a2, $a2, -0x19a0
|
||||
/* AF7C5C 80080ABC 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* AF7C60 80080AC0 94CE1402 */ lhu $t6, 0x1402($a2)
|
||||
/* AF7C64 80080AC4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* AF7C68 80080AC8 AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* AF7C6C 80080ACC AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* AF7C70 80080AD0 AFAE0034 */ sw $t6, 0x34($sp)
|
||||
/* AF7C74 80080AD4 848300A4 */ lh $v1, 0xa4($a0)
|
||||
/* AF7C78 80080AD8 28610019 */ slti $at, $v1, 0x19
|
||||
/* AF7C7C 80080ADC 1420000A */ bnez $at, .L80080B08
|
||||
/* AF7C80 80080AE0 00601025 */ move $v0, $v1
|
||||
/* AF7C84 80080AE4 2458FFAF */ addiu $t8, $v0, -0x51
|
||||
/* AF7C88 80080AE8 2F010014 */ sltiu $at, $t8, 0x14
|
||||
/* AF7C8C 80080AEC 102000C1 */ beqz $at, .L80080DF4
|
||||
/* AF7C90 80080AF0 0018C080 */ sll $t8, $t8, 2
|
||||
/* AF7C94 80080AF4 3C018014 */ lui $at, %hi(jtbl_8013DA40)
|
||||
/* AF7C98 80080AF8 00380821 */ addu $at, $at, $t8
|
||||
/* AF7C9C 80080AFC 8C38DA40 */ lw $t8, %lo(jtbl_8013DA40)($at)
|
||||
/* AF7CA0 80080B00 03000008 */ jr $t8
|
||||
/* AF7CA4 80080B04 00000000 */ nop
|
||||
.L80080B08:
|
||||
/* AF7CA8 80080B08 2C410019 */ sltiu $at, $v0, 0x19
|
||||
/* AF7CAC 80080B0C 102000B9 */ beqz $at, .L80080DF4
|
||||
/* AF7CB0 80080B10 0002C880 */ sll $t9, $v0, 2
|
||||
/* AF7CB4 80080B14 3C018014 */ lui $at, %hi(jtbl_8013DA90)
|
||||
/* AF7CB8 80080B18 00390821 */ addu $at, $at, $t9
|
||||
/* AF7CBC 80080B1C 8C39DA90 */ lw $t9, %lo(jtbl_8013DA90)($at)
|
||||
/* AF7CC0 80080B20 03200008 */ jr $t9
|
||||
/* AF7CC4 80080B24 00000000 */ nop
|
||||
glabel L80080B28
|
||||
/* AF7CC8 80080B28 24010053 */ li $at, 83
|
||||
/* AF7CCC 80080B2C 14610009 */ bne $v1, $at, .L80080B54
|
||||
/* AF7CD0 80080B30 87A50036 */ lh $a1, 0x36($sp)
|
||||
/* AF7CD4 80080B34 3C098012 */ lui $t1, %hi(gBitFlags+0x28) # $t1, 0x8012
|
||||
/* AF7CD8 80080B38 8D297148 */ lw $t1, %lo(gBitFlags+0x28)($t1)
|
||||
/* AF7CDC 80080B3C 8CCA00A4 */ lw $t2, 0xa4($a2)
|
||||
/* AF7CE0 80080B40 012A5824 */ and $t3, $t1, $t2
|
||||
/* AF7CE4 80080B44 11600032 */ beqz $t3, .L80080C10
|
||||
/* AF7CE8 80080B48 00000000 */ nop
|
||||
/* AF7CEC 80080B4C 10000030 */ b .L80080C10
|
||||
/* AF7CF0 80080B50 24050014 */ li $a1, 20
|
||||
.L80080B54:
|
||||
/* AF7CF4 80080B54 24010057 */ li $at, 87
|
||||
/* AF7CF8 80080B58 54610012 */ bnel $v1, $at, .L80080BA4
|
||||
/* AF7CFC 80080B5C 2401005A */ li $at, 90
|
||||
/* AF7D00 80080B60 8CCC0004 */ lw $t4, 4($a2)
|
||||
/* AF7D04 80080B64 24010011 */ li $at, 17
|
||||
/* AF7D08 80080B68 24020011 */ li $v0, 17
|
||||
/* AF7D0C 80080B6C 11800003 */ beqz $t4, .L80080B7C
|
||||
/* AF7D10 80080B70 3C0D8012 */ lui $t5, %hi(gBitFlags+8) # $t5, 0x8012
|
||||
/* AF7D14 80080B74 10000001 */ b .L80080B7C
|
||||
/* AF7D18 80080B78 24020005 */ li $v0, 5
|
||||
.L80080B7C:
|
||||
/* AF7D1C 80080B7C 14410024 */ bne $v0, $at, .L80080C10
|
||||
/* AF7D20 80080B80 00000000 */ nop
|
||||
/* AF7D24 80080B84 8DAD7128 */ lw $t5, %lo(gBitFlags+8)($t5)
|
||||
/* AF7D28 80080B88 8CCE00A4 */ lw $t6, 0xa4($a2)
|
||||
/* AF7D2C 80080B8C 01AE7824 */ and $t7, $t5, $t6
|
||||
/* AF7D30 80080B90 15E0001F */ bnez $t7, .L80080C10
|
||||
/* AF7D34 80080B94 00000000 */ nop
|
||||
/* AF7D38 80080B98 1000001D */ b .L80080C10
|
||||
/* AF7D3C 80080B9C 24050015 */ li $a1, 21
|
||||
/* AF7D40 80080BA0 2401005A */ li $at, 90
|
||||
.L80080BA4:
|
||||
/* AF7D44 80080BA4 54610012 */ bnel $v1, $at, .L80080BF0
|
||||
/* AF7D48 80080BA8 2401005D */ li $at, 93
|
||||
/* AF7D4C 80080BAC 8CD80004 */ lw $t8, 4($a2)
|
||||
/* AF7D50 80080BB0 24010011 */ li $at, 17
|
||||
/* AF7D54 80080BB4 24020011 */ li $v0, 17
|
||||
/* AF7D58 80080BB8 13000003 */ beqz $t8, .L80080BC8
|
||||
/* AF7D5C 80080BBC 00000000 */ nop
|
||||
/* AF7D60 80080BC0 10000001 */ b .L80080BC8
|
||||
/* AF7D64 80080BC4 24020005 */ li $v0, 5
|
||||
.L80080BC8:
|
||||
/* AF7D68 80080BC8 14410011 */ bne $v0, $at, .L80080C10
|
||||
/* AF7D6C 80080BCC 00000000 */ nop
|
||||
/* AF7D70 80080BD0 94D90EE6 */ lhu $t9, 0xee6($a2)
|
||||
/* AF7D74 80080BD4 2401000F */ li $at, 15
|
||||
/* AF7D78 80080BD8 3329000F */ andi $t1, $t9, 0xf
|
||||
/* AF7D7C 80080BDC 1121000C */ beq $t1, $at, .L80080C10
|
||||
/* AF7D80 80080BE0 00000000 */ nop
|
||||
/* AF7D84 80080BE4 1000000A */ b .L80080C10
|
||||
/* AF7D88 80080BE8 24050016 */ li $a1, 22
|
||||
/* AF7D8C 80080BEC 2401005D */ li $at, 93
|
||||
.L80080BF0:
|
||||
/* AF7D90 80080BF0 14610007 */ bne $v1, $at, .L80080C10
|
||||
/* AF7D94 80080BF4 00000000 */ nop
|
||||
/* AF7D98 80080BF8 94CA0EE6 */ lhu $t2, 0xee6($a2)
|
||||
/* AF7D9C 80080BFC 2401000F */ li $at, 15
|
||||
/* AF7DA0 80080C00 314B000F */ andi $t3, $t2, 0xf
|
||||
/* AF7DA4 80080C04 15610002 */ bne $t3, $at, .L80080C10
|
||||
/* AF7DA8 80080C08 00000000 */ nop
|
||||
/* AF7DAC 80080C0C 24050017 */ li $a1, 23
|
||||
.L80080C10:
|
||||
/* AF7DB0 80080C10 3C048014 */ lui $a0, %hi(D_8013D760) # $a0, 0x8014
|
||||
/* AF7DB4 80080C14 2484D760 */ addiu $a0, %lo(D_8013D760) # addiu $a0, $a0, -0x28a0
|
||||
/* AF7DB8 80080C18 0C00084C */ jal osSyncPrintf
|
||||
/* AF7DBC 80080C1C A7A5002E */ sh $a1, 0x2e($sp)
|
||||
/* AF7DC0 80080C20 3C048014 */ lui $a0, %hi(D_8013D768) # $a0, 0x8014
|
||||
/* AF7DC4 80080C24 2484D768 */ addiu $a0, %lo(D_8013D768) # addiu $a0, $a0, -0x2898
|
||||
/* AF7DC8 80080C28 0C00084C */ jal osSyncPrintf
|
||||
/* AF7DCC 80080C2C 87A5002E */ lh $a1, 0x2e($sp)
|
||||
/* AF7DD0 80080C30 3C048014 */ lui $a0, %hi(D_8013D774) # $a0, 0x8014
|
||||
/* AF7DD4 80080C34 0C00084C */ jal osSyncPrintf
|
||||
/* AF7DD8 80080C38 2484D774 */ addiu $a0, %lo(D_8013D774) # addiu $a0, $a0, -0x288c
|
||||
/* AF7DDC 80080C3C 87A8002E */ lh $t0, 0x2e($sp)
|
||||
/* AF7DE0 80080C40 3C028016 */ lui $v0, %hi(D_8015FFD0) # $v0, 0x8016
|
||||
/* AF7DE4 80080C44 8C42FFD0 */ lw $v0, %lo(D_8015FFD0)($v0)
|
||||
/* AF7DE8 80080C48 3C018012 */ lui $at, %hi(D_80123A5C) # $at, 0x8012
|
||||
/* AF7DEC 80080C4C A4283A5C */ sh $t0, %lo(D_80123A5C)($at)
|
||||
/* AF7DF0 80080C50 8FA90034 */ lw $t1, 0x34($sp)
|
||||
/* AF7DF4 80080C54 8C4C0028 */ lw $t4, 0x28($v0)
|
||||
/* AF7DF8 80080C58 8FA30038 */ lw $v1, 0x38($sp)
|
||||
/* AF7DFC 80080C5C 8C590024 */ lw $t9, 0x24($v0)
|
||||
/* AF7E00 80080C60 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF7E04 80080C64 00086840 */ sll $t5, $t0, 1
|
||||
/* AF7E08 80080C68 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF7E0C 80080C6C 00095040 */ sll $t2, $t1, 1
|
||||
/* AF7E10 80080C70 018D7021 */ addu $t6, $t4, $t5
|
||||
/* AF7E14 80080C74 95CF0000 */ lhu $t7, ($t6)
|
||||
/* AF7E18 80080C78 3C180097 */ lui $t8, %hi(_map_grand_staticSegmentRomStart) # $t8, 0x97
|
||||
/* AF7E1C 80080C7C 00611821 */ addu $v1, $v1, $at
|
||||
/* AF7E20 80080C80 032A5821 */ addu $t3, $t9, $t2
|
||||
/* AF7E24 80080C84 95660000 */ lhu $a2, ($t3)
|
||||
/* AF7E28 80080C88 8C64013C */ lw $a0, 0x13c($v1)
|
||||
/* AF7E2C 80080C8C 27184000 */ addiu $t8, %lo(_map_grand_staticSegmentRomStart) # addiu $t8, $t8, 0x4000
|
||||
/* AF7E30 80080C90 240C0135 */ li $t4, 309
|
||||
/* AF7E34 80080C94 3C078014 */ lui $a3, %hi(D_8013D778) # $a3, 0x8014
|
||||
/* AF7E38 80080C98 24E7D778 */ addiu $a3, %lo(D_8013D778) # addiu $a3, $a3, -0x2888
|
||||
/* AF7E3C 80080C9C AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* AF7E40 80080CA0 AFA30024 */ sw $v1, 0x24($sp)
|
||||
/* AF7E44 80080CA4 0C0006A8 */ jal DmaMgr_SendRequest1
|
||||
/* AF7E48 80080CA8 01F82821 */ addu $a1, $t7, $t8
|
||||
/* AF7E4C 80080CAC 8FA30024 */ lw $v1, 0x24($sp)
|
||||
/* AF7E50 80080CB0 8FAD0034 */ lw $t5, 0x34($sp)
|
||||
/* AF7E54 80080CB4 1000004F */ b .L80080DF4
|
||||
/* AF7E58 80080CB8 A46D0258 */ sh $t5, 0x258($v1)
|
||||
glabel L80080CBC
|
||||
/* AF7E5C 80080CBC 3C048014 */ lui $a0, %hi(D_8013D788) # $a0, 0x8014
|
||||
/* AF7E60 80080CC0 0C00084C */ jal osSyncPrintf
|
||||
/* AF7E64 80080CC4 2484D788 */ addiu $a0, %lo(D_8013D788) # addiu $a0, $a0, -0x2878
|
||||
/* AF7E68 80080CC8 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
|
||||
/* AF7E6C 80080CCC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
|
||||
/* AF7E70 80080CD0 3C048014 */ lui $a0, %hi(D_8013D790) # $a0, 0x8014
|
||||
/* AF7E74 80080CD4 2484D790 */ addiu $a0, %lo(D_8013D790) # addiu $a0, $a0, -0x2870
|
||||
/* AF7E78 80080CD8 87A5003E */ lh $a1, 0x3e($sp)
|
||||
/* AF7E7C 80080CDC 8FA60034 */ lw $a2, 0x34($sp)
|
||||
/* AF7E80 80080CE0 0C00084C */ jal osSyncPrintf
|
||||
/* AF7E84 80080CE4 85C70F50 */ lh $a3, 0xf50($t6)
|
||||
/* AF7E88 80080CE8 3C048014 */ lui $a0, %hi(D_8013D7E0) # $a0, 0x8014
|
||||
/* AF7E8C 80080CEC 0C00084C */ jal osSyncPrintf
|
||||
/* AF7E90 80080CF0 2484D7E0 */ addiu $a0, %lo(D_8013D7E0) # addiu $a0, $a0, -0x2820
|
||||
/* AF7E94 80080CF4 3C188016 */ lui $t8, %hi(D_8015FFD0) # $t8, 0x8016
|
||||
/* AF7E98 80080CF8 8F18FFD0 */ lw $t8, %lo(D_8015FFD0)($t8)
|
||||
/* AF7E9C 80080CFC 8FB90034 */ lw $t9, 0x34($sp)
|
||||
/* AF7EA0 80080D00 8FAF0038 */ lw $t7, 0x38($sp)
|
||||
/* AF7EA4 80080D04 8F090020 */ lw $t1, 0x20($t8)
|
||||
/* AF7EA8 80080D08 00195040 */ sll $t2, $t9, 1
|
||||
/* AF7EAC 80080D0C 87AD003E */ lh $t5, 0x3e($sp)
|
||||
/* AF7EB0 80080D10 012A5821 */ addu $t3, $t1, $t2
|
||||
/* AF7EB4 80080D14 956C0000 */ lhu $t4, ($t3)
|
||||
/* AF7EB8 80080D18 3C040001 */ lui $a0, 1
|
||||
/* AF7EBC 80080D1C 008F2021 */ addu $a0, $a0, $t7
|
||||
/* AF7EC0 80080D20 018D7021 */ addu $t6, $t4, $t5
|
||||
/* AF7EC4 80080D24 000E7A00 */ sll $t7, $t6, 8
|
||||
/* AF7EC8 80080D28 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* AF7ECC 80080D2C 3C18009A */ lui $t8, %hi(_map_i_staticSegmentRomStart) # $t8, 0x9a
|
||||
/* AF7ED0 80080D30 27185000 */ addiu $t8, %lo(_map_i_staticSegmentRomStart) # addiu $t8, $t8, 0x5000
|
||||
/* AF7ED4 80080D34 000F7900 */ sll $t7, $t7, 4
|
||||
/* AF7ED8 80080D38 8C84062C */ lw $a0, 0x62c($a0)
|
||||
/* AF7EDC 80080D3C 2419015A */ li $t9, 346
|
||||
/* AF7EE0 80080D40 3C078014 */ lui $a3, %hi(D_8013D7E4) # $a3, 0x8014
|
||||
/* AF7EE4 80080D44 24E7D7E4 */ addiu $a3, %lo(D_8013D7E4) # addiu $a3, $a3, -0x281c
|
||||
/* AF7EE8 80080D48 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* AF7EEC 80080D4C 01F82821 */ addu $a1, $t7, $t8
|
||||
/* AF7EF0 80080D50 0C0006A8 */ jal DmaMgr_SendRequest1
|
||||
/* AF7EF4 80080D54 24060FF0 */ li $a2, 4080
|
||||
/* AF7EF8 80080D58 8FAB0034 */ lw $t3, 0x34($sp)
|
||||
/* AF7EFC 80080D5C 3C068016 */ lui $a2, %hi(D_8015FFD0) # $a2, 0x8016
|
||||
/* AF7F00 80080D60 24C6FFD0 */ addiu $a2, %lo(D_8015FFD0) # addiu $a2, $a2, -0x30
|
||||
/* AF7F04 80080D64 8CC90000 */ lw $t1, ($a2)
|
||||
/* AF7F08 80080D68 000B6080 */ sll $t4, $t3, 2
|
||||
/* AF7F0C 80080D6C 018B6023 */ subu $t4, $t4, $t3
|
||||
/* AF7F10 80080D70 87A2003E */ lh $v0, 0x3e($sp)
|
||||
/* AF7F14 80080D74 8D2A0014 */ lw $t2, 0x14($t1)
|
||||
/* AF7F18 80080D78 000C6080 */ sll $t4, $t4, 2
|
||||
/* AF7F1C 80080D7C 018B6023 */ subu $t4, $t4, $t3
|
||||
/* AF7F20 80080D80 000C60C0 */ sll $t4, $t4, 3
|
||||
/* AF7F24 80080D84 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF7F28 80080D88 00021040 */ sll $v0, $v0, 1
|
||||
/* AF7F2C 80080D8C 014C6821 */ addu $t5, $t2, $t4
|
||||
/* AF7F30 80080D90 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
|
||||
/* AF7F34 80080D94 01A27021 */ addu $t6, $t5, $v0
|
||||
/* AF7F38 80080D98 85CF0000 */ lh $t7, ($t6)
|
||||
/* AF7F3C 80080D9C 8C780000 */ lw $t8, ($v1)
|
||||
/* AF7F40 80080DA0 A70F0F34 */ sh $t7, 0xf34($t8)
|
||||
/* AF7F44 80080DA4 8FAB0034 */ lw $t3, 0x34($sp)
|
||||
/* AF7F48 80080DA8 8CD90000 */ lw $t9, ($a2)
|
||||
/* AF7F4C 80080DAC 8C6F0000 */ lw $t7, ($v1)
|
||||
/* AF7F50 80080DB0 000B5080 */ sll $t2, $t3, 2
|
||||
/* AF7F54 80080DB4 014B5023 */ subu $t2, $t2, $t3
|
||||
/* AF7F58 80080DB8 8F290018 */ lw $t1, 0x18($t9)
|
||||
/* AF7F5C 80080DBC 000A5080 */ sll $t2, $t2, 2
|
||||
/* AF7F60 80080DC0 014B5023 */ subu $t2, $t2, $t3
|
||||
/* AF7F64 80080DC4 000A50C0 */ sll $t2, $t2, 3
|
||||
/* AF7F68 80080DC8 012A6021 */ addu $t4, $t1, $t2
|
||||
/* AF7F6C 80080DCC 01826821 */ addu $t5, $t4, $v0
|
||||
/* AF7F70 80080DD0 85AE0000 */ lh $t6, ($t5)
|
||||
/* AF7F74 80080DD4 A5EE0F36 */ sh $t6, 0xf36($t7)
|
||||
/* AF7F78 80080DD8 8C780000 */ lw $t8, ($v1)
|
||||
/* AF7F7C 80080DDC 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* AF7F80 80080DE0 0C02023F */ jal func_800808FC
|
||||
/* AF7F84 80080DE4 87050F50 */ lh $a1, 0xf50($t8)
|
||||
/* AF7F88 80080DE8 3C048014 */ lui $a0, %hi(D_8013D7F4) # $a0, 0x8014
|
||||
/* AF7F8C 80080DEC 0C00084C */ jal osSyncPrintf
|
||||
/* AF7F90 80080DF0 2484D7F4 */ addiu $a0, %lo(D_8013D7F4) # addiu $a0, $a0, -0x280c
|
||||
glabel L80080DF4
|
||||
.L80080DF4:
|
||||
/* AF7F94 80080DF4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* AF7F98 80080DF8 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* AF7F9C 80080DFC 03E00008 */ jr $ra
|
||||
/* AF7FA0 80080E00 00000000 */ nop
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013D810
|
||||
.asciz "*******\n*******\nroom_no=%d (%d)(%d)\n*******\n*******\n"
|
||||
# EUC-JP: ******* ******* room_no=%d (%d)(%d) ******* *******
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D864
|
||||
.asciz "ROOM_INF=%d\n"
|
||||
# EUC-JP: ROOM_INF=
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D87C
|
||||
.asciz "\x1b[33m"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D884
|
||||
.asciz "部屋部屋=%d\n"
|
||||
# EUC-JP: 部屋部屋= | Room Room =
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D894
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_8013DAF4
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080F1C
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
.word L80080E74
|
||||
|
||||
.text
|
||||
glabel func_80080E04
|
||||
/* AF7FA4 80080E04 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* AF7FA8 80080E08 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* AF7FAC 80080E0C 8FAE0020 */ lw $t6, 0x20($sp)
|
||||
/* AF7FB0 80080E10 3C068016 */ lui $a2, %hi(gSaveContext+0x1402) # $a2, 0x8016
|
||||
/* AF7FB4 80080E14 94C6FA62 */ lhu $a2, %lo(gSaveContext+0x1402)($a2)
|
||||
/* AF7FB8 80080E18 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* AF7FBC 80080E1C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* AF7FC0 80080E20 3C048014 */ lui $a0, %hi(D_8013D810) # $a0, 0x8014
|
||||
/* AF7FC4 80080E24 85C700A4 */ lh $a3, 0xa4($t6)
|
||||
/* AF7FC8 80080E28 2484D810 */ addiu $a0, %lo(D_8013D810) # addiu $a0, $a0, -0x27f0
|
||||
/* AF7FCC 80080E2C 87A50026 */ lh $a1, 0x26($sp)
|
||||
/* AF7FD0 80080E30 0C00084C */ jal osSyncPrintf
|
||||
/* AF7FD4 80080E34 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* AF7FD8 80080E38 87A30026 */ lh $v1, 0x26($sp)
|
||||
/* AF7FDC 80080E3C 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
/* AF7FE0 80080E40 3C010001 */ lui $at, 1
|
||||
/* AF7FE4 80080E44 04600034 */ bltz $v1, .L80080F18
|
||||
/* AF7FE8 80080E48 002F0821 */ addu $at, $at, $t7
|
||||
/* AF7FEC 80080E4C 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
/* AF7FF0 80080E50 95F800A4 */ lhu $t8, 0xa4($t7)
|
||||
/* AF7FF4 80080E54 2F010019 */ sltiu $at, $t8, 0x19
|
||||
/* AF7FF8 80080E58 10200030 */ beqz $at, .L80080F1C
|
||||
/* AF7FFC 80080E5C 0018C080 */ sll $t8, $t8, 2
|
||||
/* AF8000 80080E60 3C018014 */ lui $at, %hi(jtbl_8013DAF4)
|
||||
/* AF8004 80080E64 00380821 */ addu $at, $at, $t8
|
||||
/* AF8008 80080E68 8C38DAF4 */ lw $t8, %lo(jtbl_8013DAF4)($at)
|
||||
/* AF800C 80080E6C 03000008 */ jr $t8
|
||||
/* AF8010 80080E70 00000000 */ nop
|
||||
glabel L80080E74
|
||||
/* AF8014 80080E74 8FB9001C */ lw $t9, 0x1c($sp)
|
||||
/* AF8018 80080E78 3C098016 */ lui $t1, %hi(gSaveContext) # $t1, 0x8016
|
||||
/* AF801C 80080E7C 2529E660 */ addiu $t1, %lo(gSaveContext) # addiu $t1, $t1, -0x19a0
|
||||
/* AF8020 80080E80 001940C0 */ sll $t0, $t9, 3
|
||||
/* AF8024 80080E84 01194023 */ subu $t0, $t0, $t9
|
||||
/* AF8028 80080E88 00084080 */ sll $t0, $t0, 2
|
||||
/* AF802C 80080E8C 00035880 */ sll $t3, $v1, 2
|
||||
/* AF8030 80080E90 3C0C8012 */ lui $t4, %hi(gBitFlags)
|
||||
/* AF8034 80080E94 018B6021 */ addu $t4, $t4, $t3
|
||||
/* AF8038 80080E98 01091021 */ addu $v0, $t0, $t1
|
||||
/* AF803C 80080E9C 8C4A00E8 */ lw $t2, 0xe8($v0)
|
||||
/* AF8040 80080EA0 8D8C7120 */ lw $t4, %lo(gBitFlags)($t4)
|
||||
/* AF8044 80080EA4 3C048014 */ lui $a0, %hi(D_8013D864) # $a0, 0x8014
|
||||
/* AF8048 80080EA8 2484D864 */ addiu $a0, %lo(D_8013D864) # addiu $a0, $a0, -0x279c
|
||||
/* AF804C 80080EAC 014C2825 */ or $a1, $t2, $t4
|
||||
/* AF8050 80080EB0 0C00084C */ jal osSyncPrintf
|
||||
/* AF8054 80080EB4 AC4500E8 */ sw $a1, 0xe8($v0)
|
||||
/* AF8058 80080EB8 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* AF805C 80080EBC 87A50026 */ lh $a1, 0x26($sp)
|
||||
/* AF8060 80080EC0 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF8064 80080EC4 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF8068 80080EC8 00811021 */ addu $v0, $a0, $at
|
||||
/* AF806C 80080ECC A445025C */ sh $a1, 0x25c($v0)
|
||||
/* AF8070 80080ED0 8FAE001C */ lw $t6, 0x1c($sp)
|
||||
/* AF8074 80080ED4 0C0201FF */ jal func_800807FC
|
||||
/* AF8078 80080ED8 A44E025A */ sh $t6, 0x25a($v0)
|
||||
/* AF807C 80080EDC 3C048014 */ lui $a0, %hi(D_8013D87C) # $a0, 0x8014
|
||||
/* AF8080 80080EE0 0C00084C */ jal osSyncPrintf
|
||||
/* AF8084 80080EE4 2484D87C */ addiu $a0, %lo(D_8013D87C) # addiu $a0, $a0, -0x2784
|
||||
/* AF8088 80080EE8 3C048014 */ lui $a0, %hi(D_8013D884) # $a0, 0x8014
|
||||
/* AF808C 80080EEC 2484D884 */ addiu $a0, %lo(D_8013D884) # addiu $a0, $a0, -0x277c
|
||||
/* AF8090 80080EF0 0C00084C */ jal osSyncPrintf
|
||||
/* AF8094 80080EF4 87A50026 */ lh $a1, 0x26($sp)
|
||||
/* AF8098 80080EF8 3C048014 */ lui $a0, %hi(D_8013D894) # $a0, 0x8014
|
||||
/* AF809C 80080EFC 0C00084C */ jal osSyncPrintf
|
||||
/* AF80A0 80080F00 2484D894 */ addiu $a0, %lo(D_8013D894) # addiu $a0, $a0, -0x276c
|
||||
/* AF80A4 80080F04 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* AF80A8 80080F08 0C0202AD */ jal func_80080AB4
|
||||
/* AF80AC 80080F0C 87A50026 */ lh $a1, 0x26($sp)
|
||||
/* AF80B0 80080F10 10000002 */ b .L80080F1C
|
||||
/* AF80B4 80080F14 00000000 */ nop
|
||||
.L80080F18:
|
||||
/* AF80B8 80080F18 A420074C */ sh $zero, 0x74c($at)
|
||||
glabel L80080F1C
|
||||
.L80080F1C:
|
||||
/* AF80BC 80080F1C 3C188016 */ lui $t8, %hi(gSaveContext+0x1422) # $t8, 0x8016
|
||||
/* AF80C0 80080F20 8718FA82 */ lh $t8, %lo(gSaveContext+0x1422)($t8)
|
||||
/* AF80C4 80080F24 24010002 */ li $at, 2
|
||||
/* AF80C8 80080F28 13010002 */ beq $t8, $at, .L80080F34
|
||||
/* AF80CC 80080F2C 3C018016 */ lui $at, %hi(gSaveContext+0x1422) # $at, 0x8016
|
||||
/* AF80D0 80080F30 A420FA82 */ sh $zero, %lo(gSaveContext+0x1422)($at)
|
||||
.L80080F34:
|
||||
/* AF80D4 80080F34 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* AF80D8 80080F38 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* AF80DC 80080F3C 03E00008 */ jr $ra
|
||||
/* AF80E0 80080F40 00000000 */ nop
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
glabel func_80080F44
|
||||
/* AF80E4 80080F44 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* AF80E8 80080F48 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* AF80EC 80080F4C 0C01ECD9 */ jal MapMark_ClearPointers
|
||||
/* AF80F0 80080F50 00000000 */ nop
|
||||
/* AF80F4 80080F54 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* AF80F8 80080F58 3C018016 */ lui $at, %hi(D_8015FFD0) # $at, 0x8016
|
||||
/* AF80FC 80080F5C AC20FFD0 */ sw $zero, %lo(D_8015FFD0)($at)
|
||||
/* AF8100 80080F60 03E00008 */ jr $ra
|
||||
/* AF8104 80080F64 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
|
@ -1,262 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013D898
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D8A8
|
||||
.asciz "\n\n\nMAP テクスチャ初期化 scene_data_ID=%d\nmapSegment=%x\n\n"
|
||||
# EUC-JP: MAP テクスチャ初期化 | MAP texture initalization
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D8E8
|
||||
.asciz "parameter->mapSegment != NULL"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013D908
|
||||
.asciz "../z_map_exp.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_8013DB58
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
.word L8008106C
|
||||
|
||||
glabel jtbl_8013DBA8
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
.word L8008114C
|
||||
|
||||
.text
|
||||
glabel func_80080F68
|
||||
/* AF8108 80080F68 3C088016 */ lui $t0, %hi(D_8015FFD0) # $t0, 0x8016
|
||||
/* AF810C 80080F6C 3C0E8012 */ lui $t6, %hi(D_801257F8) # $t6, 0x8012
|
||||
/* AF8110 80080F70 2508FFD0 */ addiu $t0, %lo(D_8015FFD0) # addiu $t0, $t0, -0x30
|
||||
/* AF8114 80080F74 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* AF8118 80080F78 25CE57F8 */ addiu $t6, %lo(D_801257F8) # addiu $t6, $t6, 0x57f8
|
||||
/* AF811C 80080F7C 3C010001 */ lui $at, 1
|
||||
/* AF8120 80080F80 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* AF8124 80080F84 2402FFFF */ li $v0, -1
|
||||
/* AF8128 80080F88 AD0E0000 */ sw $t6, ($t0)
|
||||
/* AF812C 80080F8C 00811821 */ addu $v1, $a0, $at
|
||||
/* AF8130 80080F90 A4620748 */ sh $v0, 0x748($v1)
|
||||
/* AF8134 80080F94 A462074A */ sh $v0, 0x74a($v1)
|
||||
/* AF8138 80080F98 3C068014 */ lui $a2, %hi(D_8013D898) # $a2, 0x8014
|
||||
/* AF813C 80080F9C 24C6D898 */ addiu $a2, %lo(D_8013D898) # addiu $a2, $a2, -0x2768
|
||||
/* AF8140 80080FA0 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* AF8144 80080FA4 AFA30018 */ sw $v1, 0x18($sp)
|
||||
/* AF8148 80080FA8 24051000 */ li $a1, 4096
|
||||
/* AF814C 80080FAC 0C031521 */ jal Game_Alloc
|
||||
/* AF8150 80080FB0 240701C9 */ li $a3, 457
|
||||
/* AF8154 80080FB4 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* AF8158 80080FB8 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
|
||||
/* AF815C 80080FBC 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
|
||||
/* AF8160 80080FC0 00E11821 */ addu $v1, $a3, $at
|
||||
/* AF8164 80080FC4 AC62013C */ sw $v0, 0x13c($v1)
|
||||
/* AF8168 80080FC8 3C048014 */ lui $a0, %hi(D_8013D8A8) # $a0, 0x8014
|
||||
/* AF816C 80080FCC 84E500A4 */ lh $a1, 0xa4($a3)
|
||||
/* AF8170 80080FD0 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* AF8174 80080FD4 2484D8A8 */ addiu $a0, %lo(D_8013D8A8) # addiu $a0, $a0, -0x2758
|
||||
/* AF8178 80080FD8 0C00084C */ jal osSyncPrintf
|
||||
/* AF817C 80080FDC 00403025 */ move $a2, $v0
|
||||
/* AF8180 80080FE0 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* AF8184 80080FE4 3C088016 */ lui $t0, %hi(D_8015FFD0) # $t0, 0x8016
|
||||
/* AF8188 80080FE8 3C048014 */ lui $a0, %hi(D_8013D8E8) # $a0, 0x8014
|
||||
/* AF818C 80080FEC 8C6F013C */ lw $t7, 0x13c($v1)
|
||||
/* AF8190 80080FF0 2508FFD0 */ addiu $t0, %lo(D_8015FFD0) # addiu $t0, $t0, -0x30
|
||||
/* AF8194 80080FF4 2484D8E8 */ addiu $a0, %lo(D_8013D8E8) # addiu $a0, $a0, -0x2718
|
||||
/* AF8198 80080FF8 15E00006 */ bnez $t7, .L80081014
|
||||
/* AF819C 80080FFC 3C058014 */ lui $a1, %hi(D_8013D908) # $a1, 0x8014
|
||||
/* AF81A0 80081000 24A5D908 */ addiu $a1, %lo(D_8013D908) # addiu $a1, $a1, -0x26f8
|
||||
/* AF81A4 80081004 0C0007FC */ jal __assert
|
||||
/* AF81A8 80081008 240601CB */ li $a2, 459
|
||||
/* AF81AC 8008100C 3C088016 */ lui $t0, %hi(D_8015FFD0) # $t0, 0x8016
|
||||
/* AF81B0 80081010 2508FFD0 */ addiu $t0, %lo(D_8015FFD0) # addiu $t0, $t0, -0x30
|
||||
.L80081014:
|
||||
/* AF81B4 80081014 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* AF81B8 80081018 848900A4 */ lh $t1, 0xa4($a0)
|
||||
/* AF81BC 8008101C 29210019 */ slti $at, $t1, 0x19
|
||||
/* AF81C0 80081020 1420000A */ bnez $at, .L8008104C
|
||||
/* AF81C4 80081024 01201025 */ move $v0, $t1
|
||||
/* AF81C8 80081028 2458FFAF */ addiu $t8, $v0, -0x51
|
||||
/* AF81CC 8008102C 2F010014 */ sltiu $at, $t8, 0x14
|
||||
/* AF81D0 80081030 1020007F */ beqz $at, .L80081230
|
||||
/* AF81D4 80081034 0018C080 */ sll $t8, $t8, 2
|
||||
/* AF81D8 80081038 3C018014 */ lui $at, %hi(jtbl_8013DB58)
|
||||
/* AF81DC 8008103C 00380821 */ addu $at, $at, $t8
|
||||
/* AF81E0 80081040 8C38DB58 */ lw $t8, %lo(jtbl_8013DB58)($at)
|
||||
/* AF81E4 80081044 03000008 */ jr $t8
|
||||
/* AF81E8 80081048 00000000 */ nop
|
||||
.L8008104C:
|
||||
/* AF81EC 8008104C 2C410019 */ sltiu $at, $v0, 0x19
|
||||
/* AF81F0 80081050 10200077 */ beqz $at, .L80081230
|
||||
/* AF81F4 80081054 0002C880 */ sll $t9, $v0, 2
|
||||
/* AF81F8 80081058 3C018014 */ lui $at, %hi(jtbl_8013DBA8)
|
||||
/* AF81FC 8008105C 00390821 */ addu $at, $at, $t9
|
||||
/* AF8200 80081060 8C39DBA8 */ lw $t9, %lo(jtbl_8013DBA8)($at)
|
||||
/* AF8204 80081064 03200008 */ jr $t9
|
||||
/* AF8208 80081068 00000000 */ nop
|
||||
glabel L8008106C
|
||||
/* AF820C 8008106C 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF8210 80081070 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
|
||||
/* AF8214 80081074 8C6B0000 */ lw $t3, ($v1)
|
||||
/* AF8218 80081078 3C078016 */ lui $a3, %hi(gSaveContext) # $a3, 0x8016
|
||||
/* AF821C 8008107C 24E7E660 */ addiu $a3, %lo(gSaveContext) # addiu $a3, $a3, -0x19a0
|
||||
/* AF8220 80081080 2526FFAF */ addiu $a2, $t1, -0x51
|
||||
/* AF8224 80081084 A4E61402 */ sh $a2, 0x1402($a3)
|
||||
/* AF8228 80081088 A5660F2A */ sh $a2, 0xf2a($t3)
|
||||
/* AF822C 8008108C 8D0C0000 */ lw $t4, ($t0)
|
||||
/* AF8230 80081090 000610C0 */ sll $v0, $a2, 3
|
||||
/* AF8234 80081094 8C780000 */ lw $t8, ($v1)
|
||||
/* AF8238 80081098 8D8D0034 */ lw $t5, 0x34($t4)
|
||||
/* AF823C 8008109C 00062C00 */ sll $a1, $a2, 0x10
|
||||
/* AF8240 800810A0 00052C03 */ sra $a1, $a1, 0x10
|
||||
/* AF8244 800810A4 01A27021 */ addu $t6, $t5, $v0
|
||||
/* AF8248 800810A8 85CF0000 */ lh $t7, ($t6)
|
||||
/* AF824C 800810AC A70F0F30 */ sh $t7, 0xf30($t8)
|
||||
/* AF8250 800810B0 8D190000 */ lw $t9, ($t0)
|
||||
/* AF8254 800810B4 8C6D0000 */ lw $t5, ($v1)
|
||||
/* AF8258 800810B8 8F2A0034 */ lw $t2, 0x34($t9)
|
||||
/* AF825C 800810BC 01425821 */ addu $t3, $t2, $v0
|
||||
/* AF8260 800810C0 856C0002 */ lh $t4, 2($t3)
|
||||
/* AF8264 800810C4 A5AC0F32 */ sh $t4, 0xf32($t5)
|
||||
/* AF8268 800810C8 8D0E0000 */ lw $t6, ($t0)
|
||||
/* AF826C 800810CC 8C6A0000 */ lw $t2, ($v1)
|
||||
/* AF8270 800810D0 8DCF0034 */ lw $t7, 0x34($t6)
|
||||
/* AF8274 800810D4 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* AF8278 800810D8 87190004 */ lh $t9, 4($t8)
|
||||
/* AF827C 800810DC A5590F34 */ sh $t9, 0xf34($t2)
|
||||
/* AF8280 800810E0 8D0B0000 */ lw $t3, ($t0)
|
||||
/* AF8284 800810E4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* AF8288 800810E8 8D6C0034 */ lw $t4, 0x34($t3)
|
||||
/* AF828C 800810EC 01826821 */ addu $t5, $t4, $v0
|
||||
/* AF8290 800810F0 85AE0006 */ lh $t6, 6($t5)
|
||||
/* AF8294 800810F4 A5EE0F36 */ sh $t6, 0xf36($t7)
|
||||
/* AF8298 800810F8 0C0202AD */ jal func_80080AB4
|
||||
/* AF829C 800810FC AFA6002C */ sw $a2, 0x2c($sp)
|
||||
/* AF82A0 80081100 3C088016 */ lui $t0, %hi(D_8015FFD0) # $t0, 0x8016
|
||||
/* AF82A4 80081104 2508FFD0 */ addiu $t0, %lo(D_8015FFD0) # addiu $t0, $t0, -0x30
|
||||
/* AF82A8 80081108 8D180000 */ lw $t8, ($t0)
|
||||
/* AF82AC 8008110C 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* AF82B0 80081110 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF82B4 80081114 8F19002C */ lw $t9, 0x2c($t8)
|
||||
/* AF82B8 80081118 00061040 */ sll $v0, $a2, 1
|
||||
/* AF82BC 8008111C 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
|
||||
/* AF82C0 80081120 03225021 */ addu $t2, $t9, $v0
|
||||
/* AF82C4 80081124 854B0000 */ lh $t3, ($t2)
|
||||
/* AF82C8 80081128 8C6C0000 */ lw $t4, ($v1)
|
||||
/* AF82CC 8008112C A58B0DCE */ sh $t3, 0xdce($t4)
|
||||
/* AF82D0 80081130 8D0D0000 */ lw $t5, ($t0)
|
||||
/* AF82D4 80081134 8C790000 */ lw $t9, ($v1)
|
||||
/* AF82D8 80081138 8DAE0030 */ lw $t6, 0x30($t5)
|
||||
/* AF82DC 8008113C 01C27821 */ addu $t7, $t6, $v0
|
||||
/* AF82E0 80081140 85F80000 */ lh $t8, ($t7)
|
||||
/* AF82E4 80081144 1000003A */ b .L80081230
|
||||
/* AF82E8 80081148 A7380DD0 */ sh $t8, 0xdd0($t9)
|
||||
glabel L8008114C
|
||||
/* AF82EC 8008114C 29210011 */ slti $at, $t1, 0x11
|
||||
/* AF82F0 80081150 14200003 */ bnez $at, .L80081160
|
||||
/* AF82F4 80081154 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
|
||||
/* AF82F8 80081158 10000002 */ b .L80081164
|
||||
/* AF82FC 8008115C 2526FFEF */ addiu $a2, $t1, -0x11
|
||||
.L80081160:
|
||||
/* AF8300 80081160 01203025 */ move $a2, $t1
|
||||
.L80081164:
|
||||
/* AF8304 80081164 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
|
||||
/* AF8308 80081168 8C6B0000 */ lw $t3, ($v1)
|
||||
/* AF830C 8008116C 3C078016 */ lui $a3, %hi(gSaveContext) # $a3, 0x8016
|
||||
/* AF8310 80081170 24E7E660 */ addiu $a3, %lo(gSaveContext) # addiu $a3, $a3, -0x19a0
|
||||
/* AF8314 80081174 A4E61402 */ sh $a2, 0x1402($a3)
|
||||
/* AF8318 80081178 A5660F2A */ sh $a2, 0xf2a($t3)
|
||||
/* AF831C 8008117C 848900A4 */ lh $t1, 0xa4($a0)
|
||||
/* AF8320 80081180 2921000A */ slti $at, $t1, 0xa
|
||||
/* AF8324 80081184 14200003 */ bnez $at, .L80081194
|
||||
/* AF8328 80081188 29210011 */ slti $at, $t1, 0x11
|
||||
/* AF832C 8008118C 54200029 */ bnezl $at, .L80081234
|
||||
/* AF8330 80081190 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80081194:
|
||||
/* AF8334 80081194 8D0C0000 */ lw $t4, ($t0)
|
||||
/* AF8338 80081198 000610C0 */ sll $v0, $a2, 3
|
||||
/* AF833C 8008119C 8C780000 */ lw $t8, ($v1)
|
||||
/* AF8340 800811A0 8D8D003C */ lw $t5, 0x3c($t4)
|
||||
/* AF8344 800811A4 01A27021 */ addu $t6, $t5, $v0
|
||||
/* AF8348 800811A8 85CF0000 */ lh $t7, ($t6)
|
||||
/* AF834C 800811AC A70F0F30 */ sh $t7, 0xf30($t8)
|
||||
/* AF8350 800811B0 8D190000 */ lw $t9, ($t0)
|
||||
/* AF8354 800811B4 8C6D0000 */ lw $t5, ($v1)
|
||||
/* AF8358 800811B8 8F2A003C */ lw $t2, 0x3c($t9)
|
||||
/* AF835C 800811BC 01425821 */ addu $t3, $t2, $v0
|
||||
/* AF8360 800811C0 856C0002 */ lh $t4, 2($t3)
|
||||
/* AF8364 800811C4 A5AC0F32 */ sh $t4, 0xf32($t5)
|
||||
/* AF8368 800811C8 8D0E0000 */ lw $t6, ($t0)
|
||||
/* AF836C 800811CC 8C6A0000 */ lw $t2, ($v1)
|
||||
/* AF8370 800811D0 8DCF003C */ lw $t7, 0x3c($t6)
|
||||
/* AF8374 800811D4 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* AF8378 800811D8 87190004 */ lh $t9, 4($t8)
|
||||
/* AF837C 800811DC A5590F34 */ sh $t9, 0xf34($t2)
|
||||
/* AF8380 800811E0 8D0B0000 */ lw $t3, ($t0)
|
||||
/* AF8384 800811E4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* AF8388 800811E8 00065040 */ sll $t2, $a2, 1
|
||||
/* AF838C 800811EC 8D6C003C */ lw $t4, 0x3c($t3)
|
||||
/* AF8390 800811F0 01826821 */ addu $t5, $t4, $v0
|
||||
/* AF8394 800811F4 85AE0006 */ lh $t6, 6($t5)
|
||||
/* AF8398 800811F8 A5EE0F36 */ sh $t6, 0xf36($t7)
|
||||
/* AF839C 800811FC 8D180000 */ lw $t8, ($t0)
|
||||
/* AF83A0 80081200 8C6C0000 */ lw $t4, ($v1)
|
||||
/* AF83A4 80081204 8F190038 */ lw $t9, 0x38($t8)
|
||||
/* AF83A8 80081208 032A5821 */ addu $t3, $t9, $t2
|
||||
/* AF83AC 8008120C 85670000 */ lh $a3, ($t3)
|
||||
/* AF83B0 80081210 A5870F2C */ sh $a3, 0xf2c($t4)
|
||||
/* AF83B4 80081214 8C6D0000 */ lw $t5, ($v1)
|
||||
/* AF83B8 80081218 A5A70F2E */ sh $a3, 0xf2e($t5)
|
||||
/* AF83BC 8008121C 8FAE0018 */ lw $t6, 0x18($sp)
|
||||
/* AF83C0 80081220 0C020381 */ jal func_80080E04
|
||||
/* AF83C4 80081224 81C51CBC */ lb $a1, 0x1cbc($t6)
|
||||
/* AF83C8 80081228 0C01ECA4 */ jal MapMark_Init
|
||||
/* AF83CC 8008122C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
.L80081230:
|
||||
/* AF83D0 80081230 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80081234:
|
||||
/* AF83D4 80081234 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* AF83D8 80081238 03E00008 */ jr $ra
|
||||
/* AF83DC 8008123C 00000000 */ nop
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
glabel func_80082248
|
||||
/* AF93E8 80082248 3C0E8016 */ lui $t6, %hi(D_8015FFD0) # $t6, 0x8016
|
||||
/* AF93EC 8008224C 8DCEFFD0 */ lw $t6, %lo(D_8015FFD0)($t6)
|
||||
/* AF93F0 80082250 0004C100 */ sll $t8, $a0, 4
|
||||
/* AF93F4 80082254 00054040 */ sll $t0, $a1, 1
|
||||
/* AF93F8 80082258 8DCF0000 */ lw $t7, ($t6)
|
||||
/* AF93FC 8008225C 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* AF9400 80082260 03284821 */ addu $t1, $t9, $t0
|
||||
/* AF9404 80082264 03E00008 */ jr $ra
|
||||
/* AF9408 80082268 85220000 */ lh $v0, ($t1)
|
||||
|
|
@ -140,7 +140,7 @@ glabel Interface_Draw
|
|||
/* B01C74 8008AAD4 02E02025 */ move $a0, $s7
|
||||
/* B01C78 8008AAD8 0C022A65 */ jal func_8008A994
|
||||
/* B01C7C 8008AADC 02C02025 */ move $a0, $s6
|
||||
/* B01C80 8008AAE0 0C01E3C7 */ jal Interface_DrawHealth
|
||||
/* B01C80 8008AAE0 0C01E3C7 */ jal Health_Draw
|
||||
/* B01C84 8008AAE4 02E02025 */ move $a0, $s7
|
||||
/* B01C88 8008AAE8 0C025148 */ jal func_80094520
|
||||
/* B01C8C 8008AAEC 8EE40000 */ lw $a0, ($s7)
|
||||
|
@ -499,7 +499,7 @@ glabel L8008ABB0
|
|||
.L8008B02C:
|
||||
/* B021CC 8008B02C 0C0220A1 */ jal Interface_DrawMagicBar
|
||||
/* B021D0 8008B030 02E02025 */ move $a0, $s7
|
||||
/* B021D4 8008B034 0C0205B8 */ jal Interface_DrawMinimap
|
||||
/* B021D4 8008B034 0C0205B8 */ jal Minimap_Draw
|
||||
/* B021D8 8008B038 02E02025 */ move $a0, $s7
|
||||
/* B021DC 8008B03C 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
|
||||
/* B021E0 8008B040 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
|
||||
|
|
|
@ -381,7 +381,7 @@ glabel L8008D93C
|
|||
/* B04B54 8008D9B4 03017821 */ addu $t7, $t8, $at
|
||||
/* B04B58 8008D9B8 AFAF0028 */ sw $t7, 0x28($sp)
|
||||
.L8008D9BC:
|
||||
/* B04B5C 8008D9BC 0C02089B */ jal func_8008226C
|
||||
/* B04B5C 8008D9BC 0C02089B */ jal Map_Update
|
||||
/* B04B60 8008D9C0 8FA40048 */ lw $a0, 0x48($sp)
|
||||
/* B04B64 8008D9C4 3C088016 */ lui $t0, %hi(gSaveContext) # $t0, 0x8016
|
||||
/* B04B68 8008D9C8 2508E660 */ addiu $t0, %lo(gSaveContext) # addiu $t0, $t0, -0x19a0
|
||||
|
|
|
@ -109,8 +109,8 @@ glabel func_8081BB10
|
|||
/* 08488 8081BCA8 8625021A */ lh $a1, 0x021A($s1) ## 0000021A
|
||||
/* 0848C 8081BCAC 3C128016 */ lui $s2, %hi(gSaveContext)
|
||||
/* 08490 8081BCB0 2652E660 */ addiu $s2, %lo(gSaveContext)
|
||||
/* 08494 8081BCB4 3C198016 */ lui $t9, %hi(D_8015FFD0)
|
||||
/* 08498 8081BCB8 8F39FFD0 */ lw $t9, %lo(D_8015FFD0)($t9)
|
||||
/* 08494 8081BCB4 3C198016 */ lui $t9, %hi(gMapData)
|
||||
/* 08498 8081BCB8 8F39FFD0 */ lw $t9, %lo(gMapData)($t9)
|
||||
/* 0849C 8081BCBC 96581402 */ lhu $t8, 0x1402($s2) ## 8015FA62
|
||||
/* 084A0 8081BCC0 3C038016 */ lui $v1, %hi(gGameInfo)
|
||||
/* 084A4 8081BCC4 8F2F0000 */ lw $t7, 0x0000($t9) ## 80160000
|
||||
|
@ -215,10 +215,10 @@ glabel func_8081BB10
|
|||
/* 08610 8081BE30 01C27023 */ subu $t6, $t6, $v0
|
||||
/* 08614 8081BE34 000E7080 */ sll $t6, $t6, 2
|
||||
/* 08618 8081BE38 024EC021 */ addu $t8, $s2, $t6
|
||||
/* 0861C 8081BE3C 3C088016 */ lui $t0, %hi(D_8015FFD0)
|
||||
/* 0861C 8081BE3C 3C088016 */ lui $t0, %hi(gMapData)
|
||||
/* 08620 8081BE40 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
|
||||
/* 08624 8081BE44 346304F0 */ ori $v1, $v1, 0x04F0 ## $v1 = 000104F0
|
||||
/* 08628 8081BE48 2508FFD0 */ addiu $t0, %lo(D_8015FFD0)
|
||||
/* 08628 8081BE48 2508FFD0 */ addiu $t0, %lo(gMapData)
|
||||
/* 0862C 8081BE4C 8F0400EC */ lw $a0, 0x00EC($t8) ## 000000EC
|
||||
/* 08630 8081BE50 8FA601F0 */ lw $a2, 0x01F0($sp)
|
||||
/* 08634 8081BE54 0007C880 */ sll $t9, $a3, 2
|
||||
|
@ -286,11 +286,11 @@ glabel func_8081BB10
|
|||
/* 08710 8081BF30 24EE0003 */ addiu $t6, $a3, 0x0003 ## $t6 = 00000001
|
||||
/* 08714 8081BF34 8D590008 */ lw $t9, 0x0008($t2) ## 80127128
|
||||
/* 08718 8081BF38 91EE00A8 */ lbu $t6, 0x00A8($t7) ## 000000A6
|
||||
/* 0871C 8081BF3C 3C0F8016 */ lui $t7, %hi(D_8015FFD0)
|
||||
/* 0871C 8081BF3C 3C0F8016 */ lui $t7, %hi(gMapData)
|
||||
/* 08720 8081BF40 032EC024 */ and $t8, $t9, $t6
|
||||
/* 08724 8081BF44 1300000F */ beq $t8, $zero, .L8081BF84
|
||||
/* 08728 8081BF48 8FAE01F0 */ lw $t6, 0x01F0($sp)
|
||||
/* 0872C 8081BF4C 8DEFFFD0 */ lw $t7, %lo(D_8015FFD0)($t7)
|
||||
/* 0872C 8081BF4C 8DEFFFD0 */ lw $t7, %lo(gMapData)($t7)
|
||||
/* 08730 8081BF50 01C3C021 */ addu $t8, $t6, $v1
|
||||
/* 08734 8081BF54 8DF90068 */ lw $t9, 0x0068($t7) ## 80160068
|
||||
/* 08738 8081BF58 870F025A */ lh $t7, 0x025A($t8) ## 0000025A
|
||||
|
@ -313,8 +313,8 @@ glabel func_8081BB10
|
|||
/* 08774 8081BF94 5420FFE1 */ bnel $at, $zero, .L8081BF1C
|
||||
/* 08778 8081BF98 0007C880 */ sll $t9, $a3, 2
|
||||
.L8081BF9C:
|
||||
/* 0877C 8081BF9C 3C088016 */ lui $t0, %hi(D_8015FFD0)
|
||||
/* 08780 8081BFA0 2508FFD0 */ addiu $t0, %lo(D_8015FFD0)
|
||||
/* 0877C 8081BF9C 3C088016 */ lui $t0, %hi(gMapData)
|
||||
/* 08780 8081BFA0 2508FFD0 */ addiu $t0, %lo(gMapData)
|
||||
/* 08784 8081BFA4 8D180000 */ lw $t8, 0x0000($t0) ## 8015FFD0
|
||||
/* 08788 8081BFA8 3C038016 */ lui $v1, %hi(gGameInfo)
|
||||
/* 0878C 8081BFAC 0002C900 */ sll $t9, $v0, 4
|
||||
|
@ -426,11 +426,11 @@ glabel func_8081BB10
|
|||
/* 08920 8081C140 00000000 */ nop
|
||||
/* 08924 8081C144 86220236 */ lh $v0, 0x0236($s1) ## 00000236
|
||||
/* 08928 8081C148 A6200224 */ sh $zero, 0x0224($s1) ## 00000224
|
||||
/* 0892C 8081C14C 3C0F8016 */ lui $t7, %hi(D_8015FFD0)
|
||||
/* 0892C 8081C14C 3C0F8016 */ lui $t7, %hi(gMapData)
|
||||
/* 08930 8081C150 A622021A */ sh $v0, 0x021A($s1) ## 0000021A
|
||||
/* 08934 8081C154 A6220248 */ sh $v0, 0x0248($s1) ## 00000248
|
||||
/* 08938 8081C158 96591402 */ lhu $t9, 0x1402($s2) ## 8015FA62
|
||||
/* 0893C 8081C15C 8DEFFFD0 */ lw $t7, %lo(D_8015FFD0)($t7)
|
||||
/* 0893C 8081C15C 8DEFFFD0 */ lw $t7, %lo(gMapData)($t7)
|
||||
/* 08940 8081C160 3C038016 */ lui $v1, %hi(gGameInfo)
|
||||
/* 08944 8081C164 0019C100 */ sll $t8, $t9, 4
|
||||
/* 08948 8081C168 8DEE0000 */ lw $t6, 0x0000($t7) ## 80160000
|
||||
|
@ -844,12 +844,12 @@ glabel func_8081BB10
|
|||
/* 08F68 8081C788 24E70001 */ addiu $a3, $a3, 0x0001 ## $a3 = 00000001
|
||||
/* 08F6C 8081C78C 8E0602C0 */ lw $a2, 0x02C0($s0) ## 000002C0
|
||||
/* 08F70 8081C790 3C19FD70 */ lui $t9, 0xFD70 ## $t9 = FD700000
|
||||
/* 08F74 8081C794 3C0E8016 */ lui $t6, %hi(D_8015FFD0)
|
||||
/* 08F74 8081C794 3C0E8016 */ lui $t6, %hi(gMapData)
|
||||
/* 08F78 8081C798 24CF0008 */ addiu $t7, $a2, 0x0008 ## $t7 = 00000008
|
||||
/* 08F7C 8081C79C AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
|
||||
/* 08F80 8081C7A0 ACD90000 */ sw $t9, 0x0000($a2) ## 00000000
|
||||
/* 08F84 8081C7A4 8FAF0048 */ lw $t7, 0x0048($sp)
|
||||
/* 08F88 8081C7A8 8DCEFFD0 */ lw $t6, %lo(D_8015FFD0)($t6)
|
||||
/* 08F88 8081C7A8 8DCEFFD0 */ lw $t6, %lo(gMapData)($t6)
|
||||
/* 08F8C 8081C7AC 00091040 */ sll $v0, $t1, 1
|
||||
/* 08F90 8081C7B0 85F9025A */ lh $t9, 0x025A($t7) ## 00000262
|
||||
/* 08F94 8081C7B4 8DD80068 */ lw $t8, 0x0068($t6) ## 80160068
|
||||
|
@ -952,12 +952,12 @@ glabel func_8081BB10
|
|||
/* 09110 8081C930 ACD90004 */ sw $t9, 0x0004($a2) ## 00000004
|
||||
/* 09114 8081C934 8E0602C0 */ lw $a2, 0x02C0($s0) ## 000002C0
|
||||
/* 09118 8081C938 3C0FFD70 */ lui $t7, 0xFD70 ## $t7 = FD700000
|
||||
/* 0911C 8081C93C 3C0E8016 */ lui $t6, %hi(D_8015FFD0)
|
||||
/* 0911C 8081C93C 3C0E8016 */ lui $t6, %hi(gMapData)
|
||||
/* 09120 8081C940 24D80008 */ addiu $t8, $a2, 0x0008 ## $t8 = 00000008
|
||||
/* 09124 8081C944 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 09128 8081C948 ACCF0000 */ sw $t7, 0x0000($a2) ## 00000000
|
||||
/* 0912C 8081C94C 8FB80048 */ lw $t8, 0x0048($sp)
|
||||
/* 09130 8081C950 8DCEFFD0 */ lw $t6, %lo(D_8015FFD0)($t6)
|
||||
/* 09130 8081C950 8DCEFFD0 */ lw $t6, %lo(gMapData)($t6)
|
||||
/* 09134 8081C954 00094C00 */ sll $t1, $t1, 16
|
||||
/* 09138 8081C958 870F025A */ lh $t7, 0x025A($t8) ## 00000262
|
||||
/* 0913C 8081C95C 8DD90068 */ lw $t9, 0x0068($t6) ## 80160068
|
||||
|
@ -1175,8 +1175,8 @@ glabel func_8081BB10
|
|||
/* 0948C 8081CCAC 91F800A8 */ lbu $t8, 0x00A8($t7) ## 000000B0
|
||||
/* 09490 8081CCB0 03387024 */ and $t6, $t9, $t8
|
||||
/* 09494 8081CCB4 11C0004C */ beq $t6, $zero, .L8081CDE8
|
||||
/* 09498 8081CCB8 3C0F8016 */ lui $t7, %hi(D_8015FFD0)
|
||||
/* 0949C 8081CCBC 8DEFFFD0 */ lw $t7, %lo(D_8015FFD0)($t7)
|
||||
/* 09498 8081CCB8 3C0F8016 */ lui $t7, %hi(gMapData)
|
||||
/* 0949C 8081CCBC 8DEFFFD0 */ lw $t7, %lo(gMapData)($t7)
|
||||
/* 094A0 8081CCC0 0002C040 */ sll $t8, $v0, 1
|
||||
/* 094A4 8081CCC4 2401FF9D */ addiu $at, $zero, 0xFF9D ## $at = FFFFFF9D
|
||||
/* 094A8 8081CCC8 8DF9006C */ lw $t9, 0x006C($t7) ## 8016006C
|
||||
|
|
|
@ -20,7 +20,7 @@ glabel func_80826BA8
|
|||
/* 133CC 80826BEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 133D0 80826BF0 24A5FFFD */ addiu $a1, $a1, 0xFFFD ## $a1 = FFFFFFFD
|
||||
/* 133D4 80826BF4 00052C00 */ sll $a1, $a1, 16
|
||||
/* 133D8 80826BF8 0C02023F */ jal func_800808FC
|
||||
/* 133D8 80826BF8 0C02023F */ jal Map_SetFloorPalettesData
|
||||
/* 133DC 80826BFC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 133E0 80826C00 860200A4 */ lh $v0, 0x00A4($s0) ## 000000A4
|
||||
/* 133E4 80826C04 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
|
|
|
@ -3094,7 +3094,7 @@ glabel L80829880
|
|||
/* 16060 80829880 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000
|
||||
/* 16064 80829884 00B12821 */ addu $a1, $a1, $s1
|
||||
/* 16068 80829888 84A5074C */ lh $a1, 0x074C($a1) ## 0001074C
|
||||
/* 1606C 8082988C 0C0202AD */ jal func_80080AB4
|
||||
/* 1606C 8082988C 0C0202AD */ jal Map_InitData
|
||||
/* 16070 80829890 02202025 */ or $a0, $s1, $zero ## $a0 = 8082AB98
|
||||
glabel L80829894
|
||||
/* 16074 80829894 3C078083 */ lui $a3, %hi(D_808321A8) ## $a3 = 80830000
|
||||
|
|
|
@ -349,7 +349,7 @@ glabel func_80846CD8
|
|||
/* 14FB0 808471C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 14FB4 808471C4 A64013C0 */ sh $zero, 0x13C0($s2) ## 8015FA20
|
||||
.L808471C8:
|
||||
/* 14FB8 808471C8 0C0201E8 */ jal func_800807A0
|
||||
/* 14FB8 808471C8 0C0201E8 */ jal Map_SavePlayerInitialInfo
|
||||
/* 14FBC 808471CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 14FC0 808471D0 3C0B8016 */ lui $t3, %hi(gGameInfo)
|
||||
/* 14FC4 808471D4 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
|
||||
|
|
122
data/z_map_data.data.s
Normal file
122
data/z_map_data.data.s
Normal file
|
@ -0,0 +1,122 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel D_80123A70
|
||||
.incbin "baserom.z64", 0xB9AC10, 0xA0
|
||||
|
||||
glabel D_80123B10
|
||||
.incbin "baserom.z64", 0xB9ACB0, 0x10
|
||||
|
||||
glabel D_80123B20
|
||||
.incbin "baserom.z64", 0xB9ACC0, 0x280
|
||||
|
||||
glabel D_80123DA0
|
||||
.incbin "baserom.z64", 0xB9AF40, 0x14
|
||||
|
||||
glabel D_80123DB4
|
||||
.incbin "baserom.z64", 0xB9AF54, 0x8C0
|
||||
|
||||
glabel D_80124674
|
||||
.incbin "baserom.z64", 0xB9B814, 0x370
|
||||
|
||||
glabel D_801249E4
|
||||
.incbin "baserom.z64", 0xB9BB84, 0x370
|
||||
|
||||
glabel D_80124D54
|
||||
.incbin "baserom.z64", 0xB9BEF4, 0xC
|
||||
|
||||
glabel D_80124D60
|
||||
.incbin "baserom.z64", 0xB9BF00, 0x14
|
||||
|
||||
glabel D_80124D74
|
||||
.incbin "baserom.z64", 0xB9BF14, 0x30
|
||||
|
||||
glabel D_80124DA4
|
||||
.incbin "baserom.z64", 0xB9BF44, 0x30
|
||||
|
||||
glabel D_80124DD4
|
||||
.incbin "baserom.z64", 0xB9BF74, 0x30
|
||||
|
||||
glabel D_80124E04
|
||||
.incbin "baserom.z64", 0xB9BFA4, 0x30
|
||||
|
||||
glabel D_80124E34
|
||||
.incbin "baserom.z64", 0xB9BFD4, 0xC0
|
||||
|
||||
glabel D_80124EF4
|
||||
.incbin "baserom.z64", 0xB9C094, 0x14
|
||||
|
||||
glabel D_80124F08
|
||||
.incbin "baserom.z64", 0xB9C0A8, 0x50
|
||||
|
||||
glabel D_80124F58
|
||||
.incbin "baserom.z64", 0xB9C0F8, 0x30
|
||||
|
||||
glabel D_80124F88
|
||||
.incbin "baserom.z64", 0xB9C128, 0x30
|
||||
|
||||
glabel D_80124FB8
|
||||
.incbin "baserom.z64", 0xB9C158, 0x30
|
||||
|
||||
glabel D_80124FE8
|
||||
.incbin "baserom.z64", 0xB9C188, 0x30
|
||||
|
||||
glabel D_80125018
|
||||
.incbin "baserom.z64", 0xB9C1B8, 0x28
|
||||
|
||||
glabel D_80125040
|
||||
.incbin "baserom.z64", 0xB9C1E0, 0x140
|
||||
|
||||
glabel D_80125180
|
||||
.incbin "baserom.z64", 0xB9C320, 0x14
|
||||
|
||||
glabel D_80125194
|
||||
.incbin "baserom.z64", 0xB9C334, 0x200
|
||||
|
||||
glabel D_80125394
|
||||
.incbin "baserom.z64", 0xB9C534, 0x200
|
||||
|
||||
glabel D_80125594
|
||||
.incbin "baserom.z64", 0xB9C734, 0x200
|
||||
|
||||
glabel D_80125794
|
||||
.incbin "baserom.z64", 0xB9C934, 0x50
|
||||
|
||||
glabel D_801257E4
|
||||
.incbin "baserom.z64", 0xB9C984, 0x14
|
||||
|
||||
glabel gMapDataTable
|
||||
.word D_80123A70
|
||||
.word D_80123B10
|
||||
.word D_80123B20
|
||||
.word D_80123DA0
|
||||
.word D_80123DB4
|
||||
.word D_80124674
|
||||
.word D_801249E4
|
||||
.word D_80124D54
|
||||
.word D_80124D60
|
||||
.word D_80124D74
|
||||
.word D_80124DA4
|
||||
.word D_80124DD4
|
||||
.word D_80124E04
|
||||
.word D_80124E34
|
||||
.word D_80124EF4
|
||||
.word D_80124F08
|
||||
.word D_80124F58
|
||||
.word D_80124F88
|
||||
.word D_80124FB8
|
||||
.word D_80124FE8
|
||||
.word D_80125018
|
||||
.word D_80125040
|
||||
.word D_80125180
|
||||
.word D_80125194
|
||||
.word D_80125394
|
||||
.word D_80125594
|
||||
.word D_80125794
|
||||
.word D_801257E4
|
|
@ -1,11 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .bss
|
||||
|
||||
glabel D_8015FFD0
|
||||
.space 0x10
|
|
@ -1,26 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel D_80123A50
|
||||
.incbin "baserom.z64", 0xB9ABF0, 0x4
|
||||
|
||||
glabel D_80123A54
|
||||
.incbin "baserom.z64", 0xB9ABF4, 0x4
|
||||
|
||||
glabel D_80123A58
|
||||
.incbin "baserom.z64", 0xB9ABF8, 0x4
|
||||
|
||||
glabel D_80123A5C
|
||||
.incbin "baserom.z64", 0xB9ABFC, 0x4
|
||||
|
||||
glabel D_80123A60
|
||||
.incbin "baserom.z64", 0xB9AC00, 0x1D98
|
||||
|
||||
glabel D_801257F8
|
||||
.incbin "baserom.z64", 0xB9C998, 0x78
|
|
@ -922,7 +922,7 @@ void func_800788CC(u16 sfxId);
|
|||
void func_80078914(Vec3f* arg0, u16 sfxId);
|
||||
void Health_InitData(GlobalContext* globalCtx);
|
||||
void Health_UpdateData(GlobalContext* globalCtx);
|
||||
void Interface_DrawHealth(GlobalContext* globalCtx);
|
||||
void Health_Draw(GlobalContext* globalCtx);
|
||||
void Health_HandleCriticalAlarm(GlobalContext* globalCtx);
|
||||
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
|
||||
s16 radius, u32 type);
|
||||
|
@ -994,17 +994,14 @@ s16 func_800800F8(GlobalContext* globalCtx, s16 arg1, s16 arg2, Actor* actor, s1
|
|||
// ? func_800803F0(?);
|
||||
// ? func_80080480(?);
|
||||
void func_80080788(UNK_TYPE, UNK_TYPE);
|
||||
// ? func_800807A0(?);
|
||||
// ? func_800807FC(?);
|
||||
// ? func_800808FC(?);
|
||||
// ? func_80080AB4(?);
|
||||
// ? func_80080E04(?);
|
||||
// ? func_80080F44(?);
|
||||
void func_80080F68(GlobalContext* globalCtx);
|
||||
// ? func_80081240(?);
|
||||
void Interface_DrawMinimap(GlobalContext* globalCtx);
|
||||
// ? func_80082248(?);
|
||||
void func_8008226C(GlobalContext* globalCtx);
|
||||
void Map_SavePlayerInitialInfo(GlobalContext* globalCtx);
|
||||
void Map_SetFloorPalettesData(GlobalContext* globalCtx, s16 floor);
|
||||
void Map_InitData(GlobalContext* globalCtx, s16 room);
|
||||
void Map_InitRoomData(GlobalContext* globalCtx, s16 room);
|
||||
void Map_Destroy(GlobalContext* globalCtx);
|
||||
void Map_Init(GlobalContext* globalCtx);
|
||||
void Minimap_Draw(GlobalContext* globalCtx);
|
||||
void Map_Update(GlobalContext* globalCtx);
|
||||
void Interface_ChangeAlpha(u16 alphaType);
|
||||
void Interface_SetSceneRestrictions(GlobalContext* globalCtx);
|
||||
void Inventory_SwapAgeEquipment(void);
|
||||
|
|
|
@ -69,8 +69,21 @@
|
|||
#define R_MAGIC_BAR_LARGE_Y XREG(50)
|
||||
#define R_MAGIC_FILL_X XREG(51)
|
||||
#define R_B_LABEL_DD WREG(0)
|
||||
#define R_OW_MINIMAP_X WREG(29)
|
||||
#define R_OW_MINIMAP_Y WREG(30)
|
||||
#define R_MINIMAP_TOGGLED WREG(31)
|
||||
#define R_B_LABEL_X(i) WREG(40 + i)
|
||||
#define R_B_LABEL_Y(i) WREG(43 + i)
|
||||
#define R_DGN_MINIMAP_X WREG(68)
|
||||
#define R_DGN_MINIMAP_Y WREG(69)
|
||||
#define R_MAP_INDEX VREG(11)
|
||||
#define R_MAP_TEX_INDEX_BASE VREG(12)
|
||||
#define R_MAP_TEX_INDEX VREG(13)
|
||||
#define R_COMPASS_SCALE_X VREG(14)
|
||||
#define R_COMPASS_SCALE_Y VREG(15)
|
||||
#define R_COMPASS_OFFSET_X VREG(16)
|
||||
#define R_COMPASS_OFFSET_Y VREG(17)
|
||||
#define R_MINIMAP_COLOR(i) VREG(18 + i)
|
||||
#define R_ITEM_AMMO_X(i) VREG(64 + i)
|
||||
#define R_ITEM_AMMO_Y(i) VREG(68 + i)
|
||||
#define R_ITEM_ICON_WIDTH(i) VREG(76 + i)
|
||||
|
|
|
@ -36,7 +36,7 @@ extern u32 D_03012B20;
|
|||
//extern ? D_04003238;
|
||||
extern u32 D_04004298;
|
||||
//extern ? D_04006020;
|
||||
//extern ? D_0400C820;
|
||||
extern Gfx D_0400C820[];
|
||||
extern u32 D_0400CB70;
|
||||
extern u32 D_04010130;
|
||||
//extern ? D_04015720;
|
||||
|
@ -421,12 +421,7 @@ extern s16 D_80120130;
|
|||
//extern ? D_8012396C;
|
||||
//extern ? D_80123978;
|
||||
//extern ? D_801239D4;
|
||||
//extern ? D_80123A50;
|
||||
//extern ? D_80123A54;
|
||||
//extern ? D_80123A58;
|
||||
//extern ? D_80123A5C;
|
||||
//extern ? D_80123A60;
|
||||
//extern ? D_801257F8;
|
||||
extern MapData gMapDataTable;
|
||||
//extern ? D_80125870;
|
||||
extern s16 gSpoilingItems[3];
|
||||
extern s16 gSpoilingItemReverts[3];
|
||||
|
@ -3443,7 +3438,7 @@ extern u8 D_8015FD70;
|
|||
//extern ? D_8015FDAE;
|
||||
//extern ? D_8015FDB0;
|
||||
//extern ? D_8015FDF8;
|
||||
//extern ? D_8015FFD0;
|
||||
extern MapData* gMapData;
|
||||
//extern ? D_80160001;
|
||||
//extern ? D_80160004;
|
||||
//extern ? D_80160005;
|
||||
|
|
|
@ -59,8 +59,8 @@ typedef struct {
|
|||
/* 0x08 */ u32 clear;
|
||||
/* 0x0C */ u32 collect;
|
||||
/* 0x10 */ u32 unk;
|
||||
/* 0x14 */ u32 rooms1;
|
||||
/* 0x18 */ u32 rooms2;
|
||||
/* 0x14 */ u32 rooms;
|
||||
/* 0x18 */ u32 floors;
|
||||
} SaveSceneFlags; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
|
@ -186,7 +186,7 @@ typedef struct {
|
|||
/* 0x13F6 */ s16 unk_13F6;
|
||||
/* 0x13F8 */ s16 unk_13F8;
|
||||
/* 0x13FA */ u16 eventInf[4]; // "event_inf"
|
||||
/* 0x1402 */ u16 dungeonIndex;
|
||||
/* 0x1402 */ u16 mapIndex; // intended for maps/minimaps but commonly used as the dungeon index
|
||||
/* 0x1404 */ u16 minigameState;
|
||||
/* 0x1406 */ u16 minigameScore; // "yabusame_total"
|
||||
/* 0x1408 */ char unk_1408[0x0001];
|
||||
|
@ -439,13 +439,6 @@ typedef struct {
|
|||
/* 0x016A */ s16 unk_16A; // unknown if used
|
||||
} Camera; // size = 0x16C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Camera cameras[4];
|
||||
/* 0x05B0 */ Camera* cameraPtrs[4];
|
||||
/* 0x05C0 */ s16 activeCamera;
|
||||
/* 0x05C2 */ s16 nextCamera;
|
||||
} CameraContext; // size = 0x5C4
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 musicSeq;
|
||||
/* 0x01 */ u8 nighttimeSFX;
|
||||
|
@ -631,7 +624,7 @@ typedef struct {
|
|||
/* 0x0134 */ void* do_actionSegment;
|
||||
/* 0x0138 */ void* icon_itemSegment;
|
||||
/* 0x013C */ void* mapSegment;
|
||||
/* 0x0140 */ char unk_140[0x20];
|
||||
/* 0x0140 */ u8 unk_140[32];
|
||||
/* 0x0160 */ DmaRequest dmaRequest_160;
|
||||
/* 0x0180 */ DmaRequest dmaRequest_180;
|
||||
/* 0x01A0 */ char unk_1A0[0x20];
|
||||
|
@ -673,9 +666,10 @@ typedef struct {
|
|||
/* 0x0252 */ u16 magicAlpha; // also Rupee and Key counters alpha
|
||||
/* 0x0254 */ u16 minimapAlpha;
|
||||
/* 0x0256 */ s16 startAlpha;
|
||||
/* 0x0258 */ char unk_258[0x004];
|
||||
/* 0x025C */ s16 roomNum;
|
||||
/* 0x025E */ char unk_25E[0x002];
|
||||
/* 0x0258 */ s16 unk_258;
|
||||
/* 0x025A */ s16 unk_25A;
|
||||
/* 0x025C */ s16 mapRoomNum;
|
||||
/* 0x025E */ s16 mapPaletteNum; // "map_palete_no"
|
||||
/* 0x0260 */ u8 unk_260;
|
||||
/* 0x0261 */ u8 unk_261;
|
||||
struct {
|
||||
|
@ -1202,6 +1196,40 @@ typedef struct PreNMIContext {
|
|||
/* 0xA8 */ UNK_TYPE unk_A8;
|
||||
} PreNMIContext; // size = 0xAC
|
||||
|
||||
// All arrays pointed in this struct are indexed by "map indexes"
|
||||
// In dungeons, the map index corresponds to the dungeon index (which also indexes keys, items, etc)
|
||||
// In overworld areas, the map index corresponds to the overworld area index (spot 00, 01, etc)
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 (*floorTexIndexOffset)[8]; // dungeon texture index offset by floor
|
||||
/* 0x04 */ s16* bossFloor; // floor the boss is on
|
||||
/* 0x08 */ s16 (*roomPalette)[32]; // map palette by room
|
||||
/* 0x0C */ s16* maxPaletteCount; // max number of palettes in a same floor
|
||||
/* 0x10 */ s16 (*paletteRoom)[8][14]; // room by palette by floor
|
||||
/* 0x14 */ s16 (*roomCompassOffsetX)[44]; // dungeon compass icon X offset by room
|
||||
/* 0x18 */ s16 (*roomCompassOffsetY)[44]; // dungeon compass icon Y offset by room
|
||||
/* 0x1C */ u8* dgnMinimapCount; // number of room minimaps
|
||||
/* 0x20 */ u16* dgnMinimapTexIndexOffset; // dungeon minimap texture index offset
|
||||
/* 0x24 */ u16* owMinimapTexSize;
|
||||
/* 0x28 */ u16* owMinimapTexOffset;
|
||||
/* 0x2C */ s16* owMinimapPosX;
|
||||
/* 0x30 */ s16* owMinimapPosY;
|
||||
/* 0x34 */ s16 (*owCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset]
|
||||
/* 0x38 */ s16* dgnMinimapTexIndexBase; // dungeon minimap texture index base
|
||||
/* 0x3C */ s16 (*dgnCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset]
|
||||
/* 0x40 */ s16* owMinimapWidth;
|
||||
/* 0x44 */ s16* owMinimapHeight;
|
||||
/* 0x48 */ s16* owEntranceIconPosX; // "dungeon entrance" icon X pos
|
||||
/* 0x4C */ s16* owEntranceIconPosY; // "dungeon entrance" icon Y pos
|
||||
/* 0x50 */ u16* owEntranceFlag; // flag in inf_table[26] based on which entrance icons are shown (0xFFFF = always shown)
|
||||
/* 0x54 */ f32 (*floorCoordY)[8]; // Y coordinate of each floor
|
||||
/* 0x58 */ u16* switchEntryCount; // number of "room switch" entries, which correspond to the next 3 arrays
|
||||
/* 0x5C */ u8 (*switchFromRoom)[51]; // room to come from
|
||||
/* 0x60 */ u8 (*switchFromFloor)[51]; // floor to come from
|
||||
/* 0x64 */ u8 (*switchToRoom)[51]; // room to go to
|
||||
/* 0x68 */ UNK_PTR unk_68;
|
||||
/* 0x6C */ UNK_PTR unk_6C;
|
||||
} MapData; // size = 0x70
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
|
||||
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
|
||||
|
|
|
@ -47,6 +47,12 @@ typedef enum {
|
|||
/* 0x18 */ QUEST_HEART_PIECE
|
||||
} QuestItem;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ DUNGEON_KEY_BOSS,
|
||||
/* 0x01 */ DUNGEON_COMPASS,
|
||||
/* 0x02 */ DUNGEON_MAP
|
||||
} DungeonItem;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ SLOT_STICK,
|
||||
/* 0x01 */ SLOT_NUT,
|
||||
|
|
3
spec
3
spec
|
@ -342,8 +342,7 @@ beginseg
|
|||
include "build/src/code/z_onepointdemo.o"
|
||||
include "build/data/z_onepointdemo.data.o"
|
||||
include "build/src/code/z_map_exp.o"
|
||||
include "build/data/z_map_exp.data.o"
|
||||
include "build/data/z_map_exp.bss.o"
|
||||
include "build/data/z_map_data.data.o"
|
||||
include "build/src/code/z_parameter.o"
|
||||
include "build/src/code/z_path.o"
|
||||
include "build/asm/code_8008E6A0.o"
|
||||
|
|
|
@ -2753,11 +2753,10 @@ Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId
|
|||
overlayEntry->nbLoaded = 0;
|
||||
}
|
||||
|
||||
actorInit =
|
||||
(ActorInit*)((u32)(overlayEntry->initInfo != NULL
|
||||
? (ActorInit*)((u32)overlayEntry->initInfo - (s32)((u32)overlayEntry->vramStart -
|
||||
(u32)overlayEntry->loadedRamAddr))
|
||||
: NULL));
|
||||
actorInit = (void*)(u32)((overlayEntry->initInfo != NULL)
|
||||
? (void*)((u32)overlayEntry->initInfo -
|
||||
(s32)((u32)overlayEntry->vramStart - (u32)overlayEntry->loadedRamAddr))
|
||||
: NULL);
|
||||
}
|
||||
|
||||
objBankIndex = Object_GetIndex(&globalCtx->objectCtx, actorInit->objectId);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include <global.h>
|
||||
|
||||
void func_80110990(GlobalContext* globalCtx) {
|
||||
func_80080F44(globalCtx);
|
||||
Map_Destroy(globalCtx);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
@ -165,7 +165,7 @@ void func_801109B0(GlobalContext* globalCtx) {
|
|||
osSyncPrintf("PARAMETER領域=%x\n", parameterSize + 0x5300);
|
||||
|
||||
Health_InitData(globalCtx);
|
||||
func_80080F68(globalCtx);
|
||||
Map_Init(globalCtx);
|
||||
|
||||
interfaceCtx->unk_242 = 0;
|
||||
interfaceCtx->unk_23C = 0;
|
||||
|
@ -483,9 +483,9 @@ void func_80111070(void) {
|
|||
WREG(26) = -0x28;
|
||||
WREG(27) = 0;
|
||||
WREG(28) = 0;
|
||||
WREG(29) = 0xEE;
|
||||
WREG(30) = 0xA4;
|
||||
WREG(31) = 0;
|
||||
R_OW_MINIMAP_X = 0xEE;
|
||||
R_OW_MINIMAP_Y = 0xA4;
|
||||
R_MINIMAP_TOGGLED = 0;
|
||||
WREG(32) = 0x7A;
|
||||
WREG(33) = 0x3C;
|
||||
WREG(35) = 0;
|
||||
|
@ -520,8 +520,8 @@ void func_80111070(void) {
|
|||
WREG(64) = -0x25;
|
||||
WREG(65) = 0x1E;
|
||||
WREG(66) = -0x32;
|
||||
WREG(68) = 0xCC;
|
||||
WREG(69) = 0x8C;
|
||||
R_DGN_MINIMAP_X = 0xCC;
|
||||
R_DGN_MINIMAP_Y = 0x8C;
|
||||
WREG(87) = 0x50;
|
||||
WREG(88) = 0x46;
|
||||
WREG(89) = 0x28;
|
||||
|
@ -543,13 +543,13 @@ void func_80111070(void) {
|
|||
VREG(7) = 0x4E;
|
||||
VREG(8) = 0xA6;
|
||||
VREG(9) = 0x28;
|
||||
VREG(14) = 0x20;
|
||||
VREG(15) = 0x20;
|
||||
VREG(16) = 0x6E;
|
||||
VREG(17) = -0x2E4;
|
||||
VREG(18) = 0;
|
||||
VREG(19) = 0xFF;
|
||||
VREG(20) = 0xFF;
|
||||
R_COMPASS_SCALE_X = 0x20;
|
||||
R_COMPASS_SCALE_Y = 0x20;
|
||||
R_COMPASS_OFFSET_X = 0x6E;
|
||||
R_COMPASS_OFFSET_Y = -0x2E4;
|
||||
R_MINIMAP_COLOR(0) = 0;
|
||||
R_MINIMAP_COLOR(1) = 0xFF;
|
||||
R_MINIMAP_COLOR(2) = 0xFF;
|
||||
}
|
||||
|
||||
VREG(21) = 0;
|
||||
|
|
|
@ -25,7 +25,7 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) {
|
|||
return ((msg->byte0 & 1) == 1) == !!(gSaveContext.eventChkInf[(msg->byte1 & 0xF0) >> 4] & temp);
|
||||
case 2:
|
||||
return ((msg->byte0 & 1) == 1) ==
|
||||
!!(gBitFlags[msg->byte1 - ITEM_KEY_BOSS] & gSaveContext.dungeonItems[gSaveContext.dungeonIndex]);
|
||||
!!(gBitFlags[msg->byte1 - ITEM_KEY_BOSS] & gSaveContext.dungeonItems[gSaveContext.mapIndex]);
|
||||
case 4:
|
||||
return ((msg->byte0 & 1) == 1) == (msg->byte3 == INV_CONTENT(msg->byte1));
|
||||
case 6:
|
||||
|
|
|
@ -184,7 +184,7 @@ s32 func_80078E84(GlobalContext* globalCtx) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void Interface_DrawHealth(GlobalContext* globalCtx) {
|
||||
void Health_Draw(GlobalContext* globalCtx) {
|
||||
s32 pad[5];
|
||||
u8* heartBgImg;
|
||||
u32 curColorSet;
|
||||
|
|
|
@ -1,24 +1,607 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include <vt.h>
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_800807A0.s")
|
||||
MapData* gMapData;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_800807FC.s")
|
||||
s16 sPlayerInitialPosX = 0;
|
||||
s16 sPlayerInitialPosZ = 0;
|
||||
s16 sPlayerInitialDirection = 0;
|
||||
s16 sEntranceIconMapIndex = 0;
|
||||
s16 sLastRoomNum = 99;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_800808FC.s")
|
||||
void Map_SavePlayerInitialInfo(GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80080AB4.s")
|
||||
sPlayerInitialPosX = player->actor.posRot.pos.x;
|
||||
sPlayerInitialPosZ = player->actor.posRot.pos.z;
|
||||
sPlayerInitialDirection = (s16)((0x7FFF - player->actor.shape.rot.y) / 0x400);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80080E04.s")
|
||||
void Map_SetPaletteData(GlobalContext* globalCtx, s16 room) {
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
s16 paletteNum = gMapData->roomPalette[mapIndex][room];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80080F44.s")
|
||||
if (interfaceCtx->mapRoomNum == room) {
|
||||
interfaceCtx->mapPaletteNum = paletteNum;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80080F68.s")
|
||||
osSyncPrintf(VT_FGCOL(YELLOW));
|
||||
// Translates to: "PALETE Set"
|
||||
osSyncPrintf("PALETEセット 【 i=%x : room=%x 】Room_Inf[%d][4]=%x ( map_palete_no = %d )\n", paletteNum,
|
||||
room, mapIndex, gSaveContext.sceneFlags[mapIndex].rooms, interfaceCtx->mapPaletteNum);
|
||||
osSyncPrintf(VT_RST);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80081240.s")
|
||||
interfaceCtx->unk_140[paletteNum * 2] = 2;
|
||||
interfaceCtx->unk_140[paletteNum * 2 + 1] = 0xBF;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Interface_DrawMinimap.s")
|
||||
void Map_SetFloorPalettesData(GlobalContext* globalCtx, s16 floor) {
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
s16 room;
|
||||
s16 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_80082248.s")
|
||||
for (i = 0; i < 16; i++) {
|
||||
interfaceCtx->unk_140[i] = 0;
|
||||
interfaceCtx->unk_140[i + 16] = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8008226C.s")
|
||||
if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
interfaceCtx->unk_140[30] = 0;
|
||||
interfaceCtx->unk_140[31] = 1;
|
||||
}
|
||||
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
case SCENE_YDAN_BOSS:
|
||||
case SCENE_DDAN_BOSS:
|
||||
case SCENE_BDAN_BOSS:
|
||||
case SCENE_MORIBOSSROOM:
|
||||
case SCENE_FIRE_BS:
|
||||
case SCENE_MIZUSIN_BS:
|
||||
case SCENE_JYASINBOSS:
|
||||
case SCENE_HAKADAN_BS:
|
||||
for (i = 0; i < gMapData->maxPaletteCount[mapIndex]; i++) {
|
||||
room = gMapData->paletteRoom[mapIndex][floor][i];
|
||||
if ((room != 0xFF) && (gSaveContext.sceneFlags[mapIndex].rooms & gBitFlags[room])) {
|
||||
Map_SetPaletteData(globalCtx, room);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Map_InitData(GlobalContext* globalCtx, s16 room) {
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
s16 extendedMapIndex;
|
||||
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_SPOT00:
|
||||
case SCENE_SPOT01:
|
||||
case SCENE_SPOT02:
|
||||
case SCENE_SPOT03:
|
||||
case SCENE_SPOT04:
|
||||
case SCENE_SPOT05:
|
||||
case SCENE_SPOT06:
|
||||
case SCENE_SPOT07:
|
||||
case SCENE_SPOT08:
|
||||
case SCENE_SPOT09:
|
||||
case SCENE_SPOT10:
|
||||
case SCENE_SPOT11:
|
||||
case SCENE_SPOT12:
|
||||
case SCENE_SPOT13:
|
||||
case SCENE_SPOT15:
|
||||
case SCENE_SPOT16:
|
||||
case SCENE_SPOT17:
|
||||
case SCENE_SPOT18:
|
||||
case SCENE_SPOT20:
|
||||
case SCENE_GANON_TOU:
|
||||
extendedMapIndex = mapIndex;
|
||||
if (globalCtx->sceneNum == SCENE_SPOT02) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_NOCTURNE)) {
|
||||
extendedMapIndex = 0x14;
|
||||
}
|
||||
} else if (globalCtx->sceneNum == SCENE_SPOT06) {
|
||||
if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && !CHECK_QUEST_ITEM(QUEST_MEDALLION_WATER)) {
|
||||
extendedMapIndex = 0x15;
|
||||
}
|
||||
} else if (globalCtx->sceneNum == SCENE_SPOT09) {
|
||||
if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && !((gSaveContext.eventChkInf[9] & 0xF) == 0xF)) {
|
||||
extendedMapIndex = 0x16;
|
||||
}
|
||||
} else if (globalCtx->sceneNum == SCENE_SPOT12) {
|
||||
if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) {
|
||||
extendedMapIndex = 0x17;
|
||||
}
|
||||
}
|
||||
osSyncPrintf(VT_FGCOL(BLUE));
|
||||
osSyncPrintf("KKK=%d\n", extendedMapIndex);
|
||||
osSyncPrintf(VT_RST);
|
||||
sEntranceIconMapIndex = extendedMapIndex;
|
||||
DmaMgr_SendRequest1(interfaceCtx->mapSegment,
|
||||
(u32)_map_grand_staticSegmentRomStart + gMapData->owMinimapTexOffset[extendedMapIndex],
|
||||
gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309);
|
||||
interfaceCtx->unk_258 = mapIndex;
|
||||
break;
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
case SCENE_YDAN_BOSS:
|
||||
case SCENE_DDAN_BOSS:
|
||||
case SCENE_BDAN_BOSS:
|
||||
case SCENE_MORIBOSSROOM:
|
||||
case SCENE_FIRE_BS:
|
||||
case SCENE_MIZUSIN_BS:
|
||||
case SCENE_JYASINBOSS:
|
||||
case SCENE_HAKADAN_BS:
|
||||
osSyncPrintf(VT_FGCOL(YELLOW));
|
||||
// Translates to: "Deku Tree Dungeon MAP Texture DMA"
|
||||
osSyncPrintf("デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n", room,
|
||||
mapIndex, VREG(30));
|
||||
osSyncPrintf(VT_RST);
|
||||
DmaMgr_SendRequest1(globalCtx->interfaceCtx.mapSegment,
|
||||
(u32)_map_i_staticSegmentRomStart +
|
||||
((gMapData->dgnMinimapTexIndexOffset[mapIndex] + room) * 0xFF0),
|
||||
0xFF0, "../z_map_exp.c", 346);
|
||||
R_COMPASS_OFFSET_X = gMapData->roomCompassOffsetX[mapIndex][room];
|
||||
R_COMPASS_OFFSET_Y = gMapData->roomCompassOffsetY[mapIndex][room];
|
||||
Map_SetFloorPalettesData(globalCtx, VREG(30));
|
||||
// Translates to: "MAP Individual Floor ON Check"
|
||||
osSyncPrintf("MAP 各階ONチェック\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Map_InitRoomData(GlobalContext* globalCtx, s16 room) {
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
|
||||
osSyncPrintf("*******\n*******\nroom_no=%d (%d)(%d)\n*******\n*******\n", room,
|
||||
mapIndex, globalCtx->sceneNum);
|
||||
|
||||
if (room >= 0) {
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
case SCENE_YDAN_BOSS:
|
||||
case SCENE_DDAN_BOSS:
|
||||
case SCENE_BDAN_BOSS:
|
||||
case SCENE_MORIBOSSROOM:
|
||||
case SCENE_FIRE_BS:
|
||||
case SCENE_MIZUSIN_BS:
|
||||
case SCENE_JYASINBOSS:
|
||||
case SCENE_HAKADAN_BS:
|
||||
gSaveContext.sceneFlags[mapIndex].rooms |= gBitFlags[room];
|
||||
osSyncPrintf("ROOM_INF=%d\n", gSaveContext.sceneFlags[mapIndex].rooms);
|
||||
interfaceCtx->mapRoomNum = room;
|
||||
interfaceCtx->unk_25A = mapIndex;
|
||||
Map_SetPaletteData(globalCtx, room);
|
||||
osSyncPrintf(VT_FGCOL(YELLOW));
|
||||
osSyncPrintf("部屋部屋=%d\n", room); // "Room Room = %d"
|
||||
osSyncPrintf(VT_RST);
|
||||
Map_InitData(globalCtx, room);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
interfaceCtx->mapRoomNum = 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.unk_1422 != 2) {
|
||||
gSaveContext.unk_1422 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Map_Destroy(GlobalContext* globalCtx) {
|
||||
MapMark_ClearPointers(globalCtx);
|
||||
gMapData = NULL;
|
||||
}
|
||||
|
||||
void Map_Init(GlobalContext* globalCtx) {
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
|
||||
gMapData = &gMapDataTable;
|
||||
|
||||
interfaceCtx->unk_258 = -1;
|
||||
interfaceCtx->unk_25A = -1;
|
||||
|
||||
interfaceCtx->mapSegment = Game_Alloc(&globalCtx->state, 0x1000, "../z_map_exp.c", 457);
|
||||
// Translates to "MAP TEXTURE INITIALIZATION scene_data_ID=%d mapSegment=%x"
|
||||
osSyncPrintf("\n\n\nMAP テクスチャ初期化 scene_data_ID=%d\nmapSegment=%x\n\n", globalCtx->sceneNum,
|
||||
interfaceCtx->mapSegment, globalCtx);
|
||||
if (interfaceCtx->mapSegment == NULL) {
|
||||
__assert("parameter->mapSegment != NULL", "../z_map_exp.c", 459);
|
||||
}
|
||||
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_SPOT00:
|
||||
case SCENE_SPOT01:
|
||||
case SCENE_SPOT02:
|
||||
case SCENE_SPOT03:
|
||||
case SCENE_SPOT04:
|
||||
case SCENE_SPOT05:
|
||||
case SCENE_SPOT06:
|
||||
case SCENE_SPOT07:
|
||||
case SCENE_SPOT08:
|
||||
case SCENE_SPOT09:
|
||||
case SCENE_SPOT10:
|
||||
case SCENE_SPOT11:
|
||||
case SCENE_SPOT12:
|
||||
case SCENE_SPOT13:
|
||||
case SCENE_SPOT15:
|
||||
case SCENE_SPOT16:
|
||||
case SCENE_SPOT17:
|
||||
case SCENE_SPOT18:
|
||||
case SCENE_SPOT20:
|
||||
case SCENE_GANON_TOU:
|
||||
mapIndex = globalCtx->sceneNum - SCENE_SPOT00;
|
||||
R_MAP_INDEX = gSaveContext.mapIndex = mapIndex;
|
||||
R_COMPASS_SCALE_X = gMapData->owCompassInfo[mapIndex][0];
|
||||
R_COMPASS_SCALE_Y = gMapData->owCompassInfo[mapIndex][1];
|
||||
R_COMPASS_OFFSET_X = gMapData->owCompassInfo[mapIndex][2];
|
||||
R_COMPASS_OFFSET_Y = gMapData->owCompassInfo[mapIndex][3];
|
||||
Map_InitData(globalCtx, mapIndex);
|
||||
R_OW_MINIMAP_X = gMapData->owMinimapPosX[mapIndex];
|
||||
R_OW_MINIMAP_Y = gMapData->owMinimapPosY[mapIndex];
|
||||
break;
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
case SCENE_GANON:
|
||||
case SCENE_MEN:
|
||||
case SCENE_GERUDOWAY:
|
||||
case SCENE_GANONTIKA:
|
||||
case SCENE_GANON_SONOGO:
|
||||
case SCENE_GANONTIKA_SONOGO:
|
||||
case SCENE_TAKARAYA:
|
||||
case SCENE_YDAN_BOSS:
|
||||
case SCENE_DDAN_BOSS:
|
||||
case SCENE_BDAN_BOSS:
|
||||
case SCENE_MORIBOSSROOM:
|
||||
case SCENE_FIRE_BS:
|
||||
case SCENE_MIZUSIN_BS:
|
||||
case SCENE_JYASINBOSS:
|
||||
case SCENE_HAKADAN_BS:
|
||||
mapIndex =
|
||||
(globalCtx->sceneNum >= SCENE_YDAN_BOSS) ? globalCtx->sceneNum - SCENE_YDAN_BOSS : globalCtx->sceneNum;
|
||||
R_MAP_INDEX = gSaveContext.mapIndex = mapIndex;
|
||||
if ((globalCtx->sceneNum <= SCENE_ICE_DOUKUTO) || (globalCtx->sceneNum >= SCENE_YDAN_BOSS)) {
|
||||
R_COMPASS_SCALE_X = gMapData->dgnCompassInfo[mapIndex][0];
|
||||
R_COMPASS_SCALE_Y = gMapData->dgnCompassInfo[mapIndex][1];
|
||||
R_COMPASS_OFFSET_X = gMapData->dgnCompassInfo[mapIndex][2];
|
||||
R_COMPASS_OFFSET_Y = gMapData->dgnCompassInfo[mapIndex][3];
|
||||
R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE = gMapData->dgnMinimapTexIndexBase[mapIndex];
|
||||
Map_InitRoomData(globalCtx, globalCtx->roomCtx.curRoom.num);
|
||||
MapMark_Init(globalCtx);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// regalloc and minor ordering differences
|
||||
void Minimap_DrawCompassIcons(GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx;
|
||||
Player* player = PLAYER;
|
||||
s16 tempX, tempY, tempZ;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 565);
|
||||
|
||||
if (globalCtx->interfaceCtx.minimapAlpha >= 0xAA) {
|
||||
func_80094A14(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPMatrix(gfxCtx->overlay.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetCombineLERP(gfxCtx->overlay.p++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
|
||||
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
|
||||
gDPSetEnvColor(gfxCtx->overlay.p++, 0x00, 0x00, 0x00, 0xFF);
|
||||
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||
|
||||
tempX = player->actor.posRot.pos.x;
|
||||
tempZ = player->actor.posRot.pos.z;
|
||||
tempX /= R_COMPASS_SCALE_X;
|
||||
tempZ /= R_COMPASS_SCALE_Y;
|
||||
Matrix_Translate((R_COMPASS_OFFSET_X + tempX) / 10.0f, (R_COMPASS_OFFSET_Y - tempZ) / 10.0f, 0.0f, MTXMODE_NEW);
|
||||
Matrix_Scale(0.4f, 0.4f, 0.4f, MTXMODE_APPLY);
|
||||
Matrix_RotateX(-1.6f, MTXMODE_APPLY);
|
||||
tempY = (0x7FFF - player->actor.shape.rot.y) / 0x400;
|
||||
Matrix_RotateY(tempY / 10.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 585),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xC8, 0xFF, 0x00, 0xFF);
|
||||
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820);
|
||||
|
||||
tempX = sPlayerInitialPosX;
|
||||
tempZ = sPlayerInitialPosZ;
|
||||
tempX /= R_COMPASS_SCALE_X;
|
||||
tempZ /= R_COMPASS_SCALE_Y;
|
||||
Matrix_Translate((R_COMPASS_OFFSET_X + tempX) / 10.0f, (R_COMPASS_OFFSET_Y - tempZ) / 10.0f, 0.0f, MTXMODE_NEW);
|
||||
Matrix_Scale(VREG(9) / 100.0f, VREG(9) / 100.0f, VREG(9) / 100.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateX(VREG(52) / 10.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateY(sPlayerInitialDirection / 10.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->overlay.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_map_exp.c", 603),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0xFF, 0xC8, 0x00, 0x00, 0xFF);
|
||||
gSPDisplayList(gfxCtx->overlay.p++, D_0400C820);
|
||||
}
|
||||
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 607);
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Minimap_DrawCompassIcons.s")
|
||||
#endif
|
||||
|
||||
void Minimap_Draw(GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 626);
|
||||
|
||||
if (globalCtx->pauseCtx.state < 4) {
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
if (!R_MINIMAP_TOGGLED) {
|
||||
func_80094520(globalCtx->state.gfxCtx);
|
||||
gDPSetCombineLERP(gfxCtx->overlay.p++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE,
|
||||
0, TEXEL0, 0, PRIMITIVE, 0);
|
||||
|
||||
if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x64, 0xFF, 0xFF, interfaceCtx->minimapAlpha);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSPTextureRectangle(gfxCtx->overlay.p++, R_DGN_MINIMAP_X << 2, R_DGN_MINIMAP_Y << 2,
|
||||
(R_DGN_MINIMAP_X + 96) << 2, (R_DGN_MINIMAP_Y + 85) << 2, G_TX_RENDERTILE,
|
||||
0, 0, 1024, 1024);
|
||||
}
|
||||
|
||||
if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_COMPASS]) {
|
||||
Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position
|
||||
func_80094520(globalCtx->state.gfxCtx);
|
||||
MapMark_DrawConditionally(globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
if (!~(globalCtx->state.input[0].press.in.button | ~L_TRIG) && !Gameplay_InCsMode(globalCtx)) {
|
||||
osSyncPrintf("Game_play_demo_mode_check=%d\n", Gameplay_InCsMode(globalCtx));
|
||||
// clang-format off
|
||||
if (!R_MINIMAP_TOGGLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8); }
|
||||
else { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8); }
|
||||
// clang-format on
|
||||
R_MINIMAP_TOGGLED ^= 1;
|
||||
}
|
||||
|
||||
break;
|
||||
case SCENE_SPOT00:
|
||||
case SCENE_SPOT01:
|
||||
case SCENE_SPOT02:
|
||||
case SCENE_SPOT03:
|
||||
case SCENE_SPOT04:
|
||||
case SCENE_SPOT05:
|
||||
case SCENE_SPOT06:
|
||||
case SCENE_SPOT07:
|
||||
case SCENE_SPOT08:
|
||||
case SCENE_SPOT09:
|
||||
case SCENE_SPOT10:
|
||||
case SCENE_SPOT11:
|
||||
case SCENE_SPOT12:
|
||||
case SCENE_SPOT13:
|
||||
case SCENE_SPOT15:
|
||||
case SCENE_SPOT16:
|
||||
case SCENE_SPOT17:
|
||||
case SCENE_SPOT18:
|
||||
case SCENE_SPOT20:
|
||||
case SCENE_GANON_TOU:
|
||||
if (!R_MINIMAP_TOGGLED) {
|
||||
func_80094520(globalCtx->state.gfxCtx);
|
||||
|
||||
gDPSetCombineMode(gfxCtx->overlay.p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1),
|
||||
R_MINIMAP_COLOR(2), interfaceCtx->minimapAlpha);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfxCtx->overlay.p++, interfaceCtx->mapSegment, G_IM_FMT_IA,
|
||||
gMapData->owMinimapWidth[mapIndex], gMapData->owMinimapHeight[mapIndex], 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSPTextureRectangle(gfxCtx->overlay.p++, R_OW_MINIMAP_X << 2, R_OW_MINIMAP_Y << 2,
|
||||
(R_OW_MINIMAP_X + gMapData->owMinimapWidth[mapIndex]) << 2,
|
||||
(R_OW_MINIMAP_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0,
|
||||
0, 1024, 1024);
|
||||
|
||||
if (((globalCtx->sceneNum != SCENE_SPOT01) && (globalCtx->sceneNum != SCENE_SPOT04) &&
|
||||
(globalCtx->sceneNum != SCENE_SPOT08)) ||
|
||||
(LINK_AGE_IN_YEARS != YEARS_ADULT)) {
|
||||
if ((gMapData->owEntranceFlag[sEntranceIconMapIndex] == 0xFFFF) ||
|
||||
((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) &&
|
||||
(gSaveContext.infTable[26] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) {
|
||||
|
||||
gDPLoadTextureBlock(gfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSPTextureRectangle(gfxCtx->overlay.p++,
|
||||
gMapData->owEntranceIconPosX[sEntranceIconMapIndex] << 2,
|
||||
gMapData->owEntranceIconPosY[sEntranceIconMapIndex] << 2,
|
||||
(gMapData->owEntranceIconPosX[sEntranceIconMapIndex] + 8) << 2,
|
||||
(gMapData->owEntranceIconPosY[sEntranceIconMapIndex] + 8) << 2,
|
||||
G_TX_RENDERTILE, 0, 0, 1024, 1024);
|
||||
}
|
||||
}
|
||||
|
||||
if ((globalCtx->sceneNum == SCENE_SPOT08) && (gSaveContext.infTable[26] & gBitFlags[9])) {
|
||||
gDPLoadTextureBlock(gfxCtx->overlay.p++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSPTextureRectangle(gfxCtx->overlay.p++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024,
|
||||
1024);
|
||||
}
|
||||
|
||||
Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position
|
||||
}
|
||||
|
||||
if (!~(globalCtx->state.input[0].press.in.button | ~L_TRIG) && !Gameplay_InCsMode(globalCtx)) {
|
||||
// clang-format off
|
||||
if (!R_MINIMAP_TOGGLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8); }
|
||||
else { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8); }
|
||||
// clang-format on
|
||||
R_MINIMAP_TOGGLED ^= 1;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_exp.c", 782);
|
||||
}
|
||||
|
||||
s16 Map_GetFloorTextIndexOffset(s32 mapIndex, s32 floor) {
|
||||
return gMapData->floorTexIndexOffset[mapIndex][floor];
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// single extra load instruction
|
||||
void Map_Update(GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s32 mapIndex = gSaveContext.mapIndex;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
s16 floor;
|
||||
s16 i;
|
||||
|
||||
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0)) {
|
||||
switch (globalCtx->sceneNum) {
|
||||
case SCENE_YDAN:
|
||||
case SCENE_DDAN:
|
||||
case SCENE_BDAN:
|
||||
case SCENE_BMORI1:
|
||||
case SCENE_HIDAN:
|
||||
case SCENE_MIZUSIN:
|
||||
case SCENE_JYASINZOU:
|
||||
case SCENE_HAKADAN:
|
||||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
case SCENE_GANON:
|
||||
case SCENE_MEN:
|
||||
case SCENE_GERUDOWAY:
|
||||
case SCENE_GANONTIKA:
|
||||
case SCENE_GANON_SONOGO:
|
||||
case SCENE_GANONTIKA_SONOGO:
|
||||
case SCENE_TAKARAYA:
|
||||
interfaceCtx->unk_140[30] = 0;
|
||||
if (gSaveContext.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
interfaceCtx->unk_140[31] = 1;
|
||||
} else {
|
||||
interfaceCtx->unk_140[31] = 0;
|
||||
}
|
||||
|
||||
for (floor = 0; floor < 8; floor++) {
|
||||
if (player->actor.posRot.pos.y > gMapData->floorCoordY[mapIndex][floor]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (1) { // Appears to be necessary to match
|
||||
gSaveContext.sceneFlags[mapIndex].floors |= gBitFlags[floor];
|
||||
VREG(30) = floor;
|
||||
if (R_MAP_TEX_INDEX != (R_MAP_TEX_INDEX_BASE + Map_GetFloorTextIndexOffset(mapIndex, floor))) {
|
||||
R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE + Map_GetFloorTextIndexOffset(mapIndex, floor);
|
||||
}
|
||||
}
|
||||
|
||||
if (interfaceCtx->mapRoomNum != sLastRoomNum) {
|
||||
// Translates to "Current floor = %d Current room = %x Number of rooms = %d"
|
||||
osSyncPrintf("現在階=%d 現在部屋=%x 部屋数=%d\n", floor, interfaceCtx->mapRoomNum,
|
||||
gMapData->switchEntryCount[mapIndex]);
|
||||
if (interfaceCtx->mapRoomNum) {} // Improves codegen but may not be necessary
|
||||
sLastRoomNum = interfaceCtx->mapRoomNum;
|
||||
}
|
||||
|
||||
for (i = 0; i < gMapData->switchEntryCount[mapIndex]; i++) {
|
||||
if ((interfaceCtx->mapRoomNum == gMapData->switchFromRoom[mapIndex][i]) &&
|
||||
(floor == gMapData->switchFromFloor[mapIndex][i])) {
|
||||
interfaceCtx->mapRoomNum = gMapData->switchToRoom[mapIndex][i];
|
||||
osSyncPrintf(VT_FGCOL(YELLOW));
|
||||
osSyncPrintf("階層切替=%x\n", interfaceCtx->mapRoomNum); // "Layer switching = %x"
|
||||
osSyncPrintf(VT_RST);
|
||||
Map_InitData(globalCtx, interfaceCtx->mapRoomNum);
|
||||
gSaveContext.unk_1422 = 0;
|
||||
Map_SavePlayerInitialInfo(globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
VREG(10) = interfaceCtx->mapRoomNum;
|
||||
break;
|
||||
case SCENE_YDAN_BOSS:
|
||||
case SCENE_DDAN_BOSS:
|
||||
case SCENE_BDAN_BOSS:
|
||||
case SCENE_MORIBOSSROOM:
|
||||
case SCENE_FIRE_BS:
|
||||
case SCENE_MIZUSIN_BS:
|
||||
case SCENE_JYASINBOSS:
|
||||
case SCENE_HAKADAN_BS:
|
||||
VREG(30) = gMapData->bossFloor[globalCtx->sceneNum - SCENE_YDAN_BOSS];
|
||||
R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE +
|
||||
gMapData->floorTexIndexOffset[globalCtx->sceneNum - SCENE_YDAN_BOSS][VREG(30)];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Map_Update.s")
|
||||
#endif
|
||||
|
|
|
@ -18,9 +18,9 @@ typedef struct {
|
|||
/* 0x00 */ void* loadedRamAddr; // original name: "allocp"
|
||||
/* 0x04 */ u32 vromStart;
|
||||
/* 0x08 */ u32 vromEnd;
|
||||
/* 0x0C */ u32 vramStart;
|
||||
/* 0x10 */ u32 vramEnd;
|
||||
/* 0x14 */ u32 vramTable;
|
||||
/* 0x0C */ void* vramStart;
|
||||
/* 0x10 */ void* vramEnd;
|
||||
/* 0x14 */ void* vramTable;
|
||||
} MapMarkDataOverlay; // size = 0x18
|
||||
|
||||
static u32 sBaseImageSizes[] = { 0, 1, 2, 3 };
|
||||
|
@ -46,18 +46,16 @@ static MapMarkDataOverlay sMapMarkDataOvl = {
|
|||
NULL,
|
||||
(u32)_ovl_map_mark_dataSegmentRomStart,
|
||||
(u32)_ovl_map_mark_dataSegmentRomEnd,
|
||||
(u32)_ovl_map_mark_dataSegmentStart,
|
||||
(u32)_ovl_map_mark_dataSegmentEnd,
|
||||
(u32)gMapMarkDataTable,
|
||||
_ovl_map_mark_dataSegmentStart,
|
||||
_ovl_map_mark_dataSegmentEnd,
|
||||
gMapMarkDataTable,
|
||||
};
|
||||
|
||||
static MapMarksData** sLoadedMarkDataTable;
|
||||
|
||||
extern u8** D_8015FFD0;
|
||||
|
||||
void MapMark_Init(GlobalContext* globalCtx) {
|
||||
MapMarkDataOverlay* overlay = &sMapMarkDataOvl;
|
||||
u32 overlaySize = overlay->vramEnd - overlay->vramStart;
|
||||
u32 overlaySize = (u32)overlay->vramEnd - (u32)overlay->vramStart;
|
||||
|
||||
overlay->loadedRamAddr = Game_Alloc(&globalCtx->state, overlaySize, "../z_map_mark.c", 235);
|
||||
LogUtils_CheckNullPointer("dlftbl->allocp", overlay->loadedRamAddr, "../z_map_mark.c", 236);
|
||||
|
@ -65,10 +63,10 @@ void MapMark_Init(GlobalContext* globalCtx) {
|
|||
Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
|
||||
|
||||
sLoadedMarkDataTable = gMapMarkDataTable;
|
||||
sLoadedMarkDataTable =
|
||||
(void*)(s32)((overlay->vramTable != 0)
|
||||
? (void*)(overlay->vramTable - (s32)(overlay->vramStart - (s32)overlay->loadedRamAddr))
|
||||
: NULL);
|
||||
sLoadedMarkDataTable = (void*)(u32)(
|
||||
(overlay->vramTable != NULL)
|
||||
? (void*)((u32)overlay->vramTable - (s32)((u32)overlay->vramStart - (u32)overlay->loadedRamAddr))
|
||||
: NULL);
|
||||
}
|
||||
|
||||
void MapMark_ClearPointers(GlobalContext* globalCtx) {
|
||||
|
@ -81,24 +79,24 @@ void MapMark_Draw(GlobalContext* globalCtx) {
|
|||
MapMarkData* mapMarkData;
|
||||
MapMarkPoint* markPoint;
|
||||
MapMarkInfo* markInfo;
|
||||
u16 dungeonId;
|
||||
u16 dungeon;
|
||||
s32 i;
|
||||
s32 rectLeft;
|
||||
s32 rectTop;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
dungeonId = gSaveContext.dungeonIndex;
|
||||
dungeon = gSaveContext.mapIndex;
|
||||
interfaceCtx = &globalCtx->interfaceCtx;
|
||||
|
||||
if ((D_8015FFD0 != NULL) && (globalCtx->interfaceCtx.roomNum >= D_8015FFD0[7][dungeonId])) {
|
||||
if ((gMapData != NULL) && (globalCtx->interfaceCtx.mapRoomNum >= gMapData->dgnMinimapCount[dungeon])) {
|
||||
// Translates to: "ROOM NUMBER EXCEEDED, YIKES %d/%d MapMarkDraw PROCESSING INTERRUPTED"
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "部屋番号がオーバーしてるで,ヤバイで %d/%d \nMapMarkDraw の処理を中断します\n",
|
||||
VT_RST, globalCtx->interfaceCtx.roomNum, D_8015FFD0[7][dungeonId]);
|
||||
VT_RST, globalCtx->interfaceCtx.mapRoomNum, gMapData->dgnMinimapCount[dungeon]);
|
||||
return;
|
||||
}
|
||||
|
||||
mapMarkData = &sLoadedMarkDataTable[dungeonId][interfaceCtx->roomNum][0];
|
||||
mapMarkData = &sLoadedMarkDataTable[dungeon][interfaceCtx->mapRoomNum][0];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_map_mark.c", 303);
|
||||
|
|
|
@ -1413,14 +1413,14 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
|
|||
gSaveContext.equipment |= (gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]);
|
||||
return ITEM_NONE;
|
||||
} else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) {
|
||||
gSaveContext.dungeonItems[gSaveContext.dungeonIndex] |= gBitFlags[item - ITEM_KEY_BOSS];
|
||||
gSaveContext.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_KEY_BOSS];
|
||||
return ITEM_NONE;
|
||||
} else if (item == ITEM_KEY_SMALL) {
|
||||
if (gSaveContext.dungeonKeys[gSaveContext.dungeonIndex] < 0) {
|
||||
gSaveContext.dungeonKeys[gSaveContext.dungeonIndex] = 1;
|
||||
if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] < 0) {
|
||||
gSaveContext.dungeonKeys[gSaveContext.mapIndex] = 1;
|
||||
return ITEM_NONE;
|
||||
} else {
|
||||
gSaveContext.dungeonKeys[gSaveContext.dungeonIndex]++;
|
||||
gSaveContext.dungeonKeys[gSaveContext.mapIndex]++;
|
||||
return ITEM_NONE;
|
||||
}
|
||||
} else if ((item == ITEM_QUIVER_30) || (item == ITEM_BOW)) {
|
||||
|
@ -2130,9 +2130,8 @@ void Interface_SetNaviCall(GlobalContext* globalCtx, u16 naviCallState) {
|
|||
if (((naviCallState == 0x1D) || (naviCallState == 0x1E)) && !interfaceCtx->naviCalling &&
|
||||
(globalCtx->csCtx.state == 0)) {
|
||||
// clang-format off
|
||||
// NOLINTNEXTLINE
|
||||
if (naviCallState == 0x1E) Audio_PlaySoundGeneral(NA_SE_VO_NAVY_CALL, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8);
|
||||
if (naviCallState == 0x1E) { Audio_PlaySoundGeneral(NA_SE_VO_NAVY_CALL, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8); }
|
||||
// clang-format on
|
||||
|
||||
if (naviCallState == 0x1D) {
|
||||
|
@ -2178,10 +2177,9 @@ s32 Health_ChangeBy(GlobalContext* globalCtx, s16 healthChange) {
|
|||
gSaveContext.healthCapacity);
|
||||
|
||||
// clang-format off
|
||||
// NOLINTNEXTLINE
|
||||
if (healthChange > 0) Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8);
|
||||
else if ((gSaveContext.doubleDefense != 0) && (healthChange < 0)) {
|
||||
if (healthChange > 0) { Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4,
|
||||
&D_801333E0, &D_801333E0, &D_801333E8);
|
||||
} else if ((gSaveContext.doubleDefense != 0) && (healthChange < 0)) {
|
||||
healthChange >>= 1;
|
||||
// Translates to: "Heart decrease halved!!=%d"
|
||||
osSyncPrintf("ハート減少半分!!=%d\n", healthChange);
|
||||
|
@ -3161,7 +3159,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
if (pauseCtx->flag == 0) {
|
||||
Interface_InitVertices(globalCtx);
|
||||
func_8008A994(interfaceCtx);
|
||||
Interface_DrawHealth(globalCtx);
|
||||
Health_Draw(globalCtx);
|
||||
|
||||
func_80094520(globalCtx->state.gfxCtx);
|
||||
|
||||
|
@ -3185,7 +3183,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
case SCENE_GANON_SONOGO:
|
||||
case SCENE_GANONTIKA_SONOGO:
|
||||
case SCENE_TAKARAYA:
|
||||
if (gSaveContext.dungeonKeys[gSaveContext.dungeonIndex] >= 0) {
|
||||
if (gSaveContext.dungeonKeys[gSaveContext.mapIndex] >= 0) {
|
||||
// Small Key Icon
|
||||
gDPPipeSync(gfxCtx->overlay.p++);
|
||||
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xC8, 0xE6, 0xFF, interfaceCtx->magicAlpha);
|
||||
|
@ -3200,7 +3198,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
|
||||
|
||||
interfaceCtx->counterDigits[2] = 0;
|
||||
interfaceCtx->counterDigits[3] = gSaveContext.dungeonKeys[gSaveContext.dungeonIndex];
|
||||
interfaceCtx->counterDigits[3] = gSaveContext.dungeonKeys[gSaveContext.mapIndex];
|
||||
|
||||
while (interfaceCtx->counterDigits[3] >= 10) {
|
||||
interfaceCtx->counterDigits[2]++;
|
||||
|
@ -3268,7 +3266,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
Interface_DrawMagicBar(globalCtx);
|
||||
Interface_DrawMinimap(globalCtx);
|
||||
Minimap_Draw(globalCtx);
|
||||
|
||||
if ((R_PAUSE_MENU_MODE != 2) && (R_PAUSE_MENU_MODE != 3)) {
|
||||
func_8002C124(&globalCtx->actorCtx.targetCtx, globalCtx); // Draw Z-Target
|
||||
|
@ -4099,7 +4097,7 @@ void Interface_Update(GlobalContext* globalCtx) {
|
|||
break;
|
||||
}
|
||||
|
||||
func_8008226C(globalCtx);
|
||||
Map_Update(globalCtx);
|
||||
|
||||
if (gSaveContext.healthAccumulator != 0) {
|
||||
gSaveContext.healthAccumulator -= 4;
|
||||
|
|
|
@ -655,9 +655,9 @@ void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx) {
|
|||
roomCtx->prevRoom.segment = NULL;
|
||||
func_80031B14(globalCtx, &globalCtx->actorCtx);
|
||||
Actor_SpawnTransitionActors(globalCtx, &globalCtx->actorCtx);
|
||||
func_80080E04(globalCtx, roomCtx->curRoom.num);
|
||||
Map_InitRoomData(globalCtx, roomCtx->curRoom.num);
|
||||
if (!((globalCtx->sceneNum >= SCENE_SPOT00) && (globalCtx->sceneNum <= SCENE_SPOT20))) {
|
||||
func_800807A0(globalCtx);
|
||||
Map_SavePlayerInitialInfo(globalCtx);
|
||||
}
|
||||
func_800F66C0(globalCtx->roomCtx.curRoom.echo);
|
||||
}
|
||||
|
|
|
@ -16,8 +16,7 @@ s32 osReadMempak(OSMesgQueue* ctrlrqueue, s32 ctrlridx, u16 addr, PIF_mempak_dat
|
|||
_osCont_lastPollType = 2;
|
||||
D_80134D20 = ctrlridx;
|
||||
// clang-format off
|
||||
// NOLINTNEXTLINE
|
||||
for (i = 0; i < ctrlridx; i++) *bufptr++ = 0;
|
||||
for (i = 0; i < ctrlridx; i++) { *bufptr++ = 0; }
|
||||
// clang-format on
|
||||
pifMempakBuf.status_control = 1;
|
||||
((PIF_header_t*)bufptr)->slot_type = 0xff;
|
||||
|
|
Loading…
Add table
Reference in a new issue