From 36f2fc2f864702330690d6403173a2368125acf8 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 16 Oct 2020 22:36:28 -0400 Subject: [PATCH] clover we miss you --- asm/nonmatchings/code_16c8e0/func_8023F088.s | 2 +- asm/nonmatchings/code_16c8e0/func_8023FF84.s | 2 +- .../SetForegroundModelsVisibleUnchecked.s | 4 +- .../code_190B20/StartRumbleWithParams.s | 26 ------ asm/nonmatchings/code_190B20/get_actor_part.s | 26 ------ .../code_190B20/hide_foreground_models.s | 35 -------- .../hide_foreground_models_unchecked.s | 33 ------- .../code_190B20/show_foreground_models.s | 35 -------- .../show_foreground_models_unchecked.s | 33 ------- include/common_structs.h | 11 ++- src/code_190B20.c | 90 +++++++++++++++++-- tools/symbol_addrs.txt | 4 +- 12 files changed, 98 insertions(+), 203 deletions(-) delete mode 100644 asm/nonmatchings/code_190B20/StartRumbleWithParams.s delete mode 100644 asm/nonmatchings/code_190B20/get_actor_part.s delete mode 100644 asm/nonmatchings/code_190B20/hide_foreground_models.s delete mode 100644 asm/nonmatchings/code_190B20/hide_foreground_models_unchecked.s delete mode 100644 asm/nonmatchings/code_190B20/show_foreground_models.s delete mode 100644 asm/nonmatchings/code_190B20/show_foreground_models_unchecked.s diff --git a/asm/nonmatchings/code_16c8e0/func_8023F088.s b/asm/nonmatchings/code_16c8e0/func_8023F088.s index 1e4a92d5ce..bf2cc9103f 100644 --- a/asm/nonmatchings/code_16c8e0/func_8023F088.s +++ b/asm/nonmatchings/code_16c8e0/func_8023F088.s @@ -25,7 +25,7 @@ glabel func_8023F088 /* 16D9B8 8023F0D8 000218C0 */ sll $v1, $v0, 3 /* 16D9BC 8023F0DC 00431021 */ addu $v0, $v0, $v1 /* 16D9C0 8023F0E0 000210C0 */ sll $v0, $v0, 3 -/* 16D9C4 8023F0E4 0C099EF7 */ jal hide_foreground_models_unchecked +/* 16D9C4 8023F0E4 0C099EF7 */ jal hide_foreground_models_unsafe /* 16D9C8 8023F0E8 0044B821 */ addu $s7, $v0, $a0 /* 16D9CC 8023F0EC 0C046EE9 */ jal is_world_fog_enabled /* 16D9D0 8023F0F0 00000000 */ nop diff --git a/asm/nonmatchings/code_16c8e0/func_8023FF84.s b/asm/nonmatchings/code_16c8e0/func_8023FF84.s index c131efd3ef..c161881cf9 100644 --- a/asm/nonmatchings/code_16c8e0/func_8023FF84.s +++ b/asm/nonmatchings/code_16c8e0/func_8023FF84.s @@ -4,7 +4,7 @@ glabel func_8023FF84 /* 16E864 8023FF84 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 16E868 8023FF88 AFBF0010 */ sw $ra, 0x10($sp) -/* 16E86C 8023FF8C 0C099F12 */ jal show_foreground_models_unchecked +/* 16E86C 8023FF8C 0C099F12 */ jal show_foreground_models_unsafe /* 16E870 8023FF90 00000000 */ nop /* 16E874 8023FF94 8FBF0010 */ lw $ra, 0x10($sp) /* 16E878 8023FF98 03E00008 */ jr $ra diff --git a/asm/nonmatchings/code_181810/SetForegroundModelsVisibleUnchecked.s b/asm/nonmatchings/code_181810/SetForegroundModelsVisibleUnchecked.s index 48e8c18ef6..3afedeba5f 100644 --- a/asm/nonmatchings/code_181810/SetForegroundModelsVisibleUnchecked.s +++ b/asm/nonmatchings/code_181810/SetForegroundModelsVisibleUnchecked.s @@ -9,12 +9,12 @@ glabel SetForegroundModelsVisibleUnchecked /* 182398 80253AB8 8C450000 */ lw $a1, ($v0) /* 18239C 80253ABC 10400005 */ beqz $v0, .L80253AD4 /* 1823A0 80253AC0 00000000 */ nop -/* 1823A4 80253AC4 0C099F12 */ jal show_foreground_models_unchecked +/* 1823A4 80253AC4 0C099F12 */ jal show_foreground_models_unsafe /* 1823A8 80253AC8 00000000 */ nop /* 1823AC 80253ACC 08094EB7 */ j .L80253ADC /* 1823B0 80253AD0 00000000 */ nop .L80253AD4: -/* 1823B4 80253AD4 0C099EF7 */ jal hide_foreground_models_unchecked +/* 1823B4 80253AD4 0C099EF7 */ jal hide_foreground_models_unsafe /* 1823B8 80253AD8 00000000 */ nop .L80253ADC: /* 1823BC 80253ADC 8FBF0010 */ lw $ra, 0x10($sp) diff --git a/asm/nonmatchings/code_190B20/StartRumbleWithParams.s b/asm/nonmatchings/code_190B20/StartRumbleWithParams.s deleted file mode 100644 index 50b6b176c8..0000000000 --- a/asm/nonmatchings/code_190B20/StartRumbleWithParams.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel StartRumbleWithParams -/* 19667C 80267D9C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 196680 80267DA0 AFB10014 */ sw $s1, 0x14($sp) -/* 196684 80267DA4 0080882D */ daddu $s1, $a0, $zero -/* 196688 80267DA8 AFBF0018 */ sw $ra, 0x18($sp) -/* 19668C 80267DAC AFB00010 */ sw $s0, 0x10($sp) -/* 196690 80267DB0 8E30000C */ lw $s0, 0xc($s1) -/* 196694 80267DB4 8E050000 */ lw $a1, ($s0) -/* 196698 80267DB8 0C0B1EAF */ jal get_variable -/* 19669C 80267DBC 26100004 */ addiu $s0, $s0, 4 -/* 1966A0 80267DC0 0220202D */ daddu $a0, $s1, $zero -/* 1966A4 80267DC4 8E050000 */ lw $a1, ($s0) -/* 1966A8 80267DC8 0C0B1EAF */ jal get_variable -/* 1966AC 80267DCC 0040802D */ daddu $s0, $v0, $zero -/* 1966B0 80267DD0 0200202D */ daddu $a0, $s0, $zero -/* 1966B4 80267DD4 0C00A3C2 */ jal start_rumble -/* 1966B8 80267DD8 0040282D */ daddu $a1, $v0, $zero -/* 1966BC 80267DDC 8FBF0018 */ lw $ra, 0x18($sp) -/* 1966C0 80267DE0 8FB10014 */ lw $s1, 0x14($sp) -/* 1966C4 80267DE4 8FB00010 */ lw $s0, 0x10($sp) -/* 1966C8 80267DE8 24020002 */ addiu $v0, $zero, 2 -/* 1966CC 80267DEC 03E00008 */ jr $ra -/* 1966D0 80267DF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_190B20/get_actor_part.s b/asm/nonmatchings/code_190B20/get_actor_part.s deleted file mode 100644 index d785ec5786..0000000000 --- a/asm/nonmatchings/code_190B20/get_actor_part.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel get_actor_part -/* 192D3C 8026445C 04A00004 */ bltz $a1, .L80264470 -/* 192D40 80264460 8C8301F4 */ lw $v1, 0x1f4($a0) -/* 192D44 80264464 8C62000C */ lw $v0, 0xc($v1) -/* 192D48 80264468 14400003 */ bnez $v0, .L80264478 -/* 192D4C 8026446C 00000000 */ nop -.L80264470: -/* 192D50 80264470 03E00008 */ jr $ra -/* 192D54 80264474 0060102D */ daddu $v0, $v1, $zero -.L80264478: -/* 192D58 80264478 10600008 */ beqz $v1, .L8026449C -/* 192D5C 8026447C 00000000 */ nop -.L80264480: -/* 192D60 80264480 8C620008 */ lw $v0, 8($v1) -/* 192D64 80264484 80420004 */ lb $v0, 4($v0) -/* 192D68 80264488 1045FFF9 */ beq $v0, $a1, .L80264470 -/* 192D6C 8026448C 00000000 */ nop -/* 192D70 80264490 8C63000C */ lw $v1, 0xc($v1) -/* 192D74 80264494 1460FFFA */ bnez $v1, .L80264480 -/* 192D78 80264498 00000000 */ nop -.L8026449C: -/* 192D7C 8026449C 03E00008 */ jr $ra -/* 192D80 802644A0 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/code_190B20/hide_foreground_models.s b/asm/nonmatchings/code_190B20/hide_foreground_models.s deleted file mode 100644 index 472a8d180d..0000000000 --- a/asm/nonmatchings/code_190B20/hide_foreground_models.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel hide_foreground_models -/* 196594 80267CB4 3C02800E */ lui $v0, 0x800e -/* 196598 80267CB8 8C42C4A8 */ lw $v0, -0x3b58($v0) -/* 19659C 80267CBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1965A0 80267CC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 1965A4 80267CC4 10400014 */ beqz $v0, .L80267D18 -/* 1965A8 80267CC8 AFB00010 */ sw $s0, 0x10($sp) -/* 1965AC 80267CCC 8C420018 */ lw $v0, 0x18($v0) -/* 1965B0 80267CD0 10400011 */ beqz $v0, .L80267D18 -/* 1965B4 80267CD4 0040802D */ daddu $s0, $v0, $zero -/* 1965B8 80267CD8 8E020000 */ lw $v0, ($s0) -/* 1965BC 80267CDC 1040000E */ beqz $v0, .L80267D18 -/* 1965C0 80267CE0 00000000 */ nop -.L80267CE4: -/* 1965C4 80267CE4 8E040000 */ lw $a0, ($s0) -/* 1965C8 80267CE8 0480000B */ bltz $a0, .L80267D18 -/* 1965CC 80267CEC 26100004 */ addiu $s0, $s0, 4 -/* 1965D0 80267CF0 0C046C04 */ jal get_model_list_index_from_tree_index -/* 1965D4 80267CF4 00000000 */ nop -/* 1965D8 80267CF8 0C046B4C */ jal get_model_from_list_index -/* 1965DC 80267CFC 0040202D */ daddu $a0, $v0, $zero -/* 1965E0 80267D00 94430000 */ lhu $v1, ($v0) -/* 1965E4 80267D04 34630002 */ ori $v1, $v1, 2 -/* 1965E8 80267D08 A4430000 */ sh $v1, ($v0) -/* 1965EC 80267D0C 8E020000 */ lw $v0, ($s0) -/* 1965F0 80267D10 1440FFF4 */ bnez $v0, .L80267CE4 -/* 1965F4 80267D14 00000000 */ nop -.L80267D18: -/* 1965F8 80267D18 8FBF0014 */ lw $ra, 0x14($sp) -/* 1965FC 80267D1C 8FB00010 */ lw $s0, 0x10($sp) -/* 196600 80267D20 03E00008 */ jr $ra -/* 196604 80267D24 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_190B20/hide_foreground_models_unchecked.s b/asm/nonmatchings/code_190B20/hide_foreground_models_unchecked.s deleted file mode 100644 index 752db53f95..0000000000 --- a/asm/nonmatchings/code_190B20/hide_foreground_models_unchecked.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel hide_foreground_models_unchecked -/* 1964BC 80267BDC 3C02800E */ lui $v0, 0x800e -/* 1964C0 80267BE0 8C42C4A8 */ lw $v0, -0x3b58($v0) -/* 1964C4 80267BE4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1964C8 80267BE8 AFBF0014 */ sw $ra, 0x14($sp) -/* 1964CC 80267BEC 10400012 */ beqz $v0, .L80267C38 -/* 1964D0 80267BF0 AFB00010 */ sw $s0, 0x10($sp) -/* 1964D4 80267BF4 8C420018 */ lw $v0, 0x18($v0) -/* 1964D8 80267BF8 1040000F */ beqz $v0, .L80267C38 -/* 1964DC 80267BFC 0040802D */ daddu $s0, $v0, $zero -.L80267C00: -/* 1964E0 80267C00 8E020000 */ lw $v0, ($s0) -/* 1964E4 80267C04 1040000C */ beqz $v0, .L80267C38 -/* 1964E8 80267C08 00000000 */ nop -/* 1964EC 80267C0C 8E040000 */ lw $a0, ($s0) -/* 1964F0 80267C10 0480FFFB */ bltz $a0, .L80267C00 -/* 1964F4 80267C14 26100004 */ addiu $s0, $s0, 4 -/* 1964F8 80267C18 0C046C04 */ jal get_model_list_index_from_tree_index -/* 1964FC 80267C1C 00000000 */ nop -/* 196500 80267C20 0C046B4C */ jal get_model_from_list_index -/* 196504 80267C24 0040202D */ daddu $a0, $v0, $zero -/* 196508 80267C28 94430000 */ lhu $v1, ($v0) -/* 19650C 80267C2C 34630002 */ ori $v1, $v1, 2 -/* 196510 80267C30 08099F00 */ j .L80267C00 -/* 196514 80267C34 A4430000 */ sh $v1, ($v0) -.L80267C38: -/* 196518 80267C38 8FBF0014 */ lw $ra, 0x14($sp) -/* 19651C 80267C3C 8FB00010 */ lw $s0, 0x10($sp) -/* 196520 80267C40 03E00008 */ jr $ra -/* 196524 80267C44 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_190B20/show_foreground_models.s b/asm/nonmatchings/code_190B20/show_foreground_models.s deleted file mode 100644 index e2373a7160..0000000000 --- a/asm/nonmatchings/code_190B20/show_foreground_models.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel show_foreground_models -/* 196608 80267D28 3C02800E */ lui $v0, 0x800e -/* 19660C 80267D2C 8C42C4A8 */ lw $v0, -0x3b58($v0) -/* 196610 80267D30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 196614 80267D34 AFBF0014 */ sw $ra, 0x14($sp) -/* 196618 80267D38 10400014 */ beqz $v0, .L80267D8C -/* 19661C 80267D3C AFB00010 */ sw $s0, 0x10($sp) -/* 196620 80267D40 8C420018 */ lw $v0, 0x18($v0) -/* 196624 80267D44 10400011 */ beqz $v0, .L80267D8C -/* 196628 80267D48 0040802D */ daddu $s0, $v0, $zero -/* 19662C 80267D4C 8E020000 */ lw $v0, ($s0) -/* 196630 80267D50 1040000E */ beqz $v0, .L80267D8C -/* 196634 80267D54 00000000 */ nop -.L80267D58: -/* 196638 80267D58 8E040000 */ lw $a0, ($s0) -/* 19663C 80267D5C 0480000B */ bltz $a0, .L80267D8C -/* 196640 80267D60 26100004 */ addiu $s0, $s0, 4 -/* 196644 80267D64 0C046C04 */ jal get_model_list_index_from_tree_index -/* 196648 80267D68 00000000 */ nop -/* 19664C 80267D6C 0C046B4C */ jal get_model_from_list_index -/* 196650 80267D70 0040202D */ daddu $a0, $v0, $zero -/* 196654 80267D74 94430000 */ lhu $v1, ($v0) -/* 196658 80267D78 3063FFFD */ andi $v1, $v1, 0xfffd -/* 19665C 80267D7C A4430000 */ sh $v1, ($v0) -/* 196660 80267D80 8E020000 */ lw $v0, ($s0) -/* 196664 80267D84 1440FFF4 */ bnez $v0, .L80267D58 -/* 196668 80267D88 00000000 */ nop -.L80267D8C: -/* 19666C 80267D8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 196670 80267D90 8FB00010 */ lw $s0, 0x10($sp) -/* 196674 80267D94 03E00008 */ jr $ra -/* 196678 80267D98 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_190B20/show_foreground_models_unchecked.s b/asm/nonmatchings/code_190B20/show_foreground_models_unchecked.s deleted file mode 100644 index fa03a98966..0000000000 --- a/asm/nonmatchings/code_190B20/show_foreground_models_unchecked.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel show_foreground_models_unchecked -/* 196528 80267C48 3C02800E */ lui $v0, 0x800e -/* 19652C 80267C4C 8C42C4A8 */ lw $v0, -0x3b58($v0) -/* 196530 80267C50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 196534 80267C54 AFBF0014 */ sw $ra, 0x14($sp) -/* 196538 80267C58 10400012 */ beqz $v0, .L80267CA4 -/* 19653C 80267C5C AFB00010 */ sw $s0, 0x10($sp) -/* 196540 80267C60 8C420018 */ lw $v0, 0x18($v0) -/* 196544 80267C64 1040000F */ beqz $v0, .L80267CA4 -/* 196548 80267C68 0040802D */ daddu $s0, $v0, $zero -.L80267C6C: -/* 19654C 80267C6C 8E020000 */ lw $v0, ($s0) -/* 196550 80267C70 1040000C */ beqz $v0, .L80267CA4 -/* 196554 80267C74 00000000 */ nop -/* 196558 80267C78 8E040000 */ lw $a0, ($s0) -/* 19655C 80267C7C 0480FFFB */ bltz $a0, .L80267C6C -/* 196560 80267C80 26100004 */ addiu $s0, $s0, 4 -/* 196564 80267C84 0C046C04 */ jal get_model_list_index_from_tree_index -/* 196568 80267C88 00000000 */ nop -/* 19656C 80267C8C 0C046B4C */ jal get_model_from_list_index -/* 196570 80267C90 0040202D */ daddu $a0, $v0, $zero -/* 196574 80267C94 94430000 */ lhu $v1, ($v0) -/* 196578 80267C98 3063FFFD */ andi $v1, $v1, 0xfffd -/* 19657C 80267C9C 08099F1B */ j .L80267C6C -/* 196580 80267CA0 A4430000 */ sh $v1, ($v0) -.L80267CA4: -/* 196584 80267CA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 196588 80267CA8 8FB00010 */ lw $s0, 0x10($sp) -/* 19658C 80267CAC 03E00008 */ jr $ra -/* 196590 80267CB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/include/common_structs.h b/include/common_structs.h index d3f3786e30..9d709172dd 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -538,6 +538,11 @@ typedef struct BattleStatusUnk { /* 0x0C */ BattleStatusUnkInner* unk_0C; } BattleStatusUnk; // size = unknown +typedef struct FGModelData { + /* 0x00 */ char unk_00[0x18]; + /* 0x18 */ s32* idList; +} FGModelData; // size = unknown + typedef struct BattleStatus { /* 0x000 */ s32 flags1; /* 0x004 */ s32 flags2; @@ -647,7 +652,7 @@ typedef struct BattleStatus { /* 0x431 */ u8 inputBufferPos; /* 0x432 */ char unk_432[2]; /* 0x434 */ s32 unk_434; - /* 0x438 */ s32* foregroundModelList; + /* 0x438 */ FGModelData* foregroundModelData; /* 0x43C */ BattleStatusUnk* unk_43C; /* 0x440 */ u8 tattleFlags[27]; /* 0x45B */ char unk_45B[17]; @@ -718,7 +723,7 @@ typedef struct CollisionData { } CollisionData; // size = 0x10 typedef struct Model { - /* 0x00 */ s16 flags; + /* 0x00 */ u16 flags; /* 0x02 */ s16 modelID; /* 0x04 */ char unk_04[4]; /* 0x08 */ s32* modelNode; @@ -1338,7 +1343,7 @@ typedef struct Actor { typedef struct StaticActorPart { /* 0x00 */ s32 flags; - /* 0x04 */ u8 index; + /* 0x04 */ s8 index; /* 0x05 */ u8 posOffset[3]; /* 0x08 */ u8 targetOffset[2]; /* 0x0A */ s16 opacity; diff --git a/src/code_190B20.c b/src/code_190B20.c index d97584bb52..97c7a2a04d 100644 --- a/src/code_190B20.c +++ b/src/code_190B20.c @@ -66,7 +66,22 @@ INCLUDE_ASM(s32, "code_190B20", add_xz_vec3f_copy2); INCLUDE_ASM(s32, "code_190B20", play_movement_dust_effects); -INCLUDE_ASM(ActorPart*, "code_190B20", get_actor_part, Actor* actor, s32 partIndex); +ActorPart* get_actor_part(Actor* actor, s32 partIndex) { + ActorPart* part = &actor->partsTable[0]; + + if (partIndex < 0 || part->nextPart == NULL) { + return part; + } + + while (part != NULL) { + if (part->staticData->index == partIndex) { + return part; + } + part = part->nextPart; + } + + return NULL; +} INCLUDE_ASM(s32, "code_190B20", load_player_actor); @@ -424,15 +439,78 @@ INCLUDE_ASM(s32, "code_190B20", func_80267A3C); INCLUDE_ASM(s32, "code_190B20", reset_all_actor_sounds); -INCLUDE_ASM(s32, "code_190B20", hide_foreground_models_unchecked); +void hide_foreground_models_unsafe(void) { + FGModelData* data = gBattleStatus.foregroundModelData; -INCLUDE_ASM(s32, "code_190B20", show_foreground_models_unchecked); + if (data != NULL && data->idList != NULL) { + s32* idList = data->idList; + while (*idList != 0) { + s32 id = *idList++; + if (id >= 0) { + Model* model = get_model_from_list_index(get_model_list_index_from_tree_index(id)); + model->flags |= 2; + } + } + } +} -INCLUDE_ASM(s32, "code_190B20", hide_foreground_models); +void show_foreground_models_unsafe(void) { + FGModelData* data = gBattleStatus.foregroundModelData; -INCLUDE_ASM(s32, "code_190B20", show_foreground_models); + if (data != NULL && data->idList != NULL) { + s32* idList = data->idList; + while (*idList != 0) { + s32 id = *idList++; + if (id >= 0) { + Model* model = get_model_from_list_index(get_model_list_index_from_tree_index(id)); + model->flags &= ~2; + } + } + } +} -INCLUDE_ASM(s32, "code_190B20", StartRumbleWithParams); +void hide_foreground_models(void) { + FGModelData* data = gBattleStatus.foregroundModelData; + + if (data != NULL && data->idList != NULL) { + s32* idList = data->idList; + while (*idList != 0) { + s32 id = *idList++; + if (id < 0) { + break; + } else { + Model* model = get_model_from_list_index(get_model_list_index_from_tree_index(id)); + model->flags |= 2; + } + + } + } +} + +void show_foreground_models(void) { + FGModelData* data = gBattleStatus.foregroundModelData; + + if (data != NULL && data->idList != NULL) { + s32* idList = data->idList; + while (*idList != 0) { + s32 id = *idList++; + if (id < 0) { + break; + } else { + Model* model = get_model_from_list_index(get_model_list_index_from_tree_index(id)); + model->flags &= ~2; + } + } + } +} + +ApiStatus StartRumbleWithParams(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + + start_rumble(get_variable(script, *args++), get_variable(script, *args++)); + + return ApiStatus_DONE2; +} INCLUDE_ASM(s32, "code_190B20", start_rumble_type); diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 90cad40cf2..d7636c03fa 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -995,7 +995,7 @@ heap_malloc;0x8002ACE4 heroes_is_ability_active;0x802672AC hide_coin_counter;0x800E9698 hide_foreground_models;0x80267CB4 -hide_foreground_models_unchecked;0x80267BDC +hide_foreground_models_unsafe;0x80267BDC icon_set_opacity;0x80144EB0 icon_set_tint;0x80144EFC increment_max_SP;0x800EA1B4 @@ -1541,7 +1541,7 @@ show_coin_counter;0x800E9518 show_damage_popup;0x802665AC show_first_strike_message;0x80041C5C show_foreground_models;0x80267D28 -show_foreground_models_unchecked;0x80267C48 +show_foreground_models_unsafe;0x80267C48 show_message_popup;0x80250EA4 show_variable_battle_message;0x8024FA04 si;0x8006AD90