Give a name to the list of actors (#200)

Add a define for the size of the actor list, and add a comment
 cautioning people about how to appropriately interact with
 the specialized types.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran
2022-05-14 22:03:42 -04:00
committed by GitHub
parent 418d7d95c6
commit 55a30f5c8c
45 changed files with 440 additions and 472 deletions
+2 -8
View File
@@ -244,14 +244,8 @@ glabel D_8015F8F6
glabel D_8015F900
.skip 184
glabel D_8015F9B8
.skip 6
glabel D_8015F9BE
.skip 938
glabel D_8015FD68
.skip 10256
glabel gActorList
.skip 11200
glabel D_80162578
.skip 112
@@ -2,9 +2,9 @@ glabel func_8000ED80
/* 00F980 8000ED80 000470C0 */ sll $t6, $a0, 3
/* 00F984 8000ED84 01C47023 */ subu $t6, $t6, $a0
/* 00F988 8000ED88 000E7100 */ sll $t6, $t6, 4
/* 00F98C 8000ED8C 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # 0x8016
/* 00F98C 8000ED8C 3C0F8016 */ lui $t7, %hi(gActorList) # 0x8016
/* 00F990 8000ED90 01EE7821 */ addu $t7, $t7, $t6
/* 00F994 8000ED94 85EFF9B8 */ lh $t7, %lo(D_8015F9B8)($t7) # -0x648($t7)
/* 00F994 8000ED94 85EFF9B8 */ lh $t7, %lo(gActorList)($t7) # -0x648($t7)
/* 00F998 8000ED98 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00F99C 8000ED9C 24010008 */ li $at, 8
/* 00F9A0 8000EDA0 11E10003 */ beq $t7, $at, .L8000EDB0
@@ -2,9 +2,9 @@ glabel func_8000EDC8
/* 00F9C8 8000EDC8 000470C0 */ sll $t6, $a0, 3
/* 00F9CC 8000EDCC 01C47023 */ subu $t6, $t6, $a0
/* 00F9D0 8000EDD0 000E7100 */ sll $t6, $t6, 4
/* 00F9D4 8000EDD4 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # 0x8016
/* 00F9D4 8000EDD4 3C0F8016 */ lui $t7, %hi(gActorList) # 0x8016
/* 00F9D8 8000EDD8 01EE7821 */ addu $t7, $t7, $t6
/* 00F9DC 8000EDDC 85EFF9B8 */ lh $t7, %lo(D_8015F9B8)($t7) # -0x648($t7)
/* 00F9DC 8000EDDC 85EFF9B8 */ lh $t7, %lo(gActorList)($t7) # -0x648($t7)
/* 00F9E0 8000EDE0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00F9E4 8000EDE4 24010007 */ li $at, 7
/* 00F9E8 8000EDE8 11E10003 */ beq $t7, $at, .L8000EDF8
@@ -2,9 +2,9 @@ glabel func_8000EE10
/* 00FA10 8000EE10 000470C0 */ sll $t6, $a0, 3
/* 00FA14 8000EE14 01C47023 */ subu $t6, $t6, $a0
/* 00FA18 8000EE18 000E7100 */ sll $t6, $t6, 4
/* 00FA1C 8000EE1C 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # 0x8016
/* 00FA1C 8000EE1C 3C0F8016 */ lui $t7, %hi(gActorList) # 0x8016
/* 00FA20 8000EE20 01EE7821 */ addu $t7, $t7, $t6
/* 00FA24 8000EE24 85EFF9B8 */ lh $t7, %lo(D_8015F9B8)($t7) # -0x648($t7)
/* 00FA24 8000EE24 85EFF9B8 */ lh $t7, %lo(gActorList)($t7) # -0x648($t7)
/* 00FA28 8000EE28 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00FA2C 8000EE2C 2401002A */ li $at, 42
/* 00FA30 8000EE30 11E10003 */ beq $t7, $at, .L8000EE40
@@ -21,13 +21,13 @@ glabel func_8000EF20
/* 00FB6C 8000EF6C F7B60020 */ sdc1 $f22, 0x20($sp)
/* 00FB70 8000EF70 3C01800F */ lui $at, %hi(D_800ED048) # $at, 0x800f
/* 00FB74 8000EF74 3C108016 */ lui $s0, %hi(D_801641F8) # $s0, 0x8016
/* 00FB78 8000EF78 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016
/* 00FB78 8000EF78 3C138016 */ lui $s3, %hi(gActorList) # $s3, 0x8016
/* 00FB7C 8000EF7C 3C168016 */ lui $s6, %hi(D_801642D8) # $s6, 0x8016
/* 00FB80 8000EF80 AFBF0064 */ sw $ra, 0x64($sp)
/* 00FB84 8000EF84 AFB1004C */ sw $s1, 0x4c($sp)
/* 00FB88 8000EF88 F7B40018 */ sdc1 $f20, 0x18($sp)
/* 00FB8C 8000EF8C 26D642D8 */ addiu $s6, %lo(D_801642D8) # addiu $s6, $s6, 0x42d8
/* 00FB90 8000EF90 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648
/* 00FB90 8000EF90 2673F9B8 */ addiu $s3, %lo(gActorList) # addiu $s3, $s3, -0x648
/* 00FB94 8000EF94 261041F8 */ addiu $s0, %lo(D_801641F8) # addiu $s0, $s0, 0x41f8
/* 00FB98 8000EF98 C436D048 */ lwc1 $f22, %lo(D_800ED048)($at)
/* 00FB9C 8000EF9C 24120001 */ li $s2, 1
@@ -2,11 +2,11 @@ glabel func_80012A48
/* 013648 80012A48 AFA50004 */ sw $a1, 4($sp)
/* 01364C 80012A4C 8498001E */ lh $t8, 0x1e($a0)
/* 013650 80012A50 C4840004 */ lwc1 $f4, 4($a0)
/* 013654 80012A54 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 013654 80012A54 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 013658 80012A58 0018C8C0 */ sll $t9, $t8, 3
/* 01365C 80012A5C 0338C823 */ subu $t9, $t9, $t8
/* 013660 80012A60 0019C900 */ sll $t9, $t9, 4
/* 013664 80012A64 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 013664 80012A64 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 013668 80012A68 03281021 */ addu $v0, $t9, $t0
/* 01366C 80012A6C E4440018 */ swc1 $f4, 0x18($v0)
/* 013670 80012A70 C4860008 */ lwc1 $f6, 8($a0)
@@ -258,13 +258,13 @@ glabel func_800133C4
/* 014380 80013780 C606000C */ lwc1 $f6, 0xc($s0)
/* 014384 80013784 860C001E */ lh $t4, 0x1e($s0)
/* 014388 80013788 461A0401 */ sub.s $f16, $f0, $f26
/* 01438C 8001378C 3C0E8016 */ lui $t6, %hi(D_8015F9B8) # $t6, 0x8016
/* 01438C 8001378C 3C0E8016 */ lui $t6, %hi(gActorList) # $t6, 0x8016
/* 014390 80013790 000C68C0 */ sll $t5, $t4, 3
/* 014394 80013794 461C9101 */ sub.s $f4, $f18, $f28
/* 014398 80013798 01AC6823 */ subu $t5, $t5, $t4
/* 01439C 8001379C 000D6900 */ sll $t5, $t5, 4
/* 0143A0 800137A0 461E3201 */ sub.s $f8, $f6, $f30
/* 0143A4 800137A4 25CEF9B8 */ addiu $t6, %lo(D_8015F9B8) # addiu $t6, $t6, -0x648
/* 0143A4 800137A4 25CEF9B8 */ addiu $t6, %lo(gActorList) # addiu $t6, $t6, -0x648
/* 0143A8 800137A8 E6100010 */ swc1 $f16, 0x10($s0)
/* 0143AC 800137AC E6040014 */ swc1 $f4, 0x14($s0)
/* 0143B0 800137B0 E6080018 */ swc1 $f8, 0x18($s0)
@@ -111,8 +111,8 @@ glabel func_80013D20
/* 014AC4 80013EC4 C612000C */ lwc1 $f18, 0xc($s0)
/* 014AC8 80013EC8 46040181 */ sub.s $f6, $f0, $f4
/* 014ACC 80013ECC 860B001E */ lh $t3, 0x1e($s0)
/* 014AD0 80013ED0 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 014AD4 80013ED4 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 014AD0 80013ED0 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016
/* 014AD4 80013ED4 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648
/* 014AD8 80013ED8 E6060010 */ swc1 $f6, 0x10($s0)
/* 014ADC 80013EDC C7AA0058 */ lwc1 $f10, 0x58($sp)
/* 014AE0 80013EE0 000B60C0 */ sll $t4, $t3, 3
+26 -26
View File
@@ -212,8 +212,8 @@ glabel L8001AD64
/* 01BB30 8001AF30 86020004 */ lh $v0, 4($s0)
glabel L8001AF34
/* 01BB34 8001AF34 86180002 */ lh $t8, 2($s0)
/* 01BB38 8001AF38 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 01BB3C 8001AF3C 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 01BB38 8001AF38 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 01BB3C 8001AF3C 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 01BB40 8001AF40 001878C0 */ sll $t7, $t8, 3
/* 01BB44 8001AF44 01F87823 */ subu $t7, $t7, $t8
/* 01BB48 8001AF48 000F7900 */ sll $t7, $t7, 4
@@ -256,8 +256,8 @@ glabel L8001AF34
/* 01BBD4 8001AFD4 86020004 */ lh $v0, 4($s0)
glabel L8001AFD8
/* 01BBD8 8001AFD8 860E0002 */ lh $t6, 2($s0)
/* 01BBDC 8001AFDC 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 01BBE0 8001AFE0 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 01BBDC 8001AFDC 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 01BBE0 8001AFE0 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 01BBE4 8001AFE4 000EC0C0 */ sll $t8, $t6, 3
/* 01BBE8 8001AFE8 030EC023 */ subu $t8, $t8, $t6
/* 01BBEC 8001AFEC 0018C100 */ sll $t8, $t8, 4
@@ -339,8 +339,8 @@ glabel L8001B0EC
/* 01BD0C 8001B10C 3C088016 */ lui $t0, %hi(D_80164438) # $t0, 0x8016
/* 01BD10 8001B110 0003C8C0 */ sll $t9, $v1, 3
/* 01BD14 8001B114 0323C823 */ subu $t9, $t9, $v1
/* 01BD18 8001B118 3C0B8016 */ lui $t3, %hi(D_8015F9B8) # $t3, 0x8016
/* 01BD1C 8001B11C 256BF9B8 */ addiu $t3, %lo(D_8015F9B8) # addiu $t3, $t3, -0x648
/* 01BD18 8001B118 3C0B8016 */ lui $t3, %hi(gActorList) # $t3, 0x8016
/* 01BD1C 8001B11C 256BF9B8 */ addiu $t3, %lo(gActorList) # addiu $t3, $t3, -0x648
/* 01BD20 8001B120 0019C900 */ sll $t9, $t9, 4
/* 01BD24 8001B124 032B3821 */ addu $a3, $t9, $t3
/* 01BD28 8001B128 240F0004 */ li $t7, 4
@@ -452,8 +452,8 @@ glabel L8001B0EC
/* 01BEC0 8001B2C0 86020004 */ lh $v0, 4($s0)
glabel L8001B2C4
/* 01BEC4 8001B2C4 860F0002 */ lh $t7, 2($s0)
/* 01BEC8 8001B2C8 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 01BECC 8001B2CC 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 01BEC8 8001B2C8 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016
/* 01BECC 8001B2CC 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648
/* 01BED0 8001B2D0 000F70C0 */ sll $t6, $t7, 3
/* 01BED4 8001B2D4 01CF7023 */ subu $t6, $t6, $t7
/* 01BED8 8001B2D8 000E7100 */ sll $t6, $t6, 4
@@ -515,8 +515,8 @@ glabel L8001B2C4
/* 01BFB0 8001B3B0 86020004 */ lh $v0, 4($s0)
glabel L8001B3B4
/* 01BFB4 8001B3B4 860B0002 */ lh $t3, 2($s0)
/* 01BFB8 8001B3B8 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 01BFBC 8001B3BC 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 01BFB8 8001B3B8 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 01BFBC 8001B3BC 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 01BFC0 8001B3C0 000B60C0 */ sll $t4, $t3, 3
/* 01BFC4 8001B3C4 018B6023 */ subu $t4, $t4, $t3
/* 01BFC8 8001B3C8 000C6100 */ sll $t4, $t4, 4
@@ -615,8 +615,8 @@ glabel L8001B4AC
/* 01C124 8001B524 86020004 */ lh $v0, 4($s0)
glabel L8001B528
/* 01C128 8001B528 860F0002 */ lh $t7, 2($s0)
/* 01C12C 8001B52C 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 01C130 8001B530 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 01C12C 8001B52C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016
/* 01C130 8001B530 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648
/* 01C134 8001B534 000F70C0 */ sll $t6, $t7, 3
/* 01C138 8001B538 01CF7023 */ subu $t6, $t6, $t7
/* 01C13C 8001B53C 000E7100 */ sll $t6, $t6, 4
@@ -654,8 +654,8 @@ glabel L8001B528
/* 01C1B4 8001B5B4 86020004 */ lh $v0, 4($s0)
glabel L8001B5B8
/* 01C1B8 8001B5B8 86180002 */ lh $t8, 2($s0)
/* 01C1BC 8001B5BC 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 01C1C0 8001B5C0 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 01C1BC 8001B5BC 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016
/* 01C1C0 8001B5C0 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648
/* 01C1C4 8001B5C4 001858C0 */ sll $t3, $t8, 3
/* 01C1C8 8001B5C8 01785823 */ subu $t3, $t3, $t8
/* 01C1CC 8001B5CC 000B5900 */ sll $t3, $t3, 4
@@ -722,8 +722,8 @@ glabel L8001B630
/* 01C2A8 8001B6A8 86020004 */ lh $v0, 4($s0)
glabel L8001B6AC
/* 01C2AC 8001B6AC 86180002 */ lh $t8, 2($s0)
/* 01C2B0 8001B6B0 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 01C2B4 8001B6B4 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 01C2B0 8001B6B0 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016
/* 01C2B4 8001B6B4 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648
/* 01C2B8 8001B6B8 001858C0 */ sll $t3, $t8, 3
/* 01C2BC 8001B6BC 01785823 */ subu $t3, $t3, $t8
/* 01C2C0 8001B6C0 000B5900 */ sll $t3, $t3, 4
@@ -762,8 +762,8 @@ glabel L8001B738
/* 01C338 8001B738 0C006AFB */ jal func_8001ABEC
/* 01C33C 8001B73C 02002025 */ move $a0, $s0
/* 01C340 8001B740 860D0002 */ lh $t5, 2($s0)
/* 01C344 8001B744 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 01C348 8001B748 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 01C344 8001B744 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 01C348 8001B748 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 01C34C 8001B74C 000DC8C0 */ sll $t9, $t5, 3
/* 01C350 8001B750 032DC823 */ subu $t9, $t9, $t5
/* 01C354 8001B754 0019C900 */ sll $t9, $t9, 4
@@ -831,8 +831,8 @@ glabel L8001B7BC
/* 01C434 8001B834 86020004 */ lh $v0, 4($s0)
glabel L8001B838
/* 01C438 8001B838 860C0002 */ lh $t4, 2($s0)
/* 01C43C 8001B83C 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 01C440 8001B840 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 01C43C 8001B83C 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 01C440 8001B840 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 01C444 8001B844 000C68C0 */ sll $t5, $t4, 3
/* 01C448 8001B848 01AC6823 */ subu $t5, $t5, $t4
/* 01C44C 8001B84C 000D6900 */ sll $t5, $t5, 4
@@ -894,10 +894,10 @@ glabel L8001B838
glabel L8001B90C
/* 01C50C 8001B90C 86020004 */ lh $v0, 4($s0)
/* 01C510 8001B910 2401000A */ li $at, 10
/* 01C514 8001B914 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 01C514 8001B914 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016
/* 01C518 8001B918 0041001A */ div $zero, $v0, $at
/* 01C51C 8001B91C 00007010 */ mfhi $t6
/* 01C520 8001B920 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 01C520 8001B920 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648
/* 01C524 8001B924 55C00144 */ bnel $t6, $zero, .L8001BE38
/* 01C528 8001B928 28412710 */ slti $at, $v0, 0x2710
/* 01C52C 8001B92C 86030008 */ lh $v1, 8($s0)
@@ -1005,8 +1005,8 @@ glabel L8001BA38
/* 01C694 8001BA94 86020004 */ lh $v0, 4($s0)
glabel L8001BA98
/* 01C698 8001BA98 860C0002 */ lh $t4, 2($s0)
/* 01C69C 8001BA9C 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 01C6A0 8001BAA0 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 01C69C 8001BA9C 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 01C6A0 8001BAA0 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 01C6A4 8001BAA4 000C68C0 */ sll $t5, $t4, 3
/* 01C6A8 8001BAA8 01AC6823 */ subu $t5, $t5, $t4
/* 01C6AC 8001BAAC 000D6900 */ sll $t5, $t5, 4
@@ -1046,8 +1046,8 @@ glabel L8001BA98
/* 01C72C 8001BB2C 86020004 */ lh $v0, 4($s0)
glabel L8001BB30
/* 01C730 8001BB30 860E0002 */ lh $t6, 2($s0)
/* 01C734 8001BB34 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 01C738 8001BB38 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 01C734 8001BB34 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016
/* 01C738 8001BB38 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648
/* 01C73C 8001BB3C 000EC0C0 */ sll $t8, $t6, 3
/* 01C740 8001BB40 030EC023 */ subu $t8, $t8, $t6
/* 01C744 8001BB44 0018C100 */ sll $t8, $t8, 4
@@ -1,7 +1,7 @@
glabel func_802B02B4
/* 1198C4 802B02B4 848E0004 */ lh $t6, 4($a0)
/* 1198C8 802B02B8 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 1198CC 802B02BC 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 1198C8 802B02B8 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016
/* 1198CC 802B02BC 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648
/* 1198D0 802B02C0 000E78C0 */ sll $t7, $t6, 3
/* 1198D4 802B02C4 01EE7823 */ subu $t7, $t7, $t6
/* 1198D8 802B02C8 000F7900 */ sll $t7, $t7, 4
@@ -3,14 +3,14 @@ glabel func_802B0464
/* 119A78 802B0468 AFB00018 */ sw $s0, 0x18($sp)
/* 119A7C 802B046C 00048400 */ sll $s0, $a0, 0x10
/* 119A80 802B0470 AFB30024 */ sw $s3, 0x24($sp)
/* 119A84 802B0474 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016
/* 119A84 802B0474 3C138016 */ lui $s3, %hi(gActorList) # $s3, 0x8016
/* 119A88 802B0478 00107403 */ sra $t6, $s0, 0x10
/* 119A8C 802B047C AFB40028 */ sw $s4, 0x28($sp)
/* 119A90 802B0480 AFB20020 */ sw $s2, 0x20($sp)
/* 119A94 802B0484 2412FFFF */ li $s2, -1
/* 119A98 802B0488 24140070 */ li $s4, 112
/* 119A9C 802B048C 01C08025 */ move $s0, $t6
/* 119AA0 802B0490 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648
/* 119AA0 802B0490 2673F9B8 */ addiu $s3, %lo(gActorList) # addiu $s3, $s3, -0x648
/* 119AA4 802B0494 AFBF002C */ sw $ra, 0x2c($sp)
/* 119AA8 802B0498 AFB1001C */ sw $s1, 0x1c($sp)
/* 119AAC 802B049C AFA40030 */ sw $a0, 0x30($sp)
@@ -3,14 +3,14 @@ glabel func_802B04E8
/* 119AFC 802B04EC AFB00018 */ sw $s0, 0x18($sp)
/* 119B00 802B04F0 00058400 */ sll $s0, $a1, 0x10
/* 119B04 802B04F4 AFB30024 */ sw $s3, 0x24($sp)
/* 119B08 802B04F8 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016
/* 119B08 802B04F8 3C138016 */ lui $s3, %hi(gActorList) # $s3, 0x8016
/* 119B0C 802B04FC 00107403 */ sra $t6, $s0, 0x10
/* 119B10 802B0500 AFB40028 */ sw $s4, 0x28($sp)
/* 119B14 802B0504 AFB20020 */ sw $s2, 0x20($sp)
/* 119B18 802B0508 2412FFFF */ li $s2, -1
/* 119B1C 802B050C 24140070 */ li $s4, 112
/* 119B20 802B0510 01C08025 */ move $s0, $t6
/* 119B24 802B0514 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648
/* 119B24 802B0514 2673F9B8 */ addiu $s3, %lo(gActorList) # addiu $s3, $s3, -0x648
/* 119B28 802B0518 AFBF002C */ sw $ra, 0x2c($sp)
/* 119B2C 802B051C AFB1001C */ sw $s1, 0x1c($sp)
/* 119B30 802B0520 AFA40030 */ sw $a0, 0x30($sp)
@@ -31,13 +31,13 @@ glabel func_802B0570
/* 119BF0 802B05E0 3C014040 */ li $at, 0x40400000 # 3.000000
/* 119BF4 802B05E4 44812000 */ mtc1 $at, $f4
/* 119BF8 802B05E8 000A58C0 */ sll $t3, $t2, 3
/* 119BFC 802B05EC 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 119BFC 802B05EC 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016
/* 119C00 802B05F0 016A5823 */ subu $t3, $t3, $t2
/* 119C04 802B05F4 24198000 */ li $t9, -32768
/* 119C08 802B05F8 2408003C */ li $t0, 60
/* 119C0C 802B05FC 24090005 */ li $t1, 5
/* 119C10 802B0600 000B5900 */ sll $t3, $t3, 4
/* 119C14 802B0604 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 119C14 802B0604 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648
/* 119C18 802B0608 2403FFFF */ li $v1, -1
/* 119C1C 802B060C A6190002 */ sh $t9, 2($s0)
/* 119C20 802B0610 A6080004 */ sh $t0, 4($s0)
+10 -10
View File
@@ -7,8 +7,8 @@ glabel func_802B0648
/* 119C6C 802B065C A48F001C */ sh $t7, 0x1c($a0)
/* 119C70 802B0660 24070070 */ li $a3, 112
/* 119C74 802B0664 00470019 */ multu $v0, $a3
/* 119C78 802B0668 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119C7C 802B066C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119C78 802B0668 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119C7C 802B066C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119C80 802B0670 A485001A */ sh $a1, 0x1a($a0)
/* 119C84 802B0674 0000C012 */ mflo $t8
/* 119C88 802B0678 00D81821 */ addu $v1, $a2, $t8
@@ -20,8 +20,8 @@ glabel func_802B0648
/* 119C9C 802B068C 50A2000A */ beql $a1, $v0, .L802B06B8
/* 119CA0 802B0690 84820016 */ lh $v0, 0x16($a0)
/* 119CA4 802B0694 00470019 */ multu $v0, $a3
/* 119CA8 802B0698 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CAC 802B069C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CA8 802B0698 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119CAC 802B069C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119CB0 802B06A0 A4850018 */ sh $a1, 0x18($a0)
/* 119CB4 802B06A4 0000C812 */ mflo $t9
/* 119CB8 802B06A8 00D91821 */ addu $v1, $a2, $t9
@@ -33,8 +33,8 @@ glabel func_802B0648
/* 119CCC 802B06BC 50A2000A */ beql $a1, $v0, .L802B06E8
/* 119CD0 802B06C0 84820014 */ lh $v0, 0x14($a0)
/* 119CD4 802B06C4 00470019 */ multu $v0, $a3
/* 119CD8 802B06C8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CDC 802B06CC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CD8 802B06C8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119CDC 802B06CC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119CE0 802B06D0 A4850016 */ sh $a1, 0x16($a0)
/* 119CE4 802B06D4 00004012 */ mflo $t0
/* 119CE8 802B06D8 00C81821 */ addu $v1, $a2, $t0
@@ -46,8 +46,8 @@ glabel func_802B0648
/* 119CFC 802B06EC 50A2000A */ beql $a1, $v0, .L802B0718
/* 119D00 802B06F0 84820012 */ lh $v0, 0x12($a0)
/* 119D04 802B06F4 00470019 */ multu $v0, $a3
/* 119D08 802B06F8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D0C 802B06FC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D08 802B06F8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119D0C 802B06FC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119D10 802B0700 A4850014 */ sh $a1, 0x14($a0)
/* 119D14 802B0704 00004812 */ mflo $t1
/* 119D18 802B0708 00C91821 */ addu $v1, $a2, $t1
@@ -59,8 +59,8 @@ glabel func_802B0648
/* 119D2C 802B071C 10A20018 */ beq $a1, $v0, .L802B0780
/* 119D30 802B0720 00000000 */ nop
/* 119D34 802B0724 00470019 */ multu $v0, $a3
/* 119D38 802B0728 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D3C 802B072C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D38 802B0728 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119D3C 802B072C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119D40 802B0730 A4850012 */ sh $a1, 0x12($a0)
/* 119D44 802B0734 00005012 */ mflo $t2
/* 119D48 802B0738 00CA1821 */ addu $v1, $a2, $t2
+10 -10
View File
@@ -11,8 +11,8 @@ glabel func_802B0788
/* 119DBC 802B07AC A4AF001C */ sh $t7, 0x1c($a1)
/* 119DC0 802B07B0 24080070 */ li $t0, 112
/* 119DC4 802B07B4 00E80019 */ multu $a3, $t0
/* 119DC8 802B07B8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119DCC 802B07BC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119DC8 802B07B8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119DCC 802B07BC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119DD0 802B07C0 A4A3001A */ sh $v1, 0x1a($a1)
/* 119DD4 802B07C4 0000C012 */ mflo $t8
/* 119DD8 802B07C8 00D81021 */ addu $v0, $a2, $t8
@@ -24,8 +24,8 @@ glabel func_802B0788
/* 119DEC 802B07DC 5064000A */ beql $v1, $a0, .L802B0808
/* 119DF0 802B07E0 84A40016 */ lh $a0, 0x16($a1)
/* 119DF4 802B07E4 00880019 */ multu $a0, $t0
/* 119DF8 802B07E8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119DFC 802B07EC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119DF8 802B07E8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119DFC 802B07EC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119E00 802B07F0 A4A30018 */ sh $v1, 0x18($a1)
/* 119E04 802B07F4 0000C812 */ mflo $t9
/* 119E08 802B07F8 00D91021 */ addu $v0, $a2, $t9
@@ -37,8 +37,8 @@ glabel func_802B0788
/* 119E1C 802B080C 5064000A */ beql $v1, $a0, .L802B0838
/* 119E20 802B0810 84A40014 */ lh $a0, 0x14($a1)
/* 119E24 802B0814 00880019 */ multu $a0, $t0
/* 119E28 802B0818 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E2C 802B081C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E28 802B0818 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119E2C 802B081C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119E30 802B0820 A4A30016 */ sh $v1, 0x16($a1)
/* 119E34 802B0824 00004812 */ mflo $t1
/* 119E38 802B0828 00C91021 */ addu $v0, $a2, $t1
@@ -50,8 +50,8 @@ glabel func_802B0788
/* 119E4C 802B083C 5064000A */ beql $v1, $a0, .L802B0868
/* 119E50 802B0840 84A40012 */ lh $a0, 0x12($a1)
/* 119E54 802B0844 00880019 */ multu $a0, $t0
/* 119E58 802B0848 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E5C 802B084C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E58 802B0848 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119E5C 802B084C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119E60 802B0850 A4A30014 */ sh $v1, 0x14($a1)
/* 119E64 802B0854 00005012 */ mflo $t2
/* 119E68 802B0858 00CA1021 */ addu $v0, $a2, $t2
@@ -63,8 +63,8 @@ glabel func_802B0788
/* 119E7C 802B086C 50640051 */ beql $v1, $a0, .L802B09B4
/* 119E80 802B0870 8FBF0014 */ lw $ra, 0x14($sp)
/* 119E84 802B0874 00880019 */ multu $a0, $t0
/* 119E88 802B0878 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E8C 802B087C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E88 802B0878 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016
/* 119E8C 802B087C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648
/* 119E90 802B0880 A4A30012 */ sh $v1, 0x12($a1)
/* 119E94 802B0884 00005812 */ mflo $t3
/* 119E98 802B0888 00CB1021 */ addu $v0, $a2, $t3
@@ -39,8 +39,8 @@ glabel func_802B17F4
.L802B1888:
/* 11AE98 802B1888 0004C8C0 */ sll $t9, $a0, 3
/* 11AE9C 802B188C 0324C823 */ subu $t9, $t9, $a0
/* 11AEA0 802B1890 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11AEA4 802B1894 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11AEA0 802B1890 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016
/* 11AEA4 802B1894 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648
/* 11AEA8 802B1898 0019C900 */ sll $t9, $t9, 4
/* 11AEAC 802B189C 032A1821 */ addu $v1, $t9, $t2
/* 11AEB0 802B18A0 A4600006 */ sh $zero, 6($v1)
@@ -41,8 +41,8 @@ glabel func_802B18E4
.L802B1980:
/* 11AF90 802B1980 000440C0 */ sll $t0, $a0, 3
/* 11AF94 802B1984 01044023 */ subu $t0, $t0, $a0
/* 11AF98 802B1988 3C0B8016 */ lui $t3, %hi(D_8015F9B8) # $t3, 0x8016
/* 11AF9C 802B198C 256BF9B8 */ addiu $t3, %lo(D_8015F9B8) # addiu $t3, $t3, -0x648
/* 11AF98 802B1988 3C0B8016 */ lui $t3, %hi(gActorList) # $t3, 0x8016
/* 11AF9C 802B198C 256BF9B8 */ addiu $t3, %lo(gActorList) # addiu $t3, $t3, -0x648
/* 11AFA0 802B1990 00084100 */ sll $t0, $t0, 4
/* 11AFA4 802B1994 010B1821 */ addu $v1, $t0, $t3
/* 11AFA8 802B1998 240A05B0 */ li $t2, 1456
@@ -72,8 +72,8 @@ glabel func_802B19EC
/* 11B110 802B1B00 01635823 */ subu $t3, $t3, $v1
/* 11B114 802B1B04 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11B118 802B1B08 C6320018 */ lwc1 $f18, 0x18($s1)
/* 11B11C 802B1B0C 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11B120 802B1B10 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11B11C 802B1B0C 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016
/* 11B120 802B1B10 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648
/* 11B124 802B1B14 000B5900 */ sll $t3, $t3, 4
/* 11B128 802B1B18 016A8021 */ addu $s0, $t3, $t2
/* 11B12C 802B1B1C 3C013F80 */ li $at, 0x3F800000 # 1.000000
@@ -126,8 +126,8 @@ glabel func_802B19EC
/* 11B1D8 802B1BC8 8FA50060 */ lw $a1, 0x60($sp)
/* 11B1DC 802B1BCC 022FC023 */ subu $t8, $s1, $t7
/* 11B1E0 802B1BD0 0301001A */ div $zero, $t8, $at
/* 11B1E4 802B1BD4 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11B1E8 802B1BD8 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11B1E4 802B1BD4 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016
/* 11B1E8 802B1BD8 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648
/* 11B1EC 802B1BDC 24030070 */ li $v1, 112
/* 11B1F0 802B1BE0 00A4C823 */ subu $t9, $a1, $a0
/* 11B1F4 802B1BE4 00007012 */ mflo $t6
@@ -62,8 +62,8 @@ glabel func_802B1C9C
/* 11B398 802B1D88 0303C023 */ subu $t8, $t8, $v1
/* 11B39C 802B1D8C E7AA0040 */ swc1 $f10, 0x40($sp)
/* 11B3A0 802B1D90 C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B3A4 802B1D94 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11B3A8 802B1D98 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11B3A4 802B1D94 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 11B3A8 802B1D98 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 11B3AC 802B1D9C 0018C100 */ sll $t8, $t8, 4
/* 11B3B0 802B1DA0 030F8021 */ addu $s0, $t8, $t7
/* 11B3B4 802B1DA4 3C013F80 */ li $at, 0x3F800000 # 1.000000
@@ -62,8 +62,8 @@ glabel func_802B1E48
/* 11B544 802B1F34 0303C023 */ subu $t8, $t8, $v1
/* 11B548 802B1F38 E7AA0040 */ swc1 $f10, 0x40($sp)
/* 11B54C 802B1F3C C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B550 802B1F40 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11B554 802B1F44 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11B550 802B1F40 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 11B554 802B1F44 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 11B558 802B1F48 0018C100 */ sll $t8, $t8, 4
/* 11B55C 802B1F4C 030F8021 */ addu $s0, $t8, $t7
/* 11B560 802B1F50 3C013F80 */ li $at, 0x3F800000 # 1.000000
@@ -7,9 +7,9 @@ glabel func_802B1FFC
/* 11B620 802B2010 8FBF0014 */ lw $ra, 0x14($sp)
/* 11B624 802B2014 01E27823 */ subu $t7, $t7, $v0
/* 11B628 802B2018 000F7900 */ sll $t7, $t7, 4
/* 11B62C 802B201C 3C018016 */ lui $at, %hi(D_8015F9B8) # 0x8016
/* 11B62C 802B201C 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 11B630 802B2020 002F0821 */ addu $at, $at, $t7
/* 11B634 802B2024 240E002A */ li $t6, 42
/* 11B638 802B2028 A42EF9B8 */ sh $t6, %lo(D_8015F9B8)($at)
/* 11B638 802B2028 A42EF9B8 */ sh $t6, %lo(gActorList)($at)
/* 11B63C 802B202C 03E00008 */ jr $ra
/* 11B640 802B2030 27BD0018 */ addiu $sp, $sp, 0x18
@@ -54,8 +54,8 @@ glabel func_802B2914
/* 11BFF4 802B29E4 24090070 */ li $t1, 112
/* 11BFF8 802B29E8 01C90019 */ multu $t6, $t1
/* 11BFFC 802B29EC C6260014 */ lwc1 $f6, 0x14($s1)
/* 11C000 802B29F0 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11C004 802B29F4 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11C000 802B29F0 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 11C004 802B29F4 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 11C008 802B29F8 E7A6004C */ swc1 $f6, 0x4c($sp)
/* 11C00C 802B29FC C6280018 */ lwc1 $f8, 0x18($s1)
/* 11C010 802B2A00 3C013F80 */ li $at, 0x3F800000 # 1.000000
@@ -87,11 +87,11 @@ glabel func_802B2914
/* 11C078 802B2A68 24C6C4DC */ addiu $a2, %lo(gPlayerOne) # addiu $a2, $a2, -0x3b24
/* 11C07C 802B2A6C 8CD90000 */ lw $t9, ($a2)
/* 11C080 802B2A70 24070DD8 */ li $a3, 3544
/* 11C084 802B2A74 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11C084 802B2A74 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 11C088 802B2A78 02395023 */ subu $t2, $s1, $t9
/* 11C08C 802B2A7C 0147001A */ div $zero, $t2, $a3
/* 11C090 802B2A80 00005812 */ mflo $t3
/* 11C094 802B2A84 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11C094 802B2A84 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 11C098 802B2A88 02486023 */ subu $t4, $s2, $t0
/* 11C09C 802B2A8C 87A4007A */ lh $a0, 0x7a($sp)
/* 11C0A0 802B2A90 2402FFFF */ li $v0, -1
@@ -59,9 +59,9 @@ glabel func_802B2C40
/* 11C330 802B2D20 00004812 */ mflo $t1
/* 11C334 802B2D24 44893000 */ mtc1 $t1, $f6
/* 11C338 802B2D28 01E47823 */ subu $t7, $t7, $a0
/* 11C33C 802B2D2C 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 11C33C 802B2D2C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016
/* 11C340 802B2D30 46803220 */ cvt.s.w $f8, $f6
/* 11C344 802B2D34 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 11C344 802B2D34 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648
/* 11C348 802B2D38 000F7900 */ sll $t7, $t7, 4
/* 11C34C 802B2D3C 01F81821 */ addu $v1, $t7, $t8
/* 11C350 802B2D40 A4600006 */ sh $zero, 6($v1)
@@ -66,8 +66,8 @@ glabel func_802B2D70
.L802B2E6C:
/* 11C47C 802B2E6C 000448C0 */ sll $t1, $a0, 3
/* 11C480 802B2E70 01244823 */ subu $t1, $t1, $a0
/* 11C484 802B2E74 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11C488 802B2E78 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11C484 802B2E74 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016
/* 11C488 802B2E78 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648
/* 11C48C 802B2E7C 00094900 */ sll $t1, $t1, 4
/* 11C490 802B2E80 012A1821 */ addu $v1, $t1, $t2
/* 11C494 802B2E84 240B0014 */ li $t3, 20
@@ -460,8 +460,8 @@ glabel L802B25A0
/* 11BD24 802B2714 8FBF0024 */ lw $ra, 0x24($sp)
glabel L802B2718
/* 11BD28 802B2718 86180012 */ lh $t8, 0x12($s0)
/* 11BD2C 802B271C 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11BD30 802B2720 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11BD2C 802B271C 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 11BD30 802B2720 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 11BD34 802B2724 0018C8C0 */ sll $t9, $t8, 3
/* 11BD38 802B2728 0338C823 */ subu $t9, $t9, $t8
/* 11BD3C 802B272C 0019C900 */ sll $t9, $t9, 4
@@ -112,9 +112,9 @@ glabel L802B0B84
glabel L802B0BCC
/* 11A1DC 802B0BCC 860F0012 */ lh $t7, 0x12($s0)
/* 11A1E0 802B0BD0 24030070 */ li $v1, 112
/* 11A1E4 802B0BD4 3C028016 */ lui $v0, %hi(D_8015F9B8) # $v0, 0x8016
/* 11A1E4 802B0BD4 3C028016 */ lui $v0, %hi(gActorList) # $v0, 0x8016
/* 11A1E8 802B0BD8 01E30019 */ multu $t7, $v1
/* 11A1EC 802B0BDC 2442F9B8 */ addiu $v0, %lo(D_8015F9B8) # addiu $v0, $v0, -0x648
/* 11A1EC 802B0BDC 2442F9B8 */ addiu $v0, %lo(gActorList) # addiu $v0, $v0, -0x648
/* 11A1F0 802B0BE0 240E0006 */ li $t6, 6
/* 11A1F4 802B0BE4 A60E0006 */ sh $t6, 6($s0)
/* 11A1F8 802B0BE8 0000C012 */ mflo $t8
@@ -196,8 +196,8 @@ glabel L802B33CC
/* 11CBC8 802B35B8 01012821 */ addu $a1, $t0, $at
/* 11CBCC 802B35BC 0C03243D */ jal func_800C90F4
/* 11CBD0 802B35C0 92040015 */ lbu $a0, 0x15($s0)
/* 11CBD4 802B35C4 3C098016 */ lui $t1, %hi(D_8015F9B8) # $t1, 0x8016
/* 11CBD8 802B35C8 2529F9B8 */ addiu $t1, %lo(D_8015F9B8) # addiu $t1, $t1, -0x648
/* 11CBD4 802B35C4 3C098016 */ lui $t1, %hi(gActorList) # $t1, 0x8016
/* 11CBD8 802B35C8 2529F9B8 */ addiu $t1, %lo(gActorList) # addiu $t1, $t1, -0x648
/* 11CBDC 802B35CC 02092023 */ subu $a0, $s0, $t1
/* 11CBE0 802B35D0 24010070 */ li $at, 112
/* 11CBE4 802B35D4 0081001A */ div $zero, $a0, $at
@@ -251,8 +251,8 @@ glabel L802B3614
/* 11CC98 802B3688 01812821 */ addu $a1, $t4, $at
/* 11CC9C 802B368C 0C03243D */ jal func_800C90F4
/* 11CCA0 802B3690 92040015 */ lbu $a0, 0x15($s0)
/* 11CCA4 802B3694 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 11CCA8 802B3698 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 11CCA4 802B3694 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016
/* 11CCA8 802B3698 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648
/* 11CCAC 802B369C 020D2023 */ subu $a0, $s0, $t5
/* 11CCB0 802B36A0 24010070 */ li $at, 112
/* 11CCB4 802B36A4 0081001A */ div $zero, $a0, $at
@@ -281,8 +281,8 @@ glabel L802B3614
/* 11CD0C 802B36FC 01212821 */ addu $a1, $t1, $at
/* 11CD10 802B3700 0C03243D */ jal func_800C90F4
/* 11CD14 802B3704 92040015 */ lbu $a0, 0x15($s0)
/* 11CD18 802B3708 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11CD1C 802B370C 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11CD18 802B3708 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016
/* 11CD1C 802B370C 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648
/* 11CD20 802B3710 020A2023 */ subu $a0, $s0, $t2
/* 11CD24 802B3714 24010070 */ li $at, 112
/* 11CD28 802B3718 0081001A */ div $zero, $a0, $at
@@ -448,14 +448,14 @@ glabel L802B382C
glabel L802B3974
/* 11CF84 802B3974 860D0014 */ lh $t5, 0x14($s0)
/* 11CF88 802B3978 86180004 */ lh $t8, 4($s0)
/* 11CF8C 802B397C 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11CF8C 802B397C 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 11CF90 802B3980 000D70C0 */ sll $t6, $t5, 3
/* 11CF94 802B3984 0018C8C0 */ sll $t9, $t8, 3
/* 11CF98 802B3988 01CD7023 */ subu $t6, $t6, $t5
/* 11CF9C 802B398C 0338C823 */ subu $t9, $t9, $t8
/* 11CFA0 802B3990 000E7100 */ sll $t6, $t6, 4
/* 11CFA4 802B3994 0019C900 */ sll $t9, $t9, 4
/* 11CFA8 802B3998 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11CFA8 802B3998 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 11CFAC 802B399C 03281021 */ addu $v0, $t9, $t0
/* 11CFB0 802B39A0 01CD7023 */ subu $t6, $t6, $t5
/* 11CFB4 802B39A4 84490000 */ lh $t1, ($v0)
@@ -206,11 +206,11 @@ glabel L802B44B0
/* 11DB34 802B4524 92040015 */ lbu $a0, 0x15($s0)
/* 11DB38 802B4528 87AF0056 */ lh $t7, 0x56($sp)
/* 11DB3C 802B452C 24010008 */ li $at, 8
/* 11DB40 802B4530 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11DB40 802B4530 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016
/* 11DB44 802B4534 15E1000B */ bne $t7, $at, .L802B4564
/* 11DB48 802B4538 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11DB4C 802B453C 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 11DB50 802B4540 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 11DB48 802B4538 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648
/* 11DB4C 802B453C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016
/* 11DB50 802B4540 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648
/* 11DB54 802B4544 02182023 */ subu $a0, $s0, $t8
/* 11DB58 802B4548 24010070 */ li $at, 112
/* 11DB5C 802B454C 0081001A */ div $zero, $a0, $at
@@ -253,11 +253,11 @@ glabel L802B44B0
/* 11DBE8 802B45D8 92040015 */ lbu $a0, 0x15($s0)
/* 11DBEC 802B45DC 87AE0056 */ lh $t6, 0x56($sp)
/* 11DBF0 802B45E0 24010008 */ li $at, 8
/* 11DBF4 802B45E4 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 11DBF4 802B45E4 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 11DBF8 802B45E8 15C1000B */ bne $t6, $at, .L802B4618
/* 11DBFC 802B45EC 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 11DC00 802B45F0 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11DC04 802B45F4 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11DBFC 802B45EC 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 11DC00 802B45F0 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 11DC04 802B45F4 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 11DC08 802B45F8 020F2023 */ subu $a0, $s0, $t7
/* 11DC0C 802B45FC 24010070 */ li $at, 112
/* 11DC10 802B4600 0081001A */ div $zero, $a0, $at
@@ -640,14 +640,14 @@ glabel L802B4B18
glabel L802B4B94
/* 11E1A4 802B4B94 860F0014 */ lh $t7, 0x14($s0)
/* 11E1A8 802B4B98 86080004 */ lh $t0, 4($s0)
/* 11E1AC 802B4B9C 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11E1AC 802B4B9C 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016
/* 11E1B0 802B4BA0 000FC0C0 */ sll $t8, $t7, 3
/* 11E1B4 802B4BA4 000848C0 */ sll $t1, $t0, 3
/* 11E1B8 802B4BA8 030FC023 */ subu $t8, $t8, $t7
/* 11E1BC 802B4BAC 01284823 */ subu $t1, $t1, $t0
/* 11E1C0 802B4BB0 0018C100 */ sll $t8, $t8, 4
/* 11E1C4 802B4BB4 00094900 */ sll $t1, $t1, 4
/* 11E1C8 802B4BB8 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11E1C8 802B4BB8 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648
/* 11E1CC 802B4BBC 012A1021 */ addu $v0, $t1, $t2
/* 11E1D0 802B4BC0 030FC023 */ subu $t8, $t8, $t7
/* 11E1D4 802B4BC4 844B0000 */ lh $t3, ($v0)
@@ -187,9 +187,9 @@ glabel L802B1050
glabel L802B1154
/* 11A764 802B1154 C6040024 */ lwc1 $f4, 0x24($s0)
/* 11A768 802B1158 24050070 */ li $a1, 112
/* 11A76C 802B115C 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11A76C 802B115C 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016
/* 11A770 802B1160 4600218D */ trunc.w.s $f6, $f4
/* 11A774 802B1164 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11A774 802B1164 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648
/* 11A778 802B1168 24180004 */ li $t8, 4
/* 11A77C 802B116C A6180006 */ sh $t8, 6($s0)
/* 11A780 802B1170 44093000 */ mfc1 $t1, $f6
@@ -334,8 +334,8 @@ glabel L802B11FC
/* 11A988 802B1378 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11A98C 802B137C 4600018D */ trunc.w.s $f6, $f0
/* 11A990 802B1380 24050070 */ li $a1, 112
/* 11A994 802B1384 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11A998 802B1388 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11A994 802B1384 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016
/* 11A998 802B1388 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648
/* 11A99C 802B138C 440E3000 */ mfc1 $t6, $f6
/* 11A9A0 802B1390 000848C0 */ sll $t1, $t0, 3
/* 11A9A4 802B1394 01284823 */ subu $t1, $t1, $t0
@@ -429,8 +429,8 @@ glabel L802B11FC
/* 11AAF8 802B14E8 E6060008 */ swc1 $f6, 8($s0)
/* 11AAFC 802B14EC C6000028 */ lwc1 $f0, 0x28($s0)
.L802B14F0:
/* 11AB00 802B14F0 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11AB04 802B14F4 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11AB00 802B14F0 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016
/* 11AB04 802B14F4 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648
/* 11AB08 802B14F8 4600103C */ c.lt.s $f2, $f0
/* 11AB0C 802B14FC 24050070 */ li $a1, 112
/* 11AB10 802B1500 4502005B */ bc1fl .L802B1670
@@ -8,8 +8,8 @@ glabel func_80296A50
/* 100078 80296A68 01203025 */ move $a2, $t1
/* 10007C 80296A6C 000670C0 */ sll $t6, $a2, 3
/* 100080 80296A70 01C67023 */ subu $t6, $t6, $a2
/* 100084 80296A74 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 100088 80296A78 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 100084 80296A74 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 100088 80296A78 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 10008C 80296A7C 000E7100 */ sll $t6, $t6, 4
/* 100090 80296A80 01CF2821 */ addu $a1, $t6, $t7
/* 100094 80296A84 24030007 */ li $v1, 7
@@ -53,8 +53,8 @@ glabel func_80296A50
/* 10011C 80296B0C 24030007 */ li $v1, 7
/* 100120 80296B10 000670C0 */ sll $t6, $a2, 3
/* 100124 80296B14 01C67023 */ subu $t6, $t6, $a2
/* 100128 80296B18 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 10012C 80296B1C 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 100128 80296B18 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 10012C 80296B1C 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 100130 80296B20 000E7100 */ sll $t6, $t6, 4
/* 100134 80296B24 01CF2821 */ addu $a1, $t6, $t7
/* 100138 80296B28 24080008 */ li $t0, 8
@@ -107,8 +107,8 @@ glabel L80296BAC
/* 1001D8 80296BC8 24080008 */ li $t0, 8
/* 1001DC 80296BCC 000678C0 */ sll $t7, $a2, 3
/* 1001E0 80296BD0 01E67823 */ subu $t7, $t7, $a2
/* 1001E4 80296BD4 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 1001E8 80296BD8 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 1001E4 80296BD4 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016
/* 1001E8 80296BD8 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648
/* 1001EC 80296BDC 000F7900 */ sll $t7, $t7, 4
/* 1001F0 80296BE0 01F82821 */ addu $a1, $t7, $t8
/* 1001F4 80296BE4 24070002 */ li $a3, 2
@@ -151,8 +151,8 @@ glabel L80296BAC
/* 100274 80296C64 10200026 */ beqz $at, .L80296D00
/* 100278 80296C68 000660C0 */ sll $t4, $a2, 3
/* 10027C 80296C6C 01866023 */ subu $t4, $t4, $a2
/* 100280 80296C70 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 100284 80296C74 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 100280 80296C70 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016
/* 100284 80296C74 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648
/* 100288 80296C78 000C6100 */ sll $t4, $t4, 4
/* 10028C 80296C7C 018D2821 */ addu $a1, $t4, $t5
.L80296C80:
@@ -11,8 +11,8 @@ glabel func_8029ABD4
/* 104208 8029ABF8 01E27823 */ subu $t7, $t7, $v0
/* 10420C 8029ABFC 87AE001E */ lh $t6, 0x1e($sp)
/* 104210 8029AC00 000F7900 */ sll $t7, $t7, 4
/* 104214 8029AC04 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016
/* 104214 8029AC04 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 104218 8029AC08 002F0821 */ addu $at, $at, $t7
/* 10421C 8029AC0C 27BD0018 */ addiu $sp, $sp, 0x18
/* 104220 8029AC10 03E00008 */ jr $ra
/* 104224 8029AC14 A42EF9BE */ sh $t6, %lo(D_8015F9BE)($at) # -0x642($at)
/* 104224 8029AC14 A42EF9BE */ sh $t6, %lo(gActorList+6)($at) # -0x642($at)
@@ -9,9 +9,9 @@ glabel func_8029D9F8
/* 107024 8029DA14 AFB2001C */ sw $s2, 0x1c($sp)
/* 107028 8029DA18 AFB00014 */ sw $s0, 0x14($sp)
/* 10702C 8029DA1C 3C11800F */ lui $s1, %hi(gPlayers) # $s1, 0x800f
/* 107030 8029DA20 3C168016 */ lui $s6, %hi(D_8015F9B8) # $s6, 0x8016
/* 107030 8029DA20 3C168016 */ lui $s6, %hi(gActorList) # $s6, 0x8016
/* 107034 8029DA24 AFBF0034 */ sw $ra, 0x34($sp)
/* 107038 8029DA28 26D6F9B8 */ addiu $s6, %lo(D_8015F9B8) # addiu $s6, $s6, -0x648
/* 107038 8029DA28 26D6F9B8 */ addiu $s6, %lo(gActorList) # addiu $s6, $s6, -0x648
/* 10703C 8029DA2C 26316990 */ addiu $s1, %lo(gPlayers) # addiu $s1, $s1, 0x6990
/* 107040 8029DA30 00008025 */ move $s0, $zero
/* 107044 8029DA34 24120004 */ li $s2, 4
@@ -1,11 +1,11 @@
glabel func_8029DAB8
/* 1070C8 8029DAB8 3C018015 */ lui $at, %hi(D_80150110) # $at, 0x8015
/* 1070CC 8029DABC 3C038016 */ lui $v1, %hi(D_8015F9B8) # $v1, 0x8016
/* 1070CC 8029DABC 3C038016 */ lui $v1, %hi(gActorList) # $v1, 0x8016
/* 1070D0 8029DAC0 3C028016 */ lui $v0, %hi(D_80162578) # $v0, 0x8016
/* 1070D4 8029DAC4 44800000 */ mtc1 $zero, $f0
/* 1070D8 8029DAC8 A4200110 */ sh $zero, %lo(D_80150110)($at)
/* 1070DC 8029DACC 24422578 */ addiu $v0, %lo(D_80162578) # addiu $v0, $v0, 0x2578
/* 1070E0 8029DAD0 2463F9B8 */ addiu $v1, %lo(D_8015F9B8) # addiu $v1, $v1, -0x648
/* 1070E0 8029DAD0 2463F9B8 */ addiu $v1, %lo(gActorList) # addiu $v1, $v1, -0x648
.L8029DAD4:
/* 1070E4 8029DAD4 246301C0 */ addiu $v1, $v1, 0x1c0
/* 1070E8 8029DAD8 A460FEB2 */ sh $zero, -0x14e($v1)
+10 -10
View File
@@ -73,8 +73,8 @@ glabel L8029DBBC
/* 10726C 8029DC5C E7B20040 */ swc1 $f18, 0x40($sp)
/* 107270 8029DC60 0002C0C0 */ sll $t8, $v0, 3
/* 107274 8029DC64 0302C023 */ subu $t8, $t8, $v0
/* 107278 8029DC68 3C0E8016 */ lui $t6, %hi(D_8015F9B8) # $t6, 0x8016
/* 10727C 8029DC6C 25CEF9B8 */ addiu $t6, %lo(D_8015F9B8) # addiu $t6, $t6, -0x648
/* 107278 8029DC68 3C0E8016 */ lui $t6, %hi(gActorList) # $t6, 0x8016
/* 10727C 8029DC6C 25CEF9B8 */ addiu $t6, %lo(gActorList) # addiu $t6, $t6, -0x648
/* 107280 8029DC70 0018C100 */ sll $t8, $t8, 4
/* 107284 8029DC74 030E1821 */ addu $v1, $t8, $t6
/* 107288 8029DC78 846F0002 */ lh $t7, 2($v1)
@@ -226,10 +226,10 @@ glabel L8029DE3C
/* 1074A0 8029DE90 000248C0 */ sll $t1, $v0, 3
/* 1074A4 8029DE94 01224823 */ subu $t1, $t1, $v0
/* 1074A8 8029DE98 00094900 */ sll $t1, $t1, 4
/* 1074AC 8029DE9C 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016
/* 1074AC 8029DE9C 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 1074B0 8029DEA0 00290821 */ addu $at, $at, $t1
/* 1074B4 8029DEA4 240B0001 */ li $t3, 1
/* 1074B8 8029DEA8 A42BF9BE */ sh $t3, %lo(D_8015F9BE)($at) # -0x642($at)
/* 1074B8 8029DEA8 A42BF9BE */ sh $t3, %lo(gActorList+6)($at) # -0x642($at)
/* 1074BC 8029DEAC 27A40040 */ addiu $a0, $sp, 0x40
/* 1074C0 8029DEB0 3C05C4C8 */ lui $a1, 0xc4c8
/* 1074C4 8029DEB4 3C064000 */ lui $a2, 0x4000
@@ -248,10 +248,10 @@ glabel L8029DE3C
/* 1074F8 8029DEE8 000268C0 */ sll $t5, $v0, 3
/* 1074FC 8029DEEC 01A26823 */ subu $t5, $t5, $v0
/* 107500 8029DEF0 000D6900 */ sll $t5, $t5, 4
/* 107504 8029DEF4 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016
/* 107504 8029DEF4 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 107508 8029DEF8 002D0821 */ addu $at, $at, $t5
/* 10750C 8029DEFC 240A0001 */ li $t2, 1
/* 107510 8029DF00 A42AF9BE */ sh $t2, %lo(D_8015F9BE)($at) # -0x642($at)
/* 107510 8029DF00 A42AF9BE */ sh $t2, %lo(gActorList+6)($at) # -0x642($at)
/* 107514 8029DF04 27A4002C */ addiu $a0, $sp, 0x2c
/* 107518 8029DF08 00002825 */ move $a1, $zero
/* 10751C 8029DF0C 2406E000 */ li $a2, -8192
@@ -277,11 +277,11 @@ glabel L8029DE3C
/* 10756C 8029DF5C 0002C8C0 */ sll $t9, $v0, 3
/* 107570 8029DF60 0322C823 */ subu $t9, $t9, $v0
/* 107574 8029DF64 0019C900 */ sll $t9, $t9, 4
/* 107578 8029DF68 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016
/* 107578 8029DF68 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 10757C 8029DF6C 00390821 */ addu $at, $at, $t9
/* 107580 8029DF70 3C05C51A */ lui $a1, (0xC51A3000 >> 16) # lui $a1, 0xc51a
/* 107584 8029DF74 3C074514 */ lui $a3, (0x45147000 >> 16) # lui $a3, 0x4514
/* 107588 8029DF78 A420F9BE */ sh $zero, %lo(D_8015F9BE)($at) # -0x642($at)
/* 107588 8029DF78 A420F9BE */ sh $zero, %lo(gActorList+6)($at) # -0x642($at)
/* 10758C 8029DF7C 34E77000 */ ori $a3, (0x45147000 & 0xFFFF) # ori $a3, $a3, 0x7000
/* 107590 8029DF80 34A53000 */ ori $a1, (0xC51A3000 & 0xFFFF) # ori $a1, $a1, 0x3000
/* 107594 8029DF84 27A40040 */ addiu $a0, $sp, 0x40
@@ -300,10 +300,10 @@ glabel L8029DE3C
/* 1075C8 8029DFB8 0002C0C0 */ sll $t8, $v0, 3
/* 1075CC 8029DFBC 0302C023 */ subu $t8, $t8, $v0
/* 1075D0 8029DFC0 0018C100 */ sll $t8, $t8, 4
/* 1075D4 8029DFC4 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016
/* 1075D4 8029DFC4 3C018016 */ lui $at, %hi(gActorList) # 0x8016
/* 1075D8 8029DFC8 00380821 */ addu $at, $at, $t8
/* 1075DC 8029DFCC 1000005B */ b .L8029E13C
/* 1075E0 8029DFD0 A420F9BE */ sh $zero, %lo(D_8015F9BE)($at) # -0x642($at)
/* 1075E0 8029DFD0 A420F9BE */ sh $zero, %lo(gActorList+6)($at) # -0x642($at)
glabel L8029DFD4
/* 1075E4 8029DFD4 3C040601 */ lui $a0, %hi(D_06009B80) # $a0, 0x601
/* 1075E8 8029DFD8 0C0A760C */ jal place_all_item_boxes
@@ -14,8 +14,8 @@ glabel func_8029E890
/* 107ED0 8029E8C0 01608825 */ move $s1, $t3
/* 107ED4 8029E8C4 001170C0 */ sll $t6, $s1, 3
/* 107ED8 8029E8C8 01D17023 */ subu $t6, $t6, $s1
/* 107EDC 8029E8CC 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 107EE0 8029E8D0 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 107EDC 8029E8CC 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016
/* 107EE0 8029E8D0 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648
/* 107EE4 8029E8D4 000E7100 */ sll $t6, $t6, 4
/* 107EE8 8029E8D8 01CF8021 */ addu $s0, $t6, $t7
/* 107EEC 8029E8DC 240A0005 */ li $t2, 5
@@ -158,8 +158,8 @@ glabel L8029EA8C
/* 1080D4 8029EAC4 240A0005 */ li $t2, 5
/* 1080D8 8029EAC8 0011C0C0 */ sll $t8, $s1, 3
/* 1080DC 8029EACC 0311C023 */ subu $t8, $t8, $s1
/* 1080E0 8029EAD0 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 1080E4 8029EAD4 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 1080E0 8029EAD0 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016
/* 1080E4 8029EAD4 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648
/* 1080E8 8029EAD8 0018C100 */ sll $t8, $t8, 4
/* 1080EC 8029EADC 03198021 */ addu $s0, $t8, $t9
.L8029EAE0:
@@ -1,50 +0,0 @@
glabel func_8029EC88
/* 108298 8029EC88 3C098015 */ lui $t1, %hi(D_80150110) # $t1, 0x8015
/* 10829C 8029EC8C 25290110 */ addiu $t1, %lo(D_80150110) # addiu $t1, $t1, 0x110
/* 1082A0 8029EC90 95280000 */ lhu $t0, ($t1)
/* 1082A4 8029EC94 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1082A8 8029EC98 AFBF001C */ sw $ra, 0x1c($sp)
/* 1082AC 8029EC9C 29010064 */ slti $at, $t0, 0x64
/* 1082B0 8029ECA0 AFA40028 */ sw $a0, 0x28($sp)
/* 1082B4 8029ECA4 AFA5002C */ sw $a1, 0x2c($sp)
/* 1082B8 8029ECA8 AFA60030 */ sw $a2, 0x30($sp)
/* 1082BC 8029ECAC 14200005 */ bnez $at, .L8029ECC4
/* 1082C0 8029ECB0 AFA70034 */ sw $a3, 0x34($sp)
/* 1082C4 8029ECB4 0C0A7A24 */ jal func_8029E890
/* 1082C8 8029ECB8 87A70036 */ lh $a3, 0x36($sp)
/* 1082CC 8029ECBC 1000001B */ b .L8029ED2C
/* 1082D0 8029ECC0 8FBF001C */ lw $ra, 0x1c($sp)
.L8029ECC4:
/* 1082D4 8029ECC4 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 1082D8 8029ECC8 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 1082DC 8029ECCC 00001825 */ move $v1, $zero
/* 1082E0 8029ECD0 24020064 */ li $v0, 100
.L8029ECD4:
/* 1082E4 8029ECD4 848E0002 */ lh $t6, 2($a0)
/* 1082E8 8029ECD8 55C00010 */ bnel $t6, $zero, .L8029ED1C
/* 1082EC 8029ECDC 24630001 */ addiu $v1, $v1, 1
/* 1082F0 8029ECE0 87B80036 */ lh $t8, 0x36($sp)
/* 1082F4 8029ECE4 250F0001 */ addiu $t7, $t0, 1
/* 1082F8 8029ECE8 A52F0000 */ sh $t7, ($t1)
/* 1082FC 8029ECEC 8FA50028 */ lw $a1, 0x28($sp)
/* 108300 8029ECF0 8FA6002C */ lw $a2, 0x2c($sp)
/* 108304 8029ECF4 8FA70030 */ lw $a3, 0x30($sp)
/* 108308 8029ECF8 AFA30024 */ sw $v1, 0x24($sp)
/* 10830C 8029ECFC 0C0A5B44 */ jal func_80296D10
/* 108310 8029ED00 AFB80010 */ sw $t8, 0x10($sp)
/* 108314 8029ED04 8FA30024 */ lw $v1, 0x24($sp)
/* 108318 8029ED08 00031400 */ sll $v0, $v1, 0x10
/* 10831C 8029ED0C 0002CC03 */ sra $t9, $v0, 0x10
/* 108320 8029ED10 10000005 */ b .L8029ED28
/* 108324 8029ED14 03201025 */ move $v0, $t9
/* 108328 8029ED18 24630001 */ addiu $v1, $v1, 1
.L8029ED1C:
/* 10832C 8029ED1C 1462FFED */ bne $v1, $v0, .L8029ECD4
/* 108330 8029ED20 24840070 */ addiu $a0, $a0, 0x70
/* 108334 8029ED24 2402FFFF */ li $v0, -1
.L8029ED28:
/* 108338 8029ED28 8FBF001C */ lw $ra, 0x1c($sp)
.L8029ED2C:
/* 10833C 8029ED2C 27BD0028 */ addiu $sp, $sp, 0x28
/* 108340 8029ED30 03E00008 */ jr $ra
/* 108344 8029ED34 00000000 */ nop
@@ -71,14 +71,14 @@ glabel L8029FE88
/* 1094D8 8029FEC8 10610011 */ beq $v1, $at, .L8029FF10
/* 1094DC 8029FECC 24010002 */ li $at, 2
/* 1094E0 8029FED0 10610006 */ beq $v1, $at, .L8029FEEC
/* 1094E4 8029FED4 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 1094E4 8029FED4 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016
/* 1094E8 8029FED8 24010004 */ li $at, 4
/* 1094EC 8029FEDC 10610017 */ beq $v1, $at, .L8029FF3C
/* 1094F0 8029FEE0 00C02025 */ move $a0, $a2
/* 1094F4 8029FEE4 1000007D */ b .L802A00DC
/* 1094F8 8029FEE8 8FBF0014 */ lw $ra, 0x14($sp)
.L8029FEEC:
/* 1094FC 8029FEEC 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 1094FC 8029FEEC 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648
/* 109500 8029FEF0 00CD2023 */ subu $a0, $a2, $t5
/* 109504 8029FEF4 24010070 */ li $at, 112
/* 109508 8029FEF8 0081001A */ div $zero, $a0, $at
@@ -122,8 +122,8 @@ glabel L8029FF74
/* 109590 8029FF80 0C0327BD */ jal func_800C9EF4
/* 109594 8029FF84 AFA60018 */ sw $a2, 0x18($sp)
/* 109598 8029FF88 8FA60018 */ lw $a2, 0x18($sp)
/* 10959C 8029FF8C 3C098016 */ lui $t1, %hi(D_8015F9B8) # $t1, 0x8016
/* 1095A0 8029FF90 2529F9B8 */ addiu $t1, %lo(D_8015F9B8) # addiu $t1, $t1, -0x648
/* 10959C 8029FF8C 3C098016 */ lui $t1, %hi(gActorList) # $t1, 0x8016
/* 1095A0 8029FF90 2529F9B8 */ addiu $t1, %lo(gActorList) # addiu $t1, $t1, -0x648
/* 1095A4 8029FF94 24010070 */ li $at, 112
/* 1095A8 8029FF98 00C92023 */ subu $a0, $a2, $t1
/* 1095AC 8029FF9C 0081001A */ div $zero, $a0, $at
@@ -155,8 +155,8 @@ glabel L8029FFB4
/* 10960C 8029FFFC 01A00008 */ jr $t5
/* 109610 802A0000 00000000 */ nop
glabel L802A0004
/* 109614 802A0004 3C0E8016 */ lui $t6, %hi(D_8015F9B8) # $t6, 0x8016
/* 109618 802A0008 25CEF9B8 */ addiu $t6, %lo(D_8015F9B8) # addiu $t6, $t6, -0x648
/* 109614 802A0004 3C0E8016 */ lui $t6, %hi(gActorList) # $t6, 0x8016
/* 109618 802A0008 25CEF9B8 */ addiu $t6, %lo(gActorList) # addiu $t6, $t6, -0x648
/* 10961C 802A000C 00CE2023 */ subu $a0, $a2, $t6
/* 109620 802A0010 24010070 */ li $at, 112
/* 109624 802A0014 0081001A */ div $zero, $a0, $at
@@ -46,11 +46,11 @@ glabel place_all_item_boxes
/* 106EF0 8029D8E0 241E0070 */ li $fp, 112
/* 106EF4 8029D8E4 4481B000 */ mtc1 $at, $f22
/* 106EF8 8029D8E8 3C014120 */ li $at, 0x41200000 # 10.000000
/* 106EFC 8029D8EC 3C178016 */ lui $s7, %hi(D_8015F9B8) # $s7, 0x8016
/* 106EFC 8029D8EC 3C178016 */ lui $s7, %hi(gActorList) # $s7, 0x8016
/* 106F00 8029D8F0 3C148016 */ lui $s4, %hi(gCourseDirection) # $s4, 0x8016
/* 106F04 8029D8F4 4481A000 */ mtc1 $at, $f20
/* 106F08 8029D8F8 2694F784 */ addiu $s4, %lo(gCourseDirection) # addiu $s4, $s4, -0x87c
/* 106F0C 8029D8FC 26F7F9B8 */ addiu $s7, %lo(D_8015F9B8) # addiu $s7, $s7, -0x648
/* 106F0C 8029D8FC 26F7F9B8 */ addiu $s7, %lo(gActorList) # addiu $s7, $s7, -0x648
/* 106F10 8029D900 27B60058 */ addiu $s6, $sp, 0x58
/* 106F14 8029D904 27B5006C */ addiu $s5, $sp, 0x6c
/* 106F18 8029D908 44832000 */ mtc1 $v1, $f4
@@ -27,12 +27,12 @@ glabel place_falling_rocks
/* 10668C 8029D07C 3C014120 */ li $at, 0x41200000 # 10.000000
/* 106690 8029D080 12E20034 */ beq $s7, $v0, .L8029D154
/* 106694 8029D084 24160070 */ li $s6, 112
/* 106698 8029D088 3C158016 */ lui $s5, %hi(D_8015F9B8) # $s5, 0x8016
/* 106698 8029D088 3C158016 */ lui $s5, %hi(gActorList) # $s5, 0x8016
/* 10669C 8029D08C 3C138016 */ lui $s3, %hi(gCourseDirection) # $s3, 0x8016
/* 1066A0 8029D090 4481B000 */ mtc1 $at, $f22
/* 1066A4 8029D094 4480A000 */ mtc1 $zero, $f20
/* 1066A8 8029D098 2673F784 */ addiu $s3, %lo(gCourseDirection) # addiu $s3, $s3, -0x87c
/* 1066AC 8029D09C 26B5F9B8 */ addiu $s5, %lo(D_8015F9B8) # addiu $s5, $s5, -0x648
/* 1066AC 8029D09C 26B5F9B8 */ addiu $s5, %lo(gActorList) # addiu $s5, $s5, -0x648
/* 1066B0 8029D0A0 27B40064 */ addiu $s4, $sp, 0x64
/* 1066B4 8029D0A4 27B20050 */ addiu $s2, $sp, 0x50
/* 1066B8 8029D0A8 27B10058 */ addiu $s1, $sp, 0x58
@@ -35,9 +35,9 @@ glabel place_segment_06
/* 106C18 8029D608 A7A0007C */ sh $zero, 0x7c($sp)
/* 106C1C 8029D60C 86620000 */ lh $v0, ($s3)
/* 106C20 8029D610 24018000 */ li $at, -32768
/* 106C24 8029D614 3C1E8016 */ lui $fp, %hi(D_8015F9B8) # $fp, 0x8016
/* 106C24 8029D614 3C1E8016 */ lui $fp, %hi(gActorList) # $fp, 0x8016
/* 106C28 8029D618 10410077 */ beq $v0, $at, .L8029D7F8
/* 106C2C 8029D61C 27DEF9B8 */ addiu $fp, %lo(D_8015F9B8) # addiu $fp, $fp, -0x648
/* 106C2C 8029D61C 27DEF9B8 */ addiu $fp, %lo(gActorList) # addiu $fp, $fp, -0x648
/* 106C30 8029D620 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 106C34 8029D624 3C17800E */ lui $s7, %hi(gCurrentCourseId) # $s7, 0x800e
/* 106C38 8029D628 3C168016 */ lui $s6, %hi(gCourseDirection) # $s6, 0x8016
+1 -1
View File
@@ -59,7 +59,7 @@ glabel D_80284E94
.word 0x00000000
glabel D_80284ED0
.word 0x01020304, 0x05060700,
.word 0x01020304, 0x05060700
#.word 0x00000000 # padding
+60 -23
View File
@@ -2,8 +2,32 @@
#include <macros.h>
#include <common_structs.h>
// Made this because there will likely be a lot of structs in this file that will be compiled into one eventually.
// This keeps the other files cleaner.
/*
gActorList should be understood to be populated by generic Actor structs.
However, for human readability, many functions interacting with actor list elements expect one of the many
specialized types found in this file.
Note that specialized types must be the same size as a plain Actor. Don't be mislead into thinking that
because its a separate type that it can modified separately from plain Actor. If you modify/add an actor type
and its size is different from plain Actor's, you WILL run into buggy (potentially crash inducing) behaviour.
Specialized structs are customizable so long as the following member specifications are met:
In general:
0x00 -> s16 type
0x02 -> s16 flags
0x30 -> UnkActorInner unk30
If player can collide with the actor:
0x0C -> f32 boundingBoxSize
If the actor makes sound (necessary for doppler/volume stuff):
0x18 -> Vec3f pos
0x24 -> Vec3f velocity
Other members are more flexible, and even the non-general specifications can be ignored IF AND ONLY IF you know
exactly what you're doing.
*/
#define ACTOR_FALLING_ROCK 0x05
#define ACTOR_BANANA 0x06
@@ -28,6 +52,28 @@
#define ACTOR_HOT_AIR_BALLOON_ITEM_BOX 0x2B
#define ACTOR_KIWANO_FRUIT 0x2D
#define ACTOR_LIST_SIZE 100
struct Actor {
/* 0x00 */ s16 type;
/* 0x02 */ s16 flags;
/* 0x04 */ s16 unk_04;
/* 0x06 */ s16 state;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 boundingBoxSize;
/* 0x10 */ Vec3s rot;
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f pos;
/* 0x24 */ Vec3f velocity;
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
extern struct Actor gActorList[ACTOR_LIST_SIZE]; // D_8015F9B8
/*
Specialized actor types
*/
/*
Used by the locomotive, tender, and passenger car
*/
@@ -172,18 +218,23 @@ struct TripleShellParent {
/* 0x14 */ s16 playerId; // Id of the player that "owns" the shells
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f unk_18;
/* 0x24 */ Vec3f shellIndices; // Indices in D_8015F9B8 for the shells "owned" by this parent
/* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
struct ShellActor {
/* 0x00 */ s16 type;
/* 0x02 */ s16 flags;
// Index in D_8015F9B8 for the parent actor of this shell
// Index in gActorList for the parent actor of this shell
// Seems to pull double duty as a timer
/* 0x04 */ s16 parentIndex;
union {
/* 0x04 */ s16 parentIndex;
/* 0x04 */ s16 someTimer;
// Red Shells only (maybe blue shells?)
/* 0x04 */ s16 targetPlayer; // Player the shell is after
};
/* 0x06 */ s16 state;
/* 0x08 */ f32 unk_08;
/* 0x08 */ f32 shellId; // 0, 1, or 2. Indicates which shell in the triplet this one is
/* 0x0C */ f32 boundingBoxSize;
/* 0x10 */ s16 rotVelocity; // Change in rotAngle on a per-update basis
/* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself
@@ -236,7 +287,7 @@ struct BananaBunchParent {
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s16 playerId; // Player that own the bananas
/* 0x12 */ s16 bananaIndices[5]; // Indices in D_8015F9B8 for the bananas owned by this parent
/* 0x12 */ s16 bananaIndices[5]; // Indices in gActorList for the bananas owned by this parent
/* 0x1C */ s16 bananasAvailable;
/* 0x1E */ s16 unk_1E;
/* 0x20 */ f32 unk_20[4];
@@ -254,25 +305,11 @@ struct BananaActor {
union {
/* 0x10 */ Vec3s rot;
/* 0x10 */ s16 playerId; // Id of the player that owns this banana
/* 0x12 */ s16 elderIndex; // Index in D_8015F9B8 of the next-oldest banana in the bunch
/* 0x14 */ s16 youngerIndex; // Index in D_8015F9B8 of the next-youngest banana in the bunch
/* 0x12 */ s16 elderIndex; // Index in gActorList of the next-oldest banana in the bunch
/* 0x14 */ s16 youngerIndex; // Index in gActorList of the next-youngest banana in the bunch
};
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f pos;
/* 0x24 */ Vec3f velocity;
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
struct Actor {
/* 0x00 */ s16 type;
/* 0x02 */ s16 flags;
/* 0x04 */ s16 unk_04;
/* 0x06 */ s16 state;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 boundingBoxSize;
/* 0x10 */ Vec3s rot;
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f pos;
/* 0x24 */ Vec3f velocity;
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
+28 -28
View File
@@ -5790,10 +5790,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000ED14.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_8000ED14(?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
s32 func_8000ED80(s32 arg0) {
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 8) {
if (*(&gActorList + (arg0 * 0x70)) != 8) {
return -1;
}
return func_8000ED14(0);
@@ -5805,10 +5805,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000ED80.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_8000ED14(?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
s32 func_8000EDC8(s32 arg0) {
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 7) {
if (*(&gActorList + (arg0 * 0x70)) != 7) {
return -1;
}
return func_8000ED14(1);
@@ -5820,10 +5820,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000EDC8.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_8000ED14(?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
s32 func_8000EE10(s32 arg0) {
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 0x2A) {
if (*(&gActorList + (arg0 * 0x70)) != 0x2A) {
return -1;
}
return func_8000ED14(2);
@@ -5907,7 +5907,7 @@ extern f32 D_800ED040;
extern f32 D_800ED044;
extern f32 D_800ED048;
extern f32 D_800ED04C;
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_801641F8;
extern ? D_801642D8;
@@ -5931,7 +5931,7 @@ void func_8000EF20(void) {
temp_v0 = phi_s0->unk10;
temp_t0 = phi_s0->unk14 + 1;
phi_s0->unk14 = temp_t0;
temp_s1 = &D_8015F9B8 + (phi_s0->unkE * 0x70);
temp_s1 = &gActorList + (phi_s0->unkE * 0x70);
if (temp_v0 != 0) {
if (temp_v0 != 1) {
if (temp_v0 != 2) {
@@ -8561,12 +8561,12 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_800127E0.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_8015F9B8;
extern ? gActorList;
void func_80012A48(void *arg0, s16 arg1) {
void *temp_v0;
temp_v0 = (arg0->unk1E * 0x70) + &D_8015F9B8;
temp_v0 = (arg0->unk1E * 0x70) + &gActorList;
temp_v0->unk18 = arg0->unk4;
temp_v0->unk1C = arg0->unk8;
temp_v0->unk20 = arg0->unkC;
@@ -8946,7 +8946,7 @@ extern f64 D_800ED138;
extern f64 D_800ED140;
extern f64 D_800ED148;
extern f64 D_800ED150;
extern ? D_8015F9B8;
extern ? gActorList;
extern s16 D_80162EB0;
extern s16 D_801630FC;
extern s32 D_80163598;
@@ -9066,7 +9066,7 @@ void func_800133C4(void) {
phi_s0->unk10 = temp_f0_3 - temp_f26;
phi_s0->unk14 = phi_s0->unk8 - temp_f28;
phi_s0->unk18 = phi_s0->unkC - temp_f30;
temp_v0_3 = (phi_s0->unk1E * 0x70) + &D_8015F9B8;
temp_v0_3 = (phi_s0->unk1E * 0x70) + &gActorList;
temp_v0_3->unk18 = temp_f0_3;
temp_v0_3->unk1C = phi_s0->unk8;
temp_v0_3->unk20 = phi_s0->unkC;
@@ -9267,7 +9267,7 @@ f32 func_80013C74(s16, s16); // extern
s32 func_802B5224(f32 *, f32 *); // extern
extern f64 D_800ED178;
extern f64 D_800ED180;
extern ? D_8015F9B8;
extern ? gActorList;
extern s16 D_8016347A;
void func_80013D20(void *arg0) {
@@ -9330,7 +9330,7 @@ void func_80013D20(void *arg0) {
func_800224F0(arg0 + 0x28, func_802B5224(&sp40, &sp34) * -1, 0x64);
temp_f0_4 = arg0->unk4;
arg0->unk10 = temp_f0_4 - sp5C;
temp_v1 = (arg0->unk1E * 0x70) + &D_8015F9B8;
temp_v1 = (arg0->unk1E * 0x70) + &gActorList;
arg0->unk14 = arg0->unk8 - sp58;
arg0->unk18 = arg0->unkC - sp54;
temp_v1->unk18 = temp_f0_4;
@@ -13319,7 +13319,7 @@ s32 func_8007AF78(s16, s16, ? *); /* extern */
s16 func_802B2D70(u16 *, s16, ? *); /* extern */
? func_802B2EBC(u16 *, s16); /* extern */
s32 random_int(?, s16); /* extern */
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_801631E0;
extern ? D_801642D8;
extern ? gPlayerPositions;
@@ -13412,7 +13412,7 @@ block_194:
}
goto block_194;
case 2: /* switch 1 */
temp_a3 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3->unk2 & 0x8000) == 0) || (temp_a3->unk0 != 6) || (temp_a3->unk6 != 0) || (playerId != temp_a3->unk10)) {
temp_s0->unk0 = 0;
temp_s0->unk4 = 0;
@@ -13425,7 +13425,7 @@ block_194:
}
break;
case 3: /* switch 1 */
temp_a3_2 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_2 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_2->unk2 & 0x8000) == 0) || (temp_a3_2->unk0 != 6) || (temp_a3_2->unk6 != 0) || (playerId != temp_a3_2->unk10)) {
if (playerId != temp_a3_2->unk10) {
@@ -13448,7 +13448,7 @@ block_194:
temp_s0->unk2 = func_802B2D70(sp2C, temp_a1);
temp_v1_4 = temp_s0->unk2;
if ((temp_v1_4 >= 0) && (temp_v1_4 < 0x64)) {
temp_a3_3 = (temp_v1_4 * 0x70) + &D_8015F9B8;
temp_a3_3 = (temp_v1_4 * 0x70) + &gActorList;
temp_a3_3->unk6 = 4;
sp2C->unkC = sp2C->unkC | 0x40000;
temp_s0->unk0 = 0x23;
@@ -13469,7 +13469,7 @@ block_194:
}
goto block_194;
case 35: /* switch 1 */
temp_a3_4 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_4 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_4->unk2 & 0x8000) == 0) || (temp_a3_4->unk0 != 6) || (temp_a3_4->unk6 != 4) || (playerId != temp_a3_4->unk10)) {
temp_s0->unk4 = 0;
temp_s0->unk0 = 0;
@@ -13486,7 +13486,7 @@ block_194:
}
break;
case 36: /* switch 1 */
temp_a3_5 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_5 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_5->unk2 & 0x8000) == 0) || (temp_a3_5->unk0 != 6) || (temp_a3_5->unk6 != 4) || (playerId != temp_a3_5->unk10)) {
if (playerId != temp_a3_5->unk10) {
@@ -13521,7 +13521,7 @@ block_71:
}
goto block_194;
case 5: /* switch 1 */
temp_a3_6 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_6 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_6->unk2 & 0x8000) == 0) || (temp_a3_6->unk0 != 7) || (temp_a3_6->unk6 != 0) || (playerId != temp_a3_6->unk14)) {
temp_s0->unk4 = 0;
temp_s0->unk0 = 0;
@@ -13534,7 +13534,7 @@ block_71:
}
break;
case 6: /* switch 1 */
temp_a3_7 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_7 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_7->unk2 & 0x8000) == 0) || (temp_a3_7->unk0 != 7) || (temp_a3_7->unk6 != 0) || (playerId != temp_a3_7->unk14)) {
temp_s0->unk0 = 0;
temp_s0->unk4 = 0;
@@ -13562,7 +13562,7 @@ block_92:
}
goto block_194;
case 8: /* switch 1 */
temp_a3_8 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_8 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_8->unk2 & 0x8000) == 0) || (temp_a3_8->unk0 != 8) || (temp_a3_8->unk6 != 0) || (playerId != temp_a3_8->unk14)) {
temp_s0->unk4 = 0;
temp_s0->unk0 = 0;
@@ -13575,7 +13575,7 @@ block_92:
break;
case 9: /* switch 1 */
func_8001ABEC(temp_s0, temp_a1);
temp_a3_9 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_9 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_9->unk2 & 0x8000) == 0) || (temp_a3_9->unk0 != 8) || (temp_a3_9->unk6 != 0) || (playerId != temp_a3_9->unk14)) {
temp_s0->unk0 = 0;
temp_s0->unk4 = 0;
@@ -13603,7 +13603,7 @@ block_113:
}
goto block_194;
case 11: /* switch 1 */
temp_a3_10 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_10 = (temp_s0->unk2 * 0x70) + &gActorList;
if (temp_a3_10->unk6 == 6) {
phi_v1 = 0;
if (temp_a3_10->unk1A != -1) {
@@ -13637,7 +13637,7 @@ block_131:
if ((temp_s0->unk4 % 10) == 0) {
temp_v1_8 = temp_s0->unk8;
if (temp_v1_8 < 5) {
temp_a3_11 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_11 = (temp_s0->unk2 * 0x70) + &gActorList;
phi_v0 = 0;
switch (temp_v1_8) { /* switch 2 */
case 0: /* switch 2 */
@@ -13691,7 +13691,7 @@ block_146:
}
goto block_194;
case 14: /* switch 1 */
temp_a3_12 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_12 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_12->unk2 & 0x8000) == 0) || (temp_a3_12->unk0 != 0xD) || (temp_a3_12->unk6 != 0) || (playerId != temp_a3_12->unk24)) {
temp_s0->unk4 = 0;
temp_s0->unk0 = 0;
@@ -13703,7 +13703,7 @@ block_146:
}
break;
case 15: /* switch 1 */
temp_a3_13 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
temp_a3_13 = (temp_s0->unk2 * 0x70) + &gActorList;
if (((temp_a3_13->unk2 & 0x8000) == 0) || (temp_a3_13->unk0 != 0xD) || (temp_a3_13->unk6 != 0) || (playerId != temp_a3_13->unk24)) {
if (playerId != temp_a3_13->unk10) {
+109 -120
View File
@@ -29,7 +29,7 @@ extern struct Controller gControllers[];
extern s32 gActiveScreenMode;
extern Camera *camera1;
extern struct Actor D_8015F9B8[];
extern struct Actor gActorList[];
extern Gfx *gDisplayListHead;
extern s32 gModeSelection;
extern s16 gCurrentCourseId;
@@ -57,7 +57,7 @@ u16 D_802BA260;
? func_8029E854(void *, void *); /* extern */
extern u16 D_8015F6FE;
extern u16 D_8015F900;
extern ? D_8015F9B8;
extern ? gActorList;
void func_80296A50(s32 arg0, s32 arg3) {
void *sp1C;
@@ -85,7 +85,7 @@ void func_80296A50(s32 arg0, s32 arg3) {
phi_a2 = temp_t1;
phi_a3 = arg3;
if (temp_t1 < 0x64) {
phi_a1 = (temp_t1 * 0x70) + &D_8015F9B8;
phi_a1 = (temp_t1 * 0x70) + &gActorList;
loop_2:
if ((arg0 != phi_a1) && ((phi_a1->unk2 & 0xF) == 0) && (phi_a1->unk0 == 7)) {
if (phi_a1->unk6 == 2) {
@@ -108,7 +108,7 @@ block_10:
phi_a2_2 = D_8015F900;
phi_a2_3 = D_8015F900;
if (D_8015F900 < 0x64) {
phi_a1_2 = (D_8015F900 * 0x70) + &D_8015F9B8;
phi_a1_2 = (D_8015F900 * 0x70) + &gActorList;
loop_12:
if ((arg0 != phi_a1_2) && ((phi_a1_2->unk2 & 0xF) == 0) && (phi_a1_2->unk0 == 8)) {
temp_t3 = phi_a1_2->unk6;
@@ -143,7 +143,7 @@ block_21:
phi_a2_4 = phi_a2_3;
phi_a2_5 = phi_a2_3;
if (phi_a2_3 < 0x64) {
phi_a1_3 = (phi_a2_3 * 0x70) + &D_8015F9B8;
phi_a1_3 = (phi_a2_3 * 0x70) + &gActorList;
phi_a3 = 2;
loop_23:
if ((arg0 != phi_a1_3) && (phi_a1_3->unk0 == 7)) {
@@ -174,7 +174,7 @@ block_30:
block_32:
phi_a2_6 = phi_a2_5;
if (phi_a2_5 < 0x64) {
phi_a1_4 = (phi_a2_5 * 0x70) + &D_8015F9B8;
phi_a1_4 = (phi_a2_5 * 0x70) + &gActorList;
loop_34:
if ((arg0 != phi_a1_4) && (phi_a1_4->unk0 == 8)) {
temp_t7 = phi_a1_4->unk6;
@@ -223,14 +223,14 @@ extern u16 D_802BA260;
static f32 D_802B95F0 = 1.925f;
static f32 D_802B95F4 = 0.35f;
void func_80296D10(struct Actor *actor, s32 arg1, Vec3s arg2, Vec3f arg3, s16 actorType) {
void func_80296D10(struct Actor *actor, Vec3f arg1, Vec3s arg2, Vec3f arg3, s16 actorType) {
UnkActorInner *sp2C;
UnkActorInner *temp_a0;
f32 temp_f0;
u16 temp_v0;
s16 phi_v0;
vec3f_copy(actor->pos);
vec3f_copy(actor->pos, arg1);
vec3s_copy(actor->rot, arg2);
vec3f_copy(actor->velocity, arg3);
actor->flags = -0x8000;
@@ -406,16 +406,16 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_80296D10.s")
void func_80297230(Camera *arg0, struct Actor *arg1) {
switch(arg0 - camera1) {
case 0:
arg1->flags &= 0xFFFE;
arg1->flags &= ~1;
break;
case 1:
arg1->flags &= 0xFFFD;
arg1->flags &= ~2;
break;
case 2:
arg1->flags &= 0xFFFB;
arg1->flags &= ~4;
break;
case 3:
arg1->flags &= 0xFFF7;
arg1->flags &= ~8;
break;
}
}
@@ -666,7 +666,7 @@ void update_obj_yoshi_valley_egg(struct YoshiValleyEgg *egg) {
if (egg->pos[1] < 0.0f) {
egg->pos[1] = 0.0f;
egg->pathCenter[1] = 0.0f;
egg->flags &= 0xFBFF;
egg->flags &= ~(1 << 10);
}
egg->eggRot -= 0x4FA;
}
@@ -1987,8 +1987,19 @@ void update_obj_mario_raceway_sign(struct Actor *arg0) {
}
}
// UNUSED
#ifdef MIPS_TO_C
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
extern s16 D_80150110;
extern ? D_8015F9BE;
void func_8029ABD4(s16 arg1, s32 arg1) {
arg1 = M2C_ERROR(Read from unset register $a1);
D_80150110 = 0;
*(&D_8015F9BE + (func_8029ED38((f32 *) arg1, (s16 *)0x00000014) * 0x70)) = (s16) arg1;
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029ABD4.s")
#endif
#ifdef NON_MATCHING // needs jmpt table rodata aligned to match.
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@@ -2672,7 +2683,7 @@ void place_piranha_plants(Gfx *displaylist) {
sp60[1] = temp_s0->unk.data[1];
sp60[2] = temp_s0->unk.data[2];
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PIRANHA_PLANT);
temp_v1 = (struct PiranhaPlant *) &D_8015F9B8[temp];
temp_v1 = (struct PiranhaPlant *) &gActorList[temp];
temp_v1->visibilityStates[0] = 0;
temp_v1->visibilityStates[1] = 0;
temp_v1->visibilityStates[2] = 0;
@@ -2703,7 +2714,7 @@ void place_palm_trees(Gfx *displaylist) {
sp60[1] = temp_s0->unk.data[1];
sp60[2] = temp_s0->unk.data[2];
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PALM_TREE);
temp_v1 = (struct PalmTree *) &D_8015F9B8[temp];
temp_v1 = (struct PalmTree *) &gActorList[temp];
temp_v1->visibilityStates[0] = temp_s0->unk.unk2;
func_802ADDC8((UnkActorInner *) &temp_v1->unk30, 5.0f, temp_v1->pos[0], temp_v1->pos[1], temp_v1->pos[2]);
@@ -2746,7 +2757,7 @@ void place_falling_rocks(Gfx *displaylist) {
vec3f_set(sp54, 0, 0, 0);
vec3s_set(sp4C, 0, 0, 0);
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_FALLING_ROCK);
temp_v1 = (struct FallingRock *) &D_8015F9B8[temp];
temp_v1 = (struct FallingRock *) &gActorList[temp];
temp_v1->unk_06 = temp_s0->unk.unk2;
func_802AAAAC((UnkActorInner *) &temp_v1->unk30);
@@ -2760,7 +2771,7 @@ s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern
? func_802AAAAC(void *); // extern
? vec3s_set(? *, ?, ?, ?); // extern
? vec3f_set(? *, ?, ?, ?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern f32 gCourseDirection;
extern ? gSegmentTable;
@@ -2791,7 +2802,7 @@ void place_falling_rocks(u32 arg0) {
sp6C = phi_s0->unk_04;
vec3f_set(&sp58, 0, 0, 0);
vec3s_set(&sp50, 0, 0, 0);
temp_v1 = &D_8015F9B8 + (func_8029EC88(temp_s4, &sp50, &sp58, 5) * 0x70);
temp_v1 = &gActorList + (func_8029EC88(temp_s4, &sp50, &sp58, 5) * 0x70);
temp_a0 = temp_v1 + 0x30;
temp_v1->unk6 = phi_s0->unk6;
func_802AAAAC(temp_a0);
@@ -2937,7 +2948,7 @@ f32 func_802ABE30(?32, f32, ?32, u16); /* extern */
? func_802ADDC8(void *, ?, ?32, f32, ?32); /* extern */
? vec3f_set(? *, f32, f32, f32); /* extern */
extern s32 D_800DC50C;
extern ? D_8015F9B8;
extern ? gActorList;
extern f32 gCourseDirection;
extern ? gSegmentTable;
static u16 gCurrentCourseId; /* type too large by 2; unable to generate initializer */
@@ -3026,7 +3037,7 @@ void place_segment_06(u32 arg0) {
}
break;
}
temp_s0 = &D_8015F9B8 + (func_8029EC88(&sp8C, &sp78, &sp80, phi_s2) * 0x70);
temp_s0 = &gActorList + (func_8029EC88(&sp8C, &sp78, &sp80, phi_s2) * 0x70);
if (D_800DC50C == CREDITS_SEQUENCE) {
func_802976D8(temp_s0 + 0x10);
} else {
@@ -3098,7 +3109,7 @@ void place_all_item_boxes(u32 arg0) {
temp_f0 = func_802AE1C0(sp6C, sp70 + 10.0f, sp74);
temp_f16 = temp_f0 - 20.0f;
temp_s0_2 = phi_s0 + 8;
temp_v0 = &D_8015F9B8[temp_s1];
temp_v0 = &gActorList[temp_s1];
temp_v0->resetDistance = temp_f0;
temp_v0->pos[1] = temp_f16;
temp_v0->origY = sp70;
@@ -3116,7 +3127,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/place_all_item_boxes.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_8029EC88(? *, ? *, ? *, ?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern u16 gPlayers;
void func_8029D9F8(void) {
@@ -3133,7 +3144,7 @@ void func_8029D9F8(void) {
do {
temp_v0 = *phi_s1;
if (((temp_v0 & 0x4000) != 0) && ((temp_v0 & 0x100) == 0)) {
(&D_8015F9B8 + (func_8029EC88(&sp64, &sp50, &sp58, 0x2D) * 0x70))->unk_04 = phi_s0;
(&gActorList + (func_8029EC88(&sp64, &sp50, &sp58, 0x2D) * 0x70))->unk_04 = phi_s0;
}
temp_s0 = phi_s0 + 1;
phi_s1 += 0xDD8;
@@ -3147,15 +3158,15 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029D9F8.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s16 D_80150110;
//extern ? D_8015F9B8;
//extern ? gActorList;
extern s32 D_80162578;
extern struct Actor D_8015F9B8[112];
extern struct Actor gActorList[112];
void func_8029DAB8(void) {
struct Actor *temp_v1;
s32 i;
D_80150110 = 0;
for (i = 0; i < 100; i++) {
temp_v1 = &D_8015F9B8[i];
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
temp_v1 = &gActorList[i];
temp_v1->unk2 = 0;
temp_v1->unk0 = 0;
temp_v1->unk_04 = 0;
@@ -3215,7 +3226,7 @@ extern ? D_06022F08;
extern ? D_06023AE0;
extern u16 D_80150110;
extern u16 D_8015F900;
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_8015F9BE;
extern f32 gCourseDirection;
extern s32 gPlayerCountSelection1;
@@ -3260,7 +3271,7 @@ void func_8029DB44(void) {
vec3f_set(&sp40, 0x451D8000, 0, 0x449B0000);
temp_a0_2 = &sp40;
sp40 *= gCourseDirection;
temp_v1 = (func_8029EC88(temp_a0_2, &sp2C, &sp34, 0x17) * 0x70) + &D_8015F9B8;
temp_v1 = (func_8029EC88(temp_a0_2, &sp2C, &sp34, 0x17) * 0x70) + &gActorList;
temp_v1->unk2 = temp_v1->unk2 | 0x4000;
break;
case COURSE_CHOCO_MOUNTAIN:
@@ -3317,7 +3328,7 @@ void func_8029DB44(void) {
sp40 *= gCourseDirection;
/*
D_8015F9BE is a fake variable.
func_8029EC88 returns an index in D_8015F9B8 and D_8015F9BE represents accessing
func_8029EC88 returns an index in gActorList and D_8015F9BE represents accessing
the member 6 bytes into the actor at that index.
In this function, that's the `crossingId` member of a RailroadCrossing actor
*/
@@ -3630,7 +3641,7 @@ s16 func_8029E890(s32 arg0, s16 *arg1, f32 *arg2, s16 actorType) {
temp_t3 = D_8015F900;
phi_s1 = (s16) temp_t3;
if ((s32) temp_t3 < 0x64) {
phi_s0 = &D_8015F9B8[temp_t3];
phi_s0 = &gActorList[temp_t3];
loop_2:
if ((phi_s0->flags & 0xF) == 0) {
temp_v0 = phi_s0->type;
@@ -3696,7 +3707,7 @@ block_24:
block_26:
phi_s1_2 = (s16) D_8015F900;
if ((s16) D_8015F900 < 0x64) {
phi_s0_2 = &D_8015F9B8[(s16) D_8015F900];
phi_s0_2 = &gActorList[(s16) D_8015F900];
loop_28:
temp_v0_5 = phi_s0_2->type;
switch (temp_v0_5) { /* switch 3; irregular */
@@ -3766,44 +3777,25 @@ block_50:
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E890.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80296D10(? *, s32, s32, s32, s32); // extern
s16 func_8029E890(s16); // extern
void func_80296D10(struct Actor *, f32 *, s16 *, f32 *, s32); /* extern */
s16 func_8029E890(f32 *, s16 *, f32 *, s16); /* extern */
extern u16 D_80150110;
extern ? D_8015F9B8;
s16 func_8029EC88(s32 arg0, s32 arg1, s32 arg2, s16 arg3) {
s32 sp24;
s32 temp_v1;
u16 temp_t0;
? *phi_a0;
s32 phi_v1;
s16 func_8029EC88(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
s32 index;
temp_t0 = D_80150110;
if (temp_t0 >= 0x64) {
return func_8029E890(arg3);
if (D_80150110 >= ACTOR_LIST_SIZE) {
return func_8029E890(pos, rot, velocity, actorType);
}
phi_a0 = &D_8015F9B8;
phi_v1 = 0;
loop_3:
if (phi_a0->unk2 == 0) {
D_80150110 = temp_t0 + 1;
sp24 = phi_v1;
func_80296D10(phi_a0, arg0, arg1, arg2, arg3);
return phi_v1;
for(index = 0; index < ACTOR_LIST_SIZE; index++){
if (gActorList[index].flags == 0) {
D_80150110++;
func_80296D10(&gActorList[index], pos, rot, velocity, actorType);
return index;
}
}
temp_v1 = phi_v1 + 1;
phi_a0 += 0x70;
phi_v1 = temp_v1;
if (temp_v1 == 0x64) {
return -1;
}
goto loop_3;
return -1;
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029EC88.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -4011,15 +4003,13 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029F2FC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75
? func_8008DABC(Player *, s8); /* extern */
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
? func_800C90F4(s32, s32); /* extern */
? func_800C98B8(f32 *, f32 *, ?, Player *); /* extern */
? func_802977B0(Player *); /* extern */
f32 sqrtf(f32, f32); /* extern */
extern s32 D_80162DF8;
s32 func_8029F408(Player *arg0, Player *arg1) {
s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
f32 sp1C;
Player *temp_a0;
Player *temp_a3;
@@ -4028,48 +4018,48 @@ s32 func_8029F408(Player *arg0, Player *arg1) {
f32 temp_f2;
f32 temp_f2_2;
temp_f2 = arg1->posY - arg0->pos[0];
temp_f2 = egg->pos[0] - player->pos[0];
if ((temp_f2 < 0.0f) && (temp_f2 < -60.0f)) {
return 0;
}
if (temp_f2 > 60.0f) {
return 0;
}
temp_f0 = arg1->rotX - arg0->pos[2];
temp_f0 = egg->pos[2] - player->pos[2];
if ((temp_f0 < 0.0f) && (temp_f0 < -60.0f)) {
return 0;
}
if (temp_f0 > 60.0f) {
return 0;
}
arg0 = arg0;
temp_f0_2 = sqrtf((temp_f2 * temp_f2) + (temp_f0 * temp_f0), 60.0f);
player = player;
temp_f0_2 = sqrtf((temp_f2 * temp_f2) + (temp_f0 * temp_f0));
temp_f2_2 = temp_f0_2;
temp_a0 = arg0;
temp_a0 = player;
if (temp_f0_2 > 60.0f) {
return 0;
}
arg0 = arg0;
player = player;
sp1C = temp_f2_2;
func_802977B0(temp_a0);
temp_a3 = arg0;
if ((temp_a3->posY - arg1->posZ) < 0.0f) {
temp_a3 = player;
if ((temp_a3->pos[1] - egg->pos[1]) < 0.0f) {
return 0;
}
if ((temp_a3->boundingBoxSize + (bitwise f32) arg1->unk_00C) < temp_f2_2) {
if ((temp_a3->boundingBoxSize + egg->boundingBoxSize) < temp_f2_2) {
return 0;
}
if ((temp_a3->unk_000 & 0x4000) != 0) {
if ((temp_a3->unk_0BC & 0x200) != 0) {
arg1->unk_002 = (s16) arg1->unk_002 | 0x400;
arg1->rotZ = 8.0f;
arg0 = temp_a3;
func_800C98B8(&temp_a3->posX, &temp_a3->unk_034, 0x19018010, temp_a3);
func_800C90F4(((s32) (arg0 - gPlayerOne) / 3544) & 0xFF, (arg0->characterId * 0x10) + 0x2900800D);
egg->flags |= 0x400;
egg->pathCenter[1] = 8.0f;
player = temp_a3;
func_800C98B8(temp_a3->pos, &temp_a3->unk_034, 0x19018010, temp_a3);
func_800C90F4(((s32) (player - gPlayerOne) / 3544) & 0xFF, (player->characterId * 0x10) + 0x2900800D);
} else {
arg0 = temp_a3;
player = temp_a3;
func_8008DABC(temp_a3, (s8) ((s32) (temp_a3 - gPlayerOne) / 3544));
if ((gModeSelection == 1) && ((arg0->unk_000 & 0x1000) == 0)) {
if ((gModeSelection == 1) && ((player->unk_000 & 0x1000) == 0)) {
D_80162DF8 = 1;
}
}
@@ -4402,19 +4392,19 @@ void func_8029FDC8(struct Actor *actor) {
switch (temp_v1) { /* switch 5; irregular */
case 2: /* switch 5 */
actor = temp_a2;
func_8000EE58((s32) (temp_a2 - D_8015F9B8) / 112);
func_8000EE58((s32) (temp_a2 - gActorList) / 112);
phi_a2_3 = actor;
/* fallthrough */
case 0: /* switch 5 */
case 1: /* switch 5 */
phi_a2_3->flags = -0x8000;
phi_a2_3->rot[1] = 0;
phi_a2_3->unk_04 = 0x003C;
phi_a2_3->someTimer = 0x003C;
phi_a2_3->state = 5;
phi_a2_3->velocity[1] = 3.0f;
return;
case 4: /* switch 5 */
func_802B02B4(temp_a2, 7, temp_a2, 7);
func_802B02B4(temp_a2, ACTOR_GREEN_SHELL, temp_a2, ACTOR_GREEN_SHELL);
return;
}
break;
@@ -4431,7 +4421,7 @@ void func_8029FDC8(struct Actor *actor) {
temp_a0 = temp_a2->pos;
actor = temp_a2;
func_800C9EF4(temp_a0, 0x51018008, temp_a2, 7);
func_8000EE58((s32) (actor - D_8015F9B8) / 112);
func_8000EE58((s32) (actor - gActorList) / 112);
phi_a2 = actor;
/* fallthrough */
case 0: /* switch 2 */
@@ -4456,19 +4446,19 @@ void func_8029FDC8(struct Actor *actor) {
case 8: /* switch 3 */
case 9: /* switch 3 */
actor = temp_a2;
func_8000EE58((s32) (temp_a2 - D_8015F9B8) / 112);
func_8000EE58((s32) (temp_a2 - gActorList) / 112);
phi_a2_2 = actor;
/* fallthrough */
case 0: /* switch 3 */
case 1: /* switch 3 */
phi_a2_2->flags = -0x8000;
phi_a2_2->rot[1] = 0;
phi_a2_2->unk_04 = 0x003C;
phi_a2_2->someTimer = 0x003C;
phi_a2_2->state = 7;
phi_a2_2->velocity[1] = 3.0f;
return;
case 6: /* switch 3 */
func_802B02B4(temp_a2, 8, temp_a2, 7);
func_802B02B4(temp_a2, ACTOR_RED_SHELL, temp_a2, ACTOR_GREEN_SHELL);
return;
}
}
@@ -4866,8 +4856,8 @@ void func_802A0D54(void) {
if (((phi_s1->unk_000 & 0x8000) != 0) && ((phi_s1->unk_0BC & 0x4000000) == 0)) {
func_802977E4(phi_s1);
for (j = 0; j < 100; j++) {
temp_a1 = &D_8015F9B8[j];
for (j = 0; j < ACTOR_LIST_SIZE; j++) {
temp_a1 = &gActorList[j];
if ((phi_s1->unk_0BC & 0x4000000) == 0) {
// temp_v0 = temp_a1->unk2;
@@ -4889,21 +4879,21 @@ void func_802A0E44(void) {
s32 i, j;
s32 pad;
for (i = D_8015F900; i < 99; i++) {
phi_s0 = &D_8015F9B8[i];
for (i = D_8015F900; i < (ACTOR_LIST_SIZE - 1); i++) {
phi_s0 = &gActorList[i];
if ((phi_s0->flags & 0x8000) == 0) { continue; }
if ((phi_s0->flags & 0x4000) == 0) { continue; }
switch(phi_s0->type) {
case 6:
case 7:
case 8:
case 42:
case 13:
case ACTOR_BANANA:
case ACTOR_GREEN_SHELL:
case ACTOR_RED_SHELL:
case ACTOR_BLUE_SPINY_SHELL:
case ACTOR_FAKE_ITEM_BOX:
for (j = i + 1; j < 100; j++) {
temp_a1 = &D_8015F9B8[j];
for (j = i + 1; j < ACTOR_LIST_SIZE; j++) {
temp_a1 = &gActorList[j];
if ((phi_s0->flags & 0x8000) == 0) {continue;}
if ((phi_s0->flags & 0x4000) == 0) {continue;}
@@ -4913,18 +4903,18 @@ void func_802A0E44(void) {
switch(temp_a1->type) {
case ACTOR_BANANA:
if (phi_s0->type == 6) { continue; }
if (phi_s0->type == ACTOR_BANANA) { continue; }
func_802A0350(phi_s0, temp_a1);
break;
case ACTOR_GREEN_SHELL:
if (phi_s0->type == 7) {
if (phi_s0->type == ACTOR_GREEN_SHELL) {
if (phi_s0->rot[2] == temp_a1->rot[2]) { continue; }
}
func_802A0350(phi_s0, temp_a1);
break;
case ACTOR_RED_SHELL:
if (phi_s0->type == 8) {
if (phi_s0->type == ACTOR_RED_SHELL) {
if (phi_s0->rot[2] == temp_a1->rot[2]) { continue; }
}
func_802A0350(phi_s0, temp_a1);
@@ -4945,13 +4935,12 @@ f32 func_802ABEAC(UnkActorInner*, Vec3f);
extern f32 D_802B99CC;
void func_802A1064(struct FakeItemBox *fake_item_box) {
if (fake_item_box - (struct FakeItemBox*)D_8015F9B8 > 100u) { return; }
if ((fake_item_box->flags & 0x8000) == 0) { return; }
if (fake_item_box->type == ACTOR_FAKE_ITEM_BOX) {
fake_item_box->state = 1;
fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + D_802B99CC;
fake_item_box->someTimer = 100;
if (fake_item_box - (struct FakeItemBox*)gActorList <= (u32)ACTOR_LIST_SIZE) {
if (((fake_item_box->flags & 0x8000) != 0) && (fake_item_box->type == ACTOR_FAKE_ITEM_BOX)) {
fake_item_box->state = 1;
fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + D_802B99CC;
fake_item_box->someTimer = 100;
}
}
}
@@ -5058,7 +5047,7 @@ void func_802A14BC(f32 arg0, f32 arg1, f32 arg2) {
sp34[1] = arg1;
sp34[2] = arg2;
temp_a0 = func_8029EC88(sp34, sp20, sp28, 43);
D_802BA05C = &D_8015F9B8[temp_a0];
D_802BA05C = &gActorList[temp_a0];
}
}
@@ -5915,8 +5904,8 @@ void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
s32 i;
D_8015F8DC = 0;
for (i = 0; i < 100; i++) {
phi_s0 = &D_8015F9B8[i];
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
phi_s0 = &gActorList[i];
if (phi_s0->flags == 0) {
continue;
@@ -6003,8 +5992,8 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
}
D_8015F8E0 = 0;
for (i = 0; i < 100; i++) {
phi_s0 = &D_8015F9B8[i];
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
phi_s0 = &gActorList[i];
if (phi_s0->flags == 0) {
continue;
@@ -6124,9 +6113,9 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
void update_simple_objects(void) {
struct Actor *phi_s0;
s32 i;
for (i = 0; i < 100; i++) {
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
phi_s0 = &D_8015F9B8[i];
phi_s0 = &gActorList[i];
if (phi_s0->flags == 0) {
continue;
}
+82 -84
View File
@@ -21,38 +21,36 @@ void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) {
vec3f_copy(arg1->unk60, arg0->unk60);
}
extern struct Actor D_8015F9B8[];
extern struct Actor gActorList[];
void func_802B02B4(struct Actor *arg0, s32 arg1) {
s32 temp_f6;
struct Actor *temp_v0 = &D_8015F9B8[arg0->unk_04];
void func_802B02B4(struct ShellActor *shell, s32 shellType) {
struct TripleShellParent *parent = &gActorList[shell->parentIndex];
temp_v0->unk_04--;
parent->shellsAvailable--;
switch((s16)arg0->unk_08) {
switch((s16)shell->shellId) {
case 0:
temp_v0->velocity[0] = -1.0f;
parent->shellIndices[0] = -1.0f;
break;
case 1:
temp_v0->velocity[1] = -1.0f;
parent->shellIndices[1] = -1.0f;
break;
case 2:
temp_v0->velocity[2] = -1.0f;
parent->shellIndices[2] = -1.0f;
break;
}
arg0->flags = 0x8000; // bitflag
arg0->rot[1] = 0;
arg0->velocity[1] = 3.0f;
arg0->unk_04 = 60;
switch(arg1) {
case 7:
arg0->state = 5;
shell->flags = 0x8000; // bitflag
shell->rotAngle = 0;
shell->velocity[1] = 3.0f;
shell->someTimer = 60;
switch(shellType) {
case ACTOR_GREEN_SHELL:
shell->state = 5;
break;
case 8:
arg0->state = 7;
case ACTOR_RED_SHELL:
shell->state = 7;
break;
}
}
@@ -87,7 +85,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B039C.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_802B039C(void *); // extern
extern ? D_8015F9B8;
extern ? gActorList;
void func_802B0464(s16 arg0) {
s16 temp_s0;
@@ -97,7 +95,7 @@ void func_802B0464(s16 arg0) {
phi_s0 = arg0;
if (arg0 != -1) {
do {
temp_a0 = &D_8015F9B8 + (phi_s0 * 0x70);
temp_a0 = &gActorList + (phi_s0 * 0x70);
func_802B039C(temp_a0);
temp_s0 = temp_a0->unk14;
phi_s0 = temp_s0;
@@ -111,7 +109,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0464.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_802B039C(void *); // extern
extern ? D_8015F9B8;
extern ? gActorList;
void func_802B04E8(s32 arg0, s16 arg1) {
s16 temp_s0;
@@ -121,7 +119,7 @@ void func_802B04E8(s32 arg0, s16 arg1) {
phi_s0 = arg1;
if (arg1 != -1) {
do {
temp_a0 = &D_8015F9B8 + (phi_s0 * 0x70);
temp_a0 = &gActorList + (phi_s0 * 0x70);
func_802B039C(temp_a0);
temp_s0 = temp_a0->unk12;
phi_s0 = temp_s0;
@@ -137,7 +135,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B04E8.s")
? func_800C9060(s32, ?); // extern
? func_802B0464(s16); // extern
? func_802B04E8(void *, s16); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern ? gPlayers;
void func_802B0570(void *arg0) {
@@ -153,7 +151,7 @@ void func_802B0570(void *arg0) {
arg0->unk2 = -0x8000;
arg0->unk_04 = 0x3C;
arg0->unk6 = 5;
temp_v0_2 = (arg0->unk_08 * 0x70) + &D_8015F9B8;
temp_v0_2 = (arg0->unk_08 * 0x70) + &gActorList;
arg0->unk28 = 3.0f;
temp_v0_2->unk12 = -1;
temp_v0_2->unk14 = -1;
@@ -186,35 +184,35 @@ void func_802B0648(struct BananaBunchParent *banana_bunch) {
if (temp_v0 != -1) {
temp_lo = temp_v0 * 0x70;
banana_bunch->bananaIndices[4] = -1;
phi_v1 = D_8015F9B8 + temp_lo;
phi_v1 = gActorList + temp_lo;
goto block_10;
}
temp_v0_2 = banana_bunch->bananaIndices[3];
if (temp_v0_2 != -1) {
temp_lo_2 = temp_v0_2 * 0x70;
banana_bunch->bananaIndices[3] = -1;
phi_v1 = D_8015F9B8 + temp_lo_2;
phi_v1 = gActorList + temp_lo_2;
goto block_10;
}
temp_v0_3 = banana_bunch->bananaIndices[2];
if (temp_v0_3 != -1) {
temp_lo_3 = temp_v0_3 * 0x70;
banana_bunch->bananaIndices[2] = -1;
phi_v1 = D_8015F9B8 + temp_lo_3;
phi_v1 = gActorList + temp_lo_3;
goto block_10;
}
temp_v0_4 = banana_bunch->bananaIndices[1];
if (temp_v0_4 != -1) {
temp_lo_4 = temp_v0_4 * 0x70;
banana_bunch->bananaIndices[1] = -1;
phi_v1 = D_8015F9B8 + temp_lo_4;
phi_v1 = gActorList + temp_lo_4;
goto block_10;
}
temp_v0_5 = banana_bunch->bananaIndices[0];
if (temp_v0_5 != -1) {
temp_lo_5 = temp_v0_5 * 0x70;
banana_bunch->bananaIndices[0] = -1;
phi_v1 = D_8015F9B8 + temp_lo_5;
phi_v1 = gActorList + temp_lo_5;
block_10:
temp_v0_6 = phi_v1->unk12;
phi_v1->unk6 = 1;
@@ -223,7 +221,7 @@ block_10:
phi_v1->unk2C = 0.0f;
phi_v1->unk28 = 1.5f;
if (temp_v0_6 != -1) {
(D_8015F9B8 + (temp_v0_6 * 0x70))->unk14 = -1;
(gActorList + (temp_v0_6 * 0x70))->unk14 = -1;
}
}
}
@@ -261,41 +259,41 @@ void func_802B0788(s16 arg0, struct BananaBunchParent *banana_bunch, Player *pla
if (temp_a3 != -1) {
temp_lo = temp_a3 * 0x70;
banana_bunch->bananaIndices[4] = -1;
phi_v0 = D_8015F9B8 + temp_lo;
phi_v0 = gActorList + temp_lo;
goto block_10;
}
temp_a0 = banana_bunch->bananaIndices[3];
if (temp_a0 != -1) {
temp_lo_2 = temp_a0 * 0x70;
banana_bunch->bananaIndices[3] = -1;
phi_v0 = D_8015F9B8 + temp_lo_2;
phi_v0 = gActorList + temp_lo_2;
goto block_10;
}
temp_a0_2 = banana_bunch->bananaIndices[2];
if (temp_a0_2 != -1) {
temp_lo_3 = temp_a0_2 * 0x70;
banana_bunch->bananaIndices[2] = -1;
phi_v0 = D_8015F9B8 + temp_lo_3;
phi_v0 = gActorList + temp_lo_3;
goto block_10;
}
temp_a0_3 = banana_bunch->bananaIndices[1];
if (temp_a0_3 != -1) {
temp_lo_4 = temp_a0_3 * 0x70;
banana_bunch->bananaIndices[1] = -1;
phi_v0 = D_8015F9B8 + temp_lo_4;
phi_v0 = gActorList + temp_lo_4;
goto block_10;
}
temp_a0_4 = banana_bunch->bananaIndices[0];
if (temp_a0_4 != -1) {
temp_lo_5 = temp_a0_4 * 0x70;
banana_bunch->bananaIndices[0] = -1;
phi_v0 = D_8015F9B8 + temp_lo_5;
phi_v0 = gActorList + temp_lo_5;
block_10:
temp_a1 = phi_v0->unk12;
phi_v0->unk6 = 1;
phi_v0->unk_04 = 0x001E;
if (temp_a1 != -1) {
(D_8015F9B8 + (temp_a1 * 0x70))->unk14 = -1;
(gActorList + (temp_a1 * 0x70))->unk14 = -1;
}
temp_f2 = player->unk_094;
if (temp_f2 < 2.0f) {
@@ -323,7 +321,7 @@ s32 func_802B09C0(s16 bananaId) {
if (bananaId == -1) {
return 0;
}
banana = (struct BananaActor*) &D_8015F9B8[bananaId];
banana = (struct BananaActor*) &gActorList[bananaId];
if (banana->state == 2) {
return 1;
}
@@ -415,15 +413,15 @@ void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
break;
case 5:
banana_bunch->state = 6;
temp_a0 = &D_8015F9B8[banana_bunch->bananaIndices[0]];
temp_a0 = &gActorList[banana_bunch->bananaIndices[0]];
temp_a0->flags |= 0x5000;
temp_a1 = &D_8015F9B8[banana_bunch->bananaIndices[1]];
temp_a1 = &gActorList[banana_bunch->bananaIndices[1]];
temp_a1->flags |= 0x5000;
temp_a2 = &D_8015F9B8[banana_bunch->bananaIndices[2]];
temp_a2 = &gActorList[banana_bunch->bananaIndices[2]];
temp_a2->flags |= 0x5000;
temp_a3_2 = &D_8015F9B8[banana_bunch->bananaIndices[3]];
temp_a3_2 = &gActorList[banana_bunch->bananaIndices[3]];
temp_a3_2->flags |= 0x5000;
temp_t0 = &D_8015F9B8[banana_bunch->bananaIndices[4]];
temp_t0 = &gActorList[banana_bunch->bananaIndices[4]];
temp_t0->flags |= 0x5000;
return;
case 6:
@@ -490,7 +488,7 @@ s32 func_802B0E14(s16 arg0) {
if (arg0 < 0) {
return 0;
}
temp = (struct ShellActor*) &D_8015F9B8[arg0];
temp = (struct ShellActor*) &gActorList[arg0];
if (temp->type == 7) {
if (temp->state == 4) {
return 1;
@@ -612,11 +610,11 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
break;
case 3:
actor->state = 4;
temp_v0_2 = &D_8015F9B8[(s16) (s32) actor->shellIndices[0]];
temp_v0_2 = &gActorList[(s16) (s32) actor->shellIndices[0]];
temp_v0_2->flags |= 0x4000;
temp_v0_3 = &D_8015F9B8[(s16) (s32) actor->shellIndices[1]];
temp_v0_3 = &gActorList[(s16) (s32) actor->shellIndices[1]];
temp_v0_3->flags |= 0x4000;
temp_v0_4 = &D_8015F9B8[(s16) (s32) actor->shellIndices[2]];
temp_v0_4 = &gActorList[(s16) (s32) actor->shellIndices[2]];
temp_v0_4->flags |= 0x4000;
return;
case 4:
@@ -655,7 +653,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
}
if (actor->unk_08 > 0.0f) {
temp_f0 = actor->shellIndices[0];
if ((temp_f0 > 0.0f) && ((temp_v0_6 = &D_8015F9B8[(s16) (s32) temp_f0], temp_v1_2 = temp_v0_6->rotAngle, temp_a0 = &sp38, ((temp_v1_2 < 0x38E) != 0)) || (temp_v1_2 >= -0x38D))) {
if ((temp_f0 > 0.0f) && ((temp_v0_6 = &gActorList[(s16) (s32) temp_f0], temp_v1_2 = temp_v0_6->rotAngle, temp_a0 = &sp38, ((temp_v1_2 < 0x38E) != 0)) || (temp_v1_2 >= -0x38D))) {
temp_v1_3 = &gPlayers[temp_t0];
sp38 = 0.0f;
sp3C = 0.0f;
@@ -681,7 +679,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
return;
}
temp_f0_2 = actor->shellIndices[1];
if ((temp_f0_2 > 0.0f) && ((temp_v0_7 = &D_8015F9B8[(s16) (s32) temp_f0_2], temp_v1_4 = temp_v0_7->rotAngle, ((temp_v1_4 < 0xAA1) != 0)) || (temp_v1_4 >= 0x38F))) {
if ((temp_f0_2 > 0.0f) && ((temp_v0_7 = &gActorList[(s16) (s32) temp_f0_2], temp_v1_4 = temp_v0_7->rotAngle, ((temp_v1_4 < 0xAA1) != 0)) || (temp_v1_4 >= 0x38F))) {
temp_v1_5 = &gPlayers[temp_t0];
sp38 = 0.0f;
sp3C = 0.0f;
@@ -707,7 +705,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
return;
}
temp_f0_3 = actor->shellIndices[2];
if ((temp_f0_3 > 0.0f) && ((temp_v0_8 = &D_8015F9B8[(s16) (s32) temp_f0_3], temp_v1_6 = temp_v0_8->rotAngle, temp_a0_2 = &sp38, ((temp_v1_6 < -0x38E) != 0)) || (temp_v1_6 >= -0x71B))) {
if ((temp_f0_3 > 0.0f) && ((temp_v0_8 = &gActorList[(s16) (s32) temp_f0_3], temp_v1_6 = temp_v0_8->rotAngle, temp_a0_2 = &sp38, ((temp_v1_6 < -0x38E) != 0)) || (temp_v1_6 >= -0x71B))) {
temp_v1_7 = &gPlayers[temp_t0];
sp38 = 0.0f;
sp3C = 0.0f;
@@ -742,7 +740,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_triple_shell.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s16 func_8029EC88(? *, ? *, ? *, ?); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_802B9140;
extern ? D_802B914C;
extern ? D_802B9154;
@@ -766,7 +764,7 @@ s16 func_802B17F4(void *arg0) {
if (temp_v0 < 0) {
return temp_v0;
}
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
temp_v1 = (temp_v0 * 0x70) + &gActorList;
temp_v1->unk6 = 0;
temp_v1->rot = (arg0 - gPlayerOne) / 0xDD8;
arg0->unkC = arg0->unkC | 0x40000;
@@ -779,7 +777,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B17F4.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s16 func_8029EC88(? *, ? *, ? *, s16); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_802B9160;
extern ? D_802B916C;
extern ? D_802B9174;
@@ -803,7 +801,7 @@ s16 func_802B18E4(s32 arg0, s16 arg1) {
if (temp_v0 < 0) {
return temp_v0;
}
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
temp_v1 = (temp_v0 * 0x70) + &gActorList;
temp_v1->unk6 = 0;
temp_v1->rot = 0x5B0;
temp_v1->unk12 = -0x8000;
@@ -860,7 +858,7 @@ s32 func_802B19EC(struct TripleShellParent *arg0, Player *player, s16 arg2, u16
}
temp_t3 = temp_v0 * 7;
sp40 = player->pos[0];
temp_s0 = (temp_t3 * 0x10) + D_8015F9B8;
temp_s0 = (temp_t3 * 0x10) + gActorList;
sp44 = player->pos[1];
sp48 = player->pos[2];
func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->pos, temp_s0->unk1C, temp_s0->unk20, sp40, sp44, sp48);
@@ -877,9 +875,9 @@ s32 func_802B19EC(struct TripleShellParent *arg0, Player *player, s16 arg2, u16
temp_s0->rot = 0;
temp_s0->unk12 = -0x8000;
temp_s0->unk14 = (s16) ((s32) (player - gPlayerOne) / 3544);
temp_s0->unk_04 = (s16) ((s32) (arg0 - D_8015F9B8) / 112);
temp_s0->unk_04 = (s16) ((s32) (arg0 - gActorList) / 112);
temp_s0->unk_08 = (f32) arg3;
arg0->shellIndices[arg3] = (f32) ((s32) (temp_s0 - D_8015F9B8) / 112);
arg0->shellIndices[arg3] = (f32) ((s32) (temp_s0 - gActorList) / 112);
return 1;
}
#else
@@ -892,7 +890,7 @@ s16 func_8029EC88(f32 *, ? *, ? *, ?); // extern
? func_802AD950(void *, f32, s32, s32, f32, f32, f32, f32); // extern
? func_802B4E30(void *); // extern
? func_802B63B8(f32 *, s32); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_802B9194;
extern ? D_802B91A0;
@@ -929,7 +927,7 @@ s16 func_802B1C9C(void *arg0) {
}
temp_t8 = temp_v1 * 7;
sp40 = arg0->unk14;
temp_s0 = (temp_t8 * 0x10) + &D_8015F9B8;
temp_s0 = (temp_t8 * 0x10) + &gActorList;
sp44 = arg0->pos;
sp48 = arg0->unk1C;
sp3E = temp_v1;
@@ -951,7 +949,7 @@ s16 func_8029EC88(f32 *, ? *, ? *, ?); // extern
? func_802AD950(void *, f32, s32, s32, f32, f32, f32, f32); // extern
? func_802B4E30(void *); // extern
? func_802B63B8(f32 *, s32); // extern
extern ? D_8015F9B8;
extern ? gActorList;
extern ? D_802B91A8;
extern ? D_802B91B4;
@@ -988,7 +986,7 @@ s16 func_802B1E48(void *arg0) {
}
temp_t8 = temp_v1 * 7;
sp40 = arg0->unk14;
temp_s0 = (temp_t8 * 0x10) + &D_8015F9B8;
temp_s0 = (temp_t8 * 0x10) + &gActorList;
sp44 = arg0->pos;
sp48 = arg0->unk1C;
sp3E = temp_v1;
@@ -1007,10 +1005,10 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1E48.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_802B1E48(); // extern
extern ? D_8015F9B8;
extern ? gActorList;
void func_802B1FFC(void) {
*(&D_8015F9B8 + (func_802B1E48() * 0x70)) = 0x2A;
*(&gActorList + (func_802B1E48() * 0x70)) = 0x2A;
}
#else
GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1FFC.s")
@@ -1236,7 +1234,7 @@ void update_obj_banana(struct BananaActor *banana) {
func_802B4E30(banana);
return;
case 3:
temp_v0_3 = &D_8015F9B8[banana->elderIndex];
temp_v0_3 = &gActorList[banana->elderIndex];
temp_f2_5 = temp_v0_3->pos[0] - banana->pos[0];
temp_f14_4 = temp_v0_3->pos[1] - banana->pos[1];
sp48 = temp_f2_5;
@@ -1337,14 +1335,14 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
temp_lo = temp_t6 * 0x70;
sp4C = player->pos[0];
sp50 = player->pos[1];
temp_s0 = D_8015F9B8 + temp_lo;
temp_s0 = gActorList + temp_lo;
sp54 = player->pos[2];
sp6E = temp_t6;
func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->pos, temp_s0->unk1C, temp_s0->unk20, sp4C, sp50, sp54);
func_802B4E30(temp_s0);
temp_s0->unk2 = -0x7000;
temp_s0->rot = (s16) ((s32) (player - gPlayerOne) / 3544);
temp_s0->unk_08 = (s16) ((s32) (banana_bunch - D_8015F9B8) / 112);
temp_s0->unk_08 = (s16) ((s32) (banana_bunch - gActorList) / 112);
temp_s0->unk14 = -1;
temp_s0->unk_04 = 0x0014;
temp_s0->unkA = bananaId;
@@ -1358,7 +1356,7 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
temp_s0->unk6 = 3;
banana_bunch->bananaIndices[1] = sp6E;
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[0];
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[0]];
phi_v0 = &gActorList[banana_bunch->bananaIndices[0]];
block_8:
phi_v0->youngerIndex = sp6E;
break;
@@ -1366,19 +1364,19 @@ block_8:
temp_s0->unk6 = 3;
banana_bunch->bananaIndices[2] = sp6E;
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[1];
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[1]];
phi_v0 = &gActorList[banana_bunch->bananaIndices[1]];
goto block_8;
case 3:
temp_s0->unk6 = 3;
banana_bunch->bananaIndices[3] = sp6E;
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[2];
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[2]];
phi_v0 = &gActorList[banana_bunch->bananaIndices[2]];
goto block_8;
case 4:
temp_s0->unk6 = 3;
banana_bunch->bananaIndices[4] = sp6E;
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[3];
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[3]];
phi_v0 = &gActorList[banana_bunch->bananaIndices[3]];
goto block_8;
}
if ((player->unk_000 & 0x4000) != 0) {
@@ -1394,7 +1392,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2914.s")
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s16 func_8029EC88(f32 *, s16 *, f32 *, ?); // extern
? func_802B63B8(f32 *, void *); // extern
extern ? D_8015F9B8;
extern ? gActorList;
s16 func_802B2C40(void *arg0) {
f32 sp40;
@@ -1432,7 +1430,7 @@ s16 func_802B2C40(void *arg0) {
if (temp_v0 < 0) {
return temp_v0;
}
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
temp_v1 = (temp_v0 * 0x70) + &gActorList;
temp_v1->unk6 = 0;
temp_v1->velocity = (arg0 - gPlayerOne) / 0xDD8;
arg0->unkC = arg0->unkC | 0x40000;
@@ -1446,7 +1444,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2C40.s")
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s16 func_8029EC88(f32 *, s16 *, f32 *, ?); // extern
? func_802B63B8(f32 *, void *); // extern
extern ? D_8015F9B8;
extern ? gActorList;
s16 func_802B2D70(void *arg0) {
f32 sp44;
@@ -1491,7 +1489,7 @@ s16 func_802B2D70(void *arg0) {
if (temp_v0 < 0) {
return temp_v0;
}
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
temp_v1 = (temp_v0 * 0x70) + &gActorList;
temp_v1->rot = temp_t0;
temp_v1->unk6 = 0;
temp_v1->unk_04 = 0x14;
@@ -1779,7 +1777,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
shell->velocity[2] = sp74;
func_800C9060(shell->unk15, 0x19008004);
func_800C90F4(shell->unk15, (temp_s1->characterId * 0x10) + 0x29008000);
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
func_8000EDC8((s32) (shell - gActorList) / 112);
return;
}
shell->state = 1;
@@ -1803,7 +1801,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
shell->parentIndex = 0x001E;
func_800C9060(shell->unk15, 0x19008004);
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
func_8000EDC8((s32) (shell - gActorList) / 112);
}
} else {
shell->rotAngle = temp_v0_2 + 0xE38;
@@ -1812,7 +1810,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
shell->parentIndex = 0x001E;
func_800C9060(shell->unk15, 0x19008004);
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
func_8000EDC8((s32) (shell - gActorList) / 112);
}
}
if (shell->state == 2) {
@@ -1869,7 +1867,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
}
break;
case 4:
temp_v0_4 = &D_8015F9B8[shell->parentIndex];
temp_v0_4 = &gActorList[shell->parentIndex];
temp_s1_4 = &gPlayers[shell->playerId];
if (temp_v0_4->type != 0x0015) {
func_8029FDC8((bitwise f32) shell);
@@ -2300,9 +2298,9 @@ block_16:
func_800C9060(shell->unk15, 0x19008004);
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
if (sp56 == 8) {
func_8000ED80((s32) (shell - D_8015F9B8) / 112);
func_8000ED80((s32) (shell - gActorList) / 112);
} else {
func_8000EE10((s32) (shell - D_8015F9B8) / 112);
func_8000EE10((s32) (shell - gActorList) / 112);
func_800C9D80(shell->pos, shell->velocity, 0x51018008);
}
}
@@ -2313,9 +2311,9 @@ block_16:
func_800C9060(shell->unk15, 0x19008004);
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
if (sp56 == 8) {
func_8000ED80((s32) (shell - D_8015F9B8) / 112);
func_8000ED80((s32) (shell - gActorList) / 112);
} else {
func_8000EE10((s32) (shell - D_8015F9B8) / 112);
func_8000EE10((s32) (shell - gActorList) / 112);
func_800C9D80(shell->pos, shell->velocity, 0x51018008);
}
}
@@ -2443,7 +2441,7 @@ block_16:
}
break;
case 6:
temp_v0_7 = &D_8015F9B8[shell->parentIndex];
temp_v0_7 = &gActorList[shell->parentIndex];
temp_s1_5 = &gPlayers[shell->playerId];
if (temp_v0_7->type != 0x0016) {
func_8029FDC8((bitwise f32) shell);