functions in tik (#686)

* functions in tik

* Fixed suggestions and a few more functions completed

* quick fixes

* EncounterStatus

* Fixed current issues
This commit is contained in:
theRealBatman189 2022-04-11 14:26:28 -04:00 committed by GitHub
parent 2b28074f94
commit 9cb873b1c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 179 additions and 489 deletions

View File

@ -1,3 +1,12 @@
#include "tik_01.h"
INCLUDE_ASM(s32, "world/area_tik/tik_01/869EE0", func_80240A30_869EE0);
extern s16 D_80242B7E_86C02E[0][2];
ApiStatus func_80240A30_869EE0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Enemy* enemy = script->owner1.enemy;
s32 index = evt_get_variable(script, *args++);
gCurrentEncounter.encounterList[enemy->encounterIndex]->battle = D_80242B7E_86C02E[index][0];
return ApiStatus_DONE2;
}

View File

@ -2,4 +2,13 @@
#include "world/common/UnkPosFunc2.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_02/86CD10", func_80240940_86D080);
extern s16 D_80241BAE_86E2EE[0][2]; // length unk
ApiStatus func_80240940_86D080(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Enemy* enemy = script->owner1.enemy;
s32 index = evt_get_variable(script, *args++);
gCurrentEncounter.encounterList[enemy->encounterIndex]->battle = D_80241BAE_86E2EE[index][0];
return ApiStatus_DONE2;
}

View File

@ -2,8 +2,53 @@
#include "world/common/UnkPosFunc2.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_03/86F0F0", func_80240960_86F460);
void partner_set_goal_pos(s32, s32);
extern s32 D_80242EBC_8719BC;
extern Npc* wPartnerNpc;
extern s32 D_80242930_871430[4];
INCLUDE_ASM(s32, "world/area_tik/tik_03/86F0F0", func_802409C0_86F4C0);
ApiStatus func_80240960_86F460(Evt* script, s32 isInitialCall) {
PlayerStatus* player = &gPlayerStatus;
u32 i;
INCLUDE_ASM(s32, "world/area_tik/tik_03/86F0F0", func_802409E0_86F4E0);
for (i = 0; i < ARRAY_COUNT(D_80242930_871430); i++) {
if (gCollisionStatus.currentFloor != D_80242930_871430[i]) {
continue;
}
if ((player->actionState == ACTION_STATE_GROUND_POUND) || (player->actionState == ACTION_STATE_ULTRA_POUND)) {
return ApiStatus_BLOCK;
}
}
return ApiStatus_DONE2;
}
ApiStatus func_802409C0_86F4C0(Evt* script, s32 isInitialCall) {
func_800EF300();
return ApiStatus_DONE2;
}
ApiStatus func_802409E0_86F4E0(Evt* script, s32 isInitialCall) {
PlayerStatus* player = &gPlayerStatus;
switch (D_80242EBC_8719BC) {
case 0:
D_80242EBC_8719BC = 1;
return ApiStatus_BLOCK;
case 1:
case 2:
D_80242EBC_8719BC++;
return ApiStatus_BLOCK;
case 3:
partner_clear_player_tracking(wPartnerNpc);
partner_set_goal_pos(player->position.x, player->position.z);
func_800EF3D4(0);
wPartnerNpc->yaw = 270.0f;
gPlayerStatus.targetYaw = 270.0f;
gPlayerStatus.currentYaw = 270.0f;
gPlayerStatus.spriteFacingAngle = 180.0f;
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}

View File

@ -2,10 +2,70 @@
#include "world/common/UnkPosFunc2.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_04/872020", func_80240960_872390);
ApiStatus func_80240960_872390(Evt* script, s32 isInitialCall) {
Model* model1;
Model* model2;
INCLUDE_ASM(s32, "world/area_tik/tik_04/872020", func_80240A00_872430);
model1 = get_model_from_list_index(get_model_list_index_from_tree_index(0x12));
script->array[0] = create_shadow_type(1, model1->center.x, model1->center.y - 100.0f, model1->center.z);
model2 = get_model_from_list_index(get_model_list_index_from_tree_index(0x14));
script->array[1] = create_shadow_type(1, model2->center.x, model2->center.y - 100.0f, model2->center.z);
return ApiStatus_DONE2;
}
ApiStatus func_80240A00_872430(Evt* script, s32 isInitialCall) {
Model* model;
Shadow* shadow;
f32 x, y, z;
f32 hitYaw, hitPitch, hitLength;
shadow = get_shadow_by_index(script->array[0]);
model = get_model_from_list_index(get_model_list_index_from_tree_index(0x12));
x = model->center.x;
y = model->center.y;
z = model->center.z;
hitLength = 1000.0f;
entity_raycast_down(&x, &y, &z, &hitYaw, &hitPitch, &hitLength);
set_standard_shadow_scale(shadow, hitLength);
shadow->position.x = x;
shadow->position.y = y;
shadow->position.z = z;
shadow->rotation.x = hitYaw;
shadow->rotation.y = 0.0f;
shadow->rotation.z = hitPitch;
shadow->scale.x *= 4.5f;
shadow->scale.z *= 4.5f;
shadow = get_shadow_by_index(script->array[1]);
model = get_model_from_list_index(get_model_list_index_from_tree_index(0x14));
x = model->center.x;
y = model->center.y;
z = model->center.z;
hitLength = 1000.0f;
entity_raycast_down(&x, &y, &z, &hitYaw, &hitPitch, &hitLength);
set_standard_shadow_scale(shadow, hitLength);
shadow->position.x = x;
shadow->position.y = y;
shadow->position.z = z;
shadow->rotation.x = hitYaw;
shadow->rotation.y = 0.0f;
shadow->rotation.z = hitPitch;
shadow->scale.x *= 4.5f;
shadow->scale.z *= 4.5f;
return ApiStatus_DONE2;
}
#include "world/common/GetFloorCollider.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_04/872020", func_80240C20_872650);
ApiStatus func_80240C20_872650(Evt* script, s32 isInitialCall) {
PlayerStatus* player = &gPlayerStatus;
if ((gCollisionStatus.currentFloor == 9) || (gCollisionStatus.currentFloor == 0xB)) {
if ((player->actionState == ACTION_STATE_GROUND_POUND) || (player->actionState == ACTION_STATE_ULTRA_POUND)) {
return ApiStatus_BLOCK;
}
}
return ApiStatus_DONE2;
}

View File

@ -2,7 +2,23 @@
#include "world/common/UnkPosFunc2.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_07/87AC00", func_80241390_87AF70);
extern s32 D_802449B0_87E590[4];
ApiStatus func_80241390_87AF70(Evt* script, s32 isInitialCall) {
PlayerStatus* player = &gPlayerStatus;
u32 i;
for (i = 0; i < ARRAY_COUNT(D_802449B0_87E590); i++) {
if (gCollisionStatus.currentFloor != D_802449B0_87E590[i]) {
continue;
}
if ((player->actionState == ACTION_STATE_GROUND_POUND) || (player->actionState == ACTION_STATE_ULTRA_POUND)) {
return ApiStatus_BLOCK;
}
}
return ApiStatus_DONE2;
}
#include "world/common/UnkNpcAIFunc23.inc.c"

View File

@ -2,4 +2,13 @@
#include "world/common/GetFloorCollider.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_08/87F820", func_80240A5C_87F84C);
extern s16 D_80242C0E_8819FE[0][2];
ApiStatus func_80240A5C_87F84C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Enemy* enemy = script->owner1.enemy;
s32 index = evt_get_variable(script, *args++);
gCurrentEncounter.encounterList[enemy->encounterIndex]->battle = D_80242C0E_8819FE[index][0];
return ApiStatus_DONE2;
}

