mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-29 16:26:18 +00:00
En_Ex_Item (#567)
* first go * match * vt * docs * one last thing * formatted * bowling, why not * header * Update src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * press FFFF Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
600bad1f20
commit
7daadc5ea1
30 changed files with 554 additions and 1329 deletions
|
@ -1,4 +0,0 @@
|
|||
glabel EnExItem_Destroy
|
||||
/* 00000 80A08EA0 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00004 80A08EA4 03E00008 */ jr $ra
|
||||
/* 00008 80A08EA8 AFA50004 */ sw $a1, 0x0004($sp)
|
|
@ -1,78 +0,0 @@
|
|||
.late_rodata
|
||||
.late_rodata_alignment 8
|
||||
glabel jtbl_80A0A130
|
||||
.word L80A09B04
|
||||
.word L80A09B14
|
||||
.word L80A09B04
|
||||
.word L80A09B04
|
||||
.word L80A09B24
|
||||
.word L80A09B04
|
||||
.word L80A09B14
|
||||
.word L80A09B04
|
||||
.word L80A09B04
|
||||
.word L80A09B24
|
||||
.word L80A09B24
|
||||
.word L80A09B24
|
||||
.word L80A09B24
|
||||
.word L80A09B24
|
||||
.word L80A09B24
|
||||
.word L80A09B34
|
||||
.word L80A09B48
|
||||
.word L80A09B48
|
||||
.word L80A09B48
|
||||
.word L80A09B04
|
||||
|
||||
.text
|
||||
glabel EnExItem_Draw
|
||||
/* 00C1C 80A09ABC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C20 80A09AC0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C24 80A09AC4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 00C28 80A09AC8 8C850164 */ lw $a1, 0x0164($a0) ## 00000164
|
||||
/* 00C2C 80A09ACC AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 00C30 80A09AD0 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00C34 80A09AD4 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00C38 80A09AD8 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00C3C 80A09ADC 8FA7001C */ lw $a3, 0x001C($sp)
|
||||
/* 00C40 80A09AE0 84830152 */ lh $v1, 0x0152($a0) ## 00000152
|
||||
/* 00C44 80A09AE4 2C610014 */ sltiu $at, $v1, 0x0014
|
||||
/* 00C48 80A09AE8 1020001C */ beq $at, $zero, .L80A09B5C
|
||||
/* 00C4C 80A09AEC 00037080 */ sll $t6, $v1, 2
|
||||
/* 00C50 80A09AF0 3C0180A1 */ lui $at, %hi(jtbl_80A0A130) ## $at = 80A10000
|
||||
/* 00C54 80A09AF4 002E0821 */ addu $at, $at, $t6
|
||||
/* 00C58 80A09AF8 8C2EA130 */ lw $t6, %lo(jtbl_80A0A130)($at)
|
||||
/* 00C5C 80A09AFC 01C00008 */ jr $t6
|
||||
/* 00C60 80A09B00 00000000 */ nop
|
||||
glabel L80A09B04
|
||||
/* 00C64 80A09B04 0C2826DB */ jal func_80A09B6C
|
||||
/* 00C68 80A09B08 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00C6C 80A09B0C 10000014 */ beq $zero, $zero, .L80A09B60
|
||||
/* 00C70 80A09B10 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80A09B14
|
||||
/* 00C74 80A09B14 0C2826F3 */ jal func_80A09BCC
|
||||
/* 00C78 80A09B18 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00C7C 80A09B1C 10000010 */ beq $zero, $zero, .L80A09B60
|
||||
/* 00C80 80A09B20 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80A09B24
|
||||
/* 00C84 80A09B24 0C28275B */ jal func_80A09D6C
|
||||
/* 00C88 80A09B28 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00C8C 80A09B2C 1000000C */ beq $zero, $zero, .L80A09B60
|
||||
/* 00C90 80A09B30 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80A09B34
|
||||
/* 00C94 80A09B34 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00C98 80A09B38 0C282710 */ jal func_80A09C40
|
||||
/* 00C9C 80A09B3C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00CA0 80A09B40 10000007 */ beq $zero, $zero, .L80A09B60
|
||||
/* 00CA4 80A09B44 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80A09B48
|
||||
/* 00CA8 80A09B48 2462FFF0 */ addiu $v0, $v1, 0xFFF0 ## $v0 = FFFFFFF0
|
||||
/* 00CAC 80A09B4C 00023400 */ sll $a2, $v0, 16
|
||||
/* 00CB0 80A09B50 00063403 */ sra $a2, $a2, 16
|
||||
/* 00CB4 80A09B54 0C2826FF */ jal func_80A09BFC
|
||||
/* 00CB8 80A09B58 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
.L80A09B5C:
|
||||
/* 00CBC 80A09B5C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A09B60:
|
||||
/* 00CC0 80A09B60 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00CC4 80A09B64 03E00008 */ jr $ra
|
||||
/* 00CC8 80A09B68 00000000 */ nop
|
|
@ -1,173 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A09E10
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09E14
|
||||
.asciz "\x1b[32m☆☆☆☆☆ なにがでるかな? ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09E48
|
||||
.asciz "\x1b[33m☆☆☆☆☆ なにがでるかな? ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09E7C
|
||||
.asciz "なにみの? %d\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09E8C
|
||||
.asciz "\x1b[35m バンクおかしいしぞ!%d\n\x1b[m\n"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_80A0A084
|
||||
.word L80A08F58
|
||||
.word L80A08F64
|
||||
.word L80A08F70
|
||||
.word L80A08F7C
|
||||
.word L80A08F88
|
||||
.word L80A08F58
|
||||
.word L80A08F64
|
||||
.word L80A08F70
|
||||
.word L80A08F7C
|
||||
.word L80A08F88
|
||||
.word L80A08F88
|
||||
.word L80A08F88
|
||||
.word L80A08F88
|
||||
.word L80A08F88
|
||||
.word L80A08F88
|
||||
.word L80A08F94
|
||||
.word L80A08FC4
|
||||
.word L80A08FC4
|
||||
.word L80A08FC4
|
||||
.word L80A08FD0
|
||||
glabel D_80A0A0D4
|
||||
.float 0.05
|
||||
|
||||
.text
|
||||
glabel EnExItem_Init
|
||||
/* 0000C 80A08EAC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00010 80A08EB0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 80A08EB4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00018 80A08EB8 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0001C 80A08EBC 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 00020 80A08EC0 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
|
||||
/* 00024 80A08EC4 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00028 80A08EC8 0002CA03 */ sra $t9, $v0, 8
|
||||
/* 0002C 80A08ECC 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
|
||||
/* 00030 80A08ED0 305800FF */ andi $t8, $v0, 0x00FF ## $t8 = 00000000
|
||||
/* 00034 80A08ED4 01C17824 */ and $t7, $t6, $at
|
||||
/* 00038 80A08ED8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0003C 80A08EDC AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
|
||||
/* 00040 80A08EE0 A4980152 */ sh $t8, 0x0152($a0) ## 00000152
|
||||
/* 00044 80A08EE4 A4880154 */ sh $t0, 0x0154($a0) ## 00000154
|
||||
/* 00048 80A08EE8 3C0480A1 */ lui $a0, %hi(D_80A09E10) ## $a0 = 80A10000
|
||||
/* 0004C 80A08EEC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00050 80A08EF0 24849E10 */ addiu $a0, $a0, %lo(D_80A09E10) ## $a0 = 80A09E10
|
||||
/* 00054 80A08EF4 3C0480A1 */ lui $a0, %hi(D_80A09E14) ## $a0 = 80A10000
|
||||
/* 00058 80A08EF8 24849E14 */ addiu $a0, $a0, %lo(D_80A09E14) ## $a0 = 80A09E14
|
||||
/* 0005C 80A08EFC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00060 80A08F00 86050152 */ lh $a1, 0x0152($s0) ## 00000152
|
||||
/* 00064 80A08F04 3C0480A1 */ lui $a0, %hi(D_80A09E48) ## $a0 = 80A10000
|
||||
/* 00068 80A08F08 24849E48 */ addiu $a0, $a0, %lo(D_80A09E48) ## $a0 = 80A09E48
|
||||
/* 0006C 80A08F0C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00070 80A08F10 86050154 */ lh $a1, 0x0154($s0) ## 00000154
|
||||
/* 00074 80A08F14 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024
|
||||
/* 00078 80A08F18 960C0152 */ lhu $t4, 0x0152($s0) ## 00000152
|
||||
/* 0007C 80A08F1C 8E090028 */ lw $t1, 0x0028($s0) ## 00000028
|
||||
/* 00080 80A08F20 AE0A0170 */ sw $t2, 0x0170($s0) ## 00000170
|
||||
/* 00084 80A08F24 8E0A002C */ lw $t2, 0x002C($s0) ## 0000002C
|
||||
/* 00088 80A08F28 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
|
||||
/* 0008C 80A08F2C 2D810014 */ sltiu $at, $t4, 0x0014
|
||||
/* 00090 80A08F30 A60B0150 */ sh $t3, 0x0150($s0) ## 00000150
|
||||
/* 00094 80A08F34 AE090174 */ sw $t1, 0x0174($s0) ## 00000174
|
||||
/* 00098 80A08F38 10200027 */ beq $at, $zero, .L80A08FD8
|
||||
/* 0009C 80A08F3C AE0A0178 */ sw $t2, 0x0178($s0) ## 00000178
|
||||
/* 000A0 80A08F40 000C6080 */ sll $t4, $t4, 2
|
||||
/* 000A4 80A08F44 3C0180A1 */ lui $at, %hi(jtbl_80A0A084) ## $at = 80A10000
|
||||
/* 000A8 80A08F48 002C0821 */ addu $at, $at, $t4
|
||||
/* 000AC 80A08F4C 8C2CA084 */ lw $t4, %lo(jtbl_80A0A084)($at)
|
||||
/* 000B0 80A08F50 01800008 */ jr $t4
|
||||
/* 000B4 80A08F54 00000000 */ nop
|
||||
glabel L80A08F58
|
||||
/* 000B8 80A08F58 240D00BF */ addiu $t5, $zero, 0x00BF ## $t5 = 000000BF
|
||||
/* 000BC 80A08F5C 1000001E */ beq $zero, $zero, .L80A08FD8
|
||||
/* 000C0 80A08F60 A60D0150 */ sh $t5, 0x0150($s0) ## 00000150
|
||||
glabel L80A08F64
|
||||
/* 000C4 80A08F64 240E00BD */ addiu $t6, $zero, 0x00BD ## $t6 = 000000BD
|
||||
/* 000C8 80A08F68 1000001B */ beq $zero, $zero, .L80A08FD8
|
||||
/* 000CC 80A08F6C A60E0150 */ sh $t6, 0x0150($s0) ## 00000150
|
||||
glabel L80A08F70
|
||||
/* 000D0 80A08F70 240F00D9 */ addiu $t7, $zero, 0x00D9 ## $t7 = 000000D9
|
||||
/* 000D4 80A08F74 10000018 */ beq $zero, $zero, .L80A08FD8
|
||||
/* 000D8 80A08F78 A60F0150 */ sh $t7, 0x0150($s0) ## 00000150
|
||||
glabel L80A08F7C
|
||||
/* 000DC 80A08F7C 241800CE */ addiu $t8, $zero, 0x00CE ## $t8 = 000000CE
|
||||
/* 000E0 80A08F80 10000015 */ beq $zero, $zero, .L80A08FD8
|
||||
/* 000E4 80A08F84 A6180150 */ sh $t8, 0x0150($s0) ## 00000150
|
||||
glabel L80A08F88
|
||||
/* 000E8 80A08F88 2419017F */ addiu $t9, $zero, 0x017F ## $t9 = 0000017F
|
||||
/* 000EC 80A08F8C 10000012 */ beq $zero, $zero, .L80A08FD8
|
||||
/* 000F0 80A08F90 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
|
||||
glabel L80A08F94
|
||||
/* 000F4 80A08F94 3C0180A1 */ lui $at, %hi(D_80A0A0D4) ## $at = 80A10000
|
||||
/* 000F8 80A08F98 C424A0D4 */ lwc1 $f4, %lo(D_80A0A0D4)($at)
|
||||
/* 000FC 80A08F9C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00100 80A08FA0 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 00104 80A08FA4 3C0980A1 */ lui $t1, %hi(func_80A096A8) ## $t1 = 80A10000
|
||||
/* 00108 80A08FA8 24080007 */ addiu $t0, $zero, 0x0007 ## $t0 = 00000007
|
||||
/* 0010C 80A08FAC 252996A8 */ addiu $t1, $t1, %lo(func_80A096A8) ## $t1 = 80A096A8
|
||||
/* 00110 80A08FB0 A608015A */ sh $t0, 0x015A($s0) ## 0000015A
|
||||
/* 00114 80A08FB4 AE09014C */ sw $t1, 0x014C($s0) ## 0000014C
|
||||
/* 00118 80A08FB8 E6040164 */ swc1 $f4, 0x0164($s0) ## 00000164
|
||||
/* 0011C 80A08FBC 10000006 */ beq $zero, $zero, .L80A08FD8
|
||||
/* 00120 80A08FC0 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
|
||||
glabel L80A08FC4
|
||||
/* 00124 80A08FC4 240A015D */ addiu $t2, $zero, 0x015D ## $t2 = 0000015D
|
||||
/* 00128 80A08FC8 10000003 */ beq $zero, $zero, .L80A08FD8
|
||||
/* 0012C 80A08FCC A60A0150 */ sh $t2, 0x0150($s0) ## 00000150
|
||||
glabel L80A08FD0
|
||||
/* 00130 80A08FD0 240B017B */ addiu $t3, $zero, 0x017B ## $t3 = 0000017B
|
||||
/* 00134 80A08FD4 A60B0150 */ sh $t3, 0x0150($s0) ## 00000150
|
||||
.L80A08FD8:
|
||||
/* 00138 80A08FD8 86050150 */ lh $a1, 0x0150($s0) ## 00000150
|
||||
/* 0013C 80A08FDC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00140 80A08FE0 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00144 80A08FE4 04A00016 */ bltz $a1, .L80A09040
|
||||
/* 00148 80A08FE8 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0014C 80A08FEC 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00150 80A08FF0 00812021 */ addu $a0, $a0, $at
|
||||
/* 00154 80A08FF4 A202016C */ sb $v0, 0x016C($s0) ## 0000016C
|
||||
/* 00158 80A08FF8 820C016C */ lb $t4, 0x016C($s0) ## 0000016C
|
||||
/* 0015C 80A08FFC 3C0D80A1 */ lui $t5, %hi(func_80A09054) ## $t5 = 80A10000
|
||||
/* 00160 80A09000 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
|
||||
/* 00164 80A09004 0581000D */ bgez $t4, .L80A0903C
|
||||
/* 00168 80A09008 25AD9054 */ addiu $t5, $t5, %lo(func_80A09054) ## $t5 = 80A09054
|
||||
/* 0016C 80A0900C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00170 80A09010 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00174 80A09014 3C0480A1 */ lui $a0, %hi(D_80A09E7C) ## $a0 = 80A10000
|
||||
/* 00178 80A09018 24849E7C */ addiu $a0, $a0, %lo(D_80A09E7C) ## $a0 = 80A09E7C
|
||||
/* 0017C 80A0901C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00180 80A09020 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00184 80A09024 3C0480A1 */ lui $a0, %hi(D_80A09E8C) ## $a0 = 80A10000
|
||||
/* 00188 80A09028 24849E8C */ addiu $a0, $a0, %lo(D_80A09E8C) ## $a0 = 80A09E8C
|
||||
/* 0018C 80A0902C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00190 80A09030 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00194 80A09034 10000003 */ beq $zero, $zero, .L80A09044
|
||||
/* 00198 80A09038 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A0903C:
|
||||
/* 0019C 80A0903C AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C
|
||||
.L80A09040:
|
||||
/* 001A0 80A09040 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A09044:
|
||||
/* 001A4 80A09044 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 001A8 80A09048 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 001AC 80A0904C 03E00008 */ jr $ra
|
||||
/* 001B0 80A09050 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel EnExItem_Update
|
||||
/* 00BC8 80A09A68 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00BCC 80A09A6C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00BD0 80A09A70 8482015A */ lh $v0, 0x015A($a0) ## 0000015A
|
||||
/* 00BD4 80A09A74 10400002 */ beq $v0, $zero, .L80A09A80
|
||||
/* 00BD8 80A09A78 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00BDC 80A09A7C A48E015A */ sh $t6, 0x015A($a0) ## 0000015A
|
||||
.L80A09A80:
|
||||
/* 00BE0 80A09A80 8482015C */ lh $v0, 0x015C($a0) ## 0000015C
|
||||
/* 00BE4 80A09A84 10400002 */ beq $v0, $zero, .L80A09A90
|
||||
/* 00BE8 80A09A88 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00BEC 80A09A8C A48F015C */ sh $t7, 0x015C($a0) ## 0000015C
|
||||
.L80A09A90:
|
||||
/* 00BF0 80A09A90 8482015E */ lh $v0, 0x015E($a0) ## 0000015E
|
||||
/* 00BF4 80A09A94 10400002 */ beq $v0, $zero, .L80A09AA0
|
||||
/* 00BF8 80A09A98 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 00BFC 80A09A9C A498015E */ sh $t8, 0x015E($a0) ## 0000015E
|
||||
.L80A09AA0:
|
||||
/* 00C00 80A09AA0 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
|
||||
/* 00C04 80A09AA4 0320F809 */ jalr $ra, $t9
|
||||
/* 00C08 80A09AA8 00000000 */ nop
|
||||
/* 00C0C 80A09AAC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C10 80A09AB0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C14 80A09AB4 03E00008 */ jr $ra
|
||||
/* 00C18 80A09AB8 00000000 */ nop
|
|
@ -1,327 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A09EB0
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09EDC
|
||||
.asciz "\x1b[33m☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09F08
|
||||
.asciz "\x1b[34m☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09F34
|
||||
.asciz "\x1b[35m☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09F60
|
||||
.asciz "\x1b[36m☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel jtbl_80A0A0D8
|
||||
.word L80A0912C
|
||||
.word L80A09190
|
||||
.word L80A091FC
|
||||
.word L80A09250
|
||||
.word L80A092B8
|
||||
.word L80A09128
|
||||
.word L80A0918C
|
||||
.word L80A091F8
|
||||
.word L80A09250
|
||||
.word L80A092B8
|
||||
.word L80A0932C
|
||||
.word L80A0932C
|
||||
.word L80A0932C
|
||||
.word L80A0932C
|
||||
.word L80A0932C
|
||||
.word L80A09424
|
||||
.word L80A093CC
|
||||
.word L80A093CC
|
||||
.word L80A093CC
|
||||
.word L80A093E8
|
||||
glabel D_80A0A128
|
||||
.word 0x3EB33333
|
||||
glabel D_80A0A12C
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_80A09054
|
||||
/* 001B4 80A09054 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001B8 80A09058 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 001BC 80A0905C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 001C0 80A09060 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 001C4 80A09064 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 001C8 80A09068 00A12021 */ addu $a0, $a1, $at
|
||||
/* 001CC 80A0906C 80C5016C */ lb $a1, 0x016C($a2) ## 0000016C
|
||||
/* 001D0 80A09070 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 001D4 80A09074 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 001D8 80A09078 104000EA */ beq $v0, $zero, .L80A09424
|
||||
/* 001DC 80A0907C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 001E0 80A09080 3C0480A1 */ lui $a0, %hi(D_80A09EB0) ## $a0 = 80A10000
|
||||
/* 001E4 80A09084 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 001E8 80A09088 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 001EC 80A0908C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 001F0 80A09090 24849EB0 */ addiu $a0, $a0, %lo(D_80A09EB0) ## $a0 = 80A09EB0
|
||||
/* 001F4 80A09094 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 001F8 80A09098 3C0480A1 */ lui $a0, %hi(D_80A09EDC) ## $a0 = 80A10000
|
||||
/* 001FC 80A0909C 24849EDC */ addiu $a0, $a0, %lo(D_80A09EDC) ## $a0 = 80A09EDC
|
||||
/* 00200 80A090A0 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00204 80A090A4 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 00208 80A090A8 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 0020C 80A090AC 3C0480A1 */ lui $a0, %hi(D_80A09F08) ## $a0 = 80A10000
|
||||
/* 00210 80A090B0 24849F08 */ addiu $a0, $a0, %lo(D_80A09F08) ## $a0 = 80A09F08
|
||||
/* 00214 80A090B4 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00218 80A090B8 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 0021C 80A090BC 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00220 80A090C0 3C0480A1 */ lui $a0, %hi(D_80A09F34) ## $a0 = 80A10000
|
||||
/* 00224 80A090C4 24849F34 */ addiu $a0, $a0, %lo(D_80A09F34) ## $a0 = 80A09F34
|
||||
/* 00228 80A090C8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0022C 80A090CC 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 00230 80A090D0 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00234 80A090D4 3C0480A1 */ lui $a0, %hi(D_80A09F60) ## $a0 = 80A10000
|
||||
/* 00238 80A090D8 24849F60 */ addiu $a0, $a0, %lo(D_80A09F60) ## $a0 = 80A09F60
|
||||
/* 0023C 80A090DC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00240 80A090E0 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 00244 80A090E4 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00248 80A090E8 3C0F80A1 */ lui $t7, %hi(EnExItem_Draw) ## $t7 = 80A10000
|
||||
/* 0024C 80A090EC 25EF9ABC */ addiu $t7, $t7, %lo(EnExItem_Draw) ## $t7 = 80A09ABC
|
||||
/* 00250 80A090F0 84C30152 */ lh $v1, 0x0152($a2) ## 00000152
|
||||
/* 00254 80A090F4 80CE016C */ lb $t6, 0x016C($a2) ## 0000016C
|
||||
/* 00258 80A090F8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 0025C 80A090FC 2C610014 */ sltiu $at, $v1, 0x0014
|
||||
/* 00260 80A09100 ACCF0134 */ sw $t7, 0x0134($a2) ## 00000134
|
||||
/* 00264 80A09104 A4C00158 */ sh $zero, 0x0158($a2) ## 00000158
|
||||
/* 00268 80A09108 102000C6 */ beq $at, $zero, .L80A09424
|
||||
/* 0026C 80A0910C A0CE001E */ sb $t6, 0x001E($a2) ## 0000001E
|
||||
/* 00270 80A09110 0003C080 */ sll $t8, $v1, 2
|
||||
/* 00274 80A09114 3C0180A1 */ lui $at, %hi(jtbl_80A0A0D8) ## $at = 80A10000
|
||||
/* 00278 80A09118 00380821 */ addu $at, $at, $t8
|
||||
/* 0027C 80A0911C 8C38A0D8 */ lw $t8, %lo(jtbl_80A0A0D8)($at)
|
||||
/* 00280 80A09120 03000008 */ jr $t8
|
||||
/* 00284 80A09124 00000000 */ nop
|
||||
glabel L80A09128
|
||||
/* 00288 80A09128 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
glabel L80A0912C
|
||||
/* 0028C 80A0912C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00290 80A09130 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 00294 80A09134 3C198003 */ lui $t9, %hi(func_8002EBCC)
|
||||
/* 00298 80A09138 2739EBCC */ addiu $t9, %lo(func_8002EBCC)
|
||||
/* 0029C 80A0913C 24080018 */ addiu $t0, $zero, 0x0018 ## $t0 = 00000018
|
||||
/* 002A0 80A09140 24090041 */ addiu $t1, $zero, 0x0041 ## $t1 = 00000041
|
||||
/* 002A4 80A09144 240A0023 */ addiu $t2, $zero, 0x0023 ## $t2 = 00000023
|
||||
/* 002A8 80A09148 ACD9017C */ sw $t9, 0x017C($a2) ## 0000017C
|
||||
/* 002AC 80A0914C A4C80156 */ sh $t0, 0x0156($a2) ## 00000156
|
||||
/* 002B0 80A09150 A4C9015A */ sh $t1, 0x015A($a2) ## 0000015A
|
||||
/* 002B4 80A09154 A4CA015E */ sh $t2, 0x015E($a2) ## 0000015E
|
||||
/* 002B8 80A09158 14400005 */ bne $v0, $zero, .L80A09170
|
||||
/* 002BC 80A0915C E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 002C0 80A09160 3C0B80A1 */ lui $t3, %hi(func_80A09434) ## $t3 = 80A10000
|
||||
/* 002C4 80A09164 256B9434 */ addiu $t3, $t3, %lo(func_80A09434) ## $t3 = 80A09434
|
||||
/* 002C8 80A09168 100000AE */ beq $zero, $zero, .L80A09424
|
||||
/* 002CC 80A0916C ACCB014C */ sw $t3, 0x014C($a2) ## 0000014C
|
||||
.L80A09170:
|
||||
/* 002D0 80A09170 3C01C190 */ lui $at, 0xC190 ## $at = C1900000
|
||||
/* 002D4 80A09174 44812000 */ mtc1 $at, $f4 ## $f4 = -18.00
|
||||
/* 002D8 80A09178 3C0C80A1 */ lui $t4, %hi(func_80A0964C) ## $t4 = 80A10000
|
||||
/* 002DC 80A0917C 258C964C */ addiu $t4, $t4, %lo(func_80A0964C) ## $t4 = 80A0964C
|
||||
/* 002E0 80A09180 ACCC014C */ sw $t4, 0x014C($a2) ## 0000014C
|
||||
/* 002E4 80A09184 100000A7 */ beq $zero, $zero, .L80A09424
|
||||
/* 002E8 80A09188 E4C400BC */ swc1 $f4, 0x00BC($a2) ## 000000BC
|
||||
glabel L80A0918C
|
||||
/* 002EC 80A0918C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
glabel L80A09190
|
||||
/* 002F0 80A09190 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 002F4 80A09194 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 002F8 80A09198 3C0D8003 */ lui $t5, %hi(func_8002ED80)
|
||||
/* 002FC 80A0919C 25ADED80 */ addiu $t5, %lo(func_8002ED80)
|
||||
/* 00300 80A091A0 240E0041 */ addiu $t6, $zero, 0x0041 ## $t6 = 00000041
|
||||
/* 00304 80A091A4 240F0023 */ addiu $t7, $zero, 0x0023 ## $t7 = 00000023
|
||||
/* 00308 80A091A8 ACCD017C */ sw $t5, 0x017C($a2) ## 0000017C
|
||||
/* 0030C 80A091AC A4CE015A */ sh $t6, 0x015A($a2) ## 0000015A
|
||||
/* 00310 80A091B0 A4CF015E */ sh $t7, 0x015E($a2) ## 0000015E
|
||||
/* 00314 80A091B4 14400009 */ bne $v0, $zero, .L80A091DC
|
||||
/* 00318 80A091B8 E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 0031C 80A091BC 24044823 */ addiu $a0, $zero, 0x4823 ## $a0 = 00004823
|
||||
/* 00320 80A091C0 0C01E221 */ jal func_80078884
|
||||
/* 00324 80A091C4 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00328 80A091C8 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 0032C 80A091CC 3C1880A1 */ lui $t8, %hi(func_80A09434) ## $t8 = 80A10000
|
||||
/* 00330 80A091D0 27189434 */ addiu $t8, $t8, %lo(func_80A09434) ## $t8 = 80A09434
|
||||
/* 00334 80A091D4 10000093 */ beq $zero, $zero, .L80A09424
|
||||
/* 00338 80A091D8 ACD8014C */ sw $t8, 0x014C($a2) ## 0000014C
|
||||
.L80A091DC:
|
||||
/* 0033C 80A091DC 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 00340 80A091E0 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00
|
||||
/* 00344 80A091E4 3C1980A1 */ lui $t9, %hi(func_80A0964C) ## $t9 = 80A10000
|
||||
/* 00348 80A091E8 2739964C */ addiu $t9, $t9, %lo(func_80A0964C) ## $t9 = 80A0964C
|
||||
/* 0034C 80A091EC ACD9014C */ sw $t9, 0x014C($a2) ## 0000014C
|
||||
/* 00350 80A091F0 1000008C */ beq $zero, $zero, .L80A09424
|
||||
/* 00354 80A091F4 E4C600BC */ swc1 $f6, 0x00BC($a2) ## 000000BC
|
||||
glabel L80A091F8
|
||||
/* 00358 80A091F8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
glabel L80A091FC
|
||||
/* 0035C 80A091FC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00360 80A09200 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 00364 80A09204 3C088003 */ lui $t0, %hi(func_8002EBCC)
|
||||
/* 00368 80A09208 2508EBCC */ addiu $t0, %lo(func_8002EBCC)
|
||||
/* 0036C 80A0920C 24090027 */ addiu $t1, $zero, 0x0027 ## $t1 = 00000027
|
||||
/* 00370 80A09210 240A0041 */ addiu $t2, $zero, 0x0041 ## $t2 = 00000041
|
||||
/* 00374 80A09214 240B0023 */ addiu $t3, $zero, 0x0023 ## $t3 = 00000023
|
||||
/* 00378 80A09218 ACC8017C */ sw $t0, 0x017C($a2) ## 0000017C
|
||||
/* 0037C 80A0921C A4C90156 */ sh $t1, 0x0156($a2) ## 00000156
|
||||
/* 00380 80A09220 A4CA015A */ sh $t2, 0x015A($a2) ## 0000015A
|
||||
/* 00384 80A09224 A4CB015E */ sh $t3, 0x015E($a2) ## 0000015E
|
||||
/* 00388 80A09228 14400005 */ bne $v0, $zero, .L80A09240
|
||||
/* 0038C 80A0922C E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 00390 80A09230 3C0C80A1 */ lui $t4, %hi(func_80A09434) ## $t4 = 80A10000
|
||||
/* 00394 80A09234 258C9434 */ addiu $t4, $t4, %lo(func_80A09434) ## $t4 = 80A09434
|
||||
/* 00398 80A09238 1000007A */ beq $zero, $zero, .L80A09424
|
||||
/* 0039C 80A0923C ACCC014C */ sw $t4, 0x014C($a2) ## 0000014C
|
||||
.L80A09240:
|
||||
/* 003A0 80A09240 3C0D80A1 */ lui $t5, %hi(func_80A0964C) ## $t5 = 80A10000
|
||||
/* 003A4 80A09244 25AD964C */ addiu $t5, $t5, %lo(func_80A0964C) ## $t5 = 80A0964C
|
||||
/* 003A8 80A09248 10000076 */ beq $zero, $zero, .L80A09424
|
||||
/* 003AC 80A0924C ACCD014C */ sw $t5, 0x014C($a2) ## 0000014C
|
||||
glabel L80A09250
|
||||
/* 003B0 80A09250 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 003B4 80A09254 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 003B8 80A09258 3C0E8003 */ lui $t6, %hi(func_8002EBCC)
|
||||
/* 003BC 80A0925C 25CEEBCC */ addiu $t6, %lo(func_8002EBCC)
|
||||
/* 003C0 80A09260 240F001F */ addiu $t7, $zero, 0x001F ## $t7 = 0000001F
|
||||
/* 003C4 80A09264 24180041 */ addiu $t8, $zero, 0x0041 ## $t8 = 00000041
|
||||
/* 003C8 80A09268 24190023 */ addiu $t9, $zero, 0x0023 ## $t9 = 00000023
|
||||
/* 003CC 80A0926C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 003D0 80A09270 ACCE017C */ sw $t6, 0x017C($a2) ## 0000017C
|
||||
/* 003D4 80A09274 A4CF0156 */ sh $t7, 0x0156($a2) ## 00000156
|
||||
/* 003D8 80A09278 A4D8015A */ sh $t8, 0x015A($a2) ## 0000015A
|
||||
/* 003DC 80A0927C A4D9015E */ sh $t9, 0x015E($a2) ## 0000015E
|
||||
/* 003E0 80A09280 E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 003E4 80A09284 14610005 */ bne $v1, $at, .L80A0929C
|
||||
/* 003E8 80A09288 E4C00168 */ swc1 $f0, 0x0168($a2) ## 00000168
|
||||
/* 003EC 80A0928C 3C0880A1 */ lui $t0, %hi(func_80A09434) ## $t0 = 80A10000
|
||||
/* 003F0 80A09290 25089434 */ addiu $t0, $t0, %lo(func_80A09434) ## $t0 = 80A09434
|
||||
/* 003F4 80A09294 10000063 */ beq $zero, $zero, .L80A09424
|
||||
/* 003F8 80A09298 ACC8014C */ sw $t0, 0x014C($a2) ## 0000014C
|
||||
.L80A0929C:
|
||||
/* 003FC 80A0929C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00400 80A092A0 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
|
||||
/* 00404 80A092A4 3C0980A1 */ lui $t1, %hi(func_80A0964C) ## $t1 = 80A10000
|
||||
/* 00408 80A092A8 2529964C */ addiu $t1, $t1, %lo(func_80A0964C) ## $t1 = 80A0964C
|
||||
/* 0040C 80A092AC ACC9014C */ sw $t1, 0x014C($a2) ## 0000014C
|
||||
/* 00410 80A092B0 1000005C */ beq $zero, $zero, .L80A09424
|
||||
/* 00414 80A092B4 E4C800BC */ swc1 $f8, 0x00BC($a2) ## 000000BC
|
||||
glabel L80A092B8
|
||||
/* 00418 80A092B8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 0041C 80A092BC 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 00420 80A092C0 3C0A8003 */ lui $t2, %hi(func_8002EBCC)
|
||||
/* 00424 80A092C4 3C0B8003 */ lui $t3, %hi(func_8002ED80)
|
||||
/* 00428 80A092C8 254AEBCC */ addiu $t2, %lo(func_8002EBCC)
|
||||
/* 0042C 80A092CC 256BED80 */ addiu $t3, %lo(func_8002ED80)
|
||||
/* 00430 80A092D0 240C0070 */ addiu $t4, $zero, 0x0070 ## $t4 = 00000070
|
||||
/* 00434 80A092D4 240D0041 */ addiu $t5, $zero, 0x0041 ## $t5 = 00000041
|
||||
/* 00438 80A092D8 240E0023 */ addiu $t6, $zero, 0x0023 ## $t6 = 00000023
|
||||
/* 0043C 80A092DC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 00440 80A092E0 ACCA017C */ sw $t2, 0x017C($a2) ## 0000017C
|
||||
/* 00444 80A092E4 ACCB0180 */ sw $t3, 0x0180($a2) ## 00000180
|
||||
/* 00448 80A092E8 A4CC0156 */ sh $t4, 0x0156($a2) ## 00000156
|
||||
/* 0044C 80A092EC A4CD015A */ sh $t5, 0x015A($a2) ## 0000015A
|
||||
/* 00450 80A092F0 A4CE015E */ sh $t6, 0x015E($a2) ## 0000015E
|
||||
/* 00454 80A092F4 E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 00458 80A092F8 14610005 */ bne $v1, $at, .L80A09310
|
||||
/* 0045C 80A092FC E4C00168 */ swc1 $f0, 0x0168($a2) ## 00000168
|
||||
/* 00460 80A09300 3C0F80A1 */ lui $t7, %hi(func_80A09434) ## $t7 = 80A10000
|
||||
/* 00464 80A09304 25EF9434 */ addiu $t7, $t7, %lo(func_80A09434) ## $t7 = 80A09434
|
||||
/* 00468 80A09308 10000046 */ beq $zero, $zero, .L80A09424
|
||||
/* 0046C 80A0930C ACCF014C */ sw $t7, 0x014C($a2) ## 0000014C
|
||||
.L80A09310:
|
||||
/* 00470 80A09310 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00474 80A09314 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
|
||||
/* 00478 80A09318 3C1880A1 */ lui $t8, %hi(func_80A0964C) ## $t8 = 80A10000
|
||||
/* 0047C 80A0931C 2718964C */ addiu $t8, $t8, %lo(func_80A0964C) ## $t8 = 80A0964C
|
||||
/* 00480 80A09320 ACD8014C */ sw $t8, 0x014C($a2) ## 0000014C
|
||||
/* 00484 80A09324 1000003F */ beq $zero, $zero, .L80A09424
|
||||
/* 00488 80A09328 E4CA00BC */ swc1 $f10, 0x00BC($a2) ## 000000BC
|
||||
glabel L80A0932C
|
||||
/* 0048C 80A0932C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00490 80A09330 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50
|
||||
/* 00494 80A09334 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00498 80A09338 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 0049C 80A0933C 3C198003 */ lui $t9, %hi(func_8002EBCC)
|
||||
/* 004A0 80A09340 3C088003 */ lui $t0, %hi(func_8002ED80)
|
||||
/* 004A4 80A09344 2739EBCC */ addiu $t9, %lo(func_8002EBCC)
|
||||
/* 004A8 80A09348 2508ED80 */ addiu $t0, %lo(func_8002ED80)
|
||||
/* 004AC 80A0934C 24090007 */ addiu $t1, $zero, 0x0007 ## $t1 = 00000007
|
||||
/* 004B0 80A09350 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 004B4 80A09354 ACD9017C */ sw $t9, 0x017C($a2) ## 0000017C
|
||||
/* 004B8 80A09358 ACC80180 */ sw $t0, 0x0180($a2) ## 00000180
|
||||
/* 004BC 80A0935C A4C9015A */ sh $t1, 0x015A($a2) ## 0000015A
|
||||
/* 004C0 80A09360 E4C00164 */ swc1 $f0, 0x0164($a2) ## 00000164
|
||||
/* 004C4 80A09364 E4C00168 */ swc1 $f0, 0x0168($a2) ## 00000168
|
||||
/* 004C8 80A09368 1061000C */ beq $v1, $at, .L80A0939C
|
||||
/* 004CC 80A0936C E4D00060 */ swc1 $f16, 0x0060($a2) ## 00000060
|
||||
/* 004D0 80A09370 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 004D4 80A09374 1061000C */ beq $v1, $at, .L80A093A8
|
||||
/* 004D8 80A09378 240B006D */ addiu $t3, $zero, 0x006D ## $t3 = 0000006D
|
||||
/* 004DC 80A0937C 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
|
||||
/* 004E0 80A09380 1061000B */ beq $v1, $at, .L80A093B0
|
||||
/* 004E4 80A09384 240C006E */ addiu $t4, $zero, 0x006E ## $t4 = 0000006E
|
||||
/* 004E8 80A09388 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 004EC 80A0938C 1061000A */ beq $v1, $at, .L80A093B8
|
||||
/* 004F0 80A09390 240D0070 */ addiu $t5, $zero, 0x0070 ## $t5 = 00000070
|
||||
/* 004F4 80A09394 10000009 */ beq $zero, $zero, .L80A093BC
|
||||
/* 004F8 80A09398 00000000 */ nop
|
||||
.L80A0939C:
|
||||
/* 004FC 80A0939C 240A006C */ addiu $t2, $zero, 0x006C ## $t2 = 0000006C
|
||||
/* 00500 80A093A0 10000006 */ beq $zero, $zero, .L80A093BC
|
||||
/* 00504 80A093A4 A4CA0156 */ sh $t2, 0x0156($a2) ## 00000156
|
||||
.L80A093A8:
|
||||
/* 00508 80A093A8 10000004 */ beq $zero, $zero, .L80A093BC
|
||||
/* 0050C 80A093AC A4CB0156 */ sh $t3, 0x0156($a2) ## 00000156
|
||||
.L80A093B0:
|
||||
/* 00510 80A093B0 10000002 */ beq $zero, $zero, .L80A093BC
|
||||
/* 00514 80A093B4 A4CC0156 */ sh $t4, 0x0156($a2) ## 00000156
|
||||
.L80A093B8:
|
||||
/* 00518 80A093B8 A4CD0156 */ sh $t5, 0x0156($a2) ## 00000156
|
||||
.L80A093BC:
|
||||
/* 0051C 80A093BC 3C0E80A1 */ lui $t6, %hi(func_80A096A8) ## $t6 = 80A10000
|
||||
/* 00520 80A093C0 25CE96A8 */ addiu $t6, $t6, %lo(func_80A096A8) ## $t6 = 80A096A8
|
||||
/* 00524 80A093C4 10000017 */ beq $zero, $zero, .L80A09424
|
||||
/* 00528 80A093C8 ACCE014C */ sw $t6, 0x014C($a2) ## 0000014C
|
||||
glabel L80A093CC
|
||||
/* 0052C 80A093CC 3C0180A1 */ lui $at, %hi(D_80A0A128) ## $at = 80A10000
|
||||
/* 00530 80A093D0 C432A128 */ lwc1 $f18, %lo(D_80A0A128)($at)
|
||||
/* 00534 80A093D4 3C0F80A1 */ lui $t7, %hi(func_80A09710) ## $t7 = 80A10000
|
||||
/* 00538 80A093D8 25EF9710 */ addiu $t7, $t7, %lo(func_80A09710) ## $t7 = 80A09710
|
||||
/* 0053C 80A093DC ACCF014C */ sw $t7, 0x014C($a2) ## 0000014C
|
||||
/* 00540 80A093E0 10000010 */ beq $zero, $zero, .L80A09424
|
||||
/* 00544 80A093E4 E4D20164 */ swc1 $f18, 0x0164($a2) ## 00000164
|
||||
glabel L80A093E8
|
||||
/* 00548 80A093E8 3C188003 */ lui $t8, %hi(func_8002EBCC)
|
||||
/* 0054C 80A093EC 2718EBCC */ addiu $t8, %lo(func_8002EBCC)
|
||||
/* 00550 80A093F0 2419006B */ addiu $t9, $zero, 0x006B ## $t9 = 0000006B
|
||||
/* 00554 80A093F4 ACD8017C */ sw $t8, 0x017C($a2) ## 0000017C
|
||||
/* 00558 80A093F8 A4D90156 */ sh $t9, 0x0156($a2) ## 00000156
|
||||
/* 0055C 80A093FC 3C0180A1 */ lui $at, %hi(D_80A0A12C) ## $at = 80A10000
|
||||
/* 00560 80A09400 C424A12C */ lwc1 $f4, %lo(D_80A0A12C)($at)
|
||||
/* 00564 80A09404 3C0A80A1 */ lui $t2, %hi(func_80A09724) ## $t2 = 80A10000
|
||||
/* 00568 80A09408 24080050 */ addiu $t0, $zero, 0x0050 ## $t0 = 00000050
|
||||
/* 0056C 80A0940C 24090023 */ addiu $t1, $zero, 0x0023 ## $t1 = 00000023
|
||||
/* 00570 80A09410 254A9724 */ addiu $t2, $t2, %lo(func_80A09724) ## $t2 = 80A09724
|
||||
/* 00574 80A09414 A4C8015A */ sh $t0, 0x015A($a2) ## 0000015A
|
||||
/* 00578 80A09418 A4C9015E */ sh $t1, 0x015E($a2) ## 0000015E
|
||||
/* 0057C 80A0941C ACCA014C */ sw $t2, 0x014C($a2) ## 0000014C
|
||||
/* 00580 80A09420 E4C40164 */ swc1 $f4, 0x0164($a2) ## 00000164
|
||||
glabel L80A09424
|
||||
.L80A09424:
|
||||
/* 00584 80A09424 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00588 80A09428 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0058C 80A0942C 03E00008 */ jr $ra
|
||||
/* 00590 80A09430 00000000 */ nop
|
|
@ -1,162 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A09F8C
|
||||
.asciz "\x1b[32m ☆☆☆☆☆ 母親ー? ☆☆☆☆☆ %x\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09FBC
|
||||
.asciz "\x1b[32m ☆☆☆☆☆ 動いてねー? ☆☆☆☆☆ %x\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A09FEC
|
||||
.asciz "\x1b[32m ☆☆☆☆☆ さぁきえるぞ! ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A09434
|
||||
/* 00594 80A09434 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 00598 80A09438 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0059C 80A0943C AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 005A0 80A09440 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 005A4 80A09444 84880158 */ lh $t0, 0x0158($a0) ## 00000158
|
||||
/* 005A8 80A09448 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 005AC 80A0944C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 005B0 80A09450 1500000F */ bne $t0, $zero, .L80A09490
|
||||
/* 005B4 80A09454 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 005B8 80A09458 848900B6 */ lh $t1, 0x00B6($a0) ## 000000B6
|
||||
/* 005BC 80A0945C 848B015E */ lh $t3, 0x015E($a0) ## 0000015E
|
||||
/* 005C0 80A09460 252A1000 */ addiu $t2, $t1, 0x1000 ## $t2 = 00001000
|
||||
/* 005C4 80A09464 1560000F */ bne $t3, $zero, .L80A094A4
|
||||
/* 005C8 80A09468 A48A00B6 */ sh $t2, 0x00B6($a0) ## 000000B6
|
||||
/* 005CC 80A0946C 848C00B6 */ lh $t4, 0x00B6($a0) ## 000000B6
|
||||
/* 005D0 80A09470 34019000 */ ori $at, $zero, 0x9000 ## $at = 00009000
|
||||
/* 005D4 80A09474 318DFFFF */ andi $t5, $t4, 0xFFFF ## $t5 = 00000000
|
||||
/* 005D8 80A09478 55A1000B */ bnel $t5, $at, .L80A094A8
|
||||
/* 005DC 80A0947C 8618015A */ lh $t8, 0x015A($s0) ## 0000015A
|
||||
/* 005E0 80A09480 848E0158 */ lh $t6, 0x0158($a0) ## 00000158
|
||||
/* 005E4 80A09484 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 005E8 80A09488 10000006 */ beq $zero, $zero, .L80A094A4
|
||||
/* 005EC 80A0948C A48F0158 */ sh $t7, 0x0158($a0) ## 00000158
|
||||
.L80A09490:
|
||||
/* 005F0 80A09490 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 005F4 80A09494 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 005F8 80A09498 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000
|
||||
/* 005FC 80A0949C 0C01E1A7 */ jal Math_SmoothStepToS
|
||||
|
||||
/* 00600 80A094A0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
.L80A094A4:
|
||||
/* 00604 80A094A4 8618015A */ lh $t8, 0x015A($s0) ## 0000015A
|
||||
.L80A094A8:
|
||||
/* 00608 80A094A8 3C0480A1 */ lui $a0, %hi(D_80A09F8C) ## $a0 = 80A10000
|
||||
/* 0060C 80A094AC 24849F8C */ addiu $a0, $a0, %lo(D_80A09F8C) ## $a0 = 80A09F8C
|
||||
/* 00610 80A094B0 1300004E */ beq $t8, $zero, .L80A095EC
|
||||
/* 00614 80A094B4 00000000 */ nop
|
||||
/* 00618 80A094B8 8619015E */ lh $t9, 0x015E($s0) ## 0000015E
|
||||
/* 0061C 80A094BC 3C01437A */ lui $at, 0x437A ## $at = 437A0000
|
||||
/* 00620 80A094C0 5320005E */ beql $t9, $zero, .L80A0963C
|
||||
/* 00624 80A094C4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00628 80A094C8 44815000 */ mtc1 $at, $f10 ## $f10 = 250.00
|
||||
/* 0062C 80A094CC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00630 80A094D0 E7AA003C */ swc1 $f10, 0x003C($sp)
|
||||
/* 00634 80A094D4 86080152 */ lh $t0, 0x0152($s0) ## 00000152
|
||||
/* 00638 80A094D8 15010004 */ bne $t0, $at, .L80A094EC
|
||||
/* 0063C 80A094DC 3C01435C */ lui $at, 0x435C ## $at = 435C0000
|
||||
/* 00640 80A094E0 44812000 */ mtc1 $at, $f4 ## $f4 = 220.00
|
||||
/* 00644 80A094E4 00000000 */ nop
|
||||
/* 00648 80A094E8 E7A4003C */ swc1 $f4, 0x003C($sp)
|
||||
.L80A094EC:
|
||||
/* 0064C 80A094EC C62C00E0 */ lwc1 $f12, 0x00E0($s1) ## 000000E0
|
||||
/* 00650 80A094F0 C62800EC */ lwc1 $f8, 0x00EC($s1) ## 000000EC
|
||||
/* 00654 80A094F4 C62A00E8 */ lwc1 $f10, 0x00E8($s1) ## 000000E8
|
||||
/* 00658 80A094F8 C63000E4 */ lwc1 $f16, 0x00E4($s1) ## 000000E4
|
||||
/* 0065C 80A094FC C62600F0 */ lwc1 $f6, 0x00F0($s1) ## 000000F0
|
||||
/* 00660 80A09500 460C4081 */ sub.s $f2, $f8, $f12
|
||||
/* 00664 80A09504 E7AA0038 */ swc1 $f10, 0x0038($sp)
|
||||
/* 00668 80A09508 C62400F4 */ lwc1 $f4, 0x00F4($s1) ## 000000F4
|
||||
/* 0066C 80A0950C C7A8003C */ lwc1 $f8, 0x003C($sp)
|
||||
/* 00670 80A09510 46103381 */ sub.s $f14, $f6, $f16
|
||||
/* 00674 80A09514 C7AA0038 */ lwc1 $f10, 0x0038($sp)
|
||||
/* 00678 80A09518 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 0067C 80A0951C 46082180 */ add.s $f6, $f4, $f8
|
||||
/* 00680 80A09520 46021102 */ mul.s $f4, $f2, $f2
|
||||
/* 00684 80A09524 00000000 */ nop
|
||||
/* 00688 80A09528 460E7202 */ mul.s $f8, $f14, $f14
|
||||
/* 0068C 80A0952C 460A3481 */ sub.s $f18, $f6, $f10
|
||||
/* 00690 80A09530 46082180 */ add.s $f6, $f4, $f8
|
||||
/* 00694 80A09534 46129102 */ mul.s $f4, $f18, $f18
|
||||
/* 00698 80A09538 46043000 */ add.s $f0, $f6, $f4
|
||||
/* 0069C 80A0953C 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 006A0 80A09540 46000004 */ sqrt.s $f0, $f0
|
||||
/* 006A4 80A09544 46009203 */ div.s $f8, $f18, $f0
|
||||
/* 006A8 80A09548 46064102 */ mul.s $f4, $f8, $f6
|
||||
/* 006AC 80A0954C 46001183 */ div.s $f6, $f2, $f0
|
||||
/* 006B0 80A09550 E7A40040 */ swc1 $f4, 0x0040($sp)
|
||||
/* 006B4 80A09554 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 006B8 80A09558 E7A80034 */ swc1 $f8, 0x0034($sp)
|
||||
/* 006BC 80A0955C 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
|
||||
/* 006C0 80A09560 00000000 */ nop
|
||||
/* 006C4 80A09564 46083182 */ mul.s $f6, $f6, $f8
|
||||
/* 006C8 80A09568 46066200 */ add.s $f8, $f12, $f6
|
||||
/* 006CC 80A0956C C7A60034 */ lwc1 $f6, 0x0034($sp)
|
||||
/* 006D0 80A09570 46064081 */ sub.s $f2, $f8, $f6
|
||||
/* 006D4 80A09574 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 006D8 80A09578 E7AA0028 */ swc1 $f10, 0x0028($sp)
|
||||
/* 006DC 80A0957C 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 006E0 80A09580 E7A80030 */ swc1 $f8, 0x0030($sp)
|
||||
/* 006E4 80A09584 46007203 */ div.s $f8, $f14, $f0
|
||||
/* 006E8 80A09588 C60C002C */ lwc1 $f12, 0x002C($s0) ## 0000002C
|
||||
/* 006EC 80A0958C 460A4202 */ mul.s $f8, $f8, $f10
|
||||
/* 006F0 80A09590 46088280 */ add.s $f10, $f16, $f8
|
||||
/* 006F4 80A09594 C7A80030 */ lwc1 $f8, 0x0030($sp)
|
||||
/* 006F8 80A09598 46085381 */ sub.s $f14, $f10, $f8
|
||||
/* 006FC 80A0959C C7AA0028 */ lwc1 $f10, 0x0028($sp)
|
||||
/* 00700 80A095A0 46045200 */ add.s $f8, $f10, $f4
|
||||
/* 00704 80A095A4 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
|
||||
/* 00708 80A095A8 46001283 */ div.s $f10, $f2, $f0
|
||||
/* 0070C 80A095AC 460C4481 */ sub.s $f18, $f8, $f12
|
||||
/* 00710 80A095B0 46045202 */ mul.s $f8, $f10, $f4
|
||||
/* 00714 80A095B4 46007103 */ div.s $f4, $f14, $f0
|
||||
/* 00718 80A095B8 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0071C 80A095BC 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 00720 80A095C0 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00724 80A095C4 C7AA0030 */ lwc1 $f10, 0x0030($sp)
|
||||
/* 00728 80A095C8 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0072C 80A095CC 46009183 */ div.s $f6, $f18, $f0
|
||||
/* 00730 80A095D0 46085100 */ add.s $f4, $f10, $f8
|
||||
/* 00734 80A095D4 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 00738 80A095D8 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 0073C 80A095DC 460A3202 */ mul.s $f8, $f6, $f10
|
||||
/* 00740 80A095E0 46086100 */ add.s $f4, $f12, $f8
|
||||
/* 00744 80A095E4 10000014 */ beq $zero, $zero, .L80A09638
|
||||
/* 00748 80A095E8 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C
|
||||
.L80A095EC:
|
||||
/* 0074C 80A095EC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00750 80A095F0 8E050118 */ lw $a1, 0x0118($s0) ## 00000118
|
||||
/* 00754 80A095F4 8E090118 */ lw $t1, 0x0118($s0) ## 00000118
|
||||
/* 00758 80A095F8 3C0480A1 */ lui $a0, %hi(D_80A09FBC) ## $a0 = 80A10000
|
||||
/* 0075C 80A095FC 24849FBC */ addiu $a0, $a0, %lo(D_80A09FBC) ## $a0 = 80A09FBC
|
||||
/* 00760 80A09600 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00764 80A09604 8D250130 */ lw $a1, 0x0130($t1) ## 00000130
|
||||
/* 00768 80A09608 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
|
||||
/* 0076C 80A0960C 10400008 */ beq $v0, $zero, .L80A09630
|
||||
/* 00770 80A09610 00000000 */ nop
|
||||
/* 00774 80A09614 8C4A0130 */ lw $t2, 0x0130($v0) ## 00000130
|
||||
/* 00778 80A09618 3C0480A1 */ lui $a0, %hi(D_80A09FEC) ## $a0 = 80A10000
|
||||
/* 0077C 80A0961C 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 00780 80A09620 11400003 */ beq $t2, $zero, .L80A09630
|
||||
/* 00784 80A09624 24849FEC */ addiu $a0, $a0, %lo(D_80A09FEC) ## $a0 = 80A09FEC
|
||||
/* 00788 80A09628 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0078C 80A0962C A44B0156 */ sh $t3, 0x0156($v0) ## 00000156
|
||||
.L80A09630:
|
||||
/* 00790 80A09630 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00794 80A09634 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80A09638:
|
||||
/* 00798 80A09638 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A0963C:
|
||||
/* 0079C 80A0963C 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 007A0 80A09640 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 007A4 80A09644 03E00008 */ jr $ra
|
||||
/* 007A8 80A09648 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
|
@ -1,10 +0,0 @@
|
|||
glabel func_80A0964C
|
||||
/* 007AC 80A0964C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 007B0 80A09650 240E4268 */ addiu $t6, $zero, 0x4268 ## $t6 = 00004268
|
||||
/* 007B4 80A09654 A48E00B6 */ sh $t6, 0x00B6($a0) ## 000000B6
|
||||
/* 007B8 80A09658 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
|
||||
/* 007BC 80A0965C 3C1880A1 */ lui $t8, %hi(func_80A09670) ## $t8 = 80A10000
|
||||
/* 007C0 80A09660 27189670 */ addiu $t8, $t8, %lo(func_80A09670) ## $t8 = 80A09670
|
||||
/* 007C4 80A09664 AC98014C */ sw $t8, 0x014C($a0) ## 0000014C
|
||||
/* 007C8 80A09668 03E00008 */ jr $ra
|
||||
/* 007CC 80A0966C A48F0032 */ sh $t7, 0x0032($a0) ## 00000032
|
|
@ -1,17 +0,0 @@
|
|||
glabel func_80A09670
|
||||
/* 007D0 80A09670 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 007D4 80A09674 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 007D8 80A09678 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 007DC 80A0967C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
|
||||
/* 007E0 80A09680 84980160 */ lh $t8, 0x0160($a0) ## 00000160
|
||||
/* 007E4 80A09684 25CF0800 */ addiu $t7, $t6, 0x0800 ## $t7 = 00000800
|
||||
/* 007E8 80A09688 13000003 */ beq $t8, $zero, .L80A09698
|
||||
/* 007EC 80A0968C A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
|
||||
/* 007F0 80A09690 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 007F4 80A09694 00000000 */ nop
|
||||
.L80A09698:
|
||||
/* 007F8 80A09698 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 007FC 80A0969C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00800 80A096A0 03E00008 */ jr $ra
|
||||
/* 00804 80A096A4 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80A096A8
|
||||
/* 00808 80A096A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0080C 80A096AC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00810 80A096B0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00814 80A096B4 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
|
||||
/* 00818 80A096B8 8482015A */ lh $v0, 0x015A($a0) ## 0000015A
|
||||
/* 0081C 80A096BC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00820 80A096C0 25CF1000 */ addiu $t7, $t6, 0x1000 ## $t7 = 00001000
|
||||
/* 00824 80A096C4 10400005 */ beq $v0, $zero, .L80A096DC
|
||||
/* 00828 80A096C8 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
|
||||
/* 0082C 80A096CC 1441000A */ bne $v0, $at, .L80A096F8
|
||||
/* 00830 80A096D0 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
|
||||
/* 00834 80A096D4 10000008 */ beq $zero, $zero, .L80A096F8
|
||||
/* 00838 80A096D8 A498015C */ sh $t8, 0x015C($a0) ## 0000015C
|
||||
.L80A096DC:
|
||||
/* 0083C 80A096DC 8499015C */ lh $t9, 0x015C($a0) ## 0000015C
|
||||
/* 00840 80A096E0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00844 80A096E4 17200004 */ bne $t9, $zero, .L80A096F8
|
||||
/* 00848 80A096E8 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060
|
||||
/* 0084C 80A096EC 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00850 80A096F0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00854 80A096F4 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
.L80A096F8:
|
||||
/* 00858 80A096F8 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 0085C 80A096FC 00000000 */ nop
|
||||
/* 00860 80A09700 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00864 80A09704 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00868 80A09708 03E00008 */ jr $ra
|
||||
/* 0086C 80A0970C 00000000 */ nop
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_80A09710
|
||||
/* 00870 80A09710 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00874 80A09714 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
|
||||
/* 00878 80A09718 25CF0800 */ addiu $t7, $t6, 0x0800 ## $t7 = 00000800
|
||||
/* 0087C 80A0971C 03E00008 */ jr $ra
|
||||
/* 00880 80A09720 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
|
|
@ -1,160 +0,0 @@
|
|||
glabel func_80A09724
|
||||
/* 00884 80A09724 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
|
||||
/* 00888 80A09728 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 0088C 80A0972C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00890 80A09730 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00894 80A09734 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00898 80A09738 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0089C 80A0973C 3C053F4C */ lui $a1, 0x3F4C ## $a1 = 3F4C0000
|
||||
/* 008A0 80A09740 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
|
||||
/* 008A4 80A09744 3C073CA3 */ lui $a3, 0x3CA3 ## $a3 = 3CA30000
|
||||
/* 008A8 80A09748 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3CA3D70A
|
||||
/* 008AC 80A0974C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
|
||||
/* 008B0 80A09750 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3F4CCCCD
|
||||
/* 008B4 80A09754 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 008B8 80A09758 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
|
||||
/* 008BC 80A0975C 860A0158 */ lh $t2, 0x0158($s0) ## 00000158
|
||||
/* 008C0 80A09760 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 008C4 80A09764 2405C000 */ addiu $a1, $zero, 0xC000 ## $a1 = FFFFC000
|
||||
/* 008C8 80A09768 1540000F */ bne $t2, $zero, .L80A097A8
|
||||
/* 008CC 80A0976C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 008D0 80A09770 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
|
||||
/* 008D4 80A09774 860D015E */ lh $t5, 0x015E($s0) ## 0000015E
|
||||
/* 008D8 80A09778 256C1000 */ addiu $t4, $t3, 0x1000 ## $t4 = 00001000
|
||||
/* 008DC 80A0977C 15A0000D */ bne $t5, $zero, .L80A097B4
|
||||
/* 008E0 80A09780 A60C00B6 */ sh $t4, 0x00B6($s0) ## 000000B6
|
||||
/* 008E4 80A09784 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 008E8 80A09788 34019000 */ ori $at, $zero, 0x9000 ## $at = 00009000
|
||||
/* 008EC 80A0978C 31CFFFFF */ andi $t7, $t6, 0xFFFF ## $t7 = 00000000
|
||||
/* 008F0 80A09790 55E10009 */ bnel $t7, $at, .L80A097B8
|
||||
/* 008F4 80A09794 8608015A */ lh $t0, 0x015A($s0) ## 0000015A
|
||||
/* 008F8 80A09798 86180158 */ lh $t8, 0x0158($s0) ## 00000158
|
||||
/* 008FC 80A0979C 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 00900 80A097A0 10000004 */ beq $zero, $zero, .L80A097B4
|
||||
/* 00904 80A097A4 A6190158 */ sh $t9, 0x0158($s0) ## 00000158
|
||||
.L80A097A8:
|
||||
/* 00908 80A097A8 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000
|
||||
/* 0090C 80A097AC 0C01E1A7 */ jal Math_SmoothStepToS
|
||||
|
||||
/* 00910 80A097B0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
.L80A097B4:
|
||||
/* 00914 80A097B4 8608015A */ lh $t0, 0x015A($s0) ## 0000015A
|
||||
.L80A097B8:
|
||||
/* 00918 80A097B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0091C 80A097BC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00920 80A097C0 1100004E */ beq $t0, $zero, .L80A098FC
|
||||
/* 00924 80A097C4 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00928 80A097C8 8609015E */ lh $t1, 0x015E($s0) ## 0000015E
|
||||
/* 0092C 80A097CC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00930 80A097D0 51200065 */ beql $t1, $zero, .L80A09968
|
||||
/* 00934 80A097D4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00938 80A097D8 C62C00E0 */ lwc1 $f12, 0x00E0($s1) ## 000000E0
|
||||
/* 0093C 80A097DC C62400EC */ lwc1 $f4, 0x00EC($s1) ## 000000EC
|
||||
/* 00940 80A097E0 C62800F0 */ lwc1 $f8, 0x00F0($s1) ## 000000F0
|
||||
/* 00944 80A097E4 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 00948 80A097E8 460C2081 */ sub.s $f2, $f4, $f12
|
||||
/* 0094C 80A097EC C62400E8 */ lwc1 $f4, 0x00E8($s1) ## 000000E8
|
||||
/* 00950 80A097F0 C63000E4 */ lwc1 $f16, 0x00E4($s1) ## 000000E4
|
||||
/* 00954 80A097F4 46064281 */ sub.s $f10, $f8, $f6
|
||||
/* 00958 80A097F8 E7A4003C */ swc1 $f4, 0x003C($sp)
|
||||
/* 0095C 80A097FC C62800F4 */ lwc1 $f8, 0x00F4($s1) ## 000000F4
|
||||
/* 00960 80A09800 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 00964 80A09804 46105381 */ sub.s $f14, $f10, $f16
|
||||
/* 00968 80A09808 C7A4003C */ lwc1 $f4, 0x003C($sp)
|
||||
/* 0096C 80A0980C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00970 80A09810 46064280 */ add.s $f10, $f8, $f6
|
||||
/* 00974 80A09814 46021202 */ mul.s $f8, $f2, $f2
|
||||
/* 00978 80A09818 00000000 */ nop
|
||||
/* 0097C 80A0981C 460E7182 */ mul.s $f6, $f14, $f14
|
||||
/* 00980 80A09820 46045481 */ sub.s $f18, $f10, $f4
|
||||
/* 00984 80A09824 46064280 */ add.s $f10, $f8, $f6
|
||||
/* 00988 80A09828 46129202 */ mul.s $f8, $f18, $f18
|
||||
/* 0098C 80A0982C 46085000 */ add.s $f0, $f10, $f8
|
||||
/* 00990 80A09830 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 00994 80A09834 46000004 */ sqrt.s $f0, $f0
|
||||
/* 00998 80A09838 46009183 */ div.s $f6, $f18, $f0
|
||||
/* 0099C 80A0983C 460A3202 */ mul.s $f8, $f6, $f10
|
||||
/* 009A0 80A09840 46001283 */ div.s $f10, $f2, $f0
|
||||
/* 009A4 80A09844 E7A80044 */ swc1 $f8, 0x0044($sp)
|
||||
/* 009A8 80A09848 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 009AC 80A0984C E7A60038 */ swc1 $f6, 0x0038($sp)
|
||||
/* 009B0 80A09850 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 009B4 80A09854 00000000 */ nop
|
||||
/* 009B8 80A09858 46065282 */ mul.s $f10, $f10, $f6
|
||||
/* 009BC 80A0985C 460A6180 */ add.s $f6, $f12, $f10
|
||||
/* 009C0 80A09860 C7AA0038 */ lwc1 $f10, 0x0038($sp)
|
||||
/* 009C4 80A09864 460A3081 */ sub.s $f2, $f6, $f10
|
||||
/* 009C8 80A09868 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 009CC 80A0986C E7A40028 */ swc1 $f4, 0x0028($sp)
|
||||
/* 009D0 80A09870 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
|
||||
/* 009D4 80A09874 E7A60034 */ swc1 $f6, 0x0034($sp)
|
||||
/* 009D8 80A09878 46007183 */ div.s $f6, $f14, $f0
|
||||
/* 009DC 80A0987C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 009E0 80A09880 C60C002C */ lwc1 $f12, 0x002C($s0) ## 0000002C
|
||||
/* 009E4 80A09884 46043182 */ mul.s $f6, $f6, $f4
|
||||
/* 009E8 80A09888 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 009EC 80A0988C 00000000 */ nop
|
||||
/* 009F0 80A09890 46048101 */ sub.s $f4, $f16, $f4
|
||||
/* 009F4 80A09894 46062100 */ add.s $f4, $f4, $f6
|
||||
/* 009F8 80A09898 C7A60034 */ lwc1 $f6, 0x0034($sp)
|
||||
/* 009FC 80A0989C 46062381 */ sub.s $f14, $f4, $f6
|
||||
/* 00A00 80A098A0 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 00A04 80A098A4 C7A40028 */ lwc1 $f4, 0x0028($sp)
|
||||
/* 00A08 80A098A8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00A0C 80A098AC 46062100 */ add.s $f4, $f4, $f6
|
||||
/* 00A10 80A098B0 46082180 */ add.s $f6, $f4, $f8
|
||||
/* 00A14 80A098B4 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
|
||||
/* 00A18 80A098B8 46001103 */ div.s $f4, $f2, $f0
|
||||
/* 00A1C 80A098BC 460C3481 */ sub.s $f18, $f6, $f12
|
||||
/* 00A20 80A098C0 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* 00A24 80A098C4 46007203 */ div.s $f8, $f14, $f0
|
||||
/* 00A28 80A098C8 46065100 */ add.s $f4, $f10, $f6
|
||||
/* 00A2C 80A098CC 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 00A30 80A098D0 E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00A34 80A098D4 C7A40034 */ lwc1 $f4, 0x0034($sp)
|
||||
/* 00A38 80A098D8 460A4182 */ mul.s $f6, $f8, $f10
|
||||
/* 00A3C 80A098DC 46009283 */ div.s $f10, $f18, $f0
|
||||
/* 00A40 80A098E0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00A44 80A098E4 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
|
||||
/* 00A48 80A098E8 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 00A4C 80A098EC 46045182 */ mul.s $f6, $f10, $f4
|
||||
/* 00A50 80A098F0 46066200 */ add.s $f8, $f12, $f6
|
||||
/* 00A54 80A098F4 1000001B */ beq $zero, $zero, .L80A09964
|
||||
/* 00A58 80A098F8 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
|
||||
.L80A098FC:
|
||||
/* 00A5C 80A098FC 0C00B7D5 */ jal func_8002DF54
|
||||
/* 00A60 80A09900 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
|
||||
/* 00A64 80A09904 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
|
||||
/* 00A68 80A09908 3C0A8016 */ lui $t2, %hi(gSaveContext+0xa0)
|
||||
/* 00A6C 80A0990C 3C0B8012 */ lui $t3, %hi(gUpgradeMasks+0x14)
|
||||
/* 00A70 80A09910 8D6B71C4 */ lw $t3, %lo(gUpgradeMasks+0x14)($t3)
|
||||
/* 00A74 80A09914 8D4AE700 */ lw $t2, %lo(gSaveContext+0xa0)($t2)
|
||||
/* 00A78 80A09918 3C0D8012 */ lui $t5, %hi(gUpgradeShifts+5)
|
||||
/* 00A7C 80A0991C 91AD71F9 */ lbu $t5, %lo(gUpgradeShifts+5)($t5)
|
||||
/* 00A80 80A09920 014B6024 */ and $t4, $t2, $t3
|
||||
/* 00A84 80A09924 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00A88 80A09928 01AC7007 */ srav $t6, $t4, $t5
|
||||
/* 00A8C 80A0992C 15C10003 */ bne $t6, $at, .L80A0993C
|
||||
/* 00A90 80A09930 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A94 80A09934 10000002 */ beq $zero, $zero, .L80A09940
|
||||
/* 00A98 80A09938 24060060 */ addiu $a2, $zero, 0x0060 ## $a2 = 00000060
|
||||
.L80A0993C:
|
||||
/* 00A9C 80A0993C 2406007B */ addiu $a2, $zero, 0x007B ## $a2 = 0000007B
|
||||
.L80A09940:
|
||||
/* 00AA0 80A09940 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 00AA4 80A09944 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00
|
||||
/* 00AA8 80A09948 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00AAC 80A0994C 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
|
||||
/* 00AB0 80A09950 0C00BD0D */ jal func_8002F434
|
||||
/* 00AB4 80A09954 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 00AB8 80A09958 3C0F80A1 */ lui $t7, %hi(func_80A09978) ## $t7 = 80A10000
|
||||
/* 00ABC 80A0995C 25EF9978 */ addiu $t7, $t7, %lo(func_80A09978) ## $t7 = 80A09978
|
||||
/* 00AC0 80A09960 AE0F014C */ sw $t7, 0x014C($s0) ## 0000014C
|
||||
.L80A09964:
|
||||
/* 00AC4 80A09964 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A09968:
|
||||
/* 00AC8 80A09968 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 00ACC 80A0996C 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 00AD0 80A09970 03E00008 */ jr $ra
|
||||
/* 00AD4 80A09974 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
|
|
@ -1,39 +0,0 @@
|
|||
glabel func_80A09978
|
||||
/* 00AD8 80A09978 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00ADC 80A0997C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00AE0 80A09980 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00AE4 80A09984 0C00BD04 */ jal Actor_HasParent
|
||||
/* 00AE8 80A09988 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00AEC 80A0998C 10400005 */ beq $v0, $zero, .L80A099A4
|
||||
/* 00AF0 80A09990 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00AF4 80A09994 3C0E80A1 */ lui $t6, %hi(func_80A09A00) ## $t6 = 80A10000
|
||||
/* 00AF8 80A09998 25CE9A00 */ addiu $t6, $t6, %lo(func_80A09A00) ## $t6 = 80A09A00
|
||||
/* 00AFC 80A0999C 10000014 */ beq $zero, $zero, .L80A099F0
|
||||
/* 00B00 80A099A0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
.L80A099A4:
|
||||
/* 00B04 80A099A4 3C0F8016 */ lui $t7, %hi(gSaveContext+0xa0)
|
||||
/* 00B08 80A099A8 3C188012 */ lui $t8, %hi(gUpgradeMasks+0x14)
|
||||
/* 00B0C 80A099AC 8F1871C4 */ lw $t8, %lo(gUpgradeMasks+0x14)($t8)
|
||||
/* 00B10 80A099B0 8DEFE700 */ lw $t7, %lo(gSaveContext+0xa0)($t7)
|
||||
/* 00B14 80A099B4 3C088012 */ lui $t0, %hi(gUpgradeShifts+5)
|
||||
/* 00B18 80A099B8 910871F9 */ lbu $t0, %lo(gUpgradeShifts+5)($t0)
|
||||
/* 00B1C 80A099BC 01F8C824 */ and $t9, $t7, $t8
|
||||
/* 00B20 80A099C0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00B24 80A099C4 01194807 */ srav $t1, $t9, $t0
|
||||
/* 00B28 80A099C8 15210003 */ bne $t1, $at, .L80A099D8
|
||||
/* 00B2C 80A099CC 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00B30 80A099D0 10000002 */ beq $zero, $zero, .L80A099DC
|
||||
/* 00B34 80A099D4 2406007B */ addiu $a2, $zero, 0x007B ## $a2 = 0000007B
|
||||
.L80A099D8:
|
||||
/* 00B38 80A099D8 24060060 */ addiu $a2, $zero, 0x0060 ## $a2 = 00000060
|
||||
.L80A099DC:
|
||||
/* 00B3C 80A099DC 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 00B40 80A099E0 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
|
||||
/* 00B44 80A099E4 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
|
||||
/* 00B48 80A099E8 0C00BD0D */ jal func_8002F434
|
||||
/* 00B4C 80A099EC E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
.L80A099F0:
|
||||
/* 00B50 80A099F0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B54 80A099F4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00B58 80A099F8 03E00008 */ jr $ra
|
||||
/* 00B5C 80A099FC 00000000 */ nop
|
|
@ -1,37 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A0A01C
|
||||
.asciz "\x1b[32m☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A09A00
|
||||
/* 00B60 80A09A00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00B64 80A09A04 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B68 80A09A08 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00B6C 80A09A0C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00B70 80A09A10 0C042F6F */ jal func_8010BDBC
|
||||
/* 00B74 80A09A14 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00B78 80A09A18 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00B7C 80A09A1C 5441000F */ bnel $v0, $at, .L80A09A5C
|
||||
/* 00B80 80A09A20 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00B84 80A09A24 0C041AF2 */ jal func_80106BC8
|
||||
/* 00B88 80A09A28 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00B8C 80A09A2C 1040000A */ beq $v0, $zero, .L80A09A58
|
||||
/* 00B90 80A09A30 3C0480A1 */ lui $a0, %hi(D_80A0A01C) ## $a0 = 80A10000
|
||||
/* 00B94 80A09A34 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00B98 80A09A38 2484A01C */ addiu $a0, $a0, %lo(D_80A0A01C) ## $a0 = 80A0A01C
|
||||
/* 00B9C 80A09A3C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00BA0 80A09A40 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00BA4 80A09A44 944E0EF2 */ lhu $t6, 0x0EF2($v0) ## 8015F552
|
||||
/* 00BA8 80A09A48 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00BAC 80A09A4C 35CF2000 */ ori $t7, $t6, 0x2000 ## $t7 = 00002000
|
||||
/* 00BB0 80A09A50 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00BB4 80A09A54 A44F0EF2 */ sh $t7, 0x0EF2($v0) ## 8015F552
|
||||
.L80A09A58:
|
||||
/* 00BB8 80A09A58 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A09A5C:
|
||||
/* 00BBC 80A09A5C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00BC0 80A09A60 03E00008 */ jr $ra
|
||||
/* 00BC4 80A09A64 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_80A09B6C
|
||||
/* 00CCC 80A09B6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00CD0 80A09B70 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00CD4 80A09B74 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00CD8 80A09B78 8C82017C */ lw $v0, 0x017C($a0) ## 0000017C
|
||||
/* 00CDC 80A09B7C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00CE0 80A09B80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00CE4 80A09B84 50400005 */ beql $v0, $zero, .L80A09B9C
|
||||
/* 00CE8 80A09B88 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00CEC 80A09B8C 0040F809 */ jalr $ra, $v0
|
||||
/* 00CF0 80A09B90 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00CF4 80A09B94 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00CF8 80A09B98 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
.L80A09B9C:
|
||||
/* 00CFC 80A09B9C 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00D00 80A09BA0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00D04 80A09BA4 0C00BB60 */ jal func_8002ED80
|
||||
/* 00D08 80A09BA8 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00D0C 80A09BAC 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00D10 80A09BB0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00D14 80A09BB4 0C01A528 */ jal func_800694A0
|
||||
/* 00D18 80A09BB8 84E50156 */ lh $a1, 0x0156($a3) ## 00000156
|
||||
/* 00D1C 80A09BBC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D20 80A09BC0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D24 80A09BC4 03E00008 */ jr $ra
|
||||
/* 00D28 80A09BC8 00000000 */ nop
|
|
@ -1,13 +0,0 @@
|
|||
glabel func_80A09BCC
|
||||
/* 00D2C 80A09BCC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00D30 80A09BD0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D34 80A09BD4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00D38 80A09BD8 0C00BB60 */ jal func_8002ED80
|
||||
/* 00D3C 80A09BDC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00D40 80A09BE0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00D44 80A09BE4 0C01A528 */ jal func_800694A0
|
||||
/* 00D48 80A09BE8 24050013 */ addiu $a1, $zero, 0x0013 ## $a1 = 00000013
|
||||
/* 00D4C 80A09BEC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D50 80A09BF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D54 80A09BF4 03E00008 */ jr $ra
|
||||
/* 00D58 80A09BF8 00000000 */ nop
|
|
@ -1,18 +0,0 @@
|
|||
glabel func_80A09BFC
|
||||
/* 00D5C 80A09BFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00D60 80A09C00 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D64 80A09C04 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00D68 80A09C08 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00D6C 80A09C0C 0C00BB60 */ jal func_8002ED80
|
||||
/* 00D70 80A09C10 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00D74 80A09C14 87AE0022 */ lh $t6, 0x0022($sp)
|
||||
/* 00D78 80A09C18 3C0580A1 */ lui $a1, %hi(D_80A09E00) ## $a1 = 80A10000
|
||||
/* 00D7C 80A09C1C 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00D80 80A09C20 000E7840 */ sll $t7, $t6, 1
|
||||
/* 00D84 80A09C24 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 00D88 80A09C28 0C01A528 */ jal func_800694A0
|
||||
/* 00D8C 80A09C2C 84A59E00 */ lh $a1, %lo(D_80A09E00)($a1)
|
||||
/* 00D90 80A09C30 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D94 80A09C34 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D98 80A09C38 03E00008 */ jr $ra
|
||||
/* 00D9C 80A09C3C 00000000 */ nop
|
|
@ -1,90 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A0A048
|
||||
.asciz "../z_en_ex_item.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A0A05C
|
||||
.asciz "../z_en_ex_item.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A0A070
|
||||
.asciz "../z_en_ex_item.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A09C40
|
||||
/* 00DA0 80A09C40 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00DA4 80A09C44 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00DA8 80A09C48 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00DAC 80A09C4C AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00DB0 80A09C50 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00DB4 80A09C54 AFA60050 */ sw $a2, 0x0050($sp)
|
||||
/* 00DB8 80A09C58 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00DBC 80A09C5C 3C0680A1 */ lui $a2, %hi(D_80A0A048) ## $a2 = 80A10000
|
||||
/* 00DC0 80A09C60 24C6A048 */ addiu $a2, $a2, %lo(D_80A0A048) ## $a2 = 80A0A048
|
||||
/* 00DC4 80A09C64 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC
|
||||
/* 00DC8 80A09C68 24070370 */ addiu $a3, $zero, 0x0370 ## $a3 = 00000370
|
||||
/* 00DCC 80A09C6C 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00DD0 80A09C70 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00DD4 80A09C74 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 00DD8 80A09C78 0C025183 */ jal func_8009460C
|
||||
/* 00DDC 80A09C7C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00DE0 80A09C80 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00DE4 80A09C84 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 00DE8 80A09C88 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 00DEC 80A09C8C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00DF0 80A09C90 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 00DF4 80A09C94 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00DF8 80A09C98 8FA8004C */ lw $t0, 0x004C($sp)
|
||||
/* 00DFC 80A09C9C 3C0580A1 */ lui $a1, %hi(D_80A0A05C) ## $a1 = 80A10000
|
||||
/* 00E00 80A09CA0 24A5A05C */ addiu $a1, $a1, %lo(D_80A0A05C) ## $a1 = 80A0A05C
|
||||
/* 00E04 80A09CA4 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 00E08 80A09CA8 24060377 */ addiu $a2, $zero, 0x0377 ## $a2 = 00000377
|
||||
/* 00E0C 80A09CAC 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00E10 80A09CB0 AFA20030 */ sw $v0, 0x0030($sp)
|
||||
/* 00E14 80A09CB4 8FA30030 */ lw $v1, 0x0030($sp)
|
||||
/* 00E18 80A09CB8 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
||||
/* 00E1C 80A09CBC 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
|
||||
/* 00E20 80A09CC0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00E24 80A09CC4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00E28 80A09CC8 3C0480A1 */ lui $a0, %hi(D_80A09E08) ## $a0 = 80A10000
|
||||
/* 00E2C 80A09CCC 3C198016 */ lui $t9, %hi(gSegments)
|
||||
/* 00E30 80A09CD0 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00E34 80A09CD4 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E38 80A09CD8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 00E3C 80A09CDC 8FAB0050 */ lw $t3, 0x0050($sp)
|
||||
/* 00E40 80A09CE0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00E44 80A09CE4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00E48 80A09CE8 000B6080 */ sll $t4, $t3, 2
|
||||
/* 00E4C 80A09CEC 008C2021 */ addu $a0, $a0, $t4
|
||||
/* 00E50 80A09CF0 8C849E08 */ lw $a0, %lo(D_80A09E08)($a0)
|
||||
/* 00E54 80A09CF4 3C0C0404 */ lui $t4, %hi(D_0403F070) ## $t4 = 04040000
|
||||
/* 00E58 80A09CF8 258CF070 */ addiu $t4, $t4, %lo(D_0403F070) ## $t4 = 0403F070
|
||||
/* 00E5C 80A09CFC 00047100 */ sll $t6, $a0, 4
|
||||
/* 00E60 80A09D00 000E7F02 */ srl $t7, $t6, 28
|
||||
/* 00E64 80A09D04 000FC080 */ sll $t8, $t7, 2
|
||||
/* 00E68 80A09D08 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 00E6C 80A09D0C 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
|
||||
/* 00E70 80A09D10 00816824 */ and $t5, $a0, $at
|
||||
/* 00E74 80A09D14 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00E78 80A09D18 01B94021 */ addu $t0, $t5, $t9
|
||||
/* 00E7C 80A09D1C 01014821 */ addu $t1, $t0, $at
|
||||
/* 00E80 80A09D20 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00E84 80A09D24 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00E88 80A09D28 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
|
||||
/* 00E8C 80A09D2C 3C0680A1 */ lui $a2, %hi(D_80A0A070) ## $a2 = 80A10000
|
||||
/* 00E90 80A09D30 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 00E94 80A09D34 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
|
||||
/* 00E98 80A09D38 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 00E9C 80A09D3C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
/* 00EA0 80A09D40 8FAE004C */ lw $t6, 0x004C($sp)
|
||||
/* 00EA4 80A09D44 24C6A070 */ addiu $a2, $a2, %lo(D_80A0A070) ## $a2 = 80A0A070
|
||||
/* 00EA8 80A09D48 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC
|
||||
/* 00EAC 80A09D4C 2407037D */ addiu $a3, $zero, 0x037D ## $a3 = 0000037D
|
||||
/* 00EB0 80A09D50 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00EB4 80A09D54 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
|
||||
/* 00EB8 80A09D58 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00EBC 80A09D5C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00EC0 80A09D60 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00EC4 80A09D64 03E00008 */ jr $ra
|
||||
/* 00EC8 80A09D68 00000000 */ nop
|
|
@ -1,32 +0,0 @@
|
|||
glabel func_80A09D6C
|
||||
/* 00ECC 80A09D6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00ED0 80A09D70 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00ED4 80A09D74 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00ED8 80A09D78 8C82017C */ lw $v0, 0x017C($a0) ## 0000017C
|
||||
/* 00EDC 80A09D7C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00EE0 80A09D80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00EE4 80A09D84 50400005 */ beql $v0, $zero, .L80A09D9C
|
||||
/* 00EE8 80A09D88 8CE20180 */ lw $v0, 0x0180($a3) ## 00000180
|
||||
/* 00EEC 80A09D8C 0040F809 */ jalr $ra, $v0
|
||||
/* 00EF0 80A09D90 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00EF4 80A09D94 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00EF8 80A09D98 8CE20180 */ lw $v0, 0x0180($a3) ## 00000180
|
||||
.L80A09D9C:
|
||||
/* 00EFC 80A09D9C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00F00 80A09DA0 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00F04 80A09DA4 10400004 */ beq $v0, $zero, .L80A09DB8
|
||||
/* 00F08 80A09DA8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00F0C 80A09DAC 0040F809 */ jalr $ra, $v0
|
||||
/* 00F10 80A09DB0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00F14 80A09DB4 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
.L80A09DB8:
|
||||
/* 00F18 80A09DB8 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00F1C 80A09DBC 0C01A528 */ jal func_800694A0
|
||||
/* 00F20 80A09DC0 84E50156 */ lh $a1, 0x0156($a3) ## 00000156
|
||||
/* 00F24 80A09DC4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00F28 80A09DC8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00F2C 80A09DCC 03E00008 */ jr $ra
|
||||
/* 00F30 80A09DD0 00000000 */ nop
|
||||
/* 00F34 80A09DD4 00000000 */ nop
|
||||
/* 00F38 80A09DD8 00000000 */ nop
|
||||
/* 00F3C 80A09DDC 00000000 */ nop
|
|
@ -1,22 +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 purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel En_Ex_Item_InitVars
|
||||
.word 0x01680600, 0x00000030, 0x00010000, 0x00000184
|
||||
.word EnExItem_Init
|
||||
.word EnExItem_Destroy
|
||||
.word EnExItem_Update
|
||||
.word EnExItem_Draw
|
||||
glabel D_80A09E00
|
||||
.word 0x00630064, 0x00650000
|
||||
glabel D_80A09E08
|
||||
.word 0x0403F140, 0x00000000
|
||||
|
|
@ -1,13 +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 purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_80A0A180
|
||||
.incbin "baserom/ovl_En_Ex_Item", 0x12E0, 0x00000290
|
|
@ -1221,6 +1221,7 @@ Gfx* func_800944A0(Gfx* gfx);
|
|||
void func_80094520(GraphicsContext* gfxCtx);
|
||||
void func_8009457C(Gfx** gfxp);
|
||||
void func_800945A0(GraphicsContext* gfxCtx);
|
||||
void func_8009460C(GraphicsContext* gfxCtx);
|
||||
void func_80094678(GraphicsContext* gfxCtx);
|
||||
Gfx* func_800946E4(Gfx* gfx);
|
||||
Gfx* func_800947AC(Gfx* gfx);
|
||||
|
|
|
@ -49,7 +49,7 @@ extern u8 D_04038FB0[];
|
|||
extern u32 D_0403B030;
|
||||
extern u32 D_0403BBA0;
|
||||
extern u32 D_0403BCD8;
|
||||
extern u32 D_0403F070;
|
||||
extern Gfx D_0403F070[];
|
||||
extern Gfx D_04042440[];
|
||||
//extern ? D_04048160;
|
||||
extern u32 D_04048180;
|
||||
|
|
3
spec
3
spec
|
@ -2215,8 +2215,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Ex_Item"
|
||||
include "build/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.o"
|
||||
include "build/data/overlays/actors/z_en_ex_item.data.o"
|
||||
include "build/data/overlays/actors/z_en_ex_item.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Ex_Item/ovl_En_Ex_Item_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -782,7 +782,7 @@ void func_8001F080(EnItem00* this, GlobalContext* globalCtx) {
|
|||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_item00.c", 1607),
|
||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
gSPDisplayList(POLY_OPA_DISP++, &D_0403F070);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_0403F070);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_item00.c", 1611);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "z_en_bom_bowl_man.h"
|
||||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h"
|
||||
#include "overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h"
|
||||
|
||||
#define FLAGS 0x08000039
|
||||
|
||||
|
@ -249,8 +250,8 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
this->actor.textId = 0x1A;
|
||||
this->dialogState = 4;
|
||||
this->minigamePlayStatus = 0;
|
||||
if ((this->exItem != NULL) && (this->exItem->actor.update != 0)) {
|
||||
this->exItem->unk_160 = 1;
|
||||
if ((this->exItem != NULL) && (this->exItem->actor.update != NULL)) {
|
||||
this->exItem->killItem = true;
|
||||
this->exItem = NULL;
|
||||
}
|
||||
globalCtx->bombchuBowlingStatus = 0;
|
||||
|
@ -379,35 +380,36 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
if (this->prizeRevealTimer == 0) {
|
||||
switch (this->prizeSelect) {
|
||||
case 0:
|
||||
prizeTemp = 0;
|
||||
prizeTemp = EXITEM_BOMB_BAG_BOWLING;
|
||||
if (gSaveContext.itemGetInf[1] & 2) {
|
||||
prizeTemp = 4;
|
||||
prizeTemp = EXITEM_PURPLE_RUPEE_BOWLING;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
prizeTemp = 4;
|
||||
prizeTemp = EXITEM_PURPLE_RUPEE_BOWLING;
|
||||
break;
|
||||
case 2:
|
||||
prizeTemp = 2;
|
||||
prizeTemp = EXITEM_BOMBCHUS_BOWLING;
|
||||
break;
|
||||
case 3:
|
||||
prizeTemp = 1;
|
||||
prizeTemp = EXITEM_HEART_PIECE_BOWLING;
|
||||
if (gSaveContext.itemGetInf[1] & 4) {
|
||||
prizeTemp = 4;
|
||||
prizeTemp = EXITEM_PURPLE_RUPEE_BOWLING;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
prizeTemp = 3;
|
||||
prizeTemp = EXITEM_BOMBS_BOWLING;
|
||||
break;
|
||||
}
|
||||
this->prizeIndex = prizeTemp;
|
||||
if (BREG(7)) {
|
||||
this->prizeIndex = BREG(7) - 1;
|
||||
}
|
||||
this->exItem = (EnExItem*)Actor_SpawnAsChild(
|
||||
&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_EX_ITEM,
|
||||
sPrizePosOffset[this->prizeIndex].x + 148.0f, sPrizePosOffset[this->prizeIndex].y + 40.0f,
|
||||
sPrizePosOffset[this->prizeIndex].z + 300.0f, 0, sPrizeRot[this->prizeIndex], 0, this->prizeIndex + 5);
|
||||
this->exItem = (EnExItem*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_EX_ITEM,
|
||||
sPrizePosOffset[this->prizeIndex].x + 148.0f,
|
||||
sPrizePosOffset[this->prizeIndex].y + 40.0f,
|
||||
sPrizePosOffset[this->prizeIndex].z + 300.0f, 0,
|
||||
sPrizeRot[this->prizeIndex], 0, this->prizeIndex + EXITEM_COUNTER);
|
||||
if (!this->startedPlaying) {
|
||||
this->bowlPit = (EnBomBowlPit*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx,
|
||||
ACTOR_EN_BOM_BOWL_PIT, 0.0f, 90.0f, -860.0f, 0, 0, 0, 0);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "z_en_bom_bowl_pit.h"
|
||||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.h"
|
||||
#include "overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -155,12 +156,12 @@ void EnBomBowlPit_SpawnPrize(EnBomBowlPit* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnBomBowlPit_SetupGivePrize(EnBomBowlPit* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_156 != 0) {
|
||||
if (this->exItemDone != 0) {
|
||||
switch (this->prizeIndex) {
|
||||
case 0:
|
||||
case EXITEM_BOMB_BAG_BOWLING:
|
||||
gSaveContext.itemGetInf[1] |= 2;
|
||||
break;
|
||||
case 1:
|
||||
case EXITEM_HEART_PIECE_BOWLING:
|
||||
gSaveContext.itemGetInf[1] |= 4;
|
||||
break;
|
||||
}
|
||||
|
@ -206,7 +207,7 @@ void EnBomBowlPit_Reset(EnBomBowlPit* this, GlobalContext* globalCtx) {
|
|||
// Ah recovery! (?)
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ あぁ回復! ☆☆☆☆☆ \n" VT_RST);
|
||||
}
|
||||
this->unk_156 = 0;
|
||||
this->exItemDone = 0;
|
||||
this->status = 2;
|
||||
this->actionFunc = EnBomBowlPit_SetupDetectHit;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ typedef struct EnBomBowlPit {
|
|||
/* 0x0150 */ u16 unk_150;
|
||||
/* 0x0152 */ s16 camId;
|
||||
/* 0x0154 */ s16 unk_154;
|
||||
/* 0x0156 */ s16 unk_156; // Set by EnExItem?
|
||||
/* 0x0156 */ s16 exItemDone; // Set by EnExItem?
|
||||
/* 0x0158 */ s16 timer;
|
||||
/* 0x015A */ s16 prizeIndex;
|
||||
/* 0x015C */ s16 start;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "z_en_changer.h"
|
||||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h"
|
||||
#include "overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -246,7 +247,7 @@ void EnChanger_OpenChests(EnChanger* this, GlobalContext* globalCtx) {
|
|||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_EX_ITEM, xPos, yPos, zPos, 0, 0, 0, 0xF);
|
||||
Flags_SetSwitch(globalCtx, 0x32);
|
||||
} else {
|
||||
temp_s0_2 = (s16)(this->rightChestGetItemId - 0x72) + 0xA;
|
||||
temp_s0_2 = (s16)(this->rightChestGetItemId - GI_RUPEE_GREEN_LOSE) + EXITEM_CHEST;
|
||||
// Open right treasure (chest)
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 右宝開く ☆☆☆☆☆ %d\n" VT_RST, temp_s0_2);
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_EX_ITEM, xPos, yPos, zPos, 0, 0, 0,
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
/*
|
||||
* File: z_en_ex_item.c
|
||||
* Overlay: ovl_En_Ex_Item
|
||||
* Description: Minigame prize items
|
||||
*/
|
||||
|
||||
#include "z_en_ex_item.h"
|
||||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -9,7 +17,22 @@ void EnExItem_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnExItem_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnExItem_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnExItem_DrawItems(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_DrawHeartPiece(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_DrawRupee(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_DrawKey(EnExItem* this, GlobalContext* globalCtx, s32 index);
|
||||
void EnExItem_DrawMagic(EnExItem* this, GlobalContext* globalCtx, s16 magicIndex);
|
||||
|
||||
void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_BowlPrize(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_SetupBowlCounter(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_BowlCounter(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_ExitChest(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_FairyMagic(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_TargetPrizeApproach(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_TargetPrizeGive(EnExItem* this, GlobalContext* globalCtx);
|
||||
void EnExItem_TargetPrizeFinish(EnExItem* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Ex_Item_InitVars = {
|
||||
ACTOR_EN_EX_ITEM,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -21,39 +44,477 @@ const ActorInit En_Ex_Item_InitVars = {
|
|||
(ActorFunc)EnExItem_Update,
|
||||
(ActorFunc)EnExItem_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/EnExItem_Destroy.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/EnExItem_Init.s")
|
||||
void EnExItem_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnExItem_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnExItem* this = THIS;
|
||||
|
||||
this->actor.flags &= ~1;
|
||||
this->type = this->actor.params & 0xFF;
|
||||
this->unusedParam = (this->actor.params >> 8) & 0xFF;
|
||||
osSyncPrintf("\n\n");
|
||||
// What will come out?
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ なにがでるかな? ☆☆☆☆☆ %d\n" VT_RST, this->type);
|
||||
// What will come out?
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ なにがでるかな? ☆☆☆☆☆ %d\n" VT_RST, this->unusedParam);
|
||||
this->initPos = this->actor.posRot.pos;
|
||||
this->getItemObjId = -1;
|
||||
switch (this->type) {
|
||||
case EXITEM_BOMB_BAG_BOWLING:
|
||||
case EXITEM_BOMB_BAG_COUNTER:
|
||||
this->getItemObjId = OBJECT_GI_BOMBPOUCH;
|
||||
break;
|
||||
case EXITEM_HEART_PIECE_BOWLING:
|
||||
case EXITEM_HEART_PIECE_COUNTER:
|
||||
this->getItemObjId = OBJECT_GI_HEARTS;
|
||||
break;
|
||||
case EXITEM_BOMBCHUS_BOWLING:
|
||||
case EXITEM_BOMBCHUS_COUNTER:
|
||||
this->getItemObjId = OBJECT_GI_BOMB_2;
|
||||
break;
|
||||
case EXITEM_BOMBS_BOWLING:
|
||||
case EXITEM_BOMBS_COUNTER:
|
||||
this->getItemObjId = OBJECT_GI_BOMB_1;
|
||||
break;
|
||||
case EXITEM_PURPLE_RUPEE_BOWLING:
|
||||
case EXITEM_PURPLE_RUPEE_COUNTER:
|
||||
case EXITEM_GREEN_RUPEE_CHEST:
|
||||
case EXITEM_BLUE_RUPEE_CHEST:
|
||||
case EXITEM_RED_RUPEE_CHEST:
|
||||
case EXITEM_13:
|
||||
case EXITEM_14:
|
||||
this->getItemObjId = OBJECT_GI_RUPY;
|
||||
break;
|
||||
case EXITEM_SMALL_KEY_CHEST:
|
||||
this->scale = 0.05f;
|
||||
this->actor.velocity.y = 10.0f;
|
||||
this->timer = 7;
|
||||
this->actionFunc = EnExItem_ExitChest;
|
||||
break;
|
||||
case EXITEM_MAGIC_FIRE:
|
||||
case EXITEM_MAGIC_WIND:
|
||||
case EXITEM_MAGIC_DARK:
|
||||
this->getItemObjId = OBJECT_GI_GODDESS;
|
||||
break;
|
||||
case EXITEM_BULLET_BAG:
|
||||
this->getItemObjId = OBJECT_GI_DEKUPOUCH;
|
||||
}
|
||||
|
||||
if (this->getItemObjId >= 0) {
|
||||
this->objectIdx = Object_GetIndex(&globalCtx->objectCtx, this->getItemObjId);
|
||||
this->actor.draw = NULL;
|
||||
if (this->objectIdx < 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
// What?
|
||||
osSyncPrintf("なにみの? %d\n", this->actor.params);
|
||||
// bank is funny
|
||||
osSyncPrintf(VT_FGCOL(PURPLE) " バンクおかしいしぞ!%d\n" VT_RST "\n", this->actor.params);
|
||||
return;
|
||||
}
|
||||
this->actionFunc = EnExItem_WaitForObject;
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
|
||||
s32 onCounter;
|
||||
|
||||
if (Object_IsLoaded(&globalCtx->objectCtx, this->objectIdx)) {
|
||||
// End of transfer
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n" VT_RST, this->actor.params, this);
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n" VT_RST, this->actor.params, this);
|
||||
osSyncPrintf(VT_FGCOL(BLUE) "☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n" VT_RST, this->actor.params, this);
|
||||
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n" VT_RST, this->actor.params, this);
|
||||
osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 転送終了 ☆☆☆☆☆ %d\n\n" VT_RST, this->actor.params, this);
|
||||
this->actor.objBankIndex = this->objectIdx;
|
||||
this->actor.draw = EnExItem_Draw;
|
||||
this->stopRotate = false;
|
||||
onCounter = false;
|
||||
switch (this->type) {
|
||||
case EXITEM_BOMB_BAG_COUNTER:
|
||||
onCounter = true;
|
||||
case EXITEM_BOMB_BAG_BOWLING:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->drawItemId = 0x18;
|
||||
this->timer = 65;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->scale = 0.5f;
|
||||
if (onCounter == 0) {
|
||||
this->actionFunc = EnExItem_BowlPrize;
|
||||
} else {
|
||||
this->actionFunc = EnExItem_SetupBowlCounter;
|
||||
this->actor.shape.unk_08 = -18.0f;
|
||||
}
|
||||
break;
|
||||
case EXITEM_HEART_PIECE_COUNTER:
|
||||
onCounter = true;
|
||||
case EXITEM_HEART_PIECE_BOWLING:
|
||||
this->unk_17C = func_8002ED80;
|
||||
this->timer = 65;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->scale = 0.5f;
|
||||
if (!onCounter) {
|
||||
func_80078884(NA_SE_SY_PIECE_OF_HEART);
|
||||
this->actionFunc = EnExItem_BowlPrize;
|
||||
} else {
|
||||
this->actionFunc = EnExItem_SetupBowlCounter;
|
||||
this->actor.shape.unk_08 = -10.0f;
|
||||
}
|
||||
break;
|
||||
case EXITEM_BOMBCHUS_COUNTER:
|
||||
onCounter = true;
|
||||
case EXITEM_BOMBCHUS_BOWLING:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->drawItemId = 39;
|
||||
this->timer = 65;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->scale = 0.5f;
|
||||
if (!onCounter) {
|
||||
this->actionFunc = EnExItem_BowlPrize;
|
||||
} else {
|
||||
this->actionFunc = EnExItem_SetupBowlCounter;
|
||||
}
|
||||
break;
|
||||
case EXITEM_BOMBS_BOWLING:
|
||||
case EXITEM_BOMBS_COUNTER:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->drawItemId = 0x1F;
|
||||
this->timer = 65;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->scale = 0.5f;
|
||||
this->unkFloat = 0.5f;
|
||||
if (this->type == EXITEM_BOMBS_BOWLING) {
|
||||
this->actionFunc = EnExItem_BowlPrize;
|
||||
} else {
|
||||
this->actionFunc = EnExItem_SetupBowlCounter;
|
||||
this->actor.shape.unk_08 = 10.0f;
|
||||
}
|
||||
break;
|
||||
case EXITEM_PURPLE_RUPEE_BOWLING:
|
||||
case EXITEM_PURPLE_RUPEE_COUNTER:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->unk_180 = func_8002ED80;
|
||||
this->drawItemId = 0x70;
|
||||
this->timer = 65;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->scale = 0.5f;
|
||||
this->unkFloat = 0.5f;
|
||||
if (this->type == EXITEM_PURPLE_RUPEE_BOWLING) {
|
||||
this->actionFunc = EnExItem_BowlPrize;
|
||||
} else {
|
||||
this->actionFunc = EnExItem_SetupBowlCounter;
|
||||
this->actor.shape.unk_08 = 40.0f;
|
||||
}
|
||||
break;
|
||||
case EXITEM_GREEN_RUPEE_CHEST:
|
||||
case EXITEM_BLUE_RUPEE_CHEST:
|
||||
case EXITEM_RED_RUPEE_CHEST:
|
||||
case EXITEM_13:
|
||||
case EXITEM_14:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->unk_180 = func_8002ED80;
|
||||
this->timer = 7;
|
||||
this->scale = 0.5f;
|
||||
this->unkFloat = 0.5f;
|
||||
this->actor.velocity.y = 10.0f;
|
||||
switch (this->type) {
|
||||
case EXITEM_GREEN_RUPEE_CHEST:
|
||||
this->drawItemId = 0x6C;
|
||||
break;
|
||||
case EXITEM_BLUE_RUPEE_CHEST:
|
||||
this->drawItemId = 0x6D;
|
||||
break;
|
||||
case EXITEM_RED_RUPEE_CHEST:
|
||||
this->drawItemId = 0x6E;
|
||||
break;
|
||||
case EXITEM_14:
|
||||
this->drawItemId = 0x70;
|
||||
break;
|
||||
}
|
||||
this->actionFunc = EnExItem_ExitChest;
|
||||
break;
|
||||
case EXITEM_MAGIC_FIRE:
|
||||
case EXITEM_MAGIC_WIND:
|
||||
case EXITEM_MAGIC_DARK:
|
||||
this->scale = 0.35f;
|
||||
this->actionFunc = EnExItem_FairyMagic;
|
||||
break;
|
||||
case EXITEM_BULLET_BAG:
|
||||
this->unk_17C = func_8002EBCC;
|
||||
this->drawItemId = 0x6B;
|
||||
this->scale = 0.1f;
|
||||
this->timer = 80;
|
||||
this->prizeRotateTimer = 35;
|
||||
this->actionFunc = EnExItem_TargetPrizeApproach;
|
||||
break;
|
||||
case EXITEM_SMALL_KEY_CHEST:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_BowlPrize(EnExItem* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
f32 tmpf1;
|
||||
f32 tmpf2;
|
||||
f32 tmpf3;
|
||||
f32 tmpf4;
|
||||
f32 tmpf5;
|
||||
f32 tmpf6;
|
||||
f32 tmpf7;
|
||||
f32 sp3C;
|
||||
|
||||
if (!this->stopRotate) {
|
||||
this->actor.shape.rot.y += 0x1000;
|
||||
if ((this->prizeRotateTimer == 0) && ((this->actor.shape.rot.y & 0xFFFF) == 0x9000)) {
|
||||
this->stopRotate++;
|
||||
}
|
||||
} else {
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, 0, 5, 0x1000, 0);
|
||||
}
|
||||
if (this->timer != 0) {
|
||||
if (this->prizeRotateTimer != 0) {
|
||||
sp3C = 250.0f;
|
||||
if (this->type == EXITEM_BOMBCHUS_BOWLING) {
|
||||
sp3C = 220.0f;
|
||||
}
|
||||
tmpf1 = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
|
||||
tmpf2 = globalCtx->view.lookAt.y - globalCtx->view.eye.y;
|
||||
tmpf3 = globalCtx->view.lookAt.z + sp3C - globalCtx->view.eye.z;
|
||||
tmpf4 = sqrtf(SQ(tmpf1) + SQ(tmpf2) + SQ(tmpf3));
|
||||
|
||||
tmpf5 = (tmpf1 / tmpf4) * 5.0f;
|
||||
tmpf6 = (tmpf2 / tmpf4) * 5.0f;
|
||||
tmpf7 = (tmpf3 / tmpf4) * 5.0f;
|
||||
|
||||
tmpf1 = globalCtx->view.eye.x + tmpf5 - this->actor.posRot.pos.x;
|
||||
tmpf2 = globalCtx->view.eye.y + tmpf6 - this->actor.posRot.pos.y;
|
||||
tmpf3 = globalCtx->view.eye.z + tmpf7 - this->actor.posRot.pos.z;
|
||||
|
||||
this->actor.posRot.pos.x += (tmpf1 / tmpf4) * 5.0f;
|
||||
this->actor.posRot.pos.y += (tmpf2 / tmpf4) * 5.0f;
|
||||
this->actor.posRot.pos.z += (tmpf3 / tmpf4) * 5.0f;
|
||||
}
|
||||
} else {
|
||||
// parent
|
||||
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ 母親ー? ☆☆☆☆☆ %x\n" VT_RST, this->actor.parent);
|
||||
// Can it move?
|
||||
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ 動いてねー? ☆☆☆☆☆ %x\n" VT_RST, this->actor.parent->update);
|
||||
if ((this->actor.parent != NULL) && (this->actor.parent->update != NULL)) {
|
||||
((EnBomBowlPit*)this->actor.parent)->exItemDone = 1;
|
||||
// It can't move!
|
||||
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ さぁきえるぞ! ☆☆☆☆☆ \n" VT_RST);
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_SetupBowlCounter(EnExItem* this, GlobalContext* globalCtx) {
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y = 0x4268;
|
||||
this->actionFunc = EnExItem_BowlCounter;
|
||||
}
|
||||
|
||||
void EnExItem_BowlCounter(EnExItem* this, GlobalContext* globalCtx) {
|
||||
this->actor.shape.rot.y += 0x800;
|
||||
if (this->killItem) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_ExitChest(EnExItem* this, GlobalContext* globalCtx) {
|
||||
this->actor.shape.rot.y += 0x1000;
|
||||
if (this->timer != 0) {
|
||||
if (this->timer == 1) {
|
||||
this->chestKillTimer = 20;
|
||||
}
|
||||
} else {
|
||||
this->actor.velocity.y = 0.0f;
|
||||
if (this->chestKillTimer == 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
Actor_MoveForward(&this->actor);
|
||||
}
|
||||
|
||||
void EnExItem_FairyMagic(EnExItem* this, GlobalContext* globalCtx) {
|
||||
this->actor.shape.rot.y += 0x800;
|
||||
}
|
||||
|
||||
void EnExItem_TargetPrizeApproach(EnExItem* this, GlobalContext* globalCtx) {
|
||||
f32 tmpf1;
|
||||
f32 tmpf2;
|
||||
f32 tmpf3;
|
||||
f32 tmpf4;
|
||||
f32 tmpf5;
|
||||
f32 tmpf6;
|
||||
f32 tmpf7;
|
||||
|
||||
Math_ApproachF(&this->scale, 0.8f, 0.1f, 0.02f);
|
||||
if (!this->stopRotate) {
|
||||
this->actor.shape.rot.y += 0x1000;
|
||||
if ((this->prizeRotateTimer == 0) && ((this->actor.shape.rot.y & 0xFFFF) == 0x9000)) {
|
||||
this->stopRotate++;
|
||||
}
|
||||
} else {
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, -0x4000, 5, 0x1000, 0);
|
||||
}
|
||||
|
||||
if (this->timer != 0) {
|
||||
if (this->prizeRotateTimer != 0) {
|
||||
tmpf1 = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
|
||||
tmpf2 = globalCtx->view.lookAt.y - 10.0f - globalCtx->view.eye.y;
|
||||
tmpf3 = globalCtx->view.lookAt.z + 10.0f - globalCtx->view.eye.z;
|
||||
tmpf4 = sqrtf(SQ(tmpf1) + SQ(tmpf2) + SQ(tmpf3));
|
||||
|
||||
tmpf5 = (tmpf1 / tmpf4) * 5.0f;
|
||||
tmpf6 = (tmpf2 / tmpf4) * 5.0f;
|
||||
tmpf7 = (tmpf3 / tmpf4) * 5.0f;
|
||||
|
||||
tmpf1 = globalCtx->view.eye.x + tmpf5 - this->actor.posRot.pos.x;
|
||||
tmpf2 = globalCtx->view.eye.y - 10.0f + tmpf6 - this->actor.posRot.pos.y;
|
||||
tmpf3 = globalCtx->view.eye.z + 10.0f + tmpf7 - this->actor.posRot.pos.z;
|
||||
|
||||
this->actor.posRot.pos.x += (tmpf1 / tmpf4) * 5.0f;
|
||||
this->actor.posRot.pos.y += (tmpf2 / tmpf4) * 5.0f;
|
||||
this->actor.posRot.pos.z += (tmpf3 / tmpf4) * 5.0f;
|
||||
}
|
||||
} else {
|
||||
s32 itemId;
|
||||
|
||||
this->actor.draw = NULL;
|
||||
func_8002DF54(globalCtx, NULL, 7);
|
||||
this->actor.parent = NULL;
|
||||
if (CUR_UPG_VALUE(UPG_BULLET_BAG) == 1) {
|
||||
itemId = GI_BULLET_BAG_40;
|
||||
} else {
|
||||
itemId = GI_BULLET_BAG_50;
|
||||
}
|
||||
func_8002F434(&this->actor, globalCtx, itemId, 2000.0f, 1000.0f);
|
||||
this->actionFunc = EnExItem_TargetPrizeGive;
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_TargetPrizeGive(EnExItem* this, GlobalContext* globalCtx) {
|
||||
s32 itemId;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09054.s")
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actionFunc = EnExItem_TargetPrizeFinish;
|
||||
} else {
|
||||
itemId = (CUR_UPG_VALUE(UPG_BULLET_BAG) == 2) ? GI_BULLET_BAG_50 : GI_BULLET_BAG_40;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09434.s")
|
||||
func_8002F434(&this->actor, globalCtx, itemId, 2000.0f, 1000.0f);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A0964C.s")
|
||||
void EnExItem_TargetPrizeFinish(EnExItem* this, GlobalContext* globalCtx) {
|
||||
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && func_80106BC8(globalCtx)) {
|
||||
// Successful completion
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST);
|
||||
gSaveContext.itemGetInf[1] |= 0x2000;
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09670.s")
|
||||
void EnExItem_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnExItem* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A096A8.s")
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if (this->chestKillTimer != 0) {
|
||||
this->chestKillTimer--;
|
||||
}
|
||||
if (this->prizeRotateTimer != 0) {
|
||||
this->prizeRotateTimer--;
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09710.s")
|
||||
void EnExItem_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnExItem* this = THIS;
|
||||
s32 magicType;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09724.s")
|
||||
Actor_SetScale(&this->actor, this->scale);
|
||||
switch (this->type) {
|
||||
case EXITEM_BOMB_BAG_BOWLING:
|
||||
case EXITEM_BOMBCHUS_BOWLING:
|
||||
case EXITEM_BOMBS_BOWLING:
|
||||
case EXITEM_BOMB_BAG_COUNTER:
|
||||
case EXITEM_BOMBCHUS_COUNTER:
|
||||
case EXITEM_BOMBS_COUNTER:
|
||||
case EXITEM_BULLET_BAG:
|
||||
EnExItem_DrawItems(this, globalCtx);
|
||||
break;
|
||||
case EXITEM_HEART_PIECE_BOWLING:
|
||||
case EXITEM_HEART_PIECE_COUNTER:
|
||||
EnExItem_DrawHeartPiece(this, globalCtx);
|
||||
break;
|
||||
case EXITEM_PURPLE_RUPEE_BOWLING:
|
||||
case EXITEM_PURPLE_RUPEE_COUNTER:
|
||||
case EXITEM_GREEN_RUPEE_CHEST:
|
||||
case EXITEM_BLUE_RUPEE_CHEST:
|
||||
case EXITEM_RED_RUPEE_CHEST:
|
||||
case EXITEM_13:
|
||||
case EXITEM_14:
|
||||
EnExItem_DrawRupee(this, globalCtx);
|
||||
break;
|
||||
case EXITEM_SMALL_KEY_CHEST:
|
||||
EnExItem_DrawKey(this, globalCtx, 0);
|
||||
break;
|
||||
case EXITEM_MAGIC_FIRE:
|
||||
case EXITEM_MAGIC_WIND:
|
||||
case EXITEM_MAGIC_DARK:
|
||||
magicType = this->type - EXITEM_MAGIC_FIRE;
|
||||
EnExItem_DrawMagic(this, globalCtx, magicType);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09978.s")
|
||||
void EnExItem_DrawItems(EnExItem* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_17C != NULL) {
|
||||
this->unk_17C(&this->actor, globalCtx, 0);
|
||||
}
|
||||
if (this) {}
|
||||
func_8002ED80(&this->actor, globalCtx, 0);
|
||||
func_800694A0(globalCtx, this->drawItemId);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09A00.s")
|
||||
void EnExItem_DrawHeartPiece(EnExItem* this, GlobalContext* globalCtx) {
|
||||
func_8002ED80(&this->actor, globalCtx, 0);
|
||||
func_800694A0(globalCtx, 0x13);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/EnExItem_Update.s")
|
||||
void EnExItem_DrawMagic(EnExItem* this, GlobalContext* globalCtx, s16 magicIndex) {
|
||||
static s16 drawItemIds[] = { 0x63, 0x64, 0x65 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/EnExItem_Draw.s")
|
||||
func_8002ED80(&this->actor, globalCtx, 0);
|
||||
func_800694A0(globalCtx, drawItemIds[magicIndex]);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09B6C.s")
|
||||
void EnExItem_DrawKey(EnExItem* this, GlobalContext* globalCtx, s32 index) {
|
||||
static s32 keySegments[] = { 0x0403F140 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09BCC.s")
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_item.c", 880);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09BFC.s")
|
||||
func_8009460C(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_item.c", 887),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(keySegments[index]));
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_0403F070);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09C40.s")
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_item.c", 893);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Item/func_80A09D6C.s")
|
||||
void EnExItem_DrawRupee(EnExItem* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_17C != NULL) {
|
||||
this->unk_17C(&this->actor, globalCtx, 0);
|
||||
}
|
||||
if (this->unk_180 != NULL) {
|
||||
this->unk_180(&this->actor, globalCtx, 0);
|
||||
}
|
||||
func_800694A0(globalCtx, this->drawItemId);
|
||||
}
|
||||
|
|
|
@ -6,13 +6,56 @@
|
|||
|
||||
struct EnExItem;
|
||||
|
||||
typedef void (*EnExItemActionFunc)(struct EnExItem* this, GlobalContext* globalCtx);
|
||||
typedef void (*EnExItemLightFunc)(Actor*, GlobalContext*, s32);
|
||||
|
||||
typedef struct EnExItem {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x14];
|
||||
/* 0x0160 */ s16 unk_160;
|
||||
/* 0x0162 */ char unk_165[0x22];
|
||||
/* 0x014C */ EnExItemActionFunc actionFunc;
|
||||
/* 0x0150 */ s16 getItemObjId;
|
||||
/* 0x0152 */ s16 type;
|
||||
/* 0x0152 */ s16 unusedParam;
|
||||
/* 0x0156 */ s16 drawItemId;
|
||||
/* 0x0158 */ s16 stopRotate;
|
||||
/* 0x015A */ s16 timer;
|
||||
/* 0x015A */ s16 chestKillTimer;
|
||||
/* 0x015A */ s16 prizeRotateTimer;
|
||||
/* 0x0160 */ s16 killItem;
|
||||
/* 0x0164 */ f32 scale;
|
||||
/* 0x0168 */ f32 unkFloat; // set to the same value as scale, but unused
|
||||
/* 0x016C */ s8 objectIdx;
|
||||
/* 0x0170 */ Vec3f initPos; // unused
|
||||
/* 0x017C */ EnExItemLightFunc unk_17C;
|
||||
/* 0x0180 */ EnExItemLightFunc unk_180;
|
||||
} EnExItem; // size = 0x0184
|
||||
|
||||
extern const ActorInit En_Ex_Item_InitVars;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EXITEM_BOMB_BAG_BOWLING,
|
||||
/* 1 */ EXITEM_HEART_PIECE_BOWLING,
|
||||
/* 2 */ EXITEM_BOMBCHUS_BOWLING,
|
||||
/* 3 */ EXITEM_BOMBS_BOWLING,
|
||||
/* 4 */ EXITEM_PURPLE_RUPEE_BOWLING,
|
||||
/* 5 */ EXITEM_BOMB_BAG_COUNTER,
|
||||
/* 6 */ EXITEM_HEART_PIECE_COUNTER,
|
||||
/* 7 */ EXITEM_BOMBCHUS_COUNTER,
|
||||
/* 8 */ EXITEM_BOMBS_COUNTER,
|
||||
/* 9 */ EXITEM_PURPLE_RUPEE_COUNTER,
|
||||
/* 10 */ EXITEM_GREEN_RUPEE_CHEST,
|
||||
/* 11 */ EXITEM_BLUE_RUPEE_CHEST,
|
||||
/* 12 */ EXITEM_RED_RUPEE_CHEST,
|
||||
/* 13 */ EXITEM_13,
|
||||
/* 14 */ EXITEM_14,
|
||||
/* 15 */ EXITEM_SMALL_KEY_CHEST,
|
||||
/* 16 */ EXITEM_MAGIC_FIRE,
|
||||
/* 17 */ EXITEM_MAGIC_WIND,
|
||||
/* 18 */ EXITEM_MAGIC_DARK,
|
||||
/* 19 */ EXITEM_BULLET_BAG
|
||||
} EnExItemType;
|
||||
|
||||
#define EXITEM_COUNTER 5
|
||||
#define EXITEM_CHEST 10
|
||||
#define EXITEM_MAGIC 16
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue