From 5bc8e56a91065d7342bbbdbed9d23d2c7aa3ff0a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 15 Oct 2020 22:05:04 -0400 Subject: [PATCH] treats --- .../code_1421C0/pause_get_menu_string.s | 4 +- asm/nonmatchings/code_196AA0/func_8026919C.s | 15 ------- asm/nonmatchings/code_196AA0/func_802692EC.s | 15 ------- asm/nonmatchings/code_196AA0/func_80269318.s | 15 ------- asm/nonmatchings/code_196AA0/func_80269524.s | 15 ------- asm/nonmatchings/code_196AA0/func_80269550.s | 15 ------- asm/nonmatchings/code_196AA0/func_802695A8.s | 15 ------- asm/nonmatchings/code_196AA0/func_802695D4.s | 15 ------- asm/nonmatchings/code_196AA0/func_80269600.s | 15 ------- asm/nonmatchings/code_196AA0/func_8026962C.s | 17 ------- .../code_1AF230/LoadStarPowerScript.s | 4 ++ include/common_structs.h | 9 ++-- include/variables.h | 2 +- src/code_196AA0.c | 45 +++++++++++++++---- tools/splat.yaml | 2 +- undefined_syms.txt | 2 + 16 files changed, 52 insertions(+), 153 deletions(-) delete mode 100644 asm/nonmatchings/code_196AA0/func_8026919C.s delete mode 100644 asm/nonmatchings/code_196AA0/func_802692EC.s delete mode 100644 asm/nonmatchings/code_196AA0/func_80269318.s delete mode 100644 asm/nonmatchings/code_196AA0/func_80269524.s delete mode 100644 asm/nonmatchings/code_196AA0/func_80269550.s delete mode 100644 asm/nonmatchings/code_196AA0/func_802695A8.s delete mode 100644 asm/nonmatchings/code_196AA0/func_802695D4.s delete mode 100644 asm/nonmatchings/code_196AA0/func_80269600.s delete mode 100644 asm/nonmatchings/code_196AA0/func_8026962C.s diff --git a/asm/nonmatchings/code_1421C0/pause_get_menu_string.s b/asm/nonmatchings/code_1421C0/pause_get_menu_string.s index 9884612280..3198903870 100644 --- a/asm/nonmatchings/code_1421C0/pause_get_menu_string.s +++ b/asm/nonmatchings/code_1421C0/pause_get_menu_string.s @@ -3,7 +3,7 @@ glabel pause_get_menu_string /* 1421C0 8024EE80 00042080 */ sll $a0, $a0, 2 -/* 1421C4 8024EE84 3C028027 */ lui $v0, 0x8027 +/* 1421C4 8024EE84 3C028027 */ lui $v0, %hi(gPauseMenuStrings) /* 1421C8 8024EE88 00441021 */ addu $v0, $v0, $a0 /* 1421CC 8024EE8C 03E00008 */ jr $ra -/* 1421D0 8024EE90 8C42F778 */ lw $v0, -0x888($v0) +/* 1421D0 8024EE90 8C42F778 */ lw $v0, %lo(gPauseMenuStrings)($v0) diff --git a/asm/nonmatchings/code_196AA0/func_8026919C.s b/asm/nonmatchings/code_196AA0/func_8026919C.s deleted file mode 100644 index 50dc02aa7c..0000000000 --- a/asm/nonmatchings/code_196AA0/func_8026919C.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8026919C -/* 197A7C 8026919C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197A80 802691A0 AFBF0010 */ sw $ra, 0x10($sp) -/* 197A84 802691A4 8C82000C */ lw $v0, 0xc($a0) -/* 197A88 802691A8 0C0B1EAF */ jal get_variable -/* 197A8C 802691AC 8C450000 */ lw $a1, ($v0) -/* 197A90 802691B0 8FBF0010 */ lw $ra, 0x10($sp) -/* 197A94 802691B4 3C01800E */ lui $at, 0x800e -/* 197A98 802691B8 AC22C4A4 */ sw $v0, -0x3b5c($at) -/* 197A9C 802691BC 24020002 */ addiu $v0, $zero, 2 -/* 197AA0 802691C0 03E00008 */ jr $ra -/* 197AA4 802691C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_802692EC.s b/asm/nonmatchings/code_196AA0/func_802692EC.s deleted file mode 100644 index 489fdd060c..0000000000 --- a/asm/nonmatchings/code_196AA0/func_802692EC.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802692EC -/* 197BCC 802692EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197BD0 802692F0 AFBF0010 */ sw $ra, 0x10($sp) -/* 197BD4 802692F4 8C82000C */ lw $v0, 0xc($a0) -/* 197BD8 802692F8 0C0B1EAF */ jal get_variable -/* 197BDC 802692FC 8C450000 */ lw $a1, ($v0) -/* 197BE0 80269300 8FBF0010 */ lw $ra, 0x10($sp) -/* 197BE4 80269304 3C01800E */ lui $at, 0x800e -/* 197BE8 80269308 A022C0F3 */ sb $v0, -0x3f0d($at) -/* 197BEC 8026930C 24020002 */ addiu $v0, $zero, 2 -/* 197BF0 80269310 03E00008 */ jr $ra -/* 197BF4 80269314 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_80269318.s b/asm/nonmatchings/code_196AA0/func_80269318.s deleted file mode 100644 index cace4bea35..0000000000 --- a/asm/nonmatchings/code_196AA0/func_80269318.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269318 -/* 197BF8 80269318 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197BFC 8026931C AFBF0010 */ sw $ra, 0x10($sp) -/* 197C00 80269320 8C82000C */ lw $v0, 0xc($a0) -/* 197C04 80269324 3C06800E */ lui $a2, 0x800e -/* 197C08 80269328 80C6C0F3 */ lb $a2, -0x3f0d($a2) -/* 197C0C 8026932C 0C0B2026 */ jal set_variable -/* 197C10 80269330 8C450000 */ lw $a1, ($v0) -/* 197C14 80269334 8FBF0010 */ lw $ra, 0x10($sp) -/* 197C18 80269338 24020002 */ addiu $v0, $zero, 2 -/* 197C1C 8026933C 03E00008 */ jr $ra -/* 197C20 80269340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_80269524.s b/asm/nonmatchings/code_196AA0/func_80269524.s deleted file mode 100644 index 84bd8bcb9e..0000000000 --- a/asm/nonmatchings/code_196AA0/func_80269524.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269524 -/* 197E04 80269524 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197E08 80269528 AFBF0010 */ sw $ra, 0x10($sp) -/* 197E0C 8026952C 8C82000C */ lw $v0, 0xc($a0) -/* 197E10 80269530 3C06800E */ lui $a2, 0x800e -/* 197E14 80269534 80C6C0F6 */ lb $a2, -0x3f0a($a2) -/* 197E18 80269538 0C0B2026 */ jal set_variable -/* 197E1C 8026953C 8C450000 */ lw $a1, ($v0) -/* 197E20 80269540 8FBF0010 */ lw $ra, 0x10($sp) -/* 197E24 80269544 24020002 */ addiu $v0, $zero, 2 -/* 197E28 80269548 03E00008 */ jr $ra -/* 197E2C 8026954C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_80269550.s b/asm/nonmatchings/code_196AA0/func_80269550.s deleted file mode 100644 index 36c98f24ff..0000000000 --- a/asm/nonmatchings/code_196AA0/func_80269550.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269550 -/* 197E30 80269550 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197E34 80269554 AFBF0010 */ sw $ra, 0x10($sp) -/* 197E38 80269558 8C82000C */ lw $v0, 0xc($a0) -/* 197E3C 8026955C 0C0B1EAF */ jal get_variable -/* 197E40 80269560 8C450000 */ lw $a1, ($v0) -/* 197E44 80269564 8FBF0010 */ lw $ra, 0x10($sp) -/* 197E48 80269568 3C01800E */ lui $at, 0x800e -/* 197E4C 8026956C A022C0F6 */ sb $v0, -0x3f0a($at) -/* 197E50 80269570 24020002 */ addiu $v0, $zero, 2 -/* 197E54 80269574 03E00008 */ jr $ra -/* 197E58 80269578 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_802695A8.s b/asm/nonmatchings/code_196AA0/func_802695A8.s deleted file mode 100644 index 2a95bed735..0000000000 --- a/asm/nonmatchings/code_196AA0/func_802695A8.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802695A8 -/* 197E88 802695A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197E8C 802695AC AFBF0010 */ sw $ra, 0x10($sp) -/* 197E90 802695B0 8C82000C */ lw $v0, 0xc($a0) -/* 197E94 802695B4 3C06800E */ lui $a2, 0x800e -/* 197E98 802695B8 80C6C0F4 */ lb $a2, -0x3f0c($a2) -/* 197E9C 802695BC 0C0B2026 */ jal set_variable -/* 197EA0 802695C0 8C450000 */ lw $a1, ($v0) -/* 197EA4 802695C4 8FBF0010 */ lw $ra, 0x10($sp) -/* 197EA8 802695C8 24020002 */ addiu $v0, $zero, 2 -/* 197EAC 802695CC 03E00008 */ jr $ra -/* 197EB0 802695D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_802695D4.s b/asm/nonmatchings/code_196AA0/func_802695D4.s deleted file mode 100644 index 1e37b31129..0000000000 --- a/asm/nonmatchings/code_196AA0/func_802695D4.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802695D4 -/* 197EB4 802695D4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197EB8 802695D8 AFBF0010 */ sw $ra, 0x10($sp) -/* 197EBC 802695DC 8C82000C */ lw $v0, 0xc($a0) -/* 197EC0 802695E0 0C0B1EAF */ jal get_variable -/* 197EC4 802695E4 8C450000 */ lw $a1, ($v0) -/* 197EC8 802695E8 8FBF0010 */ lw $ra, 0x10($sp) -/* 197ECC 802695EC 3C01800E */ lui $at, 0x800e -/* 197ED0 802695F0 A022C0F4 */ sb $v0, -0x3f0c($at) -/* 197ED4 802695F4 24020002 */ addiu $v0, $zero, 2 -/* 197ED8 802695F8 03E00008 */ jr $ra -/* 197EDC 802695FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_80269600.s b/asm/nonmatchings/code_196AA0/func_80269600.s deleted file mode 100644 index 69154f67de..0000000000 --- a/asm/nonmatchings/code_196AA0/func_80269600.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269600 -/* 197EE0 80269600 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197EE4 80269604 AFBF0010 */ sw $ra, 0x10($sp) -/* 197EE8 80269608 8C82000C */ lw $v0, 0xc($a0) -/* 197EEC 8026960C 3C06800E */ lui $a2, 0x800e -/* 197EF0 80269610 80C6C0F5 */ lb $a2, -0x3f0b($a2) -/* 197EF4 80269614 0C0B2026 */ jal set_variable -/* 197EF8 80269618 8C450000 */ lw $a1, ($v0) -/* 197EFC 8026961C 8FBF0010 */ lw $ra, 0x10($sp) -/* 197F00 80269620 24020002 */ addiu $v0, $zero, 2 -/* 197F04 80269624 03E00008 */ jr $ra -/* 197F08 80269628 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_196AA0/func_8026962C.s b/asm/nonmatchings/code_196AA0/func_8026962C.s deleted file mode 100644 index a131a5b9bb..0000000000 --- a/asm/nonmatchings/code_196AA0/func_8026962C.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8026962C -/* 197F0C 8026962C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197F10 80269630 AFBF0010 */ sw $ra, 0x10($sp) -/* 197F14 80269634 8C82000C */ lw $v0, 0xc($a0) -/* 197F18 80269638 0C0B1EAF */ jal get_variable -/* 197F1C 8026963C 8C450000 */ lw $a1, ($v0) -/* 197F20 80269640 8FBF0010 */ lw $ra, 0x10($sp) -/* 197F24 80269644 3C01800E */ lui $at, 0x800e -/* 197F28 80269648 A022C0F5 */ sb $v0, -0x3f0b($at) -/* 197F2C 8026964C 24020002 */ addiu $v0, $zero, 2 -/* 197F30 80269650 03E00008 */ jr $ra -/* 197F34 80269654 27BD0018 */ addiu $sp, $sp, 0x18 -/* 197F38 80269658 00000000 */ nop -/* 197F3C 8026965C 00000000 */ nop diff --git a/asm/nonmatchings/code_1AF230/LoadStarPowerScript.s b/asm/nonmatchings/code_1AF230/LoadStarPowerScript.s index 65e0bba00a..b141c3d864 100644 --- a/asm/nonmatchings/code_1AF230/LoadStarPowerScript.s +++ b/asm/nonmatchings/code_1AF230/LoadStarPowerScript.s @@ -38,3 +38,7 @@ glabel LoadStarPowerScript /* 1AF2B4 802809D4 8FB00010 */ lw $s0, 0x10($sp) /* 1AF2B8 802809D8 24020002 */ addiu $v0, $zero, 2 /* 1AF2BC 802809DC 03E00008 */ jr $ra +/* 1AF2C0 802809E0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 1AF2C4 802809E4 00000000 */ nop +/* 1AF2C8 802809E8 00000000 */ nop +/* 1AF2CC 802809EC 00000000 */ nop diff --git a/include/common_structs.h b/include/common_structs.h index 747fce56fc..bdcfd230f8 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -539,9 +539,11 @@ typedef struct BattleStatus { /* 0x07C */ u8 changePartnerAllowed; /* 0x07D */ char unk_7D[4]; /* 0x081 */ s8 actionSuccess; - /* 0x072 */ char unk_7C[3]; + /* 0x082 */ char unk_82; + /* 0x083 */ s8 unk_83; + /* 0x084 */ s8 unk_84; /* 0x085 */ s8 unk_85; - /* 0x086 */ char unk_86; + /* 0x086 */ s8 unk_86; /* 0x087 */ s8 blockResult; /* 0 = fail, 1 = success, -1 = mashed */ /* 0x088 */ u8 itemUsesLeft; /* set to 2 for doublke dip, 3 for triple */ /* 0x089 */ u8 hpDrainCount; @@ -626,7 +628,8 @@ typedef struct BattleStatus { /* 0x330 */ s32 pushInputBuffer[64]; /* 0x430 */ u8 holdInputBufferPos; /* 0x431 */ u8 inputBufferPos; - /* 0x432 */ char unk_432[6]; + /* 0x432 */ char unk_432[2]; + /* 0x434 */ s32 unk_434; /* 0x438 */ s32* foregroundModelList; /* 0x43C */ UNK_PTR turboChargeCounter; /* 0x440 */ u8 tattleFlags[27]; diff --git a/include/variables.h b/include/variables.h index 851fb587be..9b95a85df1 100644 --- a/include/variables.h +++ b/include/variables.h @@ -106,7 +106,7 @@ extern s32 D_800A0960; extern s32 D_800A0964; // Pause -//extern s32 gPauseMenuStrings[348]; +extern s32 gPauseMenuStrings[348]; extern s32 gGameState; extern s32 D_8009A650[1]; diff --git a/src/code_196AA0.c b/src/code_196AA0.c index 411d9c46c4..cc17c99b2f 100644 --- a/src/code_196AA0.c +++ b/src/code_196AA0.c @@ -34,7 +34,10 @@ INCLUDE_ASM(s32, "code_196AA0", func_80269118); INCLUDE_ASM(s32, "code_196AA0", func_80269160); -INCLUDE_ASM(s32, "code_196AA0", func_8026919C); +ApiStatus func_8026919C(ScriptInstance* script, s32 isInitialCall) { + gBattleStatus.unk_434 = get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} INCLUDE_ASM(s32, "code_196AA0", func_802691C8); @@ -48,9 +51,15 @@ ApiStatus SetActionSuccess(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_196AA0", func_802692EC); +ApiStatus func_802692EC(ScriptInstance* script, s32 isInitialCall) { + gBattleStatus.unk_83 = get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_196AA0", func_80269318); +ApiStatus func_80269318(ScriptInstance* script, s32 isInitialCall) { + set_variable(script, *script->ptrReadPos, gBattleStatus.unk_83); + return ApiStatus_DONE2; +} INCLUDE_ASM(s32, "code_196AA0", func_80269344); @@ -74,19 +83,37 @@ ApiStatus GetActionSuccessCopy(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_196AA0", func_80269524); +ApiStatus func_80269524(ScriptInstance* script, s32 isInitialCall) { + set_variable(script, *script->ptrReadPos, gBattleStatus.unk_86); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_196AA0", func_80269550); +ApiStatus func_80269550(ScriptInstance* script, s32 isInitialCall) { + gBattleStatus.unk_86 = get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} ApiStatus GetBlockResult(ScriptInstance* script, s32 isInitialCall) { set_variable(script, *script->ptrReadPos, gBattleStatus.blockResult); return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_196AA0", func_802695A8); +ApiStatus func_802695A8(ScriptInstance* script, s32 isInitialCall) { + set_variable(script, *script->ptrReadPos, gBattleStatus.unk_84); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_196AA0", func_802695D4); +ApiStatus func_802695D4(ScriptInstance* script, s32 isInitialCall) { + gBattleStatus.unk_84 = get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_196AA0", func_80269600); +ApiStatus func_80269600(ScriptInstance* script, s32 isInitialCall) { + set_variable(script, *script->ptrReadPos, gBattleStatus.unk_85); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_196AA0", func_8026962C); +ApiStatus func_8026962C(ScriptInstance* script, s32 isInitialCall) { + gBattleStatus.unk_85 = get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} diff --git a/tools/splat.yaml b/tools/splat.yaml index c547041009..8cbeeeac63 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -317,7 +317,7 @@ segments: - [0x1AC760, "c"] - [0x1AF120, "c"] - [0x1AF230, "c"] - - [0x1AF2C0, "bin"] + - [0x1AF2D0, "bin"] - [0x1CC310, "bin"] # icon images and palettes, vram unknown - name: code type: code diff --git a/undefined_syms.txt b/undefined_syms.txt index 94f17ab24c..10e0c6b060 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -215,6 +215,8 @@ gMapVars = 0x802DA484; gEffectTable = 0x8007F214; +gPauseMenuStrings = 0x8026F778; + MarioEnterStage = 0x80284A40; PeachEnterStage = 0x80284D04; HandleEvent_Player = 0x802852D4;