From bceff5fb5f4ccf50db747f5b82b996cef77de66e Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Mon, 12 Aug 2024 14:33:52 -0400 Subject: [PATCH 1/4] add constant for 3 main bag pockets --- include/constants/global.h | 13 +++++++------ include/item_menu.h | 4 ++-- src/item.c | 2 +- src/item_menu.c | 20 ++++++++++---------- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/include/constants/global.h b/include/constants/global.h index d83b878d9..21c781a0d 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -47,12 +47,13 @@ #define UNION_ROOM_KB_ROW_COUNT 10 #define GIFT_RIBBONS_COUNT 11 -#define POCKET_ITEMS 1 -#define POCKET_KEY_ITEMS 2 -#define POCKET_POKE_BALLS 3 -#define POCKET_TM_CASE 4 -#define POCKET_BERRY_POUCH 5 -#define NUM_BAG_POCKETS 5 +#define POCKET_ITEMS 1 +#define POCKET_KEY_ITEMS 2 +#define POCKET_POKE_BALLS 3 +#define POCKET_TM_CASE 4 +#define POCKET_BERRY_POUCH 5 +#define NUM_BAG_POCKETS 5 +#define NUM_BAG_POCKETS_NO_CASES 3 // number of pockets without considering TM case or berry pouch // Contests #define CONTEST_CATEGORIES_COUNT 5 diff --git a/include/item_menu.h b/include/item_menu.h index 3ba3de4a9..1a8e4c567 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -15,8 +15,8 @@ struct BagStruct u8 location; bool8 bagOpen; u16 pocket; - u16 itemsAbove[3]; - u16 cursorPos[3]; + u16 itemsAbove[NUM_BAG_POCKETS_NO_CASES]; + u16 cursorPos[NUM_BAG_POCKETS_NO_CASES]; }; extern struct BagStruct gBagMenuState; diff --git a/src/item.c b/src/item.c index b414ee8dd..656968370 100644 --- a/src/item.c +++ b/src/item.c @@ -331,7 +331,7 @@ void ClearBag(void) { u16 i; - for (i = 0; i < 5; i++) + for (i = 0; i < NUM_BAG_POCKETS; i++) { ClearItemSlots(gBagPockets[i].itemSlots, gBagPockets[i].capacity); } diff --git a/src/item_menu.c b/src/item_menu.c index b0c288383..8f52ead00 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -47,8 +47,8 @@ struct BagMenuAlloc u16 contextMenuSelectedItem; u8 pocketScrollArrowsTask; u8 pocketSwitchArrowsTask; - u8 nItems[3]; - u8 maxShowed[3]; + u8 nItems[NUM_BAG_POCKETS_NO_CASES]; + u8 maxShowed[NUM_BAG_POCKETS_NO_CASES]; u8 data[4]; }; @@ -57,8 +57,8 @@ struct BagSlots struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; - u16 itemsAbove[3]; - u16 cursorPos[3]; + u16 itemsAbove[NUM_BAG_POCKETS_NO_CASES]; + u16 cursorPos[NUM_BAG_POCKETS_NO_CASES]; u16 registeredItem; u16 pocket; }; @@ -832,7 +832,7 @@ void ResetBagCursorPositions(void) u8 i; gBagMenuState.pocket = POCKET_ITEMS - 1; gBagMenuState.bagOpen = FALSE; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) { gBagMenuState.itemsAbove[i] = 0; gBagMenuState.cursorPos[i] = 0; @@ -857,7 +857,7 @@ void PocketCalculateInitialCursorPosAndItemsAbove(u8 pocketId) static void CalculateInitialCursorPosAndItemsAbove(void) { u8 i; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) { PocketCalculateInitialCursorPosAndItemsAbove(i); } @@ -868,7 +868,7 @@ static void UpdatePocketScrollPositions(void) u8 i; u8 j; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) { if (gBagMenuState.itemsAbove[i] > 3) { @@ -1011,7 +1011,7 @@ void Pocket_CalculateNItemsAndMaxShowed(u8 pocketId) static void All_CalculateNItemsAndMaxShowed(void) { u8 i; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) Pocket_CalculateNItemsAndMaxShowed(i); } @@ -2067,7 +2067,7 @@ static void BackUpPlayerBag(void) memcpy(sBackupPlayerBag->bagPocket_PokeBalls, gSaveBlock1Ptr->bagPocket_PokeBalls, BAG_POKEBALLS_COUNT * sizeof(struct ItemSlot)); sBackupPlayerBag->registeredItem = gSaveBlock1Ptr->registeredItem; sBackupPlayerBag->pocket = gBagMenuState.pocket; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) { sBackupPlayerBag->itemsAbove[i] = gBagMenuState.itemsAbove[i]; sBackupPlayerBag->cursorPos[i] = gBagMenuState.cursorPos[i]; @@ -2087,7 +2087,7 @@ static void RestorePlayerBag(void) memcpy(gSaveBlock1Ptr->bagPocket_PokeBalls, sBackupPlayerBag->bagPocket_PokeBalls, BAG_POKEBALLS_COUNT * sizeof(struct ItemSlot)); gSaveBlock1Ptr->registeredItem = sBackupPlayerBag->registeredItem; gBagMenuState.pocket = sBackupPlayerBag->pocket; - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_BAG_POCKETS_NO_CASES; i++) { gBagMenuState.itemsAbove[i] = sBackupPlayerBag->itemsAbove[i]; gBagMenuState.cursorPos[i] = sBackupPlayerBag->cursorPos[i]; From d844877218545223916a8cf8da4da996ecd9e854 Mon Sep 17 00:00:00 2001 From: Kevin <6500490+Zeturic@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:14:55 -0500 Subject: [PATCH 2/4] Rename the Move Relearner specials. (#684) --- data/maps/TwoIsland_House/scripts.inc | 4 ++-- data/specials.inc | 4 ++-- src/learn_move.c | 2 +- src/party_menu_specials.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/maps/TwoIsland_House/scripts.inc b/data/maps/TwoIsland_House/scripts.inc index 010f0fa10..903e093c0 100644 --- a/data/maps/TwoIsland_House/scripts.inc +++ b/data/maps/TwoIsland_House/scripts.inc @@ -48,7 +48,7 @@ TwoIsland_House_EventScript_AskTutorMon:: TwoIsland_House_EventScript_ChooseMonToTutor:: msgbox TwoIsland_House_Text_TutorWhichMon - special SelectMoveTutorMon + special ChooseMonForMoveRelearner waitstate goto_if_ge VAR_0x8004, PARTY_SIZE, TwoIsland_House_EventScript_EndTutorMove special IsSelectedMonEgg @@ -59,7 +59,7 @@ TwoIsland_House_EventScript_ChooseMonToTutor:: TwoIsland_House_EventScript_ChooseMoveToTeach:: msgbox TwoIsland_House_Text_TeachWhichMove - special DisplayMoveTutorMenu + special TeachMoveRelearnerMove waitstate goto_if_eq VAR_0x8004, 0, TwoIsland_House_EventScript_ChooseMonToTutor goto_if_set HAS_BOTH_MUSHROOMS, TwoIsland_House_EventScript_ChooseMushroom diff --git a/data/specials.inc b/data/specials.inc index 059f29015..d880bf6b9 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -227,12 +227,12 @@ gSpecials:: def_special GetElevatorFloor def_special NullFieldSpecial @ Lottery Corner specials def_special NullFieldSpecial - def_special SelectMoveTutorMon + def_special ChooseMonForMoveRelearner def_special SelectMoveDeleterMove def_special MoveDeleterForgetMove def_special BufferMoveDeleterNicknameAndMove def_special GetNumMovesSelectedMonHas - def_special DisplayMoveTutorMenu + def_special TeachMoveRelearnerMove def_special NullFieldSpecial @ Hoenn Cycling Road specials def_special NullFieldSpecial def_special GetPlayerAvatarBike diff --git a/src/learn_move.c b/src/learn_move.c index 2f7f04b01..0529644fa 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -364,7 +364,7 @@ static void VBlankCB_MoveRelearner(void) TransferPlttBuffer(); } -void DisplayMoveTutorMenu(void) +void TeachMoveRelearnerMove(void) { LockPlayerFieldControls(); CreateTask(Task_InitMoveRelearnerMenu, 10); diff --git a/src/party_menu_specials.c b/src/party_menu_specials.c index 567f6b860..d71c6a495 100644 --- a/src/party_menu_specials.c +++ b/src/party_menu_specials.c @@ -21,7 +21,7 @@ void ChoosePartyMon(void) BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); } -void SelectMoveTutorMon(void) +void ChooseMonForMoveRelearner(void) { u8 taskId; From 355b92f791fb16bb8afe60280492f8b1043420bf Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Mon, 3 Feb 2025 18:19:40 +0100 Subject: [PATCH 3/4] consolidate arrow tiles (#682) --- graphics/fonts/down_arrow.png | Bin 162 -> 0 bytes graphics/fonts/down_arrow_2.png | Bin 150 -> 0 bytes graphics/fonts/down_arrow_RS.png | Bin 163 -> 0 bytes graphics/fonts/down_arrow_RS_2.png | Bin 150 -> 0 bytes graphics/fonts/down_arrows.png | Bin 0 -> 237 bytes src/text.c | 15 +++++++-------- 6 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 graphics/fonts/down_arrow.png delete mode 100644 graphics/fonts/down_arrow_2.png delete mode 100644 graphics/fonts/down_arrow_RS.png delete mode 100644 graphics/fonts/down_arrow_RS_2.png create mode 100644 graphics/fonts/down_arrows.png diff --git a/graphics/fonts/down_arrow.png b/graphics/fonts/down_arrow.png deleted file mode 100644 index e74ed47efdbcb85cbb345ba89a678011020a147b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR|lYK~hrE)vITpad7Ibngs4u(cyJ60_RR<9o-MvO;A rKWK$8c0Ue0!6J5ir2xkQ5x!Q2XY2V-*1IXifXwoA^>bP0l+XkK=*%;M diff --git a/graphics/fonts/down_arrow_2.png b/graphics/fonts/down_arrow_2.png deleted file mode 100644 index aefcf4f0845cf89ef07fbacbf1b4b5e9136dd81e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR|lYK~hrE)vITpad7IiZ1BmE-7>B@D|#W2Q)KU^Z#p e!KlZ~rpUn1Qq8!tabC`QkbX~BKbLh*2~7Z(OfP-_ diff --git a/graphics/fonts/down_arrow_RS.png b/graphics/fonts/down_arrow_RS.png deleted file mode 100644 index c0aae894f79ab93e51999d0d81b3dbf504f9e59a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR|lYK~hrE)vITpad7Ibnf>24ka|9qZ%IiaC>ra)J4G1H8BOH3v+S~~=H eNIx)25MW|pxyCYA^R43wkbX~BKbLh*2~7a3E-&2x diff --git a/graphics/fonts/down_arrows.png b/graphics/fonts/down_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b89fa6bfe9bbb0eec03ff8bfc984610c004f8b7f GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!3-o{wzcm9QjEnx?oJHr&dIz4ats1|LR|lY zK~hrE)vITpad749h@rwT1``V3do(mj>UU(K?s4bo_aYy~jxBs%fW?J7>VtH$t RyyzClC7!N+F6*2UngEj^U!wp3 literal 0 HcmV?d00001 diff --git a/src/text.c b/src/text.c index b2dcff3b5..baaefe2e6 100644 --- a/src/text.c +++ b/src/text.c @@ -10,6 +10,8 @@ #define CURSOR_DELAY 8 +#define DARK_DOWN_ARROW_OFFSET 256 + extern const struct OamData gOamData_AffineOff_ObjNormal_16x16; static void DecompressGlyph_NormalCopy1(u16 glyphId, bool32 isJapanese); @@ -26,12 +28,9 @@ static void SpriteCB_TextCursor(struct Sprite *sprite); COMMON_DATA TextFlags gTextFlags = {0}; -static const u8 sDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow.4bpp"); -static const u8 sDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_RS.4bpp"); -static const u8 sTinyArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_2.4bpp"); -static const u8 sTinyDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_RS_2.4bpp"); -static const u8 sDoubleArrowTiles1[] = INCBIN_U8("graphics/fonts/down_arrow_3.4bpp"); -static const u8 sDoubleArrowTiles2[] = INCBIN_U8("graphics/fonts/down_arrow_4.4bpp"); +static const u8 sDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrows.4bpp"); +static const u8 sDoubleArrowTiles1[] = INCBIN_U8("graphics/fonts/down_arrow_3.4bpp"); +static const u8 sDoubleArrowTiles2[] = INCBIN_U8("graphics/fonts/down_arrow_4.4bpp"); static const u8 sDownArrowYCoords[] = { 0, 16, 32, 16 }; static const u8 sWindowVerticalScrollSpeeds[] = { @@ -497,7 +496,7 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter) arrowTiles = sDownArrowTiles; break; case 1: - arrowTiles = sDarkDownArrowTiles; + arrowTiles = &sDownArrowTiles[DARK_DOWN_ARROW_OFFSET]; break; } @@ -605,7 +604,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c arrowTiles = sDownArrowTiles; break; case 1: - arrowTiles = sDarkDownArrowTiles; + arrowTiles = &sDownArrowTiles[DARK_DOWN_ARROW_OFFSET]; break; } From 7f7ff65e06e58f6d72b3967244f53031fc7a8489 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 7 Mar 2025 20:29:16 -0500 Subject: [PATCH 4/4] .i and .s files should be under build/ when KEEP_TEMPS=1 --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ae6246170..4719798af 100644 --- a/Makefile +++ b/Makefile @@ -301,10 +301,10 @@ ifneq ($(KEEP_TEMPS),1) @echo "$(CC1) -o $@ $<" @$(CPP) $(CPPFLAGS) $< | $(PREPROC) -i $< charmap.txt | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ - else - @$(CPP) $(CPPFLAGS) $< -o $*.i - @$(PREPROC) $*.i charmap.txt | $(CC1) $(CFLAGS) -o $*.s - @echo -e ".text\n\t.align\t2, 0\n" >> $*.s - $(AS) $(ASFLAGS) -o $@ $*.s + @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i + @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s + @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s endif $(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c