From 55a30f5c8c03fb6a8f5e27ee7af2510106adc283 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Sat, 14 May 2022 22:03:42 -0400 Subject: [PATCH] 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 --- asm/bss_800029B0.s | 10 +- .../code_80005FD0/func_8000ED80.s | 4 +- .../code_80005FD0/func_8000EDC8.s | 4 +- .../code_80005FD0/func_8000EE10.s | 4 +- .../code_80005FD0/func_8000EF20.s | 4 +- .../code_80005FD0/func_80012A48.s | 4 +- .../code_80005FD0/func_800133C4.s | 4 +- .../code_80005FD0/func_80013D20.s | 4 +- .../code_80005FD0/func_8001AC10.s | 52 ++-- .../code_802B0210/func_802B02B4.s | 4 +- .../code_802B0210/func_802B0464.s | 4 +- .../code_802B0210/func_802B04E8.s | 4 +- .../code_802B0210/func_802B0570.s | 4 +- .../code_802B0210/func_802B0648.s | 20 +- .../code_802B0210/func_802B0788.s | 20 +- .../code_802B0210/func_802B17F4.s | 4 +- .../code_802B0210/func_802B18E4.s | 4 +- .../code_802B0210/func_802B19EC.s | 8 +- .../code_802B0210/func_802B1C9C.s | 4 +- .../code_802B0210/func_802B1E48.s | 4 +- .../code_802B0210/func_802B1FFC.s | 4 +- .../code_802B0210/func_802B2914.s | 8 +- .../code_802B0210/func_802B2C40.s | 4 +- .../code_802B0210/func_802B2D70.s | 4 +- .../code_802B0210/update_obj_banana.s | 4 +- .../code_802B0210/update_obj_banana_bunch.s | 4 +- .../code_802B0210/update_obj_green_shell.s | 16 +- .../code_802B0210/update_obj_red_blue_shell.s | 20 +- .../code_802B0210/update_obj_triple_shell.s | 12 +- asm/non_matchings/code_actors/func_80296A50.s | 16 +- asm/non_matchings/code_actors/func_8029ABD4.s | 4 +- asm/non_matchings/code_actors/func_8029D9F8.s | 4 +- asm/non_matchings/code_actors/func_8029DAB8.s | 4 +- asm/non_matchings/code_actors/func_8029DB44.s | 20 +- asm/non_matchings/code_actors/func_8029E890.s | 8 +- asm/non_matchings/code_actors/func_8029EC88.s | 50 ---- asm/non_matchings/code_actors/func_8029FDC8.s | 12 +- .../code_actors/place_all_item_boxes.s | 4 +- .../code_actors/place_falling_rocks.s | 4 +- .../code_actors/place_segment_06.s | 4 +- data/data_credits_128480.s | 2 +- include/actor_types.h | 83 +++++-- src/code_80005FD0.c | 56 ++--- src/code_80296A50.c | 229 +++++++++--------- src/code_802B0210.c | 166 +++++++------ 45 files changed, 440 insertions(+), 472 deletions(-) delete mode 100644 asm/non_matchings/code_actors/func_8029EC88.s diff --git a/asm/bss_800029B0.s b/asm/bss_800029B0.s index 7269b3dbc..21ee41a2b 100644 --- a/asm/bss_800029B0.s +++ b/asm/bss_800029B0.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_8000ED80.s b/asm/non_matchings/code_80005FD0/func_8000ED80.s index 80f8dc985..fee3de640 100644 --- a/asm/non_matchings/code_80005FD0/func_8000ED80.s +++ b/asm/non_matchings/code_80005FD0/func_8000ED80.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_8000EDC8.s b/asm/non_matchings/code_80005FD0/func_8000EDC8.s index 01daba2ad..9aa83c23f 100644 --- a/asm/non_matchings/code_80005FD0/func_8000EDC8.s +++ b/asm/non_matchings/code_80005FD0/func_8000EDC8.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_8000EE10.s b/asm/non_matchings/code_80005FD0/func_8000EE10.s index 9c4f0338b..19726d5d1 100644 --- a/asm/non_matchings/code_80005FD0/func_8000EE10.s +++ b/asm/non_matchings/code_80005FD0/func_8000EE10.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_8000EF20.s b/asm/non_matchings/code_80005FD0/func_8000EF20.s index 1ae253c0e..b2b21df49 100644 --- a/asm/non_matchings/code_80005FD0/func_8000EF20.s +++ b/asm/non_matchings/code_80005FD0/func_8000EF20.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_80012A48.s b/asm/non_matchings/code_80005FD0/func_80012A48.s index 7185c5e66..0cc9af0c5 100644 --- a/asm/non_matchings/code_80005FD0/func_80012A48.s +++ b/asm/non_matchings/code_80005FD0/func_80012A48.s @@ -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) diff --git a/asm/non_matchings/code_80005FD0/func_800133C4.s b/asm/non_matchings/code_80005FD0/func_800133C4.s index 59f8331f1..94f47a4dd 100644 --- a/asm/non_matchings/code_80005FD0/func_800133C4.s +++ b/asm/non_matchings/code_80005FD0/func_800133C4.s @@ -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) diff --git a/asm/non_matchings/code_80005FD0/func_80013D20.s b/asm/non_matchings/code_80005FD0/func_80013D20.s index 26491db4e..c785d01d1 100644 --- a/asm/non_matchings/code_80005FD0/func_80013D20.s +++ b/asm/non_matchings/code_80005FD0/func_80013D20.s @@ -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 diff --git a/asm/non_matchings/code_80005FD0/func_8001AC10.s b/asm/non_matchings/code_80005FD0/func_8001AC10.s index 778154567..9f06b93e0 100644 --- a/asm/non_matchings/code_80005FD0/func_8001AC10.s +++ b/asm/non_matchings/code_80005FD0/func_8001AC10.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B02B4.s b/asm/non_matchings/code_802B0210/func_802B02B4.s index 02a958453..a7a23c1e0 100644 --- a/asm/non_matchings/code_802B0210/func_802B02B4.s +++ b/asm/non_matchings/code_802B0210/func_802B02B4.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B0464.s b/asm/non_matchings/code_802B0210/func_802B0464.s index 48a6b9480..23969bdce 100644 --- a/asm/non_matchings/code_802B0210/func_802B0464.s +++ b/asm/non_matchings/code_802B0210/func_802B0464.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/func_802B04E8.s b/asm/non_matchings/code_802B0210/func_802B04E8.s index fc73c14b1..5a2c7d94c 100644 --- a/asm/non_matchings/code_802B0210/func_802B04E8.s +++ b/asm/non_matchings/code_802B0210/func_802B04E8.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/func_802B0570.s b/asm/non_matchings/code_802B0210/func_802B0570.s index eb659e929..b203510f8 100644 --- a/asm/non_matchings/code_802B0210/func_802B0570.s +++ b/asm/non_matchings/code_802B0210/func_802B0570.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/func_802B0648.s b/asm/non_matchings/code_802B0210/func_802B0648.s index d66f57619..f934ba642 100644 --- a/asm/non_matchings/code_802B0210/func_802B0648.s +++ b/asm/non_matchings/code_802B0210/func_802B0648.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B0788.s b/asm/non_matchings/code_802B0210/func_802B0788.s index aca1bca76..aa400aefa 100644 --- a/asm/non_matchings/code_802B0210/func_802B0788.s +++ b/asm/non_matchings/code_802B0210/func_802B0788.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B17F4.s b/asm/non_matchings/code_802B0210/func_802B17F4.s index 0e6af0ac0..ffd3a73b7 100644 --- a/asm/non_matchings/code_802B0210/func_802B17F4.s +++ b/asm/non_matchings/code_802B0210/func_802B17F4.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/func_802B18E4.s b/asm/non_matchings/code_802B0210/func_802B18E4.s index 2f169e0c3..385b00765 100644 --- a/asm/non_matchings/code_802B0210/func_802B18E4.s +++ b/asm/non_matchings/code_802B0210/func_802B18E4.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B19EC.s b/asm/non_matchings/code_802B0210/func_802B19EC.s index dd6d1f016..56f359b24 100644 --- a/asm/non_matchings/code_802B0210/func_802B19EC.s +++ b/asm/non_matchings/code_802B0210/func_802B19EC.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B1C9C.s b/asm/non_matchings/code_802B0210/func_802B1C9C.s index 67590b59c..826836504 100644 --- a/asm/non_matchings/code_802B0210/func_802B1C9C.s +++ b/asm/non_matchings/code_802B0210/func_802B1C9C.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B1E48.s b/asm/non_matchings/code_802B0210/func_802B1E48.s index 2d1f3f4bf..202de8d30 100644 --- a/asm/non_matchings/code_802B0210/func_802B1E48.s +++ b/asm/non_matchings/code_802B0210/func_802B1E48.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B1FFC.s b/asm/non_matchings/code_802B0210/func_802B1FFC.s index cc4e9256c..423c1b974 100644 --- a/asm/non_matchings/code_802B0210/func_802B1FFC.s +++ b/asm/non_matchings/code_802B0210/func_802B1FFC.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B2914.s b/asm/non_matchings/code_802B0210/func_802B2914.s index 0c23885a8..cf9d418eb 100644 --- a/asm/non_matchings/code_802B0210/func_802B2914.s +++ b/asm/non_matchings/code_802B0210/func_802B2914.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/func_802B2C40.s b/asm/non_matchings/code_802B0210/func_802B2C40.s index 1a4806e5e..877d5484e 100644 --- a/asm/non_matchings/code_802B0210/func_802B2C40.s +++ b/asm/non_matchings/code_802B0210/func_802B2C40.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/func_802B2D70.s b/asm/non_matchings/code_802B0210/func_802B2D70.s index bd2c179e1..237a4d9bd 100644 --- a/asm/non_matchings/code_802B0210/func_802B2D70.s +++ b/asm/non_matchings/code_802B0210/func_802B2D70.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/update_obj_banana.s b/asm/non_matchings/code_802B0210/update_obj_banana.s index adddbfed1..f71256d72 100644 --- a/asm/non_matchings/code_802B0210/update_obj_banana.s +++ b/asm/non_matchings/code_802B0210/update_obj_banana.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s b/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s index 424bfb45f..d795a6ecc 100644 --- a/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s +++ b/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s @@ -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 diff --git a/asm/non_matchings/code_802B0210/update_obj_green_shell.s b/asm/non_matchings/code_802B0210/update_obj_green_shell.s index fef9db444..538131405 100644 --- a/asm/non_matchings/code_802B0210/update_obj_green_shell.s +++ b/asm/non_matchings/code_802B0210/update_obj_green_shell.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s b/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s index d24c10eb5..7ee60a568 100644 --- a/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s +++ b/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s @@ -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) diff --git a/asm/non_matchings/code_802B0210/update_obj_triple_shell.s b/asm/non_matchings/code_802B0210/update_obj_triple_shell.s index 8e2826ab3..e93868bf0 100644 --- a/asm/non_matchings/code_802B0210/update_obj_triple_shell.s +++ b/asm/non_matchings/code_802B0210/update_obj_triple_shell.s @@ -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 diff --git a/asm/non_matchings/code_actors/func_80296A50.s b/asm/non_matchings/code_actors/func_80296A50.s index b037793c3..045af49fb 100644 --- a/asm/non_matchings/code_actors/func_80296A50.s +++ b/asm/non_matchings/code_actors/func_80296A50.s @@ -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: diff --git a/asm/non_matchings/code_actors/func_8029ABD4.s b/asm/non_matchings/code_actors/func_8029ABD4.s index 05e93bcf4..4d759ef2e 100644 --- a/asm/non_matchings/code_actors/func_8029ABD4.s +++ b/asm/non_matchings/code_actors/func_8029ABD4.s @@ -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) diff --git a/asm/non_matchings/code_actors/func_8029D9F8.s b/asm/non_matchings/code_actors/func_8029D9F8.s index b99bcbb64..987e49983 100644 --- a/asm/non_matchings/code_actors/func_8029D9F8.s +++ b/asm/non_matchings/code_actors/func_8029D9F8.s @@ -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 diff --git a/asm/non_matchings/code_actors/func_8029DAB8.s b/asm/non_matchings/code_actors/func_8029DAB8.s index af6054967..fcda29105 100644 --- a/asm/non_matchings/code_actors/func_8029DAB8.s +++ b/asm/non_matchings/code_actors/func_8029DAB8.s @@ -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) diff --git a/asm/non_matchings/code_actors/func_8029DB44.s b/asm/non_matchings/code_actors/func_8029DB44.s index cf1d49952..f4072fa96 100644 --- a/asm/non_matchings/code_actors/func_8029DB44.s +++ b/asm/non_matchings/code_actors/func_8029DB44.s @@ -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 diff --git a/asm/non_matchings/code_actors/func_8029E890.s b/asm/non_matchings/code_actors/func_8029E890.s index 23a962db9..c98a0d729 100644 --- a/asm/non_matchings/code_actors/func_8029E890.s +++ b/asm/non_matchings/code_actors/func_8029E890.s @@ -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: diff --git a/asm/non_matchings/code_actors/func_8029EC88.s b/asm/non_matchings/code_actors/func_8029EC88.s deleted file mode 100644 index 637a49934..000000000 --- a/asm/non_matchings/code_actors/func_8029EC88.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_actors/func_8029FDC8.s b/asm/non_matchings/code_actors/func_8029FDC8.s index c21f01459..0bc913661 100644 --- a/asm/non_matchings/code_actors/func_8029FDC8.s +++ b/asm/non_matchings/code_actors/func_8029FDC8.s @@ -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 diff --git a/asm/non_matchings/code_actors/place_all_item_boxes.s b/asm/non_matchings/code_actors/place_all_item_boxes.s index 20b63b81f..e5cfb5e9d 100644 --- a/asm/non_matchings/code_actors/place_all_item_boxes.s +++ b/asm/non_matchings/code_actors/place_all_item_boxes.s @@ -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 diff --git a/asm/non_matchings/code_actors/place_falling_rocks.s b/asm/non_matchings/code_actors/place_falling_rocks.s index 1a257ed51..c7419d561 100644 --- a/asm/non_matchings/code_actors/place_falling_rocks.s +++ b/asm/non_matchings/code_actors/place_falling_rocks.s @@ -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 diff --git a/asm/non_matchings/code_actors/place_segment_06.s b/asm/non_matchings/code_actors/place_segment_06.s index 76a61dc75..e500f02aa 100644 --- a/asm/non_matchings/code_actors/place_segment_06.s +++ b/asm/non_matchings/code_actors/place_segment_06.s @@ -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 diff --git a/data/data_credits_128480.s b/data/data_credits_128480.s index ebe9840ce..57013e03b 100644 --- a/data/data_credits_128480.s +++ b/data/data_credits_128480.s @@ -59,7 +59,7 @@ glabel D_80284E94 .word 0x00000000 glabel D_80284ED0 -.word 0x01020304, 0x05060700, +.word 0x01020304, 0x05060700 #.word 0x00000000 # padding diff --git a/include/actor_types.h b/include/actor_types.h index 2a4bfab7e..0d6186f0c 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -2,8 +2,32 @@ #include #include -// 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 diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 96900e58c..c02eb54f9 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -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) { diff --git a/src/code_80296A50.c b/src/code_80296A50.c index ff64eacc1..f7983a868 100644 --- a/src/code_80296A50.c +++ b/src/code_80296A50.c @@ -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; } diff --git a/src/code_802B0210.c b/src/code_802B0210.c index 21a1f6905..36b4592a4 100644 --- a/src/code_802B0210.c +++ b/src/code_802B0210.c @@ -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);