1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 02:54:24 +00:00

G_Switch, Syateki_Itm, and Syateki_Man (Shooting gallery and related actors) (#523)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* ZAP2 stuff

* ZAP why

* ZAP again

* rupees and, for some reason, pots

* and now an even larger man

* now for the gallery

* more progress

* naming continues

* even more docs

* another match

* match, fix, a new enum

* Update src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c

* fixes except globalctx

* well one more

* and now globalCtx
This commit is contained in:
petrie911 2020-12-11 16:38:23 -06:00 committed by GitHub
parent bc8e3745c7
commit f05a584dea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 1464 additions and 4117 deletions

View file

@ -1,12 +0,0 @@
glabel EnGSwitch_Destroy
/* 00368 80A22228 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0036C 80A2222C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00370 80A22230 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00374 80A22234 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00378 80A22238 0C0170EB */ jal Collider_DestroyCylinder
/* 0037C 80A2223C 24C5017C */ addiu $a1, $a2, 0x017C ## $a1 = 0000017C
/* 00380 80A22240 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00384 80A22244 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00388 80A22248 03E00008 */ jr $ra
/* 0038C 80A2224C 00000000 */ nop

View file

@ -1,329 +0,0 @@
.rdata
glabel D_80A23780
.asciz "\x1b[32m %x\n\x1b[m"
.balign 4
glabel D_80A237B0
.asciz "\x1b[33m %x\n\x1b[m"
.balign 4
glabel D_80A237E0
.asciz "\n\n"
.balign 4
glabel D_80A237E4
.asciz "\x1b[32m %x\n\x1b[m"
.balign 4
.balign 4
glabel D_80A23818
.asciz "\x1b[35m %d\n\x1b[m"
.balign 4
.balign 4
glabel D_80A2384C
.asciz "\n\n"
.balign 4
glabel D_80A23850
.asciz "\x1b[32m %d\n\x1b[m"
.balign 4
glabel D_80A23890
.asciz "\n\n"
.balign 4
glabel D_80A23894
.asciz "\x1b[32m %x\n\x1b[m"
.balign 4
.balign 4
glabel D_80A238C8
.asciz "\x1b[32m %d\n\x1b[m"
.balign 4
glabel D_80A23908
.asciz "\n\n"
.balign 4
glabel D_80A2390C
.asciz "\x1b[32m \n\x1b[m"
.balign 4
glabel D_80A23940
.asciz "\x1b[35m %d\n\x1b[m\n"
.balign 4
.balign 4
glabel D_80A2395C
.asciz "\x1b[36m %d\n\x1b[m\n"
.balign 4
.late_rodata
glabel D_80A23B04
.word 0x403F5C29
glabel D_80A23B08
.word 0x3EE66666
.text
glabel EnGSwitch_Init
/* 00000 80A21EC0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 80A21EC4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 80A21EC8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0000C 80A21ECC AFA50034 */ sw $a1, 0x0034($sp)
/* 00010 80A21ED0 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00014 80A21ED4 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 00018 80A21ED8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 80A21EDC 00027303 */ sra $t6, $v0, 12
/* 00020 80A21EE0 31CF000F */ andi $t7, $t6, 0x000F ## $t7 = 00000000
/* 00024 80A21EE4 3058003F */ andi $t8, $v0, 0x003F ## $t8 = 00000000
/* 00028 80A21EE8 A48F0150 */ sh $t7, 0x0150($a0) ## 00000150
/* 0002C 80A21EEC A4980154 */ sh $t8, 0x0154($a0) ## 00000154
/* 00030 80A21EF0 A499015C */ sh $t9, 0x015C($a0) ## 0000015C
/* 00034 80A21EF4 3C0480A2 */ lui $a0, %hi(D_80A23780) ## $a0 = 80A20000
/* 00038 80A21EF8 24843780 */ addiu $a0, $a0, %lo(D_80A23780) ## $a0 = 80A23780
/* 0003C 80A21EFC 0C00084C */ jal osSyncPrintf
/* 00040 80A21F00 86050150 */ lh $a1, 0x0150($s0) ## 00000150
/* 00044 80A21F04 3C0480A2 */ lui $a0, %hi(D_80A237B0) ## $a0 = 80A20000
/* 00048 80A21F08 248437B0 */ addiu $a0, $a0, %lo(D_80A237B0) ## $a0 = 80A237B0
/* 0004C 80A21F0C 0C00084C */ jal osSyncPrintf
/* 00050 80A21F10 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 00054 80A21F14 86020150 */ lh $v0, 0x0150($s0) ## 00000150
/* 00058 80A21F18 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0005C 80A21F1C 3C0480A2 */ lui $a0, %hi(D_80A237E0) ## $a0 = 80A20000
/* 00060 80A21F20 1040000B */ beq $v0, $zero, .L80A21F50
/* 00064 80A21F24 00000000 */ nop
/* 00068 80A21F28 1041002E */ beq $v0, $at, .L80A21FE4
/* 0006C 80A21F2C 3C0480A2 */ lui $a0, %hi(D_80A23890) ## $a0 = 80A20000
/* 00070 80A21F30 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00074 80A21F34 10410059 */ beq $v0, $at, .L80A2209C
/* 00078 80A21F38 3C0480A2 */ lui $a0, %hi(D_80A23908) ## $a0 = 80A20000
/* 0007C 80A21F3C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00080 80A21F40 10410098 */ beq $v0, $at, .L80A221A4
/* 00084 80A21F44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00088 80A21F48 100000B3 */ beq $zero, $zero, .L80A22218
/* 0008C 80A21F4C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A21F50:
/* 00090 80A21F50 0C00084C */ jal osSyncPrintf
/* 00094 80A21F54 248437E0 */ addiu $a0, $a0, %lo(D_80A237E0) ## $a0 = 000037E0
/* 00098 80A21F58 3C0480A2 */ lui $a0, %hi(D_80A237E4) ## $a0 = 80A20000
/* 0009C 80A21F5C 248437E4 */ addiu $a0, $a0, %lo(D_80A237E4) ## $a0 = 80A237E4
/* 000A0 80A21F60 0C00084C */ jal osSyncPrintf
/* 000A4 80A21F64 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 000A8 80A21F68 3C0180A2 */ lui $at, %hi(D_80A236E0) ## $at = 80A20000
/* 000AC 80A21F6C A42036E0 */ sh $zero, %lo(D_80A236E0)($at)
/* 000B0 80A21F70 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
/* 000B4 80A21F74 3C0480A2 */ lui $a0, %hi(D_80A23818) ## $a0 = 80A20000
/* 000B8 80A21F78 24843818 */ addiu $a0, $a0, %lo(D_80A23818) ## $a0 = 80A23818
/* 000BC 80A21F7C 00084983 */ sra $t1, $t0, 6
/* 000C0 80A21F80 A6090152 */ sh $t1, 0x0152($s0) ## 00000152
/* 000C4 80A21F84 860A0152 */ lh $t2, 0x0152($s0) ## 00000152
/* 000C8 80A21F88 314B003F */ andi $t3, $t2, 0x003F ## $t3 = 00000000
/* 000CC 80A21F8C A60B0152 */ sh $t3, 0x0152($s0) ## 00000152
/* 000D0 80A21F90 0C00084C */ jal osSyncPrintf
/* 000D4 80A21F94 86050152 */ lh $a1, 0x0152($s0) ## 00000152
/* 000D8 80A21F98 3C0480A2 */ lui $a0, %hi(D_80A2384C) ## $a0 = 80A20000
/* 000DC 80A21F9C 0C00084C */ jal osSyncPrintf
/* 000E0 80A21FA0 2484384C */ addiu $a0, $a0, %lo(D_80A2384C) ## $a0 = 80A2384C
/* 000E4 80A21FA4 8FA40034 */ lw $a0, 0x0034($sp)
/* 000E8 80A21FA8 0C00B2D0 */ jal Flags_GetSwitch
/* 000EC 80A21FAC 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 000F0 80A21FB0 10400009 */ beq $v0, $zero, .L80A21FD8
/* 000F4 80A21FB4 3C0C80A2 */ lui $t4, %hi(func_80A2248C) ## $t4 = 80A20000
/* 000F8 80A21FB8 3C0480A2 */ lui $a0, %hi(D_80A23850) ## $a0 = 80A20000
/* 000FC 80A21FBC 24843850 */ addiu $a0, $a0, %lo(D_80A23850) ## $a0 = 80A23850
/* 00100 80A21FC0 0C00084C */ jal osSyncPrintf
/* 00104 80A21FC4 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 00108 80A21FC8 0C00B55C */ jal Actor_Kill
/* 0010C 80A21FCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00110 80A21FD0 10000091 */ beq $zero, $zero, .L80A22218
/* 00114 80A21FD4 8FBF001C */ lw $ra, 0x001C($sp)
.L80A21FD8:
/* 00118 80A21FD8 258C248C */ addiu $t4, $t4, %lo(func_80A2248C) ## $t4 = 0000248C
/* 0011C 80A21FDC 1000008D */ beq $zero, $zero, .L80A22214
/* 00120 80A21FE0 AE0C014C */ sw $t4, 0x014C($s0) ## 0000014C
.L80A21FE4:
/* 00124 80A21FE4 0C00084C */ jal osSyncPrintf
/* 00128 80A21FE8 24843890 */ addiu $a0, $a0, %lo(D_80A23890) ## $a0 = 00003890
/* 0012C 80A21FEC 3C0480A2 */ lui $a0, %hi(D_80A23894) ## $a0 = 80A20000
/* 00130 80A21FF0 24843894 */ addiu $a0, $a0, %lo(D_80A23894) ## $a0 = 80A23894
/* 00134 80A21FF4 0C00084C */ jal osSyncPrintf
/* 00138 80A21FF8 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 0013C 80A21FFC 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005
/* 00140 80A22000 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 00144 80A22004 A60D0158 */ sh $t5, 0x0158($s0) ## 00000158
/* 00148 80A22008 A60E015C */ sh $t6, 0x015C($s0) ## 0000015C
/* 0014C 80A2200C 2605017C */ addiu $a1, $s0, 0x017C ## $a1 = 0000017C
/* 00150 80A22010 AFA50020 */ sw $a1, 0x0020($sp)
/* 00154 80A22014 0C0170D9 */ jal Collider_InitCylinder
/* 00158 80A22018 8FA40034 */ lw $a0, 0x0034($sp)
/* 0015C 80A2201C 3C0780A2 */ lui $a3, %hi(D_80A236E4) ## $a3 = 80A20000
/* 00160 80A22020 8FA50020 */ lw $a1, 0x0020($sp)
/* 00164 80A22024 24E736E4 */ addiu $a3, $a3, %lo(D_80A236E4) ## $a3 = 80A236E4
/* 00168 80A22028 8FA40034 */ lw $a0, 0x0034($sp)
/* 0016C 80A2202C 0C01712B */ jal Collider_SetCylinder
/* 00170 80A22030 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00174 80A22034 3C01442F */ lui $at, 0x442F ## $at = 442F0000
/* 00178 80A22038 44812000 */ mtc1 $at, $f4 ## $f4 = 700.00
/* 0017C 80A2203C 3C0F80A2 */ lui $t7, %hi(func_80A230A8) ## $t7 = 80A20000
/* 00180 80A22040 25EF30A8 */ addiu $t7, $t7, %lo(func_80A230A8) ## $t7 = 80A230A8
/* 00184 80A22044 AE0F0134 */ sw $t7, 0x0134($s0) ## 00000134
/* 00188 80A22048 E60400BC */ swc1 $f4, 0x00BC($s0) ## 000000BC
/* 0018C 80A2204C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00190 80A22050 0C00B2D0 */ jal Flags_GetSwitch
/* 00194 80A22054 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 00198 80A22058 10400009 */ beq $v0, $zero, .L80A22080
/* 0019C 80A2205C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001A0 80A22060 3C0480A2 */ lui $a0, %hi(D_80A238C8) ## $a0 = 80A20000
/* 001A4 80A22064 248438C8 */ addiu $a0, $a0, %lo(D_80A238C8) ## $a0 = 80A238C8
/* 001A8 80A22068 0C00084C */ jal osSyncPrintf
/* 001AC 80A2206C 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 001B0 80A22070 0C00B55C */ jal Actor_Kill
/* 001B4 80A22074 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001B8 80A22078 10000067 */ beq $zero, $zero, .L80A22218
/* 001BC 80A2207C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A22080:
/* 001C0 80A22080 3C053CF5 */ lui $a1, 0x3CF5 ## $a1 = 3CF50000
/* 001C4 80A22084 0C00B58B */ jal Actor_SetScale
/* 001C8 80A22088 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3CF5C28F
/* 001CC 80A2208C 3C1880A2 */ lui $t8, %hi(func_80A22598) ## $t8 = 80A20000
/* 001D0 80A22090 27182598 */ addiu $t8, $t8, %lo(func_80A22598) ## $t8 = 80A22598
/* 001D4 80A22094 1000005F */ beq $zero, $zero, .L80A22214
/* 001D8 80A22098 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C
.L80A2209C:
/* 001DC 80A2209C 0C00084C */ jal osSyncPrintf
/* 001E0 80A220A0 24843908 */ addiu $a0, $a0, %lo(D_80A23908) ## $a0 = 00003908
/* 001E4 80A220A4 3C0480A2 */ lui $a0, %hi(D_80A2390C) ## $a0 = 80A20000
/* 001E8 80A220A8 0C00084C */ jal osSyncPrintf
/* 001EC 80A220AC 2484390C */ addiu $a0, $a0, %lo(D_80A2390C) ## $a0 = 80A2390C
/* 001F0 80A220B0 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 001F4 80A220B4 44813000 */ mtc1 $at, $f6 ## $f6 = -3.00
/* 001F8 80A220B8 3C0180A2 */ lui $at, %hi(D_80A23B04) ## $at = 80A20000
/* 001FC 80A220BC E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
/* 00200 80A220C0 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00204 80A220C4 C42C3B04 */ lwc1 $f12, %lo(D_80A23B04)($at)
/* 00208 80A220C8 4600020D */ trunc.w.s $f8, $f0
/* 0020C 80A220CC 2605017C */ addiu $a1, $s0, 0x017C ## $a1 = 0000017C
/* 00210 80A220D0 44084000 */ mfc1 $t0, $f8
/* 00214 80A220D4 00000000 */ nop
/* 00218 80A220D8 A6080158 */ sh $t0, 0x0158($s0) ## 00000158
/* 0021C 80A220DC AFA50020 */ sw $a1, 0x0020($sp)
/* 00220 80A220E0 0C0170D9 */ jal Collider_InitCylinder
/* 00224 80A220E4 8FA40034 */ lw $a0, 0x0034($sp)
/* 00228 80A220E8 3C0780A2 */ lui $a3, %hi(D_80A236E4) ## $a3 = 80A20000
/* 0022C 80A220EC 8FA50020 */ lw $a1, 0x0020($sp)
/* 00230 80A220F0 24E736E4 */ addiu $a3, $a3, %lo(D_80A236E4) ## $a3 = 80A236E4
/* 00234 80A220F4 8FA40034 */ lw $a0, 0x0034($sp)
/* 00238 80A220F8 0C01712B */ jal Collider_SetCylinder
/* 0023C 80A220FC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00240 80A22100 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 00244 80A22104 44810000 */ mtc1 $at, $f0 ## $f0 = 0.25
/* 00248 80A22108 3C0180A2 */ lui $at, %hi(D_80A23B08) ## $at = 80A20000
/* 0024C 80A2210C 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
/* 00250 80A22110 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
/* 00254 80A22114 C42A3B08 */ lwc1 $f10, %lo(D_80A23B08)($at)
/* 00258 80A22118 3529F820 */ ori $t1, $t1, 0xF820 ## $t1 = 0001F820
/* 0025C 80A2211C 240A012C */ addiu $t2, $zero, 0x012C ## $t2 = 0000012C
/* 00260 80A22120 AE09019C */ sw $t1, 0x019C($s0) ## 0000019C
/* 00264 80A22124 A60A015E */ sh $t2, 0x015E($s0) ## 0000015E
/* 00268 80A22128 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 0026C 80A2212C E60A0054 */ swc1 $f10, 0x0054($s0) ## 00000054
/* 00270 80A22130 8FA40034 */ lw $a0, 0x0034($sp)
/* 00274 80A22134 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00278 80A22138 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 0027C 80A2213C 8605015E */ lh $a1, 0x015E($s0) ## 0000015E
/* 00280 80A22140 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 00284 80A22144 00812021 */ addu $a0, $a0, $at
/* 00288 80A22148 A2020178 */ sb $v0, 0x0178($s0) ## 00000178
/* 0028C 80A2214C 820B0178 */ lb $t3, 0x0178($s0) ## 00000178
/* 00290 80A22150 0561000B */ bgez $t3, .L80A22180
/* 00294 80A22154 00000000 */ nop
/* 00298 80A22158 0C00B55C */ jal Actor_Kill
/* 0029C 80A2215C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002A0 80A22160 3C0480A2 */ lui $a0, %hi(D_80A23940) ## $a0 = 80A20000
/* 002A4 80A22164 24843940 */ addiu $a0, $a0, %lo(D_80A23940) ## $a0 = 80A23940
/* 002A8 80A22168 0C00084C */ jal osSyncPrintf
/* 002AC 80A2216C 82050178 */ lb $a1, 0x0178($s0) ## 00000178
/* 002B0 80A22170 3C0480A2 */ lui $a0, %hi(D_80A2395C) ## $a0 = 80A20000
/* 002B4 80A22174 2484395C */ addiu $a0, $a0, %lo(D_80A2395C) ## $a0 = 80A2395C
/* 002B8 80A22178 0C00084C */ jal osSyncPrintf
/* 002BC 80A2217C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
.L80A22180:
/* 002C0 80A22180 3C0E80A2 */ lui $t6, %hi(func_80A223F8) ## $t6 = 80A20000
/* 002C4 80A22184 240C0018 */ addiu $t4, $zero, 0x0018 ## $t4 = 00000018
/* 002C8 80A22188 240D004A */ addiu $t5, $zero, 0x004A ## $t5 = 0000004A
/* 002CC 80A2218C 25CE23F8 */ addiu $t6, $t6, %lo(func_80A223F8) ## $t6 = 80A223F8
/* 002D0 80A22190 A60C01BC */ sh $t4, 0x01BC($s0) ## 000001BC
/* 002D4 80A22194 A60D01BE */ sh $t5, 0x01BE($s0) ## 000001BE
/* 002D8 80A22198 A60001C0 */ sh $zero, 0x01C0($s0) ## 000001C0
/* 002DC 80A2219C 1000001D */ beq $zero, $zero, .L80A22214
/* 002E0 80A221A0 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
.L80A221A4:
/* 002E4 80A221A4 3C01442F */ lui $at, 0x442F ## $at = 442F0000
/* 002E8 80A221A8 44818000 */ mtc1 $at, $f16 ## $f16 = 700.00
/* 002EC 80A221AC 3C053D4C */ lui $a1, 0x3D4C ## $a1 = 3D4C0000
/* 002F0 80A221B0 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD
/* 002F4 80A221B4 0C00B58B */ jal Actor_SetScale
/* 002F8 80A221B8 E61000BC */ swc1 $f16, 0x00BC($s0) ## 000000BC
/* 002FC 80A221BC 2605017C */ addiu $a1, $s0, 0x017C ## $a1 = 0000017C
/* 00300 80A221C0 AFA50020 */ sw $a1, 0x0020($sp)
/* 00304 80A221C4 0C0170D9 */ jal Collider_InitCylinder
/* 00308 80A221C8 8FA40034 */ lw $a0, 0x0034($sp)
/* 0030C 80A221CC 3C0780A2 */ lui $a3, %hi(D_80A236E4) ## $a3 = 80A20000
/* 00310 80A221D0 8FA50020 */ lw $a1, 0x0020($sp)
/* 00314 80A221D4 24E736E4 */ addiu $a3, $a3, %lo(D_80A236E4) ## $a3 = 80A236E4
/* 00318 80A221D8 8FA40034 */ lw $a0, 0x0034($sp)
/* 0031C 80A221DC 0C01712B */ jal Collider_SetCylinder
/* 00320 80A221E0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00324 80A221E4 3C0F80A2 */ lui $t7, %hi(func_80A230A8) ## $t7 = 80A20000
/* 00328 80A221E8 3C0980A2 */ lui $t1, %hi(func_80A22764) ## $t1 = 80A20000
/* 0032C 80A221EC 25EF30A8 */ addiu $t7, $t7, %lo(func_80A230A8) ## $t7 = 80A230A8
/* 00330 80A221F0 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 00334 80A221F4 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 00338 80A221F8 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 0033C 80A221FC 25292764 */ addiu $t1, $t1, %lo(func_80A22764) ## $t1 = 80A22764
/* 00340 80A22200 AE0F0134 */ sw $t7, 0x0134($s0) ## 00000134
/* 00344 80A22204 A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC
/* 00348 80A22208 A61901BE */ sh $t9, 0x01BE($s0) ## 000001BE
/* 0034C 80A2220C A60801C0 */ sh $t0, 0x01C0($s0) ## 000001C0
/* 00350 80A22210 AE09014C */ sw $t1, 0x014C($s0) ## 0000014C
.L80A22214:
/* 00354 80A22214 8FBF001C */ lw $ra, 0x001C($sp)
.L80A22218:
/* 00358 80A22218 8FB00018 */ lw $s0, 0x0018($sp)
/* 0035C 80A2221C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00360 80A22220 03E00008 */ jr $ra
/* 00364 80A22224 00000000 */ nop

View file

@ -1,121 +0,0 @@
glabel EnGSwitch_Update
/* 00F70 80A22E30 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 00F74 80A22E34 AFB00048 */ sw $s0, 0x0048($sp)
/* 00F78 80A22E38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F7C 80A22E3C AFBF004C */ sw $ra, 0x004C($sp)
/* 00F80 80A22E40 AFA50064 */ sw $a1, 0x0064($sp)
/* 00F84 80A22E44 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
/* 00F88 80A22E48 0320F809 */ jalr $ra, $t9
/* 00F8C 80A22E4C 00000000 */ nop
/* 00F90 80A22E50 86020156 */ lh $v0, 0x0156($s0) ## 00000156
/* 00F94 80A22E54 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00F98 80A22E58 10400002 */ beq $v0, $zero, .L80A22E64
/* 00F9C 80A22E5C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00FA0 80A22E60 A60E0156 */ sh $t6, 0x0156($s0) ## 00000156
.L80A22E64:
/* 00FA4 80A22E64 86020164 */ lh $v0, 0x0164($s0) ## 00000164
/* 00FA8 80A22E68 10400002 */ beq $v0, $zero, .L80A22E74
/* 00FAC 80A22E6C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 00FB0 80A22E70 A60F0164 */ sh $t7, 0x0164($s0) ## 00000164
.L80A22E74:
/* 00FB4 80A22E74 86020162 */ lh $v0, 0x0162($s0) ## 00000162
/* 00FB8 80A22E78 10400002 */ beq $v0, $zero, .L80A22E84
/* 00FBC 80A22E7C 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 00FC0 80A22E80 A6180162 */ sh $t8, 0x0162($s0) ## 00000162
.L80A22E84:
/* 00FC4 80A22E84 86020150 */ lh $v0, 0x0150($s0) ## 00000150
/* 00FC8 80A22E88 50400014 */ beql $v0, $zero, .L80A22EDC
/* 00FCC 80A22E8C 8E090134 */ lw $t1, 0x0134($s0) ## 00000134
/* 00FD0 80A22E90 10410011 */ beq $v0, $at, .L80A22ED8
/* 00FD4 80A22E94 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00FD8 80A22E98 50410010 */ beql $v0, $at, .L80A22EDC
/* 00FDC 80A22E9C 8E090134 */ lw $t1, 0x0134($s0) ## 00000134
/* 00FE0 80A22EA0 0C00B638 */ jal Actor_MoveForward
/* 00FE4 80A22EA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00FE8 80A22EA8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00FEC 80A22EAC 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
/* 00FF0 80A22EB0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00FF4 80A22EB4 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 00FF8 80A22EB8 2408001C */ addiu $t0, $zero, 0x001C ## $t0 = 0000001C
/* 00FFC 80A22EBC 44060000 */ mfc1 $a2, $f0
/* 01000 80A22EC0 44070000 */ mfc1 $a3, $f0
/* 01004 80A22EC4 AFA80014 */ sw $t0, 0x0014($sp)
/* 01008 80A22EC8 8FA40064 */ lw $a0, 0x0064($sp)
/* 0100C 80A22ECC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01010 80A22ED0 0C00B92D */ jal func_8002E4B4
/* 01014 80A22ED4 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A22ED8:
/* 01018 80A22ED8 8E090134 */ lw $t1, 0x0134($s0) ## 00000134
.L80A22EDC:
/* 0101C 80A22EDC 1120001A */ beq $t1, $zero, .L80A22F48
/* 01020 80A22EE0 00000000 */ nop
/* 01024 80A22EE4 860A0150 */ lh $t2, 0x0150($s0) ## 00000150
/* 01028 80A22EE8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0102C 80A22EEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01030 80A22EF0 55410004 */ bnel $t2, $at, .L80A22F04
/* 01034 80A22EF4 8E02014C */ lw $v0, 0x014C($s0) ## 0000014C
/* 01038 80A22EF8 0C288CC5 */ jal func_80A23314
/* 0103C 80A22EFC 8FA50064 */ lw $a1, 0x0064($sp)
/* 01040 80A22F00 8E02014C */ lw $v0, 0x014C($s0) ## 0000014C
.L80A22F04:
/* 01044 80A22F04 3C0B80A2 */ lui $t3, %hi(func_80A22E00) ## $t3 = 80A20000
/* 01048 80A22F08 256B2E00 */ addiu $t3, $t3, %lo(func_80A22E00) ## $t3 = 80A22E00
/* 0104C 80A22F0C 1162000E */ beq $t3, $v0, .L80A22F48
/* 01050 80A22F10 3C0C80A2 */ lui $t4, %hi(func_80A22598) ## $t4 = 80A20000
/* 01054 80A22F14 258C2598 */ addiu $t4, $t4, %lo(func_80A22598) ## $t4 = 80A22598
/* 01058 80A22F18 1182000B */ beq $t4, $v0, .L80A22F48
/* 0105C 80A22F1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01060 80A22F20 2606017C */ addiu $a2, $s0, 0x017C ## $a2 = 0000017C
/* 01064 80A22F24 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000017C
/* 01068 80A22F28 0C0189B7 */ jal Collider_CylinderUpdate
/* 0106C 80A22F2C AFA60054 */ sw $a2, 0x0054($sp)
/* 01070 80A22F30 8FA40064 */ lw $a0, 0x0064($sp)
/* 01074 80A22F34 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01078 80A22F38 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 0107C 80A22F3C 8FA60054 */ lw $a2, 0x0054($sp)
/* 01080 80A22F40 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01084 80A22F44 00812821 */ addu $a1, $a0, $at
.L80A22F48:
/* 01088 80A22F48 3C198016 */ lui $t9, %hi(gGameInfo)
/* 0108C 80A22F4C 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* 01090 80A22F50 872E12D4 */ lh $t6, 0x12D4($t9) ## 801612D4
/* 01094 80A22F54 51C0001D */ beql $t6, $zero, .L80A22FCC
/* 01098 80A22F58 8FBF004C */ lw $ra, 0x004C($sp)
/* 0109C 80A22F5C 860F0150 */ lh $t7, 0x0150($s0) ## 00000150
/* 010A0 80A22F60 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 010A4 80A22F64 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 010A8 80A22F68 15E00017 */ bne $t7, $zero, .L80A22FC8
/* 010AC 80A22F6C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 010B0 80A22F70 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 010B4 80A22F74 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024
/* 010B8 80A22F78 C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028
/* 010BC 80A22F7C 8E06002C */ lw $a2, 0x002C($s0) ## 0000002C
/* 010C0 80A22F80 86070030 */ lh $a3, 0x0030($s0) ## 00000030
/* 010C4 80A22F84 AFB80010 */ sw $t8, 0x0010($sp)
/* 010C8 80A22F88 86080034 */ lh $t0, 0x0034($s0) ## 00000034
/* 010CC 80A22F8C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 010D0 80A22F90 8FAC0064 */ lw $t4, 0x0064($sp)
/* 010D4 80A22F94 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004
/* 010D8 80A22F98 AFAB0034 */ sw $t3, 0x0034($sp)
/* 010DC 80A22F9C AFAA0030 */ sw $t2, 0x0030($sp)
/* 010E0 80A22FA0 AFA0002C */ sw $zero, 0x002C($sp)
/* 010E4 80A22FA4 AFA00028 */ sw $zero, 0x0028($sp)
/* 010E8 80A22FA8 AFA90024 */ sw $t1, 0x0024($sp)
/* 010EC 80A22FAC AFA80014 */ sw $t0, 0x0014($sp)
/* 010F0 80A22FB0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 010F4 80A22FB4 E7A0001C */ swc1 $f0, 0x001C($sp)
/* 010F8 80A22FB8 E7A00020 */ swc1 $f0, 0x0020($sp)
/* 010FC 80A22FBC 8D8D0000 */ lw $t5, 0x0000($t4) ## 00000000
/* 01100 80A22FC0 0C018FA7 */ jal DebugDisplay_AddObject
/* 01104 80A22FC4 AFAD0038 */ sw $t5, 0x0038($sp)
.L80A22FC8:
/* 01108 80A22FC8 8FBF004C */ lw $ra, 0x004C($sp)
.L80A22FCC:
/* 0110C 80A22FCC 8FB00048 */ lw $s0, 0x0048($sp)
/* 01110 80A22FD0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 01114 80A22FD4 03E00008 */ jr $ra
/* 01118 80A22FD8 00000000 */ nop

View file

@ -1,114 +0,0 @@
glabel func_80A22250
/* 00390 80A22250 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 00394 80A22254 3C0F80A2 */ lui $t7, %hi(D_80A2373C) ## $t7 = 80A20000
/* 00398 80A22258 AFBF002C */ sw $ra, 0x002C($sp)
/* 0039C 80A2225C AFB20028 */ sw $s2, 0x0028($sp)
/* 003A0 80A22260 AFB10024 */ sw $s1, 0x0024($sp)
/* 003A4 80A22264 AFB00020 */ sw $s0, 0x0020($sp)
/* 003A8 80A22268 25EF373C */ addiu $t7, $t7, %lo(D_80A2373C) ## $t7 = 80A2373C
/* 003AC 80A2226C 8DF90000 */ lw $t9, 0x0000($t7) ## 80A2373C
/* 003B0 80A22270 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFDC
/* 003B4 80A22274 8DF80004 */ lw $t8, 0x0004($t7) ## 80A23740
/* 003B8 80A22278 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFDC
/* 003BC 80A2227C 8DF90008 */ lw $t9, 0x0008($t7) ## 80A23744
/* 003C0 80A22280 3C0980A2 */ lui $t1, %hi(D_80A23748) ## $t1 = 80A20000
/* 003C4 80A22284 25293748 */ addiu $t1, $t1, %lo(D_80A23748) ## $t1 = 80A23748
/* 003C8 80A22288 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFE0
/* 003CC 80A2228C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFE4
/* 003D0 80A22290 8D2B0000 */ lw $t3, 0x0000($t1) ## 80A23748
/* 003D4 80A22294 27A80038 */ addiu $t0, $sp, 0x0038 ## $t0 = FFFFFFD0
/* 003D8 80A22298 8D2A0004 */ lw $t2, 0x0004($t1) ## 80A2374C
/* 003DC 80A2229C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFD0
/* 003E0 80A222A0 8D2B0008 */ lw $t3, 0x0008($t1) ## 80A23750
/* 003E4 80A222A4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 003E8 80A222A8 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
/* 003EC 80A222AC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 003F0 80A222B0 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 003F4 80A222B4 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFD4
/* 003F8 80A222B8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 003FC 80A222BC AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFD8
/* 00400 80A222C0 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 00404 80A222C4 3C01420C */ lui $at, 0x420C ## $at = 420C0000
/* 00408 80A222C8 44816000 */ mtc1 $at, $f12 ## $f12 = 35.00
/* 0040C 80A222CC 46040180 */ add.s $f6, $f0, $f4
/* 00410 80A222D0 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00414 80A222D4 E7A6005C */ swc1 $f6, 0x005C($sp)
/* 00418 80A222D8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 0041C 80A222DC 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
/* 00420 80A222E0 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
/* 00424 80A222E4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00428 80A222E8 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00
/* 0042C 80A222EC 460A4400 */ add.s $f16, $f8, $f10
/* 00430 80A222F0 46100480 */ add.s $f18, $f0, $f16
/* 00434 80A222F4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00438 80A222F8 E7B20060 */ swc1 $f18, 0x0060($sp)
/* 0043C 80A222FC C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
/* 00440 80A22300 27B20050 */ addiu $s2, $sp, 0x0050 ## $s2 = FFFFFFE8
/* 00444 80A22304 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFE8
/* 00448 80A22308 46040180 */ add.s $f6, $f0, $f4
/* 0044C 80A2230C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00450 80A22310 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00454 80A22314 240602BC */ addiu $a2, $zero, 0x02BC ## $a2 = 000002BC
/* 00458 80A22318 E7A60064 */ swc1 $f6, 0x0064($sp)
/* 0045C 80A2231C 862C01A2 */ lh $t4, 0x01A2($s1) ## 000001A2
/* 00460 80A22320 448C4000 */ mtc1 $t4, $f8 ## $f8 = 0.00
/* 00464 80A22324 00000000 */ nop
/* 00468 80A22328 468042A0 */ cvt.s.w $f10, $f8
/* 0046C 80A2232C E7AA0050 */ swc1 $f10, 0x0050($sp)
/* 00470 80A22330 862D01A4 */ lh $t5, 0x01A4($s1) ## 000001A4
/* 00474 80A22334 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00
/* 00478 80A22338 00000000 */ nop
/* 0047C 80A2233C 468084A0 */ cvt.s.w $f18, $f16
/* 00480 80A22340 E7B20054 */ swc1 $f18, 0x0054($sp)
/* 00484 80A22344 862E01A6 */ lh $t6, 0x01A6($s1) ## 000001A6
/* 00488 80A22348 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 0048C 80A2234C 00000000 */ nop
/* 00490 80A22350 468021A0 */ cvt.s.w $f6, $f4
/* 00494 80A22354 0C00A732 */ jal EffectSsHitMark_SpawnCustomScale
/* 00498 80A22358 E7A60058 */ swc1 $f6, 0x0058($sp)
/* 0049C 80A2235C 86220150 */ lh $v0, 0x0150($s1) ## 00000150
/* 004A0 80A22360 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 004A4 80A22364 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004A8 80A22368 1441000C */ bne $v0, $at, .L80A2239C
/* 004AC 80A2236C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFE8
/* 004B0 80A22370 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 004B4 80A22374 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
/* 004B8 80A22378 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
/* 004BC 80A2237C 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 004C0 80A22380 AFB80014 */ sw $t8, 0x0014($sp)
/* 004C4 80A22384 AFAF0010 */ sw $t7, 0x0010($sp)
/* 004C8 80A22388 27A60038 */ addiu $a2, $sp, 0x0038 ## $a2 = FFFFFFD0
/* 004CC 80A2238C 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFDC
/* 004D0 80A22390 0C00A97D */ jal EffectSsExtra_Spawn
/* 004D4 80A22394 E7A8003C */ swc1 $f8, 0x003C($sp)
/* 004D8 80A22398 86220150 */ lh $v0, 0x0150($s1) ## 00000150
.L80A2239C:
/* 004DC 80A2239C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 004E0 80A223A0 54410010 */ bnel $v0, $at, .L80A223E4
/* 004E4 80A223A4 8FBF002C */ lw $ra, 0x002C($sp)
/* 004E8 80A223A8 8639015C */ lh $t9, 0x015C($s1) ## 0000015C
/* 004EC 80A223AC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 004F0 80A223B0 27B2005C */ addiu $s2, $sp, 0x005C ## $s2 = FFFFFFF4
/* 004F4 80A223B4 1B20000A */ blez $t9, .L80A223E0
/* 004F8 80A223B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A223BC:
/* 004FC 80A223BC 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4
/* 00500 80A223C0 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
/* 00504 80A223C4 0C288C81 */ jal func_80A23204
/* 00508 80A223C8 86270158 */ lh $a3, 0x0158($s1) ## 00000158
/* 0050C 80A223CC 8628015C */ lh $t0, 0x015C($s1) ## 0000015C
/* 00510 80A223D0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00514 80A223D4 0208082A */ slt $at, $s0, $t0
/* 00518 80A223D8 5420FFF8 */ bnel $at, $zero, .L80A223BC
/* 0051C 80A223DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A223E0:
/* 00520 80A223E0 8FBF002C */ lw $ra, 0x002C($sp)
.L80A223E4:
/* 00524 80A223E4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00528 80A223E8 8FB10024 */ lw $s1, 0x0024($sp)
/* 0052C 80A223EC 8FB20028 */ lw $s2, 0x0028($sp)
/* 00530 80A223F0 03E00008 */ jr $ra
/* 00534 80A223F4 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View file

@ -1,40 +0,0 @@
glabel func_80A223F8
/* 00538 80A223F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0053C 80A223FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00540 80A22400 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00544 80A22404 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 00548 80A22408 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0054C 80A2240C AFA5001C */ sw $a1, 0x001C($sp)
/* 00550 80A22410 00A12021 */ addu $a0, $a1, $at
/* 00554 80A22414 80C50178 */ lb $a1, 0x0178($a2) ## 00000178
/* 00558 80A22418 0C026062 */ jal Object_IsLoaded
/* 0055C 80A2241C AFA60018 */ sw $a2, 0x0018($sp)
/* 00560 80A22420 10400016 */ beq $v0, $zero, .L80A2247C
/* 00564 80A22424 8FA60018 */ lw $a2, 0x0018($sp)
/* 00568 80A22428 80CF0178 */ lb $t7, 0x0178($a2) ## 00000178
/* 0056C 80A2242C 8FAE001C */ lw $t6, 0x001C($sp)
/* 00570 80A22430 3C080001 */ lui $t0, 0x0001 ## $t0 = 00010000
/* 00574 80A22434 000FC100 */ sll $t8, $t7, 4
/* 00578 80A22438 030FC021 */ addu $t8, $t8, $t7
/* 0057C 80A2243C 0018C080 */ sll $t8, $t8, 2
/* 00580 80A22440 01D8C821 */ addu $t9, $t6, $t8
/* 00584 80A22444 01194021 */ addu $t0, $t0, $t9
/* 00588 80A22448 8D0817B4 */ lw $t0, 0x17B4($t0) ## 000117B4
/* 0058C 80A2244C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00590 80A22450 3C0B80A2 */ lui $t3, %hi(func_80A22FDC) ## $t3 = 80A20000
/* 00594 80A22454 01014821 */ addu $t1, $t0, $at
/* 00598 80A22458 3C018016 */ lui $at, %hi(gSegments+0x18)
/* 0059C 80A2245C AC296FC0 */ sw $t1, %lo(gSegments+0x18)($at)
/* 005A0 80A22460 80CA0178 */ lb $t2, 0x0178($a2) ## 00000178
/* 005A4 80A22464 3C0C80A2 */ lui $t4, %hi(func_80A22B1C) ## $t4 = 80A20000
/* 005A8 80A22468 256B2FDC */ addiu $t3, $t3, %lo(func_80A22FDC) ## $t3 = 80A22FDC
/* 005AC 80A2246C 258C2B1C */ addiu $t4, $t4, %lo(func_80A22B1C) ## $t4 = 80A22B1C
/* 005B0 80A22470 ACCB0134 */ sw $t3, 0x0134($a2) ## 00000134
/* 005B4 80A22474 ACCC014C */ sw $t4, 0x014C($a2) ## 0000014C
/* 005B8 80A22478 A0CA001E */ sb $t2, 0x001E($a2) ## 0000001E
.L80A2247C:
/* 005BC 80A2247C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005C0 80A22480 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005C4 80A22484 03E00008 */ jr $ra
/* 005C8 80A22488 00000000 */ nop

View file

@ -1,92 +0,0 @@
.rdata
glabel D_80A23980
.asciz "\x1b[32m %d\n\x1b[m"
.balign 4
glabel D_80A239A8
.asciz "\x1b[32m %d\n\x1b[m"
.balign 4
glabel D_80A239E0
.asciz "\x1b[32m \n\x1b[m"
.balign 4
.text
glabel func_80A2248C
/* 005CC 80A2248C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 005D0 80A22490 AFBF001C */ sw $ra, 0x001C($sp)
/* 005D4 80A22494 AFB00018 */ sw $s0, 0x0018($sp)
/* 005D8 80A22498 AFA50024 */ sw $a1, 0x0024($sp)
/* 005DC 80A2249C 3C0280A2 */ lui $v0, %hi(D_80A236E0) ## $v0 = 80A20000
/* 005E0 80A224A0 844236E0 */ lh $v0, %lo(D_80A236E0)($v0)
/* 005E4 80A224A4 8486016A */ lh $a2, 0x016A($a0) ## 0000016A
/* 005E8 80A224A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005EC 80A224AC 00C2082A */ slt $at, $a2, $v0
/* 005F0 80A224B0 10200013 */ beq $at, $zero, .L80A22500
/* 005F4 80A224B4 28410005 */ slti $at, $v0, 0x0005
/* 005F8 80A224B8 10200011 */ beq $at, $zero, .L80A22500
/* 005FC 80A224BC 3C0480A2 */ lui $a0, %hi(D_80A23980) ## $a0 = 80A20000
/* 00600 80A224C0 24843980 */ addiu $a0, $a0, %lo(D_80A23980) ## $a0 = 80A23980
/* 00604 80A224C4 0C00084C */ jal osSyncPrintf
/* 00608 80A224C8 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 0060C 80A224CC 860E016A */ lh $t6, 0x016A($s0) ## 0000016A
/* 00610 80A224D0 3C0680A2 */ lui $a2, %hi(D_80A23754) ## $a2 = 80A20000
/* 00614 80A224D4 3C048013 */ lui $a0, %hi(D_801333D4)
/* 00618 80A224D8 00CE3021 */ addu $a2, $a2, $t6
/* 0061C 80A224DC 80C63754 */ lb $a2, %lo(D_80A23754)($a2)
/* 00620 80A224E0 248433D4 */ addiu $a0, %lo(D_801333D4)
/* 00624 80A224E4 0C03D2FD */ jal func_800F4BF4
/* 00628 80A224E8 240528E8 */ addiu $a1, $zero, 0x28E8 ## $a1 = 000028E8
/* 0062C 80A224EC 3C0F80A2 */ lui $t7, %hi(D_80A236E0) ## $t7 = 80A20000
/* 00630 80A224F0 85EF36E0 */ lh $t7, %lo(D_80A236E0)($t7)
/* 00634 80A224F4 3C0280A2 */ lui $v0, %hi(D_80A236E0) ## $v0 = 80A20000
/* 00638 80A224F8 A60F016A */ sh $t7, 0x016A($s0) ## 0000016A
/* 0063C 80A224FC 844236E0 */ lh $v0, %lo(D_80A236E0)($v0)
.L80A22500:
/* 00640 80A22500 86180152 */ lh $t8, 0x0152($s0) ## 00000152
/* 00644 80A22504 3C0480A2 */ lui $a0, %hi(D_80A239A8) ## $a0 = 80A20000
/* 00648 80A22508 248439A8 */ addiu $a0, $a0, %lo(D_80A239A8) ## $a0 = 80A239A8
/* 0064C 80A2250C 0058082A */ slt $at, $v0, $t8
/* 00650 80A22510 5420001D */ bnel $at, $zero, .L80A22588
/* 00654 80A22514 8FBF001C */ lw $ra, 0x001C($sp)
/* 00658 80A22518 0C00084C */ jal osSyncPrintf
/* 0065C 80A2251C 86050154 */ lh $a1, 0x0154($s0) ## 00000154
/* 00660 80A22520 3C0480A2 */ lui $a0, %hi(D_80A239E0) ## $a0 = 80A20000
/* 00664 80A22524 0C00084C */ jal osSyncPrintf
/* 00668 80A22528 248439E0 */ addiu $a0, $a0, %lo(D_80A239E0) ## $a0 = 80A239E0
/* 0066C 80A2252C 8FA60024 */ lw $a2, 0x0024($sp)
/* 00670 80A22530 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 00674 80A22534 84D900A4 */ lh $t9, 0x00A4($a2) ## 000000A4
/* 00678 80A22538 17210009 */ bne $t9, $at, .L80A22560
/* 0067C 80A2253C 00000000 */ nop
/* 00680 80A22540 82050003 */ lb $a1, 0x0003($s0) ## 00000003
/* 00684 80A22544 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00688 80A22548 14A10005 */ bne $a1, $at, .L80A22560
/* 0068C 80A2254C 00000000 */ nop
/* 00690 80A22550 0C00B34E */ jal Flags_SetTempClear
/* 00694 80A22554 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00698 80A22558 10000006 */ beq $zero, $zero, .L80A22574
/* 0069C 80A2255C 00000000 */ nop
.L80A22560:
/* 006A0 80A22560 0C01E221 */ jal func_80078884
/* 006A4 80A22564 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 006A8 80A22568 8FA40024 */ lw $a0, 0x0024($sp)
/* 006AC 80A2256C 0C00B2DD */ jal Flags_SetSwitch
/* 006B0 80A22570 86050154 */ lh $a1, 0x0154($s0) ## 00000154
.L80A22574:
/* 006B4 80A22574 0C01E221 */ jal func_80078884
/* 006B8 80A22578 24044803 */ addiu $a0, $zero, 0x4803 ## $a0 = 00004803
/* 006BC 80A2257C 0C00B55C */ jal Actor_Kill
/* 006C0 80A22580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006C4 80A22584 8FBF001C */ lw $ra, 0x001C($sp)
.L80A22588:
/* 006C8 80A22588 8FB00018 */ lw $s0, 0x0018($sp)
/* 006CC 80A2258C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 006D0 80A22590 03E00008 */ jr $ra
/* 006D4 80A22594 00000000 */ nop

View file

@ -1,61 +0,0 @@
glabel func_80A22598
/* 006D8 80A22598 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 006DC 80A2259C AFBF0014 */ sw $ra, 0x0014($sp)
/* 006E0 80A225A0 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 006E4 80A225A4 3C014461 */ lui $at, 0x4461 ## $at = 44610000
/* 006E8 80A225A8 44813000 */ mtc1 $at, $f6 ## $f6 = 900.00
/* 006EC 80A225AC AFAE001C */ sw $t6, 0x001C($sp)
/* 006F0 80A225B0 C484008C */ lwc1 $f4, 0x008C($a0) ## 0000008C
/* 006F4 80A225B4 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 006F8 80A225B8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 006FC 80A225BC 4606203C */ c.lt.s $f4, $f6
/* 00700 80A225C0 25F80800 */ addiu $t8, $t7, 0x0800 ## $t8 = 00000800
/* 00704 80A225C4 A49800B6 */ sh $t8, 0x00B6($a0) ## 000000B6
/* 00708 80A225C8 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
/* 0070C 80A225CC 45020029 */ bc1fl .L80A22674
/* 00710 80A225D0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00714 80A225D4 0C021CC3 */ jal Rupees_ChangeBy
/* 00718 80A225D8 AFA60020 */ sw $a2, 0x0020($sp)
/* 0071C 80A225DC 3C0280A2 */ lui $v0, %hi(D_80A236E0) ## $v0 = 80A20000
/* 00720 80A225E0 244236E0 */ addiu $v0, $v0, %lo(D_80A236E0) ## $v0 = 80A236E0
/* 00724 80A225E4 84590000 */ lh $t9, 0x0000($v0) ## 80A236E0
/* 00728 80A225E8 24044803 */ addiu $a0, $zero, 0x4803 ## $a0 = 00004803
/* 0072C 80A225EC 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 00730 80A225F0 0C01E221 */ jal func_80078884
/* 00734 80A225F4 A4480000 */ sh $t0, 0x0000($v0) ## 80A236E0
/* 00738 80A225F8 8FA9001C */ lw $t1, 0x001C($sp)
/* 0073C 80A225FC 8FA60020 */ lw $a2, 0x0020($sp)
/* 00740 80A22600 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00744 80A22604 8D2B0024 */ lw $t3, 0x0024($t1) ## 00000024
/* 00748 80A22608 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
/* 0074C 80A2260C 3C0C8016 */ lui $t4, %hi(gSaveContext+4)
/* 00750 80A22610 ACCB0024 */ sw $t3, 0x0024($a2) ## 00000024
/* 00754 80A22614 8D2A0028 */ lw $t2, 0x0028($t1) ## 00000028
/* 00758 80A22618 3C0E80A2 */ lui $t6, %hi(func_80A22680) ## $t6 = 80A20000
/* 0075C 80A2261C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00760 80A22620 ACCA0028 */ sw $t2, 0x0028($a2) ## 00000028
/* 00764 80A22624 C4C80028 */ lwc1 $f8, 0x0028($a2) ## 00000028
/* 00768 80A22628 8D2B002C */ lw $t3, 0x002C($t1) ## 0000002C
/* 0076C 80A2262C 240D000F */ addiu $t5, $zero, 0x000F ## $t5 = 0000000F
/* 00770 80A22630 460A4400 */ add.s $f16, $f8, $f10
/* 00774 80A22634 ACCB002C */ sw $t3, 0x002C($a2) ## 0000002C
/* 00778 80A22638 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 0077C 80A2263C 25CE2680 */ addiu $t6, $t6, %lo(func_80A22680) ## $t6 = 80A22680
/* 00780 80A22640 E4D00028 */ swc1 $f16, 0x0028($a2) ## 00000028
/* 00784 80A22644 8D8CE664 */ lw $t4, %lo(gSaveContext+4)($t4)
/* 00788 80A22648 55800007 */ bnel $t4, $zero, .L80A22668
/* 0078C 80A2264C E4C8006C */ swc1 $f8, 0x006C($a2) ## 0000006C
/* 00790 80A22650 C4D20028 */ lwc1 $f18, 0x0028($a2) ## 00000028
/* 00794 80A22654 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
/* 00798 80A22658 00000000 */ nop
/* 0079C 80A2265C 46049180 */ add.s $f6, $f18, $f4
/* 007A0 80A22660 E4C60028 */ swc1 $f6, 0x0028($a2) ## 00000028
/* 007A4 80A22664 E4C8006C */ swc1 $f8, 0x006C($a2) ## 0000006C
.L80A22668:
/* 007A8 80A22668 A4CD0156 */ sh $t5, 0x0156($a2) ## 00000156
/* 007AC 80A2266C ACCE014C */ sw $t6, 0x014C($a2) ## 0000014C
/* 007B0 80A22670 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A22674:
/* 007B4 80A22674 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 007B8 80A22678 03E00008 */ jr $ra
/* 007BC 80A2267C 00000000 */ nop

View file

@ -1,67 +0,0 @@
.late_rodata
glabel D_80A23B0C
.float 0.3
.text
glabel func_80A22680
/* 007C0 80A22680 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 007C4 80A22684 AFBF0014 */ sw $ra, 0x0014($sp)
/* 007C8 80A22688 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
/* 007CC 80A2268C 84980156 */ lh $t8, 0x0156($a0) ## 00000156
/* 007D0 80A22690 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 007D4 80A22694 25CF03C0 */ addiu $t7, $t6, 0x03C0 ## $t7 = 000003C0
/* 007D8 80A22698 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 007DC 80A2269C 17000005 */ bne $t8, $zero, .L80A226B4
/* 007E0 80A226A0 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
/* 007E4 80A226A4 0C00B55C */ jal Actor_Kill
/* 007E8 80A226A8 00000000 */ nop
/* 007EC 80A226AC 1000002A */ beq $zero, $zero, .L80A22758
/* 007F0 80A226B0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A226B4:
/* 007F4 80A226B4 84C40156 */ lh $a0, 0x0156($a2) ## 00000156
/* 007F8 80A226B8 24013A98 */ addiu $at, $zero, 0x3A98 ## $at = 00003A98
/* 007FC 80A226BC 8C480024 */ lw $t0, 0x0024($v0) ## 00000024
/* 00800 80A226C0 00810019 */ multu $a0, $at
/* 00804 80A226C4 ACC80024 */ sw $t0, 0x0024($a2) ## 00000024
/* 00808 80A226C8 8C590028 */ lw $t9, 0x0028($v0) ## 00000028
/* 0080C 80A226CC ACD90028 */ sw $t9, 0x0028($a2) ## 00000028
/* 00810 80A226D0 8C48002C */ lw $t0, 0x002C($v0) ## 0000002C
/* 00814 80A226D4 00002012 */ mflo $a0
/* 00818 80A226D8 00042400 */ sll $a0, $a0, 16
/* 0081C 80A226DC ACC8002C */ sw $t0, 0x002C($a2) ## 0000002C
/* 00820 80A226E0 AFA60020 */ sw $a2, 0x0020($sp)
/* 00824 80A226E4 AFA2001C */ sw $v0, 0x001C($sp)
/* 00828 80A226E8 0C01DE1C */ jal Math_Sins
## sins?
/* 0082C 80A226EC 00042403 */ sra $a0, $a0, 16
/* 00830 80A226F0 8FA60020 */ lw $a2, 0x0020($sp)
/* 00834 80A226F4 3C0180A2 */ lui $at, %hi(D_80A23B0C) ## $at = 80A20000
/* 00838 80A226F8 C4283B0C */ lwc1 $f8, %lo(D_80A23B0C)($at)
/* 0083C 80A226FC 84C90156 */ lh $t1, 0x0156($a2) ## 00000156
/* 00840 80A22700 8FA2001C */ lw $v0, 0x001C($sp)
/* 00844 80A22704 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00848 80A22708 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
/* 0084C 80A2270C C4520028 */ lwc1 $f18, 0x0028($v0) ## 00000028
/* 00850 80A22710 3C0A8016 */ lui $t2, %hi(gSaveContext+4)
/* 00854 80A22714 468021A0 */ cvt.s.w $f6, $f4
/* 00858 80A22718 44812000 */ mtc1 $at, $f4 ## $f4 = 40.00
/* 0085C 80A2271C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00860 80A22720 46083282 */ mul.s $f10, $f6, $f8
/* 00864 80A22724 46049180 */ add.s $f6, $f18, $f4
/* 00868 80A22728 460A0402 */ mul.s $f16, $f0, $f10
/* 0086C 80A2272C 46068200 */ add.s $f8, $f16, $f6
/* 00870 80A22730 E4C80028 */ swc1 $f8, 0x0028($a2) ## 00000028
/* 00874 80A22734 8D4AE664 */ lw $t2, %lo(gSaveContext+4)($t2)
/* 00878 80A22738 55400007 */ bnel $t2, $zero, .L80A22758
/* 0087C 80A2273C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00880 80A22740 C4CA0028 */ lwc1 $f10, 0x0028($a2) ## 00000028
/* 00884 80A22744 44819000 */ mtc1 $at, $f18 ## $f18 = 20.00
/* 00888 80A22748 00000000 */ nop
/* 0088C 80A2274C 46125100 */ add.s $f4, $f10, $f18
/* 00890 80A22750 E4C40028 */ swc1 $f4, 0x0028($a2) ## 00000028
/* 00894 80A22754 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A22758:
/* 00898 80A22758 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0089C 80A2275C 03E00008 */ jr $ra
/* 008A0 80A22760 00000000 */ nop

View file

@ -1,276 +0,0 @@
.rdata
glabel D_80A23A14
.asciz "\x1b[33m %d\n\x1b[m"
.balign 4
.balign 4
.text
glabel func_80A22764
/* 008A4 80A22764 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 008A8 80A22768 AFBF001C */ sw $ra, 0x001C($sp)
/* 008AC 80A2276C AFB00018 */ sw $s0, 0x0018($sp)
/* 008B0 80A22770 AFA5002C */ sw $a1, 0x002C($sp)
/* 008B4 80A22774 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
/* 008B8 80A22778 84980162 */ lh $t8, 0x0162($a0) ## 00000162
/* 008BC 80A2277C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 008C0 80A22780 25CF03C0 */ addiu $t7, $t6, 0x03C0 ## $t7 = 000003C0
/* 008C4 80A22784 170000E0 */ bne $t8, $zero, .L80A22B08
/* 008C8 80A22788 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
/* 008CC 80A2278C 84820166 */ lh $v0, 0x0166($a0) ## 00000166
/* 008D0 80A22790 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 008D4 80A22794 10410007 */ beq $v0, $at, .L80A227B4
/* 008D8 80A22798 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 008DC 80A2279C 10410025 */ beq $v0, $at, .L80A22834
/* 008E0 80A227A0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 008E4 80A227A4 1041003E */ beq $v0, $at, .L80A228A0
/* 008E8 80A227A8 00000000 */ nop
/* 008EC 80A227AC 10000051 */ beq $zero, $zero, .L80A228F4
/* 008F0 80A227B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
.L80A227B4:
/* 008F4 80A227B4 0C00B638 */ jal Actor_MoveForward
/* 008F8 80A227B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008FC 80A227BC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00900 80A227C0 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060
/* 00904 80A227C4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00908 80A227C8 4600203C */ c.lt.s $f4, $f0
/* 0090C 80A227CC 00000000 */ nop
/* 00910 80A227D0 450200A3 */ bc1fl .L80A22A60
/* 00914 80A227D4 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00918 80A227D8 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
/* 0091C 80A227DC 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
/* 00920 80A227E0 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00924 80A227E4 460A4401 */ sub.s $f16, $f8, $f10
/* 00928 80A227E8 4610303C */ c.lt.s $f6, $f16
/* 0092C 80A227EC 00000000 */ nop
/* 00930 80A227F0 4502009B */ bc1fl .L80A22A60
/* 00934 80A227F4 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00938 80A227F8 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 0093C 80A227FC E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00940 80A22800 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
/* 00944 80A22804 8C590130 */ lw $t9, 0x0130($v0) ## 00000130
/* 00948 80A22808 13200006 */ beq $t9, $zero, .L80A22824
/* 0094C 80A2280C 00000000 */ nop
/* 00950 80A22810 86090160 */ lh $t1, 0x0160($s0) ## 00000160
/* 00954 80A22814 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00958 80A22818 00095040 */ sll $t2, $t1, 1
/* 0095C 80A2281C 004A5821 */ addu $t3, $v0, $t2
/* 00960 80A22820 A5680166 */ sh $t0, 0x0166($t3) ## 00000166
.L80A22824:
/* 00964 80A22824 0C00B55C */ jal Actor_Kill
/* 00968 80A22828 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0096C 80A2282C 1000008C */ beq $zero, $zero, .L80A22A60
/* 00970 80A22830 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
.L80A22834:
/* 00974 80A22834 0C00B5FB */ jal func_8002D7EC
/* 00978 80A22838 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0097C 80A2283C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00980 80A22840 C612005C */ lwc1 $f18, 0x005C($s0) ## 0000005C
/* 00984 80A22844 4600903C */ c.lt.s $f18, $f0
/* 00988 80A22848 00000000 */ nop
/* 0098C 80A2284C 45020084 */ bc1fl .L80A22A60
/* 00990 80A22850 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00994 80A22854 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00998 80A22858 C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
/* 0099C 80A2285C 4608203C */ c.lt.s $f4, $f8
/* 009A0 80A22860 00000000 */ nop
/* 009A4 80A22864 4502007E */ bc1fl .L80A22A60
/* 009A8 80A22868 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 009AC 80A2286C 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 009B0 80A22870 8C4C0130 */ lw $t4, 0x0130($v0) ## 00000130
/* 009B4 80A22874 11800006 */ beq $t4, $zero, .L80A22890
/* 009B8 80A22878 00000000 */ nop
/* 009BC 80A2287C 860E0160 */ lh $t6, 0x0160($s0) ## 00000160
/* 009C0 80A22880 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 009C4 80A22884 000E7840 */ sll $t7, $t6, 1
/* 009C8 80A22888 004FC021 */ addu $t8, $v0, $t7
/* 009CC 80A2288C A70D0166 */ sh $t5, 0x0166($t8) ## 00000166
.L80A22890:
/* 009D0 80A22890 0C00B55C */ jal Actor_Kill
/* 009D4 80A22894 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009D8 80A22898 10000071 */ beq $zero, $zero, .L80A22A60
/* 009DC 80A2289C 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
.L80A228A0:
/* 009E0 80A228A0 0C00B5FB */ jal func_8002D7EC
/* 009E4 80A228A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009E8 80A228A8 C60A016C */ lwc1 $f10, 0x016C($s0) ## 0000016C
/* 009EC 80A228AC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 009F0 80A228B0 4606503C */ c.lt.s $f10, $f6
/* 009F4 80A228B4 00000000 */ nop
/* 009F8 80A228B8 45020069 */ bc1fl .L80A22A60
/* 009FC 80A228BC 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00A00 80A228C0 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 00A04 80A228C4 8C590130 */ lw $t9, 0x0130($v0) ## 00000130
/* 00A08 80A228C8 13200006 */ beq $t9, $zero, .L80A228E4
/* 00A0C 80A228CC 00000000 */ nop
/* 00A10 80A228D0 860A0160 */ lh $t2, 0x0160($s0) ## 00000160
/* 00A14 80A228D4 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00A18 80A228D8 000A4040 */ sll $t0, $t2, 1
/* 00A1C 80A228DC 00485821 */ addu $t3, $v0, $t0
/* 00A20 80A228E0 A5690166 */ sh $t1, 0x0166($t3) ## 00000166
.L80A228E4:
/* 00A24 80A228E4 0C00B55C */ jal Actor_Kill
/* 00A28 80A228E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A2C 80A228EC 1000005C */ beq $zero, $zero, .L80A22A60
/* 00A30 80A228F0 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
.L80A228F4:
/* 00A34 80A228F4 86020168 */ lh $v0, 0x0168($s0) ## 00000168
/* 00A38 80A228F8 50400006 */ beql $v0, $zero, .L80A22914
/* 00A3C 80A228FC C602016C */ lwc1 $f2, 0x016C($s0) ## 0000016C
/* 00A40 80A22900 50410029 */ beql $v0, $at, .L80A229A8
/* 00A44 80A22904 860F0164 */ lh $t7, 0x0164($s0) ## 00000164
/* 00A48 80A22908 10000055 */ beq $zero, $zero, .L80A22A60
/* 00A4C 80A2290C 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00A50 80A22910 C602016C */ lwc1 $f2, 0x016C($s0) ## 0000016C
.L80A22914:
/* 00A54 80A22914 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 00A58 80A22918 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00A5C 80A2291C 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 00A60 80A22920 46028001 */ sub.s $f0, $f16, $f2
/* 00A64 80A22924 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 00A68 80A22928 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 00A6C 80A2292C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00A70 80A22930 46000005 */ abs.s $f0, $f0
/* 00A74 80A22934 4600603C */ c.lt.s $f12, $f0
/* 00A78 80A22938 00000000 */ nop
/* 00A7C 80A2293C 4503000C */ bc1tl .L80A22970
/* 00A80 80A22940 44051000 */ mfc1 $a1, $f2
/* 00A84 80A22944 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 00A88 80A22948 C6040170 */ lwc1 $f4, 0x0170($s0) ## 00000170
/* 00A8C 80A2294C 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 00A90 80A22950 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C
/* 00A94 80A22954 46049001 */ sub.s $f0, $f18, $f4
/* 00A98 80A22958 46000005 */ abs.s $f0, $f0
/* 00A9C 80A2295C 4600603C */ c.lt.s $f12, $f0
/* 00AA0 80A22960 00000000 */ nop
/* 00AA4 80A22964 4502000D */ bc1fl .L80A2299C
/* 00AA8 80A22968 A60C0168 */ sh $t4, 0x0168($s0) ## 00000168
/* 00AAC 80A2296C 44051000 */ mfc1 $a1, $f2
.L80A22970:
/* 00AB0 80A22970 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00AB4 80A22974 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00AB8 80A22978 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 00ABC 80A2297C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 00AC0 80A22980 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00AC4 80A22984 8E050170 */ lw $a1, 0x0170($s0) ## 00000170
/* 00AC8 80A22988 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00ACC 80A2298C 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00AD0 80A22990 10000033 */ beq $zero, $zero, .L80A22A60
/* 00AD4 80A22994 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00AD8 80A22998 A60C0168 */ sh $t4, 0x0168($s0) ## 00000168
.L80A2299C:
/* 00ADC 80A2299C 1000002F */ beq $zero, $zero, .L80A22A5C
/* 00AE0 80A229A0 A60E0164 */ sh $t6, 0x0164($s0) ## 00000164
/* 00AE4 80A229A4 860F0164 */ lh $t7, 0x0164($s0) ## 00000164
.L80A229A8:
/* 00AE8 80A229A8 55E0002D */ bnel $t7, $zero, .L80A22A60
/* 00AEC 80A229AC 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00AF0 80A229B0 C6020008 */ lwc1 $f2, 0x0008($s0) ## 00000008
/* 00AF4 80A229B4 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00AF8 80A229B8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00AFC 80A229BC 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 00B00 80A229C0 46024001 */ sub.s $f0, $f8, $f2
/* 00B04 80A229C4 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 00B08 80A229C8 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 00B0C 80A229CC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00B10 80A229D0 46000005 */ abs.s $f0, $f0
/* 00B14 80A229D4 4600603C */ c.lt.s $f12, $f0
/* 00B18 80A229D8 00000000 */ nop
/* 00B1C 80A229DC 4503000A */ bc1tl .L80A22A08
/* 00B20 80A229E0 44051000 */ mfc1 $a1, $f2
/* 00B24 80A229E4 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 00B28 80A229E8 C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 00B2C 80A229EC 46065001 */ sub.s $f0, $f10, $f6
/* 00B30 80A229F0 46000005 */ abs.s $f0, $f0
/* 00B34 80A229F4 4600603C */ c.lt.s $f12, $f0
/* 00B38 80A229F8 00000000 */ nop
/* 00B3C 80A229FC 4502000D */ bc1fl .L80A22A34
/* 00B40 80A22A00 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 00B44 80A22A04 44051000 */ mfc1 $a1, $f2
.L80A22A08:
/* 00B48 80A22A08 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00B4C 80A22A0C 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00B50 80A22A10 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 00B54 80A22A14 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 00B58 80A22A18 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00B5C 80A22A1C 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
/* 00B60 80A22A20 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00B64 80A22A24 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00B68 80A22A28 1000000D */ beq $zero, $zero, .L80A22A60
/* 00B6C 80A22A2C 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
/* 00B70 80A22A30 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L80A22A34:
/* 00B74 80A22A34 8C4D0130 */ lw $t5, 0x0130($v0) ## 00000130
/* 00B78 80A22A38 11A00006 */ beq $t5, $zero, .L80A22A54
/* 00B7C 80A22A3C 00000000 */ nop
/* 00B80 80A22A40 86190160 */ lh $t9, 0x0160($s0) ## 00000160
/* 00B84 80A22A44 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00B88 80A22A48 00195040 */ sll $t2, $t9, 1
/* 00B8C 80A22A4C 004A4021 */ addu $t0, $v0, $t2
/* 00B90 80A22A50 A5180166 */ sh $t8, 0x0166($t0) ## 00000166
.L80A22A54:
/* 00B94 80A22A54 0C00B55C */ jal Actor_Kill
/* 00B98 80A22A58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A22A5C:
/* 00B9C 80A22A5C 9203018D */ lbu $v1, 0x018D($s0) ## 0000018D
.L80A22A60:
/* 00BA0 80A22A60 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* 00BA4 80A22A64 30690002 */ andi $t1, $v1, 0x0002 ## $t1 = 00000000
/* 00BA8 80A22A68 55200006 */ bnel $t1, $zero, .L80A22A84
/* 00BAC 80A22A6C 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 00BB0 80A22A70 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* 00BB4 80A22A74 856C12E4 */ lh $t4, 0x12E4($t3) ## 801612E4
/* 00BB8 80A22A78 51800024 */ beql $t4, $zero, .L80A22B0C
/* 00BBC 80A22A7C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00BC0 80A22A80 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L80A22A84:
/* 00BC4 80A22A84 306EFFFD */ andi $t6, $v1, 0xFFFD ## $t6 = 00000000
/* 00BC8 80A22A88 A20E018D */ sb $t6, 0x018D($s0) ## 0000018D
/* 00BCC 80A22A8C 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
/* 00BD0 80A22A90 51E0001E */ beql $t7, $zero, .L80A22B0C
/* 00BD4 80A22A94 8FBF001C */ lw $ra, 0x001C($sp)
/* 00BD8 80A22A98 844D0156 */ lh $t5, 0x0156($v0) ## 00000156
/* 00BDC 80A22A9C 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 00BE0 80A22AA0 240428D3 */ addiu $a0, $zero, 0x28D3 ## $a0 = 000028D3
/* 00BE4 80A22AA4 25B90001 */ addiu $t9, $t5, 0x0001 ## $t9 = 00000001
/* 00BE8 80A22AA8 A4590156 */ sh $t9, 0x0156($v0) ## 00000156
/* 00BEC 80A22AAC 86180160 */ lh $t8, 0x0160($s0) ## 00000160
/* 00BF0 80A22AB0 00184040 */ sll $t0, $t8, 1
/* 00BF4 80A22AB4 00484821 */ addu $t1, $v0, $t0
/* 00BF8 80A22AB8 A52A0166 */ sh $t2, 0x0166($t1) ## 00000166
/* 00BFC 80A22ABC 0C01E221 */ jal func_80078884
/* 00C00 80A22AC0 AFA20024 */ sw $v0, 0x0024($sp)
/* 00C04 80A22AC4 0C01E221 */ jal func_80078884
/* 00C08 80A22AC8 24044803 */ addiu $a0, $zero, 0x4803 ## $a0 = 00004803
/* 00C0C 80A22ACC 8FA20024 */ lw $v0, 0x0024($sp)
/* 00C10 80A22AD0 3C0480A2 */ lui $a0, %hi(D_80A23A14) ## $a0 = 80A20000
/* 00C14 80A22AD4 24843A14 */ addiu $a0, $a0, %lo(D_80A23A14) ## $a0 = 80A23A14
/* 00C18 80A22AD8 0C00084C */ jal osSyncPrintf
/* 00C1C 80A22ADC 84450156 */ lh $a1, 0x0156($v0) ## 00000156
/* 00C20 80A22AE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C24 80A22AE4 0C288894 */ jal func_80A22250
/* 00C28 80A22AE8 8FA5002C */ lw $a1, 0x002C($sp)
/* 00C2C 80A22AEC 3C0E80A2 */ lui $t6, %hi(func_80A22E00) ## $t6 = 80A20000
/* 00C30 80A22AF0 240B0032 */ addiu $t3, $zero, 0x0032 ## $t3 = 00000032
/* 00C34 80A22AF4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 00C38 80A22AF8 25CE2E00 */ addiu $t6, $t6, %lo(func_80A22E00) ## $t6 = 80A22E00
/* 00C3C 80A22AFC A60B0156 */ sh $t3, 0x0156($s0) ## 00000156
/* 00C40 80A22B00 A60C015A */ sh $t4, 0x015A($s0) ## 0000015A
/* 00C44 80A22B04 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
.L80A22B08:
/* 00C48 80A22B08 8FBF001C */ lw $ra, 0x001C($sp)
.L80A22B0C:
/* 00C4C 80A22B0C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00C50 80A22B10 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00C54 80A22B14 03E00008 */ jr $ra
/* 00C58 80A22B18 00000000 */ nop

View file

@ -1,206 +0,0 @@
.late_rodata
glabel D_80A23B10
.float 0.2
glabel D_80A23B14
.float 0.6
.text
glabel func_80A22B1C
/* 00C5C 80A22B1C 27BDFF18 */ addiu $sp, $sp, 0xFF18 ## $sp = FFFFFF18
/* 00C60 80A22B20 AFBF009C */ sw $ra, 0x009C($sp)
/* 00C64 80A22B24 AFBE0098 */ sw $s8, 0x0098($sp)
/* 00C68 80A22B28 AFB70094 */ sw $s7, 0x0094($sp)
/* 00C6C 80A22B2C AFB60090 */ sw $s6, 0x0090($sp)
/* 00C70 80A22B30 AFB5008C */ sw $s5, 0x008C($sp)
/* 00C74 80A22B34 AFB40088 */ sw $s4, 0x0088($sp)
/* 00C78 80A22B38 AFB30084 */ sw $s3, 0x0084($sp)
/* 00C7C 80A22B3C AFB20080 */ sw $s2, 0x0080($sp)
/* 00C80 80A22B40 AFB1007C */ sw $s1, 0x007C($sp)
/* 00C84 80A22B44 AFB00078 */ sw $s0, 0x0078($sp)
/* 00C88 80A22B48 F7BE0070 */ sdc1 $f30, 0x0070($sp)
/* 00C8C 80A22B4C F7BC0068 */ sdc1 $f28, 0x0068($sp)
/* 00C90 80A22B50 F7BA0060 */ sdc1 $f26, 0x0060($sp)
/* 00C94 80A22B54 F7B80058 */ sdc1 $f24, 0x0058($sp)
/* 00C98 80A22B58 F7B60050 */ sdc1 $f22, 0x0050($sp)
/* 00C9C 80A22B5C F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 00CA0 80A22B60 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
/* 00CA4 80A22B64 9082018D */ lbu $v0, 0x018D($a0) ## 0000018D
/* 00CA8 80A22B68 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 00CAC 80A22B6C 25CF03C0 */ addiu $t7, $t6, 0x03C0 ## $t7 = 000003C0
/* 00CB0 80A22B70 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
/* 00CB4 80A22B74 13000090 */ beq $t8, $zero, .L80A22DB8
/* 00CB8 80A22B78 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
/* 00CBC 80A22B7C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00CC0 80A22B80 4481F000 */ mtc1 $at, $f30 ## $f30 = 5.00
/* 00CC4 80A22B84 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00CC8 80A22B88 4481E000 */ mtc1 $at, $f28 ## $f28 = 0.50
/* 00CCC 80A22B8C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00CD0 80A22B90 4481D000 */ mtc1 $at, $f26 ## $f26 = 10.00
/* 00CD4 80A22B94 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
/* 00CD8 80A22B98 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00CDC 80A22B9C A099018D */ sb $t9, 0x018D($a0) ## 0000018D
/* 00CE0 80A22BA0 3C160600 */ lui $s6, 0x0600 ## $s6 = 06000000
/* 00CE4 80A22BA4 4481C000 */ mtc1 $at, $f24 ## $f24 = 8.00
/* 00CE8 80A22BA8 26D61960 */ addiu $s6, $s6, 0x1960 ## $s6 = 06001960
/* 00CEC 80A22BAC AFA400E8 */ sw $a0, 0x00E8($sp)
/* 00CF0 80A22BB0 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00CF4 80A22BB4 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00CF8 80A22BB8 24910024 */ addiu $s1, $a0, 0x0024 ## $s1 = 00000024
/* 00CFC 80A22BBC 2417001E */ addiu $s7, $zero, 0x001E ## $s7 = 0000001E
/* 00D00 80A22BC0 27B500C4 */ addiu $s5, $sp, 0x00C4 ## $s5 = FFFFFFDC
/* 00D04 80A22BC4 27B400D0 */ addiu $s4, $sp, 0x00D0 ## $s4 = FFFFFFE8
.L80A22BC8:
/* 00D08 80A22BC8 00122400 */ sll $a0, $s2, 16
/* 00D0C 80A22BCC 0C01DE1C */ jal Math_Sins
## sins?
/* 00D10 80A22BD0 00042403 */ sra $a0, $a0, 16
/* 00D14 80A22BD4 00122400 */ sll $a0, $s2, 16
/* 00D18 80A22BD8 46000506 */ mov.s $f20, $f0
/* 00D1C 80A22BDC 0C01DE0D */ jal Math_Coss
## coss?
/* 00D20 80A22BE0 00042403 */ sra $a0, $a0, 16
/* 00D24 80A22BE4 4618A102 */ mul.s $f4, $f20, $f24
/* 00D28 80A22BE8 46000586 */ mov.s $f22, $f0
/* 00D2C 80A22BEC 4600F306 */ mov.s $f12, $f30
/* 00D30 80A22BF0 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00D34 80A22BF4 E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 00D38 80A22BF8 4618B202 */ mul.s $f8, $f22, $f24
/* 00D3C 80A22BFC C7AA00D0 */ lwc1 $f10, 0x00D0($sp)
/* 00D40 80A22C00 461A0180 */ add.s $f6, $f0, $f26
/* 00D44 80A22C04 461C5402 */ mul.s $f16, $f10, $f28
/* 00D48 80A22C08 E7A600D4 */ swc1 $f6, 0x00D4($sp)
/* 00D4C 80A22C0C E7A800D8 */ swc1 $f8, 0x00D8($sp)
/* 00D50 80A22C10 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00D54 80A22C14 E7B000C4 */ swc1 $f16, 0x00C4($sp)
/* 00D58 80A22C18 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 00D5C 80A22C1C 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00
/* 00D60 80A22C20 C7A800D8 */ lwc1 $f8, 0x00D8($sp)
/* 00D64 80A22C24 C7B000D0 */ lwc1 $f16, 0x00D0($sp)
/* 00D68 80A22C28 46120102 */ mul.s $f4, $f0, $f18
/* 00D6C 80A22C2C 461A2180 */ add.s $f6, $f4, $f26
/* 00D70 80A22C30 461C4282 */ mul.s $f10, $f8, $f28
/* 00D74 80A22C34 E7A600C8 */ swc1 $f6, 0x00C8($sp)
/* 00D78 80A22C38 C7A600D4 */ lwc1 $f6, 0x00D4($sp)
/* 00D7C 80A22C3C E7AA00CC */ swc1 $f10, 0x00CC($sp)
/* 00D80 80A22C40 C6320000 */ lwc1 $f18, 0x0000($s1) ## 00000024
/* 00D84 80A22C44 46128100 */ add.s $f4, $f16, $f18
/* 00D88 80A22C48 E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 00D8C 80A22C4C C62A0004 */ lwc1 $f10, 0x0004($s1) ## 00000028
/* 00D90 80A22C50 460A3400 */ add.s $f16, $f6, $f10
/* 00D94 80A22C54 E7B000D4 */ swc1 $f16, 0x00D4($sp)
/* 00D98 80A22C58 C6320008 */ lwc1 $f18, 0x0008($s1) ## 0000002C
/* 00D9C 80A22C5C 46124100 */ add.s $f4, $f8, $f18
/* 00DA0 80A22C60 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00DA4 80A22C64 E7A400D8 */ swc1 $f4, 0x00D8($sp)
/* 00DA8 80A22C68 3C0180A2 */ lui $at, %hi(D_80A23B10) ## $at = 80A20000
/* 00DAC 80A22C6C C4263B10 */ lwc1 $f6, %lo(D_80A23B10)($at)
/* 00DB0 80A22C70 3C0180A2 */ lui $at, %hi(D_80A23B14) ## $at = 80A20000
/* 00DB4 80A22C74 4606003C */ c.lt.s $f0, $f6
/* 00DB8 80A22C78 00000000 */ nop
/* 00DBC 80A22C7C 45000003 */ bc1f .L80A22C8C
/* 00DC0 80A22C80 00000000 */ nop
/* 00DC4 80A22C84 10000009 */ beq $zero, $zero, .L80A22CAC
/* 00DC8 80A22C88 24100060 */ addiu $s0, $zero, 0x0060 ## $s0 = 00000060
.L80A22C8C:
/* 00DCC 80A22C8C C42A3B14 */ lwc1 $f10, %lo(D_80A23B14)($at)
/* 00DD0 80A22C90 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
/* 00DD4 80A22C94 460A003C */ c.lt.s $f0, $f10
/* 00DD8 80A22C98 00000000 */ nop
/* 00DDC 80A22C9C 45000003 */ bc1f .L80A22CAC
/* 00DE0 80A22CA0 00000000 */ nop
/* 00DE4 80A22CA4 10000001 */ beq $zero, $zero, .L80A22CAC
/* 00DE8 80A22CA8 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
.L80A22CAC:
/* 00DEC 80A22CAC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00DF0 80A22CB0 00000000 */ nop
/* 00DF4 80A22CB4 3C014302 */ lui $at, 0x4302 ## $at = 43020000
/* 00DF8 80A22CB8 44818000 */ mtc1 $at, $f16 ## $f16 = 130.00
/* 00DFC 80A22CBC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00E00 80A22CC0 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
/* 00E04 80A22CC4 46100202 */ mul.s $f8, $f0, $f16
/* 00E08 80A22CC8 2408FF10 */ addiu $t0, $zero, 0xFF10 ## $t0 = FFFFFF10
/* 00E0C 80A22CCC 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 00E10 80A22CD0 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A
/* 00E14 80A22CD4 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
/* 00E18 80A22CD8 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C
/* 00E1C 80A22CDC 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
/* 00E20 80A22CE0 46124100 */ add.s $f4, $f8, $f18
/* 00E24 80A22CE4 2418012C */ addiu $t8, $zero, 0x012C ## $t8 = 0000012C
/* 00E28 80A22CE8 AFB80038 */ sw $t8, 0x0038($sp)
/* 00E2C 80A22CEC AFAF0034 */ sw $t7, 0x0034($sp)
/* 00E30 80A22CF0 4600218D */ trunc.w.s $f6, $f4
/* 00E34 80A22CF4 AFAE0030 */ sw $t6, 0x0030($sp)
/* 00E38 80A22CF8 AFAD002C */ sw $t5, 0x002C($sp)
/* 00E3C 80A22CFC AFAA001C */ sw $t2, 0x001C($sp)
/* 00E40 80A22D00 440C3000 */ mfc1 $t4, $f6
/* 00E44 80A22D04 AFA90018 */ sw $t1, 0x0018($sp)
/* 00E48 80A22D08 AFA80010 */ sw $t0, 0x0010($sp)
/* 00E4C 80A22D0C 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00E50 80A22D10 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
/* 00E54 80A22D14 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFDC
/* 00E58 80A22D18 02203825 */ or $a3, $s1, $zero ## $a3 = 00000024
/* 00E5C 80A22D1C AFB00014 */ sw $s0, 0x0014($sp)
/* 00E60 80A22D20 AFA00020 */ sw $zero, 0x0020($sp)
/* 00E64 80A22D24 AFA00028 */ sw $zero, 0x0028($sp)
/* 00E68 80A22D28 AFB6003C */ sw $s6, 0x003C($sp)
/* 00E6C 80A22D2C 0C00A7A3 */ jal EffectSsKakera_Spawn
/* 00E70 80A22D30 AFAC0024 */ sw $t4, 0x0024($sp)
/* 00E74 80A22D34 26524E20 */ addiu $s2, $s2, 0x4E20 ## $s2 = 00004E20
/* 00E78 80A22D38 00129400 */ sll $s2, $s2, 16
/* 00E7C 80A22D3C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00E80 80A22D40 1677FFA1 */ bne $s3, $s7, .L80A22BC8
/* 00E84 80A22D44 00129403 */ sra $s2, $s2, 16
/* 00E88 80A22D48 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
/* 00E8C 80A22D4C 24080032 */ addiu $t0, $zero, 0x0032 ## $t0 = 00000032
/* 00E90 80A22D50 AFA80014 */ sw $t0, 0x0014($sp)
/* 00E94 80A22D54 AFB90010 */ sw $t9, 0x0010($sp)
/* 00E98 80A22D58 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00E9C 80A22D5C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 00EA0 80A22D60 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000
/* 00EA4 80A22D64 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
/* 00EA8 80A22D68 0C00CD20 */ jal func_80033480
/* 00EAC 80A22D6C AFA00018 */ sw $zero, 0x0018($sp)
/* 00EB0 80A22D70 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00EB4 80A22D74 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 00EB8 80A22D78 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
/* 00EBC 80A22D7C 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00EC0 80A22D80 24072887 */ addiu $a3, $zero, 0x2887 ## $a3 = 00002887
/* 00EC4 80A22D84 8FA400E8 */ lw $a0, 0x00E8($sp)
/* 00EC8 80A22D88 0C288894 */ jal func_80A22250
/* 00ECC 80A22D8C 03C02825 */ or $a1, $s8, $zero ## $a1 = 00000000
/* 00ED0 80A22D90 8FAA00E8 */ lw $t2, 0x00E8($sp)
/* 00ED4 80A22D94 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
/* 00ED8 80A22D98 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00EDC 80A22D9C A5490156 */ sh $t1, 0x0156($t2) ## 00000156
/* 00EE0 80A22DA0 8FAC00E8 */ lw $t4, 0x00E8($sp)
/* 00EE4 80A22DA4 3C0D80A2 */ lui $t5, %hi(func_80A22E00) ## $t5 = 80A20000
/* 00EE8 80A22DA8 25AD2E00 */ addiu $t5, $t5, %lo(func_80A22E00) ## $t5 = 80A22E00
/* 00EEC 80A22DAC A58B015A */ sh $t3, 0x015A($t4) ## 0000015A
/* 00EF0 80A22DB0 8FAE00E8 */ lw $t6, 0x00E8($sp)
/* 00EF4 80A22DB4 ADCD014C */ sw $t5, 0x014C($t6) ## 0000014C
.L80A22DB8:
/* 00EF8 80A22DB8 8FBF009C */ lw $ra, 0x009C($sp)
/* 00EFC 80A22DBC D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 00F00 80A22DC0 D7B60050 */ ldc1 $f22, 0x0050($sp)
/* 00F04 80A22DC4 D7B80058 */ ldc1 $f24, 0x0058($sp)
/* 00F08 80A22DC8 D7BA0060 */ ldc1 $f26, 0x0060($sp)
/* 00F0C 80A22DCC D7BC0068 */ ldc1 $f28, 0x0068($sp)
/* 00F10 80A22DD0 D7BE0070 */ ldc1 $f30, 0x0070($sp)
/* 00F14 80A22DD4 8FB00078 */ lw $s0, 0x0078($sp)
/* 00F18 80A22DD8 8FB1007C */ lw $s1, 0x007C($sp)
/* 00F1C 80A22DDC 8FB20080 */ lw $s2, 0x0080($sp)
/* 00F20 80A22DE0 8FB30084 */ lw $s3, 0x0084($sp)
/* 00F24 80A22DE4 8FB40088 */ lw $s4, 0x0088($sp)
/* 00F28 80A22DE8 8FB5008C */ lw $s5, 0x008C($sp)
/* 00F2C 80A22DEC 8FB60090 */ lw $s6, 0x0090($sp)
/* 00F30 80A22DF0 8FB70094 */ lw $s7, 0x0094($sp)
/* 00F34 80A22DF4 8FBE0098 */ lw $s8, 0x0098($sp)
/* 00F38 80A22DF8 03E00008 */ jr $ra
/* 00F3C 80A22DFC 27BD00E8 */ addiu $sp, $sp, 0x00E8 ## $sp = 00000000

View file

@ -1,15 +0,0 @@
glabel func_80A22E00
/* 00F40 80A22E00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00F44 80A22E04 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F48 80A22E08 AFA5001C */ sw $a1, 0x001C($sp)
/* 00F4C 80A22E0C 848E0156 */ lh $t6, 0x0156($a0) ## 00000156
/* 00F50 80A22E10 55C00004 */ bnel $t6, $zero, .L80A22E24
/* 00F54 80A22E14 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00F58 80A22E18 0C00B55C */ jal Actor_Kill
/* 00F5C 80A22E1C 00000000 */ nop
/* 00F60 80A22E20 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A22E24:
/* 00F64 80A22E24 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00F68 80A22E28 03E00008 */ jr $ra
/* 00F6C 80A22E2C 00000000 */ nop

View file

@ -1,67 +0,0 @@
.rdata
glabel D_80A23A50
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23A64
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23A78
.asciz "../z_en_g_switch.c"
.balign 4
.text
glabel func_80A22FDC
/* 0111C 80A22FDC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 01120 80A22FE0 AFBF001C */ sw $ra, 0x001C($sp)
/* 01124 80A22FE4 AFB00018 */ sw $s0, 0x0018($sp)
/* 01128 80A22FE8 AFA5004C */ sw $a1, 0x004C($sp)
/* 0112C 80A22FEC 848E015A */ lh $t6, 0x015A($a0) ## 0000015A
/* 01130 80A22FF0 3C0680A2 */ lui $a2, %hi(D_80A23A50) ## $a2 = 80A20000
/* 01134 80A22FF4 24C63A50 */ addiu $a2, $a2, %lo(D_80A23A50) ## $a2 = 80A23A50
/* 01138 80A22FF8 15C00026 */ bne $t6, $zero, .L80A23094
/* 0113C 80A22FFC 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFE4
/* 01140 80A23000 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01144 80A23004 24070396 */ addiu $a3, $zero, 0x0396 ## $a3 = 00000396
/* 01148 80A23008 0C031AB1 */ jal Graph_OpenDisps
/* 0114C 80A2300C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01150 80A23010 8FB8004C */ lw $t8, 0x004C($sp)
/* 01154 80A23014 0C024F46 */ jal func_80093D18
/* 01158 80A23018 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 0115C 80A2301C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01160 80A23020 3C08DA38 */ lui $t0, 0xDA38 ## $t0 = DA380000
/* 01164 80A23024 35080003 */ ori $t0, $t0, 0x0003 ## $t0 = DA380003
/* 01168 80A23028 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0116C 80A2302C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 01170 80A23030 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 01174 80A23034 8FA9004C */ lw $t1, 0x004C($sp)
/* 01178 80A23038 3C0580A2 */ lui $a1, %hi(D_80A23A64) ## $a1 = 80A20000
/* 0117C 80A2303C 24A53A64 */ addiu $a1, $a1, %lo(D_80A23A64) ## $a1 = 80A23A64
/* 01180 80A23040 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
/* 01184 80A23044 2406039D */ addiu $a2, $zero, 0x039D ## $a2 = 0000039D
/* 01188 80A23048 0C0346A2 */ jal Matrix_NewMtx
/* 0118C 80A2304C AFA20028 */ sw $v0, 0x0028($sp)
/* 01190 80A23050 8FA30028 */ lw $v1, 0x0028($sp)
/* 01194 80A23054 3C0C0600 */ lui $t4, 0x0600 ## $t4 = 06000000
/* 01198 80A23058 258C17C0 */ addiu $t4, $t4, 0x17C0 ## $t4 = 060017C0
/* 0119C 80A2305C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 011A0 80A23060 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 011A4 80A23064 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
/* 011A8 80A23068 3C0680A2 */ lui $a2, %hi(D_80A23A78) ## $a2 = 80A20000
/* 011AC 80A2306C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 011B0 80A23070 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 011B4 80A23074 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 011B8 80A23078 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 011BC 80A2307C 8FAD004C */ lw $t5, 0x004C($sp)
/* 011C0 80A23080 24C63A78 */ addiu $a2, $a2, %lo(D_80A23A78) ## $a2 = 80A23A78
/* 011C4 80A23084 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFE4
/* 011C8 80A23088 240703A0 */ addiu $a3, $zero, 0x03A0 ## $a3 = 000003A0
/* 011CC 80A2308C 0C031AD5 */ jal Graph_CloseDisps
/* 011D0 80A23090 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000
.L80A23094:
/* 011D4 80A23094 8FBF001C */ lw $ra, 0x001C($sp)
/* 011D8 80A23098 8FB00018 */ lw $s0, 0x0018($sp)
/* 011DC 80A2309C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 011E0 80A230A0 03E00008 */ jr $ra
/* 011E4 80A230A4 00000000 */ nop

View file

@ -1,104 +0,0 @@
.rdata
glabel D_80A23A8C
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23AA0
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23AB4
.asciz "../z_en_g_switch.c"
.balign 4
.text
glabel func_80A230A8
/* 011E8 80A230A8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 011EC 80A230AC AFBF001C */ sw $ra, 0x001C($sp)
/* 011F0 80A230B0 AFB10018 */ sw $s1, 0x0018($sp)
/* 011F4 80A230B4 AFB00014 */ sw $s0, 0x0014($sp)
/* 011F8 80A230B8 AFA40050 */ sw $a0, 0x0050($sp)
/* 011FC 80A230BC 848F015A */ lh $t7, 0x015A($a0) ## 0000015A
/* 01200 80A230C0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01204 80A230C4 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 01208 80A230C8 15E00041 */ bne $t7, $zero, .L80A231D0
/* 0120C 80A230CC 3C0680A2 */ lui $a2, %hi(D_80A23A8C) ## $a2 = 80A20000
/* 01210 80A230D0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01214 80A230D4 24C63A8C */ addiu $a2, $a2, %lo(D_80A23A8C) ## $a2 = 80A23A8C
/* 01218 80A230D8 240703B7 */ addiu $a3, $zero, 0x03B7 ## $a3 = 000003B7
/* 0121C 80A230DC 0C031AB1 */ jal Graph_OpenDisps
/* 01220 80A230E0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01224 80A230E4 0C024F46 */ jal func_80093D18
/* 01228 80A230E8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 0122C 80A230EC 8FA40050 */ lw $a0, 0x0050($sp)
/* 01230 80A230F0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01234 80A230F4 0C00BAF3 */ jal func_8002EBCC
/* 01238 80A230F8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 0123C 80A230FC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01240 80A23100 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 01244 80A23104 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 01248 80A23108 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0124C 80A2310C AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 01250 80A23110 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01254 80A23114 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01258 80A23118 3C0580A2 */ lui $a1, %hi(D_80A23AA0) ## $a1 = 80A20000
/* 0125C 80A2311C 24A53AA0 */ addiu $a1, $a1, %lo(D_80A23AA0) ## $a1 = 80A23AA0
/* 01260 80A23120 240603BD */ addiu $a2, $zero, 0x03BD ## $a2 = 000003BD
/* 01264 80A23124 0C0346A2 */ jal Matrix_NewMtx
/* 01268 80A23128 AFA20030 */ sw $v0, 0x0030($sp)
/* 0126C 80A2312C 8FA30030 */ lw $v1, 0x0030($sp)
/* 01270 80A23130 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 01274 80A23134 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020
/* 01278 80A23138 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 0127C 80A2313C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01280 80A23140 3C0480A2 */ lui $a0, %hi(D_80A2375C) ## $a0 = 80A20000
/* 01284 80A23144 3C198016 */ lui $t9, %hi(gSegments)
/* 01288 80A23148 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 0128C 80A2314C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
/* 01290 80A23150 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 01294 80A23154 8FAA0050 */ lw $t2, 0x0050($sp)
/* 01298 80A23158 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 0129C 80A2315C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 012A0 80A23160 854B0158 */ lh $t3, 0x0158($t2) ## 00000158
/* 012A4 80A23164 3C0680A2 */ lui $a2, %hi(D_80A23AB4) ## $a2 = 80A20000
/* 012A8 80A23168 24C63AB4 */ addiu $a2, $a2, %lo(D_80A23AB4) ## $a2 = 80A23AB4
/* 012AC 80A2316C 000B6080 */ sll $t4, $t3, 2
/* 012B0 80A23170 008C2021 */ addu $a0, $a0, $t4
/* 012B4 80A23174 8C84375C */ lw $a0, %lo(D_80A2375C)($a0)
/* 012B8 80A23178 3C0C0404 */ lui $t4, 0x0404 ## $t4 = 04040000
/* 012BC 80A2317C 258C2440 */ addiu $t4, $t4, 0x2440 ## $t4 = 04042440
/* 012C0 80A23180 00047100 */ sll $t6, $a0, 4
/* 012C4 80A23184 000E7F02 */ srl $t7, $t6, 28
/* 012C8 80A23188 000FC080 */ sll $t8, $t7, 2
/* 012CC 80A2318C 0338C821 */ addu $t9, $t9, $t8
/* 012D0 80A23190 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* 012D4 80A23194 00816824 */ and $t5, $a0, $at
/* 012D8 80A23198 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 012DC 80A2319C 01B94021 */ addu $t0, $t5, $t9
/* 012E0 80A231A0 01014821 */ addu $t1, $t0, $at
/* 012E4 80A231A4 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 012E8 80A231A8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 012EC 80A231AC 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
/* 012F0 80A231B0 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 012F4 80A231B4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 012F8 80A231B8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 012FC 80A231BC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 01300 80A231C0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 01304 80A231C4 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 01308 80A231C8 0C031AD5 */ jal Graph_CloseDisps
/* 0130C 80A231CC 240703C1 */ addiu $a3, $zero, 0x03C1 ## $a3 = 000003C1
.L80A231D0:
/* 01310 80A231D0 8FAE0050 */ lw $t6, 0x0050($sp)
/* 01314 80A231D4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01318 80A231D8 85CF0150 */ lh $t7, 0x0150($t6) ## 00000150
/* 0131C 80A231DC 01C02025 */ or $a0, $t6, $zero ## $a0 = 00000000
/* 01320 80A231E0 55E10004 */ bnel $t7, $at, .L80A231F4
/* 01324 80A231E4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01328 80A231E8 0C288D35 */ jal func_80A234D4
/* 0132C 80A231EC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01330 80A231F0 8FBF001C */ lw $ra, 0x001C($sp)
.L80A231F4:
/* 01334 80A231F4 8FB00014 */ lw $s0, 0x0014($sp)
/* 01338 80A231F8 8FB10018 */ lw $s1, 0x0018($sp)
/* 0133C 80A231FC 03E00008 */ jr $ra
/* 01340 80A23200 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,81 +0,0 @@
.late_rodata
glabel D_80A23B18
.word 0x464B2000
glabel D_80A23B1C
.word 0x477FFF00
.text
glabel func_80A23204
/* 01344 80A23204 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 01348 80A23208 AFBF001C */ sw $ra, 0x001C($sp)
/* 0134C 80A2320C AFB00018 */ sw $s0, 0x0018($sp)
/* 01350 80A23210 AFA60050 */ sw $a2, 0x0050($sp)
/* 01354 80A23214 AFA70054 */ sw $a3, 0x0054($sp)
/* 01358 80A23218 8483015C */ lh $v1, 0x015C($a0) ## 0000015C
/* 0135C 80A2321C 00073C00 */ sll $a3, $a3, 16
/* 01360 80A23220 00063400 */ sll $a2, $a2, 16
/* 01364 80A23224 00063403 */ sra $a2, $a2, 16
/* 01368 80A23228 00073C03 */ sra $a3, $a3, 16
/* 0136C 80A2322C 249001C8 */ addiu $s0, $a0, 0x01C8 ## $s0 = 000001C8
/* 01370 80A23230 18600033 */ blez $v1, .L80A23300
/* 01374 80A23234 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A23238:
/* 01378 80A23238 920E0012 */ lbu $t6, 0x0012($s0) ## 000001DA
/* 0137C 80A2323C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 01380 80A23240 00021400 */ sll $v0, $v0, 16
/* 01384 80A23244 15C0002B */ bne $t6, $zero, .L80A232F4
/* 01388 80A23248 00021403 */ sra $v0, $v0, 16
/* 0138C 80A2324C 8CB80000 */ lw $t8, 0x0000($a1) ## 00000000
/* 01390 80A23250 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01394 80A23254 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01398 80A23258 AE180000 */ sw $t8, 0x0000($s0) ## 000001C8
/* 0139C 80A2325C 8CAF0004 */ lw $t7, 0x0004($a1) ## 00000004
/* 013A0 80A23260 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 013A4 80A23264 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00
/* 013A8 80A23268 AE0F0004 */ sw $t7, 0x0004($s0) ## 000001CC
/* 013AC 80A2326C 8CB80008 */ lw $t8, 0x0008($a1) ## 00000008
/* 013B0 80A23270 A606000C */ sh $a2, 0x000C($s0) ## 000001D4
/* 013B4 80A23274 A6070010 */ sh $a3, 0x0010($s0) ## 000001D8
/* 013B8 80A23278 A619000E */ sh $t9, 0x000E($s0) ## 000001D6
/* 013BC 80A2327C E6000020 */ swc1 $f0, 0x0020($s0) ## 000001E8
/* 013C0 80A23280 E6000024 */ swc1 $f0, 0x0024($s0) ## 000001EC
/* 013C4 80A23284 E6000028 */ swc1 $f0, 0x0028($s0) ## 000001F0
/* 013C8 80A23288 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 013CC 80A2328C AE180008 */ sw $t8, 0x0008($s0) ## 000001D0
/* 013D0 80A23290 3C0180A2 */ lui $at, %hi(D_80A23B18) ## $at = 80A20000
/* 013D4 80A23294 C4243B18 */ lwc1 $f4, %lo(D_80A23B18)($at)
/* 013D8 80A23298 3C0180A2 */ lui $at, %hi(D_80A23B1C) ## $at = 80A20000
/* 013DC 80A2329C C42C3B1C */ lwc1 $f12, %lo(D_80A23B1C)($at)
/* 013E0 80A232A0 46040181 */ sub.s $f6, $f0, $f4
/* 013E4 80A232A4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 013E8 80A232A8 E7A60030 */ swc1 $f6, 0x0030($sp)
/* 013EC 80A232AC 46000306 */ mov.s $f12, $f0
/* 013F0 80A232B0 0C034348 */ jal Matrix_RotateY
/* 013F4 80A232B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 013F8 80A232B8 C7AC0030 */ lwc1 $f12, 0x0030($sp)
/* 013FC 80A232BC 0C0342DC */ jal Matrix_RotateX
/* 01400 80A232C0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01404 80A232C4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01408 80A232C8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0140C 80A232CC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 01410 80A232D0 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC
/* 01414 80A232D4 26050014 */ addiu $a1, $s0, 0x0014 ## $a1 = 000001DC
/* 01418 80A232D8 E7A00038 */ swc1 $f0, 0x0038($sp)
/* 0141C 80A232DC E7A00034 */ swc1 $f0, 0x0034($sp)
/* 01420 80A232E0 0C0346BD */ jal Matrix_MultVec3f
/* 01424 80A232E4 E7A8003C */ swc1 $f8, 0x003C($sp)
/* 01428 80A232E8 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 0142C 80A232EC 10000004 */ beq $zero, $zero, .L80A23300
/* 01430 80A232F0 A2080012 */ sb $t0, 0x0012($s0) ## 000001DA
.L80A232F4:
/* 01434 80A232F4 0043082A */ slt $at, $v0, $v1
/* 01438 80A232F8 1420FFCF */ bne $at, $zero, .L80A23238
/* 0143C 80A232FC 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 000001F4
.L80A23300:
/* 01440 80A23300 8FBF001C */ lw $ra, 0x001C($sp)
/* 01444 80A23304 8FB00018 */ lw $s0, 0x0018($sp)
/* 01448 80A23308 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 0144C 80A2330C 03E00008 */ jr $ra
/* 01450 80A23310 00000000 */ nop

View file

@ -1,131 +0,0 @@
.late_rodata
glabel D_80A23B20
.float 0.3
.text
glabel func_80A23314
/* 01454 80A23314 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01458 80A23318 AFBF0054 */ sw $ra, 0x0054($sp)
/* 0145C 80A2331C AFB20050 */ sw $s2, 0x0050($sp)
/* 01460 80A23320 AFB1004C */ sw $s1, 0x004C($sp)
/* 01464 80A23324 AFB00048 */ sw $s0, 0x0048($sp)
/* 01468 80A23328 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 0146C 80A2332C F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 01470 80A23330 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 01474 80A23334 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 01478 80A23338 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 0147C 80A2333C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 01480 80A23340 AFA5005C */ sw $a1, 0x005C($sp)
/* 01484 80A23344 8483015C */ lh $v1, 0x015C($a0) ## 0000015C
/* 01488 80A23348 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 0148C 80A2334C 249001C8 */ addiu $s0, $a0, 0x01C8 ## $s0 = 000001C8
/* 01490 80A23350 18600054 */ blez $v1, .L80A234A4
/* 01494 80A23354 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 01498 80A23358 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 0149C 80A2335C 4481F000 */ mtc1 $at, $f30 ## $f30 = 30.00
/* 014A0 80A23360 3C0180A2 */ lui $at, %hi(D_80A23B20) ## $at = 80A20000
/* 014A4 80A23364 C43C3B20 */ lwc1 $f28, %lo(D_80A23B20)($at)
/* 014A8 80A23368 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 014AC 80A2336C 4481D000 */ mtc1 $at, $f26 ## $f26 = 15.00
/* 014B0 80A23370 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 014B4 80A23374 4481C000 */ mtc1 $at, $f24 ## $f24 = 10.00
/* 014B8 80A23378 00000000 */ nop
.L80A2337C:
/* 014BC 80A2337C 920E0012 */ lbu $t6, 0x0012($s0) ## 000001DA
/* 014C0 80A23380 51C00043 */ beql $t6, $zero, .L80A23490
/* 014C4 80A23384 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 014C8 80A23388 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 014CC 80A2338C 00000000 */ nop
/* 014D0 80A23390 46180182 */ mul.s $f6, $f0, $f24
/* 014D4 80A23394 C6040020 */ lwc1 $f4, 0x0020($s0) ## 000001E8
/* 014D8 80A23398 461A3200 */ add.s $f8, $f6, $f26
/* 014DC 80A2339C 46082280 */ add.s $f10, $f4, $f8
/* 014E0 80A233A0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 014E4 80A233A4 E60A0020 */ swc1 $f10, 0x0020($s0) ## 000001E8
/* 014E8 80A233A8 46180482 */ mul.s $f18, $f0, $f24
/* 014EC 80A233AC C6100024 */ lwc1 $f16, 0x0024($s0) ## 000001EC
/* 014F0 80A233B0 461A9180 */ add.s $f6, $f18, $f26
/* 014F4 80A233B4 46068100 */ add.s $f4, $f16, $f6
/* 014F8 80A233B8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 014FC 80A233BC E6040024 */ swc1 $f4, 0x0024($s0) ## 000001EC
/* 01500 80A233C0 46180282 */ mul.s $f10, $f0, $f24
/* 01504 80A233C4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 000001F0
/* 01508 80A233C8 C6060000 */ lwc1 $f6, 0x0000($s0) ## 000001C8
/* 0150C 80A233CC C6040014 */ lwc1 $f4, 0x0014($s0) ## 000001DC
/* 01510 80A233D0 4406E000 */ mfc1 $a2, $f28
/* 01514 80A233D4 4407F000 */ mfc1 $a3, $f30
/* 01518 80A233D8 46043080 */ add.s $f2, $f6, $f4
/* 0151C 80A233DC 02002025 */ or $a0, $s0, $zero ## $a0 = 000001C8
/* 01520 80A233E0 461A5480 */ add.s $f18, $f10, $f26
/* 01524 80A233E4 C60A0004 */ lwc1 $f10, 0x0004($s0) ## 000001CC
/* 01528 80A233E8 44051000 */ mfc1 $a1, $f2
/* 0152C 80A233EC 46124400 */ add.s $f16, $f8, $f18
/* 01530 80A233F0 C6080018 */ lwc1 $f8, 0x0018($s0) ## 000001E0
/* 01534 80A233F4 C6120008 */ lwc1 $f18, 0x0008($s0) ## 000001D0
/* 01538 80A233F8 E6100028 */ swc1 $f16, 0x0028($s0) ## 000001F0
/* 0153C 80A233FC C610001C */ lwc1 $f16, 0x001C($s0) ## 000001E4
/* 01540 80A23400 46085500 */ add.s $f20, $f10, $f8
/* 01544 80A23404 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01548 80A23408 46109580 */ add.s $f22, $f18, $f16
/* 0154C 80A2340C 4405A000 */ mfc1 $a1, $f20
/* 01550 80A23410 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01554 80A23414 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 01558 80A23418 26040004 */ addiu $a0, $s0, 0x0004 ## $a0 = 000001CC
/* 0155C 80A2341C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01560 80A23420 3C07437A */ lui $a3, 0x437A ## $a3 = 437A0000
/* 01564 80A23424 4405B000 */ mfc1 $a1, $f22
/* 01568 80A23428 4406E000 */ mfc1 $a2, $f28
/* 0156C 80A2342C 4407F000 */ mfc1 $a3, $f30
/* 01570 80A23430 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01574 80A23434 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 000001D0
/* 01578 80A23438 3C063F66 */ lui $a2, 0x3F66 ## $a2 = 3F660000
/* 0157C 80A2343C 34C66666 */ ori $a2, $a2, 0x6666 ## $a2 = 3F666666
/* 01580 80A23440 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 000001E0
/* 01584 80A23444 3C05C1A0 */ lui $a1, 0xC1A0 ## $a1 = C1A00000
/* 01588 80A23448 0C01E107 */ jal Math_SmoothScaleMaxF
/* 0158C 80A2344C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 01590 80A23450 8602000E */ lh $v0, 0x000E($s0) ## 000001D6
/* 01594 80A23454 10400004 */ beq $v0, $zero, .L80A23468
/* 01598 80A23458 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 0159C 80A2345C A60F000E */ sh $t7, 0x000E($s0) ## 000001D6
/* 015A0 80A23460 1000000A */ beq $zero, $zero, .L80A2348C
/* 015A4 80A23464 8623015C */ lh $v1, 0x015C($s1) ## 0000015C
.L80A23468:
/* 015A8 80A23468 8602000C */ lh $v0, 0x000C($s0) ## 000001D4
/* 015AC 80A2346C 2841000A */ slti $at, $v0, 0x000A
/* 015B0 80A23470 10200004 */ beq $at, $zero, .L80A23484
/* 015B4 80A23474 2458FFFE */ addiu $t8, $v0, 0xFFFE ## $t8 = FFFFFFFE
/* 015B8 80A23478 A2000012 */ sb $zero, 0x0012($s0) ## 000001DA
/* 015BC 80A2347C 10000003 */ beq $zero, $zero, .L80A2348C
/* 015C0 80A23480 8623015C */ lh $v1, 0x015C($s1) ## 0000015C
.L80A23484:
/* 015C4 80A23484 A618000C */ sh $t8, 0x000C($s0) ## 000001D4
/* 015C8 80A23488 8623015C */ lh $v1, 0x015C($s1) ## 0000015C
.L80A2348C:
/* 015CC 80A2348C 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002
.L80A23490:
/* 015D0 80A23490 00129400 */ sll $s2, $s2, 16
/* 015D4 80A23494 00129403 */ sra $s2, $s2, 16
/* 015D8 80A23498 0243082A */ slt $at, $s2, $v1
/* 015DC 80A2349C 1420FFB7 */ bne $at, $zero, .L80A2337C
/* 015E0 80A234A0 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 000001F4
.L80A234A4:
/* 015E4 80A234A4 8FBF0054 */ lw $ra, 0x0054($sp)
/* 015E8 80A234A8 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 015EC 80A234AC D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 015F0 80A234B0 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 015F4 80A234B4 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 015F8 80A234B8 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 015FC 80A234BC D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 01600 80A234C0 8FB00048 */ lw $s0, 0x0048($sp)
/* 01604 80A234C4 8FB1004C */ lw $s1, 0x004C($sp)
/* 01608 80A234C8 8FB20050 */ lw $s2, 0x0050($sp)
/* 0160C 80A234CC 03E00008 */ jr $ra
/* 01610 80A234D0 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View file

@ -1,153 +0,0 @@
.rdata
glabel D_80A23AC8
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23ADC
.asciz "../z_en_g_switch.c"
.balign 4
glabel D_80A23AF0
.asciz "../z_en_g_switch.c"
.balign 4
.late_rodata
glabel D_80A23B24
.float 10000.0
.text
glabel func_80A234D4
/* 01614 80A234D4 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 01618 80A234D8 AFBF004C */ sw $ra, 0x004C($sp)
/* 0161C 80A234DC AFBE0048 */ sw $s8, 0x0048($sp)
/* 01620 80A234E0 AFB70044 */ sw $s7, 0x0044($sp)
/* 01624 80A234E4 AFB60040 */ sw $s6, 0x0040($sp)
/* 01628 80A234E8 AFB5003C */ sw $s5, 0x003C($sp)
/* 0162C 80A234EC AFB40038 */ sw $s4, 0x0038($sp)
/* 01630 80A234F0 AFB30034 */ sw $s3, 0x0034($sp)
/* 01634 80A234F4 AFB20030 */ sw $s2, 0x0030($sp)
/* 01638 80A234F8 AFB1002C */ sw $s1, 0x002C($sp)
/* 0163C 80A234FC AFB00028 */ sw $s0, 0x0028($sp)
/* 01640 80A23500 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 01644 80A23504 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 01648 80A23508 8CB20000 */ lw $s2, 0x0000($a1) ## 00000000
/* 0164C 80A2350C 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
/* 01650 80A23510 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
/* 01654 80A23514 249001C8 */ addiu $s0, $a0, 0x01C8 ## $s0 = 000001C8
/* 01658 80A23518 3C0680A2 */ lui $a2, %hi(D_80A23AC8) ## $a2 = 80A20000
/* 0165C 80A2351C 24C63AC8 */ addiu $a2, $a2, %lo(D_80A23AC8) ## $a2 = 80A23AC8
/* 01660 80A23520 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
/* 01664 80A23524 24070431 */ addiu $a3, $zero, 0x0431 ## $a3 = 00000431
/* 01668 80A23528 0C031AB1 */ jal Graph_OpenDisps
/* 0166C 80A2352C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 01670 80A23530 0C024F46 */ jal func_80093D18
/* 01674 80A23534 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 01678 80A23538 86C4015C */ lh $a0, 0x015C($s6) ## 0000015C
/* 0167C 80A2353C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 01680 80A23540 3C0180A2 */ lui $at, %hi(D_80A23B24) ## $at = 80A20000
/* 01684 80A23544 18800050 */ blez $a0, .L80A23688
/* 01688 80A23548 3C17DA38 */ lui $s7, 0xDA38 ## $s7 = DA380000
/* 0168C 80A2354C 3C1E80A2 */ lui $s8, %hi(D_80A23ADC) ## $s8 = 80A20000
/* 01690 80A23550 27DE3ADC */ addiu $s8, $s8, %lo(D_80A23ADC) ## $s8 = 80A23ADC
/* 01694 80A23554 C4363B24 */ lwc1 $f22, %lo(D_80A23B24)($at)
/* 01698 80A23558 36F70003 */ ori $s7, $s7, 0x0003 ## $s7 = DA380003
.L80A2355C:
/* 0169C 80A2355C 920E0012 */ lbu $t6, 0x0012($s0) ## 000001DA
/* 016A0 80A23560 51C00044 */ beql $t6, $zero, .L80A23674
/* 016A4 80A23564 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 016A8 80A23568 860F000C */ lh $t7, 0x000C($s0) ## 000001D4
/* 016AC 80A2356C 3C140404 */ lui $s4, 0x0404 ## $s4 = 04040000
/* 016B0 80A23570 26942440 */ addiu $s4, $s4, 0x2440 ## $s4 = 04042440
/* 016B4 80A23574 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 016B8 80A23578 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 000001C8
/* 016BC 80A2357C C60E0004 */ lwc1 $f14, 0x0004($s0) ## 000001CC
/* 016C0 80A23580 468021A0 */ cvt.s.w $f6, $f4
/* 016C4 80A23584 8E060008 */ lw $a2, 0x0008($s0) ## 000001D0
/* 016C8 80A23588 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 016CC 80A2358C 0C034261 */ jal Matrix_Translate
/* 016D0 80A23590 46163503 */ div.s $f20, $f6, $f22
/* 016D4 80A23594 4406A000 */ mfc1 $a2, $f20
/* 016D8 80A23598 4600A306 */ mov.s $f12, $f20
/* 016DC 80A2359C 4600A386 */ mov.s $f14, $f20
/* 016E0 80A235A0 0C0342A3 */ jal Matrix_Scale
/* 016E4 80A235A4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 016E8 80A235A8 C60C0020 */ lwc1 $f12, 0x0020($s0) ## 000001E8
/* 016EC 80A235AC 0C0342DC */ jal Matrix_RotateX
/* 016F0 80A235B0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 016F4 80A235B4 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 000001EC
/* 016F8 80A235B8 0C034348 */ jal Matrix_RotateY
/* 016FC 80A235BC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01700 80A235C0 C60C0028 */ lwc1 $f12, 0x0028($s0) ## 000001F0
/* 01704 80A235C4 0C0343B5 */ jal Matrix_RotateZ
/* 01708 80A235C8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0170C 80A235CC 8E4202C0 */ lw $v0, 0x02C0($s2) ## 000002C0
/* 01710 80A235D0 03C02825 */ or $a1, $s8, $zero ## $a1 = 80A23ADC
/* 01714 80A235D4 24060440 */ addiu $a2, $zero, 0x0440 ## $a2 = 00000440
/* 01718 80A235D8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0171C 80A235DC AE5802C0 */ sw $t8, 0x02C0($s2) ## 000002C0
/* 01720 80A235E0 AC570000 */ sw $s7, 0x0000($v0) ## 00000000
/* 01724 80A235E4 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 01728 80A235E8 0C0346A2 */ jal Matrix_NewMtx
/* 0172C 80A235EC 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 01730 80A235F0 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
/* 01734 80A235F4 8E4202C0 */ lw $v0, 0x02C0($s2) ## 000002C0
/* 01738 80A235F8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 0173C 80A235FC 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020
/* 01740 80A23600 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01744 80A23604 AE5902C0 */ sw $t9, 0x02C0($s2) ## 000002C0
/* 01748 80A23608 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 0174C 80A2360C 86090010 */ lh $t1, 0x0010($s0) ## 000001D8
/* 01750 80A23610 3C0480A2 */ lui $a0, %hi(D_80A2375C) ## $a0 = 80A20000
/* 01754 80A23614 3C0F8016 */ lui $t7, %hi(gSegments)
/* 01758 80A23618 00095080 */ sll $t2, $t1, 2
/* 0175C 80A2361C 008A2021 */ addu $a0, $a0, $t2
/* 01760 80A23620 8C84375C */ lw $a0, %lo(D_80A2375C)($a0)
/* 01764 80A23624 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01768 80A23628 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 0176C 80A2362C 00046100 */ sll $t4, $a0, 4
/* 01770 80A23630 000C6F02 */ srl $t5, $t4, 28
/* 01774 80A23634 000D7080 */ sll $t6, $t5, 2
/* 01778 80A23638 01EE7821 */ addu $t7, $t7, $t6
/* 0177C 80A2363C 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7)
/* 01780 80A23640 00815824 */ and $t3, $a0, $at
/* 01784 80A23644 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01788 80A23648 016FC021 */ addu $t8, $t3, $t7
/* 0178C 80A2364C 0301C821 */ addu $t9, $t8, $at
/* 01790 80A23650 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 01794 80A23654 8E4202C0 */ lw $v0, 0x02C0($s2) ## 000002C0
/* 01798 80A23658 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 0179C 80A2365C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 017A0 80A23660 AE4802C0 */ sw $t0, 0x02C0($s2) ## 000002C0
/* 017A4 80A23664 AC540004 */ sw $s4, 0x0004($v0) ## 00000004
/* 017A8 80A23668 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 017AC 80A2366C 86C4015C */ lh $a0, 0x015C($s6) ## 0000015C
/* 017B0 80A23670 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
.L80A23674:
/* 017B4 80A23674 00139C00 */ sll $s3, $s3, 16
/* 017B8 80A23678 00139C03 */ sra $s3, $s3, 16
/* 017BC 80A2367C 0264082A */ slt $at, $s3, $a0
/* 017C0 80A23680 1420FFB6 */ bne $at, $zero, .L80A2355C
/* 017C4 80A23684 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 000001F4
.L80A23688:
/* 017C8 80A23688 3C0680A2 */ lui $a2, %hi(D_80A23AF0) ## $a2 = 80A20000
/* 017CC 80A2368C 24C63AF0 */ addiu $a2, $a2, %lo(D_80A23AF0) ## $a2 = 80A23AF0
/* 017D0 80A23690 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
/* 017D4 80A23694 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 017D8 80A23698 0C031AD5 */ jal Graph_CloseDisps
/* 017DC 80A2369C 24070447 */ addiu $a3, $zero, 0x0447 ## $a3 = 00000447
/* 017E0 80A236A0 8FBF004C */ lw $ra, 0x004C($sp)
/* 017E4 80A236A4 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 017E8 80A236A8 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 017EC 80A236AC 8FB00028 */ lw $s0, 0x0028($sp)
/* 017F0 80A236B0 8FB1002C */ lw $s1, 0x002C($sp)
/* 017F4 80A236B4 8FB20030 */ lw $s2, 0x0030($sp)
/* 017F8 80A236B8 8FB30034 */ lw $s3, 0x0034($sp)
/* 017FC 80A236BC 8FB40038 */ lw $s4, 0x0038($sp)
/* 01800 80A236C0 8FB5003C */ lw $s5, 0x003C($sp)
/* 01804 80A236C4 8FB60040 */ lw $s6, 0x0040($sp)
/* 01808 80A236C8 8FB70044 */ lw $s7, 0x0044($sp)
/* 0180C 80A236CC 8FBE0048 */ lw $s8, 0x0048($sp)
/* 01810 80A236D0 03E00008 */ jr $ra
/* 01814 80A236D4 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
/* 01818 80A236D8 00000000 */ nop
/* 0181C 80A236DC 00000000 */ nop

View file

@ -1,4 +0,0 @@
glabel EnSyatekiItm_Destroy
/* 0017C 80B0F82C AFA40000 */ sw $a0, 0x0000($sp)
/* 00180 80B0F830 03E00008 */ jr $ra
/* 00184 80B0F834 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,116 +0,0 @@
.rdata
glabel D_80B103E0
.asciz "\x1b[32m \n\x1b[m"
.balign 4
glabel D_80B10408
.asciz "\x1b[33m \n\x1b[m"
.balign 4
.text
glabel EnSyatekiItm_Init
/* 00000 80B0F6B0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 00004 80B0F6B4 3C01430C */ lui $at, 0x430C ## $at = 430C0000
/* 00008 80B0F6B8 44812000 */ mtc1 $at, $f4 ## $f4 = 140.00
/* 0000C 80B0F6BC 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00010 80B0F6C0 44814000 */ mtc1 $at, $f8 ## $f8 = 255.00
/* 00014 80B0F6C4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00018 80B0F6C8 AFB70050 */ sw $s7, 0x0050($sp)
/* 0001C 80B0F6CC AFB40044 */ sw $s4, 0x0044($sp)
/* 00020 80B0F6D0 AFB30040 */ sw $s3, 0x0040($sp)
/* 00024 80B0F6D4 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 00028 80B0F6D8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 0002C 80B0F6DC AFBF0054 */ sw $ra, 0x0054($sp)
/* 00030 80B0F6E0 24B71C24 */ addiu $s7, $a1, 0x1C24 ## $s7 = 00001C24
/* 00034 80B0F6E4 240EC000 */ addiu $t6, $zero, 0xC000 ## $t6 = FFFFC000
/* 00038 80B0F6E8 AFB6004C */ sw $s6, 0x004C($sp)
/* 0003C 80B0F6EC AFB50048 */ sw $s5, 0x0048($sp)
/* 00040 80B0F6F0 AFB2003C */ sw $s2, 0x003C($sp)
/* 00044 80B0F6F4 AFB10038 */ sw $s1, 0x0038($sp)
/* 00048 80B0F6F8 AFB00034 */ sw $s0, 0x0034($sp)
/* 0004C 80B0F6FC AFAE0020 */ sw $t6, 0x0020($sp)
/* 00050 80B0F700 02E02025 */ or $a0, $s7, $zero ## $a0 = 00001C24
/* 00054 80B0F704 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00058 80B0F708 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
/* 0005C 80B0F70C AFA0001C */ sw $zero, 0x001C($sp)
/* 00060 80B0F710 AFA00024 */ sw $zero, 0x0024($sp)
/* 00064 80B0F714 AFA00028 */ sw $zero, 0x0028($sp)
/* 00068 80B0F718 240700C1 */ addiu $a3, $zero, 0x00C1 ## $a3 = 000000C1
/* 0006C 80B0F71C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00070 80B0F720 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00074 80B0F724 0C00C916 */ jal Actor_SpawnAsChild
/* 00078 80B0F728 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 0007C 80B0F72C 14400008 */ bne $v0, $zero, .L80B0F750
/* 00080 80B0F730 AE6201CC */ sw $v0, 0x01CC($s3) ## 000001CC
/* 00084 80B0F734 3C0480B1 */ lui $a0, %hi(D_80B103E0) ## $a0 = 80B10000
/* 00088 80B0F738 0C00084C */ jal osSyncPrintf
/* 0008C 80B0F73C 248403E0 */ addiu $a0, $a0, %lo(D_80B103E0) ## $a0 = 80B103E0
/* 00090 80B0F740 0C00B55C */ jal Actor_Kill
/* 00094 80B0F744 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00098 80B0F748 1000002E */ beq $zero, $zero, .L80B0F804
/* 0009C 80B0F74C 8FBF0054 */ lw $ra, 0x0054($sp)
.L80B0F750:
/* 000A0 80B0F750 3C1080B1 */ lui $s0, %hi(D_80B10350) ## $s0 = 80B10000
/* 000A4 80B0F754 3C1580B1 */ lui $s5, %hi(D_80B1033C) ## $s5 = 80B10000
/* 000A8 80B0F758 26B5033C */ addiu $s5, $s5, %lo(D_80B1033C) ## $s5 = 80B1033C
/* 000AC 80B0F75C 26100350 */ addiu $s0, $s0, %lo(D_80B10350) ## $s0 = 80B10350
/* 000B0 80B0F760 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 000B4 80B0F764 02609025 */ or $s2, $s3, $zero ## $s2 = 00000000
/* 000B8 80B0F768 2416000A */ addiu $s6, $zero, 0x000A ## $s6 = 0000000A
.L80B0F76C:
/* 000BC 80B0F76C C60A0000 */ lwc1 $f10, 0x0000($s0) ## 80B10350
/* 000C0 80B0F770 C6100004 */ lwc1 $f16, 0x0004($s0) ## 80B10354
/* 000C4 80B0F774 C6120008 */ lwc1 $f18, 0x0008($s0) ## 80B10358
/* 000C8 80B0F778 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
/* 000CC 80B0F77C AFAF0028 */ sw $t7, 0x0028($sp)
/* 000D0 80B0F780 02E02025 */ or $a0, $s7, $zero ## $a0 = 00001C24
/* 000D4 80B0F784 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 000D8 80B0F788 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
/* 000DC 80B0F78C 24070131 */ addiu $a3, $zero, 0x0131 ## $a3 = 00000131
/* 000E0 80B0F790 AFA0001C */ sw $zero, 0x001C($sp)
/* 000E4 80B0F794 AFA00020 */ sw $zero, 0x0020($sp)
/* 000E8 80B0F798 AFA00024 */ sw $zero, 0x0024($sp)
/* 000EC 80B0F79C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 000F0 80B0F7A0 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 000F4 80B0F7A4 0C00C916 */ jal Actor_SpawnAsChild
/* 000F8 80B0F7A8 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 000FC 80B0F7AC 14400008 */ bne $v0, $zero, .L80B0F7D0
/* 00100 80B0F7B0 AE42019C */ sw $v0, 0x019C($s2) ## 0000019C
/* 00104 80B0F7B4 3C0480B1 */ lui $a0, %hi(D_80B10408) ## $a0 = 80B10000
/* 00108 80B0F7B8 0C00084C */ jal osSyncPrintf
/* 0010C 80B0F7BC 24840408 */ addiu $a0, $a0, %lo(D_80B10408) ## $a0 = 80B10408
/* 00110 80B0F7C0 0C00B55C */ jal Actor_Kill
/* 00114 80B0F7C4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00118 80B0F7C8 1000000E */ beq $zero, $zero, .L80B0F804
/* 0011C 80B0F7CC 8FBF0054 */ lw $ra, 0x0054($sp)
.L80B0F7D0:
/* 00120 80B0F7D0 0011C040 */ sll $t8, $s1, 1
/* 00124 80B0F7D4 02B8C821 */ addu $t9, $s5, $t8
/* 00128 80B0F7D8 87280000 */ lh $t0, 0x0000($t9) ## 00000000
/* 0012C 80B0F7DC 8E49019C */ lw $t1, 0x019C($s2) ## 0000019C
/* 00130 80B0F7E0 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00134 80B0F7E4 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = 80B1035C
/* 00138 80B0F7E8 26520004 */ addiu $s2, $s2, 0x0004 ## $s2 = 00000004
/* 0013C 80B0F7EC 1636FFDF */ bne $s1, $s6, .L80B0F76C
/* 00140 80B0F7F0 A5280150 */ sh $t0, 0x0150($t1) ## 00000150
/* 00144 80B0F7F4 3C0A80B1 */ lui $t2, %hi(func_80B0F838) ## $t2 = 80B10000
/* 00148 80B0F7F8 254AF838 */ addiu $t2, $t2, %lo(func_80B0F838) ## $t2 = 80B0F838
/* 0014C 80B0F7FC AE6A014C */ sw $t2, 0x014C($s3) ## 0000014C
/* 00150 80B0F800 8FBF0054 */ lw $ra, 0x0054($sp)
.L80B0F804:
/* 00154 80B0F804 8FB00034 */ lw $s0, 0x0034($sp)
/* 00158 80B0F808 8FB10038 */ lw $s1, 0x0038($sp)
/* 0015C 80B0F80C 8FB2003C */ lw $s2, 0x003C($sp)
/* 00160 80B0F810 8FB30040 */ lw $s3, 0x0040($sp)
/* 00164 80B0F814 8FB40044 */ lw $s4, 0x0044($sp)
/* 00168 80B0F818 8FB50048 */ lw $s5, 0x0048($sp)
/* 0016C 80B0F81C 8FB6004C */ lw $s6, 0x004C($sp)
/* 00170 80B0F820 8FB70050 */ lw $s7, 0x0050($sp)
/* 00174 80B0F824 03E00008 */ jr $ra
/* 00178 80B0F828 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View file

@ -1,55 +0,0 @@
glabel EnSyatekiItm_Update
/* 00AA8 80B10158 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00AAC 80B1015C AFBF0044 */ sw $ra, 0x0044($sp)
/* 00AB0 80B10160 AFA5004C */ sw $a1, 0x004C($sp)
/* 00AB4 80B10164 AFA40048 */ sw $a0, 0x0048($sp)
/* 00AB8 80B10168 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
/* 00ABC 80B1016C 0320F809 */ jalr $ra, $t9
/* 00AC0 80B10170 00000000 */ nop
/* 00AC4 80B10174 8FA40048 */ lw $a0, 0x0048($sp)
/* 00AC8 80B10178 3C188016 */ lui $t8, %hi(gGameInfo)
/* 00ACC 80B1017C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00AD0 80B10180 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 00AD4 80B10184 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 00AD8 80B10188 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00ADC 80B1018C 10400002 */ beq $v0, $zero, .L80B10198
/* 00AE0 80B10190 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00AE4 80B10194 A48E0150 */ sh $t6, 0x0150($a0) ## 00000150
.L80B10198:
/* 00AE8 80B10198 84820152 */ lh $v0, 0x0152($a0) ## 00000152
/* 00AEC 80B1019C 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 00AF0 80B101A0 10400002 */ beq $v0, $zero, .L80B101AC
/* 00AF4 80B101A4 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 00AF8 80B101A8 A48F0152 */ sh $t7, 0x0152($a0) ## 00000152
.L80B101AC:
/* 00AFC 80B101AC 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* 00B00 80B101B0 870812D4 */ lh $t0, 0x12D4($t8) ## 801612D4
/* 00B04 80B101B4 51000017 */ beql $t0, $zero, .L80B10214
/* 00B08 80B101B8 8FBF0044 */ lw $ra, 0x0044($sp)
/* 00B0C 80B101BC 84890032 */ lh $t1, 0x0032($a0) ## 00000032
/* 00B10 80B101C0 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024
/* 00B14 80B101C4 C48E0028 */ lwc1 $f14, 0x0028($a0) ## 00000028
/* 00B18 80B101C8 8C86002C */ lw $a2, 0x002C($a0) ## 0000002C
/* 00B1C 80B101CC 84870030 */ lh $a3, 0x0030($a0) ## 00000030
/* 00B20 80B101D0 AFA90010 */ sw $t1, 0x0010($sp)
/* 00B24 80B101D4 848A0034 */ lh $t2, 0x0034($a0) ## 00000034
/* 00B28 80B101D8 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00B2C 80B101DC 8FB9004C */ lw $t9, 0x004C($sp)
/* 00B30 80B101E0 AFAD0034 */ sw $t5, 0x0034($sp)
/* 00B34 80B101E4 AFAC0030 */ sw $t4, 0x0030($sp)
/* 00B38 80B101E8 AFA0002C */ sw $zero, 0x002C($sp)
/* 00B3C 80B101EC AFA00028 */ sw $zero, 0x0028($sp)
/* 00B40 80B101F0 AFAB0024 */ sw $t3, 0x0024($sp)
/* 00B44 80B101F4 AFAA0014 */ sw $t2, 0x0014($sp)
/* 00B48 80B101F8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00B4C 80B101FC E7A0001C */ swc1 $f0, 0x001C($sp)
/* 00B50 80B10200 E7A00020 */ swc1 $f0, 0x0020($sp)
/* 00B54 80B10204 8F2E0000 */ lw $t6, 0x0000($t9) ## 00000000
/* 00B58 80B10208 0C018FA7 */ jal DebugDisplay_AddObject
/* 00B5C 80B1020C AFAE0038 */ sw $t6, 0x0038($sp)
/* 00B60 80B10210 8FBF0044 */ lw $ra, 0x0044($sp)
.L80B10214:
/* 00B64 80B10214 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00B68 80B10218 03E00008 */ jr $ra
/* 00B6C 80B1021C 00000000 */ nop

View file

@ -1,71 +0,0 @@
glabel func_80B0F838
/* 00188 80B0F838 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0018C 80B0F83C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00190 80B0F840 AFA5001C */ sw $a1, 0x001C($sp)
/* 00194 80B0F844 848F0154 */ lh $t7, 0x0154($a0) ## 00000154
/* 00198 80B0F848 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0019C 80B0F84C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 001A0 80B0F850 15E10038 */ bne $t7, $at, .L80B0F934
/* 001A4 80B0F854 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 001A8 80B0F858 3C01C140 */ lui $at, 0xC140 ## $at = C1400000
/* 001AC 80B0F85C 44812000 */ mtc1 $at, $f4 ## $f4 = -12.00
/* 001B0 80B0F860 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 001B4 80B0F864 24187F03 */ addiu $t8, $zero, 0x7F03 ## $t8 = 00007F03
/* 001B8 80B0F868 A44000B8 */ sh $zero, 0x00B8($v0) ## 000000B8
/* 001BC 80B0F86C 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 001C0 80B0F870 844300B8 */ lh $v1, 0x00B8($v0) ## 000000B8
/* 001C4 80B0F874 A45800B6 */ sh $t8, 0x00B6($v0) ## 000000B6
/* 001C8 80B0F878 844600B6 */ lh $a2, 0x00B6($v0) ## 000000B6
/* 001CC 80B0F87C 3C014336 */ lui $at, 0x4336 ## $at = 43360000
/* 001D0 80B0F880 44814000 */ mtc1 $at, $f8 ## $f8 = 182.00
/* 001D4 80B0F884 E4440024 */ swc1 $f4, 0x0024($v0) ## 00000024
/* 001D8 80B0F888 E4460028 */ swc1 $f6, 0x0028($v0) ## 00000028
/* 001DC 80B0F88C A4430034 */ sh $v1, 0x0034($v0) ## 00000034
/* 001E0 80B0F890 A44300B4 */ sh $v1, 0x00B4($v0) ## 000000B4
/* 001E4 80B0F894 A4430030 */ sh $v1, 0x0030($v0) ## 00000030
/* 001E8 80B0F898 A4460032 */ sh $a2, 0x0032($v0) ## 00000032
/* 001EC 80B0F89C A446083C */ sh $a2, 0x083C($v0) ## 0000083C
/* 001F0 80B0F8A0 E448002C */ swc1 $f8, 0x002C($v0) ## 0000002C
/* 001F4 80B0F8A4 AFA70018 */ sw $a3, 0x0018($sp)
/* 001F8 80B0F8A8 8FA4001C */ lw $a0, 0x001C($sp)
/* 001FC 80B0F8AC 0C023BD1 */ jal func_8008EF44
/* 00200 80B0F8B0 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 00204 80B0F8B4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00208 80B0F8B8 3C0E80B1 */ lui $t6, %hi(func_80B0F944) ## $t6 = 80B10000
/* 0020C 80B0F8BC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00210 80B0F8C0 A4E00156 */ sh $zero, 0x0156($a3) ## 00000156
/* 00214 80B0F8C4 84F90156 */ lh $t9, 0x0156($a3) ## 00000156
/* 00218 80B0F8C8 25CEF944 */ addiu $t6, $t6, %lo(func_80B0F944) ## $t6 = 80B0F944
/* 0021C 80B0F8CC 00E01825 */ or $v1, $a3, $zero ## $v1 = 00000000
/* 00220 80B0F8D0 A4F90158 */ sh $t9, 0x0158($a3) ## 00000158
.L80B0F8D4:
/* 00224 80B0F8D4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 00228 80B0F8D8 28410006 */ slti $at, $v0, 0x0006
/* 0022C 80B0F8DC 24630002 */ addiu $v1, $v1, 0x0002 ## $v1 = 00000002
/* 00230 80B0F8E0 1420FFFC */ bne $at, $zero, .L80B0F8D4
/* 00234 80B0F8E4 A4600158 */ sh $zero, 0x0158($v1) ## 0000015A
/* 00238 80B0F8E8 8CE8019C */ lw $t0, 0x019C($a3) ## 0000019C
/* 0023C 80B0F8EC 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
/* 00240 80B0F8F0 24E30008 */ addiu $v1, $a3, 0x0008 ## $v1 = 00000008
/* 00244 80B0F8F4 A500015C */ sh $zero, 0x015C($t0) ## 0000015C
/* 00248 80B0F8F8 8CE901A0 */ lw $t1, 0x01A0($a3) ## 000001A0
/* 0024C 80B0F8FC 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 00250 80B0F900 A520015C */ sh $zero, 0x015C($t1) ## 0000015C
.L80B0F904:
/* 00254 80B0F904 8C6A019C */ lw $t2, 0x019C($v1) ## 000001A4
/* 00258 80B0F908 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000006
/* 0025C 80B0F90C 24630010 */ addiu $v1, $v1, 0x0010 ## $v1 = 00000018
/* 00260 80B0F910 A540015C */ sh $zero, 0x015C($t2) ## 0000015C
/* 00264 80B0F914 8C6B0190 */ lw $t3, 0x0190($v1) ## 000001A8
/* 00268 80B0F918 A560015C */ sh $zero, 0x015C($t3) ## 0000015C
/* 0026C 80B0F91C 8C6C0194 */ lw $t4, 0x0194($v1) ## 000001AC
/* 00270 80B0F920 A580015C */ sh $zero, 0x015C($t4) ## 0000015C
/* 00274 80B0F924 8C6D0198 */ lw $t5, 0x0198($v1) ## 000001B0
/* 00278 80B0F928 1444FFF6 */ bne $v0, $a0, .L80B0F904
/* 0027C 80B0F92C A5A0015C */ sh $zero, 0x015C($t5) ## 0000015C
/* 00280 80B0F930 ACEE014C */ sw $t6, 0x014C($a3) ## 0000014C
.L80B0F934:
/* 00284 80B0F934 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00288 80B0F938 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0028C 80B0F93C 03E00008 */ jr $ra
/* 00290 80B0F940 00000000 */ nop

View file

@ -1,113 +0,0 @@
.late_rodata
glabel D_80B10670
.word 0x40BFAE14
.text
glabel func_80B0F944
/* 00294 80B0F944 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00298 80B0F948 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0029C 80B0F94C AFB00020 */ sw $s0, 0x0020($sp)
/* 002A0 80B0F950 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 002A4 80B0F954 848E0152 */ lh $t6, 0x0152($a0) ## 00000152
/* 002A8 80B0F958 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 002AC 80B0F95C 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
/* 002B0 80B0F960 15C00051 */ bne $t6, $zero, .L80B0FAA8
/* 002B4 80B0F964 3C0F8016 */ lui $t7, %hi(gSaveContext+4)
/* 002B8 80B0F968 8DEFE664 */ lw $t7, %lo(gSaveContext+4)($t7)
/* 002BC 80B0F96C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 002C0 80B0F970 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 002C4 80B0F974 15E00031 */ bne $t7, $zero, .L80B0FA3C
/* 002C8 80B0F978 02001825 */ or $v1, $s0, $zero ## $v1 = 00000000
.L80B0F97C:
/* 002CC 80B0F97C 8478015A */ lh $t8, 0x015A($v1) ## 0000015A
/* 002D0 80B0F980 24420002 */ addiu $v0, $v0, 0x0002 ## $v0 = 00000002
/* 002D4 80B0F984 2841000C */ slti $at, $v0, 0x000C
/* 002D8 80B0F988 13000002 */ beq $t8, $zero, .L80B0F994
/* 002DC 80B0F98C 00000000 */ nop
/* 002E0 80B0F990 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000001
.L80B0F994:
/* 002E4 80B0F994 1420FFF9 */ bne $at, $zero, .L80B0F97C
/* 002E8 80B0F998 24630002 */ addiu $v1, $v1, 0x0002 ## $v1 = 00000002
/* 002EC 80B0F99C 28A10006 */ slti $at, $a1, 0x0006
/* 002F0 80B0F9A0 14200008 */ bne $at, $zero, .L80B0F9C4
/* 002F4 80B0F9A4 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 002F8 80B0F9A8 3C0980B1 */ lui $t1, %hi(func_80B0FFE8) ## $t1 = 80B10000
/* 002FC 80B0F9AC A4D90110 */ sh $t9, 0x0110($a2) ## 00000110
/* 00300 80B0F9B0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 00304 80B0F9B4 2529FFE8 */ addiu $t1, $t1, %lo(func_80B0FFE8) ## $t1 = 80B0FFE8
/* 00308 80B0F9B8 A6080154 */ sh $t0, 0x0154($s0) ## 00000154
/* 0030C 80B0F9BC 1000003A */ beq $zero, $zero, .L80B0FAA8
/* 00310 80B0F9C0 AE09014C */ sw $t1, 0x014C($s0) ## 0000014C
.L80B0F9C4:
/* 00314 80B0F9C4 3C0180B1 */ lui $at, %hi(D_80B10670) ## $at = 80B10000
/* 00318 80B0F9C8 C4340670 */ lwc1 $f20, %lo(D_80B10670)($at)
/* 0031C 80B0F9CC 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00320 80B0F9D0 4600A306 */ mov.s $f12, $f20
/* 00324 80B0F9D4 4600010D */ trunc.w.s $f4, $f0
/* 00328 80B0F9D8 44022000 */ mfc1 $v0, $f4
/* 0032C 80B0F9DC 00000000 */ nop
/* 00330 80B0F9E0 00025840 */ sll $t3, $v0, 1
/* 00334 80B0F9E4 020B1821 */ addu $v1, $s0, $t3
/* 00338 80B0F9E8 846C015A */ lh $t4, 0x015A($v1) ## 0000015A
/* 0033C 80B0F9EC 5180000E */ beql $t4, $zero, .L80B0FA28
/* 00340 80B0F9F0 24480001 */ addiu $t0, $v0, 0x0001 ## $t0 = 00000001
.L80B0F9F4:
/* 00344 80B0F9F4 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00348 80B0F9F8 4600A306 */ mov.s $f12, $f20
/* 0034C 80B0F9FC 4600018D */ trunc.w.s $f6, $f0
/* 00350 80B0FA00 44023000 */ mfc1 $v0, $f6
/* 00354 80B0FA04 00000000 */ nop
/* 00358 80B0FA08 00027040 */ sll $t6, $v0, 1
/* 0035C 80B0FA0C 020E7821 */ addu $t7, $s0, $t6
/* 00360 80B0FA10 85F8015A */ lh $t8, 0x015A($t7) ## 0000015A
/* 00364 80B0FA14 1700FFF7 */ bne $t8, $zero, .L80B0F9F4
/* 00368 80B0FA18 00000000 */ nop
/* 0036C 80B0FA1C 0002C840 */ sll $t9, $v0, 1
/* 00370 80B0FA20 02191821 */ addu $v1, $s0, $t9
/* 00374 80B0FA24 24480001 */ addiu $t0, $v0, 0x0001 ## $t0 = 00000001
.L80B0FA28:
/* 00378 80B0FA28 A6080158 */ sh $t0, 0x0158($s0) ## 00000158
/* 0037C 80B0FA2C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00380 80B0FA30 A469015A */ sh $t1, 0x015A($v1) ## 0000015A
/* 00384 80B0FA34 10000010 */ beq $zero, $zero, .L80B0FA78
/* 00388 80B0FA38 86040158 */ lh $a0, 0x0158($s0) ## 00000158
.L80B0FA3C:
/* 0038C 80B0FA3C 860A0158 */ lh $t2, 0x0158($s0) ## 00000158
/* 00390 80B0FA40 3C0E80B1 */ lui $t6, %hi(func_80B0FFE8) ## $t6 = 80B10000
/* 00394 80B0FA44 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 00398 80B0FA48 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
/* 0039C 80B0FA4C A60B0158 */ sh $t3, 0x0158($s0) ## 00000158
/* 003A0 80B0FA50 86040158 */ lh $a0, 0x0158($s0) ## 00000158
/* 003A4 80B0FA54 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 003A8 80B0FA58 25CEFFE8 */ addiu $t6, $t6, %lo(func_80B0FFE8) ## $t6 = 80B0FFE8
/* 003AC 80B0FA5C 28810007 */ slti $at, $a0, 0x0007
/* 003B0 80B0FA60 54200006 */ bnel $at, $zero, .L80B0FA7C
/* 003B4 80B0FA64 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 003B8 80B0FA68 A4CC0110 */ sh $t4, 0x0110($a2) ## 00000110
/* 003BC 80B0FA6C A60D0154 */ sh $t5, 0x0154($s0) ## 00000154
/* 003C0 80B0FA70 1000000D */ beq $zero, $zero, .L80B0FAA8
/* 003C4 80B0FA74 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
.L80B0FA78:
/* 003C8 80B0FA78 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
.L80B0FA7C:
/* 003CC 80B0FA7C 14810004 */ bne $a0, $at, .L80B0FA90
/* 003D0 80B0FA80 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
/* 003D4 80B0FA84 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 003D8 80B0FA88 10000002 */ beq $zero, $zero, .L80B0FA94
/* 003DC 80B0FA8C A60F0150 */ sh $t7, 0x0150($s0) ## 00000150
.L80B0FA90:
/* 003E0 80B0FA90 A6180150 */ sh $t8, 0x0150($s0) ## 00000150
.L80B0FA94:
/* 003E4 80B0FA94 0C01E221 */ jal func_80078884
/* 003E8 80B0FA98 2404482C */ addiu $a0, $zero, 0x482C ## $a0 = 0000482C
/* 003EC 80B0FA9C 3C1980B1 */ lui $t9, %hi(func_80B0FABC) ## $t9 = 80B10000
/* 003F0 80B0FAA0 2739FABC */ addiu $t9, $t9, %lo(func_80B0FABC) ## $t9 = 80B0FABC
/* 003F4 80B0FAA4 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C
.L80B0FAA8:
/* 003F8 80B0FAA8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 003FC 80B0FAAC D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00400 80B0FAB0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00404 80B0FAB4 03E00008 */ jr $ra
/* 00408 80B0FAB8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000

View file

@ -1,353 +0,0 @@
.rdata
glabel D_80B10438
.asciz "\x1b[32m \n\x1b[m"
.balign 4
.late_rodata
glabel jtbl_80B10674
.word L80B0FBDC
.word L80B0FC10
.word L80B0FC64
.word L80B0FC98
.word L80B0FCEC
.word L80B0FD40
.word 0x00000000
.text
glabel func_80B0FABC
/* 0040C 80B0FABC 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 00410 80B0FAC0 3C0E80B1 */ lui $t6, %hi(D_80B103C8) ## $t6 = 80B10000
/* 00414 80B0FAC4 AFBF005C */ sw $ra, 0x005C($sp)
/* 00418 80B0FAC8 AFBE0058 */ sw $s8, 0x0058($sp)
/* 0041C 80B0FACC AFB70054 */ sw $s7, 0x0054($sp)
/* 00420 80B0FAD0 AFB60050 */ sw $s6, 0x0050($sp)
/* 00424 80B0FAD4 AFB5004C */ sw $s5, 0x004C($sp)
/* 00428 80B0FAD8 AFB40048 */ sw $s4, 0x0048($sp)
/* 0042C 80B0FADC AFB30044 */ sw $s3, 0x0044($sp)
/* 00430 80B0FAE0 AFB20040 */ sw $s2, 0x0040($sp)
/* 00434 80B0FAE4 AFB1003C */ sw $s1, 0x003C($sp)
/* 00438 80B0FAE8 AFB00038 */ sw $s0, 0x0038($sp)
/* 0043C 80B0FAEC 25CE03C8 */ addiu $t6, $t6, %lo(D_80B103C8) ## $t6 = 80B103C8
/* 00440 80B0FAF0 8DD80000 */ lw $t8, 0x0000($t6) ## 80B103C8
/* 00444 80B0FAF4 27B60080 */ addiu $s6, $sp, 0x0080 ## $s6 = FFFFFFF0
/* 00448 80B0FAF8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 0044C 80B0FAFC AED80000 */ sw $t8, 0x0000($s6) ## FFFFFFF0
/* 00450 80B0FB00 8DCF0004 */ lw $t7, 0x0004($t6) ## 80B103CC
/* 00454 80B0FB04 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
/* 00458 80B0FB08 0325C821 */ addu $t9, $t9, $a1
/* 0045C 80B0FB0C AECF0004 */ sw $t7, 0x0004($s6) ## FFFFFFF4
/* 00460 80B0FB10 8DD80008 */ lw $t8, 0x0008($t6) ## 80B103D0
/* 00464 80B0FB14 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 00468 80B0FB18 0080B825 */ or $s7, $a0, $zero ## $s7 = 00000000
/* 0046C 80B0FB1C AED80008 */ sw $t8, 0x0008($s6) ## FFFFFFF8
/* 00470 80B0FB20 83391E5C */ lb $t9, 0x1E5C($t9) ## 00011E5C
/* 00474 80B0FB24 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 00478 80B0FB28 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 0047C 80B0FB2C 17210009 */ bne $t9, $at, .L80B0FB54
/* 00480 80B0FB30 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000
/* 00484 80B0FB34 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
/* 00488 80B0FB38 3C0980B1 */ lui $t1, %hi(func_80B0FFE8) ## $t1 = 80B10000
/* 0048C 80B0FB3C 241E0002 */ addiu $s8, $zero, 0x0002 ## $s8 = 00000002
/* 00490 80B0FB40 A4480110 */ sh $t0, 0x0110($v0) ## 00000110
/* 00494 80B0FB44 2529FFE8 */ addiu $t1, $t1, %lo(func_80B0FFE8) ## $t1 = 80B0FFE8
/* 00498 80B0FB48 A49E0154 */ sh $s8, 0x0154($a0) ## 00000154
/* 0049C 80B0FB4C 100000F1 */ beq $zero, $zero, .L80B0FF14
/* 004A0 80B0FB50 AC89014C */ sw $t1, 0x014C($a0) ## 0000014C
.L80B0FB54:
/* 004A4 80B0FB54 86EA0150 */ lh $t2, 0x0150($s7) ## 00000150
/* 004A8 80B0FB58 02E0A025 */ or $s4, $s7, $zero ## $s4 = 00000000
/* 004AC 80B0FB5C 26F2016C */ addiu $s2, $s7, 0x016C ## $s2 = 0000016C
/* 004B0 80B0FB60 154000EC */ bne $t2, $zero, .L80B0FF14
/* 004B4 80B0FB64 26F30184 */ addiu $s3, $s7, 0x0184 ## $s3 = 00000184
/* 004B8 80B0FB68 02E08025 */ or $s0, $s7, $zero ## $s0 = 00000000
/* 004BC 80B0FB6C AFA60094 */ sw $a2, 0x0094($sp)
.L80B0FB70:
/* 004C0 80B0FB70 02402025 */ or $a0, $s2, $zero ## $a0 = 0000016C
/* 004C4 80B0FB74 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 004C8 80B0FB78 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFF0
/* 004CC 80B0FB7C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000184
/* 004D0 80B0FB80 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 004D4 80B0FB84 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFF0
/* 004D8 80B0FB88 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 0000000C
/* 004DC 80B0FB8C 2A210018 */ slti $at, $s1, 0x0018
/* 004E0 80B0FB90 2652000C */ addiu $s2, $s2, 0x000C ## $s2 = 00000178
/* 004E4 80B0FB94 2673000C */ addiu $s3, $s3, 0x000C ## $s3 = 00000190
/* 004E8 80B0FB98 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 00000004
/* 004EC 80B0FB9C 1420FFF4 */ bne $at, $zero, .L80B0FB70
/* 004F0 80B0FBA0 AE0001C0 */ sw $zero, 0x01C0($s0) ## 000001C4
/* 004F4 80B0FBA4 86F10158 */ lh $s1, 0x0158($s7) ## 00000158
/* 004F8 80B0FBA8 241E0002 */ addiu $s8, $zero, 0x0002 ## $s8 = 00000002
/* 004FC 80B0FBAC A6FE016A */ sh $s8, 0x016A($s7) ## 0000016A
/* 00500 80B0FBB0 2631FFFF */ addiu $s1, $s1, 0xFFFF ## $s1 = 0000000B
/* 00504 80B0FBB4 2E210006 */ sltiu $at, $s1, 0x0006
/* 00508 80B0FBB8 AEE001D4 */ sw $zero, 0x01D4($s7) ## 000001D4
/* 0050C 80B0FBBC 10200074 */ beq $at, $zero, .L80B0FD90
/* 00510 80B0FBC0 AEE001D0 */ sw $zero, 0x01D0($s7) ## 000001D0
/* 00514 80B0FBC4 00115880 */ sll $t3, $s1, 2
/* 00518 80B0FBC8 3C0180B1 */ lui $at, %hi(jtbl_80B10674) ## $at = 80B10000
/* 0051C 80B0FBCC 002B0821 */ addu $at, $at, $t3
/* 00520 80B0FBD0 8C2B0674 */ lw $t3, %lo(jtbl_80B10674)($at)
/* 00524 80B0FBD4 01600008 */ jr $t3
/* 00528 80B0FBD8 00000000 */ nop
glabel L80B0FBDC
/* 0052C 80B0FBDC 3C0580B1 */ lui $a1, %hi(D_80B10240) ## $a1 = 80B10000
/* 00530 80B0FBE0 24A50240 */ addiu $a1, $a1, %lo(D_80B10240) ## $a1 = 80B10240
/* 00534 80B0FBE4 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00538 80B0FBE8 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 0053C 80B0FBEC 3C0580B1 */ lui $a1, %hi(D_80B102B8) ## $a1 = 80B10000
/* 00540 80B0FBF0 24A502B8 */ addiu $a1, $a1, %lo(D_80B102B8) ## $a1 = 80B102B8
/* 00544 80B0FBF4 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00548 80B0FBF8 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 0054C 80B0FBFC 8EEC019C */ lw $t4, 0x019C($s7) ## 0000019C
/* 00550 80B0FC00 24160001 */ addiu $s6, $zero, 0x0001 ## $s6 = 00000001
/* 00554 80B0FC04 A6F6016A */ sh $s6, 0x016A($s7) ## 0000016A
/* 00558 80B0FC08 10000061 */ beq $zero, $zero, .L80B0FD90
/* 0055C 80B0FC0C AEEC01D0 */ sw $t4, 0x01D0($s7) ## 000001D0
glabel L80B0FC10
/* 00560 80B0FC10 3C0580B1 */ lui $a1, %hi(D_80B1024C) ## $a1 = 80B10000
/* 00564 80B0FC14 24A5024C */ addiu $a1, $a1, %lo(D_80B1024C) ## $a1 = 80B1024C
/* 00568 80B0FC18 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0056C 80B0FC1C 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 00570 80B0FC20 3C0580B1 */ lui $a1, %hi(D_80B10258) ## $a1 = 80B10000
/* 00574 80B0FC24 24A50258 */ addiu $a1, $a1, %lo(D_80B10258) ## $a1 = 80B10258
/* 00578 80B0FC28 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0057C 80B0FC2C 26E40178 */ addiu $a0, $s7, 0x0178 ## $a0 = 00000178
/* 00580 80B0FC30 3C0580B1 */ lui $a1, %hi(D_80B102C4) ## $a1 = 80B10000
/* 00584 80B0FC34 24A502C4 */ addiu $a1, $a1, %lo(D_80B102C4) ## $a1 = 80B102C4
/* 00588 80B0FC38 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0058C 80B0FC3C 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 00590 80B0FC40 3C0580B1 */ lui $a1, %hi(D_80B102D0) ## $a1 = 80B10000
/* 00594 80B0FC44 24A502D0 */ addiu $a1, $a1, %lo(D_80B102D0) ## $a1 = 80B102D0
/* 00598 80B0FC48 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0059C 80B0FC4C 26E40190 */ addiu $a0, $s7, 0x0190 ## $a0 = 00000190
/* 005A0 80B0FC50 8EED01A0 */ lw $t5, 0x01A0($s7) ## 000001A0
/* 005A4 80B0FC54 8EEE01A4 */ lw $t6, 0x01A4($s7) ## 000001A4
/* 005A8 80B0FC58 AEED01D0 */ sw $t5, 0x01D0($s7) ## 000001D0
/* 005AC 80B0FC5C 1000004C */ beq $zero, $zero, .L80B0FD90
/* 005B0 80B0FC60 AEEE01D4 */ sw $t6, 0x01D4($s7) ## 000001D4
glabel L80B0FC64
/* 005B4 80B0FC64 3C0580B1 */ lui $a1, %hi(D_80B10264) ## $a1 = 80B10000
/* 005B8 80B0FC68 24A50264 */ addiu $a1, $a1, %lo(D_80B10264) ## $a1 = 80B10264
/* 005BC 80B0FC6C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 005C0 80B0FC70 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 005C4 80B0FC74 3C0580B1 */ lui $a1, %hi(D_80B102DC) ## $a1 = 80B10000
/* 005C8 80B0FC78 24A502DC */ addiu $a1, $a1, %lo(D_80B102DC) ## $a1 = 80B102DC
/* 005CC 80B0FC7C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 005D0 80B0FC80 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 005D4 80B0FC84 8EEF01A8 */ lw $t7, 0x01A8($s7) ## 000001A8
/* 005D8 80B0FC88 24160001 */ addiu $s6, $zero, 0x0001 ## $s6 = 00000001
/* 005DC 80B0FC8C A6F6016A */ sh $s6, 0x016A($s7) ## 0000016A
/* 005E0 80B0FC90 1000003F */ beq $zero, $zero, .L80B0FD90
/* 005E4 80B0FC94 AEEF01D0 */ sw $t7, 0x01D0($s7) ## 000001D0
glabel L80B0FC98
/* 005E8 80B0FC98 3C0580B1 */ lui $a1, %hi(D_80B10270) ## $a1 = 80B10000
/* 005EC 80B0FC9C 24A50270 */ addiu $a1, $a1, %lo(D_80B10270) ## $a1 = 80B10270
/* 005F0 80B0FCA0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 005F4 80B0FCA4 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 005F8 80B0FCA8 3C0580B1 */ lui $a1, %hi(D_80B1027C) ## $a1 = 80B10000
/* 005FC 80B0FCAC 24A5027C */ addiu $a1, $a1, %lo(D_80B1027C) ## $a1 = 80B1027C
/* 00600 80B0FCB0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00604 80B0FCB4 26E40178 */ addiu $a0, $s7, 0x0178 ## $a0 = 00000178
/* 00608 80B0FCB8 3C0580B1 */ lui $a1, %hi(D_80B102E8) ## $a1 = 80B10000
/* 0060C 80B0FCBC 24A502E8 */ addiu $a1, $a1, %lo(D_80B102E8) ## $a1 = 80B102E8
/* 00610 80B0FCC0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00614 80B0FCC4 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 00618 80B0FCC8 3C0580B1 */ lui $a1, %hi(D_80B102F4) ## $a1 = 80B10000
/* 0061C 80B0FCCC 24A502F4 */ addiu $a1, $a1, %lo(D_80B102F4) ## $a1 = 80B102F4
/* 00620 80B0FCD0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00624 80B0FCD4 26E40190 */ addiu $a0, $s7, 0x0190 ## $a0 = 00000190
/* 00628 80B0FCD8 8EF801AC */ lw $t8, 0x01AC($s7) ## 000001AC
/* 0062C 80B0FCDC 8EF901B0 */ lw $t9, 0x01B0($s7) ## 000001B0
/* 00630 80B0FCE0 AEF801D0 */ sw $t8, 0x01D0($s7) ## 000001D0
/* 00634 80B0FCE4 1000002A */ beq $zero, $zero, .L80B0FD90
/* 00638 80B0FCE8 AEF901D4 */ sw $t9, 0x01D4($s7) ## 000001D4
glabel L80B0FCEC
/* 0063C 80B0FCEC 3C0580B1 */ lui $a1, %hi(D_80B10288) ## $a1 = 80B10000
/* 00640 80B0FCF0 24A50288 */ addiu $a1, $a1, %lo(D_80B10288) ## $a1 = 80B10288
/* 00644 80B0FCF4 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00648 80B0FCF8 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 0064C 80B0FCFC 3C0580B1 */ lui $a1, %hi(D_80B10294) ## $a1 = 80B10000
/* 00650 80B0FD00 24A50294 */ addiu $a1, $a1, %lo(D_80B10294) ## $a1 = 80B10294
/* 00654 80B0FD04 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00658 80B0FD08 26E40178 */ addiu $a0, $s7, 0x0178 ## $a0 = 00000178
/* 0065C 80B0FD0C 3C0580B1 */ lui $a1, %hi(D_80B10300) ## $a1 = 80B10000
/* 00660 80B0FD10 24A50300 */ addiu $a1, $a1, %lo(D_80B10300) ## $a1 = 80B10300
/* 00664 80B0FD14 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00668 80B0FD18 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 0066C 80B0FD1C 3C0580B1 */ lui $a1, %hi(D_80B1030C) ## $a1 = 80B10000
/* 00670 80B0FD20 24A5030C */ addiu $a1, $a1, %lo(D_80B1030C) ## $a1 = 80B1030C
/* 00674 80B0FD24 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00678 80B0FD28 26E40190 */ addiu $a0, $s7, 0x0190 ## $a0 = 00000190
/* 0067C 80B0FD2C 8EE801B4 */ lw $t0, 0x01B4($s7) ## 000001B4
/* 00680 80B0FD30 8EE901B8 */ lw $t1, 0x01B8($s7) ## 000001B8
/* 00684 80B0FD34 AEE801D0 */ sw $t0, 0x01D0($s7) ## 000001D0
/* 00688 80B0FD38 10000015 */ beq $zero, $zero, .L80B0FD90
/* 0068C 80B0FD3C AEE901D4 */ sw $t1, 0x01D4($s7) ## 000001D4
glabel L80B0FD40
/* 00690 80B0FD40 3C0580B1 */ lui $a1, %hi(D_80B102A0) ## $a1 = 80B10000
/* 00694 80B0FD44 24A502A0 */ addiu $a1, $a1, %lo(D_80B102A0) ## $a1 = 80B102A0
/* 00698 80B0FD48 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0069C 80B0FD4C 26E4016C */ addiu $a0, $s7, 0x016C ## $a0 = 0000016C
/* 006A0 80B0FD50 3C0580B1 */ lui $a1, %hi(D_80B102AC) ## $a1 = 80B10000
/* 006A4 80B0FD54 24A502AC */ addiu $a1, $a1, %lo(D_80B102AC) ## $a1 = 80B102AC
/* 006A8 80B0FD58 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 006AC 80B0FD5C 26E40178 */ addiu $a0, $s7, 0x0178 ## $a0 = 00000178
/* 006B0 80B0FD60 3C0580B1 */ lui $a1, %hi(D_80B10318) ## $a1 = 80B10000
/* 006B4 80B0FD64 24A50318 */ addiu $a1, $a1, %lo(D_80B10318) ## $a1 = 80B10318
/* 006B8 80B0FD68 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 006BC 80B0FD6C 26E40184 */ addiu $a0, $s7, 0x0184 ## $a0 = 00000184
/* 006C0 80B0FD70 3C0580B1 */ lui $a1, %hi(D_80B10324) ## $a1 = 80B10000
/* 006C4 80B0FD74 24A50324 */ addiu $a1, $a1, %lo(D_80B10324) ## $a1 = 80B10324
/* 006C8 80B0FD78 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 006CC 80B0FD7C 26E40190 */ addiu $a0, $s7, 0x0190 ## $a0 = 00000190
/* 006D0 80B0FD80 8EEA01BC */ lw $t2, 0x01BC($s7) ## 000001BC
/* 006D4 80B0FD84 8EEB01C0 */ lw $t3, 0x01C0($s7) ## 000001C0
/* 006D8 80B0FD88 AEEA01D0 */ sw $t2, 0x01D0($s7) ## 000001D0
/* 006DC 80B0FD8C AEEB01D4 */ sw $t3, 0x01D4($s7) ## 000001D4
.L80B0FD90:
/* 006E0 80B0FD90 86EC016A */ lh $t4, 0x016A($s7) ## 0000016A
/* 006E4 80B0FD94 24160001 */ addiu $s6, $zero, 0x0001 ## $s6 = 00000001
/* 006E8 80B0FD98 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000
/* 006EC 80B0FD9C 19800057 */ blez $t4, .L80B0FEFC
/* 006F0 80B0FDA0 8FA60094 */ lw $a2, 0x0094($sp)
/* 006F4 80B0FDA4 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 006F8 80B0FDA8 AFA40070 */ sw $a0, 0x0070($sp)
/* 006FC 80B0FDAC 02E0A025 */ or $s4, $s7, $zero ## $s4 = 00000000
/* 00700 80B0FDB0 02E08025 */ or $s0, $s7, $zero ## $s0 = 00000000
/* 00704 80B0FDB4 24130005 */ addiu $s3, $zero, 0x0005 ## $s3 = 00000005
/* 00708 80B0FDB8 24120004 */ addiu $s2, $zero, 0x0004 ## $s2 = 00000004
.L80B0FDBC:
/* 0070C 80B0FDBC C684016C */ lwc1 $f4, 0x016C($s4) ## 0000016C
/* 00710 80B0FDC0 240D303F */ addiu $t5, $zero, 0x303F ## $t5 = 0000303F
/* 00714 80B0FDC4 8FA40070 */ lw $a0, 0x0070($sp)
/* 00718 80B0FDC8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0071C 80B0FDCC C6860170 */ lwc1 $f6, 0x0170($s4) ## 00000170
/* 00720 80B0FDD0 8FA60094 */ lw $a2, 0x0094($sp)
/* 00724 80B0FDD4 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000000
/* 00728 80B0FDD8 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 0072C 80B0FDDC C6880174 */ lwc1 $f8, 0x0174($s4) ## 00000174
/* 00730 80B0FDE0 AFAD0028 */ sw $t5, 0x0028($sp)
/* 00734 80B0FDE4 AFA00024 */ sw $zero, 0x0024($sp)
/* 00738 80B0FDE8 AFA00020 */ sw $zero, 0x0020($sp)
/* 0073C 80B0FDEC AFA0001C */ sw $zero, 0x001C($sp)
/* 00740 80B0FDF0 24070117 */ addiu $a3, $zero, 0x0117 ## $a3 = 00000117
/* 00744 80B0FDF4 0C00C916 */ jal Actor_SpawnAsChild
/* 00748 80B0FDF8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0074C 80B0FDFC 14400008 */ bne $v0, $zero, .L80B0FE20
/* 00750 80B0FE00 AE0201C4 */ sw $v0, 0x01C4($s0) ## 000001C4
/* 00754 80B0FE04 3C0480B1 */ lui $a0, %hi(D_80B10438) ## $a0 = 80B10000
/* 00758 80B0FE08 0C00084C */ jal osSyncPrintf
/* 0075C 80B0FE0C 24840438 */ addiu $a0, $a0, %lo(D_80B10438) ## $a0 = 80B10438
/* 00760 80B0FE10 0C00B55C */ jal Actor_Kill
/* 00764 80B0FE14 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
/* 00768 80B0FE18 1000003F */ beq $zero, $zero, .L80B0FF18
/* 0076C 80B0FE1C 8FBF005C */ lw $ra, 0x005C($sp)
.L80B0FE20:
/* 00770 80B0FE20 8E0E01C4 */ lw $t6, 0x01C4($s0) ## 000001C4
/* 00774 80B0FE24 00117840 */ sll $t7, $s1, 1
/* 00778 80B0FE28 3C1880B1 */ lui $t8, %hi(D_80B10330) ## $t8 = 80B10000
/* 0077C 80B0FE2C A5D50160 */ sh $s5, 0x0160($t6) ## 00000160
/* 00780 80B0FE30 030FC021 */ addu $t8, $t8, $t7
/* 00784 80B0FE34 87180330 */ lh $t8, %lo(D_80B10330)($t8)
/* 00788 80B0FE38 8E1901C4 */ lw $t9, 0x01C4($s0) ## 000001C4
/* 0078C 80B0FE3C 26850184 */ addiu $a1, $s4, 0x0184 ## $a1 = 00000184
/* 00790 80B0FE40 A7380158 */ sh $t8, 0x0158($t9) ## 00000158
/* 00794 80B0FE44 8E0401C4 */ lw $a0, 0x01C4($s0) ## 000001C4
/* 00798 80B0FE48 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 0079C 80B0FE4C 2484016C */ addiu $a0, $a0, 0x016C ## $a0 = 0000016C
/* 007A0 80B0FE50 12360009 */ beq $s1, $s6, .L80B0FE78
/* 007A4 80B0FE54 00000000 */ nop
/* 007A8 80B0FE58 123E000D */ beq $s1, $s8, .L80B0FE90
/* 007AC 80B0FE5C 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 007B0 80B0FE60 12320015 */ beq $s1, $s2, .L80B0FEB8
/* 007B4 80B0FE64 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
/* 007B8 80B0FE68 12330019 */ beq $s1, $s3, .L80B0FED0
/* 007BC 80B0FE6C 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 007C0 80B0FE70 1000001D */ beq $zero, $zero, .L80B0FEE8
/* 007C4 80B0FE74 86F9016A */ lh $t9, 0x016A($s7) ## 0000016A
.L80B0FE78:
/* 007C8 80B0FE78 56B6001B */ bnel $s5, $s6, .L80B0FEE8
/* 007CC 80B0FE7C 86F9016A */ lh $t9, 0x016A($s7) ## 0000016A
/* 007D0 80B0FE80 8E0901C4 */ lw $t1, 0x01C4($s0) ## 000001C4
/* 007D4 80B0FE84 2408003C */ addiu $t0, $zero, 0x003C ## $t0 = 0000003C
/* 007D8 80B0FE88 10000016 */ beq $zero, $zero, .L80B0FEE4
/* 007DC 80B0FE8C A5280162 */ sh $t0, 0x0162($t1) ## 00000162
.L80B0FE90:
/* 007E0 80B0FE90 44815000 */ mtc1 $at, $f10 ## $f10 = 7.00
/* 007E4 80B0FE94 8E0A01C4 */ lw $t2, 0x01C4($s0) ## 000001C4
/* 007E8 80B0FE98 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 007EC 80B0FE9C 44818000 */ mtc1 $at, $f16 ## $f16 = -1.00
/* 007F0 80B0FEA0 E54A0060 */ swc1 $f10, 0x0060($t2) ## 00000060
/* 007F4 80B0FEA4 8E0B01C4 */ lw $t3, 0x01C4($s0) ## 000001C4
/* 007F8 80B0FEA8 E570006C */ swc1 $f16, 0x006C($t3) ## 0000006C
/* 007FC 80B0FEAC 8E0C01C4 */ lw $t4, 0x01C4($s0) ## 000001C4
/* 00800 80B0FEB0 1000000C */ beq $zero, $zero, .L80B0FEE4
/* 00804 80B0FEB4 A59E0166 */ sh $s8, 0x0166($t4) ## 00000166
.L80B0FEB8:
/* 00808 80B0FEB8 44819000 */ mtc1 $at, $f18 ## $f18 = -1.00
/* 0080C 80B0FEBC 8E0D01C4 */ lw $t5, 0x01C4($s0) ## 000001C4
/* 00810 80B0FEC0 E5B2005C */ swc1 $f18, 0x005C($t5) ## 0000005C
/* 00814 80B0FEC4 8E0E01C4 */ lw $t6, 0x01C4($s0) ## 000001C4
/* 00818 80B0FEC8 10000006 */ beq $zero, $zero, .L80B0FEE4
/* 0081C 80B0FECC A5D20166 */ sh $s2, 0x0166($t6) ## 00000166
.L80B0FED0:
/* 00820 80B0FED0 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
/* 00824 80B0FED4 8E0F01C4 */ lw $t7, 0x01C4($s0) ## 000001C4
/* 00828 80B0FED8 E5E4005C */ swc1 $f4, 0x005C($t7) ## 0000005C
/* 0082C 80B0FEDC 8E1801C4 */ lw $t8, 0x01C4($s0) ## 000001C4
/* 00830 80B0FEE0 A7130166 */ sh $s3, 0x0166($t8) ## 00000166
.L80B0FEE4:
/* 00834 80B0FEE4 86F9016A */ lh $t9, 0x016A($s7) ## 0000016A
.L80B0FEE8:
/* 00838 80B0FEE8 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 0083C 80B0FEEC 2694000C */ addiu $s4, $s4, 0x000C ## $s4 = 0000000C
/* 00840 80B0FEF0 02B9082A */ slt $at, $s5, $t9
/* 00844 80B0FEF4 1420FFB1 */ bne $at, $zero, .L80B0FDBC
/* 00848 80B0FEF8 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 00000004
.L80B0FEFC:
/* 0084C 80B0FEFC A6E00168 */ sh $zero, 0x0168($s7) ## 00000168
/* 00850 80B0FF00 86E80168 */ lh $t0, 0x0168($s7) ## 00000168
/* 00854 80B0FF04 3C0980B1 */ lui $t1, %hi(func_80B0FF44) ## $t1 = 80B10000
/* 00858 80B0FF08 2529FF44 */ addiu $t1, $t1, %lo(func_80B0FF44) ## $t1 = 80B0FF44
/* 0085C 80B0FF0C AEE9014C */ sw $t1, 0x014C($s7) ## 0000014C
/* 00860 80B0FF10 A6E80166 */ sh $t0, 0x0166($s7) ## 00000166
.L80B0FF14:
/* 00864 80B0FF14 8FBF005C */ lw $ra, 0x005C($sp)
.L80B0FF18:
/* 00868 80B0FF18 8FB00038 */ lw $s0, 0x0038($sp)
/* 0086C 80B0FF1C 8FB1003C */ lw $s1, 0x003C($sp)
/* 00870 80B0FF20 8FB20040 */ lw $s2, 0x0040($sp)
/* 00874 80B0FF24 8FB30044 */ lw $s3, 0x0044($sp)
/* 00878 80B0FF28 8FB40048 */ lw $s4, 0x0048($sp)
/* 0087C 80B0FF2C 8FB5004C */ lw $s5, 0x004C($sp)
/* 00880 80B0FF30 8FB60050 */ lw $s6, 0x0050($sp)
/* 00884 80B0FF34 8FB70054 */ lw $s7, 0x0054($sp)
/* 00888 80B0FF38 8FBE0058 */ lw $s8, 0x0058($sp)
/* 0088C 80B0FF3C 03E00008 */ jr $ra
/* 00890 80B0FF40 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000

View file

@ -1,47 +0,0 @@
glabel func_80B0FF44
/* 00894 80B0FF44 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
/* 00898 80B0FF48 01C57021 */ addu $t6, $t6, $a1
/* 0089C 80B0FF4C 81CE1E5C */ lb $t6, 0x1E5C($t6) ## 00011E5C
/* 008A0 80B0FF50 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 008A4 80B0FF54 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 008A8 80B0FF58 15C10009 */ bne $t6, $at, .L80B0FF80
/* 008AC 80B0FF5C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 008B0 80B0FF60 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
/* 008B4 80B0FF64 3C1880B1 */ lui $t8, %hi(func_80B0FFE8) ## $t8 = 80B10000
/* 008B8 80B0FF68 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 008BC 80B0FF6C A44F0110 */ sh $t7, 0x0110($v0) ## 00000110
/* 008C0 80B0FF70 2718FFE8 */ addiu $t8, $t8, %lo(func_80B0FFE8) ## $t8 = 80B0FFE8
/* 008C4 80B0FF74 A4870154 */ sh $a3, 0x0154($a0) ## 00000154
/* 008C8 80B0FF78 03E00008 */ jr $ra
/* 008CC 80B0FF7C AC98014C */ sw $t8, 0x014C($a0) ## 0000014C
.L80B0FF80:
/* 008D0 80B0FF80 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 008D4 80B0FF84 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 008D8 80B0FF88 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 008DC 80B0FF8C 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
.L80B0FF90:
/* 008E0 80B0FF90 84A60166 */ lh $a2, 0x0166($a1) ## 00000166
/* 008E4 80B0FF94 50C0000A */ beql $a2, $zero, .L80B0FFC0
/* 008E8 80B0FF98 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 008EC 80B0FF9C 14E60005 */ bne $a3, $a2, .L80B0FFB4
/* 008F0 80B0FFA0 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
/* 008F4 80B0FFA4 0002C880 */ sll $t9, $v0, 2
/* 008F8 80B0FFA8 00994821 */ addu $t1, $a0, $t9
/* 008FC 80B0FFAC 8D2A01D0 */ lw $t2, 0x01D0($t1) ## 000001D0
/* 00900 80B0FFB0 A548015C */ sh $t0, 0x015C($t2) ## 0000015C
.L80B0FFB4:
/* 00904 80B0FFB4 00031C00 */ sll $v1, $v1, 16
/* 00908 80B0FFB8 00031C03 */ sra $v1, $v1, 16
/* 0090C 80B0FFBC 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002
.L80B0FFC0:
/* 00910 80B0FFC0 1447FFF3 */ bne $v0, $a3, .L80B0FF90
/* 00914 80B0FFC4 24A50002 */ addiu $a1, $a1, 0x0002 ## $a1 = 00000002
/* 00918 80B0FFC8 848B016A */ lh $t3, 0x016A($a0) ## 0000016A
/* 0091C 80B0FFCC 3C0C80B1 */ lui $t4, %hi(func_80B0F944) ## $t4 = 80B10000
/* 00920 80B0FFD0 258CF944 */ addiu $t4, $t4, %lo(func_80B0F944) ## $t4 = 80B0F944
/* 00924 80B0FFD4 146B0002 */ bne $v1, $t3, .L80B0FFE0
/* 00928 80B0FFD8 00000000 */ nop
/* 0092C 80B0FFDC AC8C014C */ sw $t4, 0x014C($a0) ## 0000014C
.L80B0FFE0:
/* 00930 80B0FFE0 03E00008 */ jr $ra
/* 00934 80B0FFE4 00000000 */ nop

View file

@ -1,38 +0,0 @@
glabel func_80B0FFE8
/* 00938 80B0FFE8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0093C 80B0FFEC AFB30020 */ sw $s3, 0x0020($sp)
/* 00940 80B0FFF0 AFB2001C */ sw $s2, 0x001C($sp)
/* 00944 80B0FFF4 AFB10018 */ sw $s1, 0x0018($sp)
/* 00948 80B0FFF8 AFB00014 */ sw $s0, 0x0014($sp)
/* 0094C 80B0FFFC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 00950 80B10000 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00954 80B10004 AFA5002C */ sw $a1, 0x002C($sp)
/* 00958 80B10008 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0095C 80B1000C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00960 80B10010 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
.L80B10014:
/* 00964 80B10014 862E0166 */ lh $t6, 0x0166($s1) ## 00000166
/* 00968 80B10018 00107880 */ sll $t7, $s0, 2
/* 0096C 80B1001C 026FC021 */ addu $t8, $s3, $t7
/* 00970 80B10020 55C00007 */ bnel $t6, $zero, .L80B10040
/* 00974 80B10024 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00978 80B10028 8F0401C4 */ lw $a0, 0x01C4($t8) ## 000001C4
/* 0097C 80B1002C 50800004 */ beql $a0, $zero, .L80B10040
/* 00980 80B10030 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
/* 00984 80B10034 0C00B55C */ jal Actor_Kill
/* 00988 80B10038 00000000 */ nop
/* 0098C 80B1003C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000003
.L80B10040:
/* 00990 80B10040 1612FFF4 */ bne $s0, $s2, .L80B10014
/* 00994 80B10044 26310002 */ addiu $s1, $s1, 0x0002 ## $s1 = 00000002
/* 00998 80B10048 3C1980B1 */ lui $t9, %hi(func_80B10070) ## $t9 = 80B10000
/* 0099C 80B1004C 27390070 */ addiu $t9, $t9, %lo(func_80B10070) ## $t9 = 80B10070
/* 009A0 80B10050 AE79014C */ sw $t9, 0x014C($s3) ## 0000014C
/* 009A4 80B10054 8FBF0024 */ lw $ra, 0x0024($sp)
/* 009A8 80B10058 8FB30020 */ lw $s3, 0x0020($sp)
/* 009AC 80B1005C 8FB2001C */ lw $s2, 0x001C($sp)
/* 009B0 80B10060 8FB10018 */ lw $s1, 0x0018($sp)
/* 009B4 80B10064 8FB00014 */ lw $s0, 0x0014($sp)
/* 009B8 80B10068 03E00008 */ jr $ra
/* 009BC 80B1006C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000

View file

@ -1,113 +0,0 @@
.rdata
glabel D_80B10468
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B1049C
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B104D0
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B10504
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B10538
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B1056C
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B105A0
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B105D4
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B10608
.asciz "\x1b[31m \n\x1b[m"
.balign 4
glabel D_80B1063C
.asciz "\x1b[31m \n\x1b[m"
.balign 4
.text
glabel func_80B10070
/* 009C0 80B10070 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 009C4 80B10074 AFBF001C */ sw $ra, 0x001C($sp)
/* 009C8 80B10078 AFB00018 */ sw $s0, 0x0018($sp)
/* 009CC 80B1007C 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 009D0 80B10080 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
/* 009D4 80B10084 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 009D8 80B10088 A44E0110 */ sh $t6, 0x0110($v0) ## 00000110
/* 009DC 80B1008C 84830154 */ lh $v1, 0x0154($a0) ## 00000154
/* 009E0 80B10090 3C0F80B1 */ lui $t7, %hi(func_80B0F838) ## $t7 = 80B10000
/* 009E4 80B10094 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009E8 80B10098 14610004 */ bne $v1, $at, .L80B100AC
/* 009EC 80B1009C 25EFF838 */ addiu $t7, $t7, %lo(func_80B0F838) ## $t7 = 80B0F838
/* 009F0 80B100A0 A4800154 */ sh $zero, 0x0154($a0) ## 00000154
/* 009F4 80B100A4 84830154 */ lh $v1, 0x0154($a0) ## 00000154
/* 009F8 80B100A8 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C
.L80B100AC:
/* 009FC 80B100AC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00A00 80B100B0 14610024 */ bne $v1, $at, .L80B10144
/* 00A04 80B100B4 3C0480B1 */ lui $a0, %hi(D_80B10468) ## $a0 = 80B10000
/* 00A08 80B100B8 3C1880B1 */ lui $t8, %hi(func_80B0F838) ## $t8 = 80B10000
/* 00A0C 80B100BC 2718F838 */ addiu $t8, $t8, %lo(func_80B0F838) ## $t8 = 80B0F838
/* 00A10 80B100C0 AFB80020 */ sw $t8, 0x0020($sp)
/* 00A14 80B100C4 0C00084C */ jal osSyncPrintf
/* 00A18 80B100C8 24840468 */ addiu $a0, $a0, %lo(D_80B10468) ## $a0 = 80B10468
/* 00A1C 80B100CC 3C0480B1 */ lui $a0, %hi(D_80B1049C) ## $a0 = 80B10000
/* 00A20 80B100D0 0C00084C */ jal osSyncPrintf
/* 00A24 80B100D4 2484049C */ addiu $a0, $a0, %lo(D_80B1049C) ## $a0 = 80B1049C
/* 00A28 80B100D8 3C0480B1 */ lui $a0, %hi(D_80B104D0) ## $a0 = 80B10000
/* 00A2C 80B100DC 0C00084C */ jal osSyncPrintf
/* 00A30 80B100E0 248404D0 */ addiu $a0, $a0, %lo(D_80B104D0) ## $a0 = 80B104D0
/* 00A34 80B100E4 3C0480B1 */ lui $a0, %hi(D_80B10504) ## $a0 = 80B10000
/* 00A38 80B100E8 0C00084C */ jal osSyncPrintf
/* 00A3C 80B100EC 24840504 */ addiu $a0, $a0, %lo(D_80B10504) ## $a0 = 80B10504
/* 00A40 80B100F0 3C0480B1 */ lui $a0, %hi(D_80B10538) ## $a0 = 80B10000
/* 00A44 80B100F4 0C00084C */ jal osSyncPrintf
/* 00A48 80B100F8 24840538 */ addiu $a0, $a0, %lo(D_80B10538) ## $a0 = 80B10538
/* 00A4C 80B100FC 3C0480B1 */ lui $a0, %hi(D_80B1056C) ## $a0 = 80B10000
/* 00A50 80B10100 0C00084C */ jal osSyncPrintf
/* 00A54 80B10104 2484056C */ addiu $a0, $a0, %lo(D_80B1056C) ## $a0 = 80B1056C
/* 00A58 80B10108 3C0480B1 */ lui $a0, %hi(D_80B105A0) ## $a0 = 80B10000
/* 00A5C 80B1010C 0C00084C */ jal osSyncPrintf
/* 00A60 80B10110 248405A0 */ addiu $a0, $a0, %lo(D_80B105A0) ## $a0 = 80B105A0
/* 00A64 80B10114 3C0480B1 */ lui $a0, %hi(D_80B105D4) ## $a0 = 80B10000
/* 00A68 80B10118 0C00084C */ jal osSyncPrintf
/* 00A6C 80B1011C 248405D4 */ addiu $a0, $a0, %lo(D_80B105D4) ## $a0 = 80B105D4
/* 00A70 80B10120 3C0480B1 */ lui $a0, %hi(D_80B10608) ## $a0 = 80B10000
/* 00A74 80B10124 0C00084C */ jal osSyncPrintf
/* 00A78 80B10128 24840608 */ addiu $a0, $a0, %lo(D_80B10608) ## $a0 = 80B10608
/* 00A7C 80B1012C 3C0480B1 */ lui $a0, %hi(D_80B1063C) ## $a0 = 80B10000
/* 00A80 80B10130 0C00084C */ jal osSyncPrintf
/* 00A84 80B10134 2484063C */ addiu $a0, $a0, %lo(D_80B1063C) ## $a0 = 80B1063C
/* 00A88 80B10138 A6000154 */ sh $zero, 0x0154($s0) ## 00000154
/* 00A8C 80B1013C 8FB90020 */ lw $t9, 0x0020($sp)
/* 00A90 80B10140 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C
.L80B10144:
/* 00A94 80B10144 8FBF001C */ lw $ra, 0x001C($sp)
/* 00A98 80B10148 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A9C 80B1014C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00AA0 80B10150 03E00008 */ jr $ra
/* 00AA4 80B10154 00000000 */ nop

View file

@ -1,4 +0,0 @@
glabel EnSyatekiMan_Destroy
/* 000CC 80B1093C AFA40000 */ sw $a0, 0x0000($sp)
/* 000D0 80B10940 03E00008 */ jr $ra
/* 000D4 80B10944 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,22 +0,0 @@
glabel EnSyatekiMan_Draw
/* 00CA8 80B11518 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00CAC 80B1151C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CB0 80B11520 AFA40028 */ sw $a0, 0x0028($sp)
/* 00CB4 80B11524 AFA5002C */ sw $a1, 0x002C($sp)
/* 00CB8 80B11528 0C024F46 */ jal func_80093D18
/* 00CBC 80B1152C 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 00CC0 80B11530 8FA20028 */ lw $v0, 0x0028($sp)
/* 00CC4 80B11534 3C0F80B1 */ lui $t7, %hi(func_80B1148C) ## $t7 = 80B10000
/* 00CC8 80B11538 25EF148C */ addiu $t7, $t7, %lo(func_80B1148C) ## $t7 = 80B1148C
/* 00CCC 80B1153C 8C450150 */ lw $a1, 0x0150($v0) ## 00000150
/* 00CD0 80B11540 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C
/* 00CD4 80B11544 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E
/* 00CD8 80B11548 AFA00014 */ sw $zero, 0x0014($sp)
/* 00CDC 80B1154C AFAF0010 */ sw $t7, 0x0010($sp)
/* 00CE0 80B11550 8FA4002C */ lw $a0, 0x002C($sp)
/* 00CE4 80B11554 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 00CE8 80B11558 AFA20018 */ sw $v0, 0x0018($sp)
/* 00CEC 80B1155C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00CF0 80B11560 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00CF4 80B11564 03E00008 */ jr $ra
/* 00CF8 80B11568 00000000 */ nop

View file

@ -1,66 +0,0 @@
.rdata
glabel D_80B116A0
.asciz "\n\n"
.balign 4
glabel D_80B116A4
.asciz "\x1b[32m \n\x1b[m"
.balign 4
.text
glabel EnSyatekiMan_Init
/* 00000 80B10870 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 80B10874 AFB00028 */ sw $s0, 0x0028($sp)
/* 00008 80B10878 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0000C 80B1087C AFBF002C */ sw $ra, 0x002C($sp)
/* 00010 80B10880 3C0480B1 */ lui $a0, %hi(D_80B116A0) ## $a0 = 80B10000
/* 00014 80B10884 AFA50034 */ sw $a1, 0x0034($sp)
/* 00018 80B10888 0C00084C */ jal osSyncPrintf
/* 0001C 80B1088C 248416A0 */ addiu $a0, $a0, %lo(D_80B116A0) ## $a0 = 80B116A0
/* 00020 80B10890 3C0480B1 */ lui $a0, %hi(D_80B116A4) ## $a0 = 80B10000
/* 00024 80B10894 0C00084C */ jal osSyncPrintf
/* 00028 80B10898 248416A4 */ addiu $a0, $a0, %lo(D_80B116A4) ## $a0 = 80B116A4
/* 0002C 80B1089C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00030 80B108A0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 00034 80B108A4 A20E001F */ sb $t6, 0x001F($s0) ## 0000001F
/* 00038 80B108A8 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 0003C 80B108AC 0C00B58B */ jal Actor_SetScale
/* 00040 80B108B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00044 80B108B4 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 00048 80B108B8 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 0004C 80B108BC 260F0190 */ addiu $t7, $s0, 0x0190 ## $t7 = 00000190
/* 00050 80B108C0 261801C6 */ addiu $t8, $s0, 0x01C6 ## $t8 = 000001C6
/* 00054 80B108C4 24190009 */ addiu $t9, $zero, 0x0009 ## $t9 = 00000009
/* 00058 80B108C8 AFB90018 */ sw $t9, 0x0018($sp)
/* 0005C 80B108CC AFB80014 */ sw $t8, 0x0014($sp)
/* 00060 80B108D0 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00064 80B108D4 24E70338 */ addiu $a3, $a3, 0x0338 ## $a3 = 06000338
/* 00068 80B108D8 24C69B38 */ addiu $a2, $a2, 0x9B38 ## $a2 = 06009B38
/* 0006C 80B108DC 8FA40034 */ lw $a0, 0x0034($sp)
/* 00070 80B108E0 0C0291BE */ jal SkelAnime_InitFlex
/* 00074 80B108E4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00078 80B108E8 3C088016 */ lui $t0, %hi(gSaveContext+4)
/* 0007C 80B108EC 8D08E664 */ lw $t0, %lo(gSaveContext+4)($t0)
/* 00080 80B108F0 3C0B80B1 */ lui $t3, %hi(func_80B11310) ## $t3 = 80B10000
/* 00084 80B108F4 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
/* 00088 80B108F8 11000003 */ beq $t0, $zero, .L80B10908
/* 0008C 80B108FC 256B1310 */ addiu $t3, $t3, %lo(func_80B11310) ## $t3 = 80B11310
/* 00090 80B10900 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 00094 80B10904 A6090204 */ sh $t1, 0x0204($s0) ## 00000204
.L80B10908:
/* 00098 80B10908 3C0D80B1 */ lui $t5, %hi(func_80B10948) ## $t5 = 80B10000
/* 0009C 80B1090C 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 000A0 80B10910 25AD0948 */ addiu $t5, $t5, %lo(func_80B10948) ## $t5 = 80B10948
/* 000A4 80B10914 A60A020E */ sh $t2, 0x020E($s0) ## 0000020E
/* 000A8 80B10918 A600020C */ sh $zero, 0x020C($s0) ## 0000020C
/* 000AC 80B1091C AE0B0224 */ sw $t3, 0x0224($s0) ## 00000224
/* 000B0 80B10920 A60C00A8 */ sh $t4, 0x00A8($s0) ## 000000A8
/* 000B4 80B10924 AE0D01FC */ sw $t5, 0x01FC($s0) ## 000001FC
/* 000B8 80B10928 8FBF002C */ lw $ra, 0x002C($sp)
/* 000BC 80B1092C 8FB00028 */ lw $s0, 0x0028($sp)
/* 000C0 80B10930 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 000C4 80B10934 03E00008 */ jr $ra
/* 000C8 80B10938 00000000 */ nop

View file

@ -1,45 +0,0 @@
glabel EnSyatekiMan_Update
/* 00B74 80B113E4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00B78 80B113E8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00B7C 80B113EC AFB00028 */ sw $s0, 0x0028($sp)
/* 00B80 80B113F0 AFA50034 */ sw $a1, 0x0034($sp)
/* 00B84 80B113F4 84820216 */ lh $v0, 0x0216($a0) ## 00000216
/* 00B88 80B113F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B8C 80B113FC 10400002 */ beq $v0, $zero, .L80B11408
/* 00B90 80B11400 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00B94 80B11404 A48E0216 */ sh $t6, 0x0216($a0) ## 00000216
.L80B11408:
/* 00B98 80B11408 8E1901FC */ lw $t9, 0x01FC($s0) ## 000001FC
/* 00B9C 80B1140C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BA0 80B11410 8FA50034 */ lw $a1, 0x0034($sp)
/* 00BA4 80B11414 0320F809 */ jalr $ra, $t9
/* 00BA8 80B11418 00000000 */ nop
/* 00BAC 80B1141C 0C2C455B */ jal func_80B1156C
/* 00BB0 80B11420 00000000 */ nop
/* 00BB4 80B11424 8E190224 */ lw $t9, 0x0224($s0) ## 00000224
/* 00BB8 80B11428 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BBC 80B1142C 0320F809 */ jalr $ra, $t9
/* 00BC0 80B11430 00000000 */ nop
/* 00BC4 80B11434 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 00BC8 80B11438 44810000 */ mtc1 $at, $f0 ## $f0 = 70.00
/* 00BCC 80B1143C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BD0 80B11440 44050000 */ mfc1 $a1, $f0
/* 00BD4 80B11444 0C00B56E */ jal Actor_SetHeight
/* 00BD8 80B11448 E600003C */ swc1 $f0, 0x003C($s0) ## 0000003C
/* 00BDC 80B1144C 8E180038 */ lw $t8, 0x0038($s0) ## 00000038
/* 00BE0 80B11450 8FA40034 */ lw $a0, 0x0034($sp)
/* 00BE4 80B11454 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00BE8 80B11458 AFB80010 */ sw $t8, 0x0010($sp)
/* 00BEC 80B1145C 8E0F003C */ lw $t7, 0x003C($s0) ## 0000003C
/* 00BF0 80B11460 26060200 */ addiu $a2, $s0, 0x0200 ## $a2 = 00000200
/* 00BF4 80B11464 26070206 */ addiu $a3, $s0, 0x0206 ## $a3 = 00000206
/* 00BF8 80B11468 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00BFC 80B1146C 8E180040 */ lw $t8, 0x0040($s0) ## 00000040
/* 00C00 80B11470 0C00E0A4 */ jal func_80038290
/* 00C04 80B11474 AFB80018 */ sw $t8, 0x0018($sp)
/* 00C08 80B11478 8FBF002C */ lw $ra, 0x002C($sp)
/* 00C0C 80B1147C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00C10 80B11480 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00C14 80B11484 03E00008 */ jr $ra
/* 00C18 80B11488 00000000 */ nop

View file

@ -1,40 +0,0 @@
glabel func_80B10948
/* 000D8 80B10948 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 000DC 80B1094C AFA40028 */ sw $a0, 0x0028($sp)
/* 000E0 80B10950 AFBF0024 */ sw $ra, 0x0024($sp)
/* 000E4 80B10954 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 000E8 80B10958 AFA5002C */ sw $a1, 0x002C($sp)
/* 000EC 80B1095C 0C028800 */ jal SkelAnime_GetFrameCount
/* 000F0 80B10960 24840338 */ addiu $a0, $a0, 0x0338 ## $a0 = 06000338
/* 000F4 80B10964 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 000F8 80B10968 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 000FC 80B1096C 44819000 */ mtc1 $at, $f18 ## $f18 = -10.00
/* 00100 80B10970 468021A0 */ cvt.s.w $f6, $f4
/* 00104 80B10974 8FA40028 */ lw $a0, 0x0028($sp)
/* 00108 80B10978 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0010C 80B1097C 24A50338 */ addiu $a1, $a1, 0x0338 ## $a1 = 06000338
/* 00110 80B10980 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00114 80B10984 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00118 80B10988 4600320D */ trunc.w.s $f8, $f6
/* 0011C 80B1098C AFA00014 */ sw $zero, 0x0014($sp)
/* 00120 80B10990 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 00124 80B10994 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00128 80B10998 440F4000 */ mfc1 $t7, $f8
/* 0012C 80B1099C 00000000 */ nop
/* 00130 80B109A0 000FC400 */ sll $t8, $t7, 16
/* 00134 80B109A4 0018CC03 */ sra $t9, $t8, 16
/* 00138 80B109A8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 0013C 80B109AC 00000000 */ nop
/* 00140 80B109B0 46805420 */ cvt.s.w $f16, $f10
/* 00144 80B109B4 0C029468 */ jal SkelAnime_ChangeAnim
/* 00148 80B109B8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0014C 80B109BC 8FA90028 */ lw $t1, 0x0028($sp)
/* 00150 80B109C0 3C0880B1 */ lui $t0, %hi(func_80B109DC) ## $t0 = 80B10000
/* 00154 80B109C4 250809DC */ addiu $t0, $t0, %lo(func_80B109DC) ## $t0 = 80B109DC
/* 00158 80B109C8 AD2801FC */ sw $t0, 0x01FC($t1) ## 000001FC
/* 0015C 80B109CC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00160 80B109D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00164 80B109D4 03E00008 */ jr $ra
/* 00168 80B109D8 00000000 */ nop

View file

@ -1,22 +0,0 @@
glabel func_80B109DC
/* 0016C 80B109DC AFA50004 */ sw $a1, 0x0004($sp)
/* 00170 80B109E0 848E0214 */ lh $t6, 0x0214($a0) ## 00000214
/* 00174 80B109E4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00178 80B109E8 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 0017C 80B109EC 15C10002 */ bne $t6, $at, .L80B109F8
/* 00180 80B109F0 3C1880B1 */ lui $t8, %hi(D_80B11690) ## $t8 = 80B10000
/* 00184 80B109F4 A48F0210 */ sh $t7, 0x0210($a0) ## 00000210
.L80B109F8:
/* 00188 80B109F8 84820210 */ lh $v0, 0x0210($a0) ## 00000210
/* 0018C 80B109FC 3C1980B1 */ lui $t9, %hi(D_80B11698) ## $t9 = 80B10000
/* 00190 80B10A00 3C0880B1 */ lui $t0, %hi(func_80B10A2C) ## $t0 = 80B10000
/* 00194 80B10A04 00021040 */ sll $v0, $v0, 1
/* 00198 80B10A08 0302C021 */ addu $t8, $t8, $v0
/* 0019C 80B10A0C 87181690 */ lh $t8, %lo(D_80B11690)($t8)
/* 001A0 80B10A10 0322C821 */ addu $t9, $t9, $v0
/* 001A4 80B10A14 25080A2C */ addiu $t0, $t0, %lo(func_80B10A2C) ## $t0 = 80B10A2C
/* 001A8 80B10A18 A498010E */ sh $t8, 0x010E($a0) ## 0000010E
/* 001AC 80B10A1C 87391698 */ lh $t9, %lo(D_80B11698)($t9)
/* 001B0 80B10A20 AC8801FC */ sw $t0, 0x01FC($a0) ## 000001FC
/* 001B4 80B10A24 03E00008 */ jr $ra
/* 001B8 80B10A28 A4990212 */ sh $t9, 0x0212($a0) ## 00000212

View file

@ -1,26 +0,0 @@
glabel func_80B10A2C
/* 001BC 80B10A2C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001C0 80B10A30 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001C4 80B10A34 AFA40018 */ sw $a0, 0x0018($sp)
/* 001C8 80B10A38 AFA5001C */ sw $a1, 0x001C($sp)
/* 001CC 80B10A3C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 001D0 80B10A40 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 001D4 80B10A44 8FA40018 */ lw $a0, 0x0018($sp)
/* 001D8 80B10A48 0C00BC65 */ jal func_8002F194
/* 001DC 80B10A4C 8FA5001C */ lw $a1, 0x001C($sp)
/* 001E0 80B10A50 10400005 */ beq $v0, $zero, .L80B10A68
/* 001E4 80B10A54 8FA40018 */ lw $a0, 0x0018($sp)
/* 001E8 80B10A58 3C0E80B1 */ lui $t6, %hi(func_80B10A84) ## $t6 = 80B10000
/* 001EC 80B10A5C 25CE0A84 */ addiu $t6, $t6, %lo(func_80B10A84) ## $t6 = 80B10A84
/* 001F0 80B10A60 10000004 */ beq $zero, $zero, .L80B10A74
/* 001F4 80B10A64 AC8E01FC */ sw $t6, 0x01FC($a0) ## 000001FC
.L80B10A68:
/* 001F8 80B10A68 8FA5001C */ lw $a1, 0x001C($sp)
/* 001FC 80B10A6C 0C00BCB3 */ jal func_8002F2CC
/* 00200 80B10A70 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
.L80B10A74:
/* 00204 80B10A74 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00208 80B10A78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0020C 80B10A7C 03E00008 */ jr $ra
/* 00210 80B10A80 00000000 */ nop

View file

@ -1,121 +0,0 @@
glabel func_80B10A84
/* 00214 80B10A84 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00218 80B10A88 AFB00018 */ sw $s0, 0x0018($sp)
/* 0021C 80B10A8C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00220 80B10A90 AFBF001C */ sw $ra, 0x001C($sp)
/* 00224 80B10A94 AFA5002C */ sw $a1, 0x002C($sp)
/* 00228 80B10A98 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0022C 80B10A9C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00230 80B10AA0 A7A00026 */ sh $zero, 0x0026($sp)
/* 00234 80B10AA4 920E021C */ lbu $t6, 0x021C($s0) ## 0000021C
/* 00238 80B10AA8 87A30026 */ lh $v1, 0x0026($sp)
/* 0023C 80B10AAC 8FB8002C */ lw $t8, 0x002C($sp)
/* 00240 80B10AB0 11C00004 */ beq $t6, $zero, .L80B10AC4
/* 00244 80B10AB4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00248 80B10AB8 240FFFFE */ addiu $t7, $zero, 0xFFFE ## $t7 = FFFFFFFE
/* 0024C 80B10ABC 00380821 */ addu $at, $at, $t8
/* 00250 80B10AC0 A02F1E5C */ sb $t7, 0x1E5C($at) ## 00011E5C
.L80B10AC4:
/* 00254 80B10AC4 8FA4002C */ lw $a0, 0x002C($sp)
/* 00258 80B10AC8 A7A30026 */ sh $v1, 0x0026($sp)
/* 0025C 80B10ACC 0C042F6F */ jal func_8010BDBC
/* 00260 80B10AD0 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00264 80B10AD4 86190212 */ lh $t9, 0x0212($s0) ## 00000212
/* 00268 80B10AD8 87A30026 */ lh $v1, 0x0026($sp)
/* 0026C 80B10ADC 8FA4002C */ lw $a0, 0x002C($sp)
/* 00270 80B10AE0 5722004E */ bnel $t9, $v0, .L80B10C1C
/* 00274 80B10AE4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00278 80B10AE8 0C041AF2 */ jal func_80106BC8
/* 0027C 80B10AEC A7A30026 */ sh $v1, 0x0026($sp)
/* 00280 80B10AF0 10400049 */ beq $v0, $zero, .L80B10C18
/* 00284 80B10AF4 87A30026 */ lh $v1, 0x0026($sp)
/* 00288 80B10AF8 86080210 */ lh $t0, 0x0210($s0) ## 00000210
/* 0028C 80B10AFC 8FA9002C */ lw $t1, 0x002C($sp)
/* 00290 80B10B00 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
/* 00294 80B10B04 1500002F */ bne $t0, $zero, .L80B10BC4
/* 00298 80B10B08 8FA4002C */ lw $a0, 0x002C($sp)
/* 0029C 80B10B0C 00491021 */ addu $v0, $v0, $t1
/* 002A0 80B10B10 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD
/* 002A4 80B10B14 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 002A8 80B10B18 3C0A8016 */ lui $t2, %hi(gSaveContext+0x34)
/* 002AC 80B10B1C 10400005 */ beq $v0, $zero, .L80B10B34
/* 002B0 80B10B20 00000000 */ nop
/* 002B4 80B10B24 1041001B */ beq $v0, $at, .L80B10B94
/* 002B8 80B10B28 3C0F80B1 */ lui $t7, %hi(D_80B11696) ## $t7 = 80B10000
/* 002BC 80B10B2C 10000020 */ beq $zero, $zero, .L80B10BB0
/* 002C0 80B10B30 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
.L80B10B34:
/* 002C4 80B10B34 854AE694 */ lh $t2, %lo(gSaveContext+0x34)($t2)
/* 002C8 80B10B38 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 002CC 80B10B3C 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 002D0 80B10B40 29410014 */ slti $at, $t2, 0x0014
/* 002D4 80B10B44 54200008 */ bnel $at, $zero, .L80B10B68
/* 002D8 80B10B48 A60C0210 */ sh $t4, 0x0210($s0) ## 00000210
/* 002DC 80B10B4C 0C021CC3 */ jal Rupees_ChangeBy
/* 002E0 80B10B50 2404FFEC */ addiu $a0, $zero, 0xFFEC ## $a0 = FFFFFFEC
/* 002E4 80B10B54 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 002E8 80B10B58 A60B0210 */ sh $t3, 0x0210($s0) ## 00000210
/* 002EC 80B10B5C 10000002 */ beq $zero, $zero, .L80B10B68
/* 002F0 80B10B60 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 002F4 80B10B64 A60C0210 */ sh $t4, 0x0210($s0) ## 00000210
.L80B10B68:
/* 002F8 80B10B68 86020210 */ lh $v0, 0x0210($s0) ## 00000210
/* 002FC 80B10B6C 3C0D80B1 */ lui $t5, %hi(D_80B11690) ## $t5 = 80B10000
/* 00300 80B10B70 3C0E80B1 */ lui $t6, %hi(D_80B11698) ## $t6 = 80B10000
/* 00304 80B10B74 00021040 */ sll $v0, $v0, 1
/* 00308 80B10B78 01A26821 */ addu $t5, $t5, $v0
/* 0030C 80B10B7C 85AD1690 */ lh $t5, %lo(D_80B11690)($t5)
/* 00310 80B10B80 01C27021 */ addu $t6, $t6, $v0
/* 00314 80B10B84 A60D010E */ sh $t5, 0x010E($s0) ## 0000010E
/* 00318 80B10B88 85CE1698 */ lh $t6, %lo(D_80B11698)($t6)
/* 0031C 80B10B8C 10000007 */ beq $zero, $zero, .L80B10BAC
/* 00320 80B10B90 A60E0212 */ sh $t6, 0x0212($s0) ## 00000212
.L80B10B94:
/* 00324 80B10B94 85EF1696 */ lh $t7, %lo(D_80B11696)($t7)
/* 00328 80B10B98 3C1880B1 */ lui $t8, %hi(D_80B1169E) ## $t8 = 80B10000
/* 0032C 80B10B9C 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00330 80B10BA0 A60F010E */ sh $t7, 0x010E($s0) ## 0000010E
/* 00334 80B10BA4 8718169E */ lh $t8, %lo(D_80B1169E)($t8)
/* 00338 80B10BA8 A6180212 */ sh $t8, 0x0212($s0) ## 00000212
.L80B10BAC:
/* 0033C 80B10BAC 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
.L80B10BB0:
/* 00340 80B10BB0 A7A30026 */ sh $v1, 0x0026($sp)
/* 00344 80B10BB4 0C042DC8 */ jal func_8010B720
/* 00348 80B10BB8 8FA4002C */ lw $a0, 0x002C($sp)
/* 0034C 80B10BBC 10000004 */ beq $zero, $zero, .L80B10BD0
/* 00350 80B10BC0 87A30026 */ lh $v1, 0x0026($sp)
.L80B10BC4:
/* 00354 80B10BC4 0C041B33 */ jal func_80106CCC
/* 00358 80B10BC8 A7A30026 */ sh $v1, 0x0026($sp)
/* 0035C 80B10BCC 87A30026 */ lh $v1, 0x0026($sp)
.L80B10BD0:
/* 00360 80B10BD0 10600009 */ beq $v1, $zero, .L80B10BF8
/* 00364 80B10BD4 3C1980B1 */ lui $t9, %hi(func_80B109DC) ## $t9 = 80B10000
/* 00368 80B10BD8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0036C 80B10BDC 10610009 */ beq $v1, $at, .L80B10C04
/* 00370 80B10BE0 3C0880B1 */ lui $t0, %hi(func_80B10CD4) ## $t0 = 80B10000
/* 00374 80B10BE4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00378 80B10BE8 10610009 */ beq $v1, $at, .L80B10C10
/* 0037C 80B10BEC 3C0980B1 */ lui $t1, %hi(func_80B10C2C) ## $t1 = 80B10000
/* 00380 80B10BF0 1000000A */ beq $zero, $zero, .L80B10C1C
/* 00384 80B10BF4 8FBF001C */ lw $ra, 0x001C($sp)
.L80B10BF8:
/* 00388 80B10BF8 273909DC */ addiu $t9, $t9, %lo(func_80B109DC) ## $t9 = 80B109DC
/* 0038C 80B10BFC 10000006 */ beq $zero, $zero, .L80B10C18
/* 00390 80B10C00 AE1901FC */ sw $t9, 0x01FC($s0) ## 000001FC
.L80B10C04:
/* 00394 80B10C04 25080CD4 */ addiu $t0, $t0, %lo(func_80B10CD4) ## $t0 = 80B10CD4
/* 00398 80B10C08 10000003 */ beq $zero, $zero, .L80B10C18
/* 0039C 80B10C0C AE0801FC */ sw $t0, 0x01FC($s0) ## 000001FC
.L80B10C10:
/* 003A0 80B10C10 25290C2C */ addiu $t1, $t1, %lo(func_80B10C2C) ## $t1 = 80B10C2C
/* 003A4 80B10C14 AE0901FC */ sw $t1, 0x01FC($s0) ## 000001FC
.L80B10C18:
/* 003A8 80B10C18 8FBF001C */ lw $ra, 0x001C($sp)
.L80B10C1C:
/* 003AC 80B10C1C 8FB00018 */ lw $s0, 0x0018($sp)
/* 003B0 80B10C20 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 003B4 80B10C24 03E00008 */ jr $ra
/* 003B8 80B10C28 00000000 */ nop

View file

@ -1,47 +0,0 @@
glabel func_80B10C2C
/* 003BC 80B10C2C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 003C0 80B10C30 AFB00014 */ sw $s0, 0x0014($sp)
/* 003C4 80B10C34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003C8 80B10C38 AFBF001C */ sw $ra, 0x001C($sp)
/* 003CC 80B10C3C AFB10018 */ sw $s1, 0x0018($sp)
/* 003D0 80B10C40 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 003D4 80B10C44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 003D8 80B10C48 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 003DC 80B10C4C 920E021C */ lbu $t6, 0x021C($s0) ## 0000021C
/* 003E0 80B10C50 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 003E4 80B10C54 00310821 */ addu $at, $at, $s1
/* 003E8 80B10C58 11C00002 */ beq $t6, $zero, .L80B10C64
/* 003EC 80B10C5C 240FFFFE */ addiu $t7, $zero, 0xFFFE ## $t7 = FFFFFFFE
/* 003F0 80B10C60 A02F1E5C */ sb $t7, 0x1E5C($at) ## 00011E5C
.L80B10C64:
/* 003F4 80B10C64 0C042F6F */ jal func_8010BDBC
/* 003F8 80B10C68 262420D8 */ addiu $a0, $s1, 0x20D8 ## $a0 = 000020D8
/* 003FC 80B10C6C 86180212 */ lh $t8, 0x0212($s0) ## 00000212
/* 00400 80B10C70 57020014 */ bnel $t8, $v0, .L80B10CC4
/* 00404 80B10C74 8FBF001C */ lw $ra, 0x001C($sp)
/* 00408 80B10C78 0C041AF2 */ jal func_80106BC8
/* 0040C 80B10C7C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00410 80B10C80 50400010 */ beql $v0, $zero, .L80B10CC4
/* 00414 80B10C84 8FBF001C */ lw $ra, 0x001C($sp)
/* 00418 80B10C88 9219021C */ lbu $t9, 0x021C($s0) ## 0000021C
/* 0041C 80B10C8C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00420 80B10C90 13200006 */ beq $t9, $zero, .L80B10CAC
/* 00424 80B10C94 00000000 */ nop
/* 00428 80B10C98 0C0200FC */ jal func_800803F0
/* 0042C 80B10C9C 86050228 */ lh $a1, 0x0228($s0) ## 00000228
/* 00430 80B10CA0 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
/* 00434 80B10CA4 A6080228 */ sh $t0, 0x0228($s0) ## 00000228
/* 00438 80B10CA8 A200021C */ sb $zero, 0x021C($s0) ## 0000021C
.L80B10CAC:
/* 0043C 80B10CAC 0C041B33 */ jal func_80106CCC
/* 00440 80B10CB0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00444 80B10CB4 3C0980B1 */ lui $t1, %hi(func_80B109DC) ## $t1 = 80B10000
/* 00448 80B10CB8 252909DC */ addiu $t1, $t1, %lo(func_80B109DC) ## $t1 = 80B109DC
/* 0044C 80B10CBC AE0901FC */ sw $t1, 0x01FC($s0) ## 000001FC
/* 00450 80B10CC0 8FBF001C */ lw $ra, 0x001C($sp)
.L80B10CC4:
/* 00454 80B10CC4 8FB00014 */ lw $s0, 0x0014($sp)
/* 00458 80B10CC8 8FB10018 */ lw $s1, 0x0018($sp)
/* 0045C 80B10CCC 03E00008 */ jr $ra
/* 00460 80B10CD0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,53 +0,0 @@
glabel func_80B10CD4
/* 00464 80B10CD4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00468 80B10CD8 AFB00014 */ sw $s0, 0x0014($sp)
/* 0046C 80B10CDC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00470 80B10CE0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00474 80B10CE4 AFB10018 */ sw $s1, 0x0018($sp)
/* 00478 80B10CE8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0047C 80B10CEC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00480 80B10CF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00484 80B10CF4 920E021C */ lbu $t6, 0x021C($s0) ## 0000021C
/* 00488 80B10CF8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0048C 80B10CFC 00310821 */ addu $at, $at, $s1
/* 00490 80B10D00 11C00002 */ beq $t6, $zero, .L80B10D0C
/* 00494 80B10D04 240FFFFE */ addiu $t7, $zero, 0xFFFE ## $t7 = FFFFFFFE
/* 00498 80B10D08 A02F1E5C */ sb $t7, 0x1E5C($at) ## 00011E5C
.L80B10D0C:
/* 0049C 80B10D0C 0C042F6F */ jal func_8010BDBC
/* 004A0 80B10D10 262420D8 */ addiu $a0, $s1, 0x20D8 ## $a0 = 000020D8
/* 004A4 80B10D14 86180212 */ lh $t8, 0x0212($s0) ## 00000212
/* 004A8 80B10D18 5702001A */ bnel $t8, $v0, .L80B10D84
/* 004AC 80B10D1C 8FBF001C */ lw $ra, 0x001C($sp)
/* 004B0 80B10D20 0C041AF2 */ jal func_80106BC8
/* 004B4 80B10D24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004B8 80B10D28 50400016 */ beql $v0, $zero, .L80B10D84
/* 004BC 80B10D2C 8FBF001C */ lw $ra, 0x001C($sp)
/* 004C0 80B10D30 9219021C */ lbu $t9, 0x021C($s0) ## 0000021C
/* 004C4 80B10D34 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004C8 80B10D38 13200006 */ beq $t9, $zero, .L80B10D54
/* 004CC 80B10D3C 00000000 */ nop
/* 004D0 80B10D40 0C0200FC */ jal func_800803F0
/* 004D4 80B10D44 86050228 */ lh $a1, 0x0228($s0) ## 00000228
/* 004D8 80B10D48 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
/* 004DC 80B10D4C A6080228 */ sh $t0, 0x0228($s0) ## 00000228
/* 004E0 80B10D50 A200021C */ sb $zero, 0x021C($s0) ## 0000021C
.L80B10D54:
/* 004E4 80B10D54 0C041B33 */ jal func_80106CCC
/* 004E8 80B10D58 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004EC 80B10D5C 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 004F0 80B10D60 3C0B80B1 */ lui $t3, %hi(func_80B10D94) ## $t3 = 80B10000
/* 004F4 80B10D64 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 004F8 80B10D68 8C490130 */ lw $t1, 0x0130($v0) ## 00000130
/* 004FC 80B10D6C 256B0D94 */ addiu $t3, $t3, %lo(func_80B10D94) ## $t3 = 80B10D94
/* 00500 80B10D70 51200004 */ beql $t1, $zero, .L80B10D84
/* 00504 80B10D74 8FBF001C */ lw $ra, 0x001C($sp)
/* 00508 80B10D78 A44A0154 */ sh $t2, 0x0154($v0) ## 00000154
/* 0050C 80B10D7C AE0B01FC */ sw $t3, 0x01FC($s0) ## 000001FC
/* 00510 80B10D80 8FBF001C */ lw $ra, 0x001C($sp)
.L80B10D84:
/* 00514 80B10D84 8FB00014 */ lw $s0, 0x0014($sp)
/* 00518 80B10D88 8FB10018 */ lw $s1, 0x0018($sp)
/* 0051C 80B10D8C 03E00008 */ jr $ra
/* 00520 80B10D90 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,78 +0,0 @@
glabel func_80B10D94
/* 00524 80B10D94 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00528 80B10D98 AFB00020 */ sw $s0, 0x0020($sp)
/* 0052C 80B10D9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00530 80B10DA0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00534 80B10DA4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00538 80B10DA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 0053C 80B10DAC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00540 80B10DB0 8E030118 */ lw $v1, 0x0118($s0) ## 00000118
/* 00544 80B10DB4 8FA70034 */ lw $a3, 0x0034($sp)
/* 00548 80B10DB8 8C6E0130 */ lw $t6, 0x0130($v1) ## 00000130
/* 0054C 80B10DBC 51C00038 */ beql $t6, $zero, .L80B10EA0
/* 00550 80B10DC0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00554 80B10DC4 846F0154 */ lh $t7, 0x0154($v1) ## 00000154
/* 00558 80B10DC8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0055C 80B10DCC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00560 80B10DD0 15E10032 */ bne $t7, $at, .L80B10E9C
/* 00564 80B10DD4 24051F42 */ addiu $a1, $zero, 0x1F42 ## $a1 = 00001F42
/* 00568 80B10DD8 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
/* 0056C 80B10DDC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 00570 80B10DE0 AFA00010 */ sw $zero, 0x0010($sp)
/* 00574 80B10DE4 0C02003E */ jal func_800800F8
/* 00578 80B10DE8 AFA3002C */ sw $v1, 0x002C($sp)
/* 0057C 80B10DEC 8FA3002C */ lw $v1, 0x002C($sp)
/* 00580 80B10DF0 8FA70034 */ lw $a3, 0x0034($sp)
/* 00584 80B10DF4 A6020228 */ sh $v0, 0x0228($s0) ## 00000228
/* 00588 80B10DF8 84640156 */ lh $a0, 0x0156($v1) ## 00000156
/* 0058C 80B10DFC 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 00590 80B10E00 240FFFFE */ addiu $t7, $zero, 0xFFFE ## $t7 = FFFFFFFE
/* 00594 80B10E04 1081000B */ beq $a0, $at, .L80B10E34
/* 00598 80B10E08 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 0059C 80B10E0C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
/* 005A0 80B10E10 10810008 */ beq $a0, $at, .L80B10E34
/* 005A4 80B10E14 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 005A8 80B10E18 1481000B */ bne $a0, $at, .L80B10E48
/* 005AC 80B10E1C 240A0003 */ addiu $t2, $zero, 0x0003 ## $t2 = 00000003
/* 005B0 80B10E20 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 005B4 80B10E24 241971AF */ addiu $t9, $zero, 0x71AF ## $t9 = 000071AF
/* 005B8 80B10E28 A6180214 */ sh $t8, 0x0214($s0) ## 00000214
/* 005BC 80B10E2C 10000012 */ beq $zero, $zero, .L80B10E78
/* 005C0 80B10E30 A619010E */ sh $t9, 0x010E($s0) ## 0000010E
.L80B10E34:
/* 005C4 80B10E34 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 005C8 80B10E38 240971AE */ addiu $t1, $zero, 0x71AE ## $t1 = 000071AE
/* 005CC 80B10E3C A6080214 */ sh $t0, 0x0214($s0) ## 00000214
/* 005D0 80B10E40 1000000D */ beq $zero, $zero, .L80B10E78
/* 005D4 80B10E44 A609010E */ sh $t1, 0x010E($s0) ## 0000010E
.L80B10E48:
/* 005D8 80B10E48 240B71AD */ addiu $t3, $zero, 0x71AD ## $t3 = 000071AD
/* 005DC 80B10E4C 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000
/* 005E0 80B10E50 A60A0214 */ sh $t2, 0x0214($s0) ## 00000214
/* 005E4 80B10E54 A60B010E */ sh $t3, 0x010E($s0) ## 0000010E
/* 005E8 80B10E58 01876021 */ addu $t4, $t4, $a3
/* 005EC 80B10E5C 818C1E5C */ lb $t4, 0x1E5C($t4) ## 00011E5C
/* 005F0 80B10E60 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 005F4 80B10E64 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 005F8 80B10E68 15810003 */ bne $t4, $at, .L80B10E78
/* 005FC 80B10E6C 240E002D */ addiu $t6, $zero, 0x002D ## $t6 = 0000002D
/* 00600 80B10E70 A60D0214 */ sh $t5, 0x0214($s0) ## 00000214
/* 00604 80B10E74 A60E010E */ sh $t6, 0x010E($s0) ## 0000010E
.L80B10E78:
/* 00608 80B10E78 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0060C 80B10E7C 00270821 */ addu $at, $at, $a3
/* 00610 80B10E80 A02F1E5C */ sb $t7, 0x1E5C($at) ## 00011E5C
/* 00614 80B10E84 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
/* 00618 80B10E88 0C042DA0 */ jal func_8010B680
/* 0061C 80B10E8C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00620 80B10E90 3C1880B1 */ lui $t8, %hi(func_80B10EB0) ## $t8 = 80B10000
/* 00624 80B10E94 27180EB0 */ addiu $t8, $t8, %lo(func_80B10EB0) ## $t8 = 80B10EB0
/* 00628 80B10E98 AE1801FC */ sw $t8, 0x01FC($s0) ## 000001FC
.L80B10E9C:
/* 0062C 80B10E9C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B10EA0:
/* 00630 80B10EA0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00634 80B10EA4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00638 80B10EA8 03E00008 */ jr $ra
/* 0063C 80B10EAC 00000000 */ nop

View file

@ -1,203 +0,0 @@
.rdata
glabel D_80B116E8
.asciz "\x1b[32m Equip_Pachinko %d\n\x1b[m"
.balign 4
glabel D_80B1171C
.asciz "\x1b[32m Equip_Bow %d\n\x1b[m"
.balign 4
.text
glabel func_80B10EB0
/* 00640 80B10EB0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00644 80B10EB4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00648 80B10EB8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0064C 80B10EBC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00650 80B10EC0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00654 80B10EC4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00658 80B10EC8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0065C 80B10ECC 8FA4002C */ lw $a0, 0x002C($sp)
/* 00660 80B10ED0 0C042F6F */ jal func_8010BDBC
/* 00664 80B10ED4 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00668 80B10ED8 860E0212 */ lh $t6, 0x0212($s0) ## 00000212
/* 0066C 80B10EDC 55C2009D */ bnel $t6, $v0, .L80B11154
/* 00670 80B10EE0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00674 80B10EE4 0C041AF2 */ jal func_80106BC8
/* 00678 80B10EE8 8FA4002C */ lw $a0, 0x002C($sp)
/* 0067C 80B10EEC 50400099 */ beql $v0, $zero, .L80B11154
/* 00680 80B10EF0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00684 80B10EF4 860F0214 */ lh $t7, 0x0214($s0) ## 00000214
/* 00688 80B10EF8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0068C 80B10EFC 8FA4002C */ lw $a0, 0x002C($sp)
/* 00690 80B10F00 11E10005 */ beq $t7, $at, .L80B10F18
/* 00694 80B10F04 00000000 */ nop
/* 00698 80B10F08 0C0200FC */ jal func_800803F0
/* 0069C 80B10F0C 86050228 */ lh $a1, 0x0228($s0) ## 00000228
/* 006A0 80B10F10 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
/* 006A4 80B10F14 A6180228 */ sh $t8, 0x0228($s0) ## 00000228
.L80B10F18:
/* 006A8 80B10F18 0C041B33 */ jal func_80106CCC
/* 006AC 80B10F1C 8FA4002C */ lw $a0, 0x002C($sp)
/* 006B0 80B10F20 8E040118 */ lw $a0, 0x0118($s0) ## 00000118
/* 006B4 80B10F24 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 006B8 80B10F28 8C990130 */ lw $t9, 0x0130($a0) ## 00000130
/* 006BC 80B10F2C 53200089 */ beql $t9, $zero, .L80B11154
/* 006C0 80B10F30 8FBF0024 */ lw $ra, 0x0024($sp)
/* 006C4 80B10F34 A4880154 */ sh $t0, 0x0154($a0) ## 00000154
/* 006C8 80B10F38 86030214 */ lh $v1, 0x0214($s0) ## 00000214
/* 006CC 80B10F3C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 006D0 80B10F40 A6000210 */ sh $zero, 0x0210($s0) ## 00000210
/* 006D4 80B10F44 10610005 */ beq $v1, $at, .L80B10F5C
/* 006D8 80B10F48 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 006DC 80B10F4C 10610060 */ beq $v1, $at, .L80B110D0
/* 006E0 80B10F50 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
/* 006E4 80B10F54 10000066 */ beq $zero, $zero, .L80B110F0
/* 006E8 80B10F58 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
.L80B10F5C:
/* 006EC 80B10F5C 8E090118 */ lw $t1, 0x0118($s0) ## 00000118
/* 006F0 80B10F60 3C038016 */ lui $v1, %hi(gSaveContext)
/* 006F4 80B10F64 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 006F8 80B10F68 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
/* 006FC 80B10F6C AE090220 */ sw $t1, 0x0220($s0) ## 00000220
/* 00700 80B10F70 8C6A0004 */ lw $t2, 0x0004($v1) ## 8015E664
/* 00704 80B10F74 51400023 */ beql $t2, $zero, .L80B11004
/* 00708 80B10F78 946F0EF0 */ lhu $t7, 0x0EF0($v1) ## 8015F550
/* 0070C 80B10F7C 946B0EF0 */ lhu $t3, 0x0EF0($v1) ## 8015F550
/* 00710 80B10F80 3C0480B1 */ lui $a0, %hi(D_80B116E8) ## $a0 = 80B10000
/* 00714 80B10F84 248416E8 */ addiu $a0, $a0, %lo(D_80B116E8) ## $a0 = 80B116E8
/* 00718 80B10F88 316C2000 */ andi $t4, $t3, 0x2000 ## $t4 = 00000000
/* 0071C 80B10F8C 1580001A */ bne $t4, $zero, .L80B10FF8
/* 00720 80B10F90 240E0055 */ addiu $t6, $zero, 0x0055 ## $t6 = 00000055
/* 00724 80B10F94 3C0E8012 */ lui $t6, %hi(gUpgradeMasks+0x14)
/* 00728 80B10F98 8DCE71C4 */ lw $t6, %lo(gUpgradeMasks+0x14)($t6)
/* 0072C 80B10F9C 8C6D00A0 */ lw $t5, 0x00A0($v1) ## 8015E700
/* 00730 80B10FA0 3C188012 */ lui $t8, %hi(gUpgradeShifts+5)
/* 00734 80B10FA4 931871F9 */ lbu $t8, %lo(gUpgradeShifts+5)($t8)
/* 00738 80B10FA8 01AE7824 */ and $t7, $t5, $t6
/* 0073C 80B10FAC 0C00084C */ jal osSyncPrintf
/* 00740 80B10FB0 030F2807 */ srav $a1, $t7, $t8
/* 00744 80B10FB4 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00748 80B10FB8 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 0074C 80B10FBC 3C088012 */ lui $t0, %hi(gUpgradeMasks+0x14)
/* 00750 80B10FC0 8D0871C4 */ lw $t0, %lo(gUpgradeMasks+0x14)($t0)
/* 00754 80B10FC4 8C7900A0 */ lw $t9, 0x00A0($v1) ## 8015E700
/* 00758 80B10FC8 3C0A8012 */ lui $t2, %hi(gUpgradeShifts+5)
/* 0075C 80B10FCC 914A71F9 */ lbu $t2, %lo(gUpgradeShifts+5)($t2)
/* 00760 80B10FD0 03284824 */ and $t1, $t9, $t0
/* 00764 80B10FD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00768 80B10FD8 01495807 */ srav $t3, $t1, $t2
/* 0076C 80B10FDC 15610004 */ bne $t3, $at, .L80B10FF0
/* 00770 80B10FE0 240D007B */ addiu $t5, $zero, 0x007B ## $t5 = 0000007B
/* 00774 80B10FE4 240C0060 */ addiu $t4, $zero, 0x0060 ## $t4 = 00000060
/* 00778 80B10FE8 1000002D */ beq $zero, $zero, .L80B110A0
/* 0077C 80B10FEC AE0C0218 */ sw $t4, 0x0218($s0) ## 00000218
.L80B10FF0:
/* 00780 80B10FF0 1000002B */ beq $zero, $zero, .L80B110A0
/* 00784 80B10FF4 AE0D0218 */ sw $t5, 0x0218($s0) ## 00000218
.L80B10FF8:
/* 00788 80B10FF8 10000029 */ beq $zero, $zero, .L80B110A0
/* 0078C 80B10FFC AE0E0218 */ sw $t6, 0x0218($s0) ## 00000218
/* 00790 80B11000 946F0EF0 */ lhu $t7, 0x0EF0($v1) ## 8015F550
.L80B11004:
/* 00794 80B11004 3C0480B1 */ lui $a0, %hi(D_80B1171C) ## $a0 = 80B10000
/* 00798 80B11008 2484171C */ addiu $a0, $a0, %lo(D_80B1171C) ## $a0 = 80B1171C
/* 0079C 80B1100C 31F84000 */ andi $t8, $t7, 0x4000 ## $t8 = 00000000
/* 007A0 80B11010 17000022 */ bne $t8, $zero, .L80B1109C
/* 007A4 80B11014 24080055 */ addiu $t0, $zero, 0x0055 ## $t0 = 00000055
/* 007A8 80B11018 3C088012 */ lui $t0, %hi(gUpgradeMasks)
/* 007AC 80B1101C 8D0871B0 */ lw $t0, %lo(gUpgradeMasks)($t0)
/* 007B0 80B11020 8C7900A0 */ lw $t9, 0x00A0($v1) ## 8015E700
/* 007B4 80B11024 3C0A8012 */ lui $t2, %hi(gUpgradeShifts)
/* 007B8 80B11028 914A71F4 */ lbu $t2, %lo(gUpgradeShifts)($t2)
/* 007BC 80B1102C 03284824 */ and $t1, $t9, $t0
/* 007C0 80B11030 0C00084C */ jal osSyncPrintf
/* 007C4 80B11034 01492807 */ srav $a1, $t1, $t2
/* 007C8 80B11038 3C038016 */ lui $v1, %hi(gSaveContext)
/* 007CC 80B1103C 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 007D0 80B11040 3C0C8012 */ lui $t4, %hi(gUpgradeMasks)
/* 007D4 80B11044 8D8C71B0 */ lw $t4, %lo(gUpgradeMasks)($t4)
/* 007D8 80B11048 8C6B00A0 */ lw $t3, 0x00A0($v1) ## 8015E700
/* 007DC 80B1104C 3C0E8012 */ lui $t6, %hi(gUpgradeShifts)
/* 007E0 80B11050 91CE71F4 */ lbu $t6, %lo(gUpgradeShifts)($t6)
/* 007E4 80B11054 016C6824 */ and $t5, $t3, $t4
/* 007E8 80B11058 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 007EC 80B1105C 01CD1007 */ srav $v0, $t5, $t6
/* 007F0 80B11060 10400008 */ beq $v0, $zero, .L80B11084
/* 007F4 80B11064 240F0055 */ addiu $t7, $zero, 0x0055 ## $t7 = 00000055
/* 007F8 80B11068 10410008 */ beq $v0, $at, .L80B1108C
/* 007FC 80B1106C 24180030 */ addiu $t8, $zero, 0x0030 ## $t8 = 00000030
/* 00800 80B11070 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00804 80B11074 10410007 */ beq $v0, $at, .L80B11094
/* 00808 80B11078 24190031 */ addiu $t9, $zero, 0x0031 ## $t9 = 00000031
/* 0080C 80B1107C 10000009 */ beq $zero, $zero, .L80B110A4
/* 00810 80B11080 3C01447A */ lui $at, 0x447A ## $at = 447A0000
.L80B11084:
/* 00814 80B11084 10000006 */ beq $zero, $zero, .L80B110A0
/* 00818 80B11088 AE0F0218 */ sw $t7, 0x0218($s0) ## 00000218
.L80B1108C:
/* 0081C 80B1108C 10000004 */ beq $zero, $zero, .L80B110A0
/* 00820 80B11090 AE180218 */ sw $t8, 0x0218($s0) ## 00000218
.L80B11094:
/* 00824 80B11094 10000002 */ beq $zero, $zero, .L80B110A0
/* 00828 80B11098 AE190218 */ sw $t9, 0x0218($s0) ## 00000218
.L80B1109C:
/* 0082C 80B1109C AE080218 */ sw $t0, 0x0218($s0) ## 00000218
.L80B110A0:
/* 00830 80B110A0 3C01447A */ lui $at, 0x447A ## $at = 447A0000
.L80B110A4:
/* 00834 80B110A4 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 00838 80B110A8 8E060218 */ lw $a2, 0x0218($s0) ## 00000218
/* 0083C 80B110AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00840 80B110B0 8FA5002C */ lw $a1, 0x002C($sp)
/* 00844 80B110B4 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
/* 00848 80B110B8 0C00BD0D */ jal func_8002F434
/* 0084C 80B110BC E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00850 80B110C0 3C0980B1 */ lui $t1, %hi(func_80B11164) ## $t1 = 80B10000
/* 00854 80B110C4 25291164 */ addiu $t1, $t1, %lo(func_80B11164) ## $t1 = 80B11164
/* 00858 80B110C8 10000021 */ beq $zero, $zero, .L80B11150
/* 0085C 80B110CC AE0901FC */ sw $t1, 0x01FC($s0) ## 000001FC
.L80B110D0:
/* 00860 80B110D0 A60A0216 */ sh $t2, 0x0216($s0) ## 00000216
/* 00864 80B110D4 8FA4002C */ lw $a0, 0x002C($sp)
/* 00868 80B110D8 0C023BD1 */ jal func_8008EF44
/* 0086C 80B110DC 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 00870 80B110E0 3C0B80B1 */ lui $t3, %hi(func_80B112A0) ## $t3 = 80B10000
/* 00874 80B110E4 256B12A0 */ addiu $t3, $t3, %lo(func_80B112A0) ## $t3 = 80B112A0
/* 00878 80B110E8 10000019 */ beq $zero, $zero, .L80B11150
/* 0087C 80B110EC AE0B01FC */ sw $t3, 0x01FC($s0) ## 000001FC
.L80B110F0:
/* 00880 80B110F0 14610005 */ bne $v1, $at, .L80B11108
/* 00884 80B110F4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 00888 80B110F8 3C0C80B1 */ lui $t4, %hi(func_80B109DC) ## $t4 = 80B10000
/* 0088C 80B110FC 258C09DC */ addiu $t4, $t4, %lo(func_80B109DC) ## $t4 = 80B109DC
/* 00890 80B11100 10000013 */ beq $zero, $zero, .L80B11150
/* 00894 80B11104 AE0C01FC */ sw $t4, 0x01FC($s0) ## 000001FC
.L80B11108:
/* 00898 80B11108 86020210 */ lh $v0, 0x0210($s0) ## 00000210
/* 0089C 80B1110C 3C0E80B1 */ lui $t6, %hi(D_80B11690) ## $t6 = 80B10000
/* 008A0 80B11110 A20D021C */ sb $t5, 0x021C($s0) ## 0000021C
/* 008A4 80B11114 00021040 */ sll $v0, $v0, 1
/* 008A8 80B11118 01C27021 */ addu $t6, $t6, $v0
/* 008AC 80B1111C 85CE1690 */ lh $t6, %lo(D_80B11690)($t6)
/* 008B0 80B11120 3C0F80B1 */ lui $t7, %hi(D_80B11698) ## $t7 = 80B10000
/* 008B4 80B11124 01E27821 */ addu $t7, $t7, $v0
/* 008B8 80B11128 A60E010E */ sh $t6, 0x010E($s0) ## 0000010E
/* 008BC 80B1112C 85EF1698 */ lh $t7, %lo(D_80B11698)($t7)
/* 008C0 80B11130 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 008C4 80B11134 31C5FFFF */ andi $a1, $t6, 0xFFFF ## $a1 = 00000000
/* 008C8 80B11138 A60F0212 */ sh $t7, 0x0212($s0) ## 00000212
/* 008CC 80B1113C 0C042DA0 */ jal func_8010B680
/* 008D0 80B11140 8FA4002C */ lw $a0, 0x002C($sp)
/* 008D4 80B11144 3C1880B1 */ lui $t8, %hi(func_80B10A84) ## $t8 = 80B10000
/* 008D8 80B11148 27180A84 */ addiu $t8, $t8, %lo(func_80B10A84) ## $t8 = 80B10A84
/* 008DC 80B1114C AE1801FC */ sw $t8, 0x01FC($s0) ## 000001FC
.L80B11150:
/* 008E0 80B11150 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B11154:
/* 008E4 80B11154 8FB00020 */ lw $s0, 0x0020($sp)
/* 008E8 80B11158 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 008EC 80B1115C 03E00008 */ jr $ra
/* 008F0 80B11160 00000000 */ nop

View file

@ -1,32 +0,0 @@
glabel func_80B11164
/* 008F4 80B11164 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 008F8 80B11168 AFB00020 */ sw $s0, 0x0020($sp)
/* 008FC 80B1116C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00900 80B11170 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00904 80B11174 AFA5002C */ sw $a1, 0x002C($sp)
/* 00908 80B11178 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 0090C 80B1117C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00910 80B11180 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00914 80B11184 0C00BD04 */ jal Actor_HasParent
/* 00918 80B11188 8FA5002C */ lw $a1, 0x002C($sp)
/* 0091C 80B1118C 10400005 */ beq $v0, $zero, .L80B111A4
/* 00920 80B11190 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00924 80B11194 3C0E80B1 */ lui $t6, %hi(func_80B111D4) ## $t6 = 80B10000
/* 00928 80B11198 25CE11D4 */ addiu $t6, $t6, %lo(func_80B111D4) ## $t6 = 80B111D4
/* 0092C 80B1119C 10000008 */ beq $zero, $zero, .L80B111C0
/* 00930 80B111A0 AE0E01FC */ sw $t6, 0x01FC($s0) ## 000001FC
.L80B111A4:
/* 00934 80B111A4 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 00938 80B111A8 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 0093C 80B111AC 8E060218 */ lw $a2, 0x0218($s0) ## 00000218
/* 00940 80B111B0 8FA5002C */ lw $a1, 0x002C($sp)
/* 00944 80B111B4 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
/* 00948 80B111B8 0C00BD0D */ jal func_8002F434
/* 0094C 80B111BC E7A40010 */ swc1 $f4, 0x0010($sp)
.L80B111C0:
/* 00950 80B111C0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00954 80B111C4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00958 80B111C8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0095C 80B111CC 03E00008 */ jr $ra
/* 00960 80B111D0 00000000 */ nop

View file

@ -1,66 +0,0 @@
.rdata
glabel D_80B11748
.asciz "\x1b[32m \n\x1b[m"
.balign 4
.text
glabel func_80B111D4
/* 00964 80B111D4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00968 80B111D8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0096C 80B111DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00970 80B111E0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00974 80B111E4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00978 80B111E8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 0097C 80B111EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00980 80B111F0 8FA40024 */ lw $a0, 0x0024($sp)
/* 00984 80B111F4 0C042F6F */ jal func_8010BDBC
/* 00988 80B111F8 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 0098C 80B111FC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00990 80B11200 54410023 */ bnel $v0, $at, .L80B11290
/* 00994 80B11204 8FBF001C */ lw $ra, 0x001C($sp)
/* 00998 80B11208 0C041AF2 */ jal func_80106BC8
/* 0099C 80B1120C 8FA40024 */ lw $a0, 0x0024($sp)
/* 009A0 80B11210 1040001E */ beq $v0, $zero, .L80B1128C
/* 009A4 80B11214 3C0480B1 */ lui $a0, %hi(D_80B11748) ## $a0 = 80B10000
/* 009A8 80B11218 0C00084C */ jal osSyncPrintf
/* 009AC 80B1121C 24841748 */ addiu $a0, $a0, %lo(D_80B11748) ## $a0 = 80B11748
/* 009B0 80B11220 3C038016 */ lui $v1, %hi(gSaveContext)
/* 009B4 80B11224 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 009B8 80B11228 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
/* 009BC 80B1122C 3C0C80B1 */ lui $t4, %hi(func_80B109DC) ## $t4 = 80B10000
/* 009C0 80B11230 258C09DC */ addiu $t4, $t4, %lo(func_80B109DC) ## $t4 = 80B109DC
/* 009C4 80B11234 51C00006 */ beql $t6, $zero, .L80B11250
/* 009C8 80B11238 8E020218 */ lw $v0, 0x0218($s0) ## 00000218
/* 009CC 80B1123C 946F0EF0 */ lhu $t7, 0x0EF0($v1) ## 8015F550
/* 009D0 80B11240 35F82000 */ ori $t8, $t7, 0x2000 ## $t8 = 00002000
/* 009D4 80B11244 1000000A */ beq $zero, $zero, .L80B11270
/* 009D8 80B11248 A4780EF0 */ sh $t8, 0x0EF0($v1) ## 8015F550
/* 009DC 80B1124C 8E020218 */ lw $v0, 0x0218($s0) ## 00000218
.L80B11250:
/* 009E0 80B11250 24010030 */ addiu $at, $zero, 0x0030 ## $at = 00000030
/* 009E4 80B11254 10410003 */ beq $v0, $at, .L80B11264
/* 009E8 80B11258 24010031 */ addiu $at, $zero, 0x0031 ## $at = 00000031
/* 009EC 80B1125C 54410005 */ bnel $v0, $at, .L80B11274
/* 009F0 80B11260 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004
.L80B11264:
/* 009F4 80B11264 94790EF0 */ lhu $t9, 0x0EF0($v1) ## 8015F550
/* 009F8 80B11268 37284000 */ ori $t0, $t9, 0x4000 ## $t0 = 00004000
/* 009FC 80B1126C A4680EF0 */ sh $t0, 0x0EF0($v1) ## 8015F550
.L80B11270:
/* 00A00 80B11270 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004
.L80B11274:
/* 00A04 80B11274 8E090220 */ lw $t1, 0x0220($s0) ## 00000220
/* 00A08 80B11278 A6000214 */ sh $zero, 0x0214($s0) ## 00000214
/* 00A0C 80B1127C 354B0001 */ ori $t3, $t2, 0x0001 ## $t3 = 00000001
/* 00A10 80B11280 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004
/* 00A14 80B11284 AE0C01FC */ sw $t4, 0x01FC($s0) ## 000001FC
/* 00A18 80B11288 AE090118 */ sw $t1, 0x0118($s0) ## 00000118
.L80B1128C:
/* 00A1C 80B1128C 8FBF001C */ lw $ra, 0x001C($sp)
.L80B11290:
/* 00A20 80B11290 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A24 80B11294 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00A28 80B11298 03E00008 */ jr $ra
/* 00A2C 80B1129C 00000000 */ nop

View file

@ -1,39 +0,0 @@
.rdata
glabel D_80B11774
.asciz "\x1b[34m\x1b[m\n"
.balign 4
.text
glabel func_80B112A0
/* 00A30 80B112A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00A34 80B112A4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00A38 80B112A8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00A3C 80B112AC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A40 80B112B0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00A44 80B112B4 AFA50018 */ sw $a1, 0x0018($sp)
/* 00A48 80B112B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00A4C 80B112BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A50 80B112C0 8FA50018 */ lw $a1, 0x0018($sp)
/* 00A54 80B112C4 84AE0216 */ lh $t6, 0x0216($a1) ## 00000216
/* 00A58 80B112C8 55C0000E */ bnel $t6, $zero, .L80B11304
/* 00A5C 80B112CC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A60 80B112D0 8CA20118 */ lw $v0, 0x0118($a1) ## 00000118
/* 00A64 80B112D4 3C1980B1 */ lui $t9, %hi(func_80B10D94) ## $t9 = 80B10000
/* 00A68 80B112D8 3C0480B1 */ lui $a0, %hi(D_80B11774) ## $a0 = 80B10000
/* 00A6C 80B112DC 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
/* 00A70 80B112E0 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00A74 80B112E4 27390D94 */ addiu $t9, $t9, %lo(func_80B10D94) ## $t9 = 80B10D94
/* 00A78 80B112E8 11E00005 */ beq $t7, $zero, .L80B11300
/* 00A7C 80B112EC 24841774 */ addiu $a0, $a0, %lo(D_80B11774) ## $a0 = 80B11774
/* 00A80 80B112F0 A4580154 */ sh $t8, 0x0154($v0) ## 00000154
/* 00A84 80B112F4 A4A00214 */ sh $zero, 0x0214($a1) ## 00000214
/* 00A88 80B112F8 0C00084C */ jal osSyncPrintf
/* 00A8C 80B112FC ACB901FC */ sw $t9, 0x01FC($a1) ## 000001FC
.L80B11300:
/* 00A90 80B11300 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B11304:
/* 00A94 80B11304 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A98 80B11308 03E00008 */ jr $ra
/* 00A9C 80B1130C 00000000 */ nop

View file

@ -1,16 +0,0 @@
glabel func_80B11310
/* 00AA0 80B11310 8482020E */ lh $v0, 0x020E($a0) ## 0000020E
/* 00AA4 80B11314 3C0E80B1 */ lui $t6, %hi(func_80B11344) ## $t6 = 80B10000
/* 00AA8 80B11318 25CE1344 */ addiu $t6, $t6, %lo(func_80B11344) ## $t6 = 80B11344
/* 00AAC 80B1131C 2442FFFF */ addiu $v0, $v0, 0xFFFF ## $v0 = FFFFFFFF
/* 00AB0 80B11320 00021400 */ sll $v0, $v0, 16
/* 00AB4 80B11324 00021403 */ sra $v0, $v0, 16
/* 00AB8 80B11328 50400004 */ beql $v0, $zero, .L80B1133C
/* 00ABC 80B1132C AC8E0224 */ sw $t6, 0x0224($a0) ## 00000224
/* 00AC0 80B11330 03E00008 */ jr $ra
/* 00AC4 80B11334 A482020E */ sh $v0, 0x020E($a0) ## 0000020E
.L80B11338:
/* 00AC8 80B11338 AC8E0224 */ sw $t6, 0x0224($a0) ## 00000224
.L80B1133C:
/* 00ACC 80B1133C 03E00008 */ jr $ra
/* 00AD0 80B11340 00000000 */ nop

View file

@ -1,45 +0,0 @@
glabel func_80B11344
/* 00AD4 80B11344 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00AD8 80B11348 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00ADC 80B1134C 8482020E */ lh $v0, 0x020E($a0) ## 0000020E
/* 00AE0 80B11350 2442FFFF */ addiu $v0, $v0, 0xFFFF ## $v0 = FFFFFFFF
/* 00AE4 80B11354 00021400 */ sll $v0, $v0, 16
/* 00AE8 80B11358 00021403 */ sra $v0, $v0, 16
/* 00AEC 80B1135C 50400004 */ beql $v0, $zero, .L80B11370
/* 00AF0 80B11360 8482020C */ lh $v0, 0x020C($a0) ## 0000020C
/* 00AF4 80B11364 1000001B */ beq $zero, $zero, .L80B113D4
/* 00AF8 80B11368 A482020E */ sh $v0, 0x020E($a0) ## 0000020E
/* 00AFC 80B1136C 8482020C */ lh $v0, 0x020C($a0) ## 0000020C
.L80B11370:
/* 00B00 80B11370 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00B04 80B11374 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000000
/* 00B08 80B11378 00021400 */ sll $v0, $v0, 16
/* 00B0C 80B1137C 00021403 */ sra $v0, $v0, 16
/* 00B10 80B11380 28410003 */ slti $at, $v0, 0x0003
/* 00B14 80B11384 54200012 */ bnel $at, $zero, .L80B113D0
/* 00B18 80B11388 A482020C */ sh $v0, 0x020C($a0) ## 0000020C
/* 00B1C 80B1138C A480020C */ sh $zero, 0x020C($a0) ## 0000020C
/* 00B20 80B11390 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00B24 80B11394 AFA40018 */ sw $a0, 0x0018($sp)
/* 00B28 80B11398 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 00B2C 80B1139C 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
/* 00B30 80B113A0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00B34 80B113A4 3C1980B1 */ lui $t9, %hi(func_80B11310) ## $t9 = 80B10000
/* 00B38 80B113A8 46040182 */ mul.s $f6, $f0, $f4
/* 00B3C 80B113AC 27391310 */ addiu $t9, $t9, %lo(func_80B11310) ## $t9 = 80B11310
/* 00B40 80B113B0 AC990224 */ sw $t9, 0x0224($a0) ## 00000224
/* 00B44 80B113B4 4600320D */ trunc.w.s $f8, $f6
/* 00B48 80B113B8 440F4000 */ mfc1 $t7, $f8
/* 00B4C 80B113BC 00000000 */ nop
/* 00B50 80B113C0 25F80014 */ addiu $t8, $t7, 0x0014 ## $t8 = 00000014
/* 00B54 80B113C4 10000003 */ beq $zero, $zero, .L80B113D4
/* 00B58 80B113C8 A498020E */ sh $t8, 0x020E($a0) ## 0000020E
/* 00B5C 80B113CC A482020C */ sh $v0, 0x020C($a0) ## 0000020C
.L80B113D0:
/* 00B60 80B113D0 A488020E */ sh $t0, 0x020E($a0) ## 0000020E
.L80B113D4:
/* 00B64 80B113D4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B68 80B113D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B6C 80B113DC 03E00008 */ jr $ra
/* 00B70 80B113E0 00000000 */ nop

View file

@ -1,39 +0,0 @@
glabel func_80B1148C
/* 00C1C 80B1148C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00C20 80B11490 AFA40000 */ sw $a0, 0x0000($sp)
/* 00C24 80B11494 14A10007 */ bne $a1, $at, .L80B114B4
/* 00C28 80B11498 AFA7000C */ sw $a3, 0x000C($sp)
/* 00C2C 80B1149C 8FA20014 */ lw $v0, 0x0014($sp)
/* 00C30 80B114A0 8FA30010 */ lw $v1, 0x0010($sp)
/* 00C34 80B114A4 844F0208 */ lh $t7, 0x0208($v0) ## 00000208
/* 00C38 80B114A8 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
/* 00C3C 80B114AC 01CFC021 */ addu $t8, $t6, $t7
/* 00C40 80B114B0 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
.L80B114B4:
/* 00C44 80B114B4 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 00C48 80B114B8 8FA20014 */ lw $v0, 0x0014($sp)
/* 00C4C 80B114BC 14A10014 */ bne $a1, $at, .L80B11510
/* 00C50 80B114C0 8FA30010 */ lw $v1, 0x0010($sp)
/* 00C54 80B114C4 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000
/* 00C58 80B114C8 27397E28 */ addiu $t9, $t9, 0x7E28 ## $t9 = 06007E28
/* 00C5C 80B114CC ACD90000 */ sw $t9, 0x0000($a2) ## 00000000
/* 00C60 80B114D0 84480214 */ lh $t0, 0x0214($v0) ## 00000214
/* 00C64 80B114D4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00C68 80B114D8 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 00C6C 80B114DC 55010003 */ bnel $t0, $at, .L80B114EC
/* 00C70 80B114E0 844A0202 */ lh $t2, 0x0202($v0) ## 00000202
/* 00C74 80B114E4 2404FFFF */ addiu $a0, $zero, 0xFFFF ## $a0 = FFFFFFFF
/* 00C78 80B114E8 844A0202 */ lh $t2, 0x0202($v0) ## 00000202
.L80B114EC:
/* 00C7C 80B114EC 84690000 */ lh $t1, 0x0000($v1) ## 00000000
/* 00C80 80B114F0 846D0004 */ lh $t5, 0x0004($v1) ## 00000004
/* 00C84 80B114F4 01440019 */ multu $t2, $a0
/* 00C88 80B114F8 00005812 */ mflo $t3
/* 00C8C 80B114FC 012B6021 */ addu $t4, $t1, $t3
/* 00C90 80B11500 A46C0000 */ sh $t4, 0x0000($v1) ## 00000000
/* 00C94 80B11504 844E0204 */ lh $t6, 0x0204($v0) ## 00000204
/* 00C98 80B11508 01AE7821 */ addu $t7, $t5, $t6
/* 00C9C 80B1150C A46F0004 */ sh $t7, 0x0004($v1) ## 00000004
.L80B11510:
/* 00CA0 80B11510 03E00008 */ jr $ra
/* 00CA4 80B11514 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View file

@ -1,24 +0,0 @@
glabel func_80B1156C
/* 00CFC 80B1156C 3C038016 */ lui $v1, %hi(gGameInfo)
/* 00D00 80B11570 2463FA90 */ addiu $v1, %lo(gGameInfo)
/* 00D04 80B11574 8C620000 */ lw $v0, 0x0000($v1) ## 8015FA90
/* 00D08 80B11578 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D0C 80B1157C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D10 80B11580 844E1374 */ lh $t6, 0x1374($v0) ## 00001374
/* 00D14 80B11584 51C0000A */ beql $t6, $zero, .L80B115B0
/* 00D18 80B11588 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D1C 80B1158C A4401374 */ sh $zero, 0x1374($v0) ## 00001374
/* 00D20 80B11590 8C6F0000 */ lw $t7, 0x0000($v1) ## 8015FA90
/* 00D24 80B11594 3C0480B1 */ lui $a0, %hi(D_80B115E0) ## $a0 = 80B10000
/* 00D28 80B11598 85F81376 */ lh $t8, 0x1376($t7) ## 00001376
/* 00D2C 80B1159C 0018C840 */ sll $t9, $t8, 1
/* 00D30 80B115A0 00992021 */ addu $a0, $a0, $t9
/* 00D34 80B115A4 0C03E803 */ jal Audio_SetBGM
/* 00D38 80B115A8 948415E0 */ lhu $a0, %lo(D_80B115E0)($a0)
/* 00D3C 80B115AC 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B115B0:
/* 00D40 80B115B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D44 80B115B4 03E00008 */ jr $ra
/* 00D48 80B115B8 00000000 */ nop
/* 00D4C 80B115BC 00000000 */ nop

View file

@ -1,30 +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 D_80A236E0
.word 0x00000000
glabel D_80A236E4
.word 0x0A000900, 0x20010000, 0x02000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010000, 0x000D0028, 0x00000000, 0x00000000, 0x00000001, 0x00020013, 0x00140000
glabel En_G_Switch_InitVars
.word 0x01170600, 0x00000030, 0x00010000, 0x000012F8
.word EnGSwitch_Init
.word EnGSwitch_Destroy
.word EnGSwitch_Update
.word 0x00000000
glabel D_80A2373C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A23748
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A23754
.word 0x00020405, 0x07000000
glabel D_80A2375C
.word 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x040421A0, 0x040421E0, 0x00000000, 0x00000000, 0x00000000

View file

@ -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_80A23B30
.incbin "baserom/ovl_En_G_Switch", 0x1C70, 0x00000230

View file

@ -1,66 +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_Syateki_Itm_InitVars
.word 0x00C00600, 0x00000010, 0x00010000, 0x000001D8
.word EnSyatekiItm_Init
.word EnSyatekiItm_Destroy
.word EnSyatekiItm_Update
.word 0x00000000
glabel D_80B10240
.word 0x00000000, 0xC1200000, 0xC3870000
glabel D_80B1024C
.word 0xC35C0000, 0x42840000, 0xC3A00000
glabel D_80B10258
.word 0x43820000, 0x42840000, 0xC3A00000
glabel D_80B10264
.word 0x00000000, 0xC1200000, 0xC3870000
glabel D_80B10270
.word 0xC35C0000, 0x42840000, 0xC3A00000
glabel D_80B1027C
.word 0x43820000, 0x42840000, 0xC3A00000
glabel D_80B10288
.word 0x43820000, 0x42C80000, 0xC3A00000
glabel D_80B10294
.word 0x43B40000, 0x42C80000, 0xC3A00000
glabel D_80B102A0
.word 0xC3660000, 0x42BC0000, 0xC3B40000
glabel D_80B102AC
.word 0xC3C80000, 0x42BC0000, 0xC3B40000
glabel D_80B102B8
.word 0x00000000, 0x42540000, 0xC3870000
glabel D_80B102C4
.word 0xC2700000, 0x427C0000, 0xC3A00000
glabel D_80B102D0
.word 0x42700000, 0x427C0000, 0xC3A00000
glabel D_80B102DC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B102E8
.word 0xC2700000, 0x427C0000, 0xC3A00000
glabel D_80B102F4
.word 0x42700000, 0x427C0000, 0xC3A00000
glabel D_80B10300
.word 0xC3660000, 0x00000000, 0x00000000
glabel D_80B1030C
.word 0xC3660000, 0x00000000, 0x00000000
glabel D_80B10318
.word 0x43820000, 0x00000000, 0x00000000
glabel D_80B10324
.word 0x43820000, 0x00000000, 0x00000000
glabel D_80B10330
.word 0x00000001, 0x00000001, 0x00020002
glabel D_80B1033C
.word 0x00000001, 0x00010000, 0x00010001, 0x00040004, 0x00040004
glabel D_80B10350
.word 0xC2200000, 0x00000000, 0xC2B40000, 0xC1A00000, 0x00000000, 0xC2B40000, 0x00000000, 0x00000000, 0xC2B40000, 0x41A00000, 0x00000000, 0xC2B40000, 0x42200000, 0x00000000, 0xC2B40000, 0xC2200000, 0x00000000, 0xC2700000, 0xC1A00000, 0x00000000, 0xC2700000, 0x00000000, 0x00000000, 0xC2700000, 0x41A00000, 0x00000000, 0xC2700000, 0x42200000, 0x00000000, 0xC2700000
glabel D_80B103C8
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View file

@ -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_80B10690
.incbin "baserom/ovl_En_Syateki_Itm", 0xFE0, 0x000001E0

View file

@ -1,28 +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_Syateki_Man_InitVars
.word 0x00C10400, 0x08000019, 0x005B0000, 0x0000022C
.word EnSyatekiMan_Init
.word EnSyatekiMan_Destroy
.word EnSyatekiMan_Update
.word EnSyatekiMan_Draw
glabel D_80B115E0
.word 0x00000001, 0x00020018, 0x00190002, 0x0019001A, 0x001A081A, 0x001B001C, 0x001D001E, 0x001F0020, 0x00210922, 0x00230924, 0x00250026, 0x00270028, 0x0029002A, 0x092B002C, 0x002D002E, 0x002F0030, 0x00320033, 0x00340035, 0x00360037, 0x00380039, 0x003A003B, 0x003C003D, 0x003E003F, 0x00400041, 0x00420043, 0x00440045, 0x00460047, 0x00480049, 0x004A004B, 0x004C004D, 0x004E004F, 0x00500051, 0x00520053, 0x00540055, 0x00560057, 0x00580059, 0x005A005B, 0x005C005D, 0x006D005E, 0x005E005F, 0x00600061, 0x006D0062, 0x00630064, 0x00650066
glabel D_80B11690
.byte 0x00, 0x2B, 0x00, 0x2E, 0x00, 0xC8
glabel D_80B11696
.byte 0x00, 0x2D
glabel D_80B11698
.byte 0x00, 0x04, 0x00, 0x05, 0x00, 0x05
glabel D_80B1169E
.byte 0x00, 0x05

View file

@ -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_80B117A0
.incbin "baserom/ovl_En_Syateki_Man", 0xF30, 0x00000150

View file

@ -2196,7 +2196,7 @@ void func_800ED858(u8);
// ? func_800F28B4(?);
// ? func_800F29FC(?);
// ? func_800F2A04(?);
void func_800F2D6C(u8*, u16);
void func_800F2D6C(u8*, u16 sfxId);
// ? func_800F2E28(?);
// ? func_800F3054(?);
// ? func_800F3188(?);
@ -2209,20 +2209,21 @@ void func_800F3A08(u8, u8, u8);
// ? func_800F3ED4(?);
void func_800F3F3C(u8);
// ? func_800F3F84(?);
void func_800F4010(Vec3f*, u16, f32);
void func_800F41E0(Vec3f*, u16, u8);
void func_800F4138(Vec3f*, u16, f32);
void func_800F4190(Vec3f*, u16);
void func_800F4010(Vec3f*, u16 sfxId, f32);
void func_800F41E0(Vec3f*, u16 sfxId, u8);
void func_800F4138(Vec3f*, u16 sfxId, f32);
void func_800F4190(Vec3f*, u16 sfxId);
void func_800F436C(UNK_TYPE arg0, s16 arg1, f32 arg2);
// ? func_800F4414(?);
void func_800F4524(Vec3f*, u16, u8);
void func_800F4524(Vec3f*, u16 sfxId, u8);
void func_800F46E0(Vec3f* pos, f32 arg0);
// ? func_800F4784(?);
void func_800F47BC(void);
void func_800F47FC(void);
// ? func_800F491C(?);
// ? func_800F4A70(?);
void func_800F4C58(Vec3f*, u16, u8);
void func_800F4BF4(Vec3f*, u16 sfxId, s8);
void func_800F4C58(Vec3f*, u16 sfxId, u8);
// ? func_800F50CC(?);
// ? func_800F510C(?);
// ? func_800F5510(?);

View file

@ -947,8 +947,8 @@ typedef struct GlobalContext {
/* 0x11E18 */ s16 unk_11E18;
/* 0x11E1A */ s16 nextEntranceIndex;
/* 0x11E1C */ char unk_11E1C[0x40];
/* 0x11E5C */ s8 unk_11E5C;
/* 0x11E5D */ s8 bombchuBowlingAmmo; // "bombchu_game_flag"
/* 0x11E5C */ s8 shootingGalleryStatus;
/* 0x11E5D */ s8 bombchuBowlingStatus; // "bombchu_game_flag"
/* 0x11E5E */ u8 fadeTransition;
/* 0x11E60 */ CollisionCheckContext colChkCtx;
/* 0x120FC */ u16 envFlags[20];

9
spec
View file

@ -2319,8 +2319,7 @@ endseg
beginseg
name "ovl_En_G_Switch"
include "build/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.o"
include "build/data/overlays/actors/z_en_g_switch.data.o"
include "build/data/overlays/actors/z_en_g_switch.reloc.o"
include "build/src/overlays/actors/ovl_En_G_Switch/ovl_En_G_Switch_reloc.o"
endseg
beginseg
@ -3023,15 +3022,13 @@ endseg
beginseg
name "ovl_En_Syateki_Itm"
include "build/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.o"
include "build/data/overlays/actors/z_en_syateki_itm.data.o"
include "build/data/overlays/actors/z_en_syateki_itm.reloc.o"
include "build/src/overlays/actors/ovl_En_Syateki_Itm/ovl_En_Syateki_Itm_reloc.o"
endseg
beginseg
name "ovl_En_Syateki_Man"
include "build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o"
include "build/data/overlays/actors/z_en_syateki_man.data.o"
include "build/data/overlays/actors/z_en_syateki_man.reloc.o"
include "build/src/overlays/actors/ovl_En_Syateki_Man/ovl_En_Syateki_Man_reloc.o"
endseg
beginseg

View file

@ -44,8 +44,8 @@ void KaleidoSetup_Update(GlobalContext* globalCtx) {
if (pauseCtx->state == 0 && pauseCtx->flag == 0 && globalCtx->unk_10A20 == 0 && globalCtx->sceneLoadFlag == 0 &&
globalCtx->transitionMode == 0 && gSaveContext.cutsceneIndex < 0xFFF0 &&
gSaveContext.nextCutsceneIndex < 0xFFF0 && !Gameplay_InCsMode(globalCtx) && globalCtx->unk_11E5C < 2 &&
gSaveContext.unk_13F0 != 8 && gSaveContext.unk_13F0 != 9 &&
gSaveContext.nextCutsceneIndex < 0xFFF0 && !Gameplay_InCsMode(globalCtx) &&
globalCtx->shootingGalleryStatus <= 1 && gSaveContext.unk_13F0 != 8 && gSaveContext.unk_13F0 != 9 &&
(globalCtx->sceneNum != SCENE_BOWLING || !Flags_GetSwitch(globalCtx, 0x38))) {
if (CHECK_BTN_ALL(input->cur.button, BTN_L) && CHECK_BTN_ALL(input->press.button, BTN_CUP)) {

View file

@ -608,7 +608,7 @@ void func_80083108(GlobalContext* globalCtx) {
((globalCtx->sceneNum == SCENE_SPOT20) && (gSaveContext.cutsceneIndex == 0xFFF0))) {
gSaveContext.unk_13E7 = 0;
if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) ||
if ((player->stateFlags1 & 0x00800000) || (globalCtx->shootingGalleryStatus > 1) ||
((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
if (gSaveContext.equips.buttonItems[0] != ITEM_NONE) {
gSaveContext.unk_13E7 = 1;
@ -629,7 +629,7 @@ void func_80083108(GlobalContext* globalCtx) {
Interface_LoadItemIcon1(globalCtx, 0);
} else {
gSaveContext.equips.buttonItems[0] = ITEM_BOW;
if (globalCtx->unk_11E5C >= 2) {
if (globalCtx->shootingGalleryStatus > 1) {
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
gSaveContext.equips.buttonItems[0] = ITEM_SLINGSHOT;
}
@ -653,7 +653,7 @@ void func_80083108(GlobalContext* globalCtx) {
Interface_ChangeAlpha(1);
} else if (gSaveContext.minigameState == 1) {
Interface_ChangeAlpha(8);
} else if (globalCtx->unk_11E5C >= 2) {
} else if (globalCtx->shootingGalleryStatus > 1) {
Interface_ChangeAlpha(8);
} else if ((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38)) {
Interface_ChangeAlpha(8);
@ -2867,10 +2867,10 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
if ((button == 0) && (gSaveContext.minigameState == 1)) {
ammo = globalCtx->interfaceCtx.hbaAmmo;
} else if ((button == 0) && (globalCtx->unk_11E5C >= 2)) {
ammo = globalCtx->unk_11E5C - 1;
} else if ((button == 0) && (globalCtx->shootingGalleryStatus > 1)) {
ammo = globalCtx->shootingGalleryStatus - 1;
} else if ((button == 0) && (globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38)) {
ammo = globalCtx->bombchuBowlingAmmo;
ammo = globalCtx->bombchuBowlingStatus;
if (ammo < 0) {
ammo = 0;
}
@ -3208,7 +3208,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
if (gSaveContext.equips.buttonItems[0] != ITEM_NONE) {
Interface_DrawItemIconTexture(globalCtx, (void*)(u32)interfaceCtx->icon_itemSegment, 0);
if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) ||
if ((player->stateFlags1 & 0x00800000) || (globalCtx->shootingGalleryStatus > 1) ||
((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
@ -3495,7 +3495,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && (globalCtx->unk_10A20 == 0) &&
(msgCtx->msgMode == 0) && !(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx) && (gSaveContext.minigameState != 1) &&
(globalCtx->unk_11E5C < 2) &&
(globalCtx->shootingGalleryStatus <= 1) &&
!((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
sp274 = 0;
switch (gSaveContext.timer1State) {

View file

@ -416,7 +416,7 @@ s32 func_8008EF30(GlobalContext* globalCtx) {
}
s32 func_8008EF44(GlobalContext* globalCtx, s32 ammo) {
globalCtx->unk_11E5C = ammo + 1;
globalCtx->shootingGalleryStatus = ammo + 1;
return 1;
}

View file

@ -67,7 +67,7 @@ void EnBomBowlMan_Init(Actor* thisx, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN) "☆ もー 肩こっちゃうよねぇ〜 \t\t\n" VT_RST);
// ☆ Isn't there some sort of job that will pay better and be more relaxing? ☆ %d
osSyncPrintf(VT_FGCOL(GREEN) "☆ もっとラクしてもうかるバイトないかしら? ☆ %d\n" VT_RST,
globalCtx2->bombchuBowlingAmmo);
globalCtx2->bombchuBowlingStatus);
this->posCopy = this->actor.posRot.pos;
this->actor.shape.unk_08 = -60.0f;
Actor_SetScale(&this->actor, 0.013f);
@ -218,7 +218,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (BREG(3)) {
osSyncPrintf(VT_FGCOL(RED) "☆ game_play->bomchu_game_flag ☆ %d\n" VT_RST, globalCtx->bombchuBowlingAmmo);
osSyncPrintf(VT_FGCOL(RED) "☆ game_play->bomchu_game_flag ☆ %d\n" VT_RST, globalCtx->bombchuBowlingStatus);
// HOW'S THE FIRST WALL DOING?
osSyncPrintf(VT_FGCOL(RED) "☆ 壁1の状態どう? ☆ %d\n" VT_RST, this->wallStatus[0]);
// HOW'S THE SECOND WALL DOING?
@ -237,7 +237,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
// Center HIT!
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 中央HIT!!!! ☆☆☆☆☆ \n" VT_RST);
}
if ((globalCtx->bombchuBowlingAmmo == -1) &&
if ((globalCtx->bombchuBowlingStatus == -1) &&
(globalCtx->actorCtx.actorList[ACTORTYPE_EXPLOSIVES].length == 0) && (this->bowlPit->status == 0) &&
(this->wallStatus[0] != 1) && (this->wallStatus[1] != 1)) {
this->gameResult = 2; // Lost
@ -254,7 +254,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
this->exItem->unk_160 = 1;
this->exItem = NULL;
}
globalCtx->bombchuBowlingAmmo = 0;
globalCtx->bombchuBowlingStatus = 0;
this->playingAgain = true;
func_8010B680(globalCtx, this->actor.textId, NULL);
if (this->gameResult == 2) {
@ -289,7 +289,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, GlobalContext* globalCtx)
Rupees_ChangeBy(-30);
this->minigamePlayStatus = 1;
this->wallStatus[0] = this->wallStatus[1] = 0;
globalCtx->bombchuBowlingAmmo = 10;
globalCtx->bombchuBowlingStatus = 10;
Flags_SetSwitch(globalCtx, 0x38);
if (!this->startedPlaying && !this->playingAgain) {
this->actor.textId = 0x19;
@ -443,7 +443,7 @@ void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
BREG(2) = 0;
}
// "Wow"
osSyncPrintf(VT_FGCOL(YELLOW) "☆ わー ☆ %d\n" VT_RST, globalCtx->bombchuBowlingAmmo);
osSyncPrintf(VT_FGCOL(YELLOW) "☆ わー ☆ %d\n" VT_RST, globalCtx->bombchuBowlingStatus);
func_8002DF54(globalCtx, NULL, 7);
this->actionFunc = EnBomBowMan_SetupRunGame;
}

View file

@ -14,17 +14,18 @@ void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx);
void EnExRuppy_DropIntoWater(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_WaitToBlowUp(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_WaitAsCollectible(EnExRuppy* this, GlobalContext* globalCtx);
void func_80A0B0F4(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_GalleryTarget(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_Sink(EnExRuppy* this, GlobalContext* globalCtx);
void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx);
void func_80A0AEE0(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_WaitInGame(EnExRuppy* this, GlobalContext* globalCtx);
void EnExRuppy_Kill(EnExRuppy* this, GlobalContext* globalCtx);
static s16 sEnExRuppyCollectibleTypes[] = {
ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_ORANGE, ITEM00_RUPEE_PURPLE,
};
static s16 D_80A0B32B[] = {
// Unused, as the function sets these directly
static s16 sRupeeValues[] = {
1, 5, 20, 500, 50,
};
@ -47,12 +48,12 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 temp2;
s16 temp3;
this->unk_152 = this->actor.params;
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ インデックス ☆☆☆☆☆ %x\n" VT_RST, this->unk_152); // "Index"
this->type = this->actor.params;
// "Index"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ インデックス ☆☆☆☆☆ %x\n" VT_RST, this->type);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
switch (this->unk_152) {
switch (this->type) {
case 0:
this->unk_160 = 0.01f;
Actor_SetScale(&this->actor, this->unk_160);
@ -62,7 +63,7 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) {
// If you haven't won the diving game before, you will always get 5 rupees
if (!(gSaveContext.eventChkInf[3] & 0x100)) {
this->rupeeValue = 5;
this->unk_150 = 1;
this->colorIdx = 1;
} else {
temp1 = 200.99f;
if (this->actor.parent != NULL) {
@ -76,21 +77,21 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) {
temp3 = Math_Rand_ZeroFloat(temp1);
if ((temp3 >= 0) && (temp3 < 40)) {
this->rupeeValue = 1;
this->unk_150 = 0;
this->colorIdx = 0;
} else if ((temp3 >= 40) && (temp3 < 170)) {
this->rupeeValue = 5;
this->unk_150 = 1;
this->colorIdx = 1;
} else if ((temp3 >= 170) && (temp3 < 190)) {
this->rupeeValue = 20;
this->unk_150 = 2;
this->colorIdx = 2;
} else if ((temp3 >= 190) && (temp3 < 200)) {
this->rupeeValue = 50;
this->unk_150 = 4;
this->colorIdx = 4;
} else {
this->unk_160 = 0.02f;
Actor_SetScale(&this->actor, this->unk_160);
this->rupeeValue = 500;
this->unk_150 = 3;
this->colorIdx = 3;
if (this->actor.parent != NULL) {
divingGame = (EnDivingGame*)this->actor.parent;
if (divingGame->actor.update != NULL) {
@ -111,15 +112,16 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) {
case 1:
case 2: // Giant pink ruppe that explodes when you touch it
if (this->unk_152 == 1) {
if (this->type == 1) {
Actor_SetScale(&this->actor, 0.1f);
this->unk_150 = 4;
this->colorIdx = 4;
} else {
Actor_SetScale(thisx, 0.02f);
this->unk_150 = (s16)Math_Rand_ZeroFloat(3.99f) + 1;
this->colorIdx = (s16)Math_Rand_ZeroFloat(3.99f) + 1;
}
this->actor.gravity = -3.0f;
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ わーなーコイン ☆☆☆☆☆ \n" VT_RST); // "Wow Coin"
// "Wow Coin"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ わーなーコイン ☆☆☆☆☆ \n" VT_RST);
this->actor.shape.unk_10 = 6.0f;
this->actor.shape.unk_08 = 700.0f;
this->actor.flags &= ~1;
@ -128,32 +130,33 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) {
case 3: // Spawned by the guard in Hyrule courtyard
Actor_SetScale(&this->actor, 0.02f);
this->unk_150 = 0;
this->colorIdx = 0;
switch ((s16)Math_Rand_ZeroFloat(30.99f)) {
case 0:
this->unk_150 = 2;
this->colorIdx = 2;
break;
case 10:
case 20:
case 30:
this->unk_150 = 1;
this->colorIdx = 1;
break;
}
this->actor.gravity = -3.0f;
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ノーマルルピー ☆☆☆☆☆ \n" VT_RST); // "Normal rupee"
// "Normal rupee"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ノーマルルピー ☆☆☆☆☆ \n" VT_RST);
this->actor.shape.unk_10 = 6.0f;
this->actor.shape.unk_08 = 700.0f;
this->actor.flags &= ~1;
this->actionFunc = EnExRuppy_WaitAsCollectible;
break;
case 4:
case 4: // Progress markers in the shooting gallery
this->actor.gravity = -3.0f;
this->actor.flags &= ~1;
Actor_SetScale(&this->actor, 0.01f);
this->actor.shape.unk_10 = 6.0f;
this->actor.shape.unk_08 = -700.0f;
this->actionFunc = func_80A0B0F4;
this->actionFunc = EnExRuppy_GalleryTarget;
break;
}
}
@ -203,18 +206,18 @@ void EnExRuppy_SpawnSparkles(EnExRuppy* this, GlobalContext* globalCtx, s16 numS
}
void EnExRuppy_DropIntoWater(EnExRuppy* this, GlobalContext* globalCtx) {
this->actor.shape.rot.y = (this->actor.shape.rot.y + 1960);
EnDivingGame* divingGame;
this->actor.shape.rot.y += 0x7A8;
Math_SmoothScaleMaxF(&this->actor.gravity, -2.0f, 0.3f, 1.0f);
EnExRuppy_SpawnSparkles(this, globalCtx, 2, 0);
func_80078884(NA_SE_EV_RAINBOW_SHOWER - SFX_FLAG);
if ((this->actor.parent != NULL) && (this->actor.parent->update != NULL) &&
(((((EnDivingGame*)this->actor.parent)->unk_296 == 0) || (this->actor.bgCheckFlags & 0x20)) ||
(this->timer == 0))) {
this->isFalling = 1;
divingGame = (EnDivingGame*)this->actor.parent;
if ((divingGame != NULL) && (divingGame->actor.update != NULL) &&
((divingGame->unk_296 == 0) || (this->actor.bgCheckFlags & 0x20) || (this->timer == 0))) {
this->invisible = true;
this->actor.speedXZ = 0.0f;
this->actor.velocity.z = 0.0f;
this->actor.velocity.y = 0.0f;
this->actor.velocity.x = 0.0f;
this->actor.velocity.x = this->actor.velocity.y = this->actor.velocity.z = 0.0f;
this->actor.gravity = 0.0f;
func_80078914(&this->actor.projectedPos, NA_SE_EV_BOMB_DROP_WATER);
this->actionFunc = EnExRuppy_EnterWater;
@ -222,12 +225,11 @@ void EnExRuppy_DropIntoWater(EnExRuppy* this, GlobalContext* globalCtx) {
}
void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx) {
s32 pad;
EnDivingGame* divingGame = (EnDivingGame*)this->actor.parent;
f32 temp_f2;
if (((this->actor.parent != NULL) && (this->actor.parent->update != NULL)) &&
(((EnDivingGame*)this->actor.parent)->unk_2A2 == 2)) {
this->isFalling = 0;
if ((divingGame != NULL) && (divingGame->actor.update != NULL) && (divingGame->unk_2A2 == 2)) {
this->invisible = false;
this->actor.posRot.pos.x = ((Math_Rand_ZeroOne() - 0.5f) * 300.0f) + -260.0f;
this->actor.posRot.pos.y = ((Math_Rand_ZeroOne() - 0.5f) * 200.0f) + 370.0f;
temp_f2 = this->unk_15A * -50.0f;
@ -244,26 +246,27 @@ void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx) {
}
void EnExRuppy_Sink(EnExRuppy* this, GlobalContext* globalCtx) {
s32 pad;
EnDivingGame* divingGame;
Vec3f pos;
s32 pad;
if ((this->actor.bgCheckFlags & 0x20) && (15.0f < this->actor.waterY)) {
if ((this->actor.bgCheckFlags & 0x20) && (this->actor.waterY > 15.0f)) {
pos = this->actor.posRot.pos;
pos.y += this->actor.waterY;
this->actor.velocity.y = -1.0f;
this->actor.gravity = -0.2f;
EffectSsGSplash_Spawn(globalCtx, &pos, 0, 0, 0, 800);
func_80078914(&this->actor.projectedPos, NA_SE_EV_BOMB_DROP_WATER);
this->actionFunc = func_80A0AD88;
this->actionFunc = EnExRuppy_WaitInGame;
}
if (((this->actor.parent != NULL) && (this->actor.parent->update != NULL) &&
((EnDivingGame*)this->actor.parent)->unk_29C == 0)) {
divingGame = (EnDivingGame*)this->actor.parent;
if ((divingGame != NULL) && (divingGame->actor.update != NULL) && (divingGame->unk_29C == 0)) {
this->timer = 20;
this->actionFunc = func_80A0AEE0;
this->actionFunc = EnExRuppy_Kill;
}
}
void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx) {
void EnExRuppy_WaitInGame(EnExRuppy* this, GlobalContext* globalCtx) {
EnDivingGame* divingGame;
Vec3f D_80A0B388 = { 0.0f, 0.1f, 0.0f };
Vec3f D_80A0B394 = { 0.0f, 0.0f, 0.0f };
@ -278,10 +281,9 @@ void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx) {
if (divingGame->actor.update != NULL) {
if (divingGame->unk_29C == 0) {
this->timer = 20;
this->actionFunc = func_80A0AEE0;
return;
}
if (this->actor.xyzDistFromLinkSq < SQ(localConst)) {
this->actionFunc = EnExRuppy_Kill;
if (1) {}
} else if (this->actor.xyzDistFromLinkSq < SQ(localConst)) {
Rupees_ChangeBy(this->rupeeValue);
func_80078884(NA_SE_SY_GET_RUPY);
divingGame->unk_2A4++;
@ -293,38 +295,46 @@ void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx) {
}
}
void func_80A0AEE0(EnExRuppy* this, GlobalContext* globalCtx) {
this->isFalling += 1;
this->isFalling &= 1;
void EnExRuppy_Kill(EnExRuppy* this, GlobalContext* globalCtx) {
this->invisible += 1;
this->invisible &= 1; // Net effect is this->invisible = !this->invisible;
if (this->timer == 0) {
Actor_Kill(&this->actor);
}
}
typedef struct {
/* 0x000 */ Actor actor;
/* 0x14C */ char unk_14C[0x11A];
/* 0x226 */ s16 unk_226;
} EnExRuppyParentActor; // Unclear what actor was intended to spawn this.
void EnExRuppy_WaitToBlowUp(EnExRuppy* this, GlobalContext* globalCtx) {
f32 distToBlowUp;
EnExRuppyParentActor* parent;
Vec3f accel = { 0.0f, 0.1f, 0.0f };
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
f32 distToBlowUp = 50.0f;
s16 explosionScale;
s16 explosionScaleStep;
distToBlowUp = 50.0f;
if (this->unk_152 == 2) {
if (this->type == 2) {
distToBlowUp = 30.0f;
}
if (this->actor.xyzDistFromLinkSq < SQ(distToBlowUp)) {
if (this->actor.parent != NULL) {
if (this->actor.parent->update != NULL) {
((EnDivingGame*)this->actor.parent)->transitionDrawTable[15].z = 1;
parent = (EnExRuppyParentActor*)this->actor.parent;
if (parent != NULL) {
if (parent->actor.update != NULL) {
parent->unk_226 = 1;
}
} else {
// "That idiot! error"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ そ、そんなばかな!エラー!!!!! ☆☆☆☆☆ \n" VT_RST);
}
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ バカめ! ☆☆☆☆☆ \n" VT_RST); // "Stupid!"
// "Stupid!"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ バカめ! ☆☆☆☆☆ \n" VT_RST);
explosionScale = 100;
explosionScaleStep = 30;
if (this->unk_152 == 2) {
if (this->type == 2) {
explosionScale = 20;
explosionScaleStep = 6;
}
@ -338,15 +348,16 @@ void EnExRuppy_WaitToBlowUp(EnExRuppy* this, GlobalContext* globalCtx) {
void EnExRuppy_WaitAsCollectible(EnExRuppy* this, GlobalContext* globalCtx) {
f32 localConst = 30.0f;
if (this->actor.xyzDistFromLinkSq < SQ(localConst)) {
func_80078884(NA_SE_SY_GET_RUPY);
Item_DropCollectible(globalCtx, &this->actor.posRot.pos, (sEnExRuppyCollectibleTypes[this->unk_150] | 0x8000));
Item_DropCollectible(globalCtx, &this->actor.posRot.pos, (sEnExRuppyCollectibleTypes[this->colorIdx] | 0x8000));
Actor_Kill(&this->actor);
}
}
void func_80A0B0F4(EnExRuppy* this, GlobalContext* globalCtx) {
if (this->unk_15C != 0) {
void EnExRuppy_GalleryTarget(EnExRuppy* this, GlobalContext* globalCtx) {
if (this->galleryFlag) {
Math_SmoothScaleMaxF(&this->actor.shape.unk_08, 700.0f, 0.5f, 200.0f);
} else {
Math_SmoothScaleMaxF(&this->actor.shape.unk_08, -700.0f, 0.5f, 200.0f);
@ -368,17 +379,17 @@ void EnExRuppy_Update(Actor* thisx, GlobalContext* globalCtx) {
UNK_PTR D_80A0B3B8[] = { 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x040421A0 };
void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnExRuppy* this = THIS;
s32 pad;
EnExRuppy* this = THIS;
if (this->isFalling == 0) {
if (!this->invisible) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774);
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(thisx, globalCtx, 0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 780),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, D_04042440);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784);

View file

@ -11,13 +11,13 @@ typedef void (*EnExRuppyActionFunc)(struct EnExRuppy*, GlobalContext*);
typedef struct EnExRuppy {
/* 0x0000 */ Actor actor;
/* 0x014C */ EnExRuppyActionFunc actionFunc;
/* 0x0150 */ s16 unk_150;
/* 0x0152 */ s16 unk_152;
/* 0x0154 */ s16 isFalling;
/* 0x0150 */ s16 colorIdx;
/* 0x0152 */ s16 type;
/* 0x0154 */ s16 invisible;
/* 0x0156 */ s16 timer;
/* 0x0158 */ s16 rupeeValue;
/* 0x015A */ s16 unk_15A;
/* 0x015C */ s16 unk_15C;
/* 0x015C */ s16 galleryFlag;
/* 0x0160 */ f32 unk_160;
} EnExRuppy; // size = 0x0164

View file

@ -1,17 +1,51 @@
#include "z_en_g_switch.h"
#include "vt.h"
#include "overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#define FLAGS 0x00000030
#define THIS ((EnGSwitch*)thisx)
typedef enum {
/* 0 */ MOVE_TARGET,
/* 1 */ MOVE_HOME
} GSwitchMoveState;
void EnGSwitch_Init(Actor* thisx, GlobalContext* globalCtx);
void EnGSwitch_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnGSwitch_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGSwitch_DrawRupee(Actor* thisx, GlobalContext* globalCtx);
void EnGSwitch_DrawPot(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_060017C0;
extern UNK_TYPE D_06001960;
void EnGSwitch_SilverRupeeTracker(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_SilverRupeeIdle(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_WaitForObject(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_SilverRupeeCollected(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_GalleryRupee(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_ArcheryPot(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_Kill(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_SpawnEffects(EnGSwitch* this, Vec3f* pos, s16 scale, s16 colorIdx);
void EnGSwitch_UpdateEffects(EnGSwitch* this, GlobalContext* globalCtx);
void EnGSwitch_DrawEffects(EnGSwitch* this, GlobalContext* globalCtx);
extern Gfx D_060017C0[];
extern Gfx D_06001960[];
static s16 sCollectedCount = 0;
static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x20, COLSHAPE_CYLINDER },
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ 13, 40, 0, { 0, 0, 0 } },
};
// Unused, but probably intended to be this
static s16 sRupeeTypes[] = {
ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_ORANGE, ITEM00_RUPEE_PURPLE,
};
/*
const ActorInit En_G_Switch_InitVars = {
ACTOR_EN_G_SWITCH,
ACTORTYPE_PROP,
@ -23,35 +57,497 @@ const ActorInit En_G_Switch_InitVars = {
(ActorFunc)EnGSwitch_Update,
NULL,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/EnGSwitch_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/EnGSwitch_Destroy.s")
void EnGSwitch_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGSwitch* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22250.s")
this->type = (this->actor.params >> 0xC) & 0xF;
this->switchFlag = this->actor.params & 0x3F;
this->numEffects = ARRAY_COUNT(this->effects);
// index
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ インデックス ☆☆☆☆☆ %x\n" VT_RST, this->type);
// save
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ\t ☆☆☆☆☆ %x\n" VT_RST, this->switchFlag);
switch (this->type) {
case ENGSWITCH_SILVER_TRACKER:
osSyncPrintf("\n\n");
// parent switch spawn
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 親スイッチ発生 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
sCollectedCount = 0;
this->silverCount = this->actor.params >> 6;
this->silverCount &= 0x3F;
// maximum number of checks
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 最大チェック数 ☆☆☆☆☆ %d\n" VT_RST, this->silverCount);
osSyncPrintf("\n\n");
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
// This is a reference to Hokuto no Ken
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
Actor_Kill(&this->actor);
} else {
this->actionFunc = EnGSwitch_SilverRupeeTracker;
}
break;
case ENGSWITCH_SILVER_RUPEE:
osSyncPrintf("\n\n");
// child switch spawn
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 子スイッチ発生 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
this->colorIdx = 5;
this->numEffects = 20;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.draw = EnGSwitch_DrawRupee;
this->actor.shape.unk_08 = 700.0f;
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
Actor_Kill(&this->actor);
} else {
Actor_SetScale(&this->actor, 0.03f);
this->actionFunc = EnGSwitch_SilverRupeeIdle;
}
break;
case ENGSWITCH_ARCHERY_POT:
osSyncPrintf("\n\n");
// Horseback archery destructible pot
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ やぶさめぶち抜き壷 ☆☆☆☆☆ \n" VT_RST);
this->actor.gravity = -3.0f;
this->colorIdx = Math_Rand_ZeroFloat(2.99f);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.scale.x = 0.25f;
this->actor.scale.y = 0.45f;
this->actor.scale.z = 0.25f;
this->collider.body.bumper.flags = 0x1F820;
this->objId = OBJECT_TSUBO;
this->objIndex = Object_GetIndex(&globalCtx->objectCtx, this->objId);
if (this->objIndex < 0) {
Actor_Kill(&this->actor);
// what?
osSyncPrintf(VT_FGCOL(PURPLE) " なにみの? %d\n" VT_RST "\n", this->objIndex);
// bank is funny
osSyncPrintf(VT_FGCOL(CYAN) " バンクおかしいしぞ!%d\n" VT_RST "\n", this->actor.params);
}
this->collider.dim.radius = 24;
this->collider.dim.height = 74;
this->collider.dim.yShift = 0;
this->actionFunc = EnGSwitch_WaitForObject;
break;
case ENGSWITCH_TARGET_RUPEE:
this->actor.shape.unk_08 = 700.0f;
Actor_SetScale(&this->actor, 0.05f);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.draw = EnGSwitch_DrawRupee;
this->collider.dim.radius = 20;
this->collider.dim.height = 60;
this->collider.dim.yShift = 5;
this->actionFunc = EnGSwitch_GalleryRupee;
break;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A223F8.s")
void EnGSwitch_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGSwitch* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A2248C.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22598.s")
void EnGSwitch_Break(EnGSwitch* this, GlobalContext* globalCtx) {
Vec3f randPos;
Vec3f hitPos;
Vec3f accel = { 0.0f, 0.0f, 0.0f };
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22680.s")
randPos.x = this->actor.posRot.pos.x + Math_Rand_CenteredFloat(40.0f);
randPos.y = this->actor.posRot.pos.y + 30.0f + Math_Rand_CenteredFloat(35.0f);
randPos.z = this->actor.posRot.pos.z + Math_Rand_CenteredFloat(40.0f);
hitPos.x = this->collider.body.bumper.unk_06.x;
hitPos.y = this->collider.body.bumper.unk_06.y;
hitPos.z = this->collider.body.bumper.unk_06.z;
EffectSsHitMark_SpawnCustomScale(globalCtx, 0, 700, &hitPos);
if (this->type == ENGSWITCH_ARCHERY_POT) {
velocity.y = 15.0f;
EffectSsExtra_Spawn(globalCtx, &hitPos, &velocity, &accel, 5, 2);
}
if (this->type == ENGSWITCH_TARGET_RUPEE) {
for (i = 0; i < this->numEffects; i++) {
EnGSwitch_SpawnEffects(this, &randPos, 100, this->colorIdx);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22764.s")
void EnGSwitch_WaitForObject(EnGSwitch* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->objIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objIndex].segment);
this->actor.objBankIndex = this->objIndex;
this->actor.draw = EnGSwitch_DrawPot;
this->actionFunc = EnGSwitch_ArcheryPot;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22B1C.s")
void EnGSwitch_SilverRupeeTracker(EnGSwitch* this, GlobalContext* globalCtx) {
static s8 rupeePitches[] = { 0, 2, 4, 5, 7 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22E00.s")
if (this->pitchIndex < sCollectedCount) {
if (sCollectedCount < 5) {
// sound?
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 音? ☆☆☆☆☆ %d\n" VT_RST, this->pitchIndex);
func_800F4BF4(&D_801333D4, NA_SE_EV_FIVE_COUNT_LUPY, rupeePitches[this->pitchIndex]);
this->pitchIndex = sCollectedCount;
}
}
if (sCollectedCount >= this->silverCount) {
// It is now the end of the century.
// This another reference to Hokuto no Ken.
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 時はまさに世紀末〜 ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
// Last!
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ らすとぉ! ☆☆☆☆☆ \n" VT_RST);
if ((globalCtx->sceneNum == SCENE_MEN) && (this->actor.room == 2)) {
Flags_SetTempClear(globalCtx, this->actor.room);
} else {
func_80078884(NA_SE_SY_CORRECT_CHIME);
Flags_SetSwitch(globalCtx, this->switchFlag);
}
func_80078884(NA_SE_SY_GET_RUPY);
Actor_Kill(&this->actor);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/EnGSwitch_Update.s")
void EnGSwitch_SilverRupeeIdle(EnGSwitch* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A22FDC.s")
this->actor.shape.rot.y += 0x800;
if (this->actor.xyzDistFromLinkSq < 900.0f) {
Rupees_ChangeBy(5);
sCollectedCount++;
func_80078884(NA_SE_SY_GET_RUPY);
this->actor.posRot.pos = player->actor.posRot.pos;
this->actor.posRot.pos.y += 40.0f;
if (LINK_IS_ADULT) {
this->actor.posRot.pos.y += 20.0f;
}
this->actor.gravity = 0.0f;
this->killTimer = 15;
this->actionFunc = EnGSwitch_SilverRupeeCollected;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A230A8.s")
void EnGSwitch_SilverRupeeCollected(EnGSwitch* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A23204.s")
this->actor.shape.rot.y += 0x3C0;
if (this->killTimer == 0) {
Actor_Kill(&this->actor);
return;
}
this->actor.posRot.pos = player->actor.posRot.pos;
this->actor.posRot.pos.y =
player->actor.posRot.pos.y + 40.0f + (this->killTimer * 0.3f) * Math_Sins(this->killTimer * 0x3A98);
if (LINK_IS_ADULT) {
this->actor.posRot.pos.y += 20.0f;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A23314.s")
void EnGSwitch_GalleryRupee(EnGSwitch* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_G_Switch/func_80A234D4.s")
this->actor.shape.rot.y += 0x3C0;
if (this->delayTimer == 0) {
switch (this->moveMode) {
case GSWITCH_THROW:
Actor_MoveForward(&this->actor);
if ((this->actor.velocity.y < 0.0f) &&
(this->actor.posRot.pos.y < (this->actor.initPosRot.pos.y - 50.0f))) {
gallery = ((EnSyatekiItm*)this->actor.parent);
this->actor.velocity.y = 0.0f;
this->actor.gravity = 0.0f;
if (gallery->actor.update != NULL) {
gallery->targetState[this->index] = ENSYATEKIHIT_MISS;
}
Actor_Kill(&this->actor);
}
break;
case GSWITCH_LEFT:
func_8002D7EC(&this->actor);
if ((this->actor.velocity.x < 0.0f) && (this->actor.posRot.pos.x < this->targetPos.x)) {
gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->targetState[this->index] = ENSYATEKIHIT_MISS;
}
Actor_Kill(&this->actor);
}
break;
case GSWITCH_RIGHT:
func_8002D7EC(&this->actor);
if (this->actor.posRot.pos.x > this->targetPos.x) {
gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->targetState[this->index] = ENSYATEKIHIT_MISS;
}
Actor_Kill(&this->actor);
}
break;
default:
switch (this->moveState) {
case MOVE_TARGET:
if ((fabsf(this->actor.posRot.pos.x - this->targetPos.x) > 5.0f) ||
(fabsf(this->actor.posRot.pos.y - this->targetPos.y) > 5.0f)) {
Math_SmoothScaleMaxF(&this->actor.posRot.pos.x, this->targetPos.x, 0.3f, 30.0f);
Math_SmoothScaleMaxF(&this->actor.posRot.pos.y, this->targetPos.y, 0.3f, 30.0f);
} else {
this->moveState = MOVE_HOME;
this->waitTimer = 60;
}
break;
case MOVE_HOME:
if (this->waitTimer == 0) {
if ((fabsf(this->actor.posRot.pos.x - this->actor.initPosRot.pos.x) > 5.0f) ||
(fabsf(this->actor.posRot.pos.y - this->actor.initPosRot.pos.y) > 5.0f)) {
Math_SmoothScaleMaxF(&this->actor.posRot.pos.x, this->actor.initPosRot.pos.x, 0.3f,
30.0f);
Math_SmoothScaleMaxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.3f,
30.0f);
} else {
gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->targetState[this->index] = ENSYATEKIHIT_MISS;
}
Actor_Kill(&this->actor);
}
}
break;
}
break;
}
if ((this->collider.base.acFlags & 2) || BREG(8)) {
gallery = ((EnSyatekiItm*)this->actor.parent);
this->collider.base.acFlags &= ~2;
if (gallery->actor.update != NULL) {
gallery->hitCount++;
gallery->targetState[this->index] = ENSYATEKIHIT_HIT;
func_80078884(NA_SE_EV_HIT_SOUND);
func_80078884(NA_SE_SY_GET_RUPY);
// Yeah !
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ いぇぇーす!HIT!! ☆☆☆☆☆ %d\n" VT_RST, gallery->hitCount);
EnGSwitch_Break(this, globalCtx);
this->killTimer = 50;
this->broken = true;
this->actionFunc = EnGSwitch_Kill;
}
}
}
}
void EnGSwitch_ArcheryPot(EnGSwitch* this, GlobalContext* globalCtx) {
s32 i;
s16 angle;
Vec3f* thisPos = &this->actor.posRot.pos;
this->actor.shape.rot.y += 0x3C0;
if (this->collider.base.acFlags & 2) {
this->collider.base.acFlags &= ~2;
for (i = 0, angle = 0; i < 30; i++, angle += 0x4E20) {
Vec3f pos;
Vec3f vel;
f32 sn = Math_Sins(angle);
f32 cs = Math_Coss(angle);
f32 rand;
s32 phi_s0;
s32 scale;
s32 pad;
pos.x = sn * 8.0f;
pos.y = 10.0f + Math_Rand_CenteredFloat(5.0f);
pos.z = cs * 8.0f;
vel.x = pos.x / 2.0f;
vel.y = 10.0f + Math_Rand_ZeroOne() * 15.0f;
vel.z = pos.z / 2.0f;
pos.x += thisPos->x;
pos.y += thisPos->y;
pos.z += thisPos->z;
rand = Math_Rand_ZeroOne();
if (rand < 0.2f) {
phi_s0 = 0x60;
} else if (rand < 0.6f) {
phi_s0 = 0x40;
} else {
phi_s0 = 0x20;
}
scale = 30.0f + Math_Rand_ZeroOne() * 130.0f;
EffectSsKakera_Spawn(globalCtx, &pos, &vel, thisPos, -240, phi_s0, 10, 10, 0, scale, 0, 0x20, 60,
KAKERA_COLOR_NONE, OBJECT_TSUBO, D_06001960);
}
func_80033480(globalCtx, thisPos, 30.0f, 4, 20, 50, 0);
Audio_PlaySoundAtPosition(globalCtx, thisPos, 40, NA_SE_EV_POT_BROKEN);
EnGSwitch_Break(this, globalCtx);
this->killTimer = 50;
this->broken = true;
this->actionFunc = EnGSwitch_Kill;
}
}
void EnGSwitch_Kill(EnGSwitch* this, GlobalContext* globalCtx) {
if (this->killTimer == 0) {
Actor_Kill(&this->actor);
}
}
void EnGSwitch_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGSwitch* this = THIS;
this->actionFunc(this, globalCtx);
if (this->killTimer != 0) {
this->killTimer--;
}
if (this->waitTimer != 0) {
this->waitTimer--;
}
if (this->delayTimer != 0) {
this->delayTimer--;
}
if ((this->type != ENGSWITCH_SILVER_TRACKER) && (this->type != ENGSWITCH_SILVER_RUPEE) &&
(this->type != ENGSWITCH_TARGET_RUPEE)) {
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 0x1C);
}
if (this->actor.draw != NULL) {
if (this->type == ENGSWITCH_TARGET_RUPEE) {
EnGSwitch_UpdateEffects(this, globalCtx);
}
if ((this->actionFunc != EnGSwitch_Kill) && (this->actionFunc != EnGSwitch_SilverRupeeIdle)) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
if (BREG(0) && (this->type == ENGSWITCH_SILVER_TRACKER)) {
DebugDisplay_AddObject(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z,
this->actor.posRot.rot.x, this->actor.posRot.rot.y, this->actor.posRot.rot.z, 1.0f, 1.0f,
1.0f, 255, 0, 0, 255, 4, globalCtx->state.gfxCtx);
}
}
void EnGSwitch_DrawPot(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGSwitch* this = THIS;
if (!this->broken) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 918);
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 925),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_060017C0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 928);
}
}
static u8* sRupeeTex[] = { 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x040421A0, 0x040421E0 };
void EnGSwitch_DrawRupee(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGSwitch* this = THIS;
if (1) {}
if (!this->broken) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 951);
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 957),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTex[this->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, D_04042440);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 961);
}
if (this->type == ENGSWITCH_TARGET_RUPEE) {
EnGSwitch_DrawEffects(this, globalCtx);
}
}
void EnGSwitch_SpawnEffects(EnGSwitch* this, Vec3f* pos, s16 scale, s16 colorIdx) {
EnGSwitchEffect* effect = this->effects;
s16 i;
for (i = 0; i < this->numEffects; i++, effect++) {
if (!effect->flag) {
Vec3f baseVel;
f32 pitch;
f32 yaw;
effect->pos = *pos;
effect->scale = scale;
effect->colorIdx = colorIdx;
effect->timer = 30;
effect->rot.x = effect->rot.y = effect->rot.z = 0.0f;
pitch = Math_Rand_CenteredFloat(1000.0f) - 13000.0f;
yaw = Math_Rand_CenteredFloat(65535.0f);
Matrix_RotateY(yaw, MTXMODE_NEW);
Matrix_RotateX(pitch, MTXMODE_APPLY);
baseVel.x = baseVel.y = 0.0f;
baseVel.z = 20.0f;
Matrix_MultVec3f(&baseVel, &effect->velocity);
effect->flag = true;
return;
}
}
}
void EnGSwitch_UpdateEffects(EnGSwitch* this, GlobalContext* globalCtx) {
Vec3f temp;
s16 i;
EnGSwitchEffect* effect = this->effects;
for (i = 0; i < this->numEffects; i++, effect++) {
if (effect->flag) {
effect->rot.x += Math_Rand_ZeroOne() * 10.0f + 15.0f;
effect->rot.y += Math_Rand_ZeroOne() * 10.0f + 15.0f;
effect->rot.z += Math_Rand_ZeroOne() * 10.0f + 15.0f;
temp.x = effect->pos.x + effect->velocity.x;
temp.y = effect->pos.y + effect->velocity.y;
temp.z = effect->pos.z + effect->velocity.z;
Math_SmoothScaleMaxF(&effect->pos.x, temp.x, 0.3f, 30.0f);
Math_SmoothScaleMaxF(&effect->pos.y, temp.y, 0.8f, 250.0f);
Math_SmoothScaleMaxF(&effect->pos.z, temp.z, 0.3f, 30.0f);
Math_SmoothScaleMaxF(&effect->velocity.y, -20.0f, 0.9f, 1.0f);
if (effect->timer != 0) {
effect->timer--;
} else if (effect->scale < 10) {
effect->flag = false;
} else {
effect->scale -= 2;
}
}
}
}
void EnGSwitch_DrawEffects(EnGSwitch* this, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
EnGSwitchEffect* effect = this->effects;
s16 i;
f32 scale;
s32 pad;
OPEN_DISPS(gfxCtx, "../z_en_g_switch.c", 1073);
func_80093D18(globalCtx->state.gfxCtx);
for (i = 0; i < this->numEffects; i++, effect++) {
if (effect->flag) {
scale = effect->scale / 10000.0f;
Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW);
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
Matrix_RotateX(effect->rot.x, MTXMODE_APPLY);
Matrix_RotateY(effect->rot.y, MTXMODE_APPLY);
Matrix_RotateZ(effect->rot.z, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 1088),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTex[effect->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, D_04042440);
}
}
CLOSE_DISPS(gfxCtx, "../z_en_g_switch.c", 1095);
}

View file

@ -6,9 +6,55 @@
struct EnGSwitch;
typedef void (*EnGSwitchActionFunc)(struct EnGSwitch*, GlobalContext*);
typedef enum {
/* 0 */ GSWITCH_NONE,
/* 1 */ GSWITCH_APPEAR,
/* 2 */ GSWITCH_THROW,
/* 3 */ GSWITCH_UNUSED,
/* 4 */ GSWITCH_LEFT,
/* 5 */ GSWITCH_RIGHT
} EnGSwitchMoveMode;
typedef enum {
/* 0 */ ENGSWITCH_SILVER_TRACKER,
/* 1 */ ENGSWITCH_SILVER_RUPEE,
/* 2 */ ENGSWITCH_ARCHERY_POT,
/* 3 */ ENGSWITCH_TARGET_RUPEE
} EnGSwitchType;
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ s16 scale;
/* 0x0E */ s16 timer;
/* 0x10 */ s16 colorIdx;
/* 0x12 */ u8 flag;
/* 0x14 */ Vec3f velocity;
/* 0x20 */ Vec3f rot;
} EnGSwitchEffect; // size = 0x2C
typedef struct EnGSwitch {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x11AC];
/* 0x014C */ EnGSwitchActionFunc actionFunc;
/* 0x0150 */ s16 type;
/* 0x0152 */ s16 silverCount;
/* 0x0154 */ s16 switchFlag;
/* 0x0156 */ s16 killTimer;
/* 0x0158 */ s16 colorIdx;
/* 0x015A */ s16 broken;
/* 0x015C */ s16 numEffects;
/* 0x015E */ s16 objId;
/* 0x0160 */ s16 index; // first or second rupee in two-rupee patterns
/* 0x0162 */ s16 delayTimer; // delay between the two blue rupees appearing
/* 0x0164 */ s16 waitTimer; // time rupee waits before retreating
/* 0x0166 */ s16 moveMode; // Type of movement in the shooting gallery
/* 0x0168 */ s16 moveState; // Appear or retreat (for blue rupees and the stationary green one)
/* 0x016A */ s16 pitchIndex;
/* 0x016C */ Vec3f targetPos;
/* 0x0178 */ s8 objIndex;
/* 0x017C */ ColliderCylinder collider;
/* 0x01C8 */ EnGSwitchEffect effects[100];
} EnGSwitch; // size = 0x12F8
extern const ActorInit En_G_Switch_InitVars;

View file

@ -1,14 +1,34 @@
#include "z_en_syateki_itm.h"
#include "vt.h"
#include "overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h"
#include "overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.h"
#include "overlays/actors/ovl_En_G_Switch/z_en_g_switch.h"
#define FLAGS 0x00000010
#define THIS ((EnSyatekiItm*)thisx)
typedef enum {
SYATEKI_ROUND_GREEN_APPEAR,
SYATEKI_ROUND_BLUE_SEQUENTIAL,
SYATEKI_ROUND_GREEN_THROW,
SYATEKI_ROUND_BLUE_SIMUL,
SYATEKI_ROUND_RED_LEFT,
SYATEKI_ROUND_RED_RIGHT,
SYATEKI_ROUND_MAX
} EnSyatekItemRound;
void EnSyatekiItm_Init(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiItm_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiItm_Update(Actor* thisx, GlobalContext* globalCtx);
/*
void EnSyatekiItm_Idle(EnSyatekiItm* this, GlobalContext* globalCtx);
void EnSyatekiItm_StartRound(EnSyatekiItm* this, GlobalContext* globalCtx);
void EnSyatekiItm_SpawnTargets(EnSyatekiItm* this, GlobalContext* globalCtx);
void EnSyatekiItm_CheckTargets(EnSyatekiItm* this, GlobalContext* globalCtx);
void EnSyatekiItm_CleanupGame(EnSyatekiItm* this, GlobalContext* globalCtx);
void EnSyatekiItm_EndGame(EnSyatekiItm* this, GlobalContext* globalCtx);
const ActorInit En_Syateki_Itm_InitVars = {
ACTOR_EN_SYATEKI_ITM,
ACTORTYPE_PROP,
@ -20,21 +40,314 @@ const ActorInit En_Syateki_Itm_InitVars = {
(ActorFunc)EnSyatekiItm_Update,
NULL,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/EnSyatekiItm_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/EnSyatekiItm_Destroy.s")
static Vec3f sGreenAppearHome = { 0.0f, -10.0f, -270.0f };
static Vec3f sBlueSeqHome1 = { -220.0f, 66.0f, -320.0f };
static Vec3f sBlueSeqHome2 = { 260.0f, 66.0f, -320.0f };
static Vec3f sGreenThrowHome = { 0.0f, -10.0f, -270.0f };
static Vec3f sBlueSimulHome1 = { -220.0f, 66.0f, -320.0f };
static Vec3f sBlueSimulHome2 = { 260.0f, 66.0f, -320.0f };
static Vec3f sRedLeftHome1 = { 260.0f, 100.0f, -320.0f };
static Vec3f sRedLeftHome2 = { 360.0f, 100.0f, -320.0f };
static Vec3f sRedRightHome1 = { -230.0f, 94.0f, -360.0f };
static Vec3f sRedRightHome2 = { -400.0f, 94.0f, -360.0f };
static Vec3f sGreenAppearFinal = { 0.0f, 53.0f, -270.0f };
static Vec3f sBlueSeqFinal1 = { -60.0f, 63.0f, -320.0f };
static Vec3f sBlueSeqFinal2 = { 60.0f, 63.0f, -320.0f };
static Vec3f sGreenThrowFinal = { 0.0f, 0.0f, 0.0f };
static Vec3f sBlueSimulFinal1 = { -60.0f, 63.0f, -320.0f };
static Vec3f sBlueSimulFinal2 = { 60.0f, 63.0f, -320.0f };
static Vec3f sRedLeftFinal1 = { -230.0f, 0.0f, 0.0f };
static Vec3f sRedLeftFinal2 = { -230.0f, 0.0f, 0.0f };
static Vec3f sRedRightFinal1 = { 260.0f, 0.0f, 0.0f };
static Vec3f sRedRightFinal2 = { 260.0f, 0.0f, 0.0f };
static s16 sTargetColors[] = { 0, 1, 0, 1, 2, 2 };
static s16 sRupeeTypes[] = { 0, 1, 1, 0, 1, 1, 4, 4, 4, 4 };
static Vec3f sRupeePos[] = {
{ -40.0f, 0.0f, -90.0f }, { -20.0f, 0.0f, -90.0f }, { 0.0f, 0.0f, -90.0f }, { 20.0f, 0.0f, -90.0f },
{ 40.0f, 0.0f, -90.0f }, { -40.0f, 0.0f, -60.0f }, { -20.0f, 0.0f, -60.0f }, { 0.0f, 0.0f, -60.0f },
{ 20.0f, 0.0f, -60.0f }, { 40.0f, 0.0f, -60.0f },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B0F838.s")
void EnSyatekiItm_Init(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
EnSyatekiItm* this = THIS;
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B0F944.s")
this->man = (EnSyatekiMan*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_SYATEKI_MAN,
140.0f, 0.0f, 255.0f, 0, -0x4000, 0, 0);
if (this->man == NULL) {
// Spawn error
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ エラー原 ☆☆☆☆ \n" VT_RST);
Actor_Kill(&this->actor);
return;
}
for (i = 0; i < 10; i++) {
this->markers[i] =
(EnExRuppy*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_EX_RUPPY,
sRupeePos[i].x, sRupeePos[i].y, sRupeePos[i].z, 0, 0, 0, 4);
if (this->markers[i] == NULL) {
// Second spawn error
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n" VT_RST);
Actor_Kill(&this->actor);
return;
}
this->markers[i]->colorIdx = sRupeeTypes[i];
}
this->actionFunc = EnSyatekiItm_Idle;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B0FABC.s")
void EnSyatekiItm_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B0FF44.s")
void EnSyatekiItm_Idle(EnSyatekiItm* this, GlobalContext* globalCtx) {
s32 i;
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B0FFE8.s")
if (this->signal == ENSYATEKI_START) {
player->actor.posRot.pos.x = -12.0f;
player->actor.posRot.pos.y = 20.0f;
player->actor.posRot.pos.z = 182.0f;
player->currentYaw = player->actor.posRot.rot.y = player->actor.shape.rot.y = 0x7F03;
player->actor.posRot.rot.x = player->actor.shape.rot.x = player->actor.posRot.rot.z =
player->actor.shape.rot.z = 0;
func_8008EF44(globalCtx, 15);
this->roundNum = this->hitCount = 0;
for (i = 0; i < 6; i++) {
this->roundFlags[i] = false;
}
for (i = 0; i < 10; i++) {
this->markers[i]->galleryFlag = false;
}
this->actionFunc = EnSyatekiItm_StartRound;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/func_80B10070.s")
void EnSyatekiItm_StartRound(EnSyatekiItm* this, GlobalContext* globalCtx) {
s32 i;
s32 j;
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Itm/EnSyatekiItm_Update.s")
if (this->unkTimer == 0) {
if (LINK_IS_ADULT) {
for (i = 0, j = 0; i < SYATEKI_ROUND_MAX; i++) {
if (this->roundFlags[i]) {
j++;
}
}
if (j >= SYATEKI_ROUND_MAX) {
player->actor.freezeTimer = 10;
this->signal = ENSYATEKI_END;
this->actionFunc = EnSyatekiItm_CleanupGame;
return;
}
i = Math_Rand_ZeroFloat(5.99f);
while (this->roundFlags[i]) {
i = Math_Rand_ZeroFloat(5.99f);
if (1) {}
}
this->roundNum = i + 1;
this->roundFlags[i] = true;
} else {
this->roundNum++;
if (this->roundNum > SYATEKI_ROUND_MAX) {
player->actor.freezeTimer = 10;
this->signal = ENSYATEKI_END;
this->actionFunc = EnSyatekiItm_CleanupGame;
return;
}
}
this->timer = (this->roundNum == 1) ? 50 : 30;
func_80078884(NA_SE_SY_FOUND);
this->actionFunc = EnSyatekiItm_SpawnTargets;
}
}
void EnSyatekiItm_SpawnTargets(EnSyatekiItm* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
s32 i;
s32 roundIdx;
if (globalCtx->shootingGalleryStatus == -1) {
player->actor.freezeTimer = 10;
this->signal = ENSYATEKI_END;
this->actionFunc = EnSyatekiItm_CleanupGame;
return;
}
if (this->timer == 0) {
for (i = 0; i < 2; i++) {
Math_Vec3f_Copy(&this->targetHome[i], &zeroVec);
Math_Vec3f_Copy(&this->targetFinal[i], &zeroVec);
this->targets[i] = NULL;
}
this->numTargets = 2;
this->curMarkers[0] = this->curMarkers[1] = NULL;
roundIdx = this->roundNum - 1;
switch (roundIdx) {
case SYATEKI_ROUND_GREEN_APPEAR:
Math_Vec3f_Copy(&this->targetHome[0], &sGreenAppearHome);
Math_Vec3f_Copy(&this->targetFinal[0], &sGreenAppearFinal);
this->curMarkers[0] = this->markers[0];
this->numTargets = 1;
break;
case SYATEKI_ROUND_BLUE_SEQUENTIAL:
Math_Vec3f_Copy(&this->targetHome[0], &sBlueSeqHome1);
Math_Vec3f_Copy(&this->targetHome[1], &sBlueSeqHome2);
Math_Vec3f_Copy(&this->targetFinal[0], &sBlueSeqFinal1);
Math_Vec3f_Copy(&this->targetFinal[1], &sBlueSeqFinal2);
this->curMarkers[0] = this->markers[1];
this->curMarkers[1] = this->markers[2];
break;
case SYATEKI_ROUND_GREEN_THROW:
Math_Vec3f_Copy(&this->targetHome[0], &sGreenThrowHome);
Math_Vec3f_Copy(&this->targetFinal[0], &sGreenThrowFinal);
this->curMarkers[0] = this->markers[3];
this->numTargets = 1;
break;
case SYATEKI_ROUND_BLUE_SIMUL:
Math_Vec3f_Copy(&this->targetHome[0], &sBlueSimulHome1);
Math_Vec3f_Copy(&this->targetHome[1], &sBlueSimulHome2);
Math_Vec3f_Copy(&this->targetFinal[0], &sBlueSimulFinal1);
Math_Vec3f_Copy(&this->targetFinal[1], &sBlueSimulFinal2);
this->curMarkers[0] = this->markers[4];
this->curMarkers[1] = this->markers[5];
break;
case SYATEKI_ROUND_RED_LEFT:
Math_Vec3f_Copy(&this->targetHome[0], &sRedLeftHome1);
Math_Vec3f_Copy(&this->targetHome[1], &sRedLeftHome2);
Math_Vec3f_Copy(&this->targetFinal[0], &sRedLeftFinal1);
Math_Vec3f_Copy(&this->targetFinal[1], &sRedLeftFinal2);
this->curMarkers[0] = this->markers[6];
this->curMarkers[1] = this->markers[7];
break;
case SYATEKI_ROUND_RED_RIGHT:
Math_Vec3f_Copy(&this->targetHome[0], &sRedRightHome1);
Math_Vec3f_Copy(&this->targetHome[1], &sRedRightHome2);
Math_Vec3f_Copy(&this->targetFinal[0], &sRedRightFinal1);
Math_Vec3f_Copy(&this->targetFinal[1], &sRedRightFinal2);
this->curMarkers[0] = this->markers[8];
this->curMarkers[1] = this->markers[9];
break;
}
for (i = 0; i < this->numTargets; i++) {
this->targets[i] = (EnGSwitch*)Actor_SpawnAsChild(
&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_G_SWITCH, this->targetHome[i].x,
this->targetHome[i].y, this->targetHome[i].z, 0, 0, 0, (ENGSWITCH_TARGET_RUPEE << 0xC) | 0x3F);
if (this->targets[i] == NULL) {
// Rupee spawn error
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n" VT_RST);
Actor_Kill(&this->actor);
return;
}
this->targets[i]->index = i;
this->targets[i]->colorIdx = sTargetColors[roundIdx];
Math_Vec3f_Copy(&this->targets[i]->targetPos, &this->targetFinal[i]);
switch (roundIdx) {
case SYATEKI_ROUND_BLUE_SEQUENTIAL:
if (i == 1) {
this->targets[i]->delayTimer = 60;
}
break;
case SYATEKI_ROUND_GREEN_THROW:
this->targets[i]->actor.velocity.y = 15.0f;
this->targets[i]->actor.gravity = -1.0f;
this->targets[i]->moveMode = GSWITCH_THROW;
break;
case SYATEKI_ROUND_RED_LEFT:
this->targets[i]->actor.velocity.x = -5.0f;
this->targets[i]->moveMode = GSWITCH_LEFT;
break;
case SYATEKI_ROUND_RED_RIGHT:
this->targets[i]->actor.velocity.x = 7.0f;
this->targets[i]->moveMode = GSWITCH_RIGHT;
break;
}
}
this->targetState[0] = this->targetState[1] = ENSYATEKIHIT_NONE;
this->actionFunc = EnSyatekiItm_CheckTargets;
}
}
void EnSyatekiItm_CheckTargets(EnSyatekiItm* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 i;
s16 j;
if (globalCtx->shootingGalleryStatus == -1) {
player->actor.freezeTimer = 10;
this->signal = ENSYATEKI_END;
this->actionFunc = EnSyatekiItm_CleanupGame;
} else {
for (i = 0, j = 0; i < 2; i++) {
if (this->targetState[i] != ENSYATEKIHIT_NONE) {
if (this->targetState[i] == ENSYATEKIHIT_HIT) {
this->curMarkers[i]->galleryFlag = true;
}
j++;
}
}
if (j == this->numTargets) {
this->actionFunc = EnSyatekiItm_StartRound;
}
}
}
void EnSyatekiItm_CleanupGame(EnSyatekiItm* this, GlobalContext* globalCtx) {
s32 i;
for (i = 0; i < 2; i++) {
if ((this->targetState[i] == ENSYATEKIHIT_NONE) && (this->targets[i] != NULL)) {
Actor_Kill(&this->targets[i]->actor);
}
}
this->actionFunc = EnSyatekiItm_EndGame;
}
void EnSyatekiItm_EndGame(EnSyatekiItm* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
player->actor.freezeTimer = 10;
if (this->signal == ENSYATEKI_RESULTS) {
this->signal = ENSYATEKI_NONE;
this->actionFunc = EnSyatekiItm_Idle;
}
if (this->signal == ENSYATEKI_START) {
// 1 frame attack and defense!
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
this->signal = ENSYATEKI_NONE;
this->actionFunc = EnSyatekiItm_Idle;
}
}
void EnSyatekiItm_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSyatekiItm* this = THIS;
this->actionFunc(this, globalCtx);
if (this->timer != 0) {
this->timer--;
}
if (this->unkTimer != 0) {
this->unkTimer--;
}
if (BREG(0)) {
DebugDisplay_AddObject(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z,
this->actor.posRot.rot.x, this->actor.posRot.rot.y, this->actor.posRot.rot.z, 1.0f, 1.0f,
1.0f, 255, 0, 0, 255, 4, globalCtx->state.gfxCtx);
}
}

View file

@ -6,9 +6,38 @@
struct EnSyatekiItm;
typedef void (*EnSyatekiItmActionFunc)(struct EnSyatekiItm*, GlobalContext*);
typedef enum {
/* 0 */ ENSYATEKI_NONE,
/* 1 */ ENSYATEKI_START,
/* 2 */ ENSYATEKI_END,
/* 3 */ ENSYATEKI_RESULTS
} EnSyatekiSignal;
typedef enum {
/* 0 */ ENSYATEKIHIT_NONE,
/* 1 */ ENSYATEKIHIT_MISS,
/* 2 */ ENSYATEKIHIT_HIT
} EnSyatekiHitState;
typedef struct EnSyatekiItm {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x8C];
/* 0x014C */ EnSyatekiItmActionFunc actionFunc;
/* 0x0150 */ s16 timer; // timer for next round
/* 0x0152 */ s16 unkTimer; // unk timer
/* 0x0154 */ s16 signal; // signal between this and shopkeeper
/* 0x0156 */ s16 hitCount; // total rupees hit
/* 0x0158 */ s16 roundNum; // current round
/* 0x015A */ s16 roundFlags[6]; // flags for each round happening
/* 0x0166 */ s16 targetState[2]; // current state of target rupees
/* 0x016A */ s16 numTargets; // number of target rupees for this round
/* 0x016C */ Vec3f targetHome[2]; // initial position of target rupees
/* 0x0184 */ Vec3f targetFinal[2]; // target position of target rupees
/* 0x019C */ struct EnExRuppy* markers[10]; // marker rupees for hits
/* 0x01C4 */ struct EnGSwitch* targets[2]; // currently spawned target rupees
/* 0x01CC */ struct EnSyatekiMan* man; // shopkeeper
/* 0x01D0 */ struct EnExRuppy* curMarkers[2]; // marker rupees for the current round
} EnSyatekiItm; // size = 0x01D8
extern const ActorInit En_Syateki_Itm_InitVars;

View file

@ -1,19 +1,52 @@
#include "z_en_syateki_man.h"
#include "vt.h"
#include "overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.h"
#define FLAGS 0x08000019
#define THIS ((EnSyatekiMan*)thisx)
typedef enum {
/* 0 */ SYATEKI_RESULT_NONE,
/* 1 */ SYATEKI_RESULT_WINNER,
/* 2 */ SYATEKI_RESULT_ALMOST,
/* 3 */ SYATEKI_RESULT_FAILURE,
/* 4 */ SYATEKI_RESULT_REFUSE
} EnSyatekiManGameResult;
typedef enum {
/* 0 */ SYATEKI_TEXT_CHOICE,
/* 1 */ SYATEKI_TEXT_START_GAME,
/* 2 */ SYATEKI_TEXT_NO_RUPEES,
/* 3 */ SYATEKI_TEXT_REFUSE
} EnSyatekiManTextIdx;
void EnSyatekiMan_Init(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiMan_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiMan_Update(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06000338;
extern UNK_TYPE D_06007E28;
extern UNK_TYPE D_06009B38;
void EnSyatekiMan_Start(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_SetupIdle(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_Idle(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_Talk(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_StopTalk(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_StartGame(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_WaitForGame(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_GivePrize(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyaketiMan_FinishPrize(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_RestartGame(EnSyatekiMan* this, GlobalContext* globalCtx);
void EnSyatekiMan_BlinkWait(EnSyatekiMan* this);
void EnSyatekiMan_Blink(EnSyatekiMan* this);
void EnSyatekiMan_SetBgm(void);
extern AnimationHeader D_06000338;
extern Gfx D_06007E28[];
extern FlexSkeletonHeader D_06009B38;
/*
const ActorInit En_Syateki_Man_InitVars = {
ACTOR_EN_SYATEKI_MAN,
ACTORTYPE_NPC,
@ -25,41 +58,372 @@ const ActorInit En_Syateki_Man_InitVars = {
(ActorFunc)EnSyatekiMan_Update,
(ActorFunc)EnSyatekiMan_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Destroy.s")
static u16 sBgmList[] = {
0x00, 0x01, 0x02, 0x18, 0x19, 0x02, 0x19, 0x1A, 0x1A, 0x81A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x922,
0x23, 0x924, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x92B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x32, 0x33, 0x34, 0x35,
0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
0x5A, 0x5B, 0x5C, 0x5D, 0x6D, 0x5E, 0x5E, 0x5F, 0x60, 0x61, 0x6D, 0x62, 0x63, 0x64, 0x65, 0x66,
};
static s16 sTextIds[] = { 0x2B, 0x2E, 0xC8, 0x2D };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10948.s")
static s16 sTextBoxCount[] = { 4, 5, 5, 5 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B109DC.s")
void EnSyatekiMan_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSyatekiMan* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10A2C.s")
osSyncPrintf("\n\n");
// Old man appeared!! Muhohohohohohohon
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 親父登場!!むほほほほほほほーん ☆☆☆☆☆ \n" VT_RST);
this->actor.unk_1F = 1;
Actor_SetScale(&this->actor, 0.01f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009B38, &D_06000338, this->limbDrawTbl,
this->transitionDrawTbl, 9);
if (LINK_IS_CHILD) {
this->headRot.z = 20;
}
this->blinkTimer = 20;
this->eyeState = 0;
this->blinkFunc = EnSyatekiMan_BlinkWait;
this->actor.colChkInfo.unk_10 = 100;
this->actionFunc = EnSyatekiMan_Start;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10A84.s")
void EnSyatekiMan_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10C2C.s")
void EnSyatekiMan_Start(EnSyatekiMan* this, GlobalContext* globalCtx) {
f32 lastFrame = SkelAnime_GetFrameCount(&D_06000338);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10CD4.s")
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000338, 1.0f, 0.0f, (s16)lastFrame, 0, -10.0f);
this->actionFunc = EnSyatekiMan_SetupIdle;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10D94.s")
void EnSyatekiMan_SetupIdle(EnSyatekiMan* this, GlobalContext* globalCtx) {
if (this->gameResult == SYATEKI_RESULT_REFUSE) {
this->textIdx = SYATEKI_TEXT_REFUSE;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B10EB0.s")
this->actor.textId = sTextIds[this->textIdx];
this->numTextBox = sTextBoxCount[this->textIdx];
this->actionFunc = EnSyatekiMan_Idle;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B11164.s")
void EnSyatekiMan_Idle(EnSyatekiMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnSyatekiMan_Talk;
} else {
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B111D4.s")
void EnSyatekiMan_Talk(EnSyatekiMan* this, GlobalContext* globalCtx) {
s16 nextState = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B112A0.s")
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
if ((this->numTextBox == func_8010BDBC(&globalCtx->msgCtx)) && func_80106BC8(globalCtx)) {
if (this->textIdx == SYATEKI_TEXT_CHOICE) {
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
if (gSaveContext.rupees >= 20) {
Rupees_ChangeBy(-20);
this->textIdx = SYATEKI_TEXT_START_GAME;
nextState = 1;
} else {
this->textIdx = SYATEKI_TEXT_NO_RUPEES;
nextState = 2;
}
this->actor.textId = sTextIds[this->textIdx];
this->numTextBox = sTextBoxCount[this->textIdx];
break;
case 1:
this->actor.textId = sTextIds[SYATEKI_TEXT_REFUSE];
this->numTextBox = sTextBoxCount[SYATEKI_TEXT_REFUSE];
nextState = 2;
break;
}
func_8010B720(globalCtx, this->actor.textId);
} else {
func_80106CCC(globalCtx);
}
switch (nextState) {
case 0:
this->actionFunc = EnSyatekiMan_SetupIdle;
break;
case 1:
this->actionFunc = EnSyatekiMan_StartGame;
break;
case 2:
this->actionFunc = EnSyatekiMan_StopTalk;
break;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B11310.s")
void EnSyatekiMan_StopTalk(EnSyatekiMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
if ((this->numTextBox == func_8010BDBC(&globalCtx->msgCtx)) && func_80106BC8(globalCtx)) {
if (this->cameraHold) {
func_800803F0(globalCtx, this->onePointCam);
this->onePointCam = -1;
this->cameraHold = false;
}
func_80106CCC(globalCtx);
this->actionFunc = EnSyatekiMan_SetupIdle;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B11344.s")
void EnSyatekiMan_StartGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Update.s")
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
if ((this->numTextBox == func_8010BDBC(&globalCtx->msgCtx)) && func_80106BC8(globalCtx)) {
if (this->cameraHold) {
func_800803F0(globalCtx, this->onePointCam);
this->onePointCam = -1;
this->cameraHold = false;
}
func_80106CCC(globalCtx);
gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->signal = ENSYATEKI_START;
this->actionFunc = EnSyatekiMan_WaitForGame;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B1148C.s")
void EnSyatekiMan_WaitForGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s")
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (1) {}
gallery = ((EnSyatekiItm*)this->actor.parent);
if ((gallery->actor.update != NULL) && (gallery->signal == ENSYATEKI_END)) {
this->onePointCam = func_800800F8(globalCtx, 0x1F42, -0x63, &this->actor, 0);
switch (gallery->hitCount) {
case 10:
this->gameResult = SYATEKI_RESULT_WINNER;
this->actor.textId = 0x71AF;
break;
case 8:
case 9:
this->gameResult = SYATEKI_RESULT_ALMOST;
this->actor.textId = 0x71AE;
break;
default:
this->gameResult = SYATEKI_RESULT_FAILURE;
this->actor.textId = 0x71AD;
if (globalCtx->shootingGalleryStatus == 15 + 1) {
this->gameResult = SYATEKI_RESULT_REFUSE;
this->actor.textId = 0x2D;
}
break;
}
globalCtx->shootingGalleryStatus = -2;
func_8010B680(globalCtx, this->actor.textId, NULL);
this->actionFunc = EnSyatekiMan_EndGame;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/func_80B1156C.s")
void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if ((this->numTextBox == func_8010BDBC(&globalCtx->msgCtx)) && func_80106BC8(globalCtx)) {
if (this->gameResult != SYATEKI_RESULT_FAILURE) {
func_800803F0(globalCtx, this->onePointCam);
this->onePointCam = -1;
}
func_80106CCC(globalCtx);
gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->signal = ENSYATEKI_RESULTS;
this->textIdx = 0;
switch (this->gameResult) {
case SYATEKI_RESULT_WINNER:
this->tempGallery = this->actor.parent;
this->actor.parent = NULL;
if (LINK_IS_CHILD) {
if (!(gSaveContext.itemGetInf[0] & 0x2000)) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ Equip_Pachinko ☆☆☆☆☆ %d\n" VT_RST, CUR_UPG_VALUE(UPG_BULLET_BAG));
if (CUR_UPG_VALUE(UPG_BULLET_BAG) == 1) {
this->getItemId = GI_BULLET_BAG_40;
} else {
this->getItemId = GI_BULLET_BAG_50;
}
} else {
this->getItemId = GI_RUPEE_PURPLE;
}
} else {
if (!(gSaveContext.itemGetInf[0] & 0x4000)) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ Equip_Bow ☆☆☆☆☆ %d\n" VT_RST, CUR_UPG_VALUE(UPG_QUIVER));
switch (CUR_UPG_VALUE(UPG_QUIVER)) {
case 0:
this->getItemId = GI_RUPEE_PURPLE;
break;
case 1:
this->getItemId = GI_QUIVER_40;
break;
case 2:
this->getItemId = GI_QUIVER_50;
break;
}
} else {
this->getItemId = GI_RUPEE_PURPLE;
}
}
func_8002F434(&this->actor, globalCtx, this->getItemId, 2000.0f, 1000.0f);
this->actionFunc = EnSyatekiMan_GivePrize;
break;
case SYATEKI_RESULT_ALMOST:
this->timer = 20;
func_8008EF44(globalCtx, 15);
this->actionFunc = EnSyatekiMan_RestartGame;
break;
default:
if (this->gameResult == SYATEKI_RESULT_REFUSE) {
this->actionFunc = EnSyatekiMan_SetupIdle;
} else {
this->cameraHold = true;
this->actor.textId = sTextIds[this->textIdx];
this->numTextBox = sTextBoxCount[this->textIdx];
func_8010B680(globalCtx, this->actor.textId, NULL);
this->actionFunc = EnSyatekiMan_Talk;
}
break;
}
}
}
}
void EnSyatekiMan_GivePrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actionFunc = EnSyaketiMan_FinishPrize;
} else {
func_8002F434(&this->actor, globalCtx, this->getItemId, 2000.0f, 1000.0f);
}
}
void EnSyaketiMan_FinishPrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && func_80106BC8(globalCtx)) {
// Successful completion
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST);
if (LINK_IS_CHILD) {
gSaveContext.itemGetInf[0] |= 0x2000;
} else if ((this->getItemId == GI_QUIVER_40) || (this->getItemId == GI_QUIVER_50)) {
gSaveContext.itemGetInf[0] |= 0x4000;
}
this->gameResult = SYATEKI_RESULT_NONE;
this->actor.parent = this->tempGallery;
this->actor.flags |= 1;
this->actionFunc = EnSyatekiMan_SetupIdle;
}
}
void EnSyatekiMan_RestartGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer == 0) {
EnSyatekiItm* gallery = ((EnSyatekiItm*)this->actor.parent);
if (gallery->actor.update != NULL) {
gallery->signal = ENSYATEKI_START;
this->gameResult = SYATEKI_RESULT_NONE;
this->actionFunc = EnSyatekiMan_WaitForGame;
// Let's try again! Baby!
osSyncPrintf(VT_FGCOL(BLUE) "再挑戦だぜ!ベイビー!" VT_RST "\n", this);
}
}
}
void EnSyatekiMan_BlinkWait(EnSyatekiMan* this) {
s16 decrBlinkTimer = this->blinkTimer - 1;
if (decrBlinkTimer != 0) {
this->blinkTimer = decrBlinkTimer;
} else {
this->blinkFunc = EnSyatekiMan_Blink;
}
}
void EnSyatekiMan_Blink(EnSyatekiMan* this) {
s16 decrBlinkTimer = this->blinkTimer - 1;
if (decrBlinkTimer != 0) {
this->blinkTimer = decrBlinkTimer;
} else {
s16 nextEyeState = this->eyeState + 1;
if (nextEyeState >= 3) {
this->eyeState = 0;
this->blinkTimer = 20 + (s32)(Math_Rand_ZeroOne() * 60.0f);
this->blinkFunc = EnSyatekiMan_BlinkWait;
} else {
this->eyeState = nextEyeState;
this->blinkTimer = 1;
}
}
}
void EnSyatekiMan_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSyatekiMan* this = THIS;
if (this->timer != 0) {
this->timer--;
}
this->actionFunc(this, globalCtx);
EnSyatekiMan_SetBgm();
this->blinkFunc(this);
this->actor.posRot2.pos.y = 70.0f;
Actor_SetHeight(&this->actor, 70.0f);
func_80038290(globalCtx, &this->actor, &this->headRot, &this->bodyRot, this->actor.posRot2.pos);
}
s32 func_80B1148C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnSyatekiMan* this = THIS;
s32 turnDirection;
if (limbIndex == 1) {
rot->x += this->bodyRot.y;
}
if (limbIndex == 8) {
*dList = D_06007E28;
turnDirection = 1;
if (this->gameResult == SYATEKI_RESULT_REFUSE) {
turnDirection = -1;
}
rot->x += this->headRot.y * turnDirection;
rot->z += this->headRot.z;
}
return 0;
}
void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSyatekiMan* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
func_80B1148C, NULL, this);
}
void EnSyatekiMan_SetBgm(void) {
if (BREG(80)) {
BREG(80) = false;
Audio_SetBGM(sBgmList[BREG(81)]);
}
}

View file

@ -6,9 +6,28 @@
struct EnSyatekiMan;
typedef void (*EnSyatekiManActionFunc) (struct EnSyatekiMan*, GlobalContext*);
typedef void (*EnSyatekiManOtherFunc) (struct EnSyatekiMan*);
typedef struct EnSyatekiMan {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xE0];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTbl[9];
/* 0x01C6 */ Vec3s transitionDrawTbl[9];
/* 0x01FC */ EnSyatekiManActionFunc actionFunc;
/* 0x0200 */ Vec3s headRot;
/* 0x0206 */ Vec3s bodyRot;
/* 0x020C */ s16 eyeState; // Unused
/* 0x020E */ s16 blinkTimer; // Unused
/* 0x0210 */ s16 textIdx;
/* 0x0212 */ s16 numTextBox;
/* 0x0214 */ s16 gameResult;
/* 0x0216 */ s16 timer;
/* 0x0218 */ s32 getItemId;
/* 0x021C */ u8 cameraHold;
/* 0x0220 */ Actor* tempGallery;
/* 0x0224 */ EnSyatekiManOtherFunc blinkFunc; // Seems to be part of a blink system with unk_20C and unk_20E, but it's unused.
/* 0x0228 */ s16 onePointCam;
} EnSyatekiMan; // size = 0x022C
extern const ActorInit En_Syateki_Man_InitVars;

View file

@ -457,7 +457,7 @@ void func_80B12460(EnSyatekiNiw* this, GlobalContext* globalCtx) {
if (this->unk_25E == 1) {
globalCtx->sceneLoadFlag = 0x14;
globalCtx->nextEntranceIndex = gSaveContext.entranceIndex;
globalCtx->unk_11E5C = 0;
globalCtx->shootingGalleryStatus = 0;
player->actor.freezeTimer = 20;
this->unk_25E = 0x14;
this->actionFunc = func_80B128D8;
@ -643,7 +643,7 @@ void EnSyatekiNiw_Update(Actor* thisx, GlobalContext* globalCtx) {
i = 0;
switch (this->unk_29E) {
case 0:
if (globalCtx->unk_11E5C != 0) {
if (globalCtx->shootingGalleryStatus != 0) {
i = 1;
}
break;

View file

@ -1777,10 +1777,10 @@ void func_808337D4(GlobalContext* globalCtx, Player* this) {
this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0,
this->actor.shape.rot.y, 0, 0);
if (spawnedActor != NULL) {
if ((explosiveType != 0) && (globalCtx->bombchuBowlingAmmo != 0)) {
globalCtx->bombchuBowlingAmmo--;
if (globalCtx->bombchuBowlingAmmo == 0) {
globalCtx->bombchuBowlingAmmo = -1;
if ((explosiveType != 0) && (globalCtx->bombchuBowlingStatus != 0)) {
globalCtx->bombchuBowlingStatus--;
if (globalCtx->bombchuBowlingStatus == 0) {
globalCtx->bombchuBowlingStatus = -1;
}
} else {
Inventory_ChangeAmmo(explosiveInfo->itemId, -1);
@ -1911,8 +1911,8 @@ s32 func_80833C98(s32 item1, s32 actionParam) {
s32 func_80833CDC(GlobalContext* globalCtx, s32 index) {
if (index >= 4) {
return ITEM_NONE;
} else if (globalCtx->bombchuBowlingAmmo != 0) {
return (globalCtx->bombchuBowlingAmmo > 0) ? ITEM_BOMBCHU : ITEM_NONE;
} else if (globalCtx->bombchuBowlingStatus != 0) {
return (globalCtx->bombchuBowlingStatus > 0) ? ITEM_BOMBCHU : ITEM_NONE;
} else if (index == 0) {
return B_BTN_ITEM;
} else if (index == 1) {
@ -2029,7 +2029,7 @@ void func_80834298(Player* this, GlobalContext* globalCtx) {
if ((this->actor.type == ACTORTYPE_PLAYER) && !(this->stateFlags1 & 0x100) &&
((this->heldItemActionParam == this->itemActionParam) || (this->stateFlags1 & 0x400000)) &&
(gSaveContext.health != 0) && (globalCtx->csCtx.state == 0) && (this->csMode == 0) &&
(globalCtx->unk_11E5C == 0) && (globalCtx->activeCamera == 0) && (globalCtx->sceneLoadFlag != 0x14) &&
(globalCtx->shootingGalleryStatus == 0) && (globalCtx->activeCamera == 0) && (globalCtx->sceneLoadFlag != 0x14) &&
(gSaveContext.timer1State != 10)) {
func_80833DF8(this, globalCtx);
}
@ -2054,8 +2054,8 @@ s32 func_80834380(GlobalContext* globalCtx, Player* this, s32* itemPtr, s32* typ
if (gSaveContext.minigameState == 1) {
return globalCtx->interfaceCtx.hbaAmmo;
} else if (globalCtx->unk_11E5C != 0) {
return globalCtx->unk_11E5C;
} else if (globalCtx->shootingGalleryStatus != 0) {
return globalCtx->shootingGalleryStatus;
} else {
return AMMO(*itemPtr);
}
@ -2145,7 +2145,7 @@ s32 func_80834758(GlobalContext* globalCtx, Player* this) {
LinkAnimationHeader* anim;
f32 frame;
if (!(this->stateFlags1 & 0x20C00000) && (globalCtx->unk_11E5C == 0) &&
if (!(this->stateFlags1 & 0x20C00000) && (globalCtx->shootingGalleryStatus == 0) &&
(this->heldItemActionParam == this->itemActionParam) && (this->currentShield != PLAYER_SHIELD_NONE) &&
!Player_IsChildWithHylianShield(this) && func_80833BCC(this) &&
CHECK_BTN_ALL(sControlInput->cur.button, BTN_R)) {
@ -2215,7 +2215,7 @@ s32 func_808349DC(Player* this, GlobalContext* globalCtx) {
s32 func_80834A2C(Player* this, GlobalContext* globalCtx) {
if (func_800A3BC0(globalCtx, &this->skelAnime2) ||
((Player_ItemToActionParam(this->heldItemId) == this->heldItemActionParam) &&
(D_80853614 = (D_80853614 || ((this->modelAnimType != 3) && (globalCtx->unk_11E5C == 0)))))) {
(D_80853614 = (D_80853614 || ((this->modelAnimType != 3) && (globalCtx->shootingGalleryStatus == 0)))))) {
func_80833638(this, D_80853EDC[this->heldItemActionParam]);
this->unk_834 = 0;
this->unk_6AC = 0;
@ -2307,12 +2307,12 @@ s32 func_80834D2C(Player* this, GlobalContext* globalCtx) {
}
s32 func_80834E44(GlobalContext* globalCtx) {
return (globalCtx->unk_11E5C > 0) && CHECK_BTN_ALL(sControlInput->press.button, BTN_B);
return (globalCtx->shootingGalleryStatus > 0) && CHECK_BTN_ALL(sControlInput->press.button, BTN_B);
}
s32 func_80834E7C(GlobalContext* globalCtx) {
return (globalCtx->unk_11E5C != 0) &&
((globalCtx->unk_11E5C < 0) ||
return (globalCtx->shootingGalleryStatus != 0) &&
((globalCtx->shootingGalleryStatus < 0) ||
CHECK_BTN_ANY(sControlInput->cur.button, BTN_A | BTN_B | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN));
}
@ -2376,14 +2376,14 @@ s32 func_808350A4(GlobalContext* globalCtx, Player* this) {
if (gSaveContext.minigameState == 1) {
globalCtx->interfaceCtx.hbaAmmo--;
} else if (globalCtx->unk_11E5C != 0) {
globalCtx->unk_11E5C--;
} else if (globalCtx->shootingGalleryStatus != 0) {
globalCtx->shootingGalleryStatus--;
} else {
Inventory_ChangeAmmo(item, -1);
}
if (globalCtx->unk_11E5C == 1) {
globalCtx->unk_11E5C = -10;
if (globalCtx->shootingGalleryStatus == 1) {
globalCtx->shootingGalleryStatus = -10;
}
func_8083264C(this, 150, 10, 150, 0);
@ -2763,7 +2763,7 @@ void func_80835F44(GlobalContext* globalCtx, Player* this, s32 item) {
((this->actor.bgCheckFlags & 1) &&
((actionParam == PLAYER_AP_HOOKSHOT) || (actionParam == PLAYER_AP_LONGSHOT)))) {
if ((globalCtx->bombchuBowlingAmmo == 0) &&
if ((globalCtx->bombchuBowlingStatus == 0) &&
(((actionParam == PLAYER_AP_STICK) && (AMMO(ITEM_STICK) == 0)) ||
((actionParam == PLAYER_AP_BEAN) && (AMMO(ITEM_BEAN) == 0)) ||
(temp = Player_ActionToExplosive(this, actionParam),
@ -5162,7 +5162,7 @@ s32 func_8083C2B0(Player* this, GlobalContext* globalCtx) {
LinkAnimationHeader* anim;
f32 frame;
if ((globalCtx->unk_11E5C == 0) && (this->currentShield != PLAYER_SHIELD_NONE) &&
if ((globalCtx->shootingGalleryStatus == 0) && (this->currentShield != PLAYER_SHIELD_NONE) &&
CHECK_BTN_ALL(sControlInput->cur.button, BTN_R) &&
(Player_IsChildWithHylianShield(this) || (!func_80833B2C(this) && (this->unk_664 == NULL)))) {
@ -9068,7 +9068,7 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx) {
s16 params;
u16 entranceSound;
globalCtx->unk_11E5C = globalCtx->bombchuBowlingAmmo = 0;
globalCtx->shootingGalleryStatus = globalCtx->bombchuBowlingStatus = 0;
globalCtx->playerInit = Player_InitCommon;
globalCtx->playerUpdate = Player_UpdateCommon;
@ -10554,7 +10554,8 @@ s16 func_8084ABD8(GlobalContext* globalCtx, Player* this, s32 arg2, s16 arg3) {
}
this->unk_6AE |= 2;
return func_80836AB8(this, (globalCtx->unk_11E5C != 0) || func_8002DD78(this) || func_808334B4(this)) - arg3;
return func_80836AB8(this, (globalCtx->shootingGalleryStatus != 0) || func_8002DD78(this) || func_808334B4(this)) -
arg3;
}
#else
s16 func_8084ABD8(GlobalContext* globalCtx, Player* this, s32 arg2, s16 arg3);
@ -10684,7 +10685,7 @@ void func_8084B1D8(Player* this, GlobalContext* globalCtx) {
}
s32 func_8084B3CC(GlobalContext* globalCtx, Player* this) {
if (globalCtx->unk_11E5C != 0) {
if (globalCtx->shootingGalleryStatus != 0) {
func_80832564(globalCtx, this);
func_80835C58(globalCtx, this, func_8084FA54, 0);
@ -12482,9 +12483,9 @@ void func_8084FA54(Player* this, GlobalContext* globalCtx) {
this->unk_6BE = func_8084ABD8(globalCtx, this, 1, 0) - this->actor.shape.rot.y;
this->unk_6AE |= 0x80;
if (globalCtx->unk_11E5C < 0) {
globalCtx->unk_11E5C++;
if (globalCtx->unk_11E5C == 0) {
if (globalCtx->shootingGalleryStatus < 0) {
globalCtx->shootingGalleryStatus++;
if (globalCtx->shootingGalleryStatus == 0) {
func_8083C148(this, globalCtx);
}
}