From 16429963dd3a9b0f0e26b3edf9568e16b1271f2c Mon Sep 17 00:00:00 2001 From: Scyrous <74797764+Scyrous@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:16:31 +0200 Subject: [PATCH] Selection cursor now moves to second pokemon after operation --- Move-Item.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Move-Item.md b/Move-Item.md index aa10b12..bbfef76 100644 --- a/Move-Item.md +++ b/Move-Item.md @@ -2,7 +2,11 @@ Adds a MOVE option to the ITEM menu which allows you to move held items directly between Pokémon in your party, instead of having to use the bag as a middle man. Originally posted by Zeturic in [this](https://www.pokecommunity.com/threads/simple-modifications-directory.416647/page-3#post-10120157) pokecommunity post. This guide also includes the mail fix by Deokishisu in [this post](https://www.pokecommunity.com/threads/simple-modifications-directory.416647/post-10517557) and the pokeemerald code is much more recent. -Lastly, when two items are swapped, the dialogue box will now display all four buffered strings (two Pokémon, two items) in just two lines of dialogue, rather than four lines. This has been tested with max length Pokémon/item names in mind. +Lastly, some changes have been made compared to the code in the pokecommunity posts: + +- When two items are swapped, the dialogue box will now display all four buffered strings (two Pokémon, two items) in just two lines of dialogue, rather than four lines. This has been tested with max length Pokémon/item names in mind. + +- After moving/swapping items, the selection cursor will now stay on the second Pokémon instead of returning to the first. This matches the behavior seen when switching Pokémon or using Softboiled in the party menu. *** ## 1. In `include/strings.h`, end of the file: @@ -125,9 +129,10 @@ void CursorCb_MoveItemCallback(u8 taskId) // display the string DisplayPartyMenuMessage(gStringVar4, TRUE); - // update colors of selected boxes - AnimatePartySlot(gPartyMenu.slotId2, 0); - AnimatePartySlot(gPartyMenu.slotId, 1); + // update colors of selected boxes, move selection cursor to second mon + AnimatePartySlot(gPartyMenu.slotId, 0); + gPartyMenu.slotId = gPartyMenu.slotId2; + AnimatePartySlot(gPartyMenu.slotId2, 1); // return to the main party menu ScheduleBgCopyTilemapToVram(2);