From 887812281bb894a35f8cd0f4d5793b953d260d46 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Tue, 20 Dec 2022 11:46:50 -0800 Subject: [PATCH] fix up a nonmatch --- src/data/trade_items.h | 43 ++++++++++++++++++++++++++++++ src/status_actions.c | 59 +++++++++++++++--------------------------- 2 files changed, 64 insertions(+), 38 deletions(-) create mode 100644 src/data/trade_items.h diff --git a/src/data/trade_items.h b/src/data/trade_items.h new file mode 100644 index 000000000..ae7892efc --- /dev/null +++ b/src/data/trade_items.h @@ -0,0 +1,43 @@ +const u8 gUnknown_80E61A4[] = "What would you like to do? "; +const u8 gUnknown_80E61C0[] = "Please choose the item to be sent."; +ALIGNED(4) const u8 gUnknown_80E61E4[] = _("{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 GREEN_2}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}\n" +"will be sent.\n" +"Is that OK?"); + +ALIGNED(4) const u8 gUnknown_80E6214[] = _("Your friend will send you an item.\n" + "When you are both ready{COMMA} you\n" + "may communicate."); + +ALIGNED(4) const u8 gUnknown_80E6268[] = _("Preparing to send an item to your\n" + "friend. When you are both ready{COMMA}\n" + "you may communicate."); + +ALIGNED(4) const u8 gUnknown_80E62C4[] = _("{CENTER_ALIGN}In communication...\n" + "{CENTER_ALIGN}Please wait with the power on.\n" + "{CENTER_ALIGN}To cancel{COMMA} press {B_BUTTON}."); + +ALIGNED(4) const u8 gUnknown_80E6314[] = _("You received\n" + "{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 GREEN_2}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}.\n" + "Your adventure will be saved."); + +ALIGNED(4) const u8 gUnknown_80E6358[] = _("You sent {COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 GREEN_2}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}."); + +// Trade Items Menu Link Error Messages +const u8 gTradeItemsCommunicationError[] = "There was a communication error."; +const u8 gUnknown_80E639C[] = "An incorrect number of GBA systems are\n" + "connected.\n" + "Please redo this process from the start."; + +const u8 gUnknown_80E63F8[] = "There is no response from your friend.\n" + "Please redo this process from the start."; + +const u8 gUnknown_80E6448[] = "The sender and receiver appear to be\n" + "in different modes.\n" + "Please redo the process from the start."; + +ALIGNED(4) const u8 gUnknown_80E64AC[] = _("There is no response from your friend.\n" +"Please make sure the sender and receiver\n" +"are ready{COMMA} then redo this from the start."); + +const u8 gTradeItemsHowManyText[] = "How many?"; +static const u8 aligner[] = "pksdir0"; diff --git a/src/status_actions.c b/src/status_actions.c index 968a4c83c..b01f7313c 100644 --- a/src/status_actions.c +++ b/src/status_actions.c @@ -147,6 +147,7 @@ extern u8 *gUnknown_80FEB08[]; extern u8 gUnknown_202DE58[]; extern s16 gUnknown_80F4E08; extern u8 gDungeonCamouflageTypes[76]; +extern u32 gUnknown_202F228; struct Position_Alt { @@ -163,6 +164,16 @@ extern u8 *gUnknown_80FEFF4[]; extern u32 gUnknown_80F51C4[]; +typedef bool8 (*MoveCallback)(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); + +struct NaturePowerMove +{ + s16 moveID; + u16 unk2; + MoveCallback move; +}; +struct NaturePowerMove gUnknown_80F59C8[10]; + bool8 sub_805AFA4(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, u32 param_4) { s32 r0; @@ -505,7 +516,7 @@ bool8 sub_805B53C(struct DungeonEntity * pokemon, struct DungeonEntity * target, for(r1 = &gUnknown_80F55EC[index]; (999 > index) && (*r1 >= 0); r1 = r1 + 2, index++) { if ((IQ < *r1)){ - r5 = (int)r1[1]; + r5 = r1[1]; goto _0805B598; } } @@ -525,45 +536,17 @@ bool8 LeechSeedMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * return TRUE; } -NAKED bool8 sub_805B618(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) { - asm_unified("\tpush {r4-r6,lr}\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5,r6}\n" - "\tsub sp, 0x8\n" - "\tadds r6, r0, 0\n" - "\tmov r8, r1\n" - "\tmov r9, r3\n" - "\tldr r0, _0805B660\n" - "\tldr r4, [r0]\n" - "\tldr r5, _0805B664\n" - "\tlsls r4, 3\n" - "\tadds r0, r4, r5\n" - "\tldrh r1, [r0]\n" - "\tmov r0, sp\n" - "\tbl InitPokemonMove\n" - "\tadds r5, 0x4\n" - "\tadds r4, r5\n" - "\tldr r4, [r4]\n" - "\tadds r0, r6, 0\n" - "\tmov r1, r8\n" - "\tmov r2, sp\n" - "\tmov r3, r9\n" - "\tbl _call_via_r4\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tadd sp, 0x8\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r6}\n" - "\tpop {r1}\n" - "\tbx r1\n" - "\t.align 2, 0\n" -"_0805B660: .4byte gUnknown_202F228\n" -"_0805B664: .4byte gUnknown_80F59C8"); + bool8 flag; + struct PokemonMove natureMove; + u32 index; + + index = gUnknown_202F228; + + InitPokemonMove(&natureMove, gUnknown_80F59C8[index].moveID); + flag = gUnknown_80F59C8[index].move(pokemon, target, &natureMove, param_4); + return flag; } bool8 sub_805B668(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4)