View File

@ -10,4 +10,24 @@
#include "world/common/UnkNpcAIMainFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_tik/tik_09/882BF0", func_80241204_8833C4);
ApiStatus func_80241204_8833C4(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EncounterStatus* encounterStatus = &gCurrentEncounter;
s32 enemyCount = 0;
s32 i, j;
for (i = 0; i < encounterStatus->numEncounters; i++) {
Encounter* temp = encounterStatus->encounterList[i];
if (temp == NULL) {
continue;
}
for (j = 0; j < temp->count; j++) {
if (temp->enemy[j] != NULL) {
enemyCount++;
}
}
}
evt_set_variable(script, *args++, enemyCount);
return ApiStatus_DONE2;
}

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A30_869EE0
/* 869EE0 80240A30 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 869EE4 80240A34 AFBF0014 */ sw $ra, 0x14($sp)
/* 869EE8 80240A38 AFB00010 */ sw $s0, 0x10($sp)
/* 869EEC 80240A3C 8C82000C */ lw $v0, 0xc($a0)
/* 869EF0 80240A40 8C450000 */ lw $a1, ($v0)
/* 869EF4 80240A44 0C0B1EAF */ jal evt_get_variable
/* 869EF8 80240A48 8C900148 */ lw $s0, 0x148($a0)
/* 869EFC 80240A4C 82030004 */ lb $v1, 4($s0)
/* 869F00 80240A50 00021080 */ sll $v0, $v0, 2
/* 869F04 80240A54 00031880 */ sll $v1, $v1, 2
/* 869F08 80240A58 3C04800B */ lui $a0, %hi(gCurrentEncounter+0x28)
/* 869F0C 80240A5C 00832021 */ addu $a0, $a0, $v1
/* 869F10 80240A60 8C840F38 */ lw $a0, %lo(gCurrentEncounter+0x28)($a0)
/* 869F14 80240A64 3C038024 */ lui $v1, %hi(D_80242B7E_86C02E)
/* 869F18 80240A68 00621821 */ addu $v1, $v1, $v0
/* 869F1C 80240A6C 94632B7E */ lhu $v1, %lo(D_80242B7E_86C02E)($v1)
/* 869F20 80240A70 A4830044 */ sh $v1, 0x44($a0)
/* 869F24 80240A74 8FBF0014 */ lw $ra, 0x14($sp)
/* 869F28 80240A78 8FB00010 */ lw $s0, 0x10($sp)
/* 869F2C 80240A7C 24020002 */ addiu $v0, $zero, 2
/* 869F30 80240A80 03E00008 */ jr $ra
/* 869F34 80240A84 27BD0018 */ addiu $sp, $sp, 0x18
/* 869F38 80240A88 00000000 */ nop
/* 869F3C 80240A8C 00000000 */ nop

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240940_86D080
/* 86D080 80240940 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 86D084 80240944 AFBF0014 */ sw $ra, 0x14($sp)
/* 86D088 80240948 AFB00010 */ sw $s0, 0x10($sp)
/* 86D08C 8024094C 8C82000C */ lw $v0, 0xc($a0)
/* 86D090 80240950 8C450000 */ lw $a1, ($v0)
/* 86D094 80240954 0C0B1EAF */ jal evt_get_variable
/* 86D098 80240958 8C900148 */ lw $s0, 0x148($a0)
/* 86D09C 8024095C 82030004 */ lb $v1, 4($s0)
/* 86D0A0 80240960 00021080 */ sll $v0, $v0, 2
/* 86D0A4 80240964 00031880 */ sll $v1, $v1, 2
/* 86D0A8 80240968 3C04800B */ lui $a0, %hi(gCurrentEncounter+0x28)
/* 86D0AC 8024096C 00832021 */ addu $a0, $a0, $v1
/* 86D0B0 80240970 8C840F38 */ lw $a0, %lo(gCurrentEncounter+0x28)($a0)
/* 86D0B4 80240974 3C038024 */ lui $v1, %hi(D_80241BAE_86E2EE)
/* 86D0B8 80240978 00621821 */ addu $v1, $v1, $v0
/* 86D0BC 8024097C 94631BAE */ lhu $v1, %lo(D_80241BAE_86E2EE)($v1)
/* 86D0C0 80240980 A4830044 */ sh $v1, 0x44($a0)
/* 86D0C4 80240984 8FBF0014 */ lw $ra, 0x14($sp)
/* 86D0C8 80240988 8FB00010 */ lw $s0, 0x10($sp)
/* 86D0CC 8024098C 24020002 */ addiu $v0, $zero, 2
/* 86D0D0 80240990 03E00008 */ jr $ra
/* 86D0D4 80240994 27BD0018 */ addiu $sp, $sp, 0x18
/* 86D0D8 80240998 00000000 */ nop
/* 86D0DC 8024099C 00000000 */ nop

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240960_86F460
/* 86F460 80240960 3C088011 */ lui $t0, %hi(gPlayerStatus)
/* 86F464 80240964 2508EFC8 */ addiu $t0, $t0, %lo(gPlayerStatus)
/* 86F468 80240968 0000202D */ daddu $a0, $zero, $zero
/* 86F46C 8024096C 3C058016 */ lui $a1, %hi(gCollisionStatus+0x2)
/* 86F470 80240970 84A5A552 */ lh $a1, %lo(gCollisionStatus+0x2)($a1)
/* 86F474 80240974 2407000E */ addiu $a3, $zero, 0xe
/* 86F478 80240978 24060010 */ addiu $a2, $zero, 0x10
/* 86F47C 8024097C 3C038024 */ lui $v1, %hi(D_80242930_871430)
/* 86F480 80240980 24632930 */ addiu $v1, $v1, %lo(D_80242930_871430)
.L80240984:
/* 86F484 80240984 8C620000 */ lw $v0, ($v1)
/* 86F488 80240988 54A20008 */ bnel $a1, $v0, .L802409AC
/* 86F48C 8024098C 24840001 */ addiu $a0, $a0, 1
/* 86F490 80240990 810200B4 */ lb $v0, 0xb4($t0)
/* 86F494 80240994 10470003 */ beq $v0, $a3, .L802409A4
/* 86F498 80240998 00000000 */ nop
/* 86F49C 8024099C 14460003 */ bne $v0, $a2, .L802409AC
/* 86F4A0 802409A0 24840001 */ addiu $a0, $a0, 1
.L802409A4:
/* 86F4A4 802409A4 03E00008 */ jr $ra
/* 86F4A8 802409A8 0000102D */ daddu $v0, $zero, $zero
.L802409AC:
/* 86F4AC 802409AC 2C820004 */ sltiu $v0, $a0, 4
/* 86F4B0 802409B0 1440FFF4 */ bnez $v0, .L80240984
/* 86F4B4 802409B4 24630004 */ addiu $v1, $v1, 4
/* 86F4B8 802409B8 03E00008 */ jr $ra
/* 86F4BC 802409BC 24020002 */ addiu $v0, $zero, 2

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802409C0_86F4C0
/* 86F4C0 802409C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 86F4C4 802409C4 AFBF0010 */ sw $ra, 0x10($sp)
/* 86F4C8 802409C8 0C03BCC0 */ jal func_800EF300
/* 86F4CC 802409CC 00000000 */ nop
/* 86F4D0 802409D0 8FBF0010 */ lw $ra, 0x10($sp)
/* 86F4D4 802409D4 24020002 */ addiu $v0, $zero, 2
/* 86F4D8 802409D8 03E00008 */ jr $ra
/* 86F4DC 802409DC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,70 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802409E0_86F4E0
/* 86F4E0 802409E0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 86F4E4 802409E4 3C048024 */ lui $a0, %hi(D_80242EBC_8719BC)
/* 86F4E8 802409E8 24842EBC */ addiu $a0, $a0, %lo(D_80242EBC_8719BC)
/* 86F4EC 802409EC AFBF0018 */ sw $ra, 0x18($sp)
/* 86F4F0 802409F0 AFB10014 */ sw $s1, 0x14($sp)
/* 86F4F4 802409F4 AFB00010 */ sw $s0, 0x10($sp)
/* 86F4F8 802409F8 8C830000 */ lw $v1, ($a0)
/* 86F4FC 802409FC 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* 86F500 80240A00 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* 86F504 80240A04 28620003 */ slti $v0, $v1, 3
/* 86F508 80240A08 50400007 */ beql $v0, $zero, .L80240A28
/* 86F50C 80240A0C 24020003 */ addiu $v0, $zero, 3
/* 86F510 80240A10 1C60000C */ bgtz $v1, .L80240A44
/* 86F514 80240A14 24620001 */ addiu $v0, $v1, 1
/* 86F518 80240A18 10600007 */ beqz $v1, .L80240A38
/* 86F51C 80240A1C 0000102D */ daddu $v0, $zero, $zero
/* 86F520 80240A20 080902AD */ j .L80240AB4
/* 86F524 80240A24 00000000 */ nop
.L80240A28:
/* 86F528 80240A28 10620008 */ beq $v1, $v0, .L80240A4C
/* 86F52C 80240A2C 0000102D */ daddu $v0, $zero, $zero
/* 86F530 80240A30 080902AD */ j .L80240AB4
/* 86F534 80240A34 00000000 */ nop
.L80240A38:
/* 86F538 80240A38 24020001 */ addiu $v0, $zero, 1
/* 86F53C 80240A3C 080902AC */ j .L80240AB0
/* 86F540 80240A40 AC820000 */ sw $v0, ($a0)
.L80240A44:
/* 86F544 80240A44 080902AC */ j .L80240AB0
/* 86F548 80240A48 AC820000 */ sw $v0, ($a0)
.L80240A4C:
/* 86F54C 80240A4C 3C108011 */ lui $s0, %hi(wPartnerNpc)
/* 86F550 80240A50 2610C930 */ addiu $s0, $s0, %lo(wPartnerNpc)
/* 86F554 80240A54 0C03BD17 */ jal partner_clear_player_tracking
/* 86F558 80240A58 8E040000 */ lw $a0, ($s0)
/* 86F55C 80240A5C C6200028 */ lwc1 $f0, 0x28($s1)
/* 86F560 80240A60 C6220030 */ lwc1 $f2, 0x30($s1)
/* 86F564 80240A64 4600010D */ trunc.w.s $f4, $f0
/* 86F568 80240A68 44042000 */ mfc1 $a0, $f4
/* 86F56C 80240A6C 4600110D */ trunc.w.s $f4, $f2
/* 86F570 80240A70 44052000 */ mfc1 $a1, $f4
/* 86F574 80240A74 0C03BCF0 */ jal partner_set_goal_pos
/* 86F578 80240A78 00000000 */ nop
/* 86F57C 80240A7C 0C03BCF5 */ jal func_800EF3D4
/* 86F580 80240A80 0000202D */ daddu $a0, $zero, $zero
/* 86F584 80240A84 8E030000 */ lw $v1, ($s0)
/* 86F588 80240A88 3C014387 */ lui $at, 0x4387
/* 86F58C 80240A8C 44810000 */ mtc1 $at, $f0
/* 86F590 80240A90 3C014334 */ lui $at, 0x4334
/* 86F594 80240A94 44811000 */ mtc1 $at, $f2
/* 86F598 80240A98 24020002 */ addiu $v0, $zero, 2
/* 86F59C 80240A9C E460000C */ swc1 $f0, 0xc($v1)
/* 86F5A0 80240AA0 E6200080 */ swc1 $f0, 0x80($s1)
/* 86F5A4 80240AA4 E6200084 */ swc1 $f0, 0x84($s1)
/* 86F5A8 80240AA8 080902AD */ j .L80240AB4
/* 86F5AC 80240AAC E62200A8 */ swc1 $f2, 0xa8($s1)
.L80240AB0:
/* 86F5B0 80240AB0 0000102D */ daddu $v0, $zero, $zero
.L80240AB4:
/* 86F5B4 80240AB4 8FBF0018 */ lw $ra, 0x18($sp)
/* 86F5B8 80240AB8 8FB10014 */ lw $s1, 0x14($sp)
/* 86F5BC 80240ABC 8FB00010 */ lw $s0, 0x10($sp)
/* 86F5C0 80240AC0 03E00008 */ jr $ra
/* 86F5C4 80240AC4 27BD0020 */ addiu $sp, $sp, 0x20
/* 86F5C8 80240AC8 00000000 */ nop
/* 86F5CC 80240ACC 00000000 */ nop

View File

@ -1,44 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240960_872390
/* 872390 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 872394 80240964 AFB00010 */ sw $s0, 0x10($sp)
/* 872398 80240968 0080802D */ daddu $s0, $a0, $zero
/* 87239C 8024096C AFBF0014 */ sw $ra, 0x14($sp)
/* 8723A0 80240970 F7B40018 */ sdc1 $f20, 0x18($sp)
/* 8723A4 80240974 0C046C04 */ jal get_model_list_index_from_tree_index
/* 8723A8 80240978 24040012 */ addiu $a0, $zero, 0x12
/* 8723AC 8024097C 0C046B4C */ jal get_model_from_list_index
/* 8723B0 80240980 0040202D */ daddu $a0, $v0, $zero
/* 8723B4 80240984 C440009C */ lwc1 $f0, 0x9c($v0)
/* 8723B8 80240988 3C0142C8 */ lui $at, 0x42c8
/* 8723BC 8024098C 4481A000 */ mtc1 $at, $f20
/* 8723C0 80240990 00000000 */ nop
/* 8723C4 80240994 46140001 */ sub.s $f0, $f0, $f20
/* 8723C8 80240998 8C450098 */ lw $a1, 0x98($v0)
/* 8723CC 8024099C 8C4700A0 */ lw $a3, 0xa0($v0)
/* 8723D0 802409A0 44060000 */ mfc1 $a2, $f0
/* 8723D4 802409A4 0C044898 */ jal create_shadow_type
/* 8723D8 802409A8 24040001 */ addiu $a0, $zero, 1
/* 8723DC 802409AC 8E03013C */ lw $v1, 0x13c($s0)
/* 8723E0 802409B0 24040014 */ addiu $a0, $zero, 0x14
/* 8723E4 802409B4 0C046C04 */ jal get_model_list_index_from_tree_index
/* 8723E8 802409B8 AC620000 */ sw $v0, ($v1)
/* 8723EC 802409BC 0C046B4C */ jal get_model_from_list_index
/* 8723F0 802409C0 0040202D */ daddu $a0, $v0, $zero
/* 8723F4 802409C4 C440009C */ lwc1 $f0, 0x9c($v0)
/* 8723F8 802409C8 46140001 */ sub.s $f0, $f0, $f20
/* 8723FC 802409CC 8C450098 */ lw $a1, 0x98($v0)
/* 872400 802409D0 8C4700A0 */ lw $a3, 0xa0($v0)
/* 872404 802409D4 44060000 */ mfc1 $a2, $f0
/* 872408 802409D8 0C044898 */ jal create_shadow_type
/* 87240C 802409DC 24040001 */ addiu $a0, $zero, 1
/* 872410 802409E0 8E03013C */ lw $v1, 0x13c($s0)
/* 872414 802409E4 AC620004 */ sw $v0, 4($v1)
/* 872418 802409E8 8FBF0014 */ lw $ra, 0x14($sp)
/* 87241C 802409EC 8FB00010 */ lw $s0, 0x10($sp)
/* 872420 802409F0 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 872424 802409F4 24020002 */ addiu $v0, $zero, 2
/* 872428 802409F8 03E00008 */ jr $ra
/* 87242C 802409FC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,129 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A00_872430
/* 872430 80240A00 27BDFF98 */ addiu $sp, $sp, -0x68
/* 872434 80240A04 AFB60048 */ sw $s6, 0x48($sp)
/* 872438 80240A08 0080B02D */ daddu $s6, $a0, $zero
/* 87243C 80240A0C AFBF0050 */ sw $ra, 0x50($sp)
/* 872440 80240A10 AFB7004C */ sw $s7, 0x4c($sp)
/* 872444 80240A14 AFB50044 */ sw $s5, 0x44($sp)
/* 872448 80240A18 AFB40040 */ sw $s4, 0x40($sp)
/* 87244C 80240A1C AFB3003C */ sw $s3, 0x3c($sp)
/* 872450 80240A20 AFB20038 */ sw $s2, 0x38($sp)
/* 872454 80240A24 AFB10034 */ sw $s1, 0x34($sp)
/* 872458 80240A28 AFB00030 */ sw $s0, 0x30($sp)
/* 87245C 80240A2C F7B60060 */ sdc1 $f22, 0x60($sp)
/* 872460 80240A30 F7B40058 */ sdc1 $f20, 0x58($sp)
/* 872464 80240A34 8EC2013C */ lw $v0, 0x13c($s6)
/* 872468 80240A38 0C044181 */ jal get_shadow_by_index
/* 87246C 80240A3C 8C440000 */ lw $a0, ($v0)
/* 872470 80240A40 0040B82D */ daddu $s7, $v0, $zero
/* 872474 80240A44 0C046C04 */ jal get_model_list_index_from_tree_index
/* 872478 80240A48 24040012 */ addiu $a0, $zero, 0x12
/* 87247C 80240A4C 0C046B4C */ jal get_model_from_list_index
/* 872480 80240A50 0040202D */ daddu $a0, $v0, $zero
/* 872484 80240A54 27B40018 */ addiu $s4, $sp, 0x18
/* 872488 80240A58 0280202D */ daddu $a0, $s4, $zero
/* 87248C 80240A5C 27B3001C */ addiu $s3, $sp, 0x1c
/* 872490 80240A60 0260282D */ daddu $a1, $s3, $zero
/* 872494 80240A64 27B20020 */ addiu $s2, $sp, 0x20
/* 872498 80240A68 0240302D */ daddu $a2, $s2, $zero
/* 87249C 80240A6C 27B50024 */ addiu $s5, $sp, 0x24
/* 8724A0 80240A70 02A0382D */ daddu $a3, $s5, $zero
/* 8724A4 80240A74 27B10028 */ addiu $s1, $sp, 0x28
/* 8724A8 80240A78 C4400098 */ lwc1 $f0, 0x98($v0)
/* 8724AC 80240A7C C442009C */ lwc1 $f2, 0x9c($v0)
/* 8724B0 80240A80 C44400A0 */ lwc1 $f4, 0xa0($v0)
/* 8724B4 80240A84 3C01447A */ lui $at, 0x447a
/* 8724B8 80240A88 4481B000 */ mtc1 $at, $f22
/* 8724BC 80240A8C 27B0002C */ addiu $s0, $sp, 0x2c
/* 8724C0 80240A90 E7B6002C */ swc1 $f22, 0x2c($sp)
/* 8724C4 80240A94 E7A00018 */ swc1 $f0, 0x18($sp)
/* 8724C8 80240A98 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 8724CC 80240A9C E7A40020 */ swc1 $f4, 0x20($sp)
/* 8724D0 80240AA0 AFB10010 */ sw $s1, 0x10($sp)
/* 8724D4 80240AA4 0C04497A */ jal entity_raycast_down
/* 8724D8 80240AA8 AFB00014 */ sw $s0, 0x14($sp)
/* 8724DC 80240AAC 8FA5002C */ lw $a1, 0x2c($sp)
/* 8724E0 80240AB0 0C044A17 */ jal set_standard_shadow_scale
/* 8724E4 80240AB4 02E0202D */ daddu $a0, $s7, $zero
/* 8724E8 80240AB8 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 8724EC 80240ABC C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 8724F0 80240AC0 C6E2001C */ lwc1 $f2, 0x1c($s7)
/* 8724F4 80240AC4 3C014090 */ lui $at, 0x4090
/* 8724F8 80240AC8 4481A000 */ mtc1 $at, $f20
/* 8724FC 80240ACC AEE0002C */ sw $zero, 0x2c($s7)
/* 872500 80240AD0 46141082 */ mul.s $f2, $f2, $f20
/* 872504 80240AD4 00000000 */ nop
/* 872508 80240AD8 E6E00010 */ swc1 $f0, 0x10($s7)
/* 87250C 80240ADC E6E40014 */ swc1 $f4, 0x14($s7)
/* 872510 80240AE0 C7A60020 */ lwc1 $f6, 0x20($sp)
/* 872514 80240AE4 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 872518 80240AE8 C6E00024 */ lwc1 $f0, 0x24($s7)
/* 87251C 80240AEC C7A40028 */ lwc1 $f4, 0x28($sp)
/* 872520 80240AF0 46140002 */ mul.s $f0, $f0, $f20
/* 872524 80240AF4 00000000 */ nop
/* 872528 80240AF8 E6E60018 */ swc1 $f6, 0x18($s7)
/* 87252C 80240AFC E6E80028 */ swc1 $f8, 0x28($s7)
/* 872530 80240B00 E6E40030 */ swc1 $f4, 0x30($s7)
/* 872534 80240B04 E6E2001C */ swc1 $f2, 0x1c($s7)
/* 872538 80240B08 E6E00024 */ swc1 $f0, 0x24($s7)
/* 87253C 80240B0C 8EC2013C */ lw $v0, 0x13c($s6)
/* 872540 80240B10 0C044181 */ jal get_shadow_by_index
/* 872544 80240B14 8C440004 */ lw $a0, 4($v0)
/* 872548 80240B18 0040B82D */ daddu $s7, $v0, $zero
/* 87254C 80240B1C 0C046C04 */ jal get_model_list_index_from_tree_index
/* 872550 80240B20 24040014 */ addiu $a0, $zero, 0x14
/* 872554 80240B24 0C046B4C */ jal get_model_from_list_index
/* 872558 80240B28 0040202D */ daddu $a0, $v0, $zero
/* 87255C 80240B2C 0280202D */ daddu $a0, $s4, $zero
/* 872560 80240B30 0260282D */ daddu $a1, $s3, $zero
/* 872564 80240B34 0240302D */ daddu $a2, $s2, $zero
/* 872568 80240B38 C4400098 */ lwc1 $f0, 0x98($v0)
/* 87256C 80240B3C C442009C */ lwc1 $f2, 0x9c($v0)
/* 872570 80240B40 C44400A0 */ lwc1 $f4, 0xa0($v0)
/* 872574 80240B44 02A0382D */ daddu $a3, $s5, $zero
/* 872578 80240B48 E7B6002C */ swc1 $f22, 0x2c($sp)
/* 87257C 80240B4C E7A00018 */ swc1 $f0, 0x18($sp)
/* 872580 80240B50 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 872584 80240B54 E7A40020 */ swc1 $f4, 0x20($sp)
/* 872588 80240B58 AFB10010 */ sw $s1, 0x10($sp)
/* 87258C 80240B5C 0C04497A */ jal entity_raycast_down
/* 872590 80240B60 AFB00014 */ sw $s0, 0x14($sp)
/* 872594 80240B64 8FA5002C */ lw $a1, 0x2c($sp)
/* 872598 80240B68 0C044A17 */ jal set_standard_shadow_scale
/* 87259C 80240B6C 02E0202D */ daddu $a0, $s7, $zero
/* 8725A0 80240B70 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 8725A4 80240B74 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 8725A8 80240B78 C6E2001C */ lwc1 $f2, 0x1c($s7)
/* 8725AC 80240B7C AEE0002C */ sw $zero, 0x2c($s7)
/* 8725B0 80240B80 46141082 */ mul.s $f2, $f2, $f20
/* 8725B4 80240B84 00000000 */ nop
/* 8725B8 80240B88 E6E00010 */ swc1 $f0, 0x10($s7)
/* 8725BC 80240B8C E6E40014 */ swc1 $f4, 0x14($s7)
/* 8725C0 80240B90 C7A60020 */ lwc1 $f6, 0x20($sp)
/* 8725C4 80240B94 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 8725C8 80240B98 C6E00024 */ lwc1 $f0, 0x24($s7)
/* 8725CC 80240B9C C7A40028 */ lwc1 $f4, 0x28($sp)
/* 8725D0 80240BA0 46140002 */ mul.s $f0, $f0, $f20
/* 8725D4 80240BA4 00000000 */ nop
/* 8725D8 80240BA8 E6E60018 */ swc1 $f6, 0x18($s7)
/* 8725DC 80240BAC E6E80028 */ swc1 $f8, 0x28($s7)
/* 8725E0 80240BB0 E6E40030 */ swc1 $f4, 0x30($s7)
/* 8725E4 80240BB4 E6E2001C */ swc1 $f2, 0x1c($s7)
/* 8725E8 80240BB8 E6E00024 */ swc1 $f0, 0x24($s7)
/* 8725EC 80240BBC 8FBF0050 */ lw $ra, 0x50($sp)
/* 8725F0 80240BC0 8FB7004C */ lw $s7, 0x4c($sp)
/* 8725F4 80240BC4 8FB60048 */ lw $s6, 0x48($sp)
/* 8725F8 80240BC8 8FB50044 */ lw $s5, 0x44($sp)
/* 8725FC 80240BCC 8FB40040 */ lw $s4, 0x40($sp)
/* 872600 80240BD0 8FB3003C */ lw $s3, 0x3c($sp)
/* 872604 80240BD4 8FB20038 */ lw $s2, 0x38($sp)
/* 872608 80240BD8 8FB10034 */ lw $s1, 0x34($sp)
/* 87260C 80240BDC 8FB00030 */ lw $s0, 0x30($sp)
/* 872610 80240BE0 D7B60060 */ ldc1 $f22, 0x60($sp)
/* 872614 80240BE4 D7B40058 */ ldc1 $f20, 0x58($sp)
/* 872618 80240BE8 24020002 */ addiu $v0, $zero, 2
/* 87261C 80240BEC 03E00008 */ jr $ra
/* 872620 80240BF0 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240C20_872650
/* 872650 80240C20 3C038016 */ lui $v1, %hi(gCollisionStatus+0x2)
/* 872654 80240C24 8463A552 */ lh $v1, %lo(gCollisionStatus+0x2)($v1)
/* 872658 80240C28 24020009 */ addiu $v0, $zero, 9
/* 87265C 80240C2C 10620003 */ beq $v1, $v0, .L80240C3C
/* 872660 80240C30 2402000B */ addiu $v0, $zero, 0xb
/* 872664 80240C34 1462000B */ bne $v1, $v0, .L80240C64
/* 872668 80240C38 00000000 */ nop
.L80240C3C:
/* 87266C 80240C3C 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 872670 80240C40 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 872674 80240C44 804300B4 */ lb $v1, 0xb4($v0)
/* 872678 80240C48 2402000E */ addiu $v0, $zero, 0xe
/* 87267C 80240C4C 10620003 */ beq $v1, $v0, .L80240C5C
/* 872680 80240C50 24020010 */ addiu $v0, $zero, 0x10
/* 872684 80240C54 14620003 */ bne $v1, $v0, .L80240C64
/* 872688 80240C58 00000000 */ nop
.L80240C5C:
/* 87268C 80240C5C 03E00008 */ jr $ra
/* 872690 80240C60 0000102D */ daddu $v0, $zero, $zero
.L80240C64:
/* 872694 80240C64 03E00008 */ jr $ra
/* 872698 80240C68 24020002 */ addiu $v0, $zero, 2
/* 87269C 80240C6C 00000000 */ nop

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241390_87AF70
/* 87AF70 80241390 3C088011 */ lui $t0, %hi(gPlayerStatus)
/* 87AF74 80241394 2508EFC8 */ addiu $t0, $t0, %lo(gPlayerStatus)
/* 87AF78 80241398 0000202D */ daddu $a0, $zero, $zero
/* 87AF7C 8024139C 3C058016 */ lui $a1, %hi(gCollisionStatus+0x2)
/* 87AF80 802413A0 84A5A552 */ lh $a1, %lo(gCollisionStatus+0x2)($a1)
/* 87AF84 802413A4 2407000E */ addiu $a3, $zero, 0xe
/* 87AF88 802413A8 24060010 */ addiu $a2, $zero, 0x10
/* 87AF8C 802413AC 3C038024 */ lui $v1, %hi(D_802449B0_87E590)
/* 87AF90 802413B0 246349B0 */ addiu $v1, $v1, %lo(D_802449B0_87E590)
.L802413B4:
/* 87AF94 802413B4 8C620000 */ lw $v0, ($v1)
/* 87AF98 802413B8 54A20008 */ bnel $a1, $v0, .L802413DC
/* 87AF9C 802413BC 24840001 */ addiu $a0, $a0, 1
/* 87AFA0 802413C0 810200B4 */ lb $v0, 0xb4($t0)
/* 87AFA4 802413C4 10470003 */ beq $v0, $a3, .L802413D4
/* 87AFA8 802413C8 00000000 */ nop
/* 87AFAC 802413CC 14460003 */ bne $v0, $a2, .L802413DC
/* 87AFB0 802413D0 24840001 */ addiu $a0, $a0, 1
.L802413D4:
/* 87AFB4 802413D4 03E00008 */ jr $ra
/* 87AFB8 802413D8 0000102D */ daddu $v0, $zero, $zero
.L802413DC:
/* 87AFBC 802413DC 2C820004 */ sltiu $v0, $a0, 4
/* 87AFC0 802413E0 1440FFF4 */ bnez $v0, .L802413B4
/* 87AFC4 802413E4 24630004 */ addiu $v1, $v1, 4
/* 87AFC8 802413E8 03E00008 */ jr $ra
/* 87AFCC 802413EC 24020002 */ addiu $v0, $zero, 2

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A5C_87F84C
/* 87F84C 80240A5C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 87F850 80240A60 AFBF0014 */ sw $ra, 0x14($sp)
/* 87F854 80240A64 AFB00010 */ sw $s0, 0x10($sp)
/* 87F858 80240A68 8C82000C */ lw $v0, 0xc($a0)
/* 87F85C 80240A6C 8C450000 */ lw $a1, ($v0)
/* 87F860 80240A70 0C0B1EAF */ jal evt_get_variable
/* 87F864 80240A74 8C900148 */ lw $s0, 0x148($a0)
/* 87F868 80240A78 82030004 */ lb $v1, 4($s0)
/* 87F86C 80240A7C 00021080 */ sll $v0, $v0, 2
/* 87F870 80240A80 00031880 */ sll $v1, $v1, 2
/* 87F874 80240A84 3C04800B */ lui $a0, %hi(gCurrentEncounter+0x28)
/* 87F878 80240A88 00832021 */ addu $a0, $a0, $v1
/* 87F87C 80240A8C 8C840F38 */ lw $a0, %lo(gCurrentEncounter+0x28)($a0)
/* 87F880 80240A90 3C038024 */ lui $v1, %hi(D_80242C0E_8819FE)
/* 87F884 80240A94 00621821 */ addu $v1, $v1, $v0
/* 87F888 80240A98 94632C0E */ lhu $v1, %lo(D_80242C0E_8819FE)($v1)
/* 87F88C 80240A9C A4830044 */ sh $v1, 0x44($a0)
/* 87F890 80240AA0 8FBF0014 */ lw $ra, 0x14($sp)
/* 87F894 80240AA4 8FB00010 */ lw $s0, 0x10($sp)
/* 87F898 80240AA8 24020002 */ addiu $v0, $zero, 2
/* 87F89C 80240AAC 03E00008 */ jr $ra
/* 87F8A0 80240AB0 27BD0018 */ addiu $sp, $sp, 0x18
/* 87F8A4 80240AB4 00000000 */ nop
/* 87F8A8 80240AB8 00000000 */ nop
/* 87F8AC 80240ABC 00000000 */ nop

View File

@ -1,49 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241204_8833C4
/* 8833C4 80241204 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 8833C8 80241208 0000502D */ daddu $t2, $zero, $zero
/* 8833CC 8024120C 3C03800B */ lui $v1, %hi(gCurrentEncounter)
/* 8833D0 80241210 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter)
/* 8833D4 80241214 AFBF0010 */ sw $ra, 0x10($sp)
/* 8833D8 80241218 8062001C */ lb $v0, 0x1c($v1)
/* 8833DC 8024121C 8C85000C */ lw $a1, 0xc($a0)
/* 8833E0 80241220 18400016 */ blez $v0, .L8024127C
/* 8833E4 80241224 0140302D */ daddu $a2, $t2, $zero
/* 8833E8 80241228 0040582D */ daddu $t3, $v0, $zero
/* 8833EC 8024122C 0060482D */ daddu $t1, $v1, $zero
.L80241230:
/* 8833F0 80241230 8D220028 */ lw $v0, 0x28($t1)
/* 8833F4 80241234 5040000E */ beql $v0, $zero, .L80241270
/* 8833F8 80241238 254A0001 */ addiu $t2, $t2, 1
/* 8833FC 8024123C 8C430000 */ lw $v1, ($v0)
/* 883400 80241240 1860000A */ blez $v1, .L8024126C
/* 883404 80241244 0000382D */ daddu $a3, $zero, $zero
/* 883408 80241248 0060402D */ daddu $t0, $v1, $zero
/* 88340C 8024124C 0040182D */ daddu $v1, $v0, $zero
.L80241250:
/* 883410 80241250 8C620004 */ lw $v0, 4($v1)
/* 883414 80241254 54400001 */ bnel $v0, $zero, .L8024125C
/* 883418 80241258 24C60001 */ addiu $a2, $a2, 1
.L8024125C:
/* 88341C 8024125C 24E70001 */ addiu $a3, $a3, 1
/* 883420 80241260 00E8102A */ slt $v0, $a3, $t0
/* 883424 80241264 1440FFFA */ bnez $v0, .L80241250
/* 883428 80241268 24630004 */ addiu $v1, $v1, 4
.L8024126C:
/* 88342C 8024126C 254A0001 */ addiu $t2, $t2, 1
.L80241270:
/* 883430 80241270 014B102A */ slt $v0, $t2, $t3
/* 883434 80241274 1440FFEE */ bnez $v0, .L80241230
/* 883438 80241278 25290004 */ addiu $t1, $t1, 4
.L8024127C:
/* 88343C 8024127C 8CA50000 */ lw $a1, ($a1)
/* 883440 80241280 0C0B2026 */ jal evt_set_variable
/* 883444 80241284 00000000 */ nop
/* 883448 80241288 8FBF0010 */ lw $ra, 0x10($sp)
/* 88344C 8024128C 24020002 */ addiu $v0, $zero, 2
/* 883450 80241290 03E00008 */ jr $ra
/* 883454 80241294 27BD0018 */ addiu $sp, $sp, 0x18
/* 883458 80241298 00000000 */ nop
/* 88345C 8024129C 00000000 */ nop