From 82b3d51743ec1de4013b2cda705c9e0861dcc3c0 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 10 Apr 2023 15:00:20 -0400 Subject: [PATCH 01/30] Made variable for Oak's introduction Pokemon --- src/oak_speech.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/oak_speech.c b/src/oak_speech.c index 4d2e4ccb8..e2e7eb9b0 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -17,6 +17,8 @@ #include "data.h" #include "constants/songs.h" +#define INTRO_SPECIES SPECIES_NIDORAN_F + enum { WIN_INTRO_TEXTBOX, @@ -1191,7 +1193,7 @@ static void Task_OakSpeech_IsInhabitedFarAndWide(u8 taskId) if (gTasks[taskId].tTimer == 32) { OakSpeechPrintMessage(gOakSpeech_Text_IsInhabitedFarAndWide, sOakSpeechResources->textSpeed); - PlayCry_Normal(SPECIES_NIDORAN_F, 0); + PlayCry_Normal(INTRO_SPECIES, 0); } } } @@ -1876,9 +1878,9 @@ static void CreateNidoranFSprite(u8 taskId) { u8 spriteId; - DecompressPicFromTable(&gMonFrontPicTable[SPECIES_NIDORAN_F], MonSpritesGfxManager_GetSpritePtr(0), SPECIES_NIDORAN_F); - LoadCompressedSpritePaletteUsingHeap(&gMonPaletteTable[SPECIES_NIDORAN_F]); - SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0); + DecompressPicFromTable(&gMonFrontPicTable[INTRO_SPECIES], MonSpritesGfxManager_GetSpritePtr(0), INTRO_SPECIES); + LoadCompressedSpritePaletteUsingHeap(&gMonPaletteTable[INTRO_SPECIES]); + SetMultiuseSpriteTemplateToPokemon(INTRO_SPECIES, 0); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 96, 96, 1); gSprites[spriteId].callback = SpriteCallbackDummy; gSprites[spriteId].oam.priority = 1; From 6ac61a1cccdaac3258ab96becf0440d17e8e949b Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 27 Apr 2023 18:57:59 +1000 Subject: [PATCH 02/30] Red and Leaf back palettes swapped Not sure if maybe this is an idiosyncrasy of pkmn fire red, but it looks like it's probably just a typo; Red and Leaf each use the other's back pic palette --- src/data/graphics/trainers.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index cd7463a4e..0b4a21e75 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -450,7 +450,7 @@ const u8 gTrainerBackPic_OldMan[] = INCBIN_U8("graphics/trainers/back_pics/old_m const u8 gTrainerBackPic_RSBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); const u8 gTrainerBackPic_RSMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); -const u32 gTrainerPalette_RedBackPic[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); -const u32 gTrainerPalette_LeafBackPic[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); +const u32 gTrainerPalette_RedBackPic[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); +const u32 gTrainerPalette_LeafBackPic[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); const u32 gTrainerPalette_PokedudeBackPic[] = INCBIN_U32("graphics/trainers/palettes/pokedude_back_pic.gbapal.lz"); const u32 gTrainerPalette_OldManBackPic[] = INCBIN_U32("graphics/trainers/palettes/old_man_back_pic.gbapal.lz"); From 1824a9fea245674813854e13bd3540eaa4e99af7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 3 May 2023 14:21:45 -0400 Subject: [PATCH 03/30] Sync some charmap characters with pokeemerald --- charmap.txt | 17 +++++++---------- src/strings.c | 4 ++-- src/union_room_message.c | 10 +++++----- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/charmap.txt b/charmap.txt index 78305c303..b9d0ed9de 100644 --- a/charmap.txt +++ b/charmap.txt @@ -78,10 +78,12 @@ SUPER_RE = A0 '?' = AC '.' = AD '-' = AE +'·' = AF '…' = B0 '“' = B1 '”' = B2 '‘' = B3 +'’' = B4 '\'' = B4 '♂' = B5 '♀' = B6 @@ -323,13 +325,8 @@ TALL_PLUS = FC 0C FB '?' = AC '。' = AD 'ー' = AE -'·' = AF '‥' = B0 -DYNAMIC = F7 -KEYGFX = F8 -EXTRA = F9 - STRING = FD @ string placeholders @@ -414,7 +411,7 @@ B_BUFF3 = FD 30 NAME_END = FC 00 @ special 0xF7 character -SPECIAL_F7 = F7 +DYNAMIC = F7 @ more text functions @@ -424,20 +421,20 @@ SHADOW = FC 03 @ same as fc 01 COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes PALETTE = FC 05 @ used in credits FONT = FC 06 @ Given a font id, or use font constants below instead -RESET_SIZE = FC 07 +RESET_FONT = FC 07 PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them PAUSE_UNTIL_PRESS = FC 09 WAIT_SE = FC 0A PLAY_BGM = FC 0B ESCAPE = FC 0C -SHIFT_TEXT = FC 0D @ shift rightward by 1-byte arg -SHIFT_DOWN = FC 0E @ shift downward by 1-byte arg +SHIFT_RIGHT = FC 0D +SHIFT_DOWN = FC 0E FILL_WINDOW = FC 0F PLAY_SE = FC 10 CLEAR = FC 11 SKIP = FC 12 CLEAR_TO = FC 13 -SPACING = FC 14 +MIN_LETTER_SPACING = FC 14 JPN = FC 15 ENG = FC 16 PAUSE_MUSIC = FC 17 diff --git a/src/strings.c b/src/strings.c index c23f8d334..c09955503 100644 --- a/src/strings.c +++ b/src/strings.c @@ -955,7 +955,7 @@ const u8 gText_Battle[] = _("BATTLE"); const u8 gText_Lets[] = _("LET'S"); const u8 gText_Ok[] = _("OK!"); const u8 gText_Sorry[] = _("SORRY"); -const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}"); +const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); const u8 gText_PlayerScurriedToCenter[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm‥\p"); @@ -1008,7 +1008,7 @@ const u8 gText_BerriesPicked[] = _("BERRIES picked:"); const u8 gText_BestScore[] = _("Best score:"); const u8 gText_BerriesInRowFivePlayers[] = _("BERRIES picked in a row with\nfive players:"); const u8 gText_BerryPickingResults[] = _("Announcing BERRY-PICKING results!"); -const u8 gText_10P30P50P50P[] = _("10P 30P 50P {EXTRA 0xDD}50P"); +const u8 gText_10P30P50P50P[] = _("10P 30P 50P {EMOJI_MINUS}50P"); const u8 gText_AnnouncingRankings[] = _("Announcing rankings!"); const u8 gText_AnnouncingPrizes[] = _("Announcing prizes!"); const u8 gText_1Colon[] = _("1:"); diff --git a/src/union_room_message.c b/src/union_room_message.c index a1368e9fa..90b481a33 100644 --- a/src/union_room_message.c +++ b/src/union_room_message.c @@ -546,17 +546,17 @@ const u8 *const gTexts_UR_CardColor[] = { sText_ItsGoldCard }; -ALIGNED(4) const u8 gText_UR_TrainerCardInfoPage1[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); -ALIGNED(4) const u8 gText_UR_TrainerCardInfoPage2[] = _("BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); -ALIGNED(4) static const u8 sText_GladToMeetYouMale[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); -ALIGNED(4) static const u8 sText_GladToMeetYouFemale[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); +ALIGNED(4) const u8 gText_UR_TrainerCardInfoPage1[] = _("This is {DYNAMIC 0} {DYNAMIC 1}'s\nTRAINER CARD…\l{DYNAMIC 2}\pPOKéDEX: {DYNAMIC 3}\nTIME: {DYNAMIC 4}:{DYNAMIC 5}\p"); +ALIGNED(4) const u8 gText_UR_TrainerCardInfoPage2[] = _("BATTLES: {DYNAMIC 0} WINS {DYNAMIC 2} LOSSES\nTRADES: {DYNAMIC 3} TIMES\p“{DYNAMIC 4} {DYNAMIC 5}\n{DYNAMIC 6} {DYNAMIC 7}”\p"); +ALIGNED(4) static const u8 sText_GladToMeetYouMale[] = _("{DYNAMIC 1}: Glad to have met you!{PAUSE 60}"); +ALIGNED(4) static const u8 sText_GladToMeetYouFemale[] = _("{DYNAMIC 1}: Glad to meet you!{PAUSE 60}"); const u8 *const gTexts_UR_GladToMeetYou[GENDER_COUNT] = { sText_GladToMeetYouMale, sText_GladToMeetYouFemale }; -ALIGNED(4) const u8 gText_UR_FinishedCheckingPlayersTrainerCard[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); +ALIGNED(4) const u8 gText_UR_FinishedCheckingPlayersTrainerCard[] = _("Finished checking {DYNAMIC 1}'s\nTRAINER CARD.{PAUSE 60}"); ALIGNED(4) static const u8 sText_CanceledReadingCard[] = _("Canceled reading the Card."); static const struct MysteryGiftClientCmd sClientScript_DynamicError[] = { From 349c545939b44a59a349c81de55759a900303739 Mon Sep 17 00:00:00 2001 From: Gamr13 <48205338+Gamr13@users.noreply.github.com> Date: Sun, 7 May 2023 21:11:15 +0100 Subject: [PATCH 04/30] Update Makefile --- tools/gbagfx/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 0edb1579f..53fb61f44 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,8 +1,10 @@ CC = gcc CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O3 -flto -DPNG_SKIP_SETJMP_CHECK +CFLAGS += $(shell pkg-config --cflags libpng) LIBS = -lpng -lz +LDFLAGS += $(shell pkg-config --libs-only-L libpng) SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c huff.c From 9efcec167b91f049a7d1c01a34994b77f76d65b7 Mon Sep 17 00:00:00 2001 From: Gamr13 <48205338+Gamr13@users.noreply.github.com> Date: Sun, 7 May 2023 21:11:54 +0100 Subject: [PATCH 05/30] Update Makefile --- tools/rsfont/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/rsfont/Makefile b/tools/rsfont/Makefile index abe1cab51..55b2e8ab2 100644 --- a/tools/rsfont/Makefile +++ b/tools/rsfont/Makefile @@ -1,8 +1,10 @@ CC = gcc CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK +CFLAGS += $(shell pkg-config --cflags libpng) LIBS = -lpng -lz +LDFLAGS += $(shell pkg-config --libs-only-L libpng) SRCS = main.c convert_png.c util.c font.c From 5e9bf2f8dc5d8f4c0de2a3116d4be9839905389c Mon Sep 17 00:00:00 2001 From: SombrAbsol Date: Tue, 9 May 2023 09:24:54 +0200 Subject: [PATCH 06/30] Magma Emblem is not in the game --- graphics/items/icons/magma_emblem.png | Bin 306 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 graphics/items/icons/magma_emblem.png diff --git a/graphics/items/icons/magma_emblem.png b/graphics/items/icons/magma_emblem.png deleted file mode 100644 index 5404efcf89ec120e629ad80195d88d157b527e24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*DYJN7#bRS1qD@CH!oRo z^xoNT|NsAA!eMzYDCk*n(7P!?-?jw(zZ&%aUDp5qTY#FbJZ)$LQj8@*e!&b5&u*jv zIU77(9780g_Vyd{H8}{lcE%jo+nCqiy6xEG070SEo*dIRD5-rhlh#W}->CA#Ip5jy z5LYqVP0J6%^2=JIlqj_k0ZDE{anKk z(z7-CDHqqB+jn2~n)n8kh;y^KaF>V*uB>XBbV{=9*|erf`Yg7+Y7ehh?qojqW^QQm zv32a59 Date: Tue, 9 May 2023 09:25:20 +0200 Subject: [PATCH 07/30] Old Sea Map is not in the game --- graphics/items/icons/old_sea_map.png | Bin 309 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 graphics/items/icons/old_sea_map.png diff --git a/graphics/items/icons/old_sea_map.png b/graphics/items/icons/old_sea_map.png deleted file mode 100644 index 2c17bfeaa50f202f912155beb0dd9008abb6cc13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*QBFKhK7b$w{+h-yX5Ga z>M6}xTc%_ktuEdY6;vE$2~-6Hj)ow;5TNj=eg%-lSQ6wH%;50sMjDW_+0(@_L}F^{ zg@as&40sqWeC1!`w9sAn#y%iZEwoJInZPFv-^pfY{VPs) z-}fw=Je6ni3Dx(u#(_aSYg8K^cDP8IO*zGrZ^L}rk^iOAT)wv7yj$PaJ-Kt%R{D@a z__Jw+f=3jcuQSdsY3UGM#~@j%*Y3zzcKo5mVfM-f{Q%a?4l}2(3$K>*p5A37Zl(TO v*Hl$cn(L#A^sPr5H`Sj=*N}Ri{8?UqdZ~Wu#flxzLB8^I^>bP0l+XkK1u$|C From aa0ac4abedd4297899d3a196b2836279f90a2fe2 Mon Sep 17 00:00:00 2001 From: SombrAbsol Date: Tue, 9 May 2023 15:04:16 +0200 Subject: [PATCH 08/30] =?UTF-8?q?Remove=20Magma=20Emblem=E2=80=99s=20palet?= =?UTF-8?q?te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graphics/items/icon_palettes/magma_emblem.pal | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 graphics/items/icon_palettes/magma_emblem.pal diff --git a/graphics/items/icon_palettes/magma_emblem.pal b/graphics/items/icon_palettes/magma_emblem.pal deleted file mode 100644 index 55ac014d6..000000000 --- a/graphics/items/icon_palettes/magma_emblem.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -180 180 180 -49 49 49 -74 82 82 -123 123 131 -164 164 197 -222 205 246 -255 255 255 -164 8 57 -222 82 82 -230 115 82 -238 148 82 -246 180 82 -255 213 82 -255 238 106 -255 255 180 -0 0 0 From 3c1e954afa45db1c65bfa69c6f79ae68008ebc2c Mon Sep 17 00:00:00 2001 From: SombrAbsol Date: Tue, 9 May 2023 15:04:35 +0200 Subject: [PATCH 09/30] =?UTF-8?q?Remove=20Old=20Sea=20Map=E2=80=99s=20pale?= =?UTF-8?q?tte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graphics/items/icon_palettes/old_sea_map.pal | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 graphics/items/icon_palettes/old_sea_map.pal diff --git a/graphics/items/icon_palettes/old_sea_map.pal b/graphics/items/icon_palettes/old_sea_map.pal deleted file mode 100644 index e654202c7..000000000 --- a/graphics/items/icon_palettes/old_sea_map.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -213 180 139 -222 205 164 -197 172 123 -148 131 106 -180 148 106 -197 123 115 -180 90 82 -115 90 57 -0 0 0 -0 0 0 -65 49 24 -0 0 0 -0 0 0 -0 0 0 From 42332a824e1e6e3d9391d77a77439b994b2cd317 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 9 May 2023 10:52:53 -0400 Subject: [PATCH 10/30] Sync mapjson with pokeemerald --- tools/mapjson/mapjson.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index cfe95c485..e53ac7924 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -75,6 +75,9 @@ string json_to_string(const Json &data, const string &field = "", bool silent = case Json::Type::BOOL: output = value.bool_value() ? "TRUE" : "FALSE"; break; + case Json::Type::NUL: + output = ""; + break; default:{ if (!silent) { string s = !field.empty() ? ("Value for '" + field + "'") : "JSON field"; @@ -459,23 +462,24 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { for (auto &group : groups_data["group_order"].array_items()) { string groupName = json_to_string(group); text << "// " << groupName << "\n"; - vector map_ids; + vector map_ids; size_t max_length = 0; for (auto &map_name : groups_data[groupName].array_items()) { - string header_filepath = file_dir + json_to_string(map_name) + dir_separator + "map.json"; + string map_filepath = file_dir + json_to_string(map_name) + dir_separator + "map.json"; string err_str; - Json map_data = Json::parse(read_text_file(header_filepath), err_str); - map_ids.push_back(map_data["id"]); - string id = json_to_string(map_data, "id"); + Json map_data = Json::parse(read_text_file(map_filepath), err_str); + if (map_data == Json()) + FATAL_ERROR("%s: %s\n", map_filepath.c_str(), err_str.c_str()); + string id = json_to_string(map_data, "id", true); + map_ids.push_back(id); if (id.length() > max_length) max_length = id.length(); } int map_id_num = 0; - for (Json map_id : map_ids) { - string id = json_to_string(map_id); - text << "#define " << id << string((max_length - id.length() + 1), ' ') + for (string map_id : map_ids) { + text << "#define " << map_id << string((max_length - map_id.length() + 1), ' ') << "(" << map_id_num++ << " | (" << group_num << " << 8))\n"; } text << "\n"; From b83a178b1852b3c7f26881fa4dfe22eb9635f7d1 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 12 May 2023 02:14:16 -0400 Subject: [PATCH 11/30] Add some missing constants in wild_encounter.c --- src/wild_encounter.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index a49b48910..125cdac6a 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -17,6 +17,10 @@ #include "constants/abilities.h" #include "constants/items.h" +#define MAX_ENCOUNTER_RATE 1600 + +#define HEADER_NONE 0xFFFF + struct WildEncounterData { u32 rngState; @@ -42,7 +46,7 @@ static void AddToWildEncounterRateBuff(u8 encouterRate); #include "data/wild_encounters.h" -static const u8 sUnownLetterSlots[][12] = { +static const u8 sUnownLetterSlots[][LAND_WILD_COUNT] = { // A A A A A A A A A A A ? { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27}, // C C C D D D H H H U U O @@ -198,7 +202,7 @@ static u16 GetCurrentMapWildMonHeaderId(void) } } - return -1; + return HEADER_NONE; } static bool8 UnlockedTanobyOrAreNotInTanoby(void) @@ -226,13 +230,13 @@ static void GenerateWildMon(u16 species, u8 level, u8 slot) ZeroEnemyPartyMons(); if (species != SPECIES_UNOWN) { - CreateMonWithNature(&gEnemyParty[0], species, level, 32, Random() % 25); + CreateMonWithNature(&gEnemyParty[0], species, level, USE_RANDOM_IVS, Random() % NUM_NATURES); } else { chamber = gSaveBlock1Ptr->location.mapNum - MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER); personality = GenerateUnownPersonalityByLetter(sUnownLetterSlots[chamber][slot]); - CreateMon(&gEnemyParty[0], species, level, 32, TRUE, personality, FALSE, 0); + CreateMon(&gEnemyParty[0], species, level, USE_RANDOM_IVS, TRUE, personality, FALSE, 0); } } @@ -248,7 +252,7 @@ static u32 GenerateUnownPersonalityByLetter(u8 letter) u8 GetUnownLetterByPersonalityLoByte(u32 personality) { - return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C; + return GET_UNOWN_LETTER(personality); } enum @@ -295,9 +299,9 @@ static u16 GenerateFishingEncounter(const struct WildPokemonInfo * info, u8 rod) return info->wildPokemon[slot].species; } -static bool8 DoWildEncounterRateDiceRoll(u16 a0) +static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) { - if (WildEncounterRandom() % 1600 < a0) + if (WildEncounterRandom() % MAX_ENCOUNTER_RATE < encounterRate) return TRUE; return FALSE; } @@ -322,8 +326,8 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) break; } } - if (encounterRate > 1600) - encounterRate = 1600; + if (encounterRate > MAX_ENCOUNTER_RATE) + encounterRate = MAX_ENCOUNTER_RATE; return DoWildEncounterRateDiceRoll(encounterRate); } @@ -357,7 +361,7 @@ bool8 StandardWildEncounter(u32 currMetatileAttrs, u16 previousMetatileBehavior) return FALSE; headerId = GetCurrentMapWildMonHeaderId(); - if (headerId != 0xFFFF) + if (headerId != HEADER_NONE) { if (ExtractMetatileAttribute(currMetatileAttrs, METATILE_ATTRIBUTE_ENCOUNTER_TYPE) == TILE_ENCOUNTER_LAND) { @@ -442,7 +446,7 @@ bool8 StandardWildEncounter(u32 currMetatileAttrs, u16 previousMetatileBehavior) void RockSmashWildEncounter(void) { u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == 0xFFFF) + if (headerIdx == HEADER_NONE) gSpecialVar_Result = FALSE; else if (gWildMonHeaders[headerIdx].rockSmashMonsInfo == NULL) gSpecialVar_Result = FALSE; @@ -464,7 +468,7 @@ bool8 SweetScentWildEncounter(void) PlayerGetDestCoords(&x, &y); headerId = GetCurrentMapWildMonHeaderId(); - if (headerId != 0xFFFF) + if (headerId != HEADER_NONE) { if (MapGridGetMetatileAttributeAt(x, y, METATILE_ATTRIBUTE_ENCOUNTER_TYPE) == TILE_ENCOUNTER_LAND) { @@ -505,7 +509,7 @@ bool8 SweetScentWildEncounter(void) bool8 DoesCurrentMapHaveFishingMons(void) { u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == 0xFFFF) + if (headerIdx == HEADER_NONE) return FALSE; if (gWildMonHeaders[headerIdx].fishingMonsInfo == NULL) return FALSE; @@ -527,7 +531,7 @@ u16 GetLocalWildMon(bool8 *isWaterMon) *isWaterMon = FALSE; headerId = GetCurrentMapWildMonHeaderId(); - if (headerId == 0xFFFF) + if (headerId == HEADER_NONE) return SPECIES_NONE; landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; @@ -559,7 +563,7 @@ u16 GetLocalWaterMon(void) { u16 headerId = GetCurrentMapWildMonHeaderId(); - if (headerId != 0xFFFF) + if (headerId != HEADER_NONE) { const struct WildPokemonInfo * waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; @@ -669,7 +673,7 @@ static u16 WildEncounterRandom(void) static u8 GetMapBaseEncounterCooldown(u8 encounterType) { u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == 0xFFFF) + if (headerIdx == HEADER_NONE) return 0xFF; if (encounterType == TILE_ENCOUNTER_LAND) { From 86c21427199c7d544e50e72150423ab2cd7a0bc5 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 12 May 2023 10:45:01 -0400 Subject: [PATCH 12/30] Give proper names to item icon graphics --- graphics/items/icons/hm.png | Bin 346 -> 0 bytes graphics/items/icons/{tm.png => tm_hm.png} | Bin include/constants/items.h | 17 +- include/graphics.h | 1224 ++++++++------------ include/item_menu_icons.h | 8 +- src/data/graphics/items.h | 973 ++++++++-------- src/data/item_icon_table.h | 778 +++++++------ src/item_menu_icons.c | 11 +- src/pokemon_storage_system_misc.c | 4 +- 9 files changed, 1406 insertions(+), 1609 deletions(-) delete mode 100644 graphics/items/icons/hm.png rename graphics/items/icons/{tm.png => tm_hm.png} (100%) diff --git a/graphics/items/icons/hm.png b/graphics/items/icons/hm.png deleted file mode 100644 index 46e0f51c2f4693fe4391874c9543af37e833c15d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmV-g0j2(lP)O?V(#wl=H~9^=H}ks-qqFB&CSil#l?GjlzV%7Vq$y$|NsC0|58#?|Aq_c00001 zbW%=J06^y0W&i*H*hxe|R2Y?GV89Rd3kq(4u|KX_wdUXl2z%qIlDC(;6v1q6sj|qK z$&Z`BQX7|-&AT_**-HS#k?JU)In%_&V?B_~uQ{VV*wiF6bRm$#xN>G|)4tTSG!SRg z%$X4i-09`zAkMFj4sQnTjE;_jAWnIi5yOtmnKRFW3`+~O``tEk=1gr6C)7FEG^2Co zERa1?A$C{O+$v^H0=eK<^V_?R-O@WjhA}X%yLme=8!zhqud__e-j870I6M39#j{}{r~^~07*qoM6N<$f@bZYEC2ui diff --git a/graphics/items/icons/tm.png b/graphics/items/icons/tm_hm.png similarity index 100% rename from graphics/items/icons/tm.png rename to graphics/items/icons/tm_hm.png diff --git a/include/constants/items.h b/include/constants/items.h index a3242c13e..cfc42256c 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -177,9 +177,16 @@ #define ITEM_LANSAT_BERRY 173 #define ITEM_STARF_BERRY 174 #define ITEM_ENIGMA_BERRY 175 -#define ITEM_0B0 176 -#define ITEM_0B1 177 -#define ITEM_0B2 178 + +#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY + +#define ITEM_UNUSED_BERRY_1 176 +#define ITEM_UNUSED_BERRY_2 177 +#define ITEM_UNUSED_BERRY_3 178 + +#define MAX_BERRY_INDEX ITEM_UNUSED_BERRY_3 + #define ITEM_BRIGHT_POWDER 179 #define ITEM_WHITE_HERB 180 #define ITEM_MACHO_BRACE 181 @@ -440,8 +447,6 @@ #define ITEMS_COUNT 375 -#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY -#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY #define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) #define MAIL_NONE 0xFF @@ -454,6 +459,6 @@ #define SUPER_ROD 2 // Check if the item is one that can be used on a Pokemon. -#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) +#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= MAX_BERRY_INDEX) #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/graphics.h b/include/graphics.h index eceb39598..7bc8be1ac 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2749,8 +2749,8 @@ extern const u8 gFireRedMenuElements_Gfx[]; extern const u16 gFireRedMenuElements1_Pal[]; extern const u16 gFireRedMenuElements2_Pal[]; -extern const u8 gItemIcon_QuestionMark[]; -extern const u8 gItemIconPalette_QuestionMark[]; +extern const u32 gItemIcon_QuestionMark[]; +extern const u32 gItemIconPalette_QuestionMark[]; // fame_checker extern const u16 gFameCheckerBgPals[0x30]; @@ -2812,756 +2812,476 @@ extern const u32 gBagFemale_Gfx[]; extern const u32 gBag_Pal[]; extern const u32 gSwapLine_Gfx[]; extern const u32 gSwapLine_Pal[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_master_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_master_ball_palette[]; -extern const u8 gFile_graphics_items_icons_ultra_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ultra_ball_palette[]; -extern const u8 gFile_graphics_items_icons_great_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_great_ball_palette[]; -extern const u8 gFile_graphics_items_icons_poke_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poke_ball_palette[]; -extern const u8 gFile_graphics_items_icons_safari_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_safari_ball_palette[]; -extern const u8 gFile_graphics_items_icons_net_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_net_ball_palette[]; -extern const u8 gFile_graphics_items_icons_dive_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dive_ball_palette[]; -extern const u8 gFile_graphics_items_icons_nest_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_nest_ball_palette[]; -extern const u8 gFile_graphics_items_icons_repeat_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_repeat_ball_palette[]; -extern const u8 gFile_graphics_items_icons_timer_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_repeat_ball_palette[]; -extern const u8 gFile_graphics_items_icons_luxury_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_luxury_ball_palette[]; -extern const u8 gFile_graphics_items_icons_premier_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_luxury_ball_palette[]; -extern const u8 gFile_graphics_items_icons_potion_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_potion_palette[]; -extern const u8 gFile_graphics_items_icons_antidote_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_antidote_palette[]; -extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_burn_heal_palette[]; -extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ice_heal_palette[]; -extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_awakening_palette[]; -extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_paralyze_heal_palette[]; -extern const u8 gFile_graphics_items_icons_large_potion_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_full_restore_palette[]; -extern const u8 gFile_graphics_items_icons_large_potion_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_max_potion_palette[]; -extern const u8 gFile_graphics_items_icons_potion_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hyper_potion_palette[]; -extern const u8 gFile_graphics_items_icons_potion_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_super_potion_palette[]; -extern const u8 gFile_graphics_items_icons_full_heal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_full_heal_palette[]; -extern const u8 gFile_graphics_items_icons_revive_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_revive_palette[]; -extern const u8 gFile_graphics_items_icons_max_revive_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_revive_palette[]; -extern const u8 gFile_graphics_items_icons_fresh_water_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fresh_water_palette[]; -extern const u8 gFile_graphics_items_icons_soda_pop_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_soda_pop_palette[]; -extern const u8 gFile_graphics_items_icons_lemonade_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lemonade_palette[]; -extern const u8 gFile_graphics_items_icons_moomoo_milk_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_moomoo_milk_palette[]; -extern const u8 gFile_graphics_items_icon_palettes_energy_powder_palette[]; -extern const u8 gFile_graphics_items_icons_energy_root_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_energy_root_palette[]; -extern const u8 gFile_graphics_items_icon_palettes_heal_powder_palette[]; -extern const u8 gFile_graphics_items_icons_revival_herb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_revival_herb_palette[]; -extern const u8 gFile_graphics_items_icons_ether_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ether_palette[]; -extern const u8 gFile_graphics_items_icons_ether_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_max_ether_palette[]; -extern const u8 gFile_graphics_items_icons_ether_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_elixir_palette[]; -extern const u8 gFile_graphics_items_icons_ether_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_max_elixir_palette[]; -extern const u8 gFile_graphics_items_icons_lava_cookie_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[]; -extern const u8 gFile_graphics_items_icons_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_blue_flute_palette[]; -extern const u8 gFile_graphics_items_icons_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_yellow_flute_palette[]; -extern const u8 gFile_graphics_items_icons_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_red_flute_palette[]; -extern const u8 gFile_graphics_items_icons_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_black_flute_palette[]; -extern const u8 gFile_graphics_items_icons_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_white_flute_palette[]; -extern const u8 gFile_graphics_items_icons_berry_juice_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_berry_juice_palette[]; -extern const u8 gFile_graphics_items_icons_sacred_ash_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sacred_ash_palette[]; -extern const u32 gFile_graphics_items_icons_powder_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_shoal_salt_palette[]; -extern const u8 gFile_graphics_items_icons_shoal_shell_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_shell_palette[]; -extern const u8 gFile_graphics_items_icons_shard_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_red_shard_palette[]; -extern const u8 gFile_graphics_items_icons_shard_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_blue_shard_palette[]; -extern const u8 gFile_graphics_items_icons_shard_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_yellow_shard_palette[]; -extern const u8 gFile_graphics_items_icons_shard_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_green_shard_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_hp_up_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hp_up_palette[]; -extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_protein_palette[]; -extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_iron_palette[]; -extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_carbos_palette[]; -extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_calcium_palette[]; -extern const u8 gFile_graphics_items_icons_rare_candy_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rare_candy_palette[]; -extern const u8 gFile_graphics_items_icons_pp_up_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pp_up_palette[]; -extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_zinc_palette[]; -extern const u8 gFile_graphics_items_icons_pp_max_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pp_max_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_guard_spec_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dire_hit_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_x_attack_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_x_defend_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_x_speed_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_x_accuracy_palette[]; -extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_x_special_palette[]; -extern const u8 gFile_graphics_items_icons_poke_doll_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poke_doll_palette[]; -extern const u8 gFile_graphics_items_icons_fluffy_tail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fluffy_tail_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_repel_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_super_repel_palette[]; -extern const u8 gFile_graphics_items_icons_repel_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_max_repel_palette[]; -extern const u8 gFile_graphics_items_icons_escape_rope_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_escape_rope_palette[]; -extern const u8 gFile_graphics_items_icons_repel_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_repel_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_sun_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sun_stone_palette[]; -extern const u8 gFile_graphics_items_icons_moon_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_moon_stone_palette[]; -extern const u8 gFile_graphics_items_icons_fire_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fire_stone_palette[]; -extern const u8 gFile_graphics_items_icons_thunder_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_thunder_stone_palette[]; -extern const u8 gFile_graphics_items_icons_water_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_stone_palette[]; -extern const u8 gFile_graphics_items_icons_leaf_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_leaf_stone_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_tiny_mushroom_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mushroom_palette[]; -extern const u8 gFile_graphics_items_icons_big_mushroom_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mushroom_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_pearl_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pearl_palette[]; -extern const u8 gFile_graphics_items_icons_big_pearl_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pearl_palette[]; -extern const u8 gFile_graphics_items_icons_stardust_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_star_palette[]; -extern const u8 gFile_graphics_items_icons_star_piece_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_star_palette[]; -extern const u8 gFile_graphics_items_icons_nugget_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_nugget_palette[]; -extern const u8 gFile_graphics_items_icons_heart_scale_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_heart_scale_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_orange_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_orange_mail_palette[]; -extern const u8 gFile_graphics_items_icons_harbor_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_harbor_mail_palette[]; -extern const u8 gFile_graphics_items_icons_glitter_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_glitter_mail_palette[]; -extern const u8 gFile_graphics_items_icons_mech_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mech_mail_palette[]; -extern const u8 gFile_graphics_items_icons_wood_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_wood_mail_palette[]; -extern const u8 gFile_graphics_items_icons_wave_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_wave_mail_palette[]; -extern const u8 gFile_graphics_items_icons_bead_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_bead_mail_palette[]; -extern const u8 gFile_graphics_items_icons_shadow_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_shadow_mail_palette[]; -extern const u8 gFile_graphics_items_icons_tropic_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_tropic_mail_palette[]; -extern const u8 gFile_graphics_items_icons_dream_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dream_mail_palette[]; -extern const u8 gFile_graphics_items_icons_fab_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fab_mail_palette[]; -extern const u8 gFile_graphics_items_icons_retro_mail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_retro_mail_palette[]; -extern const u8 gFile_graphics_items_icons_cheri_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_cheri_berry_palette[]; -extern const u8 gFile_graphics_items_icons_chesto_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_chesto_berry_palette[]; -extern const u8 gFile_graphics_items_icons_pecha_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pecha_berry_palette[]; -extern const u8 gFile_graphics_items_icons_rawst_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rawst_berry_palette[]; -extern const u8 gFile_graphics_items_icons_aspear_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_aspear_berry_palette[]; -extern const u8 gFile_graphics_items_icons_leppa_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_leppa_berry_palette[]; -extern const u8 gFile_graphics_items_icons_oran_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_oran_berry_palette[]; -extern const u8 gFile_graphics_items_icons_persim_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_persim_berry_palette[]; -extern const u8 gFile_graphics_items_icons_lum_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lum_berry_palette[]; -extern const u8 gFile_graphics_items_icons_sitrus_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sitrus_berry_palette[]; -extern const u8 gFile_graphics_items_icons_figy_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_figy_berry_palette[]; -extern const u8 gFile_graphics_items_icons_wiki_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_wiki_berry_palette[]; -extern const u8 gFile_graphics_items_icons_mago_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mago_berry_palette[]; -extern const u8 gFile_graphics_items_icons_aguav_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_aguav_berry_palette[]; -extern const u8 gFile_graphics_items_icons_iapapa_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_iapapa_berry_palette[]; -extern const u8 gFile_graphics_items_icons_razz_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_razz_berry_palette[]; -extern const u8 gFile_graphics_items_icons_bluk_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_bluk_berry_palette[]; -extern const u8 gFile_graphics_items_icons_nanab_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_nanab_berry_palette[]; -extern const u8 gFile_graphics_items_icons_wepear_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_wepear_berry_palette[]; -extern const u8 gFile_graphics_items_icons_pinap_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pinap_berry_palette[]; -extern const u8 gFile_graphics_items_icons_pomeg_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pomeg_berry_palette[]; -extern const u8 gFile_graphics_items_icons_kelpsy_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_kelpsy_berry_palette[]; -extern const u8 gFile_graphics_items_icons_qualot_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_qualot_berry_palette[]; -extern const u8 gFile_graphics_items_icons_hondew_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hondew_berry_palette[]; -extern const u8 gFile_graphics_items_icons_grepa_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_grepa_berry_palette[]; -extern const u8 gFile_graphics_items_icons_tamato_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_tamato_berry_palette[]; -extern const u8 gFile_graphics_items_icons_cornn_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_cornn_berry_palette[]; -extern const u8 gFile_graphics_items_icons_magost_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_magost_berry_palette[]; -extern const u8 gFile_graphics_items_icons_rabuta_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rabuta_berry_palette[]; -extern const u8 gFile_graphics_items_icons_nomel_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_nomel_berry_palette[]; -extern const u8 gFile_graphics_items_icons_spelon_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_spelon_berry_palette[]; -extern const u8 gFile_graphics_items_icons_pamtre_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pamtre_berry_palette[]; -extern const u8 gFile_graphics_items_icons_watmel_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_watmel_berry_palette[]; -extern const u8 gFile_graphics_items_icons_durin_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_durin_berry_palette[]; -extern const u8 gFile_graphics_items_icons_belue_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_belue_berry_palette[]; -extern const u8 gFile_graphics_items_icons_liechi_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_liechi_berry_palette[]; -extern const u8 gFile_graphics_items_icons_ganlon_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ganlon_berry_palette[]; -extern const u8 gFile_graphics_items_icons_salac_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_salac_berry_palette[]; -extern const u8 gFile_graphics_items_icons_petaya_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_petaya_berry_palette[]; -extern const u8 gFile_graphics_items_icons_apicot_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_apicot_berry_palette[]; -extern const u8 gFile_graphics_items_icons_lansat_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lansat_berry_palette[]; -extern const u8 gFile_graphics_items_icons_starf_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_starf_berry_palette[]; -extern const u8 gFile_graphics_items_icons_enigma_berry_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_enigma_berry_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_bright_powder_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_bright_powder_palette[]; -extern const u8 gFile_graphics_items_icons_in_battle_herb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_white_herb_palette[]; -extern const u8 gFile_graphics_items_icons_macho_brace_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_macho_brace_palette[]; -extern const u8 gFile_graphics_items_icons_exp_share_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_exp_share_palette[]; -extern const u8 gFile_graphics_items_icons_quick_claw_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_quick_claw_palette[]; -extern const u8 gFile_graphics_items_icons_soothe_bell_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_soothe_bell_palette[]; -extern const u8 gFile_graphics_items_icons_in_battle_herb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mental_herb_palette[]; -extern const u8 gFile_graphics_items_icons_choice_band_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_choice_band_palette[]; -extern const u8 gFile_graphics_items_icons_kings_rock_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_kings_rock_palette[]; -extern const u8 gFile_graphics_items_icons_silver_powder_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_silver_powder_palette[]; -extern const u8 gFile_graphics_items_icons_amulet_coin_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_amulet_coin_palette[]; -extern const u8 gFile_graphics_items_icons_cleanse_tag_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_cleanse_tag_palette[]; -extern const u8 gFile_graphics_items_icons_soul_dew_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_soul_dew_palette[]; -extern const u8 gFile_graphics_items_icons_deep_sea_tooth_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_deep_sea_tooth_palette[]; -extern const u8 gFile_graphics_items_icons_deep_sea_scale_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_deep_sea_scale_palette[]; -extern const u8 gFile_graphics_items_icons_smoke_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_smoke_ball_palette[]; -extern const u8 gFile_graphics_items_icons_everstone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_everstone_palette[]; -extern const u8 gFile_graphics_items_icons_focus_band_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_focus_band_palette[]; -extern const u8 gFile_graphics_items_icons_lucky_egg_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lucky_egg_palette[]; -extern const u8 gFile_graphics_items_icons_scope_lens_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_scope_lens_palette[]; -extern const u8 gFile_graphics_items_icons_metal_coat_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_metal_coat_palette[]; -extern const u8 gFile_graphics_items_icons_leftovers_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_leftovers_palette[]; -extern const u8 gFile_graphics_items_icons_dragon_scale_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dragon_scale_palette[]; -extern const u8 gFile_graphics_items_icons_light_ball_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_light_ball_palette[]; -extern const u8 gFile_graphics_items_icons_soft_sand_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_soft_sand_palette[]; -extern const u8 gFile_graphics_items_icons_hard_stone_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hard_stone_palette[]; -extern const u8 gFile_graphics_items_icons_miracle_seed_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_miracle_seed_palette[]; -extern const u8 gFile_graphics_items_icons_black_glasses_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[]; -extern const u8 gFile_graphics_items_icons_black_belt_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[]; -extern const u8 gFile_graphics_items_icons_magnet_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_magnet_palette[]; -extern const u8 gFile_graphics_items_icons_mystic_water_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mystic_water_palette[]; -extern const u8 gFile_graphics_items_icons_sharp_beak_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sharp_beak_palette[]; -extern const u8 gFile_graphics_items_icons_poison_barb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poison_barb_palette[]; -extern const u8 gFile_graphics_items_icons_never_melt_ice_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_never_melt_ice_palette[]; -extern const u8 gFile_graphics_items_icons_spell_tag_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_spell_tag_palette[]; -extern const u8 gFile_graphics_items_icons_twisted_spoon_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_twisted_spoon_palette[]; -extern const u8 gFile_graphics_items_icons_charcoal_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_charcoal_palette[]; -extern const u8 gFile_graphics_items_icons_dragon_fang_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dragon_fang_palette[]; -extern const u8 gFile_graphics_items_icons_silk_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_silk_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_up_grade_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_up_grade_palette[]; -extern const u8 gFile_graphics_items_icons_shell_bell_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_shell_palette[]; -extern const u8 gFile_graphics_items_icons_sea_incense_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sea_incense_palette[]; -extern const u8 gFile_graphics_items_icons_lax_incense_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lax_incense_palette[]; -extern const u8 gFile_graphics_items_icons_lucky_punch_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lucky_punch_palette[]; -extern const u8 gFile_graphics_items_icons_metal_powder_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_metal_powder_palette[]; -extern const u8 gFile_graphics_items_icons_thick_club_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_thick_club_palette[]; -extern const u8 gFile_graphics_items_icons_stick_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_stick_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_red_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_blue_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pink_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_green_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_scarf_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_yellow_scarf_palette[]; -extern const u8 gFile_graphics_items_icons_mach_bike_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mach_bike_palette[]; -extern const u8 gFile_graphics_items_icons_coin_case_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_coin_case_palette[]; -extern const u8 gFile_graphics_items_icons_itemfinder_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_itemfinder_palette[]; -extern const u8 gFile_graphics_items_icons_old_rod_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_old_rod_palette[]; -extern const u8 gFile_graphics_items_icons_good_rod_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_good_rod_palette[]; -extern const u8 gFile_graphics_items_icons_super_rod_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_super_rod_palette[]; -extern const u8 gFile_graphics_items_icons_ss_ticket_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ss_ticket_palette[]; -extern const u8 gFile_graphics_items_icons_contest_pass_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_contest_pass_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_wailmer_pail_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_wailmer_pail_palette[]; -extern const u8 gFile_graphics_items_icons_devon_goods_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_devon_goods_palette[]; -extern const u8 gFile_graphics_items_icons_soot_sack_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_soot_sack_palette[]; -extern const u8 gFile_graphics_items_icons_basement_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_old_key_palette[]; -extern const u8 gFile_graphics_items_icons_acro_bike_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_acro_bike_palette[]; -extern const u8 gFile_graphics_items_icons_pokeblock_case_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_pokeblock_case_palette[]; -extern const u8 gFile_graphics_items_icons_letter_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[]; -extern const u8 gFile_graphics_items_icons_eon_ticket_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_eon_ticket_palette[]; -extern const u8 gFile_graphics_items_icons_orb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_red_orb_palette[]; -extern const u8 gFile_graphics_items_icons_orb_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_blue_orb_palette[]; -extern const u8 gFile_graphics_items_icons_scanner_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_scanner_palette[]; -extern const u8 gFile_graphics_items_icons_go_goggles_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_go_goggles_palette[]; -extern const u8 gFile_graphics_items_icons_meteorite_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_meteorite_palette[]; -extern const u8 gFile_graphics_items_icons_room1_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; -extern const u8 gFile_graphics_items_icons_room2_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; -extern const u8 gFile_graphics_items_icons_room4_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; -extern const u8 gFile_graphics_items_icons_room6_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; -extern const u8 gFile_graphics_items_icons_storage_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_old_key_palette[]; -extern const u8 gFile_graphics_items_icons_root_fossil_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[]; -extern const u8 gFile_graphics_items_icons_claw_fossil_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[]; -extern const u8 gFile_graphics_items_icons_devon_scope_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_devon_scope_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dragon_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ghost_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_tm_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; -extern const u8 gFile_graphics_items_icons_oaks_parcel_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_oaks_parcel_palette[]; -extern const u8 gFile_graphics_items_icons_poke_flute_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_poke_flute_palette[]; -extern const u8 gFile_graphics_items_icons_secret_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_secret_key_palette[]; -extern const u8 gFile_graphics_items_icons_bike_voucher_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_bike_voucher_palette[]; -extern const u8 gFile_graphics_items_icons_gold_teeth_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_gold_teeth_palette[]; -extern const u8 gFile_graphics_items_icons_old_amber_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_old_amber_palette[]; -extern const u8 gFile_graphics_items_icons_card_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_card_key_palette[]; -extern const u8 gFile_graphics_items_icons_lift_key_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; -extern const u8 gFile_graphics_items_icons_helix_fossil_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_kanto_fossil_palette[]; -extern const u8 gFile_graphics_items_icons_dome_fossil_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_kanto_fossil_palette[]; -extern const u8 gFile_graphics_items_icons_silph_scope_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_silph_scope_palette[]; -extern const u8 gFile_graphics_items_icons_bicycle_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_bicycle_palette[]; -extern const u8 gFile_graphics_items_icons_town_map_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_town_map_palette[]; -extern const u8 gFile_graphics_items_icons_vs_seeker_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_vs_seeker_palette[]; -extern const u8 gFile_graphics_items_icons_fame_checker_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_fame_checker_palette[]; -extern const u8 gFile_graphics_items_icons_tm_case_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_tm_case_palette[]; -extern const u8 gFile_graphics_items_icons_berry_pouch_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_berry_pouch_palette[]; -extern const u8 gFile_graphics_items_icons_teachy_tv_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_teachy_tv_palette[]; -extern const u8 gFile_graphics_items_icons_tri_pass_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_tri_pass_palette[]; -extern const u8 gFile_graphics_items_icons_rainbow_pass_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_rainbow_pass_palette[]; -extern const u8 gFile_graphics_items_icons_tea_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_tea_palette[]; -extern const u8 gFile_graphics_items_icons_mystic_ticket_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_mystic_ticket_palette[]; -extern const u8 gFile_graphics_items_icons_aurora_ticket_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_aurora_ticket_palette[]; -extern const u8 gFile_graphics_items_icons_powder_jar_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_powder_jar_palette[]; -extern const u8 gFile_graphics_items_icons_gem_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_ruby_palette[]; -extern const u8 gFile_graphics_items_icons_gem_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_sapphire_palette[]; -extern const u8 gFile_graphics_items_icons_return_to_field_arrow_sheet[]; -extern const u8 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[]; +extern const u32 gItemIcon_MasterBall[]; +extern const u32 gItemIconPalette_MasterBall[]; +extern const u32 gItemIcon_UltraBall[]; +extern const u32 gItemIconPalette_UltraBall[]; +extern const u32 gItemIcon_GreatBall[]; +extern const u32 gItemIconPalette_GreatBall[]; +extern const u32 gItemIcon_PokeBall[]; +extern const u32 gItemIconPalette_PokeBall[]; +extern const u32 gItemIcon_SafariBall[]; +extern const u32 gItemIconPalette_SafariBall[]; +extern const u32 gItemIcon_NetBall[]; +extern const u32 gItemIconPalette_NetBall[]; +extern const u32 gItemIcon_DiveBall[]; +extern const u32 gItemIconPalette_DiveBall[]; +extern const u32 gItemIcon_NestBall[]; +extern const u32 gItemIconPalette_NestBall[]; +extern const u32 gItemIcon_RepeatBall[]; +extern const u32 gItemIconPalette_RepeatBall[]; +extern const u32 gItemIcon_TimerBall[]; +extern const u32 gItemIcon_LuxuryBall[]; +extern const u32 gItemIconPalette_LuxuryBall[]; +extern const u32 gItemIcon_PremierBall[]; +extern const u32 gItemIcon_Potion[]; +extern const u32 gItemIconPalette_Potion[]; +extern const u32 gItemIcon_Antidote[]; +extern const u32 gItemIconPalette_Antidote[]; +extern const u32 gItemIcon_StatusHeal[]; +extern const u32 gItemIconPalette_BurnHeal[]; +extern const u32 gItemIconPalette_IceHeal[]; +extern const u32 gItemIconPalette_Awakening[]; +extern const u32 gItemIconPalette_ParalyzeHeal[]; +extern const u32 gItemIcon_LargePotion[]; +extern const u32 gItemIconPalette_FullRestore[]; +extern const u32 gItemIconPalette_MaxPotion[]; +extern const u32 gItemIconPalette_HyperPotion[]; +extern const u32 gItemIconPalette_SuperPotion[]; +extern const u32 gItemIcon_FullHeal[]; +extern const u32 gItemIconPalette_FullHeal[]; +extern const u32 gItemIcon_Revive[]; +extern const u32 gItemIconPalette_Revive[]; +extern const u32 gItemIcon_MaxRevive[]; +extern const u32 gItemIcon_FreshWater[]; +extern const u32 gItemIconPalette_FreshWater[]; +extern const u32 gItemIcon_SodaPop[]; +extern const u32 gItemIconPalette_SodaPop[]; +extern const u32 gItemIcon_Lemonade[]; +extern const u32 gItemIconPalette_Lemonade[]; +extern const u32 gItemIcon_MoomooMilk[]; +extern const u32 gItemIconPalette_MoomooMilk[]; +extern const u32 gItemIcon_Powder[]; +extern const u32 gItemIconPalette_EnergyPowder[]; +extern const u32 gItemIcon_EnergyRoot[]; +extern const u32 gItemIconPalette_EnergyRoot[]; +extern const u32 gItemIconPalette_HealPowder[]; +extern const u32 gItemIcon_RevivalHerb[]; +extern const u32 gItemIconPalette_RevivalHerb[]; +extern const u32 gItemIcon_Ether[]; +extern const u32 gItemIconPalette_Ether[]; +extern const u32 gItemIconPalette_MaxEther[]; +extern const u32 gItemIconPalette_Elixir[]; +extern const u32 gItemIconPalette_MaxElixir[]; +extern const u32 gItemIcon_LavaCookie[]; +extern const u32 gItemIconPalette_LavaCookieAndLetter[]; +extern const u32 gItemIcon_Flute[]; +extern const u32 gItemIconPalette_BlueFlute[]; +extern const u32 gItemIconPalette_YellowFlute[]; +extern const u32 gItemIconPalette_RedFlute[]; +extern const u32 gItemIconPalette_BlackFlute[]; +extern const u32 gItemIconPalette_WhiteFlute[]; +extern const u32 gItemIcon_BerryJuice[]; +extern const u32 gItemIconPalette_BerryJuice[]; +extern const u32 gItemIcon_SacredAsh[]; +extern const u32 gItemIconPalette_SacredAsh[]; +extern const u32 gItemIconPalette_ShoalSalt[]; +extern const u32 gItemIcon_ShoalShell[]; +extern const u32 gItemIconPalette_Shell[]; +extern const u32 gItemIcon_Shard[]; +extern const u32 gItemIconPalette_RedShard[]; +extern const u32 gItemIconPalette_BlueShard[]; +extern const u32 gItemIconPalette_YellowShard[]; +extern const u32 gItemIconPalette_GreenShard[]; +extern const u32 gItemIcon_HPUp[]; +extern const u32 gItemIconPalette_HPUp[]; +extern const u32 gItemIcon_Vitamin[]; +extern const u32 gItemIconPalette_Protein[]; +extern const u32 gItemIconPalette_Iron[]; +extern const u32 gItemIconPalette_Carbos[]; +extern const u32 gItemIconPalette_Calcium[]; +extern const u32 gItemIcon_RareCandy[]; +extern const u32 gItemIconPalette_RareCandy[]; +extern const u32 gItemIcon_PPUp[]; +extern const u32 gItemIconPalette_PPUp[]; +extern const u32 gItemIconPalette_Zinc[]; +extern const u32 gItemIcon_PPMax[]; +extern const u32 gItemIconPalette_PPMax[]; +extern const u32 gItemIcon_BattleStatItem[]; +extern const u32 gItemIconPalette_GuardSpec[]; +extern const u32 gItemIconPalette_DireHit[]; +extern const u32 gItemIconPalette_XAttack[]; +extern const u32 gItemIconPalette_XDefend[]; +extern const u32 gItemIconPalette_XSpeed[]; +extern const u32 gItemIconPalette_XAccuracy[]; +extern const u32 gItemIconPalette_XSpecial[]; +extern const u32 gItemIcon_PokeDoll[]; +extern const u32 gItemIconPalette_PokeDoll[]; +extern const u32 gItemIcon_FluffyTail[]; +extern const u32 gItemIconPalette_FluffyTail[]; +extern const u32 gItemIcon_Repel[]; +extern const u32 gItemIconPalette_SuperRepel[]; +extern const u32 gItemIconPalette_MaxRepel[]; +extern const u32 gItemIcon_EscapeRope[]; +extern const u32 gItemIconPalette_EscapeRope[]; +extern const u32 gItemIcon_Repel[]; +extern const u32 gItemIconPalette_Repel[]; +extern const u32 gItemIcon_SunStone[]; +extern const u32 gItemIconPalette_SunStone[]; +extern const u32 gItemIcon_MoonStone[]; +extern const u32 gItemIconPalette_MoonStone[]; +extern const u32 gItemIcon_FireStone[]; +extern const u32 gItemIconPalette_FireStone[]; +extern const u32 gItemIcon_ThunderStone[]; +extern const u32 gItemIconPalette_ThunderStone[]; +extern const u32 gItemIcon_WaterStone[]; +extern const u32 gItemIconPalette_WaterStone[]; +extern const u32 gItemIcon_LeafStone[]; +extern const u32 gItemIconPalette_LeafStone[]; +extern const u32 gItemIcon_TinyMushroom[]; +extern const u32 gItemIconPalette_Mushroom[]; +extern const u32 gItemIcon_BigMushroom[]; +extern const u32 gItemIcon_Pearl[]; +extern const u32 gItemIconPalette_Pearl[]; +extern const u32 gItemIcon_BigPearl[]; +extern const u32 gItemIcon_Stardust[]; +extern const u32 gItemIconPalette_Star[]; +extern const u32 gItemIcon_StarPiece[]; +extern const u32 gItemIcon_Nugget[]; +extern const u32 gItemIconPalette_Nugget[]; +extern const u32 gItemIcon_HeartScale[]; +extern const u32 gItemIconPalette_HeartScale[]; +extern const u32 gItemIcon_OrangeMail[]; +extern const u32 gItemIconPalette_OrangeMail[]; +extern const u32 gItemIcon_HarborMail[]; +extern const u32 gItemIconPalette_HarborMail[]; +extern const u32 gItemIcon_GlitterMail[]; +extern const u32 gItemIconPalette_GlitterMail[]; +extern const u32 gItemIcon_MechMail[]; +extern const u32 gItemIconPalette_MechMail[]; +extern const u32 gItemIcon_WoodMail[]; +extern const u32 gItemIconPalette_WoodMail[]; +extern const u32 gItemIcon_WaveMail[]; +extern const u32 gItemIconPalette_WaveMail[]; +extern const u32 gItemIcon_BeadMail[]; +extern const u32 gItemIconPalette_BeadMail[]; +extern const u32 gItemIcon_ShadowMail[]; +extern const u32 gItemIconPalette_ShadowMail[]; +extern const u32 gItemIcon_TropicMail[]; +extern const u32 gItemIconPalette_TropicMail[]; +extern const u32 gItemIcon_DreamMail[]; +extern const u32 gItemIconPalette_DreamMail[]; +extern const u32 gItemIcon_FabMail[]; +extern const u32 gItemIconPalette_FabMail[]; +extern const u32 gItemIcon_RetroMail[]; +extern const u32 gItemIconPalette_RetroMail[]; +extern const u32 gItemIcon_CheriBerry[]; +extern const u32 gItemIconPalette_CheriBerry[]; +extern const u32 gItemIcon_ChestoBerry[]; +extern const u32 gItemIconPalette_ChestoBerry[]; +extern const u32 gItemIcon_PechaBerry[]; +extern const u32 gItemIconPalette_PechaBerry[]; +extern const u32 gItemIcon_RawstBerry[]; +extern const u32 gItemIconPalette_RawstBerry[]; +extern const u32 gItemIcon_AspearBerry[]; +extern const u32 gItemIconPalette_AspearBerry[]; +extern const u32 gItemIcon_LeppaBerry[]; +extern const u32 gItemIconPalette_LeppaBerry[]; +extern const u32 gItemIcon_OranBerry[]; +extern const u32 gItemIconPalette_OranBerry[]; +extern const u32 gItemIcon_PersimBerry[]; +extern const u32 gItemIconPalette_PersimBerry[]; +extern const u32 gItemIcon_LumBerry[]; +extern const u32 gItemIconPalette_LumBerry[]; +extern const u32 gItemIcon_SitrusBerry[]; +extern const u32 gItemIconPalette_SitrusBerry[]; +extern const u32 gItemIcon_FigyBerry[]; +extern const u32 gItemIconPalette_FigyBerry[]; +extern const u32 gItemIcon_WikiBerry[]; +extern const u32 gItemIconPalette_WikiBerry[]; +extern const u32 gItemIcon_MagoBerry[]; +extern const u32 gItemIconPalette_MagoBerry[]; +extern const u32 gItemIcon_AguavBerry[]; +extern const u32 gItemIconPalette_AguavBerry[]; +extern const u32 gItemIcon_IapapaBerry[]; +extern const u32 gItemIconPalette_IapapaBerry[]; +extern const u32 gItemIcon_RazzBerry[]; +extern const u32 gItemIconPalette_RazzBerry[]; +extern const u32 gItemIcon_BlukBerry[]; +extern const u32 gItemIconPalette_BlukBerry[]; +extern const u32 gItemIcon_NanabBerry[]; +extern const u32 gItemIconPalette_NanabBerry[]; +extern const u32 gItemIcon_WepearBerry[]; +extern const u32 gItemIconPalette_WepearBerry[]; +extern const u32 gItemIcon_PinapBerry[]; +extern const u32 gItemIconPalette_PinapBerry[]; +extern const u32 gItemIcon_PomegBerry[]; +extern const u32 gItemIconPalette_PomegBerry[]; +extern const u32 gItemIcon_KelpsyBerry[]; +extern const u32 gItemIconPalette_KelpsyBerry[]; +extern const u32 gItemIcon_QualotBerry[]; +extern const u32 gItemIconPalette_QualotBerry[]; +extern const u32 gItemIcon_HondewBerry[]; +extern const u32 gItemIconPalette_HondewBerry[]; +extern const u32 gItemIcon_GrepaBerry[]; +extern const u32 gItemIconPalette_GrepaBerry[]; +extern const u32 gItemIcon_TamatoBerry[]; +extern const u32 gItemIconPalette_TamatoBerry[]; +extern const u32 gItemIcon_CornnBerry[]; +extern const u32 gItemIconPalette_CornnBerry[]; +extern const u32 gItemIcon_MagostBerry[]; +extern const u32 gItemIconPalette_MagostBerry[]; +extern const u32 gItemIcon_RabutaBerry[]; +extern const u32 gItemIconPalette_RabutaBerry[]; +extern const u32 gItemIcon_NomelBerry[]; +extern const u32 gItemIconPalette_NomelBerry[]; +extern const u32 gItemIcon_SpelonBerry[]; +extern const u32 gItemIconPalette_SpelonBerry[]; +extern const u32 gItemIcon_PamtreBerry[]; +extern const u32 gItemIconPalette_PamtreBerry[]; +extern const u32 gItemIcon_WatmelBerry[]; +extern const u32 gItemIconPalette_WatmelBerry[]; +extern const u32 gItemIcon_DurinBerry[]; +extern const u32 gItemIconPalette_DurinBerry[]; +extern const u32 gItemIcon_BelueBerry[]; +extern const u32 gItemIconPalette_BelueBerry[]; +extern const u32 gItemIcon_LiechiBerry[]; +extern const u32 gItemIconPalette_LiechiBerry[]; +extern const u32 gItemIcon_GanlonBerry[]; +extern const u32 gItemIconPalette_GanlonBerry[]; +extern const u32 gItemIcon_SalacBerry[]; +extern const u32 gItemIconPalette_SalacBerry[]; +extern const u32 gItemIcon_PetayaBerry[]; +extern const u32 gItemIconPalette_PetayaBerry[]; +extern const u32 gItemIcon_ApicotBerry[]; +extern const u32 gItemIconPalette_ApicotBerry[]; +extern const u32 gItemIcon_LansatBerry[]; +extern const u32 gItemIconPalette_LansatBerry[]; +extern const u32 gItemIcon_StarfBerry[]; +extern const u32 gItemIconPalette_StarfBerry[]; +extern const u32 gItemIcon_EnigmaBerry[]; +extern const u32 gItemIconPalette_EnigmaBerry[]; +extern const u32 gItemIcon_BrightPowder[]; +extern const u32 gItemIconPalette_BrightPowder[]; +extern const u32 gItemIcon_InBattleHerb[]; +extern const u32 gItemIconPalette_WhiteHerb[]; +extern const u32 gItemIcon_MachoBrace[]; +extern const u32 gItemIconPalette_MachoBrace[]; +extern const u32 gItemIcon_ExpShare[]; +extern const u32 gItemIconPalette_ExpShare[]; +extern const u32 gItemIcon_QuickClaw[]; +extern const u32 gItemIconPalette_QuickClaw[]; +extern const u32 gItemIcon_SootheBell[]; +extern const u32 gItemIconPalette_SootheBell[]; +extern const u32 gItemIcon_InBattleHerb[]; +extern const u32 gItemIconPalette_MentalHerb[]; +extern const u32 gItemIcon_ChoiceBand[]; +extern const u32 gItemIconPalette_ChoiceBand[]; +extern const u32 gItemIcon_KingsRock[]; +extern const u32 gItemIconPalette_KingsRock[]; +extern const u32 gItemIcon_SilverPowder[]; +extern const u32 gItemIconPalette_SilverPowder[]; +extern const u32 gItemIcon_AmuletCoin[]; +extern const u32 gItemIconPalette_AmuletCoin[]; +extern const u32 gItemIcon_CleanseTag[]; +extern const u32 gItemIconPalette_CleanseTag[]; +extern const u32 gItemIcon_SoulDew[]; +extern const u32 gItemIconPalette_SoulDew[]; +extern const u32 gItemIcon_DeepSeaTooth[]; +extern const u32 gItemIconPalette_DeepSeaTooth[]; +extern const u32 gItemIcon_DeepSeaScale[]; +extern const u32 gItemIconPalette_DeepSeaScale[]; +extern const u32 gItemIcon_SmokeBall[]; +extern const u32 gItemIconPalette_SmokeBall[]; +extern const u32 gItemIcon_Everstone[]; +extern const u32 gItemIconPalette_Everstone[]; +extern const u32 gItemIcon_FocusBand[]; +extern const u32 gItemIconPalette_FocusBand[]; +extern const u32 gItemIcon_LuckyEgg[]; +extern const u32 gItemIconPalette_LuckyEgg[]; +extern const u32 gItemIcon_ScopeLens[]; +extern const u32 gItemIconPalette_ScopeLens[]; +extern const u32 gItemIcon_MetalCoat[]; +extern const u32 gItemIconPalette_MetalCoat[]; +extern const u32 gItemIcon_Leftovers[]; +extern const u32 gItemIconPalette_Leftovers[]; +extern const u32 gItemIcon_DragonScale[]; +extern const u32 gItemIconPalette_DragonScale[]; +extern const u32 gItemIcon_LightBall[]; +extern const u32 gItemIconPalette_LightBall[]; +extern const u32 gItemIcon_SoftSand[]; +extern const u32 gItemIconPalette_SoftSand[]; +extern const u32 gItemIcon_HardStone[]; +extern const u32 gItemIconPalette_HardStone[]; +extern const u32 gItemIcon_MiracleSeed[]; +extern const u32 gItemIconPalette_MiracleSeed[]; +extern const u32 gItemIcon_BlackGlasses[]; +extern const u32 gItemIconPalette_BlackTypeEnhancingItem[]; +extern const u32 gItemIcon_BlackBelt[]; +extern const u32 gItemIconPalette_BlackTypeEnhancingItem[]; +extern const u32 gItemIcon_Magnet[]; +extern const u32 gItemIconPalette_Magnet[]; +extern const u32 gItemIcon_MysticWater[]; +extern const u32 gItemIconPalette_MysticWater[]; +extern const u32 gItemIcon_SharpBeak[]; +extern const u32 gItemIconPalette_SharpBeak[]; +extern const u32 gItemIcon_PoisonBarb[]; +extern const u32 gItemIconPalette_PoisonBarb[]; +extern const u32 gItemIcon_NeverMeltIce[]; +extern const u32 gItemIconPalette_NeverMeltIce[]; +extern const u32 gItemIcon_SpellTag[]; +extern const u32 gItemIconPalette_SpellTag[]; +extern const u32 gItemIcon_TwistedSpoon[]; +extern const u32 gItemIconPalette_TwistedSpoon[]; +extern const u32 gItemIcon_Charcoal[]; +extern const u32 gItemIconPalette_Charcoal[]; +extern const u32 gItemIcon_DragonFang[]; +extern const u32 gItemIconPalette_DragonFang[]; +extern const u32 gItemIcon_SilkScarf[]; +extern const u32 gItemIconPalette_SilkScarf[]; +extern const u32 gItemIcon_UpGrade[]; +extern const u32 gItemIconPalette_UpGrade[]; +extern const u32 gItemIcon_ShellBell[]; +extern const u32 gItemIconPalette_Shell[]; +extern const u32 gItemIcon_SeaIncense[]; +extern const u32 gItemIconPalette_SeaIncense[]; +extern const u32 gItemIcon_LaxIncense[]; +extern const u32 gItemIconPalette_LaxIncense[]; +extern const u32 gItemIcon_LuckyPunch[]; +extern const u32 gItemIconPalette_LuckyPunch[]; +extern const u32 gItemIcon_MetalPowder[]; +extern const u32 gItemIconPalette_MetalPowder[]; +extern const u32 gItemIcon_ThickClub[]; +extern const u32 gItemIconPalette_ThickClub[]; +extern const u32 gItemIcon_Stick[]; +extern const u32 gItemIconPalette_Stick[]; +extern const u32 gItemIcon_Scarf[]; +extern const u32 gItemIconPalette_RedScarf[]; +extern const u32 gItemIconPalette_BlueScarf[]; +extern const u32 gItemIconPalette_PinkScarf[]; +extern const u32 gItemIconPalette_GreenScarf[]; +extern const u32 gItemIconPalette_YellowScarf[]; +extern const u32 gItemIcon_MachBike[]; +extern const u32 gItemIconPalette_MachBike[]; +extern const u32 gItemIcon_CoinCase[]; +extern const u32 gItemIconPalette_CoinCase[]; +extern const u32 gItemIcon_Itemfinder[]; +extern const u32 gItemIconPalette_Itemfinder[]; +extern const u32 gItemIcon_OldRod[]; +extern const u32 gItemIconPalette_OldRod[]; +extern const u32 gItemIcon_GoodRod[]; +extern const u32 gItemIconPalette_GoodRod[]; +extern const u32 gItemIcon_SuperRod[]; +extern const u32 gItemIconPalette_SuperRod[]; +extern const u32 gItemIcon_SSTicket[]; +extern const u32 gItemIconPalette_SSTicket[]; +extern const u32 gItemIcon_ContestPass[]; +extern const u32 gItemIconPalette_ContestPass[]; +extern const u32 gItemIcon_WailmerPail[]; +extern const u32 gItemIconPalette_WailmerPail[]; +extern const u32 gItemIcon_DevonGoods[]; +extern const u32 gItemIconPalette_DevonGoods[]; +extern const u32 gItemIcon_SootSack[]; +extern const u32 gItemIconPalette_SootSack[]; +extern const u32 gItemIcon_BasementKey[]; +extern const u32 gItemIconPalette_OldKey[]; +extern const u32 gItemIcon_AcroBike[]; +extern const u32 gItemIconPalette_AcroBike[]; +extern const u32 gItemIcon_PokeblockCase[]; +extern const u32 gItemIconPalette_PokeblockCase[]; +extern const u32 gItemIcon_Letter[]; +extern const u32 gItemIcon_EonTicket[]; +extern const u32 gItemIconPalette_EonTicket[]; +extern const u32 gItemIcon_Orb[]; +extern const u32 gItemIconPalette_RedOrb[]; +extern const u32 gItemIconPalette_BlueOrb[]; +extern const u32 gItemIcon_Scanner[]; +extern const u32 gItemIconPalette_Scanner[]; +extern const u32 gItemIcon_GoGoggles[]; +extern const u32 gItemIconPalette_GoGoggles[]; +extern const u32 gItemIcon_Meteorite[]; +extern const u32 gItemIconPalette_Meteorite[]; +extern const u32 gItemIcon_Room1Key[]; +extern const u32 gItemIconPalette_Key[]; +extern const u32 gItemIcon_Room2Key[]; +extern const u32 gItemIcon_Room4Key[]; +extern const u32 gItemIcon_Room6Key[]; +extern const u32 gItemIcon_StorageKey[]; +extern const u32 gItemIcon_RootFossil[]; +extern const u32 gItemIconPalette_HoennFossil[]; +extern const u32 gItemIcon_ClawFossil[]; +extern const u32 gItemIcon_DevonScope[]; +extern const u32 gItemIconPalette_DevonScope[]; +extern const u32 gItemIcon_TMHM[]; +extern const u32 gItemIconPalette_FightingTMHM[]; +extern const u32 gItemIconPalette_DragonTMHM[]; +extern const u32 gItemIconPalette_WaterTMHM[]; +extern const u32 gItemIconPalette_PsychicTMHM[]; +extern const u32 gItemIconPalette_NormalTMHM[]; +extern const u32 gItemIconPalette_PoisonTMHM[]; +extern const u32 gItemIconPalette_IceTMHM[]; +extern const u32 gItemIconPalette_GrassTMHM[]; +extern const u32 gItemIconPalette_FireTMHM[]; +extern const u32 gItemIconPalette_DarkTMHM[]; +extern const u32 gItemIconPalette_SteelTMHM[]; +extern const u32 gItemIconPalette_ElectricTMHM[]; +extern const u32 gItemIconPalette_GroundTMHM[]; +extern const u32 gItemIconPalette_GhostTMHM[]; +extern const u32 gItemIconPalette_RockTMHM[]; +extern const u32 gItemIconPalette_FlyingTMHM[]; +// FireRed/LeafGreen key items +extern const u32 gItemIcon_OaksParcel[]; +extern const u32 gItemIconPalette_OaksParcel[]; +extern const u32 gItemIcon_PokeFlute[]; +extern const u32 gItemIconPalette_PokeFlute[]; +extern const u32 gItemIcon_SecretKey[]; +extern const u32 gItemIconPalette_SecretKey[]; +extern const u32 gItemIcon_BikeVoucher[]; +extern const u32 gItemIconPalette_BikeVoucher[]; +extern const u32 gItemIcon_GoldTeeth[]; +extern const u32 gItemIconPalette_GoldTeeth[]; +extern const u32 gItemIcon_OldAmber[]; +extern const u32 gItemIconPalette_OldAmber[]; +extern const u32 gItemIcon_CardKey[]; +extern const u32 gItemIconPalette_CardKey[]; +extern const u32 gItemIcon_LiftKey[]; +extern const u32 gItemIconPalette_Key[]; +extern const u32 gItemIcon_HelixFossil[]; +extern const u32 gItemIconPalette_KantoFossil[]; +extern const u32 gItemIcon_DomeFossil[]; +extern const u32 gItemIcon_SilphScope[]; +extern const u32 gItemIconPalette_SilphScope[]; +extern const u32 gItemIcon_Bicycle[]; +extern const u32 gItemIconPalette_Bicycle[]; +extern const u32 gItemIcon_TownMap[]; +extern const u32 gItemIconPalette_TownMap[]; +extern const u32 gItemIcon_VSSeeker[]; +extern const u32 gItemIconPalette_VSSeeker[]; +extern const u32 gItemIcon_FameChecker[]; +extern const u32 gItemIconPalette_FameChecker[]; +extern const u32 gItemIcon_TMCase[]; +extern const u32 gItemIconPalette_TMCase[]; +extern const u32 gItemIcon_BerryPouch[]; +extern const u32 gItemIconPalette_BerryPouch[]; +extern const u32 gItemIcon_TeachyTV[]; +extern const u32 gItemIconPalette_TeachyTV[]; +extern const u32 gItemIcon_TriPass[]; +extern const u32 gItemIconPalette_TriPass[]; +extern const u32 gItemIcon_RainbowPass[]; +extern const u32 gItemIconPalette_RainbowPass[]; +extern const u32 gItemIcon_Tea[]; +extern const u32 gItemIconPalette_Tea[]; +extern const u32 gItemIcon_MysticTicket[]; +extern const u32 gItemIconPalette_MysticTicket[]; +extern const u32 gItemIcon_AuroraTicket[]; +extern const u32 gItemIconPalette_AuroraTicket[]; +extern const u32 gItemIcon_PowderJar[]; +extern const u32 gItemIconPalette_PowderJar[]; +extern const u32 gItemIcon_Gem[]; +extern const u32 gItemIconPalette_Ruby[]; +extern const u32 gItemIconPalette_Sapphire[]; +extern const u32 gItemIcon_ReturnToFieldArrow[]; +extern const u32 gItemIconPalette_ReturnToFieldArrow[]; // battle_anim_utility_funcs extern const u32 gFile_graphics_battle_anims_masks_curse_sheet[]; diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 57f03422a..3d13bb4c3 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,6 +3,12 @@ #include "global.h" +// Values for 2nd argument to GetItemIconGfxPtr +enum { + ITEMICON_TILES, + ITEMICON_PAL, +}; + extern const struct CompressedSpriteSheet gSpriteSheet_BagMale; extern const struct CompressedSpriteSheet gSpriteSheet_BagFemale; extern const struct CompressedSpritePalette gSpritePalette_Bag; @@ -22,7 +28,7 @@ void UpdateSwapLinePos(s16 x, u16 y); void SetSwapLineInvisibility(bool8 invisible); void SetBagVisualPocketId(u8); void ShakeBagSprite(void); -const void *GetItemIconGfxPtr(u16 itemId, u8 ptrId); +const u32 *GetItemIconGfxPtr(u16 itemId, u8 ptrId); void CreateBagSprite(u8 animNum); #endif // GUARD_ITEM_MENU_ICONS diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index ee86b454c..b5a5a6bb7 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -1,672 +1,713 @@ -const u32 gFile_graphics_items_icons_question_mark_sheet[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_question_mark_palette[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); +const u32 gItemIcon_QuestionMark[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); +const u32 gItemIconPalette_QuestionMark[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); -const u32 gFile_graphics_items_icons_return_to_field_arrow_sheet[] = INCBIN_U32("graphics/items/icons/return_to_field_arrow.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[] = INCBIN_U32("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz"); +const u32 gItemIcon_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/icons/return_to_field_arrow.4bpp.lz"); +const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz"); -const u32 gFile_graphics_items_icons_master_ball_sheet[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_master_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); +// Pokeballs -const u32 gFile_graphics_items_icons_ultra_ball_sheet[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_ultra_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); +const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); +const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_great_ball_sheet[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_great_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); +const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); +const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_poke_ball_sheet[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_poke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); +const u32 gItemIcon_GreatBall[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); +const u32 gItemIconPalette_GreatBall[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_safari_ball_sheet[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_safari_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); +const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); +const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_net_ball_sheet[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_net_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); +const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); +const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_dive_ball_sheet[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_dive_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); +const u32 gItemIcon_NetBall[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); +const u32 gItemIconPalette_NetBall[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_nest_ball_sheet[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_nest_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); +const u32 gItemIcon_DiveBall[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); +const u32 gItemIconPalette_DiveBall[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_repeat_ball_sheet[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_repeat_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); +const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); +const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_timer_ball_sheet[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); +const u32 gItemIcon_RepeatBall[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); +const u32 gItemIconPalette_RepeatBall[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_luxury_ball_sheet[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_luxury_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); +const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); -const u32 gFile_graphics_items_icons_premier_ball_sheet[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); +const u32 gItemIcon_LuxuryBall[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); +const u32 gItemIconPalette_LuxuryBall[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_potion_sheet[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/potion.gbapal.lz"); +const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); -const u32 gFile_graphics_items_icons_antidote_sheet[] = INCBIN_U32("graphics/items/icons/antidote.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_antidote_palette[] = INCBIN_U32("graphics/items/icon_palettes/antidote.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_burn_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/burn_heal.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_ice_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_heal.gbapal.lz"); -const u32 gFile_graphics_items_icons_status_heal_sheet[] = INCBIN_U32("graphics/items/icons/status_heal.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_awakening_palette[] = INCBIN_U32("graphics/items/icon_palettes/awakening.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_paralyze_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/paralyze_heal.gbapal.lz"); +// Medicine -const u32 gFile_graphics_items_icons_large_potion_sheet[] = INCBIN_U32("graphics/items/icons/large_potion.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_full_restore_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_restore.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_max_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_potion.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_hyper_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/hyper_potion.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_super_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_potion.gbapal.lz"); +const u32 gItemIcon_Potion[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); +const u32 gItemIconPalette_Potion[] = INCBIN_U32("graphics/items/icon_palettes/potion.gbapal.lz"); -const u32 gFile_graphics_items_icons_full_heal_sheet[] = INCBIN_U32("graphics/items/icons/full_heal.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_full_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_heal.gbapal.lz"); +const u32 gItemIcon_Antidote[] = INCBIN_U32("graphics/items/icons/antidote.4bpp.lz"); +const u32 gItemIconPalette_Antidote[] = INCBIN_U32("graphics/items/icon_palettes/antidote.gbapal.lz"); -const u32 gFile_graphics_items_icons_revive_sheet[] = INCBIN_U32("graphics/items/icons/revive.4bpp.lz"); -const u32 gFile_graphics_items_icons_max_revive_sheet[] = INCBIN_U32("graphics/items/icons/max_revive.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_revive_palette[] = INCBIN_U32("graphics/items/icon_palettes/revive.gbapal.lz"); +const u32 gItemIconPalette_BurnHeal[] = INCBIN_U32("graphics/items/icon_palettes/burn_heal.gbapal.lz"); +const u32 gItemIconPalette_IceHeal[] = INCBIN_U32("graphics/items/icon_palettes/ice_heal.gbapal.lz"); +const u32 gItemIcon_StatusHeal[] = INCBIN_U32("graphics/items/icons/status_heal.4bpp.lz"); +const u32 gItemIconPalette_Awakening[] = INCBIN_U32("graphics/items/icon_palettes/awakening.gbapal.lz"); +const u32 gItemIconPalette_ParalyzeHeal[] = INCBIN_U32("graphics/items/icon_palettes/paralyze_heal.gbapal.lz"); -const u32 gFile_graphics_items_icons_fresh_water_sheet[] = INCBIN_U32("graphics/items/icons/fresh_water.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fresh_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/fresh_water.gbapal.lz"); +const u32 gItemIcon_LargePotion[] = INCBIN_U32("graphics/items/icons/large_potion.4bpp.lz"); +const u32 gItemIconPalette_FullRestore[] = INCBIN_U32("graphics/items/icon_palettes/full_restore.gbapal.lz"); +const u32 gItemIconPalette_MaxPotion[] = INCBIN_U32("graphics/items/icon_palettes/max_potion.gbapal.lz"); -const u32 gFile_graphics_items_icons_soda_pop_sheet[] = INCBIN_U32("graphics/items/icons/soda_pop.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_soda_pop_palette[] = INCBIN_U32("graphics/items/icon_palettes/soda_pop.gbapal.lz"); +const u32 gItemIconPalette_HyperPotion[] = INCBIN_U32("graphics/items/icon_palettes/hyper_potion.gbapal.lz"); -const u32 gFile_graphics_items_icons_lemonade_sheet[] = INCBIN_U32("graphics/items/icons/lemonade.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lemonade_palette[] = INCBIN_U32("graphics/items/icon_palettes/lemonade.gbapal.lz"); +const u32 gItemIconPalette_SuperPotion[] = INCBIN_U32("graphics/items/icon_palettes/super_potion.gbapal.lz"); -const u32 gFile_graphics_items_icons_moomoo_milk_sheet[] = INCBIN_U32("graphics/items/icons/moomoo_milk.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_moomoo_milk_palette[] = INCBIN_U32("graphics/items/icon_palettes/moomoo_milk.gbapal.lz"); +const u32 gItemIcon_FullHeal[] = INCBIN_U32("graphics/items/icons/full_heal.4bpp.lz"); +const u32 gItemIconPalette_FullHeal[] = INCBIN_U32("graphics/items/icon_palettes/full_heal.gbapal.lz"); -const u32 gFile_graphics_items_icons_powder_sheet[] = INCBIN_U32("graphics/items/icons/powder.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_energy_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_powder.gbapal.lz"); +const u32 gItemIcon_Revive[] = INCBIN_U32("graphics/items/icons/revive.4bpp.lz"); -const u32 gFile_graphics_items_icons_energy_root_sheet[] = INCBIN_U32("graphics/items/icons/energy_root.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_energy_root_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_root.gbapal.lz"); +const u32 gItemIcon_MaxRevive[] = INCBIN_U32("graphics/items/icons/max_revive.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_heal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/heal_powder.gbapal.lz"); +const u32 gItemIconPalette_Revive[] = INCBIN_U32("graphics/items/icon_palettes/revive.gbapal.lz"); -const u32 gFile_graphics_items_icons_revival_herb_sheet[] = INCBIN_U32("graphics/items/icons/revival_herb.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_revival_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/revival_herb.gbapal.lz"); +const u32 gItemIcon_FreshWater[] = INCBIN_U32("graphics/items/icons/fresh_water.4bpp.lz"); +const u32 gItemIconPalette_FreshWater[] = INCBIN_U32("graphics/items/icon_palettes/fresh_water.gbapal.lz"); -const u32 gFile_graphics_items_icons_ether_sheet[] = INCBIN_U32("graphics/items/icons/ether.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/ether.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_max_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_ether.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/elixir.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_max_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_elixir.gbapal.lz"); +const u32 gItemIcon_SodaPop[] = INCBIN_U32("graphics/items/icons/soda_pop.4bpp.lz"); +const u32 gItemIconPalette_SodaPop[] = INCBIN_U32("graphics/items/icon_palettes/soda_pop.gbapal.lz"); -const u32 gFile_graphics_items_icons_lava_cookie_sheet[] = INCBIN_U32("graphics/items/icons/lava_cookie.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[] = INCBIN_U32("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz"); +const u32 gItemIcon_Lemonade[] = INCBIN_U32("graphics/items/icons/lemonade.4bpp.lz"); +const u32 gItemIconPalette_Lemonade[] = INCBIN_U32("graphics/items/icon_palettes/lemonade.gbapal.lz"); -const u32 gFile_graphics_items_icons_flute_sheet[] = INCBIN_U32("graphics/items/icons/flute.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_blue_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_flute.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_yellow_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_flute.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_red_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_flute.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_black_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_flute.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_white_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_flute.gbapal.lz"); +const u32 gItemIcon_MoomooMilk[] = INCBIN_U32("graphics/items/icons/moomoo_milk.4bpp.lz"); +const u32 gItemIconPalette_MoomooMilk[] = INCBIN_U32("graphics/items/icon_palettes/moomoo_milk.gbapal.lz"); -const u32 gFile_graphics_items_icons_berry_juice_sheet[] = INCBIN_U32("graphics/items/icons/berry_juice.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_berry_juice_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_juice.gbapal.lz"); +const u32 gItemIcon_Powder[] = INCBIN_U32("graphics/items/icons/powder.4bpp.lz"); +const u32 gItemIconPalette_EnergyPowder[] = INCBIN_U32("graphics/items/icon_palettes/energy_powder.gbapal.lz"); -const u32 gFile_graphics_items_icons_sacred_ash_sheet[] = INCBIN_U32("graphics/items/icons/sacred_ash.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sacred_ash_palette[] = INCBIN_U32("graphics/items/icon_palettes/sacred_ash.gbapal.lz"); +const u32 gItemIcon_EnergyRoot[] = INCBIN_U32("graphics/items/icons/energy_root.4bpp.lz"); +const u32 gItemIconPalette_EnergyRoot[] = INCBIN_U32("graphics/items/icon_palettes/energy_root.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_shoal_salt_palette[] = INCBIN_U32("graphics/items/icon_palettes/shoal_salt.gbapal.lz"); -const u32 gFile_graphics_items_icons_shoal_shell_sheet[] = INCBIN_U32("graphics/items/icons/shoal_shell.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_shell_palette[] = INCBIN_U32("graphics/items/icon_palettes/shell.gbapal.lz"); +const u32 gItemIconPalette_HealPowder[] = INCBIN_U32("graphics/items/icon_palettes/heal_powder.gbapal.lz"); -const u32 gFile_graphics_items_icons_shard_sheet[] = INCBIN_U32("graphics/items/icons/shard.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_red_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_shard.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_blue_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_shard.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_yellow_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_shard.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_green_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_shard.gbapal.lz"); +const u32 gItemIcon_RevivalHerb[] = INCBIN_U32("graphics/items/icons/revival_herb.4bpp.lz"); +const u32 gItemIconPalette_RevivalHerb[] = INCBIN_U32("graphics/items/icon_palettes/revival_herb.gbapal.lz"); -const u32 gFile_graphics_items_icons_hp_up_sheet[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_hp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz"); +const u32 gItemIcon_Ether[] = INCBIN_U32("graphics/items/icons/ether.4bpp.lz"); +const u32 gItemIconPalette_Ether[] = INCBIN_U32("graphics/items/icon_palettes/ether.gbapal.lz"); +const u32 gItemIconPalette_MaxEther[] = INCBIN_U32("graphics/items/icon_palettes/max_ether.gbapal.lz"); +const u32 gItemIconPalette_Elixir[] = INCBIN_U32("graphics/items/icon_palettes/elixir.gbapal.lz"); +const u32 gItemIconPalette_MaxElixir[] = INCBIN_U32("graphics/items/icon_palettes/max_elixir.gbapal.lz"); -const u32 gFile_graphics_items_icons_vitamin_sheet[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_protein_palette[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_iron_palette[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_carbos_palette[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_calcium_palette[] = INCBIN_U32("graphics/items/icon_palettes/calcium.gbapal.lz"); +const u32 gItemIcon_LavaCookie[] = INCBIN_U32("graphics/items/icons/lava_cookie.4bpp.lz"); +const u32 gItemIconPalette_LavaCookieAndLetter[] = INCBIN_U32("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz"); -const u32 gFile_graphics_items_icons_rare_candy_sheet[] = INCBIN_U32("graphics/items/icons/rare_candy.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_rare_candy_palette[] = INCBIN_U32("graphics/items/icon_palettes/rare_candy.gbapal.lz"); +const u32 gItemIcon_Flute[] = INCBIN_U32("graphics/items/icons/flute.4bpp.lz"); +const u32 gItemIconPalette_BlueFlute[] = INCBIN_U32("graphics/items/icon_palettes/blue_flute.gbapal.lz"); +const u32 gItemIconPalette_YellowFlute[] = INCBIN_U32("graphics/items/icon_palettes/yellow_flute.gbapal.lz"); +const u32 gItemIconPalette_RedFlute[] = INCBIN_U32("graphics/items/icon_palettes/red_flute.gbapal.lz"); +const u32 gItemIconPalette_BlackFlute[] = INCBIN_U32("graphics/items/icon_palettes/black_flute.gbapal.lz"); +const u32 gItemIconPalette_WhiteFlute[] = INCBIN_U32("graphics/items/icon_palettes/white_flute.gbapal.lz"); -const u32 gFile_graphics_items_icons_pp_up_sheet[] = INCBIN_U32("graphics/items/icons/pp_up.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_up.gbapal.lz"); +const u32 gItemIcon_BerryJuice[] = INCBIN_U32("graphics/items/icons/berry_juice.4bpp.lz"); +const u32 gItemIconPalette_BerryJuice[] = INCBIN_U32("graphics/items/icon_palettes/berry_juice.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_zinc_palette[] = INCBIN_U32("graphics/items/icon_palettes/zinc.gbapal.lz"); +const u32 gItemIcon_SacredAsh[] = INCBIN_U32("graphics/items/icons/sacred_ash.4bpp.lz"); +const u32 gItemIconPalette_SacredAsh[] = INCBIN_U32("graphics/items/icon_palettes/sacred_ash.gbapal.lz"); -const u32 gFile_graphics_items_icons_pp_max_sheet[] = INCBIN_U32("graphics/items/icons/pp_max.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pp_max_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_max.gbapal.lz"); +// Collectibles -const u32 gFile_graphics_items_icon_palettes_guard_spec_palette[] = INCBIN_U32("graphics/items/icon_palettes/guard_spec.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_dire_hit_palette[] = INCBIN_U32("graphics/items/icon_palettes/dire_hit.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_x_attack_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_attack.gbapal.lz"); -const u32 gFile_graphics_items_icons_battle_stat_item_sheet[] = INCBIN_U32("graphics/items/icons/battle_stat_item.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_x_defend_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_defend.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_x_speed_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_speed.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_x_accuracy_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_accuracy.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_x_special_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_special.gbapal.lz"); +const u32 gItemIconPalette_ShoalSalt[] = INCBIN_U32("graphics/items/icon_palettes/shoal_salt.gbapal.lz"); -const u32 gFile_graphics_items_icons_poke_doll_sheet[] = INCBIN_U32("graphics/items/icons/poke_doll.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_poke_doll_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_doll.gbapal.lz"); +const u32 gItemIcon_ShoalShell[] = INCBIN_U32("graphics/items/icons/shoal_shell.4bpp.lz"); +const u32 gItemIconPalette_Shell[] = INCBIN_U32("graphics/items/icon_palettes/shell.gbapal.lz"); -const u32 gFile_graphics_items_icons_fluffy_tail_sheet[] = INCBIN_U32("graphics/items/icons/fluffy_tail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fluffy_tail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fluffy_tail.gbapal.lz"); +const u32 gItemIcon_Shard[] = INCBIN_U32("graphics/items/icons/shard.4bpp.lz"); +const u32 gItemIconPalette_RedShard[] = INCBIN_U32("graphics/items/icon_palettes/red_shard.gbapal.lz"); +const u32 gItemIconPalette_BlueShard[] = INCBIN_U32("graphics/items/icon_palettes/blue_shard.gbapal.lz"); +const u32 gItemIconPalette_YellowShard[] = INCBIN_U32("graphics/items/icon_palettes/yellow_shard.gbapal.lz"); +const u32 gItemIconPalette_GreenShard[] = INCBIN_U32("graphics/items/icon_palettes/green_shard.gbapal.lz"); -const u32 gFile_graphics_items_icons_repel_sheet[] = INCBIN_U32("graphics/items/icons/repel.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_super_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_repel.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_max_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_repel.gbapal.lz"); +// Vitamins -const u32 gFile_graphics_items_icons_escape_rope_sheet[] = INCBIN_U32("graphics/items/icons/escape_rope.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_escape_rope_palette[] = INCBIN_U32("graphics/items/icon_palettes/escape_rope.gbapal.lz"); +const u32 gItemIcon_HPUp[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz"); +const u32 gItemIconPalette_HPUp[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/repel.gbapal.lz"); +const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz"); +const u32 gItemIconPalette_Protein[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz"); +const u32 gItemIconPalette_Iron[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz"); +const u32 gItemIconPalette_Carbos[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz"); +const u32 gItemIconPalette_Calcium[] = INCBIN_U32("graphics/items/icon_palettes/calcium.gbapal.lz"); -const u32 gFile_graphics_items_icons_sun_stone_sheet[] = INCBIN_U32("graphics/items/icons/sun_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sun_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/sun_stone.gbapal.lz"); +const u32 gItemIcon_RareCandy[] = INCBIN_U32("graphics/items/icons/rare_candy.4bpp.lz"); +const u32 gItemIconPalette_RareCandy[] = INCBIN_U32("graphics/items/icon_palettes/rare_candy.gbapal.lz"); -const u32 gFile_graphics_items_icons_moon_stone_sheet[] = INCBIN_U32("graphics/items/icons/moon_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_moon_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/moon_stone.gbapal.lz"); +const u32 gItemIcon_PPUp[] = INCBIN_U32("graphics/items/icons/pp_up.4bpp.lz"); +const u32 gItemIconPalette_PPUp[] = INCBIN_U32("graphics/items/icon_palettes/pp_up.gbapal.lz"); -const u32 gFile_graphics_items_icons_fire_stone_sheet[] = INCBIN_U32("graphics/items/icons/fire_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fire_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_stone.gbapal.lz"); +const u32 gItemIconPalette_Zinc[] = INCBIN_U32("graphics/items/icon_palettes/zinc.gbapal.lz"); -const u32 gFile_graphics_items_icons_thunder_stone_sheet[] = INCBIN_U32("graphics/items/icons/thunder_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_thunder_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/thunder_stone.gbapal.lz"); +const u32 gItemIcon_PPMax[] = INCBIN_U32("graphics/items/icons/pp_max.4bpp.lz"); +const u32 gItemIconPalette_PPMax[] = INCBIN_U32("graphics/items/icon_palettes/pp_max.gbapal.lz"); -const u32 gFile_graphics_items_icons_water_stone_sheet[] = INCBIN_U32("graphics/items/icons/water_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_water_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_stone.gbapal.lz"); +// Battle items -const u32 gFile_graphics_items_icons_leaf_stone_sheet[] = INCBIN_U32("graphics/items/icons/leaf_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_leaf_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/leaf_stone.gbapal.lz"); +const u32 gItemIconPalette_GuardSpec[] = INCBIN_U32("graphics/items/icon_palettes/guard_spec.gbapal.lz"); +const u32 gItemIconPalette_DireHit[] = INCBIN_U32("graphics/items/icon_palettes/dire_hit.gbapal.lz"); +const u32 gItemIconPalette_XAttack[] = INCBIN_U32("graphics/items/icon_palettes/x_attack.gbapal.lz"); +const u32 gItemIcon_BattleStatItem[] = INCBIN_U32("graphics/items/icons/battle_stat_item.4bpp.lz"); +const u32 gItemIconPalette_XDefend[] = INCBIN_U32("graphics/items/icon_palettes/x_defend.gbapal.lz"); +const u32 gItemIconPalette_XSpeed[] = INCBIN_U32("graphics/items/icon_palettes/x_speed.gbapal.lz"); +const u32 gItemIconPalette_XAccuracy[] = INCBIN_U32("graphics/items/icon_palettes/x_accuracy.gbapal.lz"); +const u32 gItemIconPalette_XSpecial[] = INCBIN_U32("graphics/items/icon_palettes/x_special.gbapal.lz"); -const u32 gFile_graphics_items_icons_tiny_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/tiny_mushroom.4bpp.lz"); -const u32 gFile_graphics_items_icons_big_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/big_mushroom.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mushroom_palette[] = INCBIN_U32("graphics/items/icon_palettes/mushroom.gbapal.lz"); +const u32 gItemIcon_PokeDoll[] = INCBIN_U32("graphics/items/icons/poke_doll.4bpp.lz"); +const u32 gItemIconPalette_PokeDoll[] = INCBIN_U32("graphics/items/icon_palettes/poke_doll.gbapal.lz"); -const u32 gFile_graphics_items_icons_pearl_sheet[] = INCBIN_U32("graphics/items/icons/pearl.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pearl_palette[] = INCBIN_U32("graphics/items/icon_palettes/pearl.gbapal.lz"); -const u32 gFile_graphics_items_icons_big_pearl_sheet[] = INCBIN_U32("graphics/items/icons/big_pearl.4bpp.lz"); +const u32 gItemIcon_FluffyTail[] = INCBIN_U32("graphics/items/icons/fluffy_tail.4bpp.lz"); +const u32 gItemIconPalette_FluffyTail[] = INCBIN_U32("graphics/items/icon_palettes/fluffy_tail.gbapal.lz"); -const u32 gFile_graphics_items_icons_stardust_sheet[] = INCBIN_U32("graphics/items/icons/stardust.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_star_palette[] = INCBIN_U32("graphics/items/icon_palettes/star.gbapal.lz"); -const u32 gFile_graphics_items_icons_star_piece_sheet[] = INCBIN_U32("graphics/items/icons/star_piece.4bpp.lz"); +// Field items -const u32 gFile_graphics_items_icons_nugget_sheet[] = INCBIN_U32("graphics/items/icons/nugget.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_nugget_palette[] = INCBIN_U32("graphics/items/icon_palettes/nugget.gbapal.lz"); +const u32 gItemIcon_Repel[] = INCBIN_U32("graphics/items/icons/repel.4bpp.lz"); +const u32 gItemIconPalette_SuperRepel[] = INCBIN_U32("graphics/items/icon_palettes/super_repel.gbapal.lz"); +const u32 gItemIconPalette_MaxRepel[] = INCBIN_U32("graphics/items/icon_palettes/max_repel.gbapal.lz"); -const u32 gFile_graphics_items_icons_heart_scale_sheet[] = INCBIN_U32("graphics/items/icons/heart_scale.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_heart_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/heart_scale.gbapal.lz"); +const u32 gItemIcon_EscapeRope[] = INCBIN_U32("graphics/items/icons/escape_rope.4bpp.lz"); -const u32 gFile_graphics_items_icons_orange_mail_sheet[] = INCBIN_U32("graphics/items/icons/orange_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_orange_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/orange_mail.gbapal.lz"); +const u32 gItemIconPalette_EscapeRope[] = INCBIN_U32("graphics/items/icon_palettes/escape_rope.gbapal.lz"); -const u32 gFile_graphics_items_icons_harbor_mail_sheet[] = INCBIN_U32("graphics/items/icons/harbor_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_harbor_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/harbor_mail.gbapal.lz"); +const u32 gItemIconPalette_Repel[] = INCBIN_U32("graphics/items/icon_palettes/repel.gbapal.lz"); -const u32 gFile_graphics_items_icons_glitter_mail_sheet[] = INCBIN_U32("graphics/items/icons/glitter_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_glitter_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/glitter_mail.gbapal.lz"); +// Evolution stones -const u32 gFile_graphics_items_icons_mech_mail_sheet[] = INCBIN_U32("graphics/items/icons/mech_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mech_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/mech_mail.gbapal.lz"); +const u32 gItemIcon_SunStone[] = INCBIN_U32("graphics/items/icons/sun_stone.4bpp.lz"); +const u32 gItemIconPalette_SunStone[] = INCBIN_U32("graphics/items/icon_palettes/sun_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_wood_mail_sheet[] = INCBIN_U32("graphics/items/icons/wood_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_wood_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wood_mail.gbapal.lz"); +const u32 gItemIcon_MoonStone[] = INCBIN_U32("graphics/items/icons/moon_stone.4bpp.lz"); +const u32 gItemIconPalette_MoonStone[] = INCBIN_U32("graphics/items/icon_palettes/moon_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_wave_mail_sheet[] = INCBIN_U32("graphics/items/icons/wave_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_wave_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wave_mail.gbapal.lz"); +const u32 gItemIcon_FireStone[] = INCBIN_U32("graphics/items/icons/fire_stone.4bpp.lz"); +const u32 gItemIconPalette_FireStone[] = INCBIN_U32("graphics/items/icon_palettes/fire_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_bead_mail_sheet[] = INCBIN_U32("graphics/items/icons/bead_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_bead_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/bead_mail.gbapal.lz"); +const u32 gItemIcon_ThunderStone[] = INCBIN_U32("graphics/items/icons/thunder_stone.4bpp.lz"); +const u32 gItemIconPalette_ThunderStone[] = INCBIN_U32("graphics/items/icon_palettes/thunder_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_shadow_mail_sheet[] = INCBIN_U32("graphics/items/icons/shadow_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_shadow_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/shadow_mail.gbapal.lz"); +const u32 gItemIcon_WaterStone[] = INCBIN_U32("graphics/items/icons/water_stone.4bpp.lz"); +const u32 gItemIconPalette_WaterStone[] = INCBIN_U32("graphics/items/icon_palettes/water_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_tropic_mail_sheet[] = INCBIN_U32("graphics/items/icons/tropic_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_tropic_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/tropic_mail.gbapal.lz"); +const u32 gItemIcon_LeafStone[] = INCBIN_U32("graphics/items/icons/leaf_stone.4bpp.lz"); +const u32 gItemIconPalette_LeafStone[] = INCBIN_U32("graphics/items/icon_palettes/leaf_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_dream_mail_sheet[] = INCBIN_U32("graphics/items/icons/dream_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_dream_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/dream_mail.gbapal.lz"); +// Valuables -const u32 gFile_graphics_items_icons_fab_mail_sheet[] = INCBIN_U32("graphics/items/icons/fab_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fab_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fab_mail.gbapal.lz"); +const u32 gItemIcon_TinyMushroom[] = INCBIN_U32("graphics/items/icons/tiny_mushroom.4bpp.lz"); +const u32 gItemIcon_BigMushroom[] = INCBIN_U32("graphics/items/icons/big_mushroom.4bpp.lz"); +const u32 gItemIconPalette_Mushroom[] = INCBIN_U32("graphics/items/icon_palettes/mushroom.gbapal.lz"); -const u32 gFile_graphics_items_icons_retro_mail_sheet[] = INCBIN_U32("graphics/items/icons/retro_mail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_retro_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/retro_mail.gbapal.lz"); +const u32 gItemIcon_Pearl[] = INCBIN_U32("graphics/items/icons/pearl.4bpp.lz"); +const u32 gItemIconPalette_Pearl[] = INCBIN_U32("graphics/items/icon_palettes/pearl.gbapal.lz"); +const u32 gItemIcon_BigPearl[] = INCBIN_U32("graphics/items/icons/big_pearl.4bpp.lz"); -const u32 gFile_graphics_items_icons_cheri_berry_sheet[] = INCBIN_U32("graphics/items/icons/cheri_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_cheri_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cheri_berry.gbapal.lz"); +const u32 gItemIcon_Stardust[] = INCBIN_U32("graphics/items/icons/stardust.4bpp.lz"); +const u32 gItemIconPalette_Star[] = INCBIN_U32("graphics/items/icon_palettes/star.gbapal.lz"); +const u32 gItemIcon_StarPiece[] = INCBIN_U32("graphics/items/icons/star_piece.4bpp.lz"); -const u32 gFile_graphics_items_icons_chesto_berry_sheet[] = INCBIN_U32("graphics/items/icons/chesto_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_chesto_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/chesto_berry.gbapal.lz"); +const u32 gItemIcon_Nugget[] = INCBIN_U32("graphics/items/icons/nugget.4bpp.lz"); +const u32 gItemIconPalette_Nugget[] = INCBIN_U32("graphics/items/icon_palettes/nugget.gbapal.lz"); -const u32 gFile_graphics_items_icons_pecha_berry_sheet[] = INCBIN_U32("graphics/items/icons/pecha_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pecha_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pecha_berry.gbapal.lz"); +const u32 gItemIcon_HeartScale[] = INCBIN_U32("graphics/items/icons/heart_scale.4bpp.lz"); +const u32 gItemIconPalette_HeartScale[] = INCBIN_U32("graphics/items/icon_palettes/heart_scale.gbapal.lz"); -const u32 gFile_graphics_items_icons_rawst_berry_sheet[] = INCBIN_U32("graphics/items/icons/rawst_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_rawst_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rawst_berry.gbapal.lz"); +// Mail -const u32 gFile_graphics_items_icons_aspear_berry_sheet[] = INCBIN_U32("graphics/items/icons/aspear_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_aspear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aspear_berry.gbapal.lz"); +const u32 gItemIcon_OrangeMail[] = INCBIN_U32("graphics/items/icons/orange_mail.4bpp.lz"); +const u32 gItemIconPalette_OrangeMail[] = INCBIN_U32("graphics/items/icon_palettes/orange_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_leppa_berry_sheet[] = INCBIN_U32("graphics/items/icons/leppa_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_leppa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/leppa_berry.gbapal.lz"); +const u32 gItemIcon_HarborMail[] = INCBIN_U32("graphics/items/icons/harbor_mail.4bpp.lz"); +const u32 gItemIconPalette_HarborMail[] = INCBIN_U32("graphics/items/icon_palettes/harbor_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_oran_berry_sheet[] = INCBIN_U32("graphics/items/icons/oran_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_oran_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/oran_berry.gbapal.lz"); +const u32 gItemIcon_GlitterMail[] = INCBIN_U32("graphics/items/icons/glitter_mail.4bpp.lz"); +const u32 gItemIconPalette_GlitterMail[] = INCBIN_U32("graphics/items/icon_palettes/glitter_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_persim_berry_sheet[] = INCBIN_U32("graphics/items/icons/persim_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_persim_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/persim_berry.gbapal.lz"); +const u32 gItemIcon_MechMail[] = INCBIN_U32("graphics/items/icons/mech_mail.4bpp.lz"); +const u32 gItemIconPalette_MechMail[] = INCBIN_U32("graphics/items/icon_palettes/mech_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_lum_berry_sheet[] = INCBIN_U32("graphics/items/icons/lum_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lum_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lum_berry.gbapal.lz"); +const u32 gItemIcon_WoodMail[] = INCBIN_U32("graphics/items/icons/wood_mail.4bpp.lz"); +const u32 gItemIconPalette_WoodMail[] = INCBIN_U32("graphics/items/icon_palettes/wood_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_sitrus_berry_sheet[] = INCBIN_U32("graphics/items/icons/sitrus_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sitrus_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/sitrus_berry.gbapal.lz"); +const u32 gItemIcon_WaveMail[] = INCBIN_U32("graphics/items/icons/wave_mail.4bpp.lz"); +const u32 gItemIconPalette_WaveMail[] = INCBIN_U32("graphics/items/icon_palettes/wave_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_figy_berry_sheet[] = INCBIN_U32("graphics/items/icons/figy_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_figy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/figy_berry.gbapal.lz"); +const u32 gItemIcon_BeadMail[] = INCBIN_U32("graphics/items/icons/bead_mail.4bpp.lz"); +const u32 gItemIconPalette_BeadMail[] = INCBIN_U32("graphics/items/icon_palettes/bead_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_wiki_berry_sheet[] = INCBIN_U32("graphics/items/icons/wiki_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_wiki_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wiki_berry.gbapal.lz"); +const u32 gItemIcon_ShadowMail[] = INCBIN_U32("graphics/items/icons/shadow_mail.4bpp.lz"); +const u32 gItemIconPalette_ShadowMail[] = INCBIN_U32("graphics/items/icon_palettes/shadow_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_mago_berry_sheet[] = INCBIN_U32("graphics/items/icons/mago_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mago_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/mago_berry.gbapal.lz"); +const u32 gItemIcon_TropicMail[] = INCBIN_U32("graphics/items/icons/tropic_mail.4bpp.lz"); +const u32 gItemIconPalette_TropicMail[] = INCBIN_U32("graphics/items/icon_palettes/tropic_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_aguav_berry_sheet[] = INCBIN_U32("graphics/items/icons/aguav_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_aguav_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aguav_berry.gbapal.lz"); +const u32 gItemIcon_DreamMail[] = INCBIN_U32("graphics/items/icons/dream_mail.4bpp.lz"); +const u32 gItemIconPalette_DreamMail[] = INCBIN_U32("graphics/items/icon_palettes/dream_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_iapapa_berry_sheet[] = INCBIN_U32("graphics/items/icons/iapapa_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_iapapa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/iapapa_berry.gbapal.lz"); +const u32 gItemIcon_FabMail[] = INCBIN_U32("graphics/items/icons/fab_mail.4bpp.lz"); +const u32 gItemIconPalette_FabMail[] = INCBIN_U32("graphics/items/icon_palettes/fab_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_razz_berry_sheet[] = INCBIN_U32("graphics/items/icons/razz_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_razz_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/razz_berry.gbapal.lz"); +const u32 gItemIcon_RetroMail[] = INCBIN_U32("graphics/items/icons/retro_mail.4bpp.lz"); +const u32 gItemIconPalette_RetroMail[] = INCBIN_U32("graphics/items/icon_palettes/retro_mail.gbapal.lz"); -const u32 gFile_graphics_items_icons_bluk_berry_sheet[] = INCBIN_U32("graphics/items/icons/bluk_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_bluk_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/bluk_berry.gbapal.lz"); +// Berries -const u32 gFile_graphics_items_icons_nanab_berry_sheet[] = INCBIN_U32("graphics/items/icons/nanab_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_nanab_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nanab_berry.gbapal.lz"); +const u32 gItemIcon_CheriBerry[] = INCBIN_U32("graphics/items/icons/cheri_berry.4bpp.lz"); +const u32 gItemIconPalette_CheriBerry[] = INCBIN_U32("graphics/items/icon_palettes/cheri_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_wepear_berry_sheet[] = INCBIN_U32("graphics/items/icons/wepear_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_wepear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wepear_berry.gbapal.lz"); +const u32 gItemIcon_ChestoBerry[] = INCBIN_U32("graphics/items/icons/chesto_berry.4bpp.lz"); +const u32 gItemIconPalette_ChestoBerry[] = INCBIN_U32("graphics/items/icon_palettes/chesto_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_pinap_berry_sheet[] = INCBIN_U32("graphics/items/icons/pinap_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pinap_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pinap_berry.gbapal.lz"); +const u32 gItemIcon_PechaBerry[] = INCBIN_U32("graphics/items/icons/pecha_berry.4bpp.lz"); +const u32 gItemIconPalette_PechaBerry[] = INCBIN_U32("graphics/items/icon_palettes/pecha_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_pomeg_berry_sheet[] = INCBIN_U32("graphics/items/icons/pomeg_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pomeg_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pomeg_berry.gbapal.lz"); +const u32 gItemIcon_RawstBerry[] = INCBIN_U32("graphics/items/icons/rawst_berry.4bpp.lz"); +const u32 gItemIconPalette_RawstBerry[] = INCBIN_U32("graphics/items/icon_palettes/rawst_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_kelpsy_berry_sheet[] = INCBIN_U32("graphics/items/icons/kelpsy_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_kelpsy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz"); +const u32 gItemIcon_AspearBerry[] = INCBIN_U32("graphics/items/icons/aspear_berry.4bpp.lz"); +const u32 gItemIconPalette_AspearBerry[] = INCBIN_U32("graphics/items/icon_palettes/aspear_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_qualot_berry_sheet[] = INCBIN_U32("graphics/items/icons/qualot_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_qualot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/qualot_berry.gbapal.lz"); +const u32 gItemIcon_LeppaBerry[] = INCBIN_U32("graphics/items/icons/leppa_berry.4bpp.lz"); +const u32 gItemIconPalette_LeppaBerry[] = INCBIN_U32("graphics/items/icon_palettes/leppa_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_hondew_berry_sheet[] = INCBIN_U32("graphics/items/icons/hondew_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_hondew_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/hondew_berry.gbapal.lz"); +const u32 gItemIcon_OranBerry[] = INCBIN_U32("graphics/items/icons/oran_berry.4bpp.lz"); +const u32 gItemIconPalette_OranBerry[] = INCBIN_U32("graphics/items/icon_palettes/oran_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_grepa_berry_sheet[] = INCBIN_U32("graphics/items/icons/grepa_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_grepa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/grepa_berry.gbapal.lz"); +const u32 gItemIcon_PersimBerry[] = INCBIN_U32("graphics/items/icons/persim_berry.4bpp.lz"); +const u32 gItemIconPalette_PersimBerry[] = INCBIN_U32("graphics/items/icon_palettes/persim_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_tamato_berry_sheet[] = INCBIN_U32("graphics/items/icons/tamato_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_tamato_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/tamato_berry.gbapal.lz"); +const u32 gItemIcon_LumBerry[] = INCBIN_U32("graphics/items/icons/lum_berry.4bpp.lz"); +const u32 gItemIconPalette_LumBerry[] = INCBIN_U32("graphics/items/icon_palettes/lum_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_cornn_berry_sheet[] = INCBIN_U32("graphics/items/icons/cornn_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_cornn_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cornn_berry.gbapal.lz"); +const u32 gItemIcon_SitrusBerry[] = INCBIN_U32("graphics/items/icons/sitrus_berry.4bpp.lz"); +const u32 gItemIconPalette_SitrusBerry[] = INCBIN_U32("graphics/items/icon_palettes/sitrus_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_magost_berry_sheet[] = INCBIN_U32("graphics/items/icons/magost_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_magost_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/magost_berry.gbapal.lz"); +const u32 gItemIcon_FigyBerry[] = INCBIN_U32("graphics/items/icons/figy_berry.4bpp.lz"); +const u32 gItemIconPalette_FigyBerry[] = INCBIN_U32("graphics/items/icon_palettes/figy_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_rabuta_berry_sheet[] = INCBIN_U32("graphics/items/icons/rabuta_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_rabuta_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rabuta_berry.gbapal.lz"); +const u32 gItemIcon_WikiBerry[] = INCBIN_U32("graphics/items/icons/wiki_berry.4bpp.lz"); +const u32 gItemIconPalette_WikiBerry[] = INCBIN_U32("graphics/items/icon_palettes/wiki_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_nomel_berry_sheet[] = INCBIN_U32("graphics/items/icons/nomel_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_nomel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nomel_berry.gbapal.lz"); +const u32 gItemIcon_MagoBerry[] = INCBIN_U32("graphics/items/icons/mago_berry.4bpp.lz"); +const u32 gItemIconPalette_MagoBerry[] = INCBIN_U32("graphics/items/icon_palettes/mago_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_spelon_berry_sheet[] = INCBIN_U32("graphics/items/icons/spelon_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_spelon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/spelon_berry.gbapal.lz"); +const u32 gItemIcon_AguavBerry[] = INCBIN_U32("graphics/items/icons/aguav_berry.4bpp.lz"); +const u32 gItemIconPalette_AguavBerry[] = INCBIN_U32("graphics/items/icon_palettes/aguav_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_pamtre_berry_sheet[] = INCBIN_U32("graphics/items/icons/pamtre_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pamtre_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pamtre_berry.gbapal.lz"); +const u32 gItemIcon_IapapaBerry[] = INCBIN_U32("graphics/items/icons/iapapa_berry.4bpp.lz"); +const u32 gItemIconPalette_IapapaBerry[] = INCBIN_U32("graphics/items/icon_palettes/iapapa_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_watmel_berry_sheet[] = INCBIN_U32("graphics/items/icons/watmel_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_watmel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/watmel_berry.gbapal.lz"); +const u32 gItemIcon_RazzBerry[] = INCBIN_U32("graphics/items/icons/razz_berry.4bpp.lz"); +const u32 gItemIconPalette_RazzBerry[] = INCBIN_U32("graphics/items/icon_palettes/razz_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_durin_berry_sheet[] = INCBIN_U32("graphics/items/icons/durin_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_durin_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/durin_berry.gbapal.lz"); +const u32 gItemIcon_BlukBerry[] = INCBIN_U32("graphics/items/icons/bluk_berry.4bpp.lz"); +const u32 gItemIconPalette_BlukBerry[] = INCBIN_U32("graphics/items/icon_palettes/bluk_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_belue_berry_sheet[] = INCBIN_U32("graphics/items/icons/belue_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_belue_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/belue_berry.gbapal.lz"); +const u32 gItemIcon_NanabBerry[] = INCBIN_U32("graphics/items/icons/nanab_berry.4bpp.lz"); +const u32 gItemIconPalette_NanabBerry[] = INCBIN_U32("graphics/items/icon_palettes/nanab_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_liechi_berry_sheet[] = INCBIN_U32("graphics/items/icons/liechi_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_liechi_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/liechi_berry.gbapal.lz"); +const u32 gItemIcon_WepearBerry[] = INCBIN_U32("graphics/items/icons/wepear_berry.4bpp.lz"); +const u32 gItemIconPalette_WepearBerry[] = INCBIN_U32("graphics/items/icon_palettes/wepear_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_ganlon_berry_sheet[] = INCBIN_U32("graphics/items/icons/ganlon_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_ganlon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/ganlon_berry.gbapal.lz"); +const u32 gItemIcon_PinapBerry[] = INCBIN_U32("graphics/items/icons/pinap_berry.4bpp.lz"); +const u32 gItemIconPalette_PinapBerry[] = INCBIN_U32("graphics/items/icon_palettes/pinap_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_salac_berry_sheet[] = INCBIN_U32("graphics/items/icons/salac_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_salac_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/salac_berry.gbapal.lz"); +const u32 gItemIcon_PomegBerry[] = INCBIN_U32("graphics/items/icons/pomeg_berry.4bpp.lz"); +const u32 gItemIconPalette_PomegBerry[] = INCBIN_U32("graphics/items/icon_palettes/pomeg_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_petaya_berry_sheet[] = INCBIN_U32("graphics/items/icons/petaya_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_petaya_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/petaya_berry.gbapal.lz"); +const u32 gItemIcon_KelpsyBerry[] = INCBIN_U32("graphics/items/icons/kelpsy_berry.4bpp.lz"); +const u32 gItemIconPalette_KelpsyBerry[] = INCBIN_U32("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_apicot_berry_sheet[] = INCBIN_U32("graphics/items/icons/apicot_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_apicot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/apicot_berry.gbapal.lz"); +const u32 gItemIcon_QualotBerry[] = INCBIN_U32("graphics/items/icons/qualot_berry.4bpp.lz"); +const u32 gItemIconPalette_QualotBerry[] = INCBIN_U32("graphics/items/icon_palettes/qualot_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_lansat_berry_sheet[] = INCBIN_U32("graphics/items/icons/lansat_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lansat_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lansat_berry.gbapal.lz"); +const u32 gItemIcon_HondewBerry[] = INCBIN_U32("graphics/items/icons/hondew_berry.4bpp.lz"); +const u32 gItemIconPalette_HondewBerry[] = INCBIN_U32("graphics/items/icon_palettes/hondew_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_starf_berry_sheet[] = INCBIN_U32("graphics/items/icons/starf_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_starf_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/starf_berry.gbapal.lz"); +const u32 gItemIcon_GrepaBerry[] = INCBIN_U32("graphics/items/icons/grepa_berry.4bpp.lz"); +const u32 gItemIconPalette_GrepaBerry[] = INCBIN_U32("graphics/items/icon_palettes/grepa_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_enigma_berry_sheet[] = INCBIN_U32("graphics/items/icons/enigma_berry.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_enigma_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/enigma_berry.gbapal.lz"); +const u32 gItemIcon_TamatoBerry[] = INCBIN_U32("graphics/items/icons/tamato_berry.4bpp.lz"); +const u32 gItemIconPalette_TamatoBerry[] = INCBIN_U32("graphics/items/icon_palettes/tamato_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_bright_powder_sheet[] = INCBIN_U32("graphics/items/icons/bright_powder.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_bright_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/bright_powder.gbapal.lz"); +const u32 gItemIcon_CornnBerry[] = INCBIN_U32("graphics/items/icons/cornn_berry.4bpp.lz"); +const u32 gItemIconPalette_CornnBerry[] = INCBIN_U32("graphics/items/icon_palettes/cornn_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_in_battle_herb_sheet[] = INCBIN_U32("graphics/items/icons/in_battle_herb.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_white_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_herb.gbapal.lz"); +const u32 gItemIcon_MagostBerry[] = INCBIN_U32("graphics/items/icons/magost_berry.4bpp.lz"); +const u32 gItemIconPalette_MagostBerry[] = INCBIN_U32("graphics/items/icon_palettes/magost_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_macho_brace_sheet[] = INCBIN_U32("graphics/items/icons/macho_brace.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_macho_brace_palette[] = INCBIN_U32("graphics/items/icon_palettes/macho_brace.gbapal.lz"); +const u32 gItemIcon_RabutaBerry[] = INCBIN_U32("graphics/items/icons/rabuta_berry.4bpp.lz"); +const u32 gItemIconPalette_RabutaBerry[] = INCBIN_U32("graphics/items/icon_palettes/rabuta_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_exp_share_sheet[] = INCBIN_U32("graphics/items/icons/exp_share.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_exp_share_palette[] = INCBIN_U32("graphics/items/icon_palettes/exp_share.gbapal.lz"); +const u32 gItemIcon_NomelBerry[] = INCBIN_U32("graphics/items/icons/nomel_berry.4bpp.lz"); +const u32 gItemIconPalette_NomelBerry[] = INCBIN_U32("graphics/items/icon_palettes/nomel_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_quick_claw_sheet[] = INCBIN_U32("graphics/items/icons/quick_claw.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_quick_claw_palette[] = INCBIN_U32("graphics/items/icon_palettes/quick_claw.gbapal.lz"); +const u32 gItemIcon_SpelonBerry[] = INCBIN_U32("graphics/items/icons/spelon_berry.4bpp.lz"); +const u32 gItemIconPalette_SpelonBerry[] = INCBIN_U32("graphics/items/icon_palettes/spelon_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_soothe_bell_sheet[] = INCBIN_U32("graphics/items/icons/soothe_bell.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_soothe_bell_palette[] = INCBIN_U32("graphics/items/icon_palettes/soothe_bell.gbapal.lz"); +const u32 gItemIcon_PamtreBerry[] = INCBIN_U32("graphics/items/icons/pamtre_berry.4bpp.lz"); +const u32 gItemIconPalette_PamtreBerry[] = INCBIN_U32("graphics/items/icon_palettes/pamtre_berry.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_mental_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/mental_herb.gbapal.lz"); +const u32 gItemIcon_WatmelBerry[] = INCBIN_U32("graphics/items/icons/watmel_berry.4bpp.lz"); +const u32 gItemIconPalette_WatmelBerry[] = INCBIN_U32("graphics/items/icon_palettes/watmel_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_choice_band_sheet[] = INCBIN_U32("graphics/items/icons/choice_band.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_choice_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/choice_band.gbapal.lz"); +const u32 gItemIcon_DurinBerry[] = INCBIN_U32("graphics/items/icons/durin_berry.4bpp.lz"); +const u32 gItemIconPalette_DurinBerry[] = INCBIN_U32("graphics/items/icon_palettes/durin_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_kings_rock_sheet[] = INCBIN_U32("graphics/items/icons/kings_rock.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_kings_rock_palette[] = INCBIN_U32("graphics/items/icon_palettes/kings_rock.gbapal.lz"); +const u32 gItemIcon_BelueBerry[] = INCBIN_U32("graphics/items/icons/belue_berry.4bpp.lz"); +const u32 gItemIconPalette_BelueBerry[] = INCBIN_U32("graphics/items/icon_palettes/belue_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_silver_powder_sheet[] = INCBIN_U32("graphics/items/icons/silver_powder.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_silver_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/silver_powder.gbapal.lz"); +const u32 gItemIcon_LiechiBerry[] = INCBIN_U32("graphics/items/icons/liechi_berry.4bpp.lz"); +const u32 gItemIconPalette_LiechiBerry[] = INCBIN_U32("graphics/items/icon_palettes/liechi_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_amulet_coin_sheet[] = INCBIN_U32("graphics/items/icons/amulet_coin.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_amulet_coin_palette[] = INCBIN_U32("graphics/items/icon_palettes/amulet_coin.gbapal.lz"); +const u32 gItemIcon_GanlonBerry[] = INCBIN_U32("graphics/items/icons/ganlon_berry.4bpp.lz"); +const u32 gItemIconPalette_GanlonBerry[] = INCBIN_U32("graphics/items/icon_palettes/ganlon_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_cleanse_tag_sheet[] = INCBIN_U32("graphics/items/icons/cleanse_tag.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_cleanse_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/cleanse_tag.gbapal.lz"); +const u32 gItemIcon_SalacBerry[] = INCBIN_U32("graphics/items/icons/salac_berry.4bpp.lz"); +const u32 gItemIconPalette_SalacBerry[] = INCBIN_U32("graphics/items/icon_palettes/salac_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_soul_dew_sheet[] = INCBIN_U32("graphics/items/icons/soul_dew.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_soul_dew_palette[] = INCBIN_U32("graphics/items/icon_palettes/soul_dew.gbapal.lz"); +const u32 gItemIcon_PetayaBerry[] = INCBIN_U32("graphics/items/icons/petaya_berry.4bpp.lz"); +const u32 gItemIconPalette_PetayaBerry[] = INCBIN_U32("graphics/items/icon_palettes/petaya_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_deep_sea_tooth_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_tooth.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_deep_sea_tooth_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz"); +const u32 gItemIcon_ApicotBerry[] = INCBIN_U32("graphics/items/icons/apicot_berry.4bpp.lz"); +const u32 gItemIconPalette_ApicotBerry[] = INCBIN_U32("graphics/items/icon_palettes/apicot_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_deep_sea_scale_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_scale.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_deep_sea_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz"); +const u32 gItemIcon_LansatBerry[] = INCBIN_U32("graphics/items/icons/lansat_berry.4bpp.lz"); +const u32 gItemIconPalette_LansatBerry[] = INCBIN_U32("graphics/items/icon_palettes/lansat_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_smoke_ball_sheet[] = INCBIN_U32("graphics/items/icons/smoke_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_smoke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/smoke_ball.gbapal.lz"); +const u32 gItemIcon_StarfBerry[] = INCBIN_U32("graphics/items/icons/starf_berry.4bpp.lz"); +const u32 gItemIconPalette_StarfBerry[] = INCBIN_U32("graphics/items/icon_palettes/starf_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_everstone_sheet[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_everstone_palette[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz"); +const u32 gItemIcon_EnigmaBerry[] = INCBIN_U32("graphics/items/icons/enigma_berry.4bpp.lz"); +const u32 gItemIconPalette_EnigmaBerry[] = INCBIN_U32("graphics/items/icon_palettes/enigma_berry.gbapal.lz"); -const u32 gFile_graphics_items_icons_focus_band_sheet[] = INCBIN_U32("graphics/items/icons/focus_band.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_focus_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/focus_band.gbapal.lz"); +// Hold items -const u32 gFile_graphics_items_icons_lucky_egg_sheet[] = INCBIN_U32("graphics/items/icons/lucky_egg.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lucky_egg_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_egg.gbapal.lz"); +const u32 gItemIcon_BrightPowder[] = INCBIN_U32("graphics/items/icons/bright_powder.4bpp.lz"); +const u32 gItemIconPalette_BrightPowder[] = INCBIN_U32("graphics/items/icon_palettes/bright_powder.gbapal.lz"); -const u32 gFile_graphics_items_icons_scope_lens_sheet[] = INCBIN_U32("graphics/items/icons/scope_lens.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_scope_lens_palette[] = INCBIN_U32("graphics/items/icon_palettes/scope_lens.gbapal.lz"); +const u32 gItemIcon_InBattleHerb[] = INCBIN_U32("graphics/items/icons/in_battle_herb.4bpp.lz"); +const u32 gItemIconPalette_WhiteHerb[] = INCBIN_U32("graphics/items/icon_palettes/white_herb.gbapal.lz"); -const u32 gFile_graphics_items_icons_metal_coat_sheet[] = INCBIN_U32("graphics/items/icons/metal_coat.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_metal_coat_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_coat.gbapal.lz"); +const u32 gItemIcon_MachoBrace[] = INCBIN_U32("graphics/items/icons/macho_brace.4bpp.lz"); +const u32 gItemIconPalette_MachoBrace[] = INCBIN_U32("graphics/items/icon_palettes/macho_brace.gbapal.lz"); -const u32 gFile_graphics_items_icons_leftovers_sheet[] = INCBIN_U32("graphics/items/icons/leftovers.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_leftovers_palette[] = INCBIN_U32("graphics/items/icon_palettes/leftovers.gbapal.lz"); +const u32 gItemIcon_ExpShare[] = INCBIN_U32("graphics/items/icons/exp_share.4bpp.lz"); +const u32 gItemIconPalette_ExpShare[] = INCBIN_U32("graphics/items/icon_palettes/exp_share.gbapal.lz"); -const u32 gFile_graphics_items_icons_dragon_scale_sheet[] = INCBIN_U32("graphics/items/icons/dragon_scale.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_dragon_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_scale.gbapal.lz"); +const u32 gItemIcon_QuickClaw[] = INCBIN_U32("graphics/items/icons/quick_claw.4bpp.lz"); +const u32 gItemIconPalette_QuickClaw[] = INCBIN_U32("graphics/items/icon_palettes/quick_claw.gbapal.lz"); -const u32 gFile_graphics_items_icons_light_ball_sheet[] = INCBIN_U32("graphics/items/icons/light_ball.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_light_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/light_ball.gbapal.lz"); +const u32 gItemIcon_SootheBell[] = INCBIN_U32("graphics/items/icons/soothe_bell.4bpp.lz"); +const u32 gItemIconPalette_SootheBell[] = INCBIN_U32("graphics/items/icon_palettes/soothe_bell.gbapal.lz"); -const u32 gFile_graphics_items_icons_soft_sand_sheet[] = INCBIN_U32("graphics/items/icons/soft_sand.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_soft_sand_palette[] = INCBIN_U32("graphics/items/icon_palettes/soft_sand.gbapal.lz"); +const u32 gItemIconPalette_MentalHerb[] = INCBIN_U32("graphics/items/icon_palettes/mental_herb.gbapal.lz"); -const u32 gFile_graphics_items_icons_hard_stone_sheet[] = INCBIN_U32("graphics/items/icons/hard_stone.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_hard_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/hard_stone.gbapal.lz"); +const u32 gItemIcon_ChoiceBand[] = INCBIN_U32("graphics/items/icons/choice_band.4bpp.lz"); +const u32 gItemIconPalette_ChoiceBand[] = INCBIN_U32("graphics/items/icon_palettes/choice_band.gbapal.lz"); -const u32 gFile_graphics_items_icons_miracle_seed_sheet[] = INCBIN_U32("graphics/items/icons/miracle_seed.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_miracle_seed_palette[] = INCBIN_U32("graphics/items/icon_palettes/miracle_seed.gbapal.lz"); +const u32 gItemIcon_KingsRock[] = INCBIN_U32("graphics/items/icons/kings_rock.4bpp.lz"); +const u32 gItemIconPalette_KingsRock[] = INCBIN_U32("graphics/items/icon_palettes/kings_rock.gbapal.lz"); -const u32 gFile_graphics_items_icons_black_glasses_sheet[] = INCBIN_U32("graphics/items/icons/black_glasses.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz"); -const u32 gFile_graphics_items_icons_black_belt_sheet[] = INCBIN_U32("graphics/items/icons/black_belt.4bpp.lz"); +const u32 gItemIcon_SilverPowder[] = INCBIN_U32("graphics/items/icons/silver_powder.4bpp.lz"); +const u32 gItemIconPalette_SilverPowder[] = INCBIN_U32("graphics/items/icon_palettes/silver_powder.gbapal.lz"); -const u32 gFile_graphics_items_icons_magnet_sheet[] = INCBIN_U32("graphics/items/icons/magnet.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_magnet_palette[] = INCBIN_U32("graphics/items/icon_palettes/magnet.gbapal.lz"); +const u32 gItemIcon_AmuletCoin[] = INCBIN_U32("graphics/items/icons/amulet_coin.4bpp.lz"); +const u32 gItemIconPalette_AmuletCoin[] = INCBIN_U32("graphics/items/icon_palettes/amulet_coin.gbapal.lz"); -const u32 gFile_graphics_items_icons_mystic_water_sheet[] = INCBIN_U32("graphics/items/icons/mystic_water.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mystic_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_water.gbapal.lz"); +const u32 gItemIcon_CleanseTag[] = INCBIN_U32("graphics/items/icons/cleanse_tag.4bpp.lz"); +const u32 gItemIconPalette_CleanseTag[] = INCBIN_U32("graphics/items/icon_palettes/cleanse_tag.gbapal.lz"); -const u32 gFile_graphics_items_icons_sharp_beak_sheet[] = INCBIN_U32("graphics/items/icons/sharp_beak.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sharp_beak_palette[] = INCBIN_U32("graphics/items/icon_palettes/sharp_beak.gbapal.lz"); +const u32 gItemIcon_SoulDew[] = INCBIN_U32("graphics/items/icons/soul_dew.4bpp.lz"); +const u32 gItemIconPalette_SoulDew[] = INCBIN_U32("graphics/items/icon_palettes/soul_dew.gbapal.lz"); -const u32 gFile_graphics_items_icons_poison_barb_sheet[] = INCBIN_U32("graphics/items/icons/poison_barb.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_poison_barb_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_barb.gbapal.lz"); +const u32 gItemIcon_DeepSeaTooth[] = INCBIN_U32("graphics/items/icons/deep_sea_tooth.4bpp.lz"); +const u32 gItemIconPalette_DeepSeaTooth[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz"); -const u32 gFile_graphics_items_icons_never_melt_ice_sheet[] = INCBIN_U32("graphics/items/icons/never_melt_ice.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_never_melt_ice_palette[] = INCBIN_U32("graphics/items/icon_palettes/never_melt_ice.gbapal.lz"); +const u32 gItemIcon_DeepSeaScale[] = INCBIN_U32("graphics/items/icons/deep_sea_scale.4bpp.lz"); +const u32 gItemIconPalette_DeepSeaScale[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz"); -const u32 gFile_graphics_items_icons_spell_tag_sheet[] = INCBIN_U32("graphics/items/icons/spell_tag.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_spell_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/spell_tag.gbapal.lz"); +const u32 gItemIcon_SmokeBall[] = INCBIN_U32("graphics/items/icons/smoke_ball.4bpp.lz"); +const u32 gItemIconPalette_SmokeBall[] = INCBIN_U32("graphics/items/icon_palettes/smoke_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_twisted_spoon_sheet[] = INCBIN_U32("graphics/items/icons/twisted_spoon.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_twisted_spoon_palette[] = INCBIN_U32("graphics/items/icon_palettes/twisted_spoon.gbapal.lz"); +const u32 gItemIcon_Everstone[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz"); +const u32 gItemIconPalette_Everstone[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz"); -const u32 gFile_graphics_items_icons_charcoal_sheet[] = INCBIN_U32("graphics/items/icons/charcoal.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_charcoal_palette[] = INCBIN_U32("graphics/items/icon_palettes/charcoal.gbapal.lz"); +const u32 gItemIcon_FocusBand[] = INCBIN_U32("graphics/items/icons/focus_band.4bpp.lz"); +const u32 gItemIconPalette_FocusBand[] = INCBIN_U32("graphics/items/icon_palettes/focus_band.gbapal.lz"); -const u32 gFile_graphics_items_icons_dragon_fang_sheet[] = INCBIN_U32("graphics/items/icons/dragon_fang.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_dragon_fang_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_fang.gbapal.lz"); +const u32 gItemIcon_LuckyEgg[] = INCBIN_U32("graphics/items/icons/lucky_egg.4bpp.lz"); +const u32 gItemIconPalette_LuckyEgg[] = INCBIN_U32("graphics/items/icon_palettes/lucky_egg.gbapal.lz"); -const u32 gFile_graphics_items_icons_silk_scarf_sheet[] = INCBIN_U32("graphics/items/icons/silk_scarf.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_silk_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/silk_scarf.gbapal.lz"); +const u32 gItemIcon_ScopeLens[] = INCBIN_U32("graphics/items/icons/scope_lens.4bpp.lz"); +const u32 gItemIconPalette_ScopeLens[] = INCBIN_U32("graphics/items/icon_palettes/scope_lens.gbapal.lz"); -const u32 gFile_graphics_items_icons_up_grade_sheet[] = INCBIN_U32("graphics/items/icons/up_grade.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_up_grade_palette[] = INCBIN_U32("graphics/items/icon_palettes/up_grade.gbapal.lz"); +const u32 gItemIcon_MetalCoat[] = INCBIN_U32("graphics/items/icons/metal_coat.4bpp.lz"); +const u32 gItemIconPalette_MetalCoat[] = INCBIN_U32("graphics/items/icon_palettes/metal_coat.gbapal.lz"); -const u32 gFile_graphics_items_icons_shell_bell_sheet[] = INCBIN_U32("graphics/items/icons/shell_bell.4bpp.lz"); +const u32 gItemIcon_Leftovers[] = INCBIN_U32("graphics/items/icons/leftovers.4bpp.lz"); +const u32 gItemIconPalette_Leftovers[] = INCBIN_U32("graphics/items/icon_palettes/leftovers.gbapal.lz"); -const u32 gFile_graphics_items_icons_sea_incense_sheet[] = INCBIN_U32("graphics/items/icons/sea_incense.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sea_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/sea_incense.gbapal.lz"); +const u32 gItemIcon_DragonScale[] = INCBIN_U32("graphics/items/icons/dragon_scale.4bpp.lz"); +const u32 gItemIconPalette_DragonScale[] = INCBIN_U32("graphics/items/icon_palettes/dragon_scale.gbapal.lz"); -const u32 gFile_graphics_items_icons_lax_incense_sheet[] = INCBIN_U32("graphics/items/icons/lax_incense.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lax_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/lax_incense.gbapal.lz"); +const u32 gItemIcon_LightBall[] = INCBIN_U32("graphics/items/icons/light_ball.4bpp.lz"); +const u32 gItemIconPalette_LightBall[] = INCBIN_U32("graphics/items/icon_palettes/light_ball.gbapal.lz"); -const u32 gFile_graphics_items_icons_lucky_punch_sheet[] = INCBIN_U32("graphics/items/icons/lucky_punch.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_lucky_punch_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_punch.gbapal.lz"); +const u32 gItemIcon_SoftSand[] = INCBIN_U32("graphics/items/icons/soft_sand.4bpp.lz"); +const u32 gItemIconPalette_SoftSand[] = INCBIN_U32("graphics/items/icon_palettes/soft_sand.gbapal.lz"); -const u32 gFile_graphics_items_icons_metal_powder_sheet[] = INCBIN_U32("graphics/items/icons/metal_powder.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_metal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_powder.gbapal.lz"); +const u32 gItemIcon_HardStone[] = INCBIN_U32("graphics/items/icons/hard_stone.4bpp.lz"); +const u32 gItemIconPalette_HardStone[] = INCBIN_U32("graphics/items/icon_palettes/hard_stone.gbapal.lz"); -const u32 gFile_graphics_items_icons_thick_club_sheet[] = INCBIN_U32("graphics/items/icons/thick_club.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_thick_club_palette[] = INCBIN_U32("graphics/items/icon_palettes/thick_club.gbapal.lz"); +const u32 gItemIcon_MiracleSeed[] = INCBIN_U32("graphics/items/icons/miracle_seed.4bpp.lz"); +const u32 gItemIconPalette_MiracleSeed[] = INCBIN_U32("graphics/items/icon_palettes/miracle_seed.gbapal.lz"); -const u32 gFile_graphics_items_icons_stick_sheet[] = INCBIN_U32("graphics/items/icons/stick.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_stick_palette[] = INCBIN_U32("graphics/items/icon_palettes/stick.gbapal.lz"); +const u32 gItemIcon_BlackGlasses[] = INCBIN_U32("graphics/items/icons/black_glasses.4bpp.lz"); +const u32 gItemIconPalette_BlackTypeEnhancingItem[] = INCBIN_U32("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz"); -const u32 gFile_graphics_items_icons_scarf_sheet[] = INCBIN_U32("graphics/items/icons/scarf.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_red_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_blue_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_pink_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/pink_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_green_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_yellow_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_scarf.gbapal.lz"); +const u32 gItemIcon_BlackBelt[] = INCBIN_U32("graphics/items/icons/black_belt.4bpp.lz"); -const u32 gFile_graphics_items_icons_mach_bike_sheet[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mach_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz"); +const u32 gItemIcon_Magnet[] = INCBIN_U32("graphics/items/icons/magnet.4bpp.lz"); +const u32 gItemIconPalette_Magnet[] = INCBIN_U32("graphics/items/icon_palettes/magnet.gbapal.lz"); -const u32 gFile_graphics_items_icons_coin_case_sheet[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_coin_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz"); +const u32 gItemIcon_MysticWater[] = INCBIN_U32("graphics/items/icons/mystic_water.4bpp.lz"); +const u32 gItemIconPalette_MysticWater[] = INCBIN_U32("graphics/items/icon_palettes/mystic_water.gbapal.lz"); -const u32 gFile_graphics_items_icons_itemfinder_sheet[] = INCBIN_U32("graphics/items/icons/itemfinder.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_itemfinder_palette[] = INCBIN_U32("graphics/items/icon_palettes/itemfinder.gbapal.lz"); +const u32 gItemIcon_SharpBeak[] = INCBIN_U32("graphics/items/icons/sharp_beak.4bpp.lz"); +const u32 gItemIconPalette_SharpBeak[] = INCBIN_U32("graphics/items/icon_palettes/sharp_beak.gbapal.lz"); -const u32 gFile_graphics_items_icons_old_rod_sheet[] = INCBIN_U32("graphics/items/icons/old_rod.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_old_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_rod.gbapal.lz"); +const u32 gItemIcon_PoisonBarb[] = INCBIN_U32("graphics/items/icons/poison_barb.4bpp.lz"); +const u32 gItemIconPalette_PoisonBarb[] = INCBIN_U32("graphics/items/icon_palettes/poison_barb.gbapal.lz"); -const u32 gFile_graphics_items_icons_good_rod_sheet[] = INCBIN_U32("graphics/items/icons/good_rod.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_good_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/good_rod.gbapal.lz"); +const u32 gItemIcon_NeverMeltIce[] = INCBIN_U32("graphics/items/icons/never_melt_ice.4bpp.lz"); +const u32 gItemIconPalette_NeverMeltIce[] = INCBIN_U32("graphics/items/icon_palettes/never_melt_ice.gbapal.lz"); -const u32 gFile_graphics_items_icons_super_rod_sheet[] = INCBIN_U32("graphics/items/icons/super_rod.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_super_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_rod.gbapal.lz"); +const u32 gItemIcon_SpellTag[] = INCBIN_U32("graphics/items/icons/spell_tag.4bpp.lz"); +const u32 gItemIconPalette_SpellTag[] = INCBIN_U32("graphics/items/icon_palettes/spell_tag.gbapal.lz"); -const u32 gFile_graphics_items_icons_ss_ticket_sheet[] = INCBIN_U32("graphics/items/icons/ss_ticket.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_ss_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/ss_ticket.gbapal.lz"); +const u32 gItemIcon_TwistedSpoon[] = INCBIN_U32("graphics/items/icons/twisted_spoon.4bpp.lz"); +const u32 gItemIconPalette_TwistedSpoon[] = INCBIN_U32("graphics/items/icon_palettes/twisted_spoon.gbapal.lz"); -const u32 gFile_graphics_items_icons_contest_pass_sheet[] = INCBIN_U32("graphics/items/icons/contest_pass.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_contest_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/contest_pass.gbapal.lz"); +const u32 gItemIcon_Charcoal[] = INCBIN_U32("graphics/items/icons/charcoal.4bpp.lz"); +const u32 gItemIconPalette_Charcoal[] = INCBIN_U32("graphics/items/icon_palettes/charcoal.gbapal.lz"); -const u32 gFile_graphics_items_icons_wailmer_pail_sheet[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_wailmer_pail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); +const u32 gItemIcon_DragonFang[] = INCBIN_U32("graphics/items/icons/dragon_fang.4bpp.lz"); +const u32 gItemIconPalette_DragonFang[] = INCBIN_U32("graphics/items/icon_palettes/dragon_fang.gbapal.lz"); -const u32 gFile_graphics_items_icons_devon_goods_sheet[] = INCBIN_U32("graphics/items/icons/devon_goods.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_devon_goods_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_goods.gbapal.lz"); +const u32 gItemIcon_SilkScarf[] = INCBIN_U32("graphics/items/icons/silk_scarf.4bpp.lz"); +const u32 gItemIconPalette_SilkScarf[] = INCBIN_U32("graphics/items/icon_palettes/silk_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icons_soot_sack_sheet[] = INCBIN_U32("graphics/items/icons/soot_sack.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_soot_sack_palette[] = INCBIN_U32("graphics/items/icon_palettes/soot_sack.gbapal.lz"); +const u32 gItemIcon_UpGrade[] = INCBIN_U32("graphics/items/icons/up_grade.4bpp.lz"); +const u32 gItemIconPalette_UpGrade[] = INCBIN_U32("graphics/items/icon_palettes/up_grade.gbapal.lz"); -const u32 gFile_graphics_items_icons_basement_key_sheet[] = INCBIN_U32("graphics/items/icons/basement_key.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_old_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_key.gbapal.lz"); +const u32 gItemIcon_ShellBell[] = INCBIN_U32("graphics/items/icons/shell_bell.4bpp.lz"); -const u32 gFile_graphics_items_icons_acro_bike_sheet[] = INCBIN_U32("graphics/items/icons/acro_bike.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_acro_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/acro_bike.gbapal.lz"); +const u32 gItemIcon_SeaIncense[] = INCBIN_U32("graphics/items/icons/sea_incense.4bpp.lz"); +const u32 gItemIconPalette_SeaIncense[] = INCBIN_U32("graphics/items/icon_palettes/sea_incense.gbapal.lz"); -const u32 gFile_graphics_items_icons_pokeblock_case_sheet[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_pokeblock_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); +const u32 gItemIcon_LaxIncense[] = INCBIN_U32("graphics/items/icons/lax_incense.4bpp.lz"); +const u32 gItemIconPalette_LaxIncense[] = INCBIN_U32("graphics/items/icon_palettes/lax_incense.gbapal.lz"); -const u32 gFile_graphics_items_icons_letter_sheet[] = INCBIN_U32("graphics/items/icons/letter.4bpp.lz"); +const u32 gItemIcon_LuckyPunch[] = INCBIN_U32("graphics/items/icons/lucky_punch.4bpp.lz"); +const u32 gItemIconPalette_LuckyPunch[] = INCBIN_U32("graphics/items/icon_palettes/lucky_punch.gbapal.lz"); -const u32 gFile_graphics_items_icons_eon_ticket_sheet[] = INCBIN_U32("graphics/items/icons/eon_ticket.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_eon_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/eon_ticket.gbapal.lz"); +const u32 gItemIcon_MetalPowder[] = INCBIN_U32("graphics/items/icons/metal_powder.4bpp.lz"); +const u32 gItemIconPalette_MetalPowder[] = INCBIN_U32("graphics/items/icon_palettes/metal_powder.gbapal.lz"); -const u32 gFile_graphics_items_icons_orb_sheet[] = INCBIN_U32("graphics/items/icons/orb.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_red_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_orb.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_blue_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_orb.gbapal.lz"); +const u32 gItemIcon_ThickClub[] = INCBIN_U32("graphics/items/icons/thick_club.4bpp.lz"); +const u32 gItemIconPalette_ThickClub[] = INCBIN_U32("graphics/items/icon_palettes/thick_club.gbapal.lz"); -const u32 gFile_graphics_items_icons_scanner_sheet[] = INCBIN_U32("graphics/items/icons/scanner.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_scanner_palette[] = INCBIN_U32("graphics/items/icon_palettes/scanner.gbapal.lz"); +const u32 gItemIcon_Stick[] = INCBIN_U32("graphics/items/icons/stick.4bpp.lz"); +const u32 gItemIconPalette_Stick[] = INCBIN_U32("graphics/items/icon_palettes/stick.gbapal.lz"); -const u32 gFile_graphics_items_icons_go_goggles_sheet[] = INCBIN_U32("graphics/items/icons/go_goggles.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_go_goggles_palette[] = INCBIN_U32("graphics/items/icon_palettes/go_goggles.gbapal.lz"); +const u32 gItemIcon_Scarf[] = INCBIN_U32("graphics/items/icons/scarf.4bpp.lz"); +const u32 gItemIconPalette_RedScarf[] = INCBIN_U32("graphics/items/icon_palettes/red_scarf.gbapal.lz"); +const u32 gItemIconPalette_BlueScarf[] = INCBIN_U32("graphics/items/icon_palettes/blue_scarf.gbapal.lz"); +const u32 gItemIconPalette_PinkScarf[] = INCBIN_U32("graphics/items/icon_palettes/pink_scarf.gbapal.lz"); +const u32 gItemIconPalette_GreenScarf[] = INCBIN_U32("graphics/items/icon_palettes/green_scarf.gbapal.lz"); +const u32 gItemIconPalette_YellowScarf[] = INCBIN_U32("graphics/items/icon_palettes/yellow_scarf.gbapal.lz"); -const u32 gFile_graphics_items_icons_meteorite_sheet[] = INCBIN_U32("graphics/items/icons/meteorite.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_meteorite_palette[] = INCBIN_U32("graphics/items/icon_palettes/meteorite.gbapal.lz"); +// Key items -const u32 gFile_graphics_items_icons_room1_key_sheet[] = INCBIN_U32("graphics/items/icons/room1_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_room2_key_sheet[] = INCBIN_U32("graphics/items/icons/room2_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_room4_key_sheet[] = INCBIN_U32("graphics/items/icons/room4_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_room6_key_sheet[] = INCBIN_U32("graphics/items/icons/room6_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_storage_key_sheet[] = INCBIN_U32("graphics/items/icons/storage_key.4bpp.lz"); +const u32 gItemIcon_MachBike[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz"); +const u32 gItemIconPalette_MachBike[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz"); -const u32 gFile_graphics_items_icons_root_fossil_sheet[] = INCBIN_U32("graphics/items/icons/root_fossil.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz"); -const u32 gFile_graphics_items_icons_claw_fossil_sheet[] = INCBIN_U32("graphics/items/icons/claw_fossil.4bpp.lz"); +const u32 gItemIcon_CoinCase[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz"); +const u32 gItemIconPalette_CoinCase[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz"); -const u32 gFile_graphics_items_icons_devon_scope_sheet[] = INCBIN_U32("graphics/items/icons/devon_scope.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_devon_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_scope.gbapal.lz"); +const u32 gItemIcon_Itemfinder[] = INCBIN_U32("graphics/items/icons/itemfinder.4bpp.lz"); +const u32 gItemIconPalette_Itemfinder[] = INCBIN_U32("graphics/items/icon_palettes/itemfinder.gbapal.lz"); -const u32 gFile_graphics_items_icons_tm_sheet[] = INCBIN_U32("graphics/items/icons/tm.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_dragon_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_water_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_ghost_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz"); +const u32 gItemIcon_OldRod[] = INCBIN_U32("graphics/items/icons/old_rod.4bpp.lz"); +const u32 gItemIconPalette_OldRod[] = INCBIN_U32("graphics/items/icon_palettes/old_rod.gbapal.lz"); -const u32 gFile_graphics_items_icons_oaks_parcel_sheet[] = INCBIN_U32("graphics/items/icons/oaks_parcel.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_oaks_parcel_palette[] = INCBIN_U32("graphics/items/icon_palettes/oaks_parcel.gbapal.lz"); +const u32 gItemIcon_GoodRod[] = INCBIN_U32("graphics/items/icons/good_rod.4bpp.lz"); +const u32 gItemIconPalette_GoodRod[] = INCBIN_U32("graphics/items/icon_palettes/good_rod.gbapal.lz"); -const u32 gFile_graphics_items_icons_poke_flute_sheet[] = INCBIN_U32("graphics/items/icons/poke_flute.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_poke_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_flute.gbapal.lz"); +const u32 gItemIcon_SuperRod[] = INCBIN_U32("graphics/items/icons/super_rod.4bpp.lz"); +const u32 gItemIconPalette_SuperRod[] = INCBIN_U32("graphics/items/icon_palettes/super_rod.gbapal.lz"); -const u32 gFile_graphics_items_icons_secret_key_sheet[] = INCBIN_U32("graphics/items/icons/secret_key.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_secret_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/secret_key.gbapal.lz"); +const u32 gItemIcon_SSTicket[] = INCBIN_U32("graphics/items/icons/ss_ticket.4bpp.lz"); +const u32 gItemIconPalette_SSTicket[] = INCBIN_U32("graphics/items/icon_palettes/ss_ticket.gbapal.lz"); -const u32 gFile_graphics_items_icons_bike_voucher_sheet[] = INCBIN_U32("graphics/items/icons/bike_voucher.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_bike_voucher_palette[] = INCBIN_U32("graphics/items/icon_palettes/bike_voucher.gbapal.lz"); +const u32 gItemIcon_ContestPass[] = INCBIN_U32("graphics/items/icons/contest_pass.4bpp.lz"); +const u32 gItemIconPalette_ContestPass[] = INCBIN_U32("graphics/items/icon_palettes/contest_pass.gbapal.lz"); -const u32 gFile_graphics_items_icons_gold_teeth_sheet[] = INCBIN_U32("graphics/items/icons/gold_teeth.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_gold_teeth_palette[] = INCBIN_U32("graphics/items/icon_palettes/gold_teeth.gbapal.lz"); +const u32 gItemIcon_WailmerPail[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz"); +const u32 gItemIconPalette_WailmerPail[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); -const u32 gFile_graphics_items_icons_old_amber_sheet[] = INCBIN_U32("graphics/items/icons/old_amber.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_old_amber_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_amber.gbapal.lz"); +const u32 gItemIcon_DevonGoods[] = INCBIN_U32("graphics/items/icons/devon_goods.4bpp.lz"); +const u32 gItemIconPalette_DevonGoods[] = INCBIN_U32("graphics/items/icon_palettes/devon_goods.gbapal.lz"); -const u32 gFile_graphics_items_icons_card_key_sheet[] = INCBIN_U32("graphics/items/icons/card_key.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_card_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/card_key.gbapal.lz"); +const u32 gItemIcon_SootSack[] = INCBIN_U32("graphics/items/icons/soot_sack.4bpp.lz"); +const u32 gItemIconPalette_SootSack[] = INCBIN_U32("graphics/items/icon_palettes/soot_sack.gbapal.lz"); -const u32 gFile_graphics_items_icons_lift_key_sheet[] = INCBIN_U32("graphics/items/icons/lift_key.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/key.gbapal.lz"); +const u32 gItemIcon_BasementKey[] = INCBIN_U32("graphics/items/icons/basement_key.4bpp.lz"); +const u32 gItemIconPalette_OldKey[] = INCBIN_U32("graphics/items/icon_palettes/old_key.gbapal.lz"); -const u32 gFile_graphics_items_icons_helix_fossil_sheet[] = INCBIN_U32("graphics/items/icons/helix_fossil.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_kanto_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/kanto_fossil.gbapal.lz"); -const u32 gFile_graphics_items_icons_dome_fossil_sheet[] = INCBIN_U32("graphics/items/icons/dome_fossil.4bpp.lz"); +const u32 gItemIcon_AcroBike[] = INCBIN_U32("graphics/items/icons/acro_bike.4bpp.lz"); +const u32 gItemIconPalette_AcroBike[] = INCBIN_U32("graphics/items/icon_palettes/acro_bike.gbapal.lz"); -const u32 gFile_graphics_items_icons_silph_scope_sheet[] = INCBIN_U32("graphics/items/icons/silph_scope.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_silph_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/silph_scope.gbapal.lz"); +const u32 gItemIcon_PokeblockCase[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz"); +const u32 gItemIconPalette_PokeblockCase[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); -const u32 gFile_graphics_items_icons_bicycle_sheet[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_bicycle_palette[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz"); +const u32 gItemIcon_Letter[] = INCBIN_U32("graphics/items/icons/letter.4bpp.lz"); +const u32 gItemIcon_EonTicket[] = INCBIN_U32("graphics/items/icons/eon_ticket.4bpp.lz"); -const u32 gFile_graphics_items_icons_town_map_sheet[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_town_map_palette[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz"); +const u32 gItemIconPalette_EonTicket[] = INCBIN_U32("graphics/items/icon_palettes/eon_ticket.gbapal.lz"); -const u32 gFile_graphics_items_icons_vs_seeker_sheet[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_vs_seeker_palette[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); +const u32 gItemIcon_Orb[] = INCBIN_U32("graphics/items/icons/orb.4bpp.lz"); +const u32 gItemIconPalette_RedOrb[] = INCBIN_U32("graphics/items/icon_palettes/red_orb.gbapal.lz"); +const u32 gItemIconPalette_BlueOrb[] = INCBIN_U32("graphics/items/icon_palettes/blue_orb.gbapal.lz"); -const u32 gFile_graphics_items_icons_fame_checker_sheet[] = INCBIN_U32("graphics/items/icons/fame_checker.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_fame_checker_palette[] = INCBIN_U32("graphics/items/icon_palettes/fame_checker.gbapal.lz"); +const u32 gItemIcon_Scanner[] = INCBIN_U32("graphics/items/icons/scanner.4bpp.lz"); +const u32 gItemIconPalette_Scanner[] = INCBIN_U32("graphics/items/icon_palettes/scanner.gbapal.lz"); -const u32 gFile_graphics_items_icons_tm_case_sheet[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_tm_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz"); +const u32 gItemIcon_GoGoggles[] = INCBIN_U32("graphics/items/icons/go_goggles.4bpp.lz"); +const u32 gItemIconPalette_GoGoggles[] = INCBIN_U32("graphics/items/icon_palettes/go_goggles.gbapal.lz"); -const u32 gFile_graphics_items_icons_berry_pouch_sheet[] = INCBIN_U32("graphics/items/icons/berry_pouch.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_berry_pouch_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_pouch.gbapal.lz"); +const u32 gItemIcon_Meteorite[] = INCBIN_U32("graphics/items/icons/meteorite.4bpp.lz"); +const u32 gItemIconPalette_Meteorite[] = INCBIN_U32("graphics/items/icon_palettes/meteorite.gbapal.lz"); -const u32 gFile_graphics_items_icons_teachy_tv_sheet[] = INCBIN_U32("graphics/items/icons/teachy_tv.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_teachy_tv_palette[] = INCBIN_U32("graphics/items/icon_palettes/teachy_tv.gbapal.lz"); +const u32 gItemIcon_Room1Key[] = INCBIN_U32("graphics/items/icons/room1_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_tri_pass_sheet[] = INCBIN_U32("graphics/items/icons/tri_pass.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_tri_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/tri_pass.gbapal.lz"); +const u32 gItemIcon_Room2Key[] = INCBIN_U32("graphics/items/icons/room2_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_rainbow_pass_sheet[] = INCBIN_U32("graphics/items/icons/rainbow_pass.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_rainbow_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/rainbow_pass.gbapal.lz"); +const u32 gItemIcon_Room4Key[] = INCBIN_U32("graphics/items/icons/room4_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_tea_sheet[] = INCBIN_U32("graphics/items/icons/tea.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_tea_palette[] = INCBIN_U32("graphics/items/icon_palettes/tea.gbapal.lz"); +const u32 gItemIcon_Room6Key[] = INCBIN_U32("graphics/items/icons/room6_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_mystic_ticket_sheet[] = INCBIN_U32("graphics/items/icons/mystic_ticket.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_mystic_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_ticket.gbapal.lz"); +const u32 gItemIcon_StorageKey[] = INCBIN_U32("graphics/items/icons/storage_key.4bpp.lz"); -const u32 gFile_graphics_items_icons_aurora_ticket_sheet[] = INCBIN_U32("graphics/items/icons/aurora_ticket.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_aurora_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/aurora_ticket.gbapal.lz"); +const u32 gItemIcon_RootFossil[] = INCBIN_U32("graphics/items/icons/root_fossil.4bpp.lz"); +const u32 gItemIconPalette_HoennFossil[] = INCBIN_U32("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz"); +const u32 gItemIcon_ClawFossil[] = INCBIN_U32("graphics/items/icons/claw_fossil.4bpp.lz"); -const u32 gFile_graphics_items_icons_powder_jar_sheet[] = INCBIN_U32("graphics/items/icons/powder_jar.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_powder_jar_palette[] = INCBIN_U32("graphics/items/icon_palettes/powder_jar.gbapal.lz"); +const u32 gItemIcon_DevonScope[] = INCBIN_U32("graphics/items/icons/devon_scope.4bpp.lz"); +const u32 gItemIconPalette_DevonScope[] = INCBIN_U32("graphics/items/icon_palettes/devon_scope.gbapal.lz"); -const u32 gFile_graphics_items_icon_palettes_ruby_palette[] = INCBIN_U32("graphics/items/icon_palettes/ruby.gbapal.lz"); -const u32 gFile_graphics_items_icons_gem_sheet[] = INCBIN_U32("graphics/items/icons/gem.4bpp.lz"); -const u32 gFile_graphics_items_icon_palettes_sapphire_palette[] = INCBIN_U32("graphics/items/icon_palettes/sapphire.gbapal.lz"); +// TMs/HMs + +const u32 gItemIcon_TMHM[] = INCBIN_U32("graphics/items/icons/tm_hm.4bpp.lz"); + +const u32 gItemIconPalette_FightingTMHM[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_DragonTMHM[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_WaterTMHM[] = INCBIN_U32("graphics/items/icon_palettes/water_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_PsychicTMHM[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_NormalTMHM[] = INCBIN_U32("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_PoisonTMHM[] = INCBIN_U32("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_IceTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_GrassTMHM[] = INCBIN_U32("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_FireTMHM[] = INCBIN_U32("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_DarkTMHM[] = INCBIN_U32("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_SteelTMHM[] = INCBIN_U32("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_ElectricTMHM[] = INCBIN_U32("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_GroundTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_GhostTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_RockTMHM[] = INCBIN_U32("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz"); +const u32 gItemIconPalette_FlyingTMHM[] = INCBIN_U32("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz"); + +// FireRed/LeafGreen key items + +const u32 gItemIcon_OaksParcel[] = INCBIN_U32("graphics/items/icons/oaks_parcel.4bpp.lz"); +const u32 gItemIconPalette_OaksParcel[] = INCBIN_U32("graphics/items/icon_palettes/oaks_parcel.gbapal.lz"); + +const u32 gItemIcon_PokeFlute[] = INCBIN_U32("graphics/items/icons/poke_flute.4bpp.lz"); +const u32 gItemIconPalette_PokeFlute[] = INCBIN_U32("graphics/items/icon_palettes/poke_flute.gbapal.lz"); + +const u32 gItemIcon_SecretKey[] = INCBIN_U32("graphics/items/icons/secret_key.4bpp.lz"); +const u32 gItemIconPalette_SecretKey[] = INCBIN_U32("graphics/items/icon_palettes/secret_key.gbapal.lz"); + +const u32 gItemIcon_BikeVoucher[] = INCBIN_U32("graphics/items/icons/bike_voucher.4bpp.lz"); +const u32 gItemIconPalette_BikeVoucher[] = INCBIN_U32("graphics/items/icon_palettes/bike_voucher.gbapal.lz"); + +const u32 gItemIcon_GoldTeeth[] = INCBIN_U32("graphics/items/icons/gold_teeth.4bpp.lz"); +const u32 gItemIconPalette_GoldTeeth[] = INCBIN_U32("graphics/items/icon_palettes/gold_teeth.gbapal.lz"); + +const u32 gItemIcon_OldAmber[] = INCBIN_U32("graphics/items/icons/old_amber.4bpp.lz"); +const u32 gItemIconPalette_OldAmber[] = INCBIN_U32("graphics/items/icon_palettes/old_amber.gbapal.lz"); + +const u32 gItemIcon_CardKey[] = INCBIN_U32("graphics/items/icons/card_key.4bpp.lz"); +const u32 gItemIconPalette_CardKey[] = INCBIN_U32("graphics/items/icon_palettes/card_key.gbapal.lz"); + +const u32 gItemIcon_LiftKey[] = INCBIN_U32("graphics/items/icons/lift_key.4bpp.lz"); +const u32 gItemIconPalette_Key[] = INCBIN_U32("graphics/items/icon_palettes/key.gbapal.lz"); + +const u32 gItemIcon_HelixFossil[] = INCBIN_U32("graphics/items/icons/helix_fossil.4bpp.lz"); +const u32 gItemIconPalette_KantoFossil[] = INCBIN_U32("graphics/items/icon_palettes/kanto_fossil.gbapal.lz"); +const u32 gItemIcon_DomeFossil[] = INCBIN_U32("graphics/items/icons/dome_fossil.4bpp.lz"); + +const u32 gItemIcon_SilphScope[] = INCBIN_U32("graphics/items/icons/silph_scope.4bpp.lz"); +const u32 gItemIconPalette_SilphScope[] = INCBIN_U32("graphics/items/icon_palettes/silph_scope.gbapal.lz"); + +const u32 gItemIcon_Bicycle[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz"); +const u32 gItemIconPalette_Bicycle[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz"); + +const u32 gItemIcon_TownMap[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz"); +const u32 gItemIconPalette_TownMap[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz"); + +const u32 gItemIcon_VSSeeker[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz"); +const u32 gItemIconPalette_VSSeeker[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); + +const u32 gItemIcon_FameChecker[] = INCBIN_U32("graphics/items/icons/fame_checker.4bpp.lz"); +const u32 gItemIconPalette_FameChecker[] = INCBIN_U32("graphics/items/icon_palettes/fame_checker.gbapal.lz"); + +const u32 gItemIcon_TMCase[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz"); +const u32 gItemIconPalette_TMCase[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz"); + +const u32 gItemIcon_BerryPouch[] = INCBIN_U32("graphics/items/icons/berry_pouch.4bpp.lz"); +const u32 gItemIconPalette_BerryPouch[] = INCBIN_U32("graphics/items/icon_palettes/berry_pouch.gbapal.lz"); + +const u32 gItemIcon_TeachyTV[] = INCBIN_U32("graphics/items/icons/teachy_tv.4bpp.lz"); +const u32 gItemIconPalette_TeachyTV[] = INCBIN_U32("graphics/items/icon_palettes/teachy_tv.gbapal.lz"); + +const u32 gItemIcon_TriPass[] = INCBIN_U32("graphics/items/icons/tri_pass.4bpp.lz"); +const u32 gItemIconPalette_TriPass[] = INCBIN_U32("graphics/items/icon_palettes/tri_pass.gbapal.lz"); + +const u32 gItemIcon_RainbowPass[] = INCBIN_U32("graphics/items/icons/rainbow_pass.4bpp.lz"); +const u32 gItemIconPalette_RainbowPass[] = INCBIN_U32("graphics/items/icon_palettes/rainbow_pass.gbapal.lz"); + +const u32 gItemIcon_Tea[] = INCBIN_U32("graphics/items/icons/tea.4bpp.lz"); +const u32 gItemIconPalette_Tea[] = INCBIN_U32("graphics/items/icon_palettes/tea.gbapal.lz"); + +const u32 gItemIcon_MysticTicket[] = INCBIN_U32("graphics/items/icons/mystic_ticket.4bpp.lz"); +const u32 gItemIconPalette_MysticTicket[] = INCBIN_U32("graphics/items/icon_palettes/mystic_ticket.gbapal.lz"); + +const u32 gItemIcon_AuroraTicket[] = INCBIN_U32("graphics/items/icons/aurora_ticket.4bpp.lz"); +const u32 gItemIconPalette_AuroraTicket[] = INCBIN_U32("graphics/items/icon_palettes/aurora_ticket.gbapal.lz"); + +const u32 gItemIcon_PowderJar[] = INCBIN_U32("graphics/items/icons/powder_jar.4bpp.lz"); +const u32 gItemIconPalette_PowderJar[] = INCBIN_U32("graphics/items/icon_palettes/powder_jar.gbapal.lz"); + +const u32 gItemIconPalette_Ruby[] = INCBIN_U32("graphics/items/icon_palettes/ruby.gbapal.lz"); +const u32 gItemIcon_Gem[] = INCBIN_U32("graphics/items/icons/gem.4bpp.lz"); +const u32 gItemIconPalette_Sapphire[] = INCBIN_U32("graphics/items/icon_palettes/sapphire.gbapal.lz"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 1fd403366..a9dd7f0b2 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -1,379 +1,403 @@ -static const void *const sItemIconTable[ITEMS_COUNT + 1][2] = +static const u32 *const sItemIconTable[ITEMS_COUNT + 1][2] = { - [ITEM_NONE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_MASTER_BALL] = {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette}, - [ITEM_ULTRA_BALL] = {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette}, - [ITEM_GREAT_BALL] = {gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette}, - [ITEM_POKE_BALL] = {gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette}, - [ITEM_SAFARI_BALL] = {gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette}, - [ITEM_NET_BALL] = {gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette}, - [ITEM_DIVE_BALL] = {gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette}, - [ITEM_NEST_BALL] = {gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette}, - [ITEM_REPEAT_BALL] = {gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, - [ITEM_TIMER_BALL] = {gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, - [ITEM_LUXURY_BALL] = {gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, - [ITEM_PREMIER_BALL] = {gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, - [ITEM_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette}, - [ITEM_ANTIDOTE] = {gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette}, - [ITEM_BURN_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette}, - [ITEM_ICE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette}, - [ITEM_AWAKENING] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette}, - [ITEM_PARALYZE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette}, - [ITEM_FULL_RESTORE] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette}, - [ITEM_MAX_POTION] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette}, - [ITEM_HYPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette}, - [ITEM_SUPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette}, - [ITEM_FULL_HEAL] = {gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette}, - [ITEM_REVIVE] = {gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, - [ITEM_MAX_REVIVE] = {gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, - [ITEM_FRESH_WATER] = {gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette}, - [ITEM_SODA_POP] = {gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette}, - [ITEM_LEMONADE] = {gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette}, - [ITEM_MOOMOO_MILK] = {gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette}, - [ITEM_ENERGY_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette}, - [ITEM_ENERGY_ROOT] = {gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette}, - [ITEM_HEAL_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette}, - [ITEM_REVIVAL_HERB] = {gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette}, - [ITEM_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette}, - [ITEM_MAX_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette}, - [ITEM_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette}, - [ITEM_MAX_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette}, - [ITEM_LAVA_COOKIE] = {gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, - [ITEM_BLUE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette}, - [ITEM_YELLOW_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette}, - [ITEM_RED_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette}, - [ITEM_BLACK_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette}, - [ITEM_WHITE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette}, - [ITEM_BERRY_JUICE] = {gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette}, - [ITEM_SACRED_ASH] = {gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette}, - [ITEM_SHOAL_SALT] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette}, - [ITEM_SHOAL_SHELL] = {gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, - [ITEM_RED_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette}, - [ITEM_BLUE_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette}, - [ITEM_YELLOW_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette}, - [ITEM_GREEN_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette}, - [ITEM_034] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_035] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_036] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_037] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_038] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_039] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_03A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_03B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_03C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_03D] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_03E] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_HP_UP] = {gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette}, - [ITEM_PROTEIN] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette}, - [ITEM_IRON] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette}, - [ITEM_CARBOS] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette}, - [ITEM_CALCIUM] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette}, - [ITEM_RARE_CANDY] = {gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette}, - [ITEM_PP_UP] = {gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette}, - [ITEM_ZINC] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette}, - [ITEM_PP_MAX] = {gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette}, - [ITEM_048] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_GUARD_SPEC] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette}, - [ITEM_DIRE_HIT] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette}, - [ITEM_X_ATTACK] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette}, - [ITEM_X_DEFEND] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette}, - [ITEM_X_SPEED] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette}, - [ITEM_X_ACCURACY] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette}, - [ITEM_X_SPECIAL] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette}, - [ITEM_POKE_DOLL] = {gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette}, - [ITEM_FLUFFY_TAIL] = {gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette}, - [ITEM_052] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_SUPER_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette}, - [ITEM_MAX_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette}, - [ITEM_ESCAPE_ROPE] = {gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette}, - [ITEM_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette}, - [ITEM_057] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_058] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_059] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_05A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_05B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_05C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_SUN_STONE] = {gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette}, - [ITEM_MOON_STONE] = {gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette}, - [ITEM_FIRE_STONE] = {gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette}, - [ITEM_THUNDER_STONE] = {gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette}, - [ITEM_WATER_STONE] = {gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette}, - [ITEM_LEAF_STONE] = {gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette}, - [ITEM_063] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_064] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_065] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_066] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_TINY_MUSHROOM] = {gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, - [ITEM_BIG_MUSHROOM] = {gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, - [ITEM_069] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_PEARL] = {gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, - [ITEM_BIG_PEARL] = {gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, - [ITEM_STARDUST] = {gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette}, - [ITEM_STAR_PIECE] = {gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette}, - [ITEM_NUGGET] = {gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette}, - [ITEM_HEART_SCALE] = {gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette}, - [ITEM_070] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_071] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_072] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_073] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_074] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_075] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_076] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_077] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_078] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_ORANGE_MAIL] = {gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette}, - [ITEM_HARBOR_MAIL] = {gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette}, - [ITEM_GLITTER_MAIL] = {gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette}, - [ITEM_MECH_MAIL] = {gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette}, - [ITEM_WOOD_MAIL] = {gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette}, - [ITEM_WAVE_MAIL] = {gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette}, - [ITEM_BEAD_MAIL] = {gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette}, - [ITEM_SHADOW_MAIL] = {gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette}, - [ITEM_TROPIC_MAIL] = {gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette}, - [ITEM_DREAM_MAIL] = {gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette}, - [ITEM_FAB_MAIL] = {gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette}, - [ITEM_RETRO_MAIL] = {gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette}, - [ITEM_CHERI_BERRY] = {gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette}, - [ITEM_CHESTO_BERRY] = {gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette}, - [ITEM_PECHA_BERRY] = {gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette}, - [ITEM_RAWST_BERRY] = {gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette}, - [ITEM_ASPEAR_BERRY] = {gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette}, - [ITEM_LEPPA_BERRY] = {gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette}, - [ITEM_ORAN_BERRY] = {gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette}, - [ITEM_PERSIM_BERRY] = {gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette}, - [ITEM_LUM_BERRY] = {gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette}, - [ITEM_SITRUS_BERRY] = {gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette}, - [ITEM_FIGY_BERRY] = {gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette}, - [ITEM_WIKI_BERRY] = {gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette}, - [ITEM_MAGO_BERRY] = {gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette}, - [ITEM_AGUAV_BERRY] = {gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette}, - [ITEM_IAPAPA_BERRY] = {gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette}, - [ITEM_RAZZ_BERRY] = {gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette}, - [ITEM_BLUK_BERRY] = {gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette}, - [ITEM_NANAB_BERRY] = {gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette}, - [ITEM_WEPEAR_BERRY] = {gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette}, - [ITEM_PINAP_BERRY] = {gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette}, - [ITEM_POMEG_BERRY] = {gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette}, - [ITEM_KELPSY_BERRY] = {gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette}, - [ITEM_QUALOT_BERRY] = {gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette}, - [ITEM_HONDEW_BERRY] = {gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette}, - [ITEM_GREPA_BERRY] = {gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette}, - [ITEM_TAMATO_BERRY] = {gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette}, - [ITEM_CORNN_BERRY] = {gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette}, - [ITEM_MAGOST_BERRY] = {gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette}, - [ITEM_RABUTA_BERRY] = {gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette}, - [ITEM_NOMEL_BERRY] = {gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette}, - [ITEM_SPELON_BERRY] = {gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette}, - [ITEM_PAMTRE_BERRY] = {gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette}, - [ITEM_WATMEL_BERRY] = {gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette}, - [ITEM_DURIN_BERRY] = {gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette}, - [ITEM_BELUE_BERRY] = {gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette}, - [ITEM_LIECHI_BERRY] = {gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette}, - [ITEM_GANLON_BERRY] = {gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette}, - [ITEM_SALAC_BERRY] = {gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette}, - [ITEM_PETAYA_BERRY] = {gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette}, - [ITEM_APICOT_BERRY] = {gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette}, - [ITEM_LANSAT_BERRY] = {gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette}, - [ITEM_STARF_BERRY] = {gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette}, - [ITEM_ENIGMA_BERRY] = {gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette}, - [ITEM_0B0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0B1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0B2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_BRIGHT_POWDER] = {gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette}, - [ITEM_WHITE_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette}, - [ITEM_MACHO_BRACE] = {gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette}, - [ITEM_EXP_SHARE] = {gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette}, - [ITEM_QUICK_CLAW] = {gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette}, - [ITEM_SOOTHE_BELL] = {gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette}, - [ITEM_MENTAL_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette}, - [ITEM_CHOICE_BAND] = {gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette}, - [ITEM_KINGS_ROCK] = {gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette}, - [ITEM_SILVER_POWDER] = {gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette}, - [ITEM_AMULET_COIN] = {gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette}, - [ITEM_CLEANSE_TAG] = {gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette}, - [ITEM_SOUL_DEW] = {gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette}, - [ITEM_DEEP_SEA_TOOTH] = {gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette}, - [ITEM_DEEP_SEA_SCALE] = {gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette}, - [ITEM_SMOKE_BALL] = {gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette}, - [ITEM_EVERSTONE] = {gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette}, - [ITEM_FOCUS_BAND] = {gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette}, - [ITEM_LUCKY_EGG] = {gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette}, - [ITEM_SCOPE_LENS] = {gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette}, - [ITEM_METAL_COAT] = {gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette}, - [ITEM_LEFTOVERS] = {gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette}, - [ITEM_DRAGON_SCALE] = {gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette}, - [ITEM_LIGHT_BALL] = {gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette}, - [ITEM_SOFT_SAND] = {gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette}, - [ITEM_HARD_STONE] = {gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette}, - [ITEM_MIRACLE_SEED] = {gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette}, - [ITEM_BLACK_GLASSES] = {gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, - [ITEM_BLACK_BELT] = {gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, - [ITEM_MAGNET] = {gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette}, - [ITEM_MYSTIC_WATER] = {gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette}, - [ITEM_SHARP_BEAK] = {gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette}, - [ITEM_POISON_BARB] = {gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette}, - [ITEM_NEVER_MELT_ICE] = {gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette}, - [ITEM_SPELL_TAG] = {gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette}, - [ITEM_TWISTED_SPOON] = {gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette}, - [ITEM_CHARCOAL] = {gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette}, - [ITEM_DRAGON_FANG] = {gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette}, - [ITEM_SILK_SCARF] = {gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette}, - [ITEM_UP_GRADE] = {gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette}, - [ITEM_SHELL_BELL] = {gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, - [ITEM_SEA_INCENSE] = {gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette}, - [ITEM_LAX_INCENSE] = {gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette}, - [ITEM_LUCKY_PUNCH] = {gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette}, - [ITEM_METAL_POWDER] = {gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette}, - [ITEM_THICK_CLUB] = {gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette}, - [ITEM_STICK] = {gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette}, - [ITEM_0E2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0E9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0EA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0EB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0EC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0ED] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0EE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0EF] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0F9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0FA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0FB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0FC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_0FD] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_RED_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette}, - [ITEM_BLUE_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette}, - [ITEM_PINK_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette}, - [ITEM_GREEN_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette}, - [ITEM_YELLOW_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette}, - [ITEM_MACH_BIKE] = {gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette}, - [ITEM_COIN_CASE] = {gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette}, - [ITEM_ITEMFINDER] = {gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette}, - [ITEM_OLD_ROD] = {gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette}, - [ITEM_GOOD_ROD] = {gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette}, - [ITEM_SUPER_ROD] = {gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette}, - [ITEM_SS_TICKET] = {gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette}, - [ITEM_CONTEST_PASS] = {gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette}, - [ITEM_10B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_WAILMER_PAIL] = {gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette}, - [ITEM_DEVON_GOODS] = {gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette}, - [ITEM_SOOT_SACK] = {gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette}, - [ITEM_BASEMENT_KEY] = {gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, - [ITEM_ACRO_BIKE] = {gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette}, - [ITEM_POKEBLOCK_CASE] = {gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette}, - [ITEM_LETTER] = {gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, - [ITEM_EON_TICKET] = {gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette}, - [ITEM_RED_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette}, - [ITEM_BLUE_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette}, - [ITEM_SCANNER] = {gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette}, - [ITEM_GO_GOGGLES] = {gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette}, - [ITEM_METEORITE] = {gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette}, - [ITEM_ROOM_1_KEY] = {gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - [ITEM_ROOM_2_KEY] = {gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - [ITEM_ROOM_4_KEY] = {gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - [ITEM_ROOM_6_KEY] = {gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - [ITEM_STORAGE_KEY] = {gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, - [ITEM_ROOT_FOSSIL] = {gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, - [ITEM_CLAW_FOSSIL] = {gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, - [ITEM_DEVON_SCOPE] = {gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette}, - [ITEM_TM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - [ITEM_TM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette}, - [ITEM_TM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - [ITEM_TM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, - [ITEM_TM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - [ITEM_TM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - [ITEM_TM09] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - [ITEM_TM10] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM11] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - [ITEM_TM12] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - [ITEM_TM13] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - [ITEM_TM14] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - [ITEM_TM15] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM16] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM17] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM18] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - [ITEM_TM19] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - [ITEM_TM20] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM21] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM22] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - [ITEM_TM23] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, - [ITEM_TM24] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - [ITEM_TM25] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - [ITEM_TM26] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, - [ITEM_TM27] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM28] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, - [ITEM_TM29] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM30] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette}, - [ITEM_TM31] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - [ITEM_TM32] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM33] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM34] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - [ITEM_TM35] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - [ITEM_TM36] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, - [ITEM_TM37] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, - [ITEM_TM38] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - [ITEM_TM39] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, - [ITEM_TM40] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, - [ITEM_TM41] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - [ITEM_TM42] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM43] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM44] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM45] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_TM46] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - [ITEM_TM47] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, - [ITEM_TM48] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - [ITEM_TM49] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - [ITEM_TM50] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - [ITEM_HM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_HM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, - [ITEM_HM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - [ITEM_HM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_HM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - [ITEM_HM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - [ITEM_HM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - [ITEM_HM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - [ITEM_15B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_15C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - [ITEM_OAKS_PARCEL] = {gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette}, - [ITEM_POKE_FLUTE] = {gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette}, - [ITEM_SECRET_KEY] = {gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette}, - [ITEM_BIKE_VOUCHER] = {gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette}, - [ITEM_GOLD_TEETH] = {gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette}, - [ITEM_OLD_AMBER] = {gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette}, - [ITEM_CARD_KEY] = {gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette}, - [ITEM_LIFT_KEY] = {gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - [ITEM_HELIX_FOSSIL] = {gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, - [ITEM_DOME_FOSSIL] = {gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, - [ITEM_SILPH_SCOPE] = {gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette}, - [ITEM_BICYCLE] = {gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette}, - [ITEM_TOWN_MAP] = {gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette}, - [ITEM_VS_SEEKER] = {gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette}, - [ITEM_FAME_CHECKER] = {gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette}, - [ITEM_TM_CASE] = {gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette}, - [ITEM_BERRY_POUCH] = {gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette}, - [ITEM_TEACHY_TV] = {gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette}, - [ITEM_TRI_PASS] = {gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette}, - [ITEM_RAINBOW_PASS] = {gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette}, - [ITEM_TEA] = {gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette}, - [ITEM_MYSTIC_TICKET] = {gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette}, - [ITEM_AURORA_TICKET] = {gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette}, - [ITEM_POWDER_JAR] = {gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette}, - [ITEM_RUBY] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette}, - [ITEM_SAPPHIRE] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette}, - [ITEMS_COUNT] = {gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette} + [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Pokeballs + [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall}, + [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall}, + [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall}, + [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall}, + [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall}, + [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall}, + [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall}, + [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall}, + [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall}, + [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall}, + [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall}, + [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall}, + // Medicine + [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion}, + [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote}, + [ITEM_BURN_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_BurnHeal}, + [ITEM_ICE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_IceHeal}, + [ITEM_AWAKENING] = {gItemIcon_StatusHeal, gItemIconPalette_Awakening}, + [ITEM_PARALYZE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal}, + [ITEM_FULL_RESTORE] = {gItemIcon_LargePotion, gItemIconPalette_FullRestore}, + [ITEM_MAX_POTION] = {gItemIcon_LargePotion, gItemIconPalette_MaxPotion}, + [ITEM_HYPER_POTION] = {gItemIcon_Potion, gItemIconPalette_HyperPotion}, + [ITEM_SUPER_POTION] = {gItemIcon_Potion, gItemIconPalette_SuperPotion}, + [ITEM_FULL_HEAL] = {gItemIcon_FullHeal, gItemIconPalette_FullHeal}, + [ITEM_REVIVE] = {gItemIcon_Revive, gItemIconPalette_Revive}, + [ITEM_MAX_REVIVE] = {gItemIcon_MaxRevive, gItemIconPalette_Revive}, + [ITEM_FRESH_WATER] = {gItemIcon_FreshWater, gItemIconPalette_FreshWater}, + [ITEM_SODA_POP] = {gItemIcon_SodaPop, gItemIconPalette_SodaPop}, + [ITEM_LEMONADE] = {gItemIcon_Lemonade, gItemIconPalette_Lemonade}, + [ITEM_MOOMOO_MILK] = {gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk}, + [ITEM_ENERGY_POWDER] = {gItemIcon_Powder, gItemIconPalette_EnergyPowder}, + [ITEM_ENERGY_ROOT] = {gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot}, + [ITEM_HEAL_POWDER] = {gItemIcon_Powder, gItemIconPalette_HealPowder}, + [ITEM_REVIVAL_HERB] = {gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb}, + [ITEM_ETHER] = {gItemIcon_Ether, gItemIconPalette_Ether}, + [ITEM_MAX_ETHER] = {gItemIcon_Ether, gItemIconPalette_MaxEther}, + [ITEM_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_Elixir}, + [ITEM_MAX_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_MaxElixir}, + [ITEM_LAVA_COOKIE] = {gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter}, + [ITEM_BLUE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlueFlute}, + [ITEM_YELLOW_FLUTE] = {gItemIcon_Flute, gItemIconPalette_YellowFlute}, + [ITEM_RED_FLUTE] = {gItemIcon_Flute, gItemIconPalette_RedFlute}, + [ITEM_BLACK_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlackFlute}, + [ITEM_WHITE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_WhiteFlute}, + [ITEM_BERRY_JUICE] = {gItemIcon_BerryJuice, gItemIconPalette_BerryJuice}, + [ITEM_SACRED_ASH] = {gItemIcon_SacredAsh, gItemIconPalette_SacredAsh}, + // Collectibles + [ITEM_SHOAL_SALT] = {gItemIcon_Powder, gItemIconPalette_ShoalSalt}, + [ITEM_SHOAL_SHELL] = {gItemIcon_ShoalShell, gItemIconPalette_Shell}, + [ITEM_RED_SHARD] = {gItemIcon_Shard, gItemIconPalette_RedShard}, + [ITEM_BLUE_SHARD] = {gItemIcon_Shard, gItemIconPalette_BlueShard}, + [ITEM_YELLOW_SHARD] = {gItemIcon_Shard, gItemIconPalette_YellowShard}, + [ITEM_GREEN_SHARD] = {gItemIcon_Shard, gItemIconPalette_GreenShard}, + // ???????? + [ITEM_034] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_035] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_036] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_037] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_038] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_039] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_03A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_03B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_03C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_03D] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_03E] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Vitamins + [ITEM_HP_UP] = {gItemIcon_HPUp, gItemIconPalette_HPUp}, + [ITEM_PROTEIN] = {gItemIcon_Vitamin, gItemIconPalette_Protein}, + [ITEM_IRON] = {gItemIcon_Vitamin, gItemIconPalette_Iron}, + [ITEM_CARBOS] = {gItemIcon_Vitamin, gItemIconPalette_Carbos}, + [ITEM_CALCIUM] = {gItemIcon_Vitamin, gItemIconPalette_Calcium}, + [ITEM_RARE_CANDY] = {gItemIcon_RareCandy, gItemIconPalette_RareCandy}, + [ITEM_PP_UP] = {gItemIcon_PPUp, gItemIconPalette_PPUp}, + [ITEM_ZINC] = {gItemIcon_Vitamin, gItemIconPalette_Zinc}, + [ITEM_PP_MAX] = {gItemIcon_PPMax, gItemIconPalette_PPMax}, + // ???????? + [ITEM_048] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Battle items + [ITEM_GUARD_SPEC] = {gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec}, + [ITEM_DIRE_HIT] = {gItemIcon_BattleStatItem, gItemIconPalette_DireHit}, + [ITEM_X_ATTACK] = {gItemIcon_BattleStatItem, gItemIconPalette_XAttack}, + [ITEM_X_DEFEND] = {gItemIcon_BattleStatItem, gItemIconPalette_XDefend}, + [ITEM_X_SPEED] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpeed}, + [ITEM_X_ACCURACY] = {gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy}, + [ITEM_X_SPECIAL] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpecial}, + [ITEM_POKE_DOLL] = {gItemIcon_PokeDoll, gItemIconPalette_PokeDoll}, + [ITEM_FLUFFY_TAIL] = {gItemIcon_FluffyTail, gItemIconPalette_FluffyTail}, + // ???????? + [ITEM_052] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Field items + [ITEM_SUPER_REPEL] = {gItemIcon_Repel, gItemIconPalette_SuperRepel}, + [ITEM_MAX_REPEL] = {gItemIcon_Repel, gItemIconPalette_MaxRepel}, + [ITEM_ESCAPE_ROPE] = {gItemIcon_EscapeRope, gItemIconPalette_EscapeRope}, + [ITEM_REPEL] = {gItemIcon_Repel, gItemIconPalette_Repel}, + // ???????? + [ITEM_057] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_058] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_059] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_05A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_05B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_05C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Evolution stones + [ITEM_SUN_STONE] = {gItemIcon_SunStone, gItemIconPalette_SunStone}, + [ITEM_MOON_STONE] = {gItemIcon_MoonStone, gItemIconPalette_MoonStone}, + [ITEM_FIRE_STONE] = {gItemIcon_FireStone, gItemIconPalette_FireStone}, + [ITEM_THUNDER_STONE] = {gItemIcon_ThunderStone, gItemIconPalette_ThunderStone}, + [ITEM_WATER_STONE] = {gItemIcon_WaterStone, gItemIconPalette_WaterStone}, + [ITEM_LEAF_STONE] = {gItemIcon_LeafStone, gItemIconPalette_LeafStone}, + // ???????? + [ITEM_063] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_064] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_065] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_066] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Valuables + [ITEM_TINY_MUSHROOM] = {gItemIcon_TinyMushroom, gItemIconPalette_Mushroom}, + [ITEM_BIG_MUSHROOM] = {gItemIcon_BigMushroom, gItemIconPalette_Mushroom}, + [ITEM_069] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_PEARL] = {gItemIcon_Pearl, gItemIconPalette_Pearl}, + [ITEM_BIG_PEARL] = {gItemIcon_BigPearl, gItemIconPalette_Pearl}, + [ITEM_STARDUST] = {gItemIcon_Stardust, gItemIconPalette_Star}, + [ITEM_STAR_PIECE] = {gItemIcon_StarPiece, gItemIconPalette_Star}, + [ITEM_NUGGET] = {gItemIcon_Nugget, gItemIconPalette_Nugget}, + [ITEM_HEART_SCALE] = {gItemIcon_HeartScale, gItemIconPalette_HeartScale}, + // ???????? + [ITEM_070] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_071] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_072] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_073] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_074] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_075] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_076] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_077] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_078] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Mail + [ITEM_ORANGE_MAIL] = {gItemIcon_OrangeMail, gItemIconPalette_OrangeMail}, + [ITEM_HARBOR_MAIL] = {gItemIcon_HarborMail, gItemIconPalette_HarborMail}, + [ITEM_GLITTER_MAIL] = {gItemIcon_GlitterMail, gItemIconPalette_GlitterMail}, + [ITEM_MECH_MAIL] = {gItemIcon_MechMail, gItemIconPalette_MechMail}, + [ITEM_WOOD_MAIL] = {gItemIcon_WoodMail, gItemIconPalette_WoodMail}, + [ITEM_WAVE_MAIL] = {gItemIcon_WaveMail, gItemIconPalette_WaveMail}, + [ITEM_BEAD_MAIL] = {gItemIcon_BeadMail, gItemIconPalette_BeadMail}, + [ITEM_SHADOW_MAIL] = {gItemIcon_ShadowMail, gItemIconPalette_ShadowMail}, + [ITEM_TROPIC_MAIL] = {gItemIcon_TropicMail, gItemIconPalette_TropicMail}, + [ITEM_DREAM_MAIL] = {gItemIcon_DreamMail, gItemIconPalette_DreamMail}, + [ITEM_FAB_MAIL] = {gItemIcon_FabMail, gItemIconPalette_FabMail}, + [ITEM_RETRO_MAIL] = {gItemIcon_RetroMail, gItemIconPalette_RetroMail}, + // Berries + [ITEM_CHERI_BERRY] = {gItemIcon_CheriBerry, gItemIconPalette_CheriBerry}, + [ITEM_CHESTO_BERRY] = {gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry}, + [ITEM_PECHA_BERRY] = {gItemIcon_PechaBerry, gItemIconPalette_PechaBerry}, + [ITEM_RAWST_BERRY] = {gItemIcon_RawstBerry, gItemIconPalette_RawstBerry}, + [ITEM_ASPEAR_BERRY] = {gItemIcon_AspearBerry, gItemIconPalette_AspearBerry}, + [ITEM_LEPPA_BERRY] = {gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry}, + [ITEM_ORAN_BERRY] = {gItemIcon_OranBerry, gItemIconPalette_OranBerry}, + [ITEM_PERSIM_BERRY] = {gItemIcon_PersimBerry, gItemIconPalette_PersimBerry}, + [ITEM_LUM_BERRY] = {gItemIcon_LumBerry, gItemIconPalette_LumBerry}, + [ITEM_SITRUS_BERRY] = {gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry}, + [ITEM_FIGY_BERRY] = {gItemIcon_FigyBerry, gItemIconPalette_FigyBerry}, + [ITEM_WIKI_BERRY] = {gItemIcon_WikiBerry, gItemIconPalette_WikiBerry}, + [ITEM_MAGO_BERRY] = {gItemIcon_MagoBerry, gItemIconPalette_MagoBerry}, + [ITEM_AGUAV_BERRY] = {gItemIcon_AguavBerry, gItemIconPalette_AguavBerry}, + [ITEM_IAPAPA_BERRY] = {gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry}, + [ITEM_RAZZ_BERRY] = {gItemIcon_RazzBerry, gItemIconPalette_RazzBerry}, + [ITEM_BLUK_BERRY] = {gItemIcon_BlukBerry, gItemIconPalette_BlukBerry}, + [ITEM_NANAB_BERRY] = {gItemIcon_NanabBerry, gItemIconPalette_NanabBerry}, + [ITEM_WEPEAR_BERRY] = {gItemIcon_WepearBerry, gItemIconPalette_WepearBerry}, + [ITEM_PINAP_BERRY] = {gItemIcon_PinapBerry, gItemIconPalette_PinapBerry}, + [ITEM_POMEG_BERRY] = {gItemIcon_PomegBerry, gItemIconPalette_PomegBerry}, + [ITEM_KELPSY_BERRY] = {gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry}, + [ITEM_QUALOT_BERRY] = {gItemIcon_QualotBerry, gItemIconPalette_QualotBerry}, + [ITEM_HONDEW_BERRY] = {gItemIcon_HondewBerry, gItemIconPalette_HondewBerry}, + [ITEM_GREPA_BERRY] = {gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry}, + [ITEM_TAMATO_BERRY] = {gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry}, + [ITEM_CORNN_BERRY] = {gItemIcon_CornnBerry, gItemIconPalette_CornnBerry}, + [ITEM_MAGOST_BERRY] = {gItemIcon_MagostBerry, gItemIconPalette_MagostBerry}, + [ITEM_RABUTA_BERRY] = {gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry}, + [ITEM_NOMEL_BERRY] = {gItemIcon_NomelBerry, gItemIconPalette_NomelBerry}, + [ITEM_SPELON_BERRY] = {gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry}, + [ITEM_PAMTRE_BERRY] = {gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry}, + [ITEM_WATMEL_BERRY] = {gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry}, + [ITEM_DURIN_BERRY] = {gItemIcon_DurinBerry, gItemIconPalette_DurinBerry}, + [ITEM_BELUE_BERRY] = {gItemIcon_BelueBerry, gItemIconPalette_BelueBerry}, + [ITEM_LIECHI_BERRY] = {gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry}, + [ITEM_GANLON_BERRY] = {gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry}, + [ITEM_SALAC_BERRY] = {gItemIcon_SalacBerry, gItemIconPalette_SalacBerry}, + [ITEM_PETAYA_BERRY] = {gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry}, + [ITEM_APICOT_BERRY] = {gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry}, + [ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry}, + [ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry}, + [ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry}, + [ITEM_UNUSED_BERRY_1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_UNUSED_BERRY_2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_UNUSED_BERRY_3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Hold items + [ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder}, + [ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb}, + [ITEM_MACHO_BRACE] = {gItemIcon_MachoBrace, gItemIconPalette_MachoBrace}, + [ITEM_EXP_SHARE] = {gItemIcon_ExpShare, gItemIconPalette_ExpShare}, + [ITEM_QUICK_CLAW] = {gItemIcon_QuickClaw, gItemIconPalette_QuickClaw}, + [ITEM_SOOTHE_BELL] = {gItemIcon_SootheBell, gItemIconPalette_SootheBell}, + [ITEM_MENTAL_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb}, + [ITEM_CHOICE_BAND] = {gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand}, + [ITEM_KINGS_ROCK] = {gItemIcon_KingsRock, gItemIconPalette_KingsRock}, + [ITEM_SILVER_POWDER] = {gItemIcon_SilverPowder, gItemIconPalette_SilverPowder}, + [ITEM_AMULET_COIN] = {gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin}, + [ITEM_CLEANSE_TAG] = {gItemIcon_CleanseTag, gItemIconPalette_CleanseTag}, + [ITEM_SOUL_DEW] = {gItemIcon_SoulDew, gItemIconPalette_SoulDew}, + [ITEM_DEEP_SEA_TOOTH] = {gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth}, + [ITEM_DEEP_SEA_SCALE] = {gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale}, + [ITEM_SMOKE_BALL] = {gItemIcon_SmokeBall, gItemIconPalette_SmokeBall}, + [ITEM_EVERSTONE] = {gItemIcon_Everstone, gItemIconPalette_Everstone}, + [ITEM_FOCUS_BAND] = {gItemIcon_FocusBand, gItemIconPalette_FocusBand}, + [ITEM_LUCKY_EGG] = {gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg}, + [ITEM_SCOPE_LENS] = {gItemIcon_ScopeLens, gItemIconPalette_ScopeLens}, + [ITEM_METAL_COAT] = {gItemIcon_MetalCoat, gItemIconPalette_MetalCoat}, + [ITEM_LEFTOVERS] = {gItemIcon_Leftovers, gItemIconPalette_Leftovers}, + [ITEM_DRAGON_SCALE] = {gItemIcon_DragonScale, gItemIconPalette_DragonScale}, + [ITEM_LIGHT_BALL] = {gItemIcon_LightBall, gItemIconPalette_LightBall}, + [ITEM_SOFT_SAND] = {gItemIcon_SoftSand, gItemIconPalette_SoftSand}, + [ITEM_HARD_STONE] = {gItemIcon_HardStone, gItemIconPalette_HardStone}, + [ITEM_MIRACLE_SEED] = {gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed}, + [ITEM_BLACK_GLASSES] = {gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem}, + [ITEM_BLACK_BELT] = {gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem}, + [ITEM_MAGNET] = {gItemIcon_Magnet, gItemIconPalette_Magnet}, + [ITEM_MYSTIC_WATER] = {gItemIcon_MysticWater, gItemIconPalette_MysticWater}, + [ITEM_SHARP_BEAK] = {gItemIcon_SharpBeak, gItemIconPalette_SharpBeak}, + [ITEM_POISON_BARB] = {gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb}, + [ITEM_NEVER_MELT_ICE] = {gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce}, + [ITEM_SPELL_TAG] = {gItemIcon_SpellTag, gItemIconPalette_SpellTag}, + [ITEM_TWISTED_SPOON] = {gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon}, + [ITEM_CHARCOAL] = {gItemIcon_Charcoal, gItemIconPalette_Charcoal}, + [ITEM_DRAGON_FANG] = {gItemIcon_DragonFang, gItemIconPalette_DragonFang}, + [ITEM_SILK_SCARF] = {gItemIcon_SilkScarf, gItemIconPalette_SilkScarf}, + [ITEM_UP_GRADE] = {gItemIcon_UpGrade, gItemIconPalette_UpGrade}, + [ITEM_SHELL_BELL] = {gItemIcon_ShellBell, gItemIconPalette_Shell}, + [ITEM_SEA_INCENSE] = {gItemIcon_SeaIncense, gItemIconPalette_SeaIncense}, + [ITEM_LAX_INCENSE] = {gItemIcon_LaxIncense, gItemIconPalette_LaxIncense}, + [ITEM_LUCKY_PUNCH] = {gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch}, + [ITEM_METAL_POWDER] = {gItemIcon_MetalPowder, gItemIconPalette_MetalPowder}, + [ITEM_THICK_CLUB] = {gItemIcon_ThickClub, gItemIconPalette_ThickClub}, + [ITEM_STICK] = {gItemIcon_Stick, gItemIconPalette_Stick}, + // ???????? + [ITEM_0E2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0E9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0EA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0EB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0EC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0ED] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0EE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0EF] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0F9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0FA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0FB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0FC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_0FD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // Contest hold items + [ITEM_RED_SCARF] = {gItemIcon_Scarf, gItemIconPalette_RedScarf}, + [ITEM_BLUE_SCARF] = {gItemIcon_Scarf, gItemIconPalette_BlueScarf}, + [ITEM_PINK_SCARF] = {gItemIcon_Scarf, gItemIconPalette_PinkScarf}, + [ITEM_GREEN_SCARF] = {gItemIcon_Scarf, gItemIconPalette_GreenScarf}, + [ITEM_YELLOW_SCARF] = {gItemIcon_Scarf, gItemIconPalette_YellowScarf}, + // Key items + [ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike}, + [ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase}, + [ITEM_ITEMFINDER] = {gItemIcon_Itemfinder, gItemIconPalette_Itemfinder}, + [ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod}, + [ITEM_GOOD_ROD] = {gItemIcon_GoodRod, gItemIconPalette_GoodRod}, + [ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod}, + [ITEM_SS_TICKET] = {gItemIcon_SSTicket, gItemIconPalette_SSTicket}, + [ITEM_CONTEST_PASS] = {gItemIcon_ContestPass, gItemIconPalette_ContestPass}, + [ITEM_10B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail}, + [ITEM_DEVON_GOODS] = {gItemIcon_DevonGoods, gItemIconPalette_DevonGoods}, + [ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack}, + [ITEM_BASEMENT_KEY] = {gItemIcon_BasementKey, gItemIconPalette_OldKey}, + [ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike}, + [ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase}, + [ITEM_LETTER] = {gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter}, + [ITEM_EON_TICKET] = {gItemIcon_EonTicket, gItemIconPalette_EonTicket}, + [ITEM_RED_ORB] = {gItemIcon_Orb, gItemIconPalette_RedOrb}, + [ITEM_BLUE_ORB] = {gItemIcon_Orb, gItemIconPalette_BlueOrb}, + [ITEM_SCANNER] = {gItemIcon_Scanner, gItemIconPalette_Scanner}, + [ITEM_GO_GOGGLES] = {gItemIcon_GoGoggles, gItemIconPalette_GoGoggles}, + [ITEM_METEORITE] = {gItemIcon_Meteorite, gItemIconPalette_Meteorite}, + [ITEM_ROOM_1_KEY] = {gItemIcon_Room1Key, gItemIconPalette_Key}, + [ITEM_ROOM_2_KEY] = {gItemIcon_Room2Key, gItemIconPalette_Key}, + [ITEM_ROOM_4_KEY] = {gItemIcon_Room4Key, gItemIconPalette_Key}, + [ITEM_ROOM_6_KEY] = {gItemIcon_Room6Key, gItemIconPalette_Key}, + [ITEM_STORAGE_KEY] = {gItemIcon_StorageKey, gItemIconPalette_OldKey}, + [ITEM_ROOT_FOSSIL] = {gItemIcon_RootFossil, gItemIconPalette_HoennFossil}, + [ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil}, + [ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope}, + // TMs / HMs + [ITEM_TM01] = {gItemIcon_TMHM, gItemIconPalette_FightingTMHM}, + [ITEM_TM02] = {gItemIcon_TMHM, gItemIconPalette_DragonTMHM}, + [ITEM_TM03] = {gItemIcon_TMHM, gItemIconPalette_WaterTMHM}, + [ITEM_TM04] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM05] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM06] = {gItemIcon_TMHM, gItemIconPalette_PoisonTMHM}, + [ITEM_TM07] = {gItemIcon_TMHM, gItemIconPalette_IceTMHM}, + [ITEM_TM08] = {gItemIcon_TMHM, gItemIconPalette_FightingTMHM}, + [ITEM_TM09] = {gItemIcon_TMHM, gItemIconPalette_GrassTMHM}, + [ITEM_TM10] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM11] = {gItemIcon_TMHM, gItemIconPalette_FireTMHM}, + [ITEM_TM12] = {gItemIcon_TMHM, gItemIconPalette_DarkTMHM}, + [ITEM_TM13] = {gItemIcon_TMHM, gItemIconPalette_IceTMHM}, + [ITEM_TM14] = {gItemIcon_TMHM, gItemIconPalette_IceTMHM}, + [ITEM_TM15] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM16] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM17] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM18] = {gItemIcon_TMHM, gItemIconPalette_WaterTMHM}, + [ITEM_TM19] = {gItemIcon_TMHM, gItemIconPalette_GrassTMHM}, + [ITEM_TM20] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM21] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM22] = {gItemIcon_TMHM, gItemIconPalette_GrassTMHM}, + [ITEM_TM23] = {gItemIcon_TMHM, gItemIconPalette_SteelTMHM}, + [ITEM_TM24] = {gItemIcon_TMHM, gItemIconPalette_ElectricTMHM}, + [ITEM_TM25] = {gItemIcon_TMHM, gItemIconPalette_ElectricTMHM}, + [ITEM_TM26] = {gItemIcon_TMHM, gItemIconPalette_GroundTMHM}, + [ITEM_TM27] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM28] = {gItemIcon_TMHM, gItemIconPalette_GroundTMHM}, + [ITEM_TM29] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM30] = {gItemIcon_TMHM, gItemIconPalette_GhostTMHM}, + [ITEM_TM31] = {gItemIcon_TMHM, gItemIconPalette_FightingTMHM}, + [ITEM_TM32] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM33] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM34] = {gItemIcon_TMHM, gItemIconPalette_ElectricTMHM}, + [ITEM_TM35] = {gItemIcon_TMHM, gItemIconPalette_FireTMHM}, + [ITEM_TM36] = {gItemIcon_TMHM, gItemIconPalette_PoisonTMHM}, + [ITEM_TM37] = {gItemIcon_TMHM, gItemIconPalette_RockTMHM}, + [ITEM_TM38] = {gItemIcon_TMHM, gItemIconPalette_FireTMHM}, + [ITEM_TM39] = {gItemIcon_TMHM, gItemIconPalette_RockTMHM}, + [ITEM_TM40] = {gItemIcon_TMHM, gItemIconPalette_FlyingTMHM}, + [ITEM_TM41] = {gItemIcon_TMHM, gItemIconPalette_DarkTMHM}, + [ITEM_TM42] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM43] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM44] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM45] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_TM46] = {gItemIcon_TMHM, gItemIconPalette_DarkTMHM}, + [ITEM_TM47] = {gItemIcon_TMHM, gItemIconPalette_SteelTMHM}, + [ITEM_TM48] = {gItemIcon_TMHM, gItemIconPalette_PsychicTMHM}, + [ITEM_TM49] = {gItemIcon_TMHM, gItemIconPalette_DarkTMHM}, + [ITEM_TM50] = {gItemIcon_TMHM, gItemIconPalette_FireTMHM}, + [ITEM_HM01] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_HM02] = {gItemIcon_TMHM, gItemIconPalette_FlyingTMHM}, + [ITEM_HM03] = {gItemIcon_TMHM, gItemIconPalette_WaterTMHM}, + [ITEM_HM04] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_HM05] = {gItemIcon_TMHM, gItemIconPalette_NormalTMHM}, + [ITEM_HM06] = {gItemIcon_TMHM, gItemIconPalette_FightingTMHM}, + [ITEM_HM07] = {gItemIcon_TMHM, gItemIconPalette_WaterTMHM}, + [ITEM_HM08] = {gItemIcon_TMHM, gItemIconPalette_WaterTMHM}, + // ???????? + [ITEM_15B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [ITEM_15C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + // FireRed/LeafGreen key items + [ITEM_OAKS_PARCEL] = {gItemIcon_OaksParcel, gItemIconPalette_OaksParcel}, + [ITEM_POKE_FLUTE] = {gItemIcon_PokeFlute, gItemIconPalette_PokeFlute}, + [ITEM_SECRET_KEY] = {gItemIcon_SecretKey, gItemIconPalette_SecretKey}, + [ITEM_BIKE_VOUCHER] = {gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher}, + [ITEM_GOLD_TEETH] = {gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth}, + [ITEM_OLD_AMBER] = {gItemIcon_OldAmber, gItemIconPalette_OldAmber}, + [ITEM_CARD_KEY] = {gItemIcon_CardKey, gItemIconPalette_CardKey}, + [ITEM_LIFT_KEY] = {gItemIcon_LiftKey, gItemIconPalette_Key}, + [ITEM_HELIX_FOSSIL] = {gItemIcon_HelixFossil, gItemIconPalette_KantoFossil}, + [ITEM_DOME_FOSSIL] = {gItemIcon_DomeFossil, gItemIconPalette_KantoFossil}, + [ITEM_SILPH_SCOPE] = {gItemIcon_SilphScope, gItemIconPalette_SilphScope}, + [ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle}, + [ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap}, + [ITEM_VS_SEEKER] = {gItemIcon_VSSeeker, gItemIconPalette_VSSeeker}, + [ITEM_FAME_CHECKER] = {gItemIcon_FameChecker, gItemIconPalette_FameChecker}, + [ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase}, + [ITEM_BERRY_POUCH] = {gItemIcon_BerryPouch, gItemIconPalette_BerryPouch}, + [ITEM_TEACHY_TV] = {gItemIcon_TeachyTV, gItemIconPalette_TeachyTV}, + [ITEM_TRI_PASS] = {gItemIcon_TriPass, gItemIconPalette_TriPass}, + [ITEM_RAINBOW_PASS] = {gItemIcon_RainbowPass, gItemIconPalette_RainbowPass}, + [ITEM_TEA] = {gItemIcon_Tea, gItemIconPalette_Tea}, + [ITEM_MYSTIC_TICKET] = {gItemIcon_MysticTicket, gItemIconPalette_MysticTicket}, + [ITEM_AURORA_TICKET] = {gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket}, + [ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar}, + [ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby}, + [ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire}, + // Return to field arrow + [ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, }; diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 36997612f..2c579233c 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -327,14 +327,14 @@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) if (!TryAllocItemIconTilesBuffers()) return MAX_SPRITES; - LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer); + LZDecompressWram(GetItemIconGfxPtr(itemId, ITEMICON_TILES), sItemIconTilesBuffer); CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded); spriteSheet.data = sItemIconTilesBufferPadded; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = GetItemIconGfxPtr(itemId, 1); + spritePalette.data = GetItemIconGfxPtr(itemId, ITEMICON_PAL); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); @@ -358,14 +358,14 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT if (!TryAllocItemIconTilesBuffers()) return MAX_SPRITES; - LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer); + LZDecompressWram(GetItemIconGfxPtr(itemId, ITEMICON_TILES), sItemIconTilesBuffer); CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded); spriteSheet.data = sItemIconTilesBufferPadded; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = GetItemIconGfxPtr(itemId, 1); + spritePalette.data = GetItemIconGfxPtr(itemId, ITEMICON_PAL); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); @@ -410,7 +410,8 @@ void DestroyItemMenuIcon(u8 idx) } } -const void *GetItemIconGfxPtr(u16 itemId, u8 attrId) +// attrId is either ITEMICON_TILES or ITEMICON_PAL +const u32 *GetItemIconGfxPtr(u16 itemId, u8 attrId) { if (itemId > ITEMS_COUNT) itemId = ITEM_NONE; diff --git a/src/pokemon_storage_system_misc.c b/src/pokemon_storage_system_misc.c index 9d219c7d2..c2256863e 100644 --- a/src/pokemon_storage_system_misc.c +++ b/src/pokemon_storage_system_misc.c @@ -1129,12 +1129,12 @@ static void SetItemIconActive(u8 id, bool8 show) static const u32 *GetItemIconPic(u16 itemId) { - return GetItemIconGfxPtr(itemId, 0); + return GetItemIconGfxPtr(itemId, ITEMICON_TILES); } static const u32 *GetItemIconPalette(u16 itemId) { - return GetItemIconGfxPtr(itemId, 1); + return GetItemIconGfxPtr(itemId, ITEMICON_PAL); } void PrintItemDescription(void) From c110354043bdf30c3f6e9fc3726563e3f851d266 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 17 May 2023 15:50:47 -0400 Subject: [PATCH 13/30] Sync field_tasks --- include/bike.h | 10 +- include/constants/metatile_labels.h | 14 ++ src/bike.c | 12 +- src/field_control_avatar.c | 2 +- src/field_tasks.c | 277 +++++++++++++++++----------- src/start_menu.c | 7 + 6 files changed, 199 insertions(+), 123 deletions(-) diff --git a/include/bike.h b/include/bike.h index d6021f5e4..cd079477e 100644 --- a/include/bike.h +++ b/include/bike.h @@ -6,11 +6,11 @@ // Player speeds enum { - SPEED_STANDING, - SPEED_NORMAL, - SPEED_FAST, - SPEED_FASTER, - SPEED_FASTEST, + PLAYER_SPEED_STANDING, + PLAYER_SPEED_NORMAL, + PLAYER_SPEED_FAST, + PLAYER_SPEED_FASTER, + PLAYER_SPEED_FASTEST, }; enum { diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 86873cbf4..53de3a62c 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -35,6 +35,10 @@ // gTileset_DepartmentStore #define METATILE_DepartmentStore_ElevatorDoor 0x28D +// gTileset_Fallarbor +#define METATILE_Fallarbor_AshGrass 0x20A +#define METATILE_Fallarbor_NormalGrass 0x212 + // gTileset_FuchsiaCity #define METATILE_FuchsiaCity_Door 0x2BF #define METATILE_FuchsiaCity_SafariZoneDoor 0x2D2 @@ -74,6 +78,9 @@ #define METATILE_GenericBuilding1_PlayersPCOff 0x28F #define METATILE_GenericBuilding1_PlayersPCOn 0x28A +// gTileset_Lavaridge +#define METATILE_Lavaridge_NormalGrass 0x206 + // gTileset_LavenderTown #define METATILE_LavenderTown_Door 0x2A2 @@ -84,6 +91,9 @@ // gTileset_MtEmber #define METATILE_MtEmber_CaveEntrance 0x346 +// gTileset_Pacifidlog +#define METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole 0x237 + // gTileset_PalletTown #define METATILE_PalletTown_Door 0x2A3 #define METATILE_PalletTown_OaksLabDoor 0x2AC @@ -165,6 +175,10 @@ #define METATILE_PokemonMansion_Wall_EndPost_Bottom 0x2AD #define METATILE_PokemonMansion_Wall_EndPost_Mid 0x2A5 +// gTileset_RSCave +#define METATILE_RSCave_CrackedFloor 0x22F +#define METATILE_RSCave_CrackedFloor_Hole 0x206 + // gTileset_SSAnne #define METATILE_SSAnne_Door 0x281 diff --git a/src/bike.c b/src/bike.c index ddaae0fa6..be9cd8e50 100644 --- a/src/bike.c +++ b/src/bike.c @@ -338,7 +338,7 @@ void BikeClearState(u32 directionHistory, u32 abStartSelectHistory) gPlayerAvatar.acroBikeState = BIKE_STATE_NORMAL; gPlayerAvatar.newDirBackup = 0; gPlayerAvatar.bikeFrameCounter = 0; - gPlayerAvatar.bikeSpeed = SPEED_STANDING; + gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING; gPlayerAvatar.directionHistory = directionHistory; gPlayerAvatar.abStartSelectHistory = abStartSelectHistory; gPlayerAvatar.lastSpinTile = 0; @@ -355,21 +355,21 @@ void Bike_UpdateBikeCounterSpeed(u8 counter) static void Bike_SetBikeStill(void) { gPlayerAvatar.bikeFrameCounter = 0; - gPlayerAvatar.bikeSpeed = SPEED_STANDING; + gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING; } s16 GetPlayerSpeed(void) { - s16 machBikeSpeeds[] = { SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST }; + s16 machBikeSpeeds[] = { PLAYER_SPEED_NORMAL, PLAYER_SPEED_FAST, PLAYER_SPEED_FASTEST }; if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) return machBikeSpeeds[gPlayerAvatar.bikeFrameCounter]; else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) - return SPEED_FASTER; + return PLAYER_SPEED_FASTER; else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH)) - return SPEED_FAST; + return PLAYER_SPEED_FAST; else - return SPEED_NORMAL; + return PLAYER_SPEED_NORMAL; } void Bike_HandleBumpySlopeJump(void) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 41ef6ab9c..6ef78e6f3 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -103,7 +103,7 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) } if ((tileTransitionState == T_TILE_CENTER && forcedMove == FALSE) || tileTransitionState == T_NOT_MOVING) { - if (GetPlayerSpeed() != 4) + if (GetPlayerSpeed() != PLAYER_SPEED_FASTEST) { if ((newKeys & START_BUTTON) && !(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED)) input->pressedStartButton = TRUE; diff --git a/src/field_tasks.c b/src/field_tasks.c index 5c60b98b9..ad32f45b3 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -15,7 +15,20 @@ #include "constants/metatile_labels.h" #include "constants/songs.h" -// TODO: Metatile IDs in this file +/* This file handles some persistent tasks that run in the overworld. + * - Task_RunTimeBasedEvents: Triggers ambient cries. In RSE, this also periodically updates local time and RTC events. + * - Task_RunPerStepCallback: Calls one of the functions in sPerStepCallbacks, listed below... + * . DummyPerStepCallback: Default, does nothing. Includes functionality from RS that was removed. + * . AshGrassPerStepCallback: Leftover from RS. Removes the ash from ash-covered grass that the player steps on. + * . IcefallCaveIcePerStepCallback: Cracks/breaks ice in Icefall Cave that the player steps on. + * . CrackedFloorPerStepCallback: Leftover from RS. Breaks cracked floors that the player steps on. + * + * NOTE: "PerStep" is perhaps misleading. One function in sPerStepCallbacks is called + * every frame while in the overworld by Task_RunPerStepCallback regardless of + * whether or not steps are being taken. However, nearly all of the functions in + * the table check if the player has moved from their previous position before + * doing anything else. + */ static void DummyPerStepCallback(u8 taskId); static void AshGrassPerStepCallback(u8 taskId); @@ -34,7 +47,8 @@ static const TaskFunc sPerStepCallbacks[] = [STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback }; -static const u8 sIcefallCaveIceTileCoords[][2] = +// The positions of each map space with crackable ice in Icefall Cave. +static const u8 sIcefallCaveIceCoords[][2] = { { 8, 3 }, { 10, 5 }, @@ -47,56 +61,53 @@ static const u8 sIcefallCaveIceTileCoords[][2] = { 8, 14 } }; +#define tCallbackId data[0] + static void Task_RunPerStepCallback(u8 taskId) { - int idx = gTasks[taskId].data[0]; + int idx = gTasks[taskId].tCallbackId; sPerStepCallbacks[idx](taskId); } +#define tAmbientCryState data[1] +#define tAmbientCryDelay data[2] + +// RTC functionality from RS was removed here. static void Task_RunTimeBasedEvents(u8 taskId) { s16 *data = gTasks[taskId].data; - if (!ArePlayerFieldControlsLocked()) - { - if (!QL_IS_PLAYBACK_STATE) - { - UpdateAmbientCry(&data[1], &data[2]); - } - } + if (!ArePlayerFieldControlsLocked() && !QL_IS_PLAYBACK_STATE) + UpdateAmbientCry(&tAmbientCryState, &tAmbientCryDelay); } void SetUpFieldTasks(void) { if (!FuncIsActiveTask(Task_RunPerStepCallback)) { - u8 taskId = CreateTask(Task_RunPerStepCallback, 0x50); - gTasks[taskId].data[0] = 0; + u8 taskId = CreateTask(Task_RunPerStepCallback, 80); + gTasks[taskId].tCallbackId = STEP_CB_DUMMY; } if (!FuncIsActiveTask(Task_RunTimeBasedEvents)) - CreateTask(Task_RunTimeBasedEvents, 0x50); + CreateTask(Task_RunTimeBasedEvents, 80); } void ActivatePerStepCallback(u8 callbackId) { u8 taskId = FindTaskIdByFunc(Task_RunPerStepCallback); - if (taskId != 0xff) + if (taskId != TASK_NONE) { s32 i; s16 *data = gTasks[taskId].data; - for (i = 0; i < 16; i++) + for (i = 0; i < NUM_TASK_DATA; i++) data[i] = 0; - if (callbackId >= NELEMS(sPerStepCallbacks)) - { - data[0] = 0; - } + if (callbackId >= ARRAY_COUNT(sPerStepCallbacks)) + tCallbackId = STEP_CB_DUMMY; else - { - data[0] = callbackId; - } + tCallbackId = callbackId; } } @@ -106,29 +117,31 @@ void ResetFieldTasksArgs(void) s16 *data; taskId = FindTaskIdByFunc(Task_RunPerStepCallback); - if (taskId != 0xff) - { + if (taskId != TASK_NONE) data = gTasks[taskId].data; - } + taskId = FindTaskIdByFunc(Task_RunTimeBasedEvents); - if (taskId != 0xff) + if (taskId != TASK_NONE) { data = gTasks[taskId].data; - data[1] = 0; - data[2] = 0; + tAmbientCryState = 0; + tAmbientCryDelay = 0; } } +#undef tAmbientCryState +#undef tAmbientCryDelay + static void DummyPerStepCallback(u8 taskId) { } -static void MarkIcefallCaveCoordVisited(s16 x, s16 y) +static void MarkIcePuzzleCoordVisited(s16 x, s16 y) { - u8 i = 0; - for (; i < NELEMS(sIcefallCaveIceTileCoords); ++i) + u8 i; + for (i = 0; i < ARRAY_COUNT(sIcefallCaveIceCoords); i++) { - if (sIcefallCaveIceTileCoords[i][0] + 7 == x && sIcefallCaveIceTileCoords[i][1] + 7 == y) + if (sIcefallCaveIceCoords[i][0] + MAP_OFFSET == x && sIcefallCaveIceCoords[i][1] + MAP_OFFSET == y) { FlagSet(i + 1); break; @@ -138,118 +151,156 @@ static void MarkIcefallCaveCoordVisited(s16 x, s16 y) void SetIcefallCaveCrackedIceMetatiles(void) { - u8 i = 0; - for (; i < NELEMS(sIcefallCaveIceTileCoords); ++i) + u8 i; + for (i = 0; i < ARRAY_COUNT(sIcefallCaveIceCoords); i++) { if (FlagGet(i + 1) == TRUE) { - int x = sIcefallCaveIceTileCoords[i][0] + 7; - int y = sIcefallCaveIceTileCoords[i][1] + 7; + int x = sIcefallCaveIceCoords[i][0] + MAP_OFFSET; + int y = sIcefallCaveIceCoords[i][1] + MAP_OFFSET; MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); } } } +#define tState data[1] +#define tPrevX data[2] +#define tPrevY data[3] +#define tIceX data[4] +#define tIceY data[5] +#define tDelay data[6] + static void IcefallCaveIcePerStepCallback(u8 taskId) { s16 x, y; u8 tileBehavior; u16 *iceStepCount; s16 *data = gTasks[taskId].data; - switch (data[1]) + switch (tState) { case 0: PlayerGetDestCoords(&x, &y); - data[2] = x; - data[3] = y; - data[1] = 1; + tPrevX = x; + tPrevY = y; + tState = 1; break; case 1: PlayerGetDestCoords(&x, &y); - if (x != data[2] || y != data[3]) + // End if player hasn't moved + if (x == tPrevX && y == tPrevY) + return; + + tPrevX = x; + tPrevY = y; + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE) { - data[2] = x; - data[3] = y; - tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE) - { - MarkIcefallCaveCoordVisited(x, y); - data[6] = 4; - data[1] = 2; - data[4] = x; - data[5] = y; - } - else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE) - { - data[6] = 4; - data[1] = 3; - data[4] = x; - data[5] = y; - } + // Thin ice, set it to cracked ice + MarkIcePuzzleCoordVisited(x, y); + tDelay = 4; + tState = 2; + tIceX = x; + tIceY = y; + } + else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE) + { + // Cracked ice, set it to broken ice + tDelay = 4; + tState = 3; + tIceX = x; + tIceY = y; } break; case 2: - if (data[6] != 0) + if (tDelay != 0) { - data[6]--; + tDelay--; } else { - x = data[4]; - y = data[5]; + // Crack ice + x = tIceX; + y = tIceY; PlaySE(SE_ICE_CRACK); MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); CurrentMapDrawMetatileAt(x, y); - data[1] = 1; + tState = 1; } break; case 3: - if (data[6] != 0) + if (tDelay != 0) { - data[6]--; + tDelay--; } else { - x = data[4]; - y = data[5]; + // Break ice + x = tIceX; + y = tIceY; PlaySE(SE_ICE_BREAK); MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_IceHole); CurrentMapDrawMetatileAt(x, y); VarSet(VAR_TEMP_1, 1); - data[1] = 1; + tState = 1; } break; } } -// This is leftover from pokeruby and effectively a no-op. +#undef tState +#undef tPrevX +#undef tPrevY +#undef tIceX +#undef tIceY +#undef tDelay + +#define tPrevX data[1] +#define tPrevY data[2] + +// Unused. For some reason this was not dummied out like the other RSE-exclusive step callbacks. static void AshGrassPerStepCallback(u8 taskId) { s16 x, y; u16 *ashGatherCount; s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); - if (x != data[1] || y != data[2]) + + // End if player hasn't moved + if (x == tPrevX && y == tPrevY) + return; + + tPrevX = x; + tPrevY = y; + if (MetatileBehavior_IsAshGrass((u8)MapGridGetMetatileBehaviorAt(x, y))) { - data[1] = x; - data[2] = y; - if (MetatileBehavior_IsAshGrass((u8)MapGridGetMetatileBehaviorAt(x, y))) - { - if (MapGridGetMetatileIdAt(x, y) == 0x20a) - StartAshFieldEffect(x, y, 0x212, 4); - else - StartAshFieldEffect(x, y, 0x206, 4); - } + // Remove ash from grass + if (MapGridGetMetatileIdAt(x, y) == METATILE_Fallarbor_AshGrass) + StartAshFieldEffect(x, y, METATILE_Fallarbor_NormalGrass, 4); + else + StartAshFieldEffect(x, y, METATILE_Lavaridge_NormalGrass, 4); } } +#undef tPrevX +#undef tPrevY + +// Unused. For some reason these were not dummied out like the other RSE-exclusive step callbacks. static void SetCrackedFloorHoleMetatile(s16 x, s16 y) { - MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == 0x22f ? 0x206 : 0x237); + MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == METATILE_RSCave_CrackedFloor ? METATILE_RSCave_CrackedFloor_Hole : METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole); CurrentMapDrawMetatileAt(x, y); } -// This is leftover from pokeruby and effectively a no-op. +#define tPrevX data[2] +#define tPrevY data[3] +#define tFloor1Delay data[4] +#define tFloor1X data[5] +#define tFloor1Y data[6] +#define tFloor2Delay data[7] +#define tFloor2X data[8] +#define tFloor2Y data[9] + +// Unused. See above. static void CrackedFloorPerStepCallback(u8 taskId) { s16 x, y; @@ -257,40 +308,44 @@ static void CrackedFloorPerStepCallback(u8 taskId) s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); - if (data[4] != 0 && (--data[4]) == 0) - SetCrackedFloorHoleMetatile(data[5], data[6]); - if (data[7] != 0 && (--data[7]) == 0) - SetCrackedFloorHoleMetatile(data[8], data[9]); + // Update up to 2 previous cracked floor spaces + if (tFloor1Delay != 0 && (--tFloor1Delay) == 0) + SetCrackedFloorHoleMetatile(tFloor1X, tFloor1Y); + if (tFloor2Delay != 0 && (--tFloor2Delay) == 0) + SetCrackedFloorHoleMetatile(tFloor2X, tFloor2Y); - if ((x != data[2] || y != data[3])) + // End if player hasn't moved + if (x == tPrevX && y == tPrevY) + return; + + tPrevX = x; + tPrevY = y; + if (MetatileBehavior_IsCrackedFloor(behavior)) { - data[2] = x; - data[3] = y; - if (MetatileBehavior_IsCrackedFloor(behavior)) - { - if (GetPlayerSpeed() != 4) - VarSet(VAR_ICE_STEP_COUNT, 0); + if (GetPlayerSpeed() != PLAYER_SPEED_FASTEST) + VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty - if (data[4] == 0) - { - data[4] = 3; - data[5] = x; - data[6] = y; - } - else if (data[7] == 0) - { - data[7] = 3; - data[8] = x; - data[9] = y; - } + if (tFloor1Delay == 0) + { + tFloor1Delay = 3; + tFloor1X = x; + tFloor1Y = y; + } + else if (tFloor2Delay == 0) + { + tFloor2Delay = 3; + tFloor2X = x; + tFloor2Y = y; } } } -// Unused -static void SetHasPokedexAndPokemon(void) -{ - FlagSet(FLAG_SYS_POKEDEX_GET); - FlagSet(FLAG_SYS_POKEMON_GET); -} +#undef tPrevX +#undef tPrevY +#undef tFloor1Delay +#undef tFloor1X +#undef tFloor1Y +#undef tFloor2Delay +#undef tFloor2X +#undef tFloor2Y diff --git a/src/start_menu.c b/src/start_menu.c index 8085fdb56..fa41500a7 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -184,6 +184,13 @@ static ALIGNED(2) const u8 sTextColor_StatName[] = { 1, 2, 3 }; static ALIGNED(2) const u8 sTextColor_StatValue[] = { 1, 4, 5 }; static ALIGNED(2) const u8 sTextColor_LocationHeader[] = { 1, 6, 7 }; +// Unused +static void SetHasPokedexAndPokemon(void) +{ + FlagSet(FLAG_SYS_POKEDEX_GET); + FlagSet(FLAG_SYS_POKEMON_GET); +} + static void SetUpStartMenu(void) { sNumStartMenuItems = 0; From d249267aac3d5864f502630f7f9c39166a3d2c68 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 21 May 2023 20:26:55 -0300 Subject: [PATCH 14/30] Updated BattleScripting addresses --- include/battle.h | 2 + include/constants/battle_script_commands.h | 53 ++++++++++------------ 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/include/battle.h b/include/battle.h index 0c86b66b4..dd9c3ffcb 100644 --- a/include/battle.h +++ b/include/battle.h @@ -493,6 +493,8 @@ extern struct BattleStruct *gBattleStruct; #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) +// NOTE: The members of this struct have hard-coded offsets +// in include/constants/battle_script_commands.h struct BattleScripting { s32 painSplitHp; diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index e08a9e400..3dac1f74e 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -1,34 +1,31 @@ #ifndef GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H #define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H -// Battle Scripting and BattleCommunication addresses -#define sPAINSPLIT_HP gBattleScripting -#define sBIDE_DMG gBattleScripting + 4 -#define sMULTIHIT_STRING gBattleScripting + 8 -#define sDMG_MULTIPLIER gBattleScripting + 0xE -#define sTWOTURN_STRINGID gBattleScripting + 0xF -#define sB_ANIM_ARG1 gBattleScripting + 0x10 -#define sB_ANIM_ARG2 gBattleScripting + 0x11 -#define sTRIPLE_KICK_POWER gBattleScripting + 0x12 -#define sMOVEEND_STATE gBattleScripting + 0x14 -#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15 -#define sMULTIHIT_EFFECT gBattleScripting + 0x16 -#define sBATTLER gBattleScripting + 0x17 -#define sB_ANIM_TURN gBattleScripting + 0x18 -#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 -#define sSTATCHANGER gBattleScripting + 0x1A -#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B -#define sGIVEEXP_STATE gBattleScripting + 0x1C -#define sBATTLE_STYLE gBattleScripting + 0x1D -#define sLVLBOX_STATE gBattleScripting + 0x1E -#define sLEARNMOVE_STATE gBattleScripting + 0x1F -#define sFIELD_20 gBattleScripting + 0x20 -#define sRESHOW_MAIN_STATE gBattleScripting + 0x21 -#define sRESHOW_HELPER_STATE gBattleScripting + 0x22 -#define sFIELD_23 gBattleScripting + 0x23 -#define sWINDOWS_TYPE gBattleScripting + 0x24 -#define sMULTIPLAYER_ID gBattleScripting + 0x25 -#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26 +// The following correspond to the struct members of BattleScripting by adding their offset +#define sPAINSPLIT_HP gBattleScripting + 0x00 // painSplitHp +#define sBIDE_DMG gBattleScripting + 0x04 // bideDmg +#define sMULTIHIT_STRING gBattleScripting + 0x08 // multihitString +#define sDMG_MULTIPLIER gBattleScripting + 0x0E // dmgMultiplier +#define sTWOTURN_STRINGID gBattleScripting + 0x0F // twoTurnsMoveStringId +#define sB_ANIM_ARG1 gBattleScripting + 0x10 // animArg1 +#define sB_ANIM_ARG2 gBattleScripting + 0x11 // animArg2 +#define sTRIPLE_KICK_POWER gBattleScripting + 0x12 // tripleKickPower +#define sMOVEEND_STATE gBattleScripting + 0x14 // moveendState +#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15 // battlerWithAbility +#define sMULTIHIT_EFFECT gBattleScripting + 0x16 // multihitMoveEffect +#define sBATTLER gBattleScripting + 0x17 // battler +#define sB_ANIM_TURN gBattleScripting + 0x18 // animTurn +#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 // animTargetsHit +#define sSTATCHANGER gBattleScripting + 0x1A // statChanger +#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B // statAnimPlayed +#define sGIVEEXP_STATE gBattleScripting + 0x1C // getexpState +#define sBATTLE_STYLE gBattleScripting + 0x1D // battleStyle +#define sLVLBOX_STATE gBattleScripting + 0x1E // drawlvlupboxState +#define sLEARNMOVE_STATE gBattleScripting + 0x1F // learnMoveState +#define sPURSUIT_DOUBLES_ATTACKER gBattleScripting + 0x20 // pursuitDoublesAttacker +#define sRESHOW_MAIN_STATE gBattleScripting + 0x21 // reshowMainState +#define sRESHOW_HELPER_STATE gBattleScripting + 0x22 // reshowHelperState +#define sLVLUP_HP gBattleScripting + 0x23 // levelUpHP // Array entries for battle communication #define MULTIUSE_STATE 0 From cb6409224fb8a3e3143d3355f2dad613424fea48 Mon Sep 17 00:00:00 2001 From: Sophia Date: Sun, 21 May 2023 03:32:06 +0100 Subject: [PATCH 15/30] Remove unnecessary linker script preprocessing The previous build process ran sed against the linker scripts twice: once to replace with the contents of sym_x.ld, a second time to correct any paths referencing tools/. The first can be replaced with INCLUDE commands, as was done in pret/pokeemerald@7c57699 (in 2018). The second has been unnecessary since 942c248 (also 2018). With both of these removed there is no longer a need to have a build step for them, and $(ELF) can take the sym_x.ld files as prerequisites instead. --- .gitignore | 1 - Makefile | 12 ++++-------- ld_script.txt => ld_script.ld | 6 +++--- ld_script.sed | 14 -------------- ld_script_modern.txt => ld_script_modern.ld | 0 5 files changed, 7 insertions(+), 26 deletions(-) rename ld_script.txt => ld_script.ld (99%) delete mode 100644 ld_script.sed rename ld_script_modern.txt => ld_script_modern.ld (100%) diff --git a/.gitignore b/.gitignore index e94c6a25c..c5872bb89 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,6 @@ *.id1 *.id2 *.latfont -*.ld *.lz *.map *.nam diff --git a/Makefile b/Makefile index adb08dfb7..259e19113 100644 --- a/Makefile +++ b/Makefile @@ -327,19 +327,15 @@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ ifeq ($(MODERN),0) -LD_SCRIPT := ld_script.txt +LD_SCRIPT := ld_script.ld LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld else -LD_SCRIPT := ld_script_modern.txt +LD_SCRIPT := ld_script_modern.ld LD_SCRIPT_DEPS := endif -$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS) - cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld - -$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) - @echo "cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ " - @cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) +$(ELF): $(LD_SCRIPT) $(LD_SCRIPT_DEPS) $(OBJS) + @cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../../$< -o ../../$@ $(OBJS_REL) $(LIB) $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent $(ROM): $(ELF) diff --git a/ld_script.txt b/ld_script.ld similarity index 99% rename from ld_script.txt rename to ld_script.ld index a2cc3e6e7..6b1f95a3f 100644 --- a/ld_script.txt +++ b/ld_script.ld @@ -11,7 +11,7 @@ SECTIONS { . = 0x1C000; - + INCLUDE "sym_ewram.ld" src/*.o(.ewram_data); *libc.a:impure.o(.data); @@ -26,7 +26,7 @@ SECTIONS { ALIGN(4) { /* .bss starts at 0x3000000 */ - + INCLUDE "sym_bss.ld" src/*.o(.bss); data/*.o(.bss); @@ -34,7 +34,7 @@ SECTIONS { src/m4a.o(.bss.code); /* COMMON starts at 0x30030E0 */ - + INCLUDE "sym_common.ld" *libc.a:sbrkr.o(COMMON); end = .; diff --git a/ld_script.sed b/ld_script.sed deleted file mode 100644 index b91542b6f..000000000 --- a/ld_script.sed +++ /dev/null @@ -1,14 +0,0 @@ -// { - r sym_ewram.ld - d -} - -// { - r sym_bss.ld - d -} - -// { - r sym_common.ld - d -} diff --git a/ld_script_modern.txt b/ld_script_modern.ld similarity index 100% rename from ld_script_modern.txt rename to ld_script_modern.ld From dcdb9024d8ca1ab0b0875dcca35ae620cc7097b7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 23 May 2023 13:02:51 -0400 Subject: [PATCH 16/30] Sync palette macros --- .../black.pal} | 0 graphics/cave_transition/enter.pal | 11 + .../exit.pal} | 10 +- .../tilemap.bin} | Bin .../tiles.png} | Bin .../white.pal} | 0 include/gba/defines.h | 18 +- include/graphics.h | 2 +- include/palette.h | 20 +- src/bag.c | 108 +++++----- src/battle_anim.c | 24 +-- src/battle_anim_dark.c | 12 +- src/battle_anim_effects_1.c | 16 +- src/battle_anim_effects_2.c | 12 +- src/battle_anim_effects_3.c | 28 +-- src/battle_anim_fire.c | 3 +- src/battle_anim_flying.c | 8 +- src/battle_anim_ghost.c | 14 +- src/battle_anim_ice.c | 4 +- src/battle_anim_mons.c | 16 +- src/battle_anim_psychic.c | 2 +- src/battle_anim_rock.c | 2 +- src/battle_anim_special.c | 22 +- src/battle_anim_status_effects.c | 10 +- src/battle_anim_utility_funcs.c | 32 +-- src/battle_anim_water.c | 6 +- src/battle_bg.c | 37 ++-- src/battle_controller_link_partner.c | 2 +- src/battle_controller_oak_old_man.c | 2 +- src/battle_controller_player.c | 2 +- src/battle_controller_pokedude.c | 2 +- src/battle_gfx_sfx_util.c | 54 ++--- src/battle_interface.c | 6 +- src/battle_main.c | 2 +- src/battle_message.c | 8 +- src/battle_records.c | 6 +- src/battle_script_commands.c | 2 +- src/battle_transition.c | 12 +- src/berry_crush.c | 26 +-- src/berry_pouch.c | 190 +++++++++--------- src/berry_powder.c | 5 +- src/buy_menu_helpers.c | 181 ++++++++--------- src/clear_save_data_screen.c | 12 +- src/coins.c | 4 +- src/credits.c | 34 ++-- src/data/union_room.h | 2 +- src/daycare.c | 8 +- src/diploma.c | 2 +- src/dodrio_berry_picking.c | 12 +- src/easy_chat_3.c | 16 +- src/event_object_movement.c | 2 +- src/evolution_graphics.c | 8 +- src/evolution_scene.c | 30 +-- src/fame_checker.c | 38 ++-- src/field_effect.c | 45 +++-- src/field_fadetransition.c | 4 +- src/field_screen_effect.c | 2 +- src/field_specials.c | 26 +-- src/field_weather.c | 54 ++--- src/fieldmap.c | 26 +-- src/fldeff_cut.c | 2 +- src/fldeff_flash.c | 39 ++-- src/graphics.c | 2 +- src/hall_of_fame.c | 10 +- src/intro.c | 30 +-- src/item_menu.c | 12 +- src/item_pc.c | 106 +++++----- src/learn_move.c | 38 ++-- src/link.c | 10 +- src/list_menu.c | 10 +- src/mail.c | 21 +- src/main_menu.c | 10 +- src/map_name_popup.c | 36 ++-- src/map_preview_screen.c | 2 +- src/menu.c | 6 +- src/menu_indicators.c | 6 +- src/money.c | 6 +- src/mystery_gift_menu.c | 174 ++++++++-------- src/mystery_gift_show_card.c | 2 +- src/mystery_gift_show_news.c | 2 +- src/naming_screen.c | 16 +- src/new_menu_helpers.c | 20 +- src/oak_speech.c | 30 +-- src/option_menu.c | 12 +- src/palette.c | 14 +- src/party_menu.c | 62 +++--- src/pc_screen_effect.c | 6 +- src/pokedex_area_markers.c | 2 +- src/pokedex_screen.c | 64 +++--- src/pokemon_icon.c | 12 +- src/pokemon_jump.c | 20 +- src/pokemon_special_anim_scene.c | 10 +- src/pokemon_storage_system_graphics.c | 16 +- src/pokemon_storage_system_misc.c | 11 +- src/pokemon_storage_system_tasks.c | 20 +- src/pokemon_summary_screen.c | 24 +-- src/quest_log.c | 18 +- src/region_map.c | 42 ++-- src/script_menu.c | 8 +- src/seagallop.c | 8 +- src/shop.c | 8 +- src/slot_machine.c | 30 +-- src/sprite.c | 34 ++-- src/start_menu.c | 8 +- src/teachy_tv.c | 10 +- src/text_window.c | 52 ++--- src/title_screen.c | 46 ++--- src/tm_case.c | 32 +-- src/trade.c | 12 +- src/trade_scene.c | 20 +- src/trainer_card.c | 24 +-- src/trainer_pokemon_sprites.c | 8 +- src/union_room.c | 2 +- src/union_room_battle.c | 6 +- src/union_room_chat_display.c | 16 +- src/union_room_chat_objects.c | 2 +- src/wireless_communication_status_screen.c | 8 +- 117 files changed, 1248 insertions(+), 1251 deletions(-) rename graphics/{field_effects/flash_black.pal => cave_transition/black.pal} (100%) create mode 100644 graphics/cave_transition/enter.pal rename graphics/{field_effects/flash_gradient.pal => cave_transition/exit.pal} (57%) rename graphics/{field_effects/flash_effect_map.bin => cave_transition/tilemap.bin} (100%) rename graphics/{field_effects/flash_effect_tiles.png => cave_transition/tiles.png} (100%) rename graphics/{field_effects/flash_white.pal => cave_transition/white.pal} (100%) diff --git a/graphics/field_effects/flash_black.pal b/graphics/cave_transition/black.pal similarity index 100% rename from graphics/field_effects/flash_black.pal rename to graphics/cave_transition/black.pal diff --git a/graphics/cave_transition/enter.pal b/graphics/cave_transition/enter.pal new file mode 100644 index 000000000..fea15a176 --- /dev/null +++ b/graphics/cave_transition/enter.pal @@ -0,0 +1,11 @@ +JASC-PAL +0100 +8 +148 197 172 +16 16 16 +32 32 32 +49 49 49 +65 65 65 +82 82 82 +98 98 98 +115 115 115 diff --git a/graphics/field_effects/flash_gradient.pal b/graphics/cave_transition/exit.pal similarity index 57% rename from graphics/field_effects/flash_gradient.pal rename to graphics/cave_transition/exit.pal index ec7a2b50e..09eb37624 100644 --- a/graphics/field_effects/flash_gradient.pal +++ b/graphics/cave_transition/exit.pal @@ -1,14 +1,6 @@ JASC-PAL 0100 -16 -148 197 172 -16 16 16 -32 32 32 -49 49 49 -65 65 65 -82 82 82 -98 98 98 -115 115 115 +8 131 131 131 148 148 148 164 164 164 diff --git a/graphics/field_effects/flash_effect_map.bin b/graphics/cave_transition/tilemap.bin similarity index 100% rename from graphics/field_effects/flash_effect_map.bin rename to graphics/cave_transition/tilemap.bin diff --git a/graphics/field_effects/flash_effect_tiles.png b/graphics/cave_transition/tiles.png similarity index 100% rename from graphics/field_effects/flash_effect_tiles.png rename to graphics/cave_transition/tiles.png diff --git a/graphics/field_effects/flash_white.pal b/graphics/cave_transition/white.pal similarity index 100% rename from graphics/field_effects/flash_white.pal rename to graphics/cave_transition/white.pal diff --git a/include/gba/defines.h b/include/gba/defines.h index 860ae5f08..f7566278b 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -31,14 +31,12 @@ #define IWRAM_START 0x03000000 #define IWRAM_END (IWRAM_START + 0x8000) -#define PLTT 0x5000000 -#define PLTT_SIZE 0x400 - -#define BG_PLTT PLTT -#define BG_PLTT_SIZE 0x200 - -#define OBJ_PLTT (PLTT + 0x200) +#define PLTT 0x5000000 +#define BG_PLTT PLTT +#define BG_PLTT_SIZE 0x200 +#define OBJ_PLTT (PLTT + BG_PLTT_SIZE) #define OBJ_PLTT_SIZE 0x200 +#define PLTT_SIZE (BG_PLTT_SIZE + OBJ_PLTT_SIZE) #define VRAM 0x6000000 #define VRAM_SIZE 0x18000 @@ -79,6 +77,12 @@ #define TOTAL_OBJ_TILE_COUNT 1024 +#define PLTT_SIZEOF(n) ((n) * sizeof(u16)) +#define PLTT_SIZE_4BPP PLTT_SIZEOF(16) +#define PLTT_SIZE_8BPP PLTT_SIZEOF(256) + +#define PLTT_OFFSET_4BPP(n) ((n) * PLTT_SIZE_4BPP) + // Some functions are strictly inline asm #define NAKED __attribute__((naked)) #define UNUSED __attribute__((unused)) diff --git a/include/graphics.h b/include/graphics.h index 7bc8be1ac..fe87445b4 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2753,7 +2753,7 @@ extern const u32 gItemIcon_QuestionMark[]; extern const u32 gItemIconPalette_QuestionMark[]; // fame_checker -extern const u16 gFameCheckerBgPals[0x30]; +extern const u16 gFameCheckerBgPals[][16]; extern const u16 gFameCheckerBgTiles[0xa50]; extern const u16 gFameCheckerBg3Tilemap[0x400]; extern const u16 gFameCheckerBg2Tilemap[0x400]; diff --git a/include/palette.h b/include/palette.h index 4d4477b13..3bde46cad 100644 --- a/include/palette.h +++ b/include/palette.h @@ -8,8 +8,7 @@ #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade #define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade -#define PLTT_BUFFER_SIZE 0x200 -#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2) +#define PLTT_BUFFER_SIZE (PLTT_SIZE / sizeof(u16)) #define PALETTE_FADE_STATUS_DELAY 2 #define PALETTE_FADE_STATUS_ACTIVE 1 @@ -20,6 +19,13 @@ #define PALETTES_OBJECTS 0xFFFF0000 #define PALETTES_ALL (PALETTES_BG | PALETTES_OBJECTS) +#define PLTT_ID(n) ((n) * 16) +#define BG_PLTT_OFFSET 0x000 +#define OBJ_PLTT_OFFSET 0x100 +#define BG_PLTT_ID(n) (BG_PLTT_OFFSET + PLTT_ID(n)) +#define OBJ_PLTT_ID(n) (OBJ_PLTT_OFFSET + PLTT_ID(n)) +#define OBJ_PLTT_ID2(n) (PLTT_ID((n) + 16)) + enum { FAST_FADE_IN_FROM_WHITE, @@ -80,4 +86,14 @@ void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTa bool32 IsBlendPalettesGraduallyTaskActive(u8 var); void DestroyBlendPalettesGraduallyTask(void); +static inline void SetBackdropFromColor(u16 color) +{ + FillPalette(color, 0, PLTT_SIZEOF(1)); +} + +static inline void SetBackdropFromPalette(const u16 *palette) +{ + LoadPalette(palette, 0, PLTT_SIZEOF(1)); +} + #endif // GUARD_PALETTE_H diff --git a/src/bag.c b/src/bag.c index 8f1cbce36..9e7681143 100644 --- a/src/bag.c +++ b/src/bag.c @@ -20,27 +20,27 @@ static const u8 sTextColors[][3] = { static const struct WindowTemplate sDefaultBagWindowsStd[] = { { .bg = 0, - .tilemapLeft = 0x0b, - .tilemapTop = 0x01, - .width = 0x12, - .height = 0x0c, - .paletteNum = 0x0f, + .tilemapLeft = 11, + .tilemapTop = 1, + .width = 18, + .height = 12, + .paletteNum = 15, .baseBlock = 0x008a }, { .bg = 0, - .tilemapLeft = 0x05, - .tilemapTop = 0x0e, - .width = 0x19, - .height = 0x06, - .paletteNum = 0x0f, + .tilemapLeft = 5, + .tilemapTop = 14, + .width = 25, + .height = 6, + .paletteNum = 15, .baseBlock = 0x0162 }, { .bg = 0, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x09, - .height = 0x02, - .paletteNum = 0x0f, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 9, + .height = 2, + .paletteNum = 15, .baseBlock = 0x01f8 }, DUMMY_WIN_TEMPLATE }; @@ -48,27 +48,27 @@ static const struct WindowTemplate sDefaultBagWindowsStd[] = { static const struct WindowTemplate sDefaultBagWindowsDeposit[] = { { .bg = 0, - .tilemapLeft = 0x0b, - .tilemapTop = 0x01, - .width = 0x12, - .height = 0x0c, - .paletteNum = 0x0f, + .tilemapLeft = 11, + .tilemapTop = 1, + .width = 18, + .height = 12, + .paletteNum = 15, .baseBlock = 0x008a }, { .bg = 0, - .tilemapLeft = 0x05, - .tilemapTop = 0x0e, - .width = 0x19, - .height = 0x06, - .paletteNum = 0x0f, + .tilemapLeft = 5, + .tilemapTop = 14, + .width = 25, + .height = 6, + .paletteNum = 15, .baseBlock = 0x0162 }, { .bg = 0, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x08, - .height = 0x02, - .paletteNum = 0x0C, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 12, .baseBlock = 0x01f8 }, DUMMY_WIN_TEMPLATE }; @@ -80,7 +80,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x242 }, { .bg = 0, @@ -88,7 +88,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 9, .width = 12, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x242 }, { .bg = 0, @@ -96,7 +96,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 1, .width = 8, .height = 3, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x272 }, { .bg = 0, @@ -104,7 +104,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 6, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x28a }, { .bg = 0, @@ -112,7 +112,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 9, .width = 6, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x28a }, { .bg = 0, @@ -120,7 +120,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2a2 }, { .bg = 0, @@ -128,7 +128,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 14, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x2a2 }, { .bg = 0, @@ -136,7 +136,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 15, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x2da }, { .bg = 0, @@ -144,7 +144,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 16, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x316 }, { .bg = 0, @@ -152,7 +152,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 23, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x356 }, { .bg = 0, @@ -160,7 +160,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 17, .width = 7, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x20a }, { .bg = 0, @@ -168,7 +168,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x20a }, { .bg = 0, @@ -176,7 +176,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 13, .width = 7, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x20a }, { .bg = 0, @@ -184,7 +184,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 11, .width = 7, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x20a } }; @@ -202,10 +202,10 @@ void InitBagWindows(void) else InitWindows(sDefaultBagWindowsDeposit); DeactivateAllTextPrinters(); - LoadUserWindowGfx(0, 0x64, 0xE0); - LoadMenuMessageWindowGfx(0, 0x6D, 0xD0); - LoadStdWindowGfx(0, 0x81, 0xC0); - LoadPalette(sBagWindowPalF, 0xF0, 0x20); + LoadUserWindowGfx(0, 0x64, BG_PLTT_ID(14)); + LoadMenuMessageWindowGfx(0, 0x6D, BG_PLTT_ID(13)); + LoadStdWindowGfx(0, 0x81, BG_PLTT_ID(12)); + LoadPalette(sBagWindowPalF, BG_PLTT_ID(15), sizeof(sBagWindowPalF)); for (i = 0; i < 3; i++) { FillWindowPixelBuffer(i, 0x00); @@ -232,7 +232,7 @@ void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused) void BagDrawDepositItemTextBox(void) { u32 x; - DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 0x0C); + DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 12); x = 0x40 - GetStringWidth(FONT_SMALL, gText_DepositItem, 0); AddTextPrinterParameterized(2, FONT_SMALL, gText_DepositItem, x / 2, 1, 0, NULL); } @@ -244,11 +244,11 @@ u8 ShowBagWindow(u8 whichWindow, u8 nItems) sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow + nItems]); if (whichWindow != 6) { - DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 0xE); + DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 14); } else { - DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 0xC); + DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 12); } ScheduleBgCopyTilemapToVram(0); } @@ -293,12 +293,12 @@ u8 GetBagWindow(u8 whichWindow) void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], FONT_NORMAL, 0, 2, 0x064, 0x0E, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], FONT_NORMAL, 0, 2, 0x064, 14, ptrs); } void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], FONT_NORMAL, 0, 2, 0x064, 0x0E, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], FONT_NORMAL, 0, 2, 0x064, 14, ptrs); } void BagPrintMoneyAmount(void) @@ -308,5 +308,5 @@ void BagPrintMoneyAmount(void) void BagDrawTextBoxOnWindow(u8 windowId) { - DrawTextBorderOuter(windowId, 0x064, 0x0E); + DrawTextBorderOuter(windowId, 0x064, 14); } diff --git a/src/battle_anim.c b/src/battle_anim.c index 50f8fe703..30f9a7ad2 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -654,8 +654,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2) SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + animBg.paletteId * 32), 0x20); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + animBg.paletteId * PLTT_SIZE_4BPP), PLTT_SIZE_4BPP); CopyBattlerSpriteToBg(1, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset); @@ -679,8 +679,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2) SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + 0x120), 0x20); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + 9 * PLTT_SIZE_4BPP), PLTT_SIZE_4BPP); CopyBattlerSpriteToBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); @@ -739,25 +739,15 @@ static void Task_InitUpdateMonBg(u8 taskId) if (gTasks[taskId].data[5] == 0) { - u16 *src; - u16 *dst; - gBattle_BG1_X = x + gTasks[taskId].data[3]; gBattle_BG1_Y = y + gTasks[taskId].data[4]; - src = gPlttBufferFaded + 0x100 + palIndex * 16; - dst = gPlttBufferFaded + 0x100 + animBg.paletteId * 16 - 256; - CpuCopy32(src, dst, 0x20); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(palIndex)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); } else { - u16 *src; - u16 *dst; - gBattle_BG2_X = x + gTasks[taskId].data[3]; gBattle_BG2_Y = y + gTasks[taskId].data[4]; - src = gPlttBufferFaded + 0x100 + palIndex * 16; - dst = gPlttBufferFaded + 0x100 - 112; - CpuCopy32(src, dst, 0x20); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(palIndex)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); } } @@ -1113,7 +1103,7 @@ static void LoadMoveBg(u16 bgId) { LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)(BG_SCREEN_ADDR(26))); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_CHAR_ADDR(2))); - LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, 32, 32); + LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP); } static void LoadDefaultBg(void) diff --git a/src/battle_anim_dark.c b/src/battle_anim_dark.c index 39e19bda7..fbce95e30 100644 --- a/src/battle_anim_dark.c +++ b/src/battle_anim_dark.c @@ -415,7 +415,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); - FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); scanlineParams.dmaDest = ®_BG1VOFS; var0 = WINOUT_WIN01_BG1; if (!IsContest()) @@ -425,7 +425,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) { task->data[10] = gBattle_BG2_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - FillPalette(RGB_BLACK, 144, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP); scanlineParams.dmaDest = ®_BG2VOFS; var0 = WINOUT_WIN01_BG2; if (!IsContest()) @@ -545,12 +545,12 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId) { GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; - FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); } else { task->data[10] = gBattle_BG2_Y; - FillPalette(RGB_BLACK, 9 * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP); } SetAllBattlersSpritePriority(3); ++task->data[0]; @@ -806,14 +806,14 @@ void AnimTask_MetallicShine(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap); AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset); - LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32); + LoadCompressedPalette(gMetalShinePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = -gSprites[spriteId].x + 96; gBattle_BG1_Y = -gSprites[spriteId].y + 32; paletteNum = 16 + gSprites[spriteId].oam.paletteNum; if (gBattleAnimArgs[1] == 0) SetGreyscaleOrOriginalPalette(paletteNum, FALSE); else - BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]); + BlendPalette(PLTT_ID(paletteNum), 16, 11, gBattleAnimArgs[2]); gTasks[taskId].data[0] = newSpriteId; gTasks[taskId].data[1] = gBattleAnimArgs[0]; gTasks[taskId].data[2] = gBattleAnimArgs[1]; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index a09dcb473..e70131f71 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3672,8 +3672,8 @@ void AnimTask_CycleMagicalLeafPal(u8 taskId) switch (task->data[0]) { case 0: - task->data[8] = IndexOfSpritePaletteTag(ANIM_TAG_LEAF) * 16 + 256; - task->data[12] = IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF) * 16 + 256; + task->data[8] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_LEAF)); + task->data[12] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF)); task->data[0]++; break; case 1: @@ -3996,7 +3996,7 @@ static void AnimProtect(struct Sprite* sprite) sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = (IndexOfSpritePaletteTag(ANIM_TAG_PROTECT) << 4) + 0x100; + sprite->data[2] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_PROTECT)); sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7])); @@ -4384,7 +4384,7 @@ static void AnimLockOnTarget_Step4(struct Sprite* sprite) int pal; sprite->data[2]++; pal = sprite->oam.paletteNum; - LoadPalette(&gPlttBufferUnfaded[0x108 + pal * 16], pal * 16 | 0x101, 4); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(pal) + 8], OBJ_PLTT_ID(pal) + 1, PLTT_SIZEOF(2)); PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); } else if (sprite->data[1] == 0) @@ -5216,8 +5216,8 @@ void AnimTask_DoubleTeam(u8 taskId) task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON); - r3 = (task->data[1] * 16) + 0x100; - r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4; + r3 = OBJ_PLTT_ID(task->data[1]); + r4 = OBJ_PLTT_ID2(gSprites[task->data[0]].oam.paletteNum); for (i = 1; i < 16; i++) gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i]; @@ -5295,7 +5295,7 @@ void AnimTask_MusicNotesRainbowBlend(u8 taskId) index = IndexOfSpritePaletteTag(sParticlesColorBlendTable[0][0]); if (index != 0xFF) { - index = (index << 4) + 0x100; + index = OBJ_PLTT_ID(index); for (i = 1; i < NELEMS(sParticlesColorBlendTable[0]); i++) gPlttBufferFaded[index + i] = sParticlesColorBlendTable[0][i]; } @@ -5305,7 +5305,7 @@ void AnimTask_MusicNotesRainbowBlend(u8 taskId) index = AllocSpritePalette(sParticlesColorBlendTable[j][0]); if (index != 0xFF) { - index = (index << 4) + 0x100; + index = OBJ_PLTT_ID(index); for (i = 1; i < NELEMS(sParticlesColorBlendTable[0]); i++) gPlttBufferFaded[index + i] = sParticlesColorBlendTable[j][i]; } diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index bc58491ee..b9aa8818c 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1744,7 +1744,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) static void AnimVoidLines(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); - sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(sVoidLinesSpriteTemplate.paletteTag) << 4); + sprite->data[0] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(sVoidLinesSpriteTemplate.paletteTag)); sprite->callback = AnimVoidLines_Step; } @@ -2687,9 +2687,7 @@ static void AnimUproarRing(struct Sprite *sprite) u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING); if (index != 0xFF) - { - BlendPalette(((index << 20) + 0x1010000) >> 16, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]); - } + BlendPalette(OBJ_PLTT_ID(index) + 1, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]); StartSpriteAffineAnim(sprite, 1); sprite->callback = AnimSpriteOnMonPos; @@ -3045,7 +3043,7 @@ void AnimTask_LoadMusicNotesPals(u8 taskId) gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000); LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->multiUseBuffer); for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) - LoadPalette(&gMonSpritesGfxPtr->multiUseBuffer[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); + LoadPalette(&gMonSpritesGfxPtr->multiUseBuffer[i * 32], OBJ_PLTT_ID(paletteNums[i]), PLTT_SIZE_4BPP); FREE_AND_SET_NULL(gMonSpritesGfxPtr->multiUseBuffer); DestroyAnimVisualTask(taskId); @@ -3282,7 +3280,7 @@ void AnimTask_HeartsBackground(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBg_AttractPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); @@ -3370,7 +3368,7 @@ void AnimTask_ScaryFace(u8 taskId) AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_ScaryFaceOpponent); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_ScaryFaceGfx, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnim_ScaryFacePal, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnim_ScaryFacePal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 9ae958193..0d79770ca 100644 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1367,11 +1367,11 @@ static void SetPsychicBackground_Step(u8 taskId) if (++gTasks[taskId].data[5] == 4) { - lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + lastColor = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 11]; for (i = 10; i > 0; i--) - gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; + gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i]; - gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor; gTasks[taskId].data[5] = 0; } @@ -1393,15 +1393,15 @@ static void FadeScreenToWhite_Step(u8 taskId) if (++gTasks[taskId].data[5] == 4) { - lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + lastColor = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 11]; for (i = 10; i > 0; i--) - gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; - gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + i]; + gPlttBufferFaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor; - lastColor = gPlttBufferUnfaded[paletteIndex * 16 + 11]; + lastColor = gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + 11]; for (i = 10; i > 0; i--) - gPlttBufferUnfaded[paletteIndex * 16 + i + 1] = gPlttBufferUnfaded[paletteIndex * 16 + i]; - gPlttBufferUnfaded[paletteIndex * 16 + 1] = lastColor; + gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + i + 1] = gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + i]; + gPlttBufferUnfaded[BG_PLTT_ID(paletteIndex) + 1] = lastColor; gTasks[taskId].data[5] = 0; } @@ -2329,7 +2329,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnim_MorningSunPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) { RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); @@ -2509,7 +2509,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnim_MorningSunPal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) { @@ -3177,7 +3177,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId) spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1); gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; - FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); + FillPalette(RGB_WHITE, OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP); gSprites[spriteId].oam.priority = priority; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); @@ -3806,7 +3806,7 @@ void AnimTask_FacadeColorBlend(u8 taskId) gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = gBattleAnimArgs[1]; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; + gTasks[taskId].data[2] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum); gTasks[taskId].func = AnimTask_FacadeColorBlend_Step; } @@ -5025,7 +5025,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId) spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0); if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) - BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); + BlendPalette(OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum), 16, 6, RGB_WHITE); gTasks[taskId].data[15] = spriteId2; gTasks[taskId].data[0]++; break; diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index a3dd62e22..7ba6cde1f 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -4,6 +4,7 @@ #include "util.h" #include "task.h" #include "trig.h" +#include "palette.h" #include "constants/songs.h" static void AnimFireSpiralInward(struct Sprite *sprite); @@ -1239,7 +1240,7 @@ void AnimTask_BlendBackground(u8 taskId) struct BattleAnimBgData animBg; GetBattleAnimBg1Data(&animBg); - BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); + BlendPalette(BG_PLTT_ID(animBg.paletteId), 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 371aa631e..2128d6757 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -395,15 +395,15 @@ static void AnimTask_AnimateGustTornadoPalette_Step(u8 taskId) { gTasks[taskId].data[10] = 0; data2 = gTasks[taskId].data[2]; - temp = gPlttBufferFaded[16 * data2 + 0x108]; + temp = gPlttBufferFaded[OBJ_PLTT_ID(data2) + 8]; i = 7; - base = data2 * 16; + base = PLTT_ID(data2); do { - gPlttBufferFaded[base + 0x101 + i] = gPlttBufferFaded[base + 0x100 + i]; + gPlttBufferFaded[base + OBJ_PLTT_OFFSET + 1 + i] = gPlttBufferFaded[base + OBJ_PLTT_OFFSET + i]; } while (--i > 0); - gPlttBufferFaded[base + 0x101] = temp; + gPlttBufferFaded[base + OBJ_PLTT_OFFSET + 1] = temp; } if (--gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index d9e06b91e..d378c278c 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -625,7 +625,7 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId) task->data[2] = 0; task->data[3] = 16; task->data[13] = GetAnimBattlerSpriteId(ANIM_TARGET); - task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16; + task->data[4] = OBJ_PLTT_ID2(gSprites[task->data[13]].oam.paletteNum); if (position == 1) { u16 mask = DISPCNT_BG1_ON; @@ -644,8 +644,8 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId) } break; case 1: - task->data[14] = (task->data[14] + 16) * 16; - CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], 0x20); + task->data[14] = OBJ_PLTT_ID2(task->data[14]); + CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], PLTT_SIZE_4BPP); BlendPalette(task->data[4], 16, 10, RGB(13, 0, 15)); ++task->data[15]; break; @@ -1290,10 +1290,10 @@ static void AnimTask_GhostGetOut_Step1(u8 taskId) task->data[3] = 16; task->data[4] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[5] = gSprites[task->data[4]].oam.priority; - task->data[6] = (gSprites[task->data[4]].oam.paletteNum + 16) << 4; + task->data[6] = OBJ_PLTT_ID2(gSprites[task->data[4]].oam.paletteNum); gSprites[task->data[4]].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[task->data[4]].oam.priority = 3; - task->data[7] = 128; + task->data[7] = BG_PLTT_ID(8); break; case 1: ++task->data[1]; @@ -1320,7 +1320,7 @@ static void AnimTask_GhostGetOut_Step1(u8 taskId) SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); GetBattleAnimBgData(&animBgData, 2); AnimLoadCompressedBgGfx(animBgData.bgId, gBattleAnim_ScaryFaceGfx, animBgData.tilesOffset); - LoadCompressedPalette(gBattleAnim_ScaryFacePal, 16 * animBgData.paletteId, 0x20); + LoadCompressedPalette(gBattleAnim_ScaryFacePal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 3: GetBattleAnimBgData(&animBgData, 2); @@ -1422,7 +1422,7 @@ static void AnimTask_GhostGetOut_Step3(u8 taskId) break; case 3: InitBattleAnimBg(2); - FillPalette(RGB_BLACK, 0x90, 0x20); + FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP); SetAnimBgAttribute(2, BG_ANIM_CHAR_BASE_BLOCK, 0); task->data[1] = 12; break; diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index f70edfb83..e5feb2529 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -946,7 +946,7 @@ void AnimTask_HazeScrollingFog(u8 taskId) GetBattleAnimBg1Data(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap); - LoadPalette(&gDefaultWeatherSpritePalette, animBg.paletteId * 16, 32); + LoadPalette(&gDefaultWeatherSpritePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); gTasks[taskId].func = AnimTask_HazeScrollingFog_Step; @@ -1043,7 +1043,7 @@ void AnimTask_MistBallFog(u8 taskId) GetBattleAnimBg1Data(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap); - LoadPalette(&gDefaultWeatherSpritePalette, animBg.paletteId * 16, 32); + LoadPalette(&gDefaultWeatherSpritePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); gTasks[taskId].data[15] = -1; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 3b6b34d63..87e71d0ad 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1291,7 +1291,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor) struct PlttData *destColor; u16 average; - paletteNum *= 16; + paletteNum = PLTT_ID(paletteNum); if (!restoreOriginalColor) { @@ -1308,7 +1308,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor) } else { - CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32); + CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], PLTT_SIZE_4BPP); } } @@ -1609,7 +1609,7 @@ void AnimTask_BlendMonInAndOut(u8 task) DestroyAnimVisualTask(task); return; } - gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101; + gTasks[task].data[0] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum) + 1; AnimTask_BlendMonInAndOutSetup(&gTasks[task]); } @@ -1952,7 +1952,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000); if (!isBackpic) { - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->multiUseBuffer, @@ -1968,7 +1968,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat } else { - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->multiUseBuffer, @@ -2224,8 +2224,8 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) task->tPaletteNum = AllocSpritePalette(ANIM_TAG_BENT_SPOON); task->tNumTracesActive = 0; - dest = (task->tPaletteNum + 16) * 16; - src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10; + dest = OBJ_PLTT_ID2(task->tPaletteNum); + src = OBJ_PLTT_ID2(gSprites[task->tBattlerSpriteId].oam.paletteNum); // Set trace's priority based on battler's subpriority task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); @@ -2234,7 +2234,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) else task->tPriority = 3; - CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); + CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], PLTT_SIZE_4BPP); BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]); task->func = AnimTask_AttackerPunchWithTrace_Step; } diff --git a/src/battle_anim_psychic.c b/src/battle_anim_psychic.c index 64aa452cc..1a5683b85 100644 --- a/src/battle_anim_psychic.c +++ b/src/battle_anim_psychic.c @@ -459,7 +459,7 @@ static void AnimDefensiveWall(struct Sprite *sprite) } if (IsContest()) sprite->y += 9; - sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16; + sprite->data[0] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(gBattleAnimArgs[2])); sprite->callback = AnimDefensiveWall_Step2; sprite->callback(sprite); } diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index d7b8057ef..34e52638b 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -404,7 +404,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap); AnimLoadCompressedBgGfx(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (IsContest()) RelocateBattleBgPal(animBg.paletteId, animBg.bgTilemap, 0, 0); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 48f7435b7..183f86196 100644 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -438,7 +438,7 @@ void AnimTask_LevelUpHealthBox(u8 taskId) GetBattleAnimBg1Data(&animBgData); AnimLoadCompressedBgTilemap(animBgData.bgId, gUnusedLevelupAnimationTilemap); AnimLoadCompressedBgGfx(animBgData.bgId, gUnusedLevelupAnimationGfx, animBgData.tilesOffset); - LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32); + LoadCompressedPalette(gCureBubblesPal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = -gSprites[spriteId3].x + 32; gBattle_BG1_Y = -gSprites[spriteId3].y - 32; gTasks[taskId].data[1] = 640; @@ -518,10 +518,10 @@ void DoLoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battler) spriteId2 = gSprites[healthBoxSpriteId].data[5]; *paletteId1 = AllocSpritePalette(TAG_HEALTHBOX_PALS_1); *paletteId2 = AllocSpritePalette(TAG_HEALTHBOX_PALS_2); - offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100; - offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100; - LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20); - LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20); + offset1 = OBJ_PLTT_ID(gSprites[healthBoxSpriteId].oam.paletteNum); + offset2 = OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum); + LoadPalette(&gPlttBufferUnfaded[offset1], OBJ_PLTT_ID(*paletteId1), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[offset2], OBJ_PLTT_ID(*paletteId2), PLTT_SIZE_4BPP); gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1; gSprites[spriteId1].oam.paletteNum = *paletteId1; gSprites[spriteId2].oam.paletteNum = *paletteId2; @@ -584,7 +584,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId) if (gTasks[taskId].data[2] > 16) gTasks[taskId].data[2] = 16; - paletteOffset = paletteNum * 16 + 0x100; + paletteOffset = OBJ_PLTT_ID(paletteNum); BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31)); if (gTasks[taskId].data[2] == 16) gTasks[taskId].data[1]++; @@ -594,7 +594,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId) if (gTasks[taskId].data[2] < 0) gTasks[taskId].data[2] = 0; - paletteOffset = paletteNum * 16 + 0x100; + paletteOffset = OBJ_PLTT_ID(paletteNum); BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31)); if (gTasks[taskId].data[2] == 0) DestroyAnimVisualTask(taskId); @@ -1874,12 +1874,12 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 battler, u32 selectedPalettes, u8 if (!unfadeLater) { - BlendPalette(battler * 16 + 0x100, 16, 0, sBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(battler), 16, 0, sBallOpenFadeColors[ballId]); gTasks[taskId].data[1] = 1; } else { - BlendPalette(battler * 16 + 0x100, 16, 16, sBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(battler), 16, 16, sBallOpenFadeColors[ballId]); gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = -1; gTasks[taskId].func = Task_FadeMon_ToNormal; @@ -1895,7 +1895,7 @@ static void Task_FadeMon_ToBallColor(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[3]), 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } @@ -1923,7 +1923,7 @@ static void Task_FadeMon_ToNormal_Step(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[3]), 16, gTasks[taskId].data[0], sBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 8307d1786..6d3a0e1b3 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -284,7 +284,7 @@ static void Task_UpdateFlashingCircleImpacts(u8 taskId) if (gTasks[taskId].data[2] == 2) { gTasks[taskId].data[2] = 0; - BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[0]), 16, gTasks[taskId].data[4], gTasks[taskId].data[1]); if (gTasks[taskId].data[5] == 0) { gTasks[taskId].data[4]++; @@ -394,10 +394,10 @@ static void AnimTask_FrozenIceCube_Step2(u8 taskId) { u16 temp; - temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13]; - gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14]; - gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15]; - gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp; + temp = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 13]; + gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 13] = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 14]; + gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 14] = gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 15]; + gPlttBufferFaded[OBJ_PLTT_ID(palIndex) + 15] = temp; gTasks[taskId].data[2] = 0; gTasks[taskId].data[3]++; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index d231acf08..896c6411a 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -338,7 +338,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId) if (IsContest()) RelocateBattleBgPal(animBgData.paletteId, animBgData.bgTilemap, 0, 0); AnimLoadCompressedBgGfx(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_sheet, animBgData.tilesOffset); - LoadPalette(sRgbWhite, animBgData.paletteId * 16 + 1, 2); + LoadPalette(sRgbWhite, BG_PLTT_ID(animBgData.paletteId) + 1, PLTT_SIZEOF(1)); gBattle_BG1_X = -gSprites[spriteId].x + 32; gBattle_BG1_Y = -gSprites[spriteId].y + 32; gTasks[taskId].data[0] = newSpriteId; @@ -465,28 +465,28 @@ static void StatsChangeAnimation_Step2(u8 taskId) switch (sAnimStatsChangeData->data[1]) { case 0: - LoadCompressedPalette(gBattleStatMask2_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask2_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 1: - LoadCompressedPalette(gBattleStatMask1_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask1_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 2: - LoadCompressedPalette(gBattleStatMask3_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask3_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 3: - LoadCompressedPalette(gBattleStatMask4_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask4_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 4: - LoadCompressedPalette(gBattleStatMask6_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask6_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 5: - LoadCompressedPalette(gBattleStatMask7_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask7_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 6: - LoadCompressedPalette(gBattleStatMask8_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask8_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; default: - LoadCompressedPalette(gBattleStatMask5_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask5_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; } gBattle_BG1_X = 0; @@ -618,13 +618,13 @@ static void AnimTask_Flash_Step(u8 taskId) { if ((task->data[15] >> i) & 1) { - u16 paletteOffset = i * 16; + u16 paletteOffset = BG_PLTT_ID(i); BlendPalette(paletteOffset, 16, task->data[2], 0xFFFF); } if ((task->data[14] >> i) & 1) { - u16 paletteOffset = i * 16 + 0x100; + u16 paletteOffset = OBJ_PLTT_ID(i); BlendPalette(paletteOffset, 16, task->data[2], 0); } } @@ -645,7 +645,7 @@ static void SetPalettesToColor(u32 selectedPalettes, u16 color) for (i = 0; i < 32; selectedPalettes >>= 1, ++i) if (selectedPalettes & 1) - for (curOffset = i * 16, paletteOffset = curOffset; curOffset < paletteOffset + 16; ++curOffset) + for (curOffset = PLTT_ID(i), paletteOffset = curOffset; curOffset < paletteOffset + 16; ++curOffset) gPlttBufferFaded[curOffset] = color; } @@ -764,7 +764,7 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 scrollSpeed, u8 battler1 if (IsContest()) RelocateBattleBgPal(animBgData.paletteId, animBgData.bgTilemap, 0, 0); AnimLoadCompressedBgGfx(animBgData.bgId, gfx, animBgData.tilesOffset); - LoadCompressedPalette(palette, animBgData.paletteId * 16, 32); + LoadCompressedPalette(palette, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = 0; gBattle_BG1_Y = 0; gTasks[taskId].data[1] = scrollSpeed; @@ -867,7 +867,7 @@ void AnimTask_CopyPalUnfadedToBackup(u8 taskId) paletteIndex = gBattleAnimAttacker + 16; else if (gBattleAnimArgs[0] == 2) paletteIndex = gBattleAnimTarget + 16; - memcpy(&gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[paletteIndex * 16], 32); + memcpy(&gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[PLTT_ID(paletteIndex)], PLTT_SIZE_4BPP); DestroyAnimVisualTask(taskId); } @@ -885,7 +885,7 @@ void AnimTask_CopyPalUnfadedFromBackup(u8 taskId) paletteIndex = gBattleAnimAttacker + 16; else if (gBattleAnimArgs[0] == 2) paletteIndex = gBattleAnimTarget + 16; - memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], 32); + memcpy(&gPlttBufferUnfaded[PLTT_ID(paletteIndex)], &gMonSpritesGfxPtr->multiUseBuffer[gBattleAnimArgs[1] * 16], PLTT_SIZE_4BPP); DestroyAnimVisualTask(taskId); } @@ -903,7 +903,7 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId) paletteIndex = gBattleAnimAttacker + 16; else if (gBattleAnimArgs[0] == 2) paletteIndex = gBattleAnimTarget + 16; - memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gPlttBufferFaded[paletteIndex * 16], 32); + memcpy(&gPlttBufferUnfaded[PLTT_ID(paletteIndex)], &gPlttBufferFaded[PLTT_ID(paletteIndex)], PLTT_SIZE_4BPP); DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index 390ab38f3..8cd5ed3f7 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -620,7 +620,7 @@ static void AnimAuroraBeamRings_Step(struct Sprite *sprite) void AnimTask_RotateAuroraRingColors(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256; + gTasks[taskId].data[2] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS)); gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step; } static void AnimTask_RotateAuroraRingColors_Step(u8 taskId) @@ -826,9 +826,9 @@ void AnimTask_CreateSurfWave(u8 taskId) } AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) - LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Surf, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1); gTasks[taskId].data[15] = taskId2; gTasks[taskId2].data[0] = 0; diff --git a/src/battle_bg.c b/src/battle_bg.c index 8260e7091..3bcc50080 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -648,7 +648,7 @@ static void LoadBattleTerrainGfx(u16 terrain) // Copy to bg3 LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2)); LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26)); - LoadCompressedPalette(sBattleTerrainTable[terrain].palette, 0x20, 0x60); + LoadCompressedPalette(sBattleTerrainTable[terrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } static void LoadBattleTerrainEntryGfx(u16 terrain) @@ -690,19 +690,22 @@ void InitBattleBgsVideo(void) void LoadBattleMenuWindowGfx(void) { - LoadUserWindowGfx(2, 0x012, 0x10); - LoadUserWindowGfx(2, 0x022, 0x10); - gPlttBufferUnfaded[0x5C] = RGB( 9, 9, 9); - gPlttBufferUnfaded[0x5D] = RGB( 9, 9, 9); - gPlttBufferUnfaded[0x5E] = RGB(31, 31, 31); - gPlttBufferUnfaded[0x5F] = RGB( 26, 26, 25); - CpuCopy16(&gPlttBufferUnfaded[0x5C], &gPlttBufferFaded[0x5C], 8); + LoadUserWindowGfx(2, 0x012, BG_PLTT_ID(1)); + LoadUserWindowGfx(2, 0x022, BG_PLTT_ID(1)); + + gPlttBufferUnfaded[BG_PLTT_ID(5) + 12] = RGB( 9, 9, 9); + gPlttBufferUnfaded[BG_PLTT_ID(5) + 13] = RGB( 9, 9, 9); + gPlttBufferUnfaded[BG_PLTT_ID(5) + 14] = RGB(31, 31, 31); + gPlttBufferUnfaded[BG_PLTT_ID(5) + 15] = RGB( 26, 26, 25); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 12], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(4)); + if (gBattleTypeFlags & (BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_POKEDUDE)) { - Menu_LoadStdPalAt(0x70); - LoadMenuMessageWindowGfx(0, 0x030, 0x70); - gPlttBufferUnfaded[0x76] = RGB( 0, 0, 0); - CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); + Menu_LoadStdPalAt(BG_PLTT_ID(7)); + LoadMenuMessageWindowGfx(0, 0x030, BG_PLTT_ID(7)); + + gPlttBufferUnfaded[BG_PLTT_ID(7) + 6] = RGB( 0, 0, 0); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(7) + 6], &gPlttBufferFaded[BG_PLTT_ID(7) + 6], PLTT_SIZEOF(1)); } } @@ -716,7 +719,7 @@ void LoadBattleTextboxAndBackground(void) LZDecompressVram(gBattleInterface_Textbox_Gfx, (void *)BG_CHAR_ADDR(0)); CopyToBgTilemapBuffer(0, gBattleInterface_Textbox_Tilemap, 0, 0x000); CopyBgTilemapBufferToVram(0); - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x00, 0x40); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); DrawMainBattleBackground(); } @@ -927,7 +930,7 @@ void InitLinkBattleVsScreen(u8 taskId) break; case 1: palId = AllocSpritePalette(TAG_VS_LETTERS); - gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = RGB(31, 31, 31); + gPlttBufferUnfaded[OBJ_PLTT_ID(palId) + 15] = gPlttBufferFaded[OBJ_PLTT_ID(palId) + 15] = RGB_WHITE; gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 108, 80, 0); gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 132, 80, 0); gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE; @@ -982,7 +985,7 @@ void DrawBattleEntryBackground(void) { LZDecompressVram(gFile_graphics_battle_transitions_vs_frame_sheet, (void *)(BG_CHAR_ADDR(1))); LZDecompressVram(gVsLettersGfx, (void *)(VRAM + 0x10000)); - LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, 0x60, 0x20); + LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, BG_PLTT_ID(6), PLTT_SIZE_4BPP); SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT512x256); CopyToBgTilemapBuffer(1, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0); @@ -1083,7 +1086,7 @@ bool8 LoadChosenBattleElement(u8 caseId) CopyBgTilemapBufferToVram(0); break; case 2: - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x00, 0x40); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); break; case 3: battleScene = GetBattleTerrainOverride(); @@ -1095,7 +1098,7 @@ bool8 LoadChosenBattleElement(u8 caseId) break; case 5: battleScene = GetBattleTerrainOverride(); - LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, 0x20, 0x60); + LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case 6: LoadBattleMenuWindowGfx(); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index de1f98f77..d2c02a0ae 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1513,7 +1513,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void) trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; } - LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; diff --git a/src/battle_controller_oak_old_man.c b/src/battle_controller_oak_old_man.c index 0e0fd8784..71926e579 100644 --- a/src/battle_controller_oak_old_man.c +++ b/src/battle_controller_oak_old_man.c @@ -2086,7 +2086,7 @@ static void OakOldManHandleIntroTrainerBallThrow(void) StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(Task_StartSendOutAnim, 5); gTasks[taskId].data[0] = gActiveBattler; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index c9afab61f..1422fa13b 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2714,7 +2714,7 @@ static void PlayerHandleIntroTrainerBallThrow(void) StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(Task_StartSendOutAnim, 5); gTasks[taskId].data[0] = gActiveBattler; diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index ca052a025..62c259c04 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -1858,7 +1858,7 @@ static void PokedudeHandleIntroTrainerBallThrow(void) StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_POKEDUDE].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_POKEDUDE].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(Task_StartSendOutAnim, 5); gTasks[taskId].data[0] = gActiveBattler; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index a681dfec6..330880e70 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -341,27 +341,27 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[position], species, currentPersonality); - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); buffer = AllocZeroed(0x400); LZDecompressWram(lzPaletteData, buffer); - LoadPalette(buffer, paletteOffset, 0x20); - LoadPalette(buffer, 0x80 + battlerId * 16, 0x20); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); Free(buffer); if (species == SPECIES_CASTFORM) { - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP); } } @@ -395,27 +395,27 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) HandleLoadSpecialPokePic(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites[position], species, currentPersonality); - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); buffer = AllocZeroed(0x400); LZDecompressWram(lzPaletteData, buffer); - LoadPalette(buffer, paletteOffset, 0x20); - LoadPalette(buffer, 0x80 + battlerId * 16, 0x20); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); Free(buffer); if (species == SPECIES_CASTFORM) { - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP); } } @@ -426,11 +426,11 @@ void DecompressGhostFrontPic(struct Pokemon *unused, u8 battlerId) u8 position = GetBattlerPosition(battlerId); LZ77UnCompWram(gGhostFrontPic, gMonSpritesGfxPtr->sprites[position]); - palOffset = 0x100 + 16 * battlerId; + palOffset = OBJ_PLTT_ID(battlerId); buffer = AllocZeroed(0x400); LZDecompressWram(gGhostPalette, buffer); - LoadPalette(buffer, palOffset, 0x20); - LoadPalette(buffer, 0x80 + 16 * battlerId, 0x20); + LoadPalette(buffer, palOffset, PLTT_SIZE_4BPP); + LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); Free(buffer); } @@ -449,7 +449,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) void DecompressTrainerBackPalette(u16 index, u8 palette) { - LoadCompressedPalette(gTrainerBackPicPaletteTable[index].data, (palette + 16) * 16, 0x20); + LoadCompressedPalette(gTrainerBackPicPaletteTable[index].data, OBJ_PLTT_ID2(palette), PLTT_SIZE_4BPP); } void BattleGfxSfxDummy3(u8 gender) @@ -675,11 +675,11 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType) src = gMonSpritesGfxPtr->sprites[position]; dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); DmaCopy32(3, src, dst, 0x800); - paletteOffset = 0x100 + battlerAtk * 16; + paletteOffset = OBJ_PLTT_ID(battlerAtk); lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); buffer = AllocZeroed(0x400); LZDecompressWram(lzPaletteData, buffer); - LoadPalette(buffer, paletteOffset, 32); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); Free(buffer); gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]); @@ -690,13 +690,13 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType) else if (transformType) // Castform form change { StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg); - paletteOffset = 0x100 + battlerAtk * 16; - LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32); + paletteOffset = OBJ_PLTT_ID(battlerAtk); + LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, PLTT_SIZE_4BPP); gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg; if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP); } gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); } @@ -733,19 +733,19 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 transformType) src = gMonSpritesGfxPtr->sprites[position]; dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); DmaCopy32(3, src, dst, 0x800); - paletteOffset = 0x100 + battlerAtk * 16; + paletteOffset = OBJ_PLTT_ID(battlerAtk); lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); buffer = AllocZeroed(0x400); LZDecompressWram(lzPaletteData, buffer); - LoadPalette(buffer, paletteOffset, 32); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); Free(buffer); if (targetSpecies == SPECIES_CASTFORM) { LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); - LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32); + LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, PLTT_SIZE_4BPP); } BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZE_4BPP); gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies; gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef]; gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); @@ -774,8 +774,8 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) --ptr; DmaCopy32Defvars(3, (*ptr)[0], (*ptr)[i], 0x800); } - palOffset = (battlerId * 16) + 0x100; - LoadCompressedPalette(gSubstituteDollPal, palOffset, 32); + palOffset = OBJ_PLTT_ID(battlerId); + LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); } else { diff --git a/src/battle_interface.c b/src/battle_interface.c index feb590f5b..794c38ef4 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1663,11 +1663,11 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) return; } - pltAdder = gSprites[healthboxSpriteId].oam.paletteNum * 16; + pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum); pltAdder += battlerId + 12; - FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2); - CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void *)(OBJ_PLTT + pltAdder * 2), 2); + FillPalette(sStatusIconColors[statusPalId], pltAdder + OBJ_PLTT_OFFSET, PLTT_SIZEOF(1)); + CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1)); CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 3 * TILE_SIZE_4BPP); if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT) { diff --git a/src/battle_main.c b/src/battle_main.c index bb34635b4..66a5cc768 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1769,7 +1769,7 @@ void CB2_InitEndLinkBattle(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; InitBattleBgsVideo(); - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0, 64); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); ResetSpriteData(); ResetTasks(); diff --git a/src/battle_message.c b/src/battle_message.c index 185792324..9e6789c9c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2820,11 +2820,11 @@ void SetPpNumbersPaletteInMoveSelection(void) u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]); - gPlttBufferUnfaded[92] = palPtr[(var * 2) + 0]; - gPlttBufferUnfaded[91] = palPtr[(var * 2) + 1]; + gPlttBufferUnfaded[BG_PLTT_ID(5) + 12] = palPtr[(var * 2) + 0]; + gPlttBufferUnfaded[BG_PLTT_ID(5) + 11] = palPtr[(var * 2) + 1]; - CpuCopy16(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], sizeof(u16)); - CpuCopy16(&gPlttBufferUnfaded[91], &gPlttBufferFaded[91], sizeof(u16)); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 12], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(5) + 11], &gPlttBufferFaded[BG_PLTT_ID(5) + 11], PLTT_SIZEOF(1)); } u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp) diff --git a/src/battle_records.c b/src/battle_records.c index 604ebcb81..3fcc0646a 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -45,7 +45,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 1, .width = 27, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x014 }, DUMMY_WIN_TEMPLATE }; @@ -109,7 +109,7 @@ static void MainCB2_SetUp(void) break; case 3: LoadFrameGfxOnBg(3); - LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP); gMain.state++; break; case 4: @@ -564,5 +564,5 @@ static void LoadFrameGfxOnBg(u8 bg) { LoadBgTiles(bg, sTiles, 0xC0, 0); CopyToBgTilemapBufferRect(bg, sTilemap, 0, 0, 32, 32); - LoadPalette(sPalette, 0, 0x20); + LoadPalette(sPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6450a952e..41c023d32 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5784,7 +5784,7 @@ static void InitLevelUpBanner(void) gBattle_BG2_Y = 0; gBattle_BG2_X = LEVEL_UP_BANNER_START; - LoadPalette(sLevelUpBanner_Pal, 0x60, 0x20); + LoadPalette(sLevelUpBanner_Pal, BG_PLTT_ID(6), sizeof(sLevelUpBanner_Pal)); CopyToWindowPixelBuffer(B_WIN_LEVEL_UP_BANNER, sLevelUpBanner_Gfx, 0, 0); PutWindowTilemap(B_WIN_LEVEL_UP_BANNER); CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_FULL); diff --git a/src/battle_transition.c b/src/battle_transition.c index 4c8782d2b..704670d14 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -655,7 +655,7 @@ static void Task_BattleTransition(u8 taskId) static bool8 Transition_StartIntro(struct Task *task) { SetWeatherScreenFadeOut(); - CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, sizeof(gPlttBufferUnfaded)); + CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); if (sTasks_Intro[task->tTransitionId] != NULL) { CreateTask(sTasks_Intro[task->tTransitionId], 4); @@ -937,7 +937,7 @@ static bool8 BigPokeball_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); CpuCopy16(sBigPokeball_Gfx, tileset, sizeof(sBigPokeball_Gfx)); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; } @@ -1108,7 +1108,7 @@ static bool8 PokeballsTrail_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuCopy16(sSlidingPokeball_Tilemap, tileset, sizeof(sSlidingPokeball_Tilemap)); CpuFill32(0, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; } @@ -1906,8 +1906,8 @@ static bool8 Mugshot_SetGfx(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuCopy16(sMugshotBanner_Gfx, tileset, sizeof(sMugshotBanner_Gfx)); - LoadPalette(sOpponentMugshotsPals[task->tMugshotId], 0xF0, 0x20); - LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], 0xFA, 0xC); + LoadPalette(sOpponentMugshotsPals[task->tMugshotId], BG_PLTT_ID(15), PLTT_SIZE_4BPP); + LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], BG_PLTT_ID(15) + 10, PLTT_SIZEOF(16 - 10)); for (i = 0; i < 20; i++) for (j = 0; j < 32; j++, mugshotsMap++) @@ -2588,7 +2588,7 @@ static bool8 GridSquares_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuCopy16(sGridSquare_Gfx, tileset, 0x20); CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; } diff --git a/src/berry_crush.c b/src/berry_crush.c index 4adf42a6a..4412827b5 100644 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -548,7 +548,7 @@ static const struct WindowTemplate sWindowTemplate_BerryCrushRankings = { .tilemapTop = 4, .width = 24, .height = 13, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x001 }; @@ -559,7 +559,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = { .tilemapTop = 0, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x3ed }, { .bg = 0, @@ -567,7 +567,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = { .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x3db }, { .bg = 0, @@ -575,7 +575,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = { .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x3c9 }, { .bg = 0, @@ -583,7 +583,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = { .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x3b7 }, { .bg = 0, @@ -591,7 +591,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[] = { .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x3a5 }, DUMMY_WIN_TEMPLATE }; @@ -604,7 +604,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = { .tilemapTop = 2, .width = 22, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x001 }, [STATE_RESULTS_RANDOM - RESULTS_STATE_START] = { @@ -613,7 +613,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = { .tilemapTop = 2, .width = 22, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x001 }, [STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = { @@ -622,7 +622,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = { .tilemapTop = 2, .width = 24, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x001 }, DUMMY_WIN_TEMPLATE }; @@ -2551,7 +2551,7 @@ static s32 ShowGameDisplay(void) gPaletteFade.bufferTransferDisabled = TRUE; break; case 7: - LoadPalette(gBerryCrush_Crusher_Pal, 0, 0x180); + LoadPalette(gBerryCrush_Crusher_Pal, BG_PLTT_ID(0), 12 * PLTT_SIZE_4BPP); CopyToBgTilemapBuffer(1, sCrusherTop_Tilemap, 0, 0); CopyToBgTilemapBuffer(2, sContainerCap_Tilemap, 0, 0); CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0); @@ -3046,7 +3046,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame * game, struct BerryCrushG FillWindowPixelBuffer(spriteManager->resultsWindowId, PIXEL_FILL(0)); break; case 2: - LoadStdWindowGfx(spriteManager->resultsWindowId, 0x21D, 0xD0); + LoadStdWindowGfx(spriteManager->resultsWindowId, 0x21D, BG_PLTT_ID(13)); DrawStdFrameWithCustomTileAndPalette(spriteManager->resultsWindowId, FALSE, 541, 13); break; case 3: @@ -3105,8 +3105,8 @@ static void Task_ShowBerryCrushRankings(u8 taskId) tWindowId = AddWindow(&sWindowTemplate_BerryCrushRankings); PutWindowTilemap(tWindowId); FillWindowPixelBuffer(tWindowId, PIXEL_FILL(0)); - LoadStdWindowGfx(tWindowId, 0x21D, 0xD0); - DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 0x21D, 0xD); + LoadStdWindowGfx(tWindowId, 0x21D, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 0x21D, 13); break; case 1: xPos = 96 - GetStringWidth(FONT_NORMAL, gText_BerryCrush2, -1) / 2u; diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 2ceaa2adf..ac9c0d318 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -243,116 +243,116 @@ static const struct WindowTemplate sWindowTemplates_Main[] = { static const struct WindowTemplate sWindowTemplates_Variable[] = { { - .bg = 0x02, - .tilemapLeft = 0x18, - .tilemapTop = 0x0f, - .width = 0x05, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 15, .baseBlock = 0x1d1 }, { - .bg = 0x02, - .tilemapLeft = 0x11, - .tilemapTop = 0x09, - .width = 0x0c, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 17, + .tilemapTop = 9, + .width = 12, + .height = 4, + .paletteNum = 15, .baseBlock = 0x1d1 }, { - .bg = 0x02, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x08, - .height = 0x03, - .paletteNum = 0x0c, + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 3, + .paletteNum = 12, .baseBlock = 0x201 }, { - .bg = 0x02, - .tilemapLeft = 0x17, - .tilemapTop = 0x0f, - .width = 0x06, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 23, + .tilemapTop = 15, + .width = 6, + .height = 4, + .paletteNum = 15, .baseBlock = 0x219 }, { - .bg = 0x02, - .tilemapLeft = 0x15, - .tilemapTop = 0x09, - .width = 0x06, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 15, .baseBlock = 0x219 }, { - .bg = 0x02, - .tilemapLeft = 0x02, - .tilemapTop = 0x0f, - .width = 0x1a, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 15, .baseBlock = 0x231 }, { - .bg = 0x02, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x0e, - .height = 0x04, - .paletteNum = 0x0c, + .bg = 2, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 14, + .height = 4, + .paletteNum = 12, .baseBlock = 0x231 }, { - .bg = 0x02, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x0f, - .height = 0x04, - .paletteNum = 0x0c, + .bg = 2, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 15, + .height = 4, + .paletteNum = 12, .baseBlock = 0x269 }, { - .bg = 0x02, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x10, - .height = 0x04, - .paletteNum = 0x0c, + .bg = 2, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 16, + .height = 4, + .paletteNum = 12, .baseBlock = 0x2a5 }, { - .bg = 0x02, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x17, - .height = 0x04, - .paletteNum = 0x0c, + .bg = 2, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 23, + .height = 4, + .paletteNum = 12, .baseBlock = 0x2e5 }, { - .bg = 0x02, - .tilemapLeft = 0x16, - .tilemapTop = 0x11, - .width = 0x07, - .height = 0x02, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 22, + .tilemapTop = 17, + .width = 7, + .height = 2, + .paletteNum = 15, .baseBlock = 0x199 }, { - .bg = 0x02, - .tilemapLeft = 0x16, - .tilemapTop = 0x0f, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 7, + .height = 4, + .paletteNum = 15, .baseBlock = 0x199 }, { - .bg = 0x02, - .tilemapLeft = 0x16, - .tilemapTop = 0x0d, - .width = 0x07, - .height = 0x06, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 22, + .tilemapTop = 13, + .width = 7, + .height = 6, + .paletteNum = 15, .baseBlock = 0x199 }, { - .bg = 0x02, - .tilemapLeft = 0x16, - .tilemapTop = 0x0b, - .width = 0x07, - .height = 0x08, - .paletteNum = 0x0f, + .bg = 2, + .tilemapLeft = 22, + .tilemapTop = 11, + .width = 7, + .height = 8, + .paletteNum = 15, .baseBlock = 0x199 } }; @@ -618,9 +618,9 @@ static bool8 BerryPouchLoadGfx(void) } break; case 2: - LoadCompressedPalette(gBerryPouchBgPals, 0, 0x60); + LoadCompressedPalette(gBerryPouchBgPals, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); if (gSaveBlock2Ptr->playerGender != MALE) - LoadCompressedPalette(gBerryPouchBgPal0FemaleOverride, 0, 0x20); + LoadCompressedPalette(gBerryPouchBgPal0FemaleOverride, BG_PLTT_ID(0), PLTT_SIZE_4BPP); sResources->data[0]++; break; case 3: @@ -1411,10 +1411,10 @@ static void BerryPouchInitWindows(void) u8 i; InitWindows(sWindowTemplates_Main); DeactivateAllTextPrinters(); - LoadUserWindowGfx(0, 0x001, 0xE0); - LoadMenuMessageWindowGfx(0, 0x013, 0xD0); - LoadStdWindowGfx(0, 0x00A, 0xC0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowGfx(0, 0x001, BG_PLTT_ID(14)); + LoadMenuMessageWindowGfx(0, 0x013, BG_PLTT_ID(13)); + LoadStdWindowGfx(0, 0x00A, BG_PLTT_ID(12)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < 3; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); PutWindowTilemap(0); @@ -1438,9 +1438,9 @@ static u8 GetOrCreateVariableWindow(u8 winIdx) { sVariableWindowIds[winIdx] = AddWindow(&sWindowTemplates_Variable[winIdx]); if (winIdx == 2 || winIdx == 6 || winIdx == 7 || winIdx == 8 || winIdx == 9) - DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x00A, 0xC); + DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x00A, 12); else - DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 0xE); + DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 14); ScheduleBgCopyTilemapToVram(2); retval = sVariableWindowIds[winIdx]; } @@ -1449,7 +1449,7 @@ static u8 GetOrCreateVariableWindow(u8 winIdx) static void VariableWindowSetAltFrameTileAndPalette(u8 winIdx) { - DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 0xE); + DrawStdFrameWithCustomTileAndPalette(sVariableWindowIds[winIdx], FALSE, 0x001, 14); } static void DestroyVariableWindow(u8 winIdx) @@ -1490,12 +1490,12 @@ void DisplayItemMessageInBerryPouch(u8 taskId, u8 fontId, const u8 * str, TaskFu static void CreateYesNoMenuWin3(u8 taskId, const struct YesNoFuncTable *ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[3], FONT_NORMAL, 0, 2, 0x001, 0xE, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[3], FONT_NORMAL, 0, 2, 0x001, 14, ptrs); } static void CreateYesNoMenuWin4(u8 taskId, const struct YesNoFuncTable *ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[4], FONT_NORMAL, 0, 2, 0x001, 0xE, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_Variable[4], FONT_NORMAL, 0, 2, 0x001, 14, ptrs); } static void PrintMoneyInWin2(void) diff --git a/src/berry_powder.c b/src/berry_powder.c index 849e32f32..3b26b8ecd 100644 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -2,6 +2,7 @@ #include "event_data.h" #include "load_save.h" #include "menu.h" +#include "palette.h" #include "quest_log.h" #include "script_menu.h" #include "string_util.h" @@ -119,8 +120,8 @@ void DisplayBerryPowderVendorMenu(void) sBerryPowderVendorWindowId = AddWindow(&template); FillWindowPixelBuffer(sBerryPowderVendorWindowId, 0); PutWindowTilemap(sBerryPowderVendorWindowId); - LoadStdWindowGfx(sBerryPowderVendorWindowId, 0x21D, 0xD0); - DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 0xD, GetBerryPowder()); + LoadStdWindowGfx(sBerryPowderVendorWindowId, 0x21D, BG_PLTT_ID(13)); + DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 13, GetBerryPowder()); } } diff --git a/src/buy_menu_helpers.c b/src/buy_menu_helpers.c index 3a83da3d6..d08569d40 100644 --- a/src/buy_menu_helpers.c +++ b/src/buy_menu_helpers.c @@ -8,61 +8,62 @@ #include "new_menu_helpers.h" #include "menu.h" #include "shop.h" +#include "palette.h" static const struct WindowTemplate sShopBuyMenuWindowTemplatesNormal[] = { { - .bg = 0x0, - .tilemapLeft = 0x1, - .tilemapTop = 0x1, - .width = 0x8, - .height = 0x3, - .paletteNum = 0xF, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 3, + .paletteNum = 15, .baseBlock = 0x27, }, { - .bg = 0x0, - .tilemapLeft = 0x1, - .tilemapTop = 0xB, - .width = 0xD, - .height = 0x2, - .paletteNum = 0xF, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 11, + .width = 13, + .height = 2, + .paletteNum = 15, .baseBlock = 0x3F, }, { - .bg = 0x0, - .tilemapLeft = 0x2, - .tilemapTop = 0xF, - .width = 0x1A, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 14, .baseBlock = 0x59, }, { - .bg = 0x0, - .tilemapLeft = 0x11, - .tilemapTop = 0x9, - .width = 0xC, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 9, + .width = 12, + .height = 4, + .paletteNum = 14, .baseBlock = 0xC1, }, { - .bg = 0x0, - .tilemapLeft = 0xB, - .tilemapTop = 0x1, - .width = 0x11, - .height = 0xC, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 1, + .width = 17, + .height = 12, + .paletteNum = 14, .baseBlock = 0xF1, }, { - .bg = 0x0, - .tilemapLeft = 0x5, - .tilemapTop = 0xE, - .width = 0x19, - .height = 0x6, - .paletteNum = 0xF, + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 14, + .width = 25, + .height = 6, + .paletteNum = 15, .baseBlock = 0x1BD, }, DUMMY_WIN_TEMPLATE, @@ -72,66 +73,66 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplatesNormal[] = static const struct WindowTemplate sShopBuyMenuWindowTemplatesTM[] = { { - .bg = 0x0, - .tilemapLeft = 0x1, - .tilemapTop = 0x1, - .width = 0x8, - .height = 0x3, - .paletteNum = 0xF, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 3, + .paletteNum = 15, .baseBlock = 0x27, }, { - .bg = 0x0, - .tilemapLeft = 0x1, - .tilemapTop = 0xB, - .width = 0xD, - .height = 0x2, - .paletteNum = 0xF, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 11, + .width = 13, + .height = 2, + .paletteNum = 15, .baseBlock = 0x3F, }, { - .bg = 0x0, - .tilemapLeft = 0x2, - .tilemapTop = 0xF, - .width = 0x1A, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 14, .baseBlock = 0x59, }, { - .bg = 0x0, - .tilemapLeft = 0x11, - .tilemapTop = 0x9, - .width = 0xC, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 9, + .width = 12, + .height = 4, + .paletteNum = 14, .baseBlock = 0xC1, }, { - .bg = 0x0, - .tilemapLeft = 0xB, - .tilemapTop = 0x1, - .width = 0x11, - .height = 0xA, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 1, + .width = 17, + .height = 10, + .paletteNum = 14, .baseBlock = 0xF1, }, { - .bg = 0x0, - .tilemapLeft = 0xC, - .tilemapTop = 0xC, - .width = 0x12, - .height = 0x8, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 12, + .width = 18, + .height = 8, + .paletteNum = 14, .baseBlock = 0x19B, }, { - .bg = 0x0, - .tilemapLeft = 0x1, - .tilemapTop = 0xE, - .width = 0xA, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 14, + .width = 10, + .height = 4, + .paletteNum = 14, .baseBlock = 0x22B, }, DUMMY_WIN_TEMPLATE, @@ -139,12 +140,12 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplatesTM[] = static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplate = { - .bg = 0x0, - .tilemapLeft = 0x15, - .tilemapTop = 0x9, - .width = 0x6, - .height = 0x4, - .paletteNum = 0xE, + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 14, .baseBlock = 0xC1, }; @@ -162,9 +163,9 @@ void BuyMenuInitWindows(bool32 isSellingTM) else InitWindows(sShopBuyMenuWindowTemplatesTM); DeactivateAllTextPrinters(); - LoadUserWindowGfx(0, 0x1, 0xD0); - LoadMenuMessageWindowGfx(0, 0x13, 0xE0); - LoadStdWindowGfx(0, 0xA, 0xF0); + LoadUserWindowGfx(0, 0x1, BG_PLTT_ID(13)); + LoadMenuMessageWindowGfx(0, 0x13, BG_PLTT_ID(14)); + LoadStdWindowGfx(0, 0xA, BG_PLTT_ID(15)); PutWindowTilemap(0); PutWindowTilemap(4); PutWindowTilemap(5); @@ -190,15 +191,15 @@ void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback) void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram) { - DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0x1, 0xD); + DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0x1, 13); } void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram) { - DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0xA, 0xF); + DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, 0xA, 15); } void BuyMenuConfirmPurchase(u8 taskId, const struct YesNoFuncTable *yesNo) { - CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplate, FONT_NORMAL, 0, 2, 1, 0xD, yesNo); + CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplate, FONT_NORMAL, 0, 2, 1, 13, yesNo); } diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 83af4a123..c4cdcf9c4 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -40,7 +40,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 5, .width = 6, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00A }, { .bg = 0, @@ -48,7 +48,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 23, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x022 }, DUMMY_WIN_TEMPLATE }; @@ -101,16 +101,16 @@ static void Task_DrawClearSaveDataScreen(u8 taskId) SaveClearScreen_GpuInit(); break; case 3: - LoadStdWindowGfx(0, 0x001, 0xF0); - LoadStdWindowGfx(1, 0x001, 0xF0); + LoadStdWindowGfx(0, 0x001, BG_PLTT_ID(15)); + LoadStdWindowGfx(1, 0x001, BG_PLTT_ID(15)); break; case 4: - DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 0xF); + DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 15); AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 3, 1, 1, sTextColor, 0, gText_ClearAllSaveData); CopyWindowToVram(1, COPYWIN_GFX); break; case 5: - CreateYesNoMenu(&sWindowTemplates[0], FONT_NORMAL, 0, 2, 0x001, 0xF, 1); + CreateYesNoMenu(&sWindowTemplates[0], FONT_NORMAL, 0, 2, 0x001, 15, 1); CopyBgTilemapBufferToVram(0); break; default: diff --git a/src/coins.c b/src/coins.c index cd68a9a87..f34f86053 100644 --- a/src/coins.c +++ b/src/coins.c @@ -84,8 +84,8 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y) sCoinsWindowId = AddWindow(&template); FillWindowPixelBuffer(sCoinsWindowId, 0); PutWindowTilemap(sCoinsWindowId); - LoadStdWindowGfx(sCoinsWindowId, 0x21D, 0xD0); - DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 0xD); + LoadStdWindowGfx(sCoinsWindowId, 0x21D, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(sCoinsWindowId, FALSE, 0x21D, 13); AddTextPrinterParameterized(sCoinsWindowId, FONT_NORMAL, gText_Coins_2, 0, 0, 0xFF, 0); PrintCoinsString(coinAmount); } diff --git a/src/credits.c b/src/credits.c index dda43e691..c0b449b6d 100644 --- a/src/credits.c +++ b/src/credits.c @@ -803,9 +803,9 @@ static bool32 DoOverworldMapScrollScene(u8 whichMon) SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(36, DISPLAY_HEIGHT - 36)); SwitchWin1OffWin0On(); InitBgDarkenEffect(); - Menu_LoadStdPalAt(0xF0); - gPlttBufferUnfaded[0xFF] = RGB_BLACK; - gPlttBufferFaded[0xFF] = RGB_BLACK; + Menu_LoadStdPalAt(BG_PLTT_ID(15)); + gPlttBufferUnfaded[BG_PLTT_ID(15) + 15] = RGB_BLACK; + gPlttBufferFaded[BG_PLTT_ID(15) + 15] = RGB_BLACK; return TRUE; default: return FALSE; @@ -827,9 +827,9 @@ static s32 RollCredits(void) case CREDITSSCENE_SETUP_DARKEN_EFFECT: InitBgDarkenEffect(); CreateCreditsWindow(); - Menu_LoadStdPalAt(0xF0); - gPlttBufferUnfaded[0xFF] = RGB_BLACK; - gPlttBufferFaded[0xFF] = RGB_BLACK; + Menu_LoadStdPalAt(BG_PLTT_ID(15)); + gPlttBufferUnfaded[BG_PLTT_ID(15) + 15] = RGB_BLACK; + gPlttBufferFaded[BG_PLTT_ID(15) + 15] = RGB_BLACK; sCreditsMgr->mainseqno = CREDITSSCENE_OPEN_WIN0; return 0; case CREDITSSCENE_OPEN_WIN0: @@ -1128,15 +1128,15 @@ static bool32 DoCreditsMonScene(void) DecompressAndLoadBgGfxUsingHeap(2, sCreditsMonCircle_Tiles, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(1, gCreditsMonPokeball_Tilemap, 0x500, 0, 1); DecompressAndLoadBgGfxUsingHeap(2, sCreditsMonCircle_Tilemap, 0x400, 0, 1); - LoadPalette(gCreditsMonPokeball_Pals[sCreditsMgr->whichMon], 0, 0x20); - LoadPalette(sCreditsMonCircle_Pal, 0xF0, 0x20); + LoadPalette(gCreditsMonPokeball_Pals[sCreditsMgr->whichMon], BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(sCreditsMonCircle_Pal, BG_PLTT_ID(15), sizeof(sCreditsMonCircle_Pal)); LoadCreditsMonPic(sCreditsMgr->whichMon); SetVBlankCallback(VBlankCB); EnableInterrupts(INTR_FLAG_VBLANK); sCreditsMgr->subseqno++; break; case 1: - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, PIXEL_FILL(1)); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17); PutWindowTilemap(0); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(1); @@ -1249,7 +1249,7 @@ static bool32 DoCopyrightOrTheEndGfxScene(void) ChangeBgY(0, 0, BG_COORD_SET); DecompressAndLoadBgGfxUsingHeap(0, sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].tiles, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(0, sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].map, 0x800, 0, 1); - LoadPalette(sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].palette, 0x00, 0x200); + LoadPalette(sCopyrightOrTheEndGfxHeaders[sCreditsMgr->whichMon].palette, BG_PLTT_ID(0), 16 * PLTT_SIZE_4BPP); SetVBlankCallback(VBlankCB); EnableInterrupts(INTR_FLAG_VBLANK); sCreditsMgr->subseqno++; @@ -1375,7 +1375,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->characterTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sPlayerMale_Pal, 0x1F0, sizeof(sPlayerMale_Pal)); + LoadPalette(sPlayerMale_Pal, OBJ_PLTT_ID(15), sizeof(sPlayerMale_Pal)); } else { @@ -1383,7 +1383,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->characterTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sPlayerFemale_Pal, 0x1F0, sizeof(sPlayerFemale_Pal)); + LoadPalette(sPlayerFemale_Pal, OBJ_PLTT_ID(15), sizeof(sPlayerFemale_Pal)); } break; case 1: @@ -1392,7 +1392,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->characterTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sRival_Pal, 0x1F0, sizeof(sRival_Pal)); + LoadPalette(sRival_Pal, OBJ_PLTT_ID(15), sizeof(sRival_Pal)); break; } sprTemplate = sPlayerOrRivalSpriteTemplate; @@ -1410,7 +1410,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->groundTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sGround_Grass_Pal, 0x1E0, sizeof(sGround_Grass_Pal)); + LoadPalette(sGround_Grass_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Grass_Pal)); sprTemplate = sGroundSpriteTemplate_Running; break; case 1: @@ -1418,7 +1418,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->groundTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sGround_Grass_Pal, 0x1E0, sizeof(sGround_Grass_Pal)); + LoadPalette(sGround_Grass_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Grass_Pal)); sprTemplate = sGroundSpriteTemplate_Static; break; case 2: @@ -1426,7 +1426,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->groundTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sGround_Dirt_Pal, 0x1E0, sizeof(sGround_Dirt_Pal)); + LoadPalette(sGround_Dirt_Pal, OBJ_PLTT_ID(14), sizeof(sGround_Dirt_Pal)); sprTemplate = sGroundSpriteTemplate_Running; break; case 3: @@ -1434,7 +1434,7 @@ static void LoadPlayerOrRivalSprite(u8 whichScene) sprSheet.size = 0x3000; sprSheet.tag = data->groundTilesTag; LoadCompressedSpriteSheet(&sprSheet); - LoadPalette(sGround_City_Pal, 0x1E0, sizeof(sGround_City_Pal)); + LoadPalette(sGround_City_Pal, OBJ_PLTT_ID(14), sizeof(sGround_City_Pal)); sprTemplate = sGroundSpriteTemplate_Running; break; } diff --git a/src/data/union_room.h b/src/data/union_room.h index 0e73b832e..0bbeadbb4 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -30,7 +30,7 @@ static const struct WindowTemplate sWindowTemplate_BButtonCancel = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x008 }; diff --git a/src/daycare.c b/src/daycare.c index adf754425..b3bc5c3a0 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1810,7 +1810,7 @@ static void CB2_EggHatch_0(void) case 2: DecompressAndLoadBgGfxUsingHeap(0, gBattleInterface_Textbox_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(0, gBattleInterface_Textbox_Tilemap, 0, 0); - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0, 0x20); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gMain.state++; break; case 3: @@ -1834,7 +1834,7 @@ static void CB2_EggHatch_0(void) break; case 7: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - LoadPalette(gTradeGba2_Pal, 0x10, 0xA0); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 5 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0); CopyToBgTilemapBuffer(1, gTradeOrHatchMonShadowTilemap, 0x1000, 0); CopyBgTilemapBufferToVram(1); @@ -1948,8 +1948,8 @@ static void CB2_EggHatch_1(void) case 9: if (!IsTextPrinterActive(sEggHatchData->windowId)) { - LoadUserWindowGfx2(sEggHatchData->windowId, 0x140, 0xE0); - CreateYesNoMenu(&sYesNoWinTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x140, 0xE, 0); + LoadUserWindowGfx2(sEggHatchData->windowId, 0x140, BG_PLTT_ID(14)); + CreateYesNoMenu(&sYesNoWinTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x140, 14, 0); sEggHatchData->CB2_state++; } break; diff --git a/src/diploma.c b/src/diploma.c index e24c693eb..b10c4d75c 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -243,7 +243,7 @@ static bool8 DiplomaLoadGfx(void) return FALSE; break; case 3: - LoadPalette(sDiplomaPal, 0, sizeof(sDiplomaPal)); + LoadPalette(sDiplomaPal, BG_PLTT_ID(0), sizeof(sDiplomaPal)); // fallthrough default: // Finished diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index a740bda86..a33714760 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -3002,8 +3002,8 @@ static void PrintRecordsText(u8 windowId) recordNums[1] = gSaveBlock2Ptr->berryPick.bestScore; recordNums[2] = gSaveBlock2Ptr->berryPick.berriesPickedInRow; - LoadStdWindowGfx(windowId, 0x21D, 0xD0); - DrawTextBorderOuter(windowId, 0x21D, 0xD); + LoadStdWindowGfx(windowId, 0x21D, BG_PLTT_ID(13)); + DrawTextBorderOuter(windowId, 0x21D, 13); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[0], 1, 1, TEXT_SKIP_DRAW, NULL); for (i = 0; i < NUM_RECORD_TYPES; i++) @@ -4161,12 +4161,12 @@ static void ResetBerryAndStatusBarSprites(void) static void LoadWindowFrameGfx(u8 frameId) { LoadBgTiles(BG_INTERFACE, GetUserWindowGraphics(frameId)->tiles, 0x120, 1); - LoadPalette(GetUserWindowGraphics(frameId)->palette, 0xA0, 0x20); + LoadPalette(GetUserWindowGraphics(frameId)->palette, BG_PLTT_ID(10), PLTT_SIZE_4BPP); } static void DBP_LoadStdWindowGfx(void) { - LoadStdWindowGfx(0, 0xA, 0xB0); + LoadStdWindowGfx(0, 0xA, BG_PLTT_ID(11)); } static void ResetGfxState(void) @@ -4926,7 +4926,7 @@ static bool32 LoadBgGfx(void) switch (sGfx->loadState) { case 0: - LoadPalette(sBg_Pal, 0, sizeof(sBg_Pal)); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); break; case 1: ResetTempTileDataBuffers(); @@ -4942,7 +4942,7 @@ static bool32 LoadBgGfx(void) return FALSE; break; case 5: - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); break; default: sGfx->loadState = 0; diff --git a/src/easy_chat_3.c b/src/easy_chat_3.c index a72c82b79..81a27a654 100644 --- a/src/easy_chat_3.c +++ b/src/easy_chat_3.c @@ -1319,13 +1319,13 @@ static void SetGpuRegsForEasyChatInit(void) static void LoadEasyChatPals(void) { ResetPaletteFade(); - LoadPalette(gEasyChatWindow_Pal, 0, 32); - LoadPalette(sTextInputFrameOrange_Pal, 1 * 16, 32); - LoadPalette(sTextInputFrameGreen_Pal, 4 * 16, 32); - LoadPalette(sTitleText_Pal, 10 * 16, 8); - LoadPalette(sText_Pal, 11 * 16, 10); - LoadPalette(sText_Pal, 15 * 16, 10); - LoadPalette(sText_Pal, 3 * 16, 10); + LoadPalette(gEasyChatWindow_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(sTextInputFrameOrange_Pal, BG_PLTT_ID(1), sizeof(sTextInputFrameOrange_Pal)); + LoadPalette(sTextInputFrameGreen_Pal, BG_PLTT_ID(4), sizeof(sTextInputFrameGreen_Pal)); + LoadPalette(sTitleText_Pal, BG_PLTT_ID(10), sizeof(sTitleText_Pal)); + LoadPalette(sText_Pal, BG_PLTT_ID(11), sizeof(sText_Pal)); + LoadPalette(sText_Pal, BG_PLTT_ID(15), sizeof(sText_Pal)); + LoadPalette(sText_Pal, BG_PLTT_ID(3), sizeof(sText_Pal)); } static void PrintTitleText(void) @@ -1363,7 +1363,7 @@ static void EC_AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *st static void PrintECInstructionsText(void) { FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); - LoadUserWindowGfx(1, 1, 0xE0); + LoadUserWindowGfx(1, 1, BG_PLTT_ID(14)); DrawTextBorderOuter(1, 1, 14); PrintECInterfaceTextById(0); PutWindowTilemap(1); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 591574afc..da74befeb 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2175,7 +2175,7 @@ void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); - LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); + LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); ApplyGlobalFieldPaletteTint(paletteSlot); } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index 5bb28ed28..151faca91 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -397,7 +397,7 @@ static void EvoTask_PostEvoSparklesSet2Init(u8 taskId) SetEvoSparklesMatrices(); gTasks[taskId].data[15] = 0; IsMovingBackgroundTaskRunning(); - CpuCopy16(&gPlttBufferFaded[32], &gPlttBufferUnfaded[32], 96); + CpuCopy16(&gPlttBufferFaded[BG_PLTT_ID(2)], &gPlttBufferUnfaded[BG_PLTT_ID(2)], 3 * PLTT_SIZE_4BPP); BeginNormalPaletteFade(0xFFF90F1C, 0, 0, 16, RGB_WHITE); gTasks[taskId].func = EvoTask_CreatePostEvoSparklesSet2; PlaySE(SE_M_PETAL_DANCE); @@ -448,7 +448,7 @@ static void EvoTask_PostEvoSparklesSet2TradeInit(u8 taskId) SetEvoSparklesMatrices(); gTasks[taskId].data[15] = 0; IsMovingBackgroundTaskRunning(); - CpuCopy16(&gPlttBufferFaded[32], &gPlttBufferUnfaded[32], 96); + CpuCopy16(&gPlttBufferFaded[BG_PLTT_ID(2)], &gPlttBufferUnfaded[BG_PLTT_ID(2)], 3 * PLTT_SIZE_4BPP); BeginNormalPaletteFade(0xFFF90F00, 0, 0, 16, RGB_WHITE); gTasks[taskId].func = EvoTask_CreatePostEvoSparklesSet2Trade; PlaySE(SE_M_PETAL_DANCE); @@ -511,12 +511,12 @@ u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId) gSprites[preEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[preEvoSpriteId].oam.matrixNum = 30; gSprites[preEvoSpriteId].invisible = FALSE; - CpuCopy16(palette, &gPlttBufferFaded[256 + 16 * gSprites[preEvoSpriteId].oam.paletteNum], 32); + CpuCopy16(palette, &gPlttBufferFaded[OBJ_PLTT_ID(gSprites[preEvoSpriteId].oam.paletteNum)], PLTT_SIZE_4BPP); gSprites[postEvoSpriteId].callback = SpriteCallbackDummy_MonSprites; gSprites[postEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[postEvoSpriteId].oam.matrixNum = 31; gSprites[postEvoSpriteId].invisible = FALSE; - CpuCopy16(palette, &gPlttBufferFaded[256 + 16 * gSprites[postEvoSpriteId].oam.paletteNum], 32); + CpuCopy16(palette, &gPlttBufferFaded[OBJ_PLTT_ID(gSprites[postEvoSpriteId].oam.paletteNum)], PLTT_SIZE_4BPP); gTasks[taskId].EvoGraphicsTaskEvoStop = FALSE; return taskId; } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index b35e4569c..5e505e336 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -264,7 +264,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_LEFT], currSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x110, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(1), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -279,7 +279,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -299,7 +299,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u gTasks[id].tEvoWasStopped = FALSE; gTasks[id].tPartyId = partyId; - memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[0x20], sizeof(sEvoStructPtr->savedPalette)); + memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[BG_PLTT_ID(2)], sizeof(sEvoStructPtr->savedPalette)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); @@ -358,7 +358,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -416,7 +416,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 3: - FillBgTilemapBufferRect(1, 0, 0, 0, 0x20, 0x20, 0x11); + FillBgTilemapBufferRect(1, 0, 0, 0, 0x20, 0x20, 17); CopyBgTilemapBufferToVram(1); gMain.state++; break; @@ -429,7 +429,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMonSpritesGfxPtr->sprites[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); gMain.state++; } break; @@ -494,7 +494,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -756,7 +756,7 @@ static void Task_EvolutionScene(u8 taskId) if (IsSEPlaying()) { m4aMPlayAllStop(); - memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette)); + memcpy(&gPlttBufferUnfaded[BG_PLTT_ID(2)], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette)); RestoreBgAfterAnim(); BeginNormalPaletteFade(0x1C, 0, 0x10, 0, RGB_BLACK); gTasks[taskId].tState++; @@ -1199,7 +1199,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { // Free(sBgAnimPal); PlayCry_Normal(gTasks[taskId].tPostEvoSpecies, 0); - memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette)); + memcpy(&gPlttBufferUnfaded[BG_PLTT_ID(2)], sEvoStructPtr->savedPalette, sizeof(sEvoStructPtr->savedPalette)); gTasks[taskId].tState++; } break; @@ -1331,8 +1331,8 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_MVSTATE_PRINT_YES_NO: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - LoadUserWindowGfx2(0, 0xA8, 0xE0); - CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, FONT_NORMAL_COPY_2, 0, 2, 0xA8, 0xE, 0); + LoadUserWindowGfx2(0, 0xA8, BG_PLTT_ID(14)); + CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, FONT_NORMAL_COPY_2, 0, 2, 0xA8, 14, 0); sEvoCursorPos = 0; gTasks[taskId].tLearnMoveState++; sEvoCursorPos = 0; @@ -1537,7 +1537,7 @@ static void Task_UpdateBgPalette(u8 taskId) else { // Haven't reached final palette in current stage, load the current palette - LoadPalette(&sBgAnimPal[tPalStage * 16], 0xA0, 0x20); + LoadPalette(&sBgAnimPal[tPalStage * 16], BG_PLTT_ID(10), PLTT_SIZE_4BPP); tCycleTimer = 0; tPalStage++; } @@ -1635,7 +1635,7 @@ static void StartBgAnimation(bool8 isLink) else innerBgId = 1, outerBgId = 3; - LoadPalette(sBlackPalette, 0xA0, 0x20); + LoadPalette(sBlackPalette, BG_PLTT_ID(10), sizeof(sBlackPalette)); DecompressAndLoadBgGfxUsingHeap(1, sMovingBackgroundTiles, FALSE, 0, 0); CopyToBgTilemapBuffer(1, sMovingBackgroundMap1, 0, 0); @@ -1673,7 +1673,7 @@ void IsMovingBackgroundTaskRunning(void) // unused if (taskId != TASK_NONE) gTasks[taskId].tPaused = TRUE; - FillPalette(RGB_BLACK, 0xA0, 0x20); + FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP); } #undef tPaused @@ -1687,7 +1687,7 @@ static void StopBgAnimation(void) if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE) DestroyTask(taskId); - FillPalette(RGB_BLACK, 0xA0, 0x20); + FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP); RestoreBgAfterAnim(); } diff --git a/src/fame_checker.c b/src/fame_checker.c index b00700839..3c0c76963 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -663,11 +663,11 @@ static void MainCB2_LoadFameChecker(void) case 3: LoadBgTiles(3, gFameCheckerBgTiles, sizeof(gFameCheckerBgTiles), 0); CopyToBgTilemapBufferRect(3, gFameCheckerBg3Tilemap, 0, 0, 32, 32); - LoadPalette(gFameCheckerBgPals + 0x00, 0x00, 0x40); - LoadPalette(gFameCheckerBgPals + 0x10, 0x10, 0x20); + LoadPalette(&gFameCheckerBgPals[0], BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); + LoadPalette(&gFameCheckerBgPals[1], BG_PLTT_ID(1), PLTT_SIZE_4BPP); CopyToBgTilemapBufferRect(2, gFameCheckerBg2Tilemap, 0, 0, 32, 32); CopyToBgTilemapBufferRect_ChangePalette(1, sFameCheckerTilemap, 30, 0, 32, 32, 0x11); - LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP); gMain.state++; break; case 4: @@ -1335,40 +1335,44 @@ static void SpriteCB_FCSpinningPokeball(struct Sprite *sprite) } } +#define PERSON_PAL_NUM 6 +#define PERSON_X 148 +#define PERSON_Y 66 + static u8 CreatePersonPicSprite(u8 fcPersonIdx) { u8 spriteId; if (fcPersonIdx == FAMECHECKER_DAISY) { - spriteId = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0); - LoadPalette(sDaisySpritePalette, 0x160, 0x20); - gSprites[spriteId].oam.paletteNum = 6; + spriteId = CreateSprite(&sDaisySpriteTemplate, PERSON_X, PERSON_Y, 0); + LoadPalette(sDaisySpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sDaisySpritePalette)); + gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM; } else if (fcPersonIdx == FAMECHECKER_MRFUJI) { - spriteId = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0); - LoadPalette(sFujiSpritePalette, 0x160, 0x20); - gSprites[spriteId].oam.paletteNum = 6; + spriteId = CreateSprite(&sFujiSpriteTemplate, PERSON_X, PERSON_Y, 0); + LoadPalette(sFujiSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sFujiSpritePalette)); + gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM; } else if (fcPersonIdx == FAMECHECKER_OAK) { - spriteId = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0); - LoadPalette(sOakSpritePalette, 0x160, 0x20); - gSprites[spriteId].oam.paletteNum = 6; + spriteId = CreateSprite(&sOakSpriteTemplate, PERSON_X, PERSON_Y, 0); + LoadPalette(sOakSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sOakSpritePalette)); + gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM; } else if (fcPersonIdx == FAMECHECKER_BILL) { - spriteId = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0); - LoadPalette(sBillSpritePalette, 0x160, 0x20); - gSprites[spriteId].oam.paletteNum = 6; + spriteId = CreateSprite(&sBillSpriteTemplate, PERSON_X, PERSON_Y, 0); + LoadPalette(sBillSpritePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sBillSpritePalette)); + gSprites[spriteId].oam.paletteNum = PERSON_PAL_NUM; } else { - spriteId = CreateTrainerPicSprite(sFameCheckerTrainerPicIdxs[fcPersonIdx], 1, 0x94, 0x42, 6, 0xFFFF); + spriteId = CreateTrainerPicSprite(sFameCheckerTrainerPicIdxs[fcPersonIdx], TRUE, PERSON_X, PERSON_Y, PERSON_PAL_NUM, TAG_NONE); } gSprites[spriteId].callback = SpriteCB_FCSpinningPokeball; if (gSaveBlock1Ptr->fameChecker[fcPersonIdx].pickState == FCPICKSTATE_SILHOUETTE) - LoadPalette(sSilhouettePalette, 0x160, 0x20); + LoadPalette(sSilhouettePalette, OBJ_PLTT_ID(PERSON_PAL_NUM), sizeof(sSilhouettePalette)); return spriteId; } diff --git a/src/field_effect.c b/src/field_effect.c index 2fdeeead1..84a4cff88 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -106,7 +106,7 @@ static const struct OamData sNewGameOakOamAttributes = { .size = SPRITE_SIZE(64x64), .tileNum = 0x000, .priority = 0, - .paletteNum = 0x0, + .paletteNum = 0, .affineParam = 0 }; @@ -122,7 +122,7 @@ static const struct OamData sOamData_8x8 = { .size = SPRITE_SIZE(8x8), .tileNum = 0x000, .priority = 0, - .paletteNum = 0x0, + .paletteNum = 0, .affineParam = 0 }; @@ -138,7 +138,7 @@ static const struct OamData sOamData_16x16 = { .size = SPRITE_SIZE(16x16), .tileNum = 0x000, .priority = 0, - .paletteNum = 0x0, + .paletteNum = 0, .affineParam = 0 }; @@ -189,7 +189,7 @@ static const struct OamData sOamData_32x16 = { .size = SPRITE_SIZE(32x16), .tileNum = 0x000, .priority = 0, - .paletteNum = 0x0, + .paletteNum = 0, .affineParam = 0 }; @@ -442,19 +442,19 @@ void ApplyGlobalFieldPaletteTint(u8 paletteIdx) case 0: return; case 1: - TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + TintPalette_GrayScale(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16); break; case 2: - TintPalette_SepiaTone(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + TintPalette_SepiaTone(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16); break; case 3: - QuestLog_BackUpPalette((paletteIdx + 16) * 16, 0x10); - TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + QuestLog_BackUpPalette(OBJ_PLTT_ID2(paletteIdx), 16); + TintPalette_GrayScale(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], 16); break; default: return; } - CpuFastCopy(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], &gPlttBufferFaded[(paletteIdx + 16) * 16], 0x20); + CpuFastCopy(&gPlttBufferUnfaded[OBJ_PLTT_ID2(paletteIdx)], &gPlttBufferFaded[OBJ_PLTT_ID2(paletteIdx)], PLTT_SIZE_4BPP); } static void FieldEffectScript_LoadFadedPal(const u8 **script) @@ -591,10 +591,11 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf return CreateSprite(&spriteTemplate, x, y, subpriority); } +// Unused static void LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest) { LZDecompressVram(gTrainerFrontPicTable[gender].data, dest); - LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, PLTT_SIZE_4BPP); } // Unused @@ -945,14 +946,14 @@ static void PokeballGlowEffect_FlashFirstThree(struct Sprite *sprite) sprite->sNumFlashed++; } phase = (sprite->sCounter + 3) & 3; - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 8, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); phase = (sprite->sCounter + 2) & 3; - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 6, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); phase = (sprite->sCounter + 1) & 3; - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 2, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); phase = sprite->sCounter; - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 5, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 3, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); if (sprite->sNumFlashed >= 3) { sprite->sState++; @@ -976,11 +977,11 @@ static void PokeballGlowEffect_FlashLast(struct Sprite *sprite) } } phase = sprite->sCounter; - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); - MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 8, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 6, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 2, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 5, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); + MultiplyInvertedPaletteRGBComponents(OBJ_PLTT_ID(IndexOfSpritePaletteTag(0x1007)) + 3, sPokeballGlowReds[phase], sPokeballGlowGreens[phase], sPokeballGlowBlues[phase]); } static void PokeballGlowEffect_WaitAfterFlash(struct Sprite *sprite) @@ -2625,7 +2626,7 @@ static void ShowMonEffect_Outdoors_2(struct Task *task) u16 screenbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11); CpuCopy16(sFieldMoveStreaksOutdoors_Gfx, (void *)(VRAM + charbase), 0x200); CpuFill32(0, (void *)(VRAM + screenbase), 0x800); - LoadPalette(sFieldMoveStreaksOutdoors_Pal, 0xf0, 0x20); + LoadPalette(sFieldMoveStreaksOutdoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksOutdoors_Pal)); LoadFieldMoveStreaksTilemapToVram(screenbase); task->data[0]++; } @@ -2776,7 +2777,7 @@ static void ShowMonEffect_Indoors_2(struct Task *task) task->data[12] = screenbase; CpuCopy16(sFieldMoveStreaksIndoors_Gfx, (void *)(VRAM + charbase), 0x80); CpuFill32(0, (void *)(VRAM + screenbase), 0x800); - LoadPalette(sFieldMoveStreaksIndoors_Pal, 0xf0, 0x20); + LoadPalette(sFieldMoveStreaksIndoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksIndoors_Pal)); task->data[0]++; } diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index f2e8826b5..1c185885a 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -43,12 +43,12 @@ static bool8 WaitStairExitMovementFinished(s16 *speedX, s16 *speedY, s16 *offset void palette_bg_faded_fill_white(void) { - CpuFastFill16(RGB_WHITE, gPlttBufferFaded, 0x400); + CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE); } void palette_bg_faded_fill_black(void) { - CpuFastFill16(RGB_BLACK, gPlttBufferFaded, 0x400); + CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE); } void WarpFadeInScreen(void) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index ba143e61b..f311e0f7a 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -394,7 +394,7 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId) case 0: windowId = AddWindow(&sWindowTemplate_WhiteoutText); gTasks[taskId].tWindowId = windowId; - Menu_LoadStdPalAt(0xF0); + Menu_LoadStdPalAt(BG_PLTT_ID(15)); FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); PutWindowTilemap(windowId); CopyWindowToVram(windowId, COPYWIN_FULL); diff --git a/src/field_specials.c b/src/field_specials.c index a14671e8b..2d792eee0 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -730,7 +730,7 @@ static const struct WindowTemplate sElevatorCurrentFloorWindowTemplate = { .tilemapTop = 1, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x008 }; @@ -1098,8 +1098,8 @@ void DrawElevatorCurrentFloorWindow(void) if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE) { sElevatorCurrentFloorWindowId = AddWindow(&sElevatorCurrentFloorWindowTemplate); - LoadStdWindowGfx(sElevatorCurrentFloorWindowId, 0x21D, 0xD0); - DrawStdFrameWithCustomTileAndPalette(sElevatorCurrentFloorWindowId, FALSE, 0x21D, 0xD); + LoadStdWindowGfx(sElevatorCurrentFloorWindowId, 0x21D, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(sElevatorCurrentFloorWindowId, FALSE, 0x21D, 13); AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, FONT_NORMAL, gText_NowOn, 0, 2, 0xFF, NULL); floorname = sFloorNamePointers[gSpecialVar_0x8005]; strwidth = GetStringWidth(FONT_NORMAL, floorname, 0); @@ -2142,13 +2142,13 @@ void DoPokemonLeagueLightingEffect(void) { data[0] = sChampionRoomLightingTimers[0]; data[2] = 8; - LoadPalette(sChampionRoomLightingPalettes[0], 0x70, 0x20); + LoadPalette(sChampionRoomLightingPalettes[0], BG_PLTT_ID(7), PLTT_SIZE_4BPP); } else { data[0] = sEliteFourLightingTimers[0]; data[2] = 11; - LoadPalette(sEliteFourLightingPalettes[0], 0x70, 0x20); + LoadPalette(sEliteFourLightingPalettes[0], BG_PLTT_ID(7), PLTT_SIZE_4BPP); } data[1] = 0; ApplyGlobalTintToPaletteSlot(7, 1); @@ -2171,12 +2171,12 @@ static void Task_RunPokemonLeagueLightingEffect(u8 taskId) if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM)) { data[0] = sChampionRoomLightingTimers[data[1]]; - LoadPalette(sChampionRoomLightingPalettes[data[1]], 0x70, 0x20); + LoadPalette(sChampionRoomLightingPalettes[data[1]], BG_PLTT_ID(7), PLTT_SIZE_4BPP); } else { data[0] = sEliteFourLightingTimers[data[1]]; - LoadPalette(sEliteFourLightingPalettes[data[1]], 0x70, 0x20); + LoadPalette(sEliteFourLightingPalettes[data[1]], BG_PLTT_ID(7), PLTT_SIZE_4BPP); } ApplyGlobalTintToPaletteSlot(7, 1); } @@ -2188,13 +2188,9 @@ static void Task_CancelPokemonLeagueLightingEffect(u8 taskId) if (FlagGet(FLAG_TEMP_4) != FALSE) { if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM)) - { - LoadPalette(sChampionRoomLightingPalettes[8], 0x70, 0x20); - } + LoadPalette(sChampionRoomLightingPalettes[8], BG_PLTT_ID(7), PLTT_SIZE_4BPP); else - { - LoadPalette(sEliteFourLightingPalettes[11], 0x70, 0x20); - } + LoadPalette(sEliteFourLightingPalettes[11], BG_PLTT_ID(7), PLTT_SIZE_4BPP); ApplyGlobalTintToPaletteSlot(7, 1); if (gPaletteFade.active) { @@ -2407,7 +2403,7 @@ static void Task_DoDeoxysTriangleInteraction(u8 taskId) static void MoveDeoxysObject(u8 num) { u8 mapObjId; - LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); + LoadPalette(sDeoxysObjectPals[num], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); ApplyGlobalFieldPaletteTint(10); TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjId); if (num == 0) @@ -2453,7 +2449,7 @@ void IncrementBirthIslandRockStepCount(void) void SetDeoxysTrianglePalette(void) { u8 num = VarGet(VAR_DEOXYS_INTERACTION_NUM); - LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); + LoadPalette(sDeoxysObjectPals[num], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); ApplyGlobalFieldPaletteTint(10); } diff --git a/src/field_weather.c b/src/field_weather.c index e088f22df..56cf6505b 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -146,7 +146,7 @@ void StartWeather(void) if (!FuncIsActiveTask(Task_WeatherMain)) { u8 index = AllocSpritePalette(0x1200); - CpuCopy32(gDefaultWeatherSpritePalette, &gPlttBufferUnfaded[0x100 + index * 16], 32); + CpuCopy32(gDefaultWeatherSpritePalette, &gPlttBufferUnfaded[OBJ_PLTT_ID(index)], PLTT_SIZE_4BPP); ApplyGlobalFieldPaletteTint(index); BuildGammaShiftTables(); gWeatherPtr->altGammaSpritePalIndex = index; @@ -449,7 +449,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) if (gammaIndex > 0) { gammaIndex--; - palOffset = startPalIndex * 16; + palOffset = PLTT_ID(startPalIndex); numPalettes += startPalIndex; curPalIndex = startPalIndex; @@ -459,7 +459,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) { // No palette change. - CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); + CpuFastCopy(&gPlttBufferUnfaded[palOffset], &gPlttBufferFaded[palOffset], PLTT_SIZE_4BPP); palOffset += 16; } else @@ -489,37 +489,11 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) { // A negative gammIndex value means that the blending will come from the special Drought weather's palette tables. // Dummied out in FRLG - - // gammaIndex = -gammaIndex - 1; - // palOffset = startPalIndex * 16; - // numPalettes += startPalIndex; - // curPalIndex = startPalIndex; - // - // CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); - // while (curPalIndex < numPalettes) - // { - // if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) - // { - // // No palette change. - // palOffset += 16; - // } - // else - // { - // - // for (i = 0; i < 16; i++) - // { - // gPlttBufferFaded[palOffset] = sDroughtWeatherColors[gammaIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])]; - // palOffset++; - // } - // } - // - // curPalIndex++; - // } } else { // No palette blending. - CpuFastCopy(gPlttBufferUnfaded + startPalIndex * 16, gPlttBufferFaded + startPalIndex * 16, numPalettes * 16 * sizeof(u16)); + CpuFastCopy(&gPlttBufferUnfaded[PLTT_ID(startPalIndex)], &gPlttBufferFaded[PLTT_ID(startPalIndex)], numPalettes * PLTT_SIZE_4BPP); } } @@ -533,7 +507,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI u8 gBlend = color.g; u8 bBlend = color.b; - palOffset = startPalIndex * 16; + palOffset = PLTT_ID(startPalIndex); numPalettes += startPalIndex; gammaIndex--; curPalIndex = startPalIndex; @@ -641,8 +615,8 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor) { if (LightenSpritePaletteInFog(curPalIndex)) { - u16 palEnd = (curPalIndex + 1) * 16; - u16 palOffset = curPalIndex * 16; + u16 palEnd = PLTT_ID(curPalIndex + 1); + u16 palOffset = PLTT_ID(curPalIndex); while (palOffset < palEnd) { @@ -665,7 +639,7 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor) } else { - BlendPalette(curPalIndex * 16, 16, blendCoeff, blendColor); + BlendPalette(PLTT_ID(curPalIndex), 16, blendCoeff, blendColor); } } } @@ -829,7 +803,7 @@ void FadeSelectedPals(u8 mode, s8 delay, u32 selectedPalettes) if (fadeOut) { if (useWeatherPal) - CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); BeginNormalPaletteFade(selectedPalettes, delay, 0, 16, fadeColor); gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT; @@ -868,14 +842,14 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) { if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL) MarkFogSpritePalToLighten(paletteIndex); - paletteIndex *= 16; + paletteIndex = PLTT_ID(paletteIndex); for (i = 0; i < 16; i++) gPlttBufferFaded[paletteIndex + i] = gWeatherPtr->fadeDestColor; } break; case WEATHER_PAL_STATE_SCREEN_FADING_OUT: - paletteIndex *= 16; - CpuFastCopy(gPlttBufferFaded + paletteIndex, gPlttBufferUnfaded + paletteIndex, 32); + paletteIndex = PLTT_ID(paletteIndex); + CpuFastCopy(&gPlttBufferFaded[paletteIndex], &gPlttBufferUnfaded[paletteIndex], PLTT_SIZE_4BPP); BlendPalette(paletteIndex, 16, gPaletteFade.y, gPaletteFade.blendColor); break; // WEATHER_PAL_STATE_CHANGING_WEATHER @@ -887,7 +861,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) } else { - paletteIndex *= 16; + paletteIndex = PLTT_ID(paletteIndex); BlendPalette(paletteIndex, 16, 12, RGB(28, 31, 28)); } break; @@ -909,7 +883,7 @@ static u8 IsWeatherFadingIn(void) void LoadCustomWeatherSpritePalette(const u16 *palette) { - LoadPalette(palette, 0x100 + gWeatherPtr->weatherPicSpritePalIndex * 16, 32); + LoadPalette(palette, OBJ_PLTT_ID(gWeatherPtr->weatherPicSpritePalIndex), PLTT_SIZE_4BPP); UpdateSpritePaletteWithWeather(gWeatherPtr->weatherPicSpritePalIndex); } diff --git a/src/fieldmap.c b/src/fieldmap.c index e10f1af11..bd69c0533 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -845,19 +845,19 @@ static void ApplyGlobalTintToPaletteEntries(u16 offset, u16 size) case QL_TINT_NONE: return; case QL_TINT_GRAYSCALE: - TintPalette_GrayScale(gPlttBufferUnfaded + offset, size); + TintPalette_GrayScale(&gPlttBufferUnfaded[offset], size); break; case QL_TINT_SEPIA: - TintPalette_SepiaTone(gPlttBufferUnfaded + offset, size); + TintPalette_SepiaTone(&gPlttBufferUnfaded[offset], size); break; case QL_TINT_BACKUP_GRAYSCALE: QuestLog_BackUpPalette(offset, size); - TintPalette_GrayScale(gPlttBufferUnfaded + offset, size); + TintPalette_GrayScale(&gPlttBufferUnfaded[offset], size); break; default: return; } - CpuCopy16(gPlttBufferUnfaded + offset, gPlttBufferFaded + offset, size * sizeof(u16)); + CpuCopy16(&gPlttBufferUnfaded[offset], &gPlttBufferFaded[offset], PLTT_SIZEOF(size)); } void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count) @@ -867,19 +867,19 @@ void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count) case QL_TINT_NONE: return; case QL_TINT_GRAYSCALE: - TintPalette_GrayScale(gPlttBufferUnfaded + slot * 16, count * 16); + TintPalette_GrayScale(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16); break; case QL_TINT_SEPIA: - TintPalette_SepiaTone(gPlttBufferUnfaded + slot * 16, count * 16); + TintPalette_SepiaTone(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16); break; case QL_TINT_BACKUP_GRAYSCALE: - QuestLog_BackUpPalette(slot * 16, count * 16); - TintPalette_GrayScale(gPlttBufferUnfaded + slot * 16, count * 16); + QuestLog_BackUpPalette(BG_PLTT_ID(slot), count * 16); + TintPalette_GrayScale(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], count * 16); break; default: return; } - CpuFastCopy(gPlttBufferUnfaded + slot * 16, gPlttBufferFaded + slot * 16, count * 16 * sizeof(u16)); + CpuFastCopy(&gPlttBufferUnfaded[BG_PLTT_ID(slot)], &gPlttBufferFaded[BG_PLTT_ID(slot)], count * PLTT_SIZE_4BPP); } static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) @@ -890,8 +890,8 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1 { if (tileset->isSecondary == FALSE) { - LoadPalette(&black, destOffset, 2); - LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2); + LoadPalette(&black, destOffset, PLTT_SIZEOF(1)); + LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - PLTT_SIZEOF(1)); ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) @@ -924,12 +924,12 @@ void CopySecondaryTilesetToVramUsingHeap(const struct MapLayout *mapLayout) static void LoadPrimaryTilesetPalette(const struct MapLayout *mapLayout) { - LoadTilesetPalette(mapLayout->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2); + LoadTilesetPalette(mapLayout->primaryTileset, BG_PLTT_ID(0), NUM_PALS_IN_PRIMARY * PLTT_SIZE_4BPP); } void LoadSecondaryTilesetPalette(const struct MapLayout *mapLayout) { - LoadTilesetPalette(mapLayout->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2); + LoadTilesetPalette(mapLayout->secondaryTileset, BG_PLTT_ID(NUM_PALS_IN_PRIMARY), (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * PLTT_SIZE_4BPP); } void CopyMapTilesetsToVram(struct MapLayout const *mapLayout) diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 96c5c1db5..64171bb3f 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -79,7 +79,7 @@ static const struct OamData sOamData_FldEff_CutGrass = { .size = SPRITE_SIZE(8x8), .tileNum = 0x001, .priority = 1, - .paletteNum = 0x1, + .paletteNum = 1, .affineParam = 0 }; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 352ef7bc8..c9918e638 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -154,11 +154,13 @@ static const struct FlashStruct sTransitionTypes[] = { }, {0} }; -static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/field_effects/flash_white.gbapal"); -static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/field_effects/flash_black.gbapal"); -static const u16 sCaveTransitionPalette_Gradient[] = INCBIN_U16("graphics/field_effects/flash_gradient.gbapal"); -static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/field_effects/flash_effect_map.bin.lz"); -static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/field_effects/flash_effect_tiles.4bpp.lz"); +static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/cave_transition/white.gbapal"); +static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/cave_transition/black.gbapal"); + +static const u16 sCaveTransitionPalette_Enter[] = INCBIN_U16("graphics/cave_transition/enter.gbapal"); +static const u16 sCaveTransitionPalette_Exit[] = INCBIN_U16("graphics/cave_transition/exit.gbapal"); +static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/cave_transition/tilemap.bin.lz"); +static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/cave_transition/tiles.4bpp.lz"); bool8 SetUpFieldMove_Flash(void) { @@ -299,8 +301,8 @@ static void Task_FlashTransition_Exit_1(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, 0); LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3)); LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31)); - LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); - LoadPalette(sCaveTransitionPalette_Gradient + 8, 0xE0, 0x10); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_White)); + LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_Exit)); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); @@ -328,17 +330,17 @@ static void Task_FlashTransition_Exit_2(u8 taskId) static void Task_FlashTransition_Exit_3(u8 taskId) { - u16 r4; + u16 count; SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16); - r4 = gTasks[taskId].data[2]; - if (r4 < 8) + count = gTasks[taskId].data[2]; + if (count < 8) { gTasks[taskId].data[2]++; - LoadPalette(sCaveTransitionPalette_Gradient + 8 + r4, 0xE0, 0x10 - 2 * r4); + LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_Exit) - PLTT_SIZEOF(count)); } else { - LoadPalette(sCaveTransitionPalette_White, 0x00, 0x20); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_White)); gTasks[taskId].func = Task_FlashTransition_Exit_4; gTasks[taskId].data[2] = 8; } @@ -372,8 +374,8 @@ static void Task_FlashTransition_Enter_1(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); - LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); - LoadPalette(sCaveTransitionPalette_Black, 0, 0x20); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_White)); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_Black)); gTasks[taskId].func = Task_FlashTransition_Enter_2; gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = 0; @@ -382,13 +384,12 @@ static void Task_FlashTransition_Enter_1(u8 taskId) static void Task_FlashTransition_Enter_2(u8 taskId) { - u16 r4; - r4 = gTasks[taskId].data[2]; - if (r4 < 16) + u16 count = gTasks[taskId].data[2]; + if (count < 16) { gTasks[taskId].data[2]++; gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Gradient[16 - (r4 + 1)], 0xE0, 2 * (r4 + 1)); + LoadPalette(&sCaveTransitionPalette_Enter[15 - count], BG_PLTT_ID(14), PLTT_SIZEOF(count + 1)); } else { @@ -408,7 +409,7 @@ static void Task_FlashTransition_Enter_3(u8 taskId) } else { - LoadPalette(sCaveTransitionPalette_Black, 0x00, 0x20); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), sizeof(sCaveTransitionPalette_Black)); SetMainCallback2(gMain.savedCallback); } } diff --git a/src/graphics.c b/src/graphics.c index 04f431469..0f19fe0fa 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1227,7 +1227,7 @@ const u16 gTradeUnused_Tilemap[] = INCBIN_U16("graphics/trade/unused.bin"); const u16 gTradeMenu_Tilemap[] = INCBIN_U16("graphics/trade/menu.bin"); const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin"); -const u16 gFameCheckerBgPals[] = INCBIN_U16("graphics/fame_checker/bg.gbapal"); +const u16 gFameCheckerBgPals[][16] = INCBIN_U16("graphics/fame_checker/bg.gbapal"); const u16 gFameCheckerBgTiles[] = INCBIN_U16("graphics/fame_checker/bg.4bpp"); const u16 gFameCheckerBg3Tilemap[] = INCBIN_U16("graphics/fame_checker/tilemap3.bin"); const u16 gFameCheckerBg2Tilemap[] = INCBIN_U16("graphics/fame_checker/tilemap2.bin"); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index d408b528e..8b4ec8763 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -620,7 +620,7 @@ static void Task_Hof_SpawnPlayerPic(u8 taskId) ShowBg(3); gTasks[taskId].data[4] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 0x78, 0x48, 6, 0xFFFF); AddWindow(&sWindowTemplate); - LoadStdWindowGfx(1, 0x21D, 0xD0); + LoadStdWindowGfx(1, 0x21D, BG_PLTT_ID(13)); gTasks[taskId].data[3] = 120; gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; } @@ -657,7 +657,7 @@ static void Task_Hof_ExitOnKeyPressed(u8 taskId) static void Task_Hof_HandlePaletteOnExit(u8 taskId) { - CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * sizeof(u16)); + CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); BeginNormalPaletteFade(PALETTES_ALL, 8, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_Hof_HandleExit; } @@ -938,7 +938,7 @@ static void Task_HofPC_HandlePaletteOnExit(u8 taskId) { struct HallofFameTeam* fameTeam; - CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); BeginPCScreenEffect_TurnOff(0, 0, 0); gTasks[taskId].func = Task_HofPC_HandleExit; } @@ -1085,7 +1085,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) FillWindowPixelBuffer(1, PIXEL_FILL(1)); PutWindowTilemap(1); - DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD); + DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 13); AddTextPrinterParameterized4(1, FONT_NORMAL, 4, 3, 0, 0, sTextColors[1], 0, gText_Name); AddTextPrinterParameterized3(1, FONT_NORMAL, textWidth - GetStringWidth(FONT_NORMAL, gSaveBlock2Ptr->playerName, 0), 3, sTextColors[1], 0, gSaveBlock2Ptr->playerName); @@ -1148,7 +1148,7 @@ static void ClearVramOamPltt_LoadHofPal(void) DmaFill16(3, 0, plttOffset, plttSize); ResetPaletteFade(); - LoadPalette(sHallOfFame_Pal, 0, 0x20); + LoadPalette(sHallOfFame_Pal, BG_PLTT_ID(0), sizeof(sHallOfFame_Pal)); } static void HofInit_ResetGpuBuffersAndLoadConfettiGfx(void) diff --git a/src/intro.c b/src/intro.c index f3621b143..3d0caef72 100644 --- a/src/intro.c +++ b/src/intro.c @@ -405,7 +405,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = { .tilemapTop = 4, .width = 18, .height = 9, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x000 }, [WIN_COUNT] = DUMMY_WIN_TEMPLATE @@ -930,7 +930,7 @@ static bool8 SetUpCopyrightScreen(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT + sizeof(vu16), PLTT_SIZE - sizeof(vu16)); ResetPaletteFade(); - LoadCopyrightGraphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, 0); + LoadCopyrightGraphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, BG_PLTT_ID(0)); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -1025,15 +1025,15 @@ static void CB2_SetUpIntro(void) DmaFill16(3, 0, VRAM, VRAM_SIZE); DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - FillPalette(RGB_BLACK, 0, 0x400); + FillPalette(RGB_BLACK, 0, PLTT_SIZE); ResetBgsAndClearDma3BusyFlags(FALSE); InitBgsFromTemplates(0, sBgTemplates_GameFreakScene, ARRAY_COUNT(sBgTemplates_GameFreakScene)); break; case 1: - LoadPalette(sGameFreakBg_Pal, 0x00, sizeof(sGameFreakBg_Pal)); + LoadPalette(sGameFreakBg_Pal, BG_PLTT_ID(0), sizeof(sGameFreakBg_Pal)); DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Map, 0, 0, 1); - LoadPalette(sGameFreakLogo_Pal, 0xD0, sizeof(sGameFreakLogo_Pal)); + LoadPalette(sGameFreakLogo_Pal, BG_PLTT_ID(13), sizeof(sGameFreakLogo_Pal)); break; case 2: if (!FreeTempTileDataBuffersIfPossible()) @@ -1113,7 +1113,7 @@ static void IntroCB_Init(struct IntroSequenceData * this) InitWindows(sWindowTemplates); LZ77UnCompWram(sGameFreakText_Gfx, this->gameFreakTextGfx); LZ77UnCompWram(sGameFreakLogo_Gfx, this->gameFreakLogoGfx); - FillBgTilemapBufferRect(BG_GF_TEXT_LOGO, 0x000, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(BG_GF_TEXT_LOGO, 0x000, 0, 0, 32, 32, 17); FillWindowPixelBuffer(WIN_GF_TEXT_LOGO, PIXEL_FILL(0)); BlitBitmapToWindow(WIN_GF_TEXT_LOGO, this->gameFreakTextGfx, 0, 40, 144, 16); PutWindowTilemap(WIN_GF_TEXT_LOGO); @@ -1293,8 +1293,8 @@ static void IntroCB_Scene1(struct IntroSequenceData * this) { case 0: SetVBlankCallback(NULL); - LoadPalette(sScene1_Grass_Pal, 16 * PALSLOT_SCENE1_GRASS, sizeof(sScene1_Grass_Pal)); - LoadPalette(sScene1_Bg_Pal, 16 * PALSLOT_SCENE1_BG, sizeof(sScene1_Bg_Pal)); + LoadPalette(sScene1_Grass_Pal, BG_PLTT_ID(PALSLOT_SCENE1_GRASS), sizeof(sScene1_Grass_Pal)); + LoadPalette(sScene1_Bg_Pal, BG_PLTT_ID(PALSLOT_SCENE1_BG), sizeof(sScene1_Bg_Pal)); BlendPalettes((1 << PALSLOT_SCENE1_GRASS) | (1 << PALSLOT_SCENE1_BG), 16, RGB_WHITE); InitBgsFromTemplates(0, sBgTemplates_Scene1, ARRAY_COUNT(sBgTemplates_Scene1)); DecompressAndCopyTileDataToVram(BG_SCENE1_BACKGROUND, sScene1_Bg_Gfx, 0, 0, 0); @@ -1439,9 +1439,9 @@ static void IntroCB_Scene2(struct IntroSequenceData * this) if (!FreeTempTileDataBuffersIfPossible()) { SetVBlankCallback(NULL); - LoadPalette(sScene2_Bg_Pal, 0x10, sizeof(sScene2_Bg_Pal)); - LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal)); - LoadPalette(sScene2_NidorinoClose_Pal, 0x60, sizeof(sScene2_NidorinoClose_Pal)); + LoadPalette(sScene2_Bg_Pal, BG_PLTT_ID(1), sizeof(sScene2_Bg_Pal)); + LoadPalette(sGengar_Pal, BG_PLTT_ID(5), sizeof(sGengar_Pal)); + LoadPalette(sScene2_NidorinoClose_Pal, BG_PLTT_ID(6), sizeof(sScene2_NidorinoClose_Pal)); BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Map, 0, 0, 1); @@ -1553,8 +1553,8 @@ static void IntroCB_Scene3_Entrance(struct IntroSequenceData * this) switch (this->state) { case 0: - LoadPalette(sScene3_Bg_Pal, 0x10, sizeof(sScene3_Bg_Pal)); - LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal)); + LoadPalette(sScene3_Bg_Pal, BG_PLTT_ID(1), sizeof(sScene3_Bg_Pal)); + LoadPalette(sGengar_Pal, BG_PLTT_ID(5), sizeof(sGengar_Pal)); BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); InitBgsFromTemplates(0, sBgTemplates_Scene3, ARRAY_COUNT(sBgTemplates_Scene3)); DecompressAndCopyTileDataToVram(BG_SCENE3_BACKGROUND, sScene3_Bg_Gfx, 0, 0, 0); @@ -1831,7 +1831,7 @@ static void IntroCB_Scene3_Fight(struct IntroSequenceData * this) case 13: if (++this->timer > 8) { - CpuFill16(RGB_WHITE, gPlttBufferUnfaded + 16, 64); + CpuFill16(RGB_WHITE, &gPlttBufferUnfaded[BG_PLTT_ID(1)], 2 * PLTT_SIZE_4BPP); BeginNormalPaletteFade(PALETTES_ALL & ~1, -2, 0, 16, RGB_BLACK); this->state++; } @@ -1916,7 +1916,7 @@ static void IntroCB_ExitToTitleScreen(struct IntroSequenceData * this) switch (this->state) { case 0: - FillPalette(RGB_BLACK, 0, 0x400); + FillPalette(RGB_BLACK, 0, PLTT_SIZE); this->state++; break; case 1: diff --git a/src/item_menu.c b/src/item_menu.c index 4b31cfab0..ed7eef046 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -576,9 +576,9 @@ static bool8 DoLoadBagGraphics(void) } break; case 2: - LoadCompressedPalette(gBagBgPalette, 0x00, 0x60); + LoadCompressedPalette(gBagBgPalette, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); if (!BagIsTutorial() && gSaveBlock2Ptr->playerGender != MALE) - LoadCompressedPalette(gBagBgPalette_FemaleOverride, 0x00, 0x20); + LoadCompressedPalette(gBagBgPalette_FemaleOverride, BG_PLTT_ID(0), PLTT_SIZE_4BPP); sBagMenuDisplay->data[0]++; break; case 3: @@ -922,20 +922,20 @@ static void ShowBagOrBeginWin0OpenTask(void) u16 paldata = RGB_BLACK; u8 taskId; - LoadPalette(&paldata, 0x00, 0x02); + SetBackdropFromPalette(&paldata); SetGpuReg(REG_OFFSET_WININ, 0); SetGpuReg(REG_OFFSET_WINOUT, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR); BlendPalettes(PALETTES_ALL, 16, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); if (gBagMenuState.bagOpen == TRUE) { - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH)); SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 0)); } else { - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); - SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, DISPLAY_HEIGHT)); taskId = CreateTask(Task_AnimateWin0v, 0); gTasks[taskId].data[0] = 192; gTasks[taskId].data[1] = -16; diff --git a/src/item_pc.c b/src/item_pc.c index df2ad56cc..5a114e9fd 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -130,51 +130,51 @@ static const u8 sTextColors[][3] = { static const struct WindowTemplate sWindowTemplates[] = { { .bg = 0, - .tilemapLeft = 0x07, - .tilemapTop = 0x01, - .width = 0x13, - .height = 0x0c, - .paletteNum = 0x0f, + .tilemapLeft = 7, + .tilemapTop = 1, + .width = 19, + .height = 12, + .paletteNum = 15, .baseBlock = 0x02bf }, { .bg = 0, - .tilemapLeft = 0x05, - .tilemapTop = 0x0e, - .width = 0x19, - .height = 0x06, - .paletteNum = 0x0d, + .tilemapLeft = 5, + .tilemapTop = 14, + .width = 25, + .height = 6, + .paletteNum = 13, .baseBlock = 0x0229 }, { .bg = 0, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x05, - .height = 0x04, - .paletteNum = 0x0f, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 5, + .height = 4, + .paletteNum = 15, .baseBlock = 0x0215 }, { .bg = 0, - .tilemapLeft = 0x18, - .tilemapTop = 0x0f, - .width = 0x05, - .height = 0x04, - .paletteNum = 0x0f, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 15, .baseBlock = 0x0201 }, { .bg = 0, - .tilemapLeft = 0x16, - .tilemapTop = 0x0d, - .width = 0x07, - .height = 0x06, - .paletteNum = 0x0f, + .tilemapLeft = 22, + .tilemapTop = 13, + .width = 7, + .height = 6, + .paletteNum = 15, .baseBlock = 0x01d7 }, { .bg = 0, - .tilemapLeft = 0x02, - .tilemapTop = 0x0f, - .width = 0x1a, - .height = 0x04, - .paletteNum = 0x0b, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 11, .baseBlock = 0x016f }, DUMMY_WIN_TEMPLATE }; @@ -182,27 +182,27 @@ static const struct WindowTemplate sWindowTemplates[] = { static const struct WindowTemplate sSubwindowTemplates[] = { { .bg = 0, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x0e, - .height = 0x04, - .paletteNum = 0x0c, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 14, + .height = 4, + .paletteNum = 12, .baseBlock = 0x0137 }, { .bg = 0, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x10, - .height = 0x04, - .paletteNum = 0x0c, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 16, + .height = 4, + .paletteNum = 12, .baseBlock = 0x0137 }, { .bg = 0, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x17, - .height = 0x04, - .paletteNum = 0x0c, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 23, + .height = 4, + .paletteNum = 12, .baseBlock = 0x009b } }; @@ -443,7 +443,7 @@ static bool8 ItemPc_LoadGraphics(void) } break; case 2: - LoadCompressedPalette(gItemPcBgPals, 0x00, 0x60); + LoadCompressedPalette(gItemPcBgPals, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); sStateDataPtr->data[0]++; break; case 3: @@ -1069,11 +1069,11 @@ static void ItemPc_InitWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowGfx(0, 0x3C0, 0xE0); - LoadStdWindowGfx(0, 0x3A3, 0xC0); - LoadMenuMessageWindowGfx(0, 0x3AC, 0xB0); - LoadPalette(GetTextWindowPalette(2), 0xD0, 0x20); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowGfx(0, 0x3C0, BG_PLTT_ID(14)); + LoadStdWindowGfx(0, 0x3A3, BG_PLTT_ID(12)); + LoadMenuMessageWindowGfx(0, 0x3AC, BG_PLTT_ID(11)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(13), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < 3; i++) { FillWindowPixelBuffer(i, 0x00); @@ -1111,7 +1111,7 @@ static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 static void ItemPc_SetBorderStyleOnWindow(u8 windowId) { - DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x3C0, 0x0E); + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x3C0, 14); } static u8 ItemPc_GetOrCreateSubwindow(u8 idx) @@ -1119,7 +1119,7 @@ static u8 ItemPc_GetOrCreateSubwindow(u8 idx) if (sSubmenuWindowIds[idx] == 0xFF) { sSubmenuWindowIds[idx] = AddWindow(&sSubwindowTemplates[idx]); - DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 0x0C); + DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 12); } return sSubmenuWindowIds[idx]; diff --git a/src/learn_move.c b/src/learn_move.c index 7c4f163f4..40ab59061 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -258,7 +258,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 0, .width = 6, .height = 7, - .paletteNum = 0x0d, + .paletteNum = 13, .baseBlock = 0x014 }, { @@ -267,7 +267,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 0, .width = 5, .height = 5, - .paletteNum = 0x0d, + .paletteNum = 13, .baseBlock = 0x03e }, { @@ -276,7 +276,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 0, .width = 5, .height = 2, - .paletteNum = 0x0d, + .paletteNum = 13, .baseBlock = 0x057 }, { @@ -285,7 +285,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 0, .width = 3, .height = 5, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x061 }, { @@ -294,7 +294,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 2, .width = 3, .height = 3, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x070 }, { @@ -303,7 +303,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 6, .width = 15, .height = 8, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x079 }, { @@ -312,7 +312,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 1, .width = 10, .height = 12, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x0f1 }, { @@ -321,7 +321,7 @@ static const struct WindowTemplate sWindowTemplates[9] = { .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x169 }, DUMMY_WIN_TEMPLATE }; @@ -332,7 +332,7 @@ static const struct WindowTemplate sMoveRelearnerYesNoMenuTemplate = { .tilemapTop = 8, .width = 6, .height = 4, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x1d1 }; @@ -396,11 +396,11 @@ static void MoveRelearnerLoadBgGfx(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); } FillWindowPixelBuffer(7, PIXEL_FILL(1)); - FillBgTilemapBufferRect(0, 0x000, 0, 0, 30, 20, 0xF); + FillBgTilemapBufferRect(0, 0x000, 0, 0, 30, 20, 15); SetBgTilemapBuffer(1, sMoveRelearner->bg1TilemapBuffer); - LoadUserWindowGfx(0, 1, 0xE0); - ListMenuLoadStdPalAt(0xD0, 1); - LoadPalette(gMoveRelearner_Pal, 0x00, 0x20); + LoadUserWindowGfx(0, 1, BG_PLTT_ID(14)); + ListMenuLoadStdPalAt(BG_PLTT_ID(13), 1); + LoadPalette(gMoveRelearner_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); DecompressAndLoadBgGfxUsingHeap(1, gMoveRelearner_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(1, gMoveRelearner_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); @@ -442,7 +442,7 @@ static void CB2_MoveRelearner_Resume(void) SetVBlankCallback(VBlankCB_MoveRelearner); MoveRelearnerLoadBgGfx(); SpawnListMenuScrollIndicatorSprites(); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); RunTasks(); AnimateSprites(); @@ -506,7 +506,7 @@ static void MoveRelearnerStateMachine(void) MoveRelearnerMenuHandleInput(); break; case MENU_STATE_PRINT_TEACH_MOVE_PROMPT: - CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0); + CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0); sMoveRelearner->state++; break; case MENU_STATE_TEACH_MOVE_CONFIRM : @@ -531,7 +531,7 @@ static void MoveRelearnerStateMachine(void) } break; case MENU_STATE_PRINT_GIVE_UP_PROMPT: - CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0); + CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0); sMoveRelearner->state++; break; case MENU_STATE_GIVE_UP_CONFIRM: @@ -552,7 +552,7 @@ static void MoveRelearnerStateMachine(void) sMoveRelearner->state++; break; case MENU_STATE_WAIT_FOR_TRYING_TO_LEARN: - CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0); + CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0); sMoveRelearner->state = 18; break; case MENU_STATE_CONFIRM_DELETE_OLD_MOVE: @@ -573,7 +573,7 @@ static void MoveRelearnerStateMachine(void) sMoveRelearner->state++; break; case MENU_STATE_WAIT_FOR_STOP_TEACHING: - CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 0xE, 0); + CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, FONT_NORMAL_COPY_2, 0, 2, 0x001, 14, 0); sMoveRelearner->state = 26; break; case MENU_STATE_CONFIRM_STOP_TEACHING: @@ -680,7 +680,7 @@ static void DrawTextBorderOnWindows6and7(void) { int i; for (i = 6; i < 8; i++) - DrawTextBorderOuter(i, 0x001, 0xE); + DrawTextBorderOuter(i, 0x001, 14); } static void PrintTeachWhichMoveToStrVar1(bool8 onInit) diff --git a/src/link.c b/src/link.c index 323e8570a..f883db482 100644 --- a/src/link.c +++ b/src/link.c @@ -242,7 +242,7 @@ void Task_DestroySelf(u8 taskId) void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock, u16 baseChar) { - LoadPalette(sLinkTestFontPal, paletteNum * 16, 0x20); + LoadPalette(sLinkTestFontPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); DmaCopy16(3, sLinkTestFontGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock) + (16 * baseChar), sizeof sLinkTestFontGfx); gLinkTestBGInfo.screenBaseBlock = screenBaseBlock; gLinkTestBGInfo.paletteNum = paletteNum; @@ -266,7 +266,7 @@ void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBloc // Unused static void LoadLinkTestBgGfx(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) { - LoadPalette(sLinkTestFontPal, paletteNum * 16, 0x20); + LoadPalette(sLinkTestFontPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); DmaCopy16(3, sLinkTestFontGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock), sizeof sLinkTestFontGfx); gLinkTestBGInfo.screenBaseBlock = screenBaseBlock; gLinkTestBGInfo.paletteNum = paletteNum; @@ -1382,7 +1382,7 @@ void CB2_LinkError(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetPaletteFadeControl(); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); ResetTasks(); ScanlineEffect_Stop(); if (gWirelessCommType) @@ -1407,7 +1407,7 @@ void CB2_LinkError(void) SetGpuReg(REG_OFFSET_BG1HOFS, 0); SetGpuReg(REG_OFFSET_BG1VOFS, 0); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); - LoadPalette(gStandardMenuPalette, 0xf0, 0x20); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); gSoftResetDisabled = FALSE; CreateTask(Task_DestroySelf, 0); StopMapMusic(); @@ -1425,7 +1425,7 @@ static void ErrorMsg_MoveCloserToPartner(void) DecompressAndLoadBgGfxUsingHeap(1, sWirelessLinkDisplayGfx, FALSE, 0, 0); CopyToBgTilemapBuffer(1, sWirelessLinkDisplayTilemap, 0, 0); CopyBgTilemapBufferToVram(1); - LoadPalette(sWirelessLinkDisplayPal, 0, 0x20); + LoadPalette(sWirelessLinkDisplayPal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(2, PIXEL_FILL(0)); AddTextPrinterParameterized3(0, FONT_NORMAL_COPY_2, 2, 5, sLinkErrorTextColor, 0, gText_CommErrorEllipsis); diff --git a/src/list_menu.c b/src/list_menu.c index b18fd5151..95f4b323b 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -81,7 +81,7 @@ static void ListMenuDummyTask(u8 taskId) { } -u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum) +u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palOffset) { switch (sMysteryGiftLinkMenu.state) { @@ -91,9 +91,9 @@ u32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str switch (arg2) { case 2: - LoadUserWindowGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum); + LoadUserWindowGfx(sMysteryGiftLinkMenu.windowId, tileNum, palOffset); case 1: - DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16); + DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palOffset / 16); break; } gMultiuseListMenuTemplate = *listMenuTemplate; @@ -727,7 +727,7 @@ void ListMenuSetTemplateField(u8 taskId, u8 field, s32 value) void ListMenu_LoadMonIconPalette(u8 palOffset, u16 speciesId) { - LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, 0x20); + LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, PLTT_SIZE_4BPP); } void ListMenu_DrawMonIconGraphics(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y) @@ -749,7 +749,7 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId) palette = gFireRedMenuElements2_Pal; break; } - LoadPalette(palette, palOffset, 0x20); + LoadPalette(palette, palOffset, PLTT_SIZE_4BPP); } void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y) diff --git a/src/mail.c b/src/mail.c index 8fd5b50b0..27b63c1db 100644 --- a/src/mail.c +++ b/src/mail.c @@ -560,16 +560,17 @@ static bool8 DoInitMailView(void) CopyBgTilemapBufferToVram(2); break; case 12: - LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20); - gPlttBufferUnfaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0]; - gPlttBufferFaded[15 * 16 + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0]; - gPlttBufferUnfaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1]; - gPlttBufferFaded[15 * 16 + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1]; - LoadPalette(sGfxHeaders[sMailViewResources->mailType].pal, 0x00, 0x20); - gPlttBufferUnfaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0]; - gPlttBufferFaded[0 * 16 + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0]; - gPlttBufferUnfaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1]; - gPlttBufferFaded[0 * 16 + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1]; + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP); + gPlttBufferUnfaded[BG_PLTT_ID(15) + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0]; + gPlttBufferFaded[BG_PLTT_ID(15) + 10] = sGfxHeaders[sMailViewResources->mailType].textpals[0]; + gPlttBufferUnfaded[BG_PLTT_ID(15) + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1]; + gPlttBufferFaded[BG_PLTT_ID(15) + 11] = sGfxHeaders[sMailViewResources->mailType].textpals[1]; + + LoadPalette(sGfxHeaders[sMailViewResources->mailType].pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + gPlttBufferUnfaded[BG_PLTT_ID(0) + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0]; + gPlttBufferFaded[BG_PLTT_ID(0) + 10] = sGenderPals[gSaveBlock2Ptr->playerGender][0]; + gPlttBufferUnfaded[BG_PLTT_ID(0) + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1]; + gPlttBufferFaded[BG_PLTT_ID(0) + 11] = sGenderPals[gSaveBlock2Ptr->playerGender][1]; break; case 13: if (sMailViewResources->messageExists) diff --git a/src/main_menu.c b/src/main_menu.c index 057553a2e..a99a51db4 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -196,8 +196,8 @@ static bool32 MainMenuGpuInit(u8 a0) ChangeBgY(2, 0, 0); InitWindows(sWindowTemplate); DeactivateAllTextPrinters(); - LoadPalette(sBg_Pal, 0x00, 0x20); - LoadPalette(sTextbox_Pal, 0xF0, 0x20); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); + LoadPalette(sTextbox_Pal, BG_PLTT_ID(15), sizeof(sTextbox_Pal)); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); @@ -343,7 +343,7 @@ static void Task_PrintMainMenuText(u8 taskId) pal = RGB(4, 16, 31); else pal = RGB(31, 3, 21); - LoadPalette(&pal, 0xF1, 2); + LoadPalette(&pal, BG_PLTT_ID(15) + 1, PLTT_SIZEOF(1)); switch (gTasks[taskId].tMenuType) { case MAIN_MENU_NEWGAME: @@ -678,13 +678,13 @@ static void PrintBadgeCount(void) static void LoadUserFrameToBg(u8 bgId) { LoadBgTiles(bgId, GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1B1); - LoadPalette(GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->palette, 0x20, 0x20); + LoadPalette(GetUserWindowGraphics(gSaveBlock2Ptr->optionsWindowFrameType)->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP); MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); } static void SetStdFrame0OnBg(u8 bgId) { - LoadStdWindowGfx(MAIN_MENU_WINDOW_NEWGAME_ONLY, 0x1B1, 0x20); + LoadStdWindowGfx(MAIN_MENU_WINDOW_NEWGAME_ONLY, 0x1B1, BG_PLTT_ID(2)); MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); } diff --git a/src/map_name_popup.c b/src/map_name_popup.c index a7d0ce003..e80be27ba 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -7,6 +7,8 @@ #include "region_map.h" #include "strings.h" +#define FLOOR_ROOFTOP 127 + static void Task_MapNamePopup(u8 taskId); static u16 MapNamePopupCreateWindow(bool32 palIntoFadedBuffer); static void MapNamePopupPrintMapNameOnWindow(u16 windowId); @@ -28,7 +30,7 @@ void ShowMapNamePopup(bool32 palIntoFadedBuffer) if (FlagGet(FLAG_DONT_SHOW_MAP_NAME_POPUP) != TRUE && !QL_IS_PLAYBACK_STATE) { taskId = FindTaskIdByFunc(Task_MapNamePopup); - if (taskId == 0xFF) + if (taskId == TASK_NONE) { taskId = CreateTask(Task_MapNamePopup, 90); ChangeBgX(0, 0x0000, 0); @@ -129,7 +131,7 @@ void DismissMapNamePopup(void) u8 taskId; s16 *data; taskId = FindTaskIdByFunc(Task_MapNamePopup); - if (taskId != 0xFF) + if (taskId != TASK_NONE) { data = gTasks[taskId].data; if (tState < 6) @@ -139,9 +141,11 @@ void DismissMapNamePopup(void) bool32 IsMapNamePopupTaskActive(void) { - return FindTaskIdByFunc(Task_MapNamePopup) != 0xFF ? TRUE : FALSE; + return FindTaskIdByFunc(Task_MapNamePopup) != TASK_NONE ? TRUE : FALSE; } +#define WIN_PAL_NUM 13 + static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer) { struct WindowTemplate windowTemplate = { @@ -150,36 +154,32 @@ static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer) .tilemapTop = 29, .width = 14, .height = 2, - .paletteNum = 0xD, + .paletteNum = WIN_PAL_NUM, .baseBlock = 0x001 }; u16 windowId; - u16 r6 = 0x01D; + u16 tileNum = 0x01D; if (gMapHeader.floorNum != 0) { - if (gMapHeader.floorNum != 0x7F) + if (gMapHeader.floorNum != FLOOR_ROOFTOP) { windowTemplate.width += 5; - r6 = 0x027; + tileNum = 0x027; } else { // ROOFTOP windowTemplate.width += 8; - r6 = 0x02D; + tileNum = 0x02D; } } windowId = AddWindow(&windowTemplate); if (palintoFadedBuffer) - { - LoadPalette(GetTextWindowPalette(3), 0xd0, 0x20); - } + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(WIN_PAL_NUM), PLTT_SIZE_4BPP); else - { - CpuCopy16(GetTextWindowPalette(3), &gPlttBufferUnfaded[0xd0], 0x20); - } - LoadStdWindowTiles(windowId, r6); - DrawTextBorderOuter(windowId, r6, 0xD); + CpuCopy16(GetTextWindowPalette(3), &gPlttBufferUnfaded[BG_PLTT_ID(WIN_PAL_NUM)], PLTT_SIZE_4BPP); + LoadStdWindowTiles(windowId, tileNum); + DrawTextBorderOuter(windowId, tileNum, WIN_PAL_NUM); PutWindowTilemap(windowId); MapNamePopupPrintMapNameOnWindow(windowId); CopyWindowToVram(windowId, COPYWIN_FULL); @@ -195,7 +195,7 @@ static void MapNamePopupPrintMapNameOnWindow(u16 windowId) if (gMapHeader.floorNum != 0) { ptr = MapNamePopupAppendFloorNum(ptr, gMapHeader.floorNum); - maxWidth = gMapHeader.floorNum != 0x7F ? 152 : 176; + maxWidth = gMapHeader.floorNum != FLOOR_ROOFTOP ? 152 : 176; } xpos = (maxWidth - GetStringWidth(FONT_NORMAL, mapName, -1)) / 2; FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); @@ -207,7 +207,7 @@ static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 floorNum) if (floorNum == 0) return dest; *dest++ = CHAR_SPACE; - if (floorNum == 0x7F) + if (floorNum == FLOOR_ROOFTOP) return StringCopy(dest, gText_Rooftop2); if (floorNum < 0) { diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c index 068ddfedd..dfe3318d4 100644 --- a/src/map_preview_screen.c +++ b/src/map_preview_screen.c @@ -386,7 +386,7 @@ void MapPreview_LoadGfx(u8 mapsec) if (idx != MPS_COUNT) { ResetTempTileDataBuffers(); - LoadPalette(sMapPreviewScreenData[idx].palptr, 0xD0, 0x60); + LoadPalette(sMapPreviewScreenData[idx].palptr, BG_PLTT_ID(13), 3 * PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(0, sMapPreviewScreenData[idx].tilesptr, 0, 0, 0); if (GetBgTilemapBuffer(0) == NULL) { diff --git a/src/menu.c b/src/menu.c index fe1b82f1e..22e0321bc 100644 --- a/src/menu.c +++ b/src/menu.c @@ -177,10 +177,10 @@ u8 CreateTopBarWindowLoadPalette(u8 bg, u8 width, u8 yPos, u8 palette, u16 baseT window.baseBlock = baseTile; sTopBarWindowId = AddWindow(&window); if (palette > 15) - palette = 15 * 16; + palette = BG_PLTT_ID(15); else - palette *= 16; - LoadPalette(GetTextWindowPalette(2), palette, 0x20); + palette = BG_PLTT_ID(palette); + LoadPalette(GetTextWindowPalette(2), palette, PLTT_SIZE_4BPP); return sTopBarWindowId; } diff --git a/src/menu_indicators.c b/src/menu_indicators.c index 86bfcf5fe..393a50867 100644 --- a/src/menu_indicators.c +++ b/src/menu_indicators.c @@ -333,7 +333,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 LoadCompressedSpriteSheet(&spriteSheet); if (arrowInfo->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(arrowInfo->palNum), sizeof(sRedArrowPal)); } else { @@ -539,7 +539,7 @@ u8 ListMenuAddRedOutlineCursorObject(const struct CursorStruct *cursor) LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), sizeof(sRedArrowPal)); } else { @@ -612,7 +612,7 @@ static u8 ListMenuAddRedArrowCursorObject(const struct CursorStruct *cursor) LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), sizeof(sRedArrowPal)); } else { diff --git a/src/money.c b/src/money.c index fbabc889b..4a9a4f464 100644 --- a/src/money.c +++ b/src/money.c @@ -104,9 +104,9 @@ void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed) AddTextPrinterParameterized(windowId, FONT_SMALL, gStringVar4, x, y, speed, NULL); } -void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount) +void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 paletteNum, int amount) { - DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, tileStart, pallete); + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, tileStart, paletteNum); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_TrainerCardMoney, 0, 0, 0xFF, 0); PrintMoneyAmountInMoneyBox(windowId, amount, 0); } @@ -124,7 +124,7 @@ void DrawMoneyBox(int amount, u8 x, u8 y) sMoneyBoxWindowId = AddWindow(&template); FillWindowPixelBuffer(sMoneyBoxWindowId, 0); PutWindowTilemap(sMoneyBoxWindowId); - LoadStdWindowGfx(sMoneyBoxWindowId, 0x21D, 0xD0); + LoadStdWindowGfx(sMoneyBoxWindowId, 0x21D, BG_PLTT_ID(13)); PrintMoneyAmountInMoneyBoxWithBorder(sMoneyBoxWindowId, 0x21D, 13, amount); } diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 7f0644d7f..0c9800146 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -87,110 +87,110 @@ static const struct BgTemplate sBGTemplates[] = { static const struct WindowTemplate sMainWindows[] = { { - .bg = 0x00, - .tilemapLeft = 0x00, - .tilemapTop = 0x00, - .width = 0x1e, - .height = 0x02, - .paletteNum = 0x0f, + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, + .height = 2, + .paletteNum = 15, .baseBlock = 0x0013 }, { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x0f, - .width = 0x1c, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 15, .baseBlock = 0x004f }, { - .bg = 0x00, - .tilemapLeft = 0x00, - .tilemapTop = 0x0f, - .width = 0x1e, - .height = 0x05, - .paletteNum = 0x0d, + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 30, + .height = 5, + .paletteNum = 13, .baseBlock = 0x004f }, DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate sWindowTemplate_YesNoMsg_Wide = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x0f, - .width = 0x1c, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 15, .baseBlock = 0x00e5 }; static const struct WindowTemplate sWindowTemplate_YesNoMsg = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x0f, - .width = 0x14, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 20, + .height = 4, + .paletteNum = 15, .baseBlock = 0x00e5 }; static const struct WindowTemplate sWindowTemplate_GiftSelect = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x0f, - .width = 0x13, - .height = 0x04, - .paletteNum = 0x0f, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 19, + .height = 4, + .paletteNum = 15, .baseBlock = 0x00e5 }; static const struct WindowTemplate sWindowTemplate_ThreeOptions = { - .bg = 0x00, - .tilemapLeft = 0x08, - .tilemapTop = 0x05, - .width = 0x0e, - .height = 0x05, - .paletteNum = 0x0e, + .bg = 0, + .tilemapLeft = 8, + .tilemapTop = 5, + .width = 14, + .height = 5, + .paletteNum = 14, .baseBlock = 0x0155 }; static const struct WindowTemplate sWindowTemplate_YesNoBox = { - .bg = 0x00, - .tilemapLeft = 0x17, - .tilemapTop = 0x0f, - .width = 0x06, - .height = 0x04, - .paletteNum = 0x0e, + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 15, + .width = 6, + .height = 4, + .paletteNum = 14, .baseBlock = 0x0155 }; static const struct WindowTemplate sWindowTemplate_GiftSelect_3Options = { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0c, - .width = 0x07, - .height = 0x07, - .paletteNum = 0x0e, + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 12, + .width = 7, + .height = 7, + .paletteNum = 14, .baseBlock = 0x0155 }; static const struct WindowTemplate sWindowTemplate_GiftSelect_2Options = { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0e, - .width = 0x07, - .height = 0x05, - .paletteNum = 0x0e, + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 14, + .width = 7, + .height = 5, + .paletteNum = 14, .baseBlock = 0x0155 }; static const struct WindowTemplate sWindowTemplate_GiftSelect_1Option = { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0f, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0e, + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 7, + .height = 4, + .paletteNum = 14, .baseBlock = 0x0155 }; @@ -392,8 +392,8 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader) SetBgTilemapBuffer(1, Alloc(BG_SCREEN_SIZE)); SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE)); - LoadUserWindowGfx2(0, 10, 0xE0); - LoadStdWindowGfxOnBg(0, 1, 0xF0); + LoadUserWindowGfx2(0, 10, BG_PLTT_ID(14)); + LoadStdWindowGfxOnBg(0, 1, BG_PLTT_ID(15)); DecompressAndLoadBgGfxUsingHeap(3, sTextboxBorder_Gfx, 0x100, 0, 0); InitWindows(sMainWindows); DeactivateAllTextPrinters(); @@ -404,11 +404,11 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader) gMain.state++; break; case 1: - LoadPalette(sTextboxBorder_Pal, 0, 0x20); - LoadPalette(GetTextWindowPalette(2), 0xd0, 0x20); - FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11); + LoadPalette(sTextboxBorder_Pal, BG_PLTT_ID(0), sizeof(sTextboxBorder_Pal)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(13), PLTT_SIZE_4BPP); + FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17); MG_DrawCheckerboardPattern(); PrintMysteryGiftOrEReaderTopMenu(isEReader, FALSE); gMain.state++; @@ -486,23 +486,23 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 isEReader, bool32 useCancel) void MG_DrawTextBorder(u8 windowId) { - DrawTextBorderOuter(windowId, 0x01, 0xF); + DrawTextBorderOuter(windowId, 0x01, 15); } void MG_DrawCheckerboardPattern(void) { s32 i = 0, j; - FillBgTilemapBufferRect(3, 0x003, 0, 0, 32, 2, 0x11); + FillBgTilemapBufferRect(3, 0x003, 0, 0, 32, 2, 17); for (i = 0; i < 18; i++) { for (j = 0; j < 32; j++) { if ((i & 1) != (j & 1)) - FillBgTilemapBufferRect(3, 1, j, i + 2, 1, 1, 0x11); + FillBgTilemapBufferRect(3, 1, j, i + 2, 1, 1, 17); else - FillBgTilemapBufferRect(3, 2, j, i + 2, 1, 1, 0x11); + FillBgTilemapBufferRect(3, 2, j, i + 2, 1, 1, 17); } } } @@ -512,10 +512,10 @@ void ClearScreenInBg0(bool32 ignoreTopTwoRows) switch (ignoreTopTwoRows) { case 0: - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17); break; case 1: - FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 17); break; } CopyBgTilemapBufferToVram(0); @@ -526,7 +526,7 @@ void AddTextPrinterToWindow1(const u8 *str) StringExpandPlaceholders(gStringVar4, str); FillWindowPixelBuffer(1, 0x11); AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4); - DrawTextBorderOuter(1, 0x001, 0xF); + DrawTextBorderOuter(1, 0x001, 15); PutWindowTilemap(1); CopyWindowToVram(1, COPYWIN_FULL); } @@ -637,7 +637,7 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi finalWidth = (((width + 9) / 8) + 2) & ~1; windowTemplate.width = finalWidth; windowTemplate.tilemapLeft = (30 - finalWidth) / 2; - response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, 0xE0); + response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, BG_PLTT_ID(14)); if (response != LIST_NOTHING_CHOSEN) { ClearWindowTilemap(2); @@ -662,7 +662,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c *windowId = AddWindow(&sWindowTemplate_YesNoMsg); FillWindowPixelBuffer(*windowId, 0x11); AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4); - DrawTextBorderOuter(*windowId, 0x001, 0x0F); + DrawTextBorderOuter(*windowId, 0x001, 15); CopyWindowToVram(*windowId, COPYWIN_GFX); PutWindowTilemap(*windowId); (*textState)++; @@ -719,7 +719,7 @@ static s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cann *windowId = AddWindow(&sWindowTemplate_GiftSelect); FillWindowPixelBuffer(*windowId, 0x11); AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4); - DrawTextBorderOuter(*windowId, 0x001, 0x0F); + DrawTextBorderOuter(*windowId, 0x001, 15); CopyWindowToVram(*windowId, COPYWIN_GFX); PutWindowTilemap(*windowId); (*textState)++; @@ -729,16 +729,16 @@ static s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cann if (cannotSend) { if (!cannotToss) - input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveToss, 1, 0x00A, 0xE0); + input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveToss, 1, 0x00A, BG_PLTT_ID(14)); else - input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_1Option, &sListMenu_Receive, 1, 0x00A, 0xE0); + input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_1Option, &sListMenu_Receive, 1, 0x00A, BG_PLTT_ID(14)); } else { if (!cannotToss) - input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_3Options, &sListMenu_ReceiveSendToss, 1, 0x00A, 0xE0); + input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_3Options, &sListMenu_ReceiveSendToss, 1, 0x00A, BG_PLTT_ID(14)); else - input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveSend, 1, 0x00A, 0xE0); + input = DoMysteryGiftListMenu(&sWindowTemplate_GiftSelect_2Options, &sListMenu_ReceiveSend, 1, 0x00A, BG_PLTT_ID(14)); } if (input != LIST_NOTHING_CHOSEN) { diff --git a/src/mystery_gift_show_card.c b/src/mystery_gift_show_card.c index a52c5ca3c..e7b2f9930 100644 --- a/src/mystery_gift_show_card.c +++ b/src/mystery_gift_show_card.c @@ -215,7 +215,7 @@ s32 WonderCard_Enter(void) if (FreeTempTileDataBuffersIfPossible()) return 0; gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20); + LoadPalette(sWonderCardData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer); CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); CopyBgTilemapBufferToVram(2); diff --git a/src/mystery_gift_show_news.c b/src/mystery_gift_show_news.c index 612df3d0d..43d0dea12 100644 --- a/src/mystery_gift_show_news.c +++ b/src/mystery_gift_show_news.c @@ -171,7 +171,7 @@ s32 WonderNews_Enter(void) if (FreeTempTileDataBuffersIfPossible()) return 0; gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20); + LoadPalette(sWonderNewsData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer); CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); diff --git a/src/naming_screen.c b/src/naming_screen.c index 02b71a094..c9d003a97 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -978,10 +978,10 @@ static u16 GetButtonPalOffset(u8 button) { const u16 palOffsets[BUTTON_COUNT + 1] = { - [BUTTON_PAGE] = IndexOfSpritePaletteTag(PALTAG_PAGE_SWAP) * 16 + 0x10E, - [BUTTON_BACK] = IndexOfSpritePaletteTag(PALTAG_BACK_BUTTON) * 16 + 0x10E, - [BUTTON_OK] = IndexOfSpritePaletteTag(PALTAG_OK_BUTTON) * 16 + 0x10E, - [BUTTON_COUNT] = IndexOfSpritePaletteTag(PALTAG_OK_BUTTON) * 16 + 0x101, + [BUTTON_PAGE] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_PAGE_SWAP)) + 14, + [BUTTON_BACK] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_BACK_BUTTON)) + 14, + [BUTTON_OK] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_OK_BUTTON)) + 14, + [BUTTON_COUNT] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_OK_BUTTON)) + 1, }; return palOffsets[button]; @@ -1060,7 +1060,7 @@ static void SpriteCB_Cursor(struct Sprite *sprite) { s8 gb = sprite->sColor; s8 r = sprite->sColor >> 1; - u16 index = IndexOfSpritePaletteTag(PALTAG_CURSOR) * 16 + 0x0101; + u16 index = OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_CURSOR)) + 1; MultiplyInvertedPaletteRGBComponents(index, r, gb, gb); } @@ -1872,9 +1872,9 @@ static void CreateHelperTasks(void) static void LoadPalettes(void) { - LoadPalette(gNamingScreenMenu_Pal, 0, sizeof(gNamingScreenMenu_Pal)); - LoadPalette(gNamingScreenKeyboard_Pal, 0xA0, 0x20); - LoadPalette(GetTextWindowPalette(2), 0xB0, 0x20); + LoadPalette(gNamingScreenMenu_Pal, BG_PLTT_ID(0), sizeof(gNamingScreenMenu_Pal)); + LoadPalette(gNamingScreenKeyboard_Pal, BG_PLTT_ID(10), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(11), PLTT_SIZE_4BPP); } static void DecompressToBgTilemapBuffer(u8 bg, const u32 *src) diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c index 13e33e119..08c032027 100644 --- a/src/new_menu_helpers.c +++ b/src/new_menu_helpers.c @@ -457,9 +457,9 @@ void LoadStdWindowFrameGfx(void) else { Menu_LoadStdPal(); - LoadMenuMessageWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + LoadMenuMessageWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); } - LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); + LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM)); } void DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -591,7 +591,7 @@ static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilem void EraseFieldMessageBox(bool8 copyToVram) { - FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 17); if (copyToVram == TRUE) CopyBgTilemapBufferToVram(0); } @@ -610,19 +610,19 @@ void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram) } else { - LoadMenuMessageWindowGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + LoadMenuMessageWindowGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); } DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM); } void Menu_LoadStdPal(void) { - LoadPalette(gStandardMenuPalette, STD_WINDOW_PALETTE_NUM * 0x10, 0x14); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM), PLTT_SIZEOF(10)); } void Menu_LoadStdPalAt(u16 offset) { - LoadPalette(gStandardMenuPalette, offset, 0x14); + LoadPalette(gStandardMenuPalette, offset, PLTT_SIZEOF(10)); } // Unused @@ -633,7 +633,7 @@ static const u16 *GetStdMenuPalette(void) static u16 GetStdPalColor(u8 colorNum) { - if (colorNum > 0xF) + if (colorNum > 15) colorNum = 0; return gStandardMenuPalette[colorNum]; } @@ -700,7 +700,7 @@ u16 GetStdWindowBaseTileNum(void) void DrawHelpMessageWindowWithText(const u8 * text) { - LoadHelpMessageWindowGfx(CreateHelpMessageWindow(), DLG_WINDOW_BASE_TILE_NUM, 0x10 * DLG_WINDOW_PALETTE_NUM); + LoadHelpMessageWindowGfx(CreateHelpMessageWindow(), DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); PrintTextOnHelpMessageWindow(text, 2); } @@ -712,8 +712,8 @@ void DestroyHelpMessageWindow_(void) void LoadSignpostWindowFrameGfx(void) { Menu_LoadStdPal(); - LoadSignpostWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, 0x10 * DLG_WINDOW_PALETTE_NUM); - LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, 0x10 * STD_WINDOW_PALETTE_NUM); + LoadSignpostWindowGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); + LoadUserWindowGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM)); } void SetDefaultFontsPointer(void) diff --git a/src/oak_speech.c b/src/oak_speech.c index e2e7eb9b0..77dd3db45 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -753,9 +753,9 @@ static void Task_NewGameScene(u8 taskId) gPaletteFade.bufferTransferDisabled = TRUE; InitStandardTextBoxWindows(); InitTextBoxGfxAndPrinters(); - Menu_LoadStdPalAt(0xD0); - LoadPalette(sOakSpeech_Background_Pals, 0, 0x80); - LoadPalette(GetTextWindowPalette(2) + 15, 0, 2); + Menu_LoadStdPalAt(BG_PLTT_ID(13)); + LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals)); + LoadPalette(GetTextWindowPalette(2) + 15, BG_PLTT_ID(0), PLTT_SIZEOF(1)); break; case 5: sOakSpeechResources->textSpeed = GetTextSpeedSetting(); @@ -921,7 +921,7 @@ static void Task_ControlsGuide_Clear(u8 taskId) CopyBgTilemapBufferToVram(1); DestroyTextCursorSprite(gTasks[taskId].tTextCursorSpriteId); sOakSpeechResources->windowIds[0] = RGB_BLACK; - LoadPalette(sOakSpeechResources->windowIds, 0, 2); + LoadPalette(sOakSpeechResources->windowIds, BG_PLTT_ID(0), PLTT_SIZEOF(1)); gTasks[taskId].tTimer = 32; gTasks[taskId].func = Task_PikachuIntro_LoadPage1; } @@ -1739,7 +1739,7 @@ static void Task_OakSpeech_FadePlayerPicWhite(u8 taskId) { if (tUnderflowingTimer <= 0 && tSecondaryTimer != 0) tSecondaryTimer--; - BlendPalette(0x40, 0x20, tBlendCoefficient, RGB_WHITE); + BlendPalette(BG_PLTT_ID(4), 0x20, tBlendCoefficient, RGB_WHITE); tBlendCoefficient++; tUnderflowingTimer--; tPlayerPicFadeWhiteTimer = tSecondaryTimer; @@ -1747,8 +1747,8 @@ static void Task_OakSpeech_FadePlayerPicWhite(u8 taskId) { for (i = 0; i < 32; i++) { - gPlttBufferFaded[i + 0x40] = RGB_WHITE; - gPlttBufferUnfaded[i + 0x40] = RGB_WHITE; + gPlttBufferFaded[i + BG_PLTT_ID(4)] = RGB_WHITE; + gPlttBufferUnfaded[i + BG_PLTT_ID(4)] = RGB_WHITE; } DestroyTask(taskId); } @@ -1825,7 +1825,13 @@ static void CB2_ReturnFromNamingScreen(void) FreeAllWindowBuffers(); InitStandardTextBoxWindows(); InitTextBoxGfxAndPrinters(); - LoadPalette(sOakSpeech_Background_Pals, 0, 0xE0); + // Below is reading 48 colors beyond the background palette (into the tiles that follow it). + // This color range is used by the player and rival pic, which will overwrite them with the correct colors. +#ifdef BUGFIX + LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals)); +#else + LoadPalette(sOakSpeech_Background_Pals, BG_PLTT_ID(0), sizeof(sOakSpeech_Background_Pals) + PLTT_SIZEOF(48)); +#endif break; case 4: DecompressAndCopyTileDataToVram(1, sOakSpeech_Background_Tiles, 0, 0, 0); @@ -1964,19 +1970,19 @@ static void LoadTrainerPic(u16 whichPic, u16 tileOffset) switch (whichPic) { case MALE_PLAYER_PIC: - LoadPalette(sOakSpeech_Red_Pal, 0x40, 0x40); + LoadPalette(sOakSpeech_Red_Pal, BG_PLTT_ID(4), sizeof(sOakSpeech_Red_Pal)); LZ77UnCompVram(sOakSpeech_Red_Tiles, (void *)VRAM + 0x600 + tileOffset); break; case FEMALE_PLAYER_PIC: - LoadPalette(sOakSpeech_Leaf_Pal, 0x40, 0x40); + LoadPalette(sOakSpeech_Leaf_Pal, BG_PLTT_ID(4), sizeof(sOakSpeech_Leaf_Pal)); LZ77UnCompVram(sOakSpeech_Leaf_Tiles, (void *)VRAM + 0x600 + tileOffset); break; case RIVAL_PIC: - LoadPalette(sOakSpeech_Rival_Pal, 0x60, 0x40); + LoadPalette(sOakSpeech_Rival_Pal, BG_PLTT_ID(6), sizeof(sOakSpeech_Rival_Pal)); LZ77UnCompVram(sOakSpeech_Rival_Tiles, (void *)VRAM + 0x600 + tileOffset); break; case OAK_PIC: - LoadPalette(sOakSpeech_Oak_Pal, 0x60, 0x40); + LoadPalette(sOakSpeech_Oak_Pal, BG_PLTT_ID(6), sizeof(sOakSpeech_Oak_Pal)); LZ77UnCompVram(sOakSpeech_Oak_Tiles, (void *)VRAM + 0x600 + tileOffset); break; default: diff --git a/src/option_menu.c b/src/option_menu.c index 9a70614aa..0b55a34ff 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -93,7 +93,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x16e }, DUMMY_WIN_TEMPLATE @@ -340,14 +340,14 @@ static bool8 LoadOptionMenuPalette(void) LoadBgTiles(1, GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA); break; case 1: - LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20); + LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP); break; case 2: - LoadPalette(sOptionMenuPalette, 0x10, 0x20); - LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20); + LoadPalette(sOptionMenuPalette, BG_PLTT_ID(1), sizeof(sOptionMenuPalette)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP); break; case 3: - LoadStdWindowGfxOnBg(1, 0x1B3, 0x30); + LoadStdWindowGfxOnBg(1, 0x1B3, BG_PLTT_ID(3)); break; default: return TRUE; @@ -382,7 +382,7 @@ static void Task_OptionMenu(u8 taskId) break; case 2: LoadBgTiles(1, GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA); - LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20); + LoadPalette(GetUserWindowGraphics(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP); BufferOptionMenuString(sOptionMenuPtr->cursorPos); break; case 3: diff --git a/src/palette.c b/src/palette.c index 08c6111b7..84f23428f 100644 --- a/src/palette.c +++ b/src/palette.c @@ -59,7 +59,7 @@ ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0}; static EWRAM_DATA struct PaletteStruct sPaletteStructs[NUM_PALETTE_STRUCTS] = {0}; EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0}; static EWRAM_DATA u32 sPlttBufferTransferPending = 0; -EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0}; +EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_SIZE] = {0}; static const struct PaletteStructTemplate sDummyPaletteStructTemplate = { @@ -141,7 +141,7 @@ void ReadPlttIntoBuffers(void) u16 i; u16 *pltt = (u16 *)PLTT; - for (i = 0; i < PLTT_SIZE / 2; ++i) + for (i = 0; i < PLTT_BUFFER_SIZE; ++i) { gPlttBufferUnfaded[i] = pltt[i]; gPlttBufferFaded[i] = pltt[i]; @@ -420,7 +420,7 @@ static u8 UpdateNormalPaletteFade(void) else { selectedPalettes = gPaletteFade_selectedPalettes >> 16; - paletteOffset = 256; + paletteOffset = OBJ_PLTT_OFFSET; } while (selectedPalettes) { @@ -559,13 +559,13 @@ static u8 UpdateFastPaletteFade(void) return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE; if (gPaletteFade.objPaletteToggle) { - paletteOffsetStart = 256; - paletteOffsetEnd = 512; + paletteOffsetStart = OBJ_PLTT_OFFSET; + paletteOffsetEnd = PLTT_BUFFER_SIZE; } else { paletteOffsetStart = 0; - paletteOffsetEnd = 256; + paletteOffsetEnd = OBJ_PLTT_OFFSET; } switch (gPaletteFade_submode) { @@ -791,7 +791,7 @@ void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color) void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color) { // This copy is done via DMA in both RUBY and EMERALD - CpuFastCopy(gPlttBufferUnfaded, gPlttBufferFaded, 0x400); + CpuFastCopy(gPlttBufferUnfaded, gPlttBufferFaded, PLTT_SIZE); BlendPalettes(selectedPalettes, coeff, color); } diff --git a/src/party_menu.c b/src/party_menu.c index cf1984c84..348bbf3a4 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -670,8 +670,8 @@ static bool8 AllocPartyMenuBgGfx(void) } break; case 2: - LoadCompressedPalette(gPartyMenuBg_Pal, 0, 0x160); - CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 0x160); + LoadCompressedPalette(gPartyMenuBg_Pal, BG_PLTT_ID(0), 11 * PLTT_SIZE_4BPP); + CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 11 * PLTT_SIZE_4BPP); ++sPartyMenuInternal->data[0]; break; case 3: @@ -702,9 +702,9 @@ static bool8 AllocPartyMenuBgGfx(void) static void PartyPaletteBufferCopy(u8 offset) { - offset *= 16; - CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferUnfaded[offset], 32); - CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferFaded[offset], 32); + offset = PLTT_ID(offset); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(3)], &gPlttBufferUnfaded[offset], PLTT_SIZE_4BPP); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(3)], &gPlttBufferFaded[offset], PLTT_SIZE_4BPP); } static void FreePartyPointers(void) @@ -2006,8 +2006,8 @@ static void Task_FirstBattleEnterParty_WaitFadeNormal(u8 taskId) { if (!gPaletteFade.active) { - LoadUserWindowGfx(0, 0x4F, 0xD0); - LoadStdWindowGfx(0, 0x58, 0xF0); + LoadUserWindowGfx(0, 0x4F, BG_PLTT_ID(13)); + LoadStdWindowGfx(0, 0x58, BG_PLTT_ID(15)); if (gPartyMenu.action == PARTY_ACTION_USE_ITEM) DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); else @@ -2117,10 +2117,10 @@ static void InitPartyMenuWindows(u8 layout) DeactivateAllTextPrinters(); for (i = 0; i < PARTY_SIZE; ++i) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - LoadUserWindowGfx(0, 0x4F, 0xD0); - LoadStdWindowGfx(0, 0x58, 0xF0); - LoadPalette(GetTextWindowPalette(2), 0xC0, 0x20); - LoadPalette(GetTextWindowPalette(0), 0xE0, 0x20); + LoadUserWindowGfx(0, 0x4F, BG_PLTT_ID(13)); + LoadStdWindowGfx(0, 0x58, BG_PLTT_ID(15)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(12), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(14), PLTT_SIZE_4BPP); } static void CreateCancelConfirmWindows(bool8 chooseMultiple) @@ -2215,16 +2215,16 @@ static void DrawEmptySlot(u8 windowId) BlitBitmapToPartyWindow(windowId, sSlotTilemap_WideEmpty, 18, 0, 0, 18, 3); } -#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \ -{ \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, 2); \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, 2); \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \ +#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \ +{ \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palOffset, PLTT_SIZEOF(1)); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palOffset, PLTT_SIZEOF(1)); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palOffset, PLTT_SIZEOF(1)); \ } static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags) { - u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; + u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM)); if (palFlags & PARTY_PAL_TO_SOFTBOIL) { @@ -2349,7 +2349,7 @@ static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Pa static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox) { - u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; + u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM)); if (species == SPECIES_NONE) return; @@ -2358,13 +2358,13 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru switch (gender) { case MON_MALE: - LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palOffset, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palOffset, PLTT_SIZEOF(1)); DisplayPartyPokemonBarDetail(menuBox->windowId, gText_MaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; case MON_FEMALE: - LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palOffset, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palOffset, PLTT_SIZEOF(1)); DisplayPartyPokemonBarDetail(menuBox->windowId, gText_FemaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; } @@ -2417,23 +2417,23 @@ static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuB static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox) { - u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; + u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM)); u8 hpFraction; switch (GetHPBarLevel(hp, maxhp)) { case HP_BAR_GREEN: case HP_BAR_FULL: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1)); break; case HP_BAR_YELLOW: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1)); break; default: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palOffset, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palOffset, PLTT_SIZEOF(1)); break; } hpFraction = GetScaledHPFraction(hp, maxhp, menuBox->infoRects->dimensions[22]); @@ -2503,7 +2503,7 @@ void DisplayPartyMenuStdMessage(u32 stringId) else if (!ShouldUseChooseMonText()) stringId = PARTY_MSG_CHOOSE_MON_OR_CANCEL; } - DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x58, 0xF); + DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x58, 15); StringExpandPlaceholders(gStringVar4, sActionStringTable[stringId]); AddTextPrinterParameterized(*windowPtr, FONT_NORMAL, gStringVar4, 0, 2, 0, 0); ScheduleBgCopyTilemapToVram(2); @@ -2603,7 +2603,7 @@ static bool8 FirstBattleEnterParty_CreateWindowAndMsg1Printer(void) { u8 windowId = AddWindow(&sWindowTemplate_FirstBattleOakVoiceover); - LoadMenuMessageWindowGfx(windowId, 0x4F, 0xE0); + LoadMenuMessageWindowGfx(windowId, 0x4F, BG_PLTT_ID(14)); DrawDialogFrameWithCustomTileAndPalette(windowId, 1, 0x4F, 0xE); PartyMenu_Oak_PrintText(windowId, gText_OakImportantToGetToKnowPokemonThroughly); return windowId; diff --git a/src/pc_screen_effect.c b/src/pc_screen_effect.c index e7303a030..ee91b80a7 100644 --- a/src/pc_screen_effect.c +++ b/src/pc_screen_effect.c @@ -83,7 +83,7 @@ static void Task_PCScreenEffect_TurnOn(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_BLDCNT, task->tBldCntBak); BlendPalettes(PALETTES_ALL, 0, RGB_BLACK); - gPlttBufferFaded[0] = 0; + gPlttBufferFaded[BG_PLTT_ID(0)] = 0; } SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->tWin0Left, task->tWin0Right)); if (task->tWin0Left) @@ -117,7 +117,7 @@ static void Task_PCScreenEffect_TurnOff(u8 taskId) switch (task->tState) { case 0: - gPlttBufferFaded[0] = 0; + gPlttBufferFaded[BG_PLTT_ID(0)] = 0; break; case 1: task->tWin0Left = 0; @@ -152,7 +152,7 @@ static void Task_PCScreenEffect_TurnOff(u8 taskId) task->tWin0Left = 120; task->tWin0Right = 120; BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); - gPlttBufferFaded[0] = 0; + gPlttBufferFaded[BG_PLTT_ID(0)] = 0; } SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->tWin0Left, task->tWin0Right)); if (task->tWin0Left != 120) diff --git a/src/pokedex_area_markers.c b/src/pokedex_area_markers.c index b98943b06..565911539 100644 --- a/src/pokedex_area_markers.c +++ b/src/pokedex_area_markers.c @@ -201,7 +201,7 @@ u8 CreatePokedexAreaMarkers(u16 species, u16 tilesTag, u8 palIdx, u8 y) spriteSheet.size = 0x4A0; spriteSheet.tag = tilesTag; LoadCompressedSpriteSheet(&spriteSheet); - LoadPalette(sMarkerPal, 0x100 + 16 * palIdx, 0x20); + LoadPalette(sMarkerPal, OBJ_PLTT_ID(palIdx), sizeof(sMarkerPal)); // Get marker subsprites taskId = CreateTask(Task_ShowAreaMarkers, 0); diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index 53a6485d8..67d826fa4 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -922,15 +922,15 @@ void DexScreen_LoadResources(void) ChangeBgY(3, 0, 0); gPaletteFade.bufferTransferDisabled = TRUE; if (natDex) - LoadPalette(sNationalDexPalette, 0, 0x200); + LoadPalette(sNationalDexPalette, BG_PLTT_ID(0), sizeof(sNationalDexPalette)); else - LoadPalette(sKantoDexPalette, 0, 0x200); - FillBgTilemapBufferRect(3, 0x001, 0, 0, 32, 32, 0x00); - FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(0, 0x003, 0, 0, 32, 2, 0x0F); - FillBgTilemapBufferRect(0, 0x000, 0, 2, 32, 16, 0x11); - FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 0x0F); + LoadPalette(sKantoDexPalette, BG_PLTT_ID(0), sizeof(sKantoDexPalette)); + FillBgTilemapBufferRect(3, 0x001, 0, 0, 32, 32, 0); + FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(0, 0x003, 0, 0, 32, 2, 15); + FillBgTilemapBufferRect(0, 0x000, 0, 2, 32, 16, 17); + FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 15); } void CB2_OpenPokedexFromStartMenu(void) @@ -1124,9 +1124,9 @@ static void Task_PokedexScreen(u8 taskId) static void DexScreen_InitGfxForTopMenu(void) { struct ListMenuTemplate listMenuTemplate; - FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00); - FillBgTilemapBufferRect(2, 0x000, 0, 0, 30, 20, 0x11); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 30, 20, 0x11); + FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0); + FillBgTilemapBufferRect(2, 0x000, 0, 0, 30, 20, 17); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 30, 20, 17); sPokedexScreenData->modeSelectWindowId = AddWindow(&sWindowTemplate_ModeSelect); sPokedexScreenData->selectionIconWindowId = AddWindow(&sWindowTemplate_SelectionIcon); sPokedexScreenData->dexCountsWindowId = AddWindow(&sWindowTemplate_DexCounts); @@ -1177,12 +1177,12 @@ static void MoveCursorFunc_DexModeSelect(s32 itemIndex, bool8 onInit, struct Lis if (itemIndex == LIST_CANCEL) { CopyToWindowPixelBuffer(sPokedexScreenData->selectionIconWindowId, sTopMenuSelectionIconTiles_Cancel, 0x000, 0x000); - LoadPalette(sTopMenuSelectionIconPals_Cancel, 0x10, 0x20); + LoadPalette(sTopMenuSelectionIconPals_Cancel, BG_PLTT_ID(1), PLTT_SIZE_4BPP); } else { CopyToWindowPixelBuffer(sPokedexScreenData->selectionIconWindowId, sTopMenuSelectionIconGfxPtrs[itemIndex].tiles, 0x000, 0x000); - LoadPalette(sTopMenuSelectionIconGfxPtrs[itemIndex].pal, 0x10, 0x20); + LoadPalette(sTopMenuSelectionIconGfxPtrs[itemIndex].pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); } PutWindowTilemap(sPokedexScreenData->selectionIconWindowId); CopyWindowToVram(sPokedexScreenData->selectionIconWindowId, COPYWIN_GFX); @@ -1201,8 +1201,8 @@ static void Task_DexScreen_NumericalOrder(u8 taskId) switch (sPokedexScreenData->state) { case 0: - ListMenuLoadStdPalAt(0x10, 0); - ListMenuLoadStdPalAt(0x20, 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(1), 0); + ListMenuLoadStdPalAt(BG_PLTT_ID(2), 1); sPokedexScreenData->orderedDexCount = DexScreen_CountMonsInOrderedList(sPokedexScreenData->dexOrderId); sPokedexScreenData->state = 2; break; @@ -1266,8 +1266,8 @@ static void Task_DexScreen_NumericalOrder(u8 taskId) static void DexScreen_InitGfxForNumericalOrderList(void) { struct ListMenuTemplate template; - FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); sPokedexScreenData->numericalOrderWindowId = AddWindow(&sWindowTemplate_OrderedListMenu); template = sListMenuTemplate_OrderedListMenu; template.items = sPokedexScreenData->listItems; @@ -1287,8 +1287,8 @@ static void Task_DexScreen_CharacteristicOrder(u8 taskId) switch (sPokedexScreenData->state) { case 0: - ListMenuLoadStdPalAt(0x10, 0); - ListMenuLoadStdPalAt(0x20, 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(1), 0); + ListMenuLoadStdPalAt(BG_PLTT_ID(2), 1); sPokedexScreenData->orderedDexCount = DexScreen_CountMonsInOrderedList(sPokedexScreenData->dexOrderId); sPokedexScreenData->state = 2; break; @@ -1352,8 +1352,8 @@ static void Task_DexScreen_CharacteristicOrder(u8 taskId) static void DexScreen_CreateCharacteristicListMenu(void) { struct ListMenuTemplate template; - FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); sPokedexScreenData->numericalOrderWindowId = AddWindow(&sWindowTemplate_OrderedListMenu); template = sListMenuTemplate_OrderedListMenu; template.items = sPokedexScreenData->listItems; @@ -2405,10 +2405,10 @@ static void DexScreen_CreateCategoryPageSelectionCursor(u8 cursorPos) { for (i = 0; i < 4; i++) { - LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x52 + 0x10 * i, 2); - LoadPalette(&sDexScreen_CategoryCursorPals[1], 0x58 + 0x10 * i, 2); + LoadPalette(&sDexScreen_CategoryCursorPals[0], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); + LoadPalette(&sDexScreen_CategoryCursorPals[1], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); } - LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x141, 2); + LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x141, PLTT_SIZEOF(1)); sPokedexScreenData->categoryPageSelectionCursorTimer = 0; } else @@ -2421,16 +2421,16 @@ static void DexScreen_CreateCategoryPageSelectionCursor(u8 cursorPos) { if (i == cursorPos) { - LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], 0x52 + 0x10 * i, 2); - LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 3], 0x58 + 0x10 * i, 2); + LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); + LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 3], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); } else { - LoadPalette(&sDexScreen_CategoryCursorPals[0], 0x52 + 0x10 * i, 2); - LoadPalette(&sDexScreen_CategoryCursorPals[1], 0x58 + 0x10 * i, 2); + LoadPalette(&sDexScreen_CategoryCursorPals[0], PLTT_ID(i) + PLTT_ID(5) + 2 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); + LoadPalette(&sDexScreen_CategoryCursorPals[1], PLTT_ID(i) + PLTT_ID(5) + 8 + BG_PLTT_OFFSET, PLTT_SIZEOF(1)); } } - LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], 0x141, 2); + LoadPalette(&sDexScreen_CategoryCursorPals[2 * palIdx + 2], OBJ_PLTT_ID(4) + 1, PLTT_SIZEOF(1)); } } @@ -3054,7 +3054,7 @@ u8 DexScreen_DrawMonAreaPage(void) // Draw the mon icon FillWindowPixelBuffer(sPokedexScreenData->windowIds[11], PIXEL_FILL(0)); - ListMenu_LoadMonIconPalette(160, species); + ListMenu_LoadMonIconPalette(BG_PLTT_ID(10), species); ListMenu_DrawMonIconGraphics(sPokedexScreenData->windowIds[11], species, DexScreen_GetDefaultPersonality(species), 0, 0); PutWindowTilemap(sPokedexScreenData->windowIds[11]); CopyWindowToVram(sPokedexScreenData->windowIds[11], COPYWIN_GFX); @@ -3087,7 +3087,7 @@ u8 DexScreen_DrawMonAreaPage(void) // Type icons FillWindowPixelBuffer(sPokedexScreenData->windowIds[12], PIXEL_FILL(0)); - ListMenuLoadStdPalAt(176, 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(11), 1); if (monIsCaught) { @@ -3100,7 +3100,7 @@ u8 DexScreen_DrawMonAreaPage(void) // Show size comparison ResetAllPicSprites(); - LoadPalette(sPalette_Silhouette, 288, 32); + LoadPalette(sPalette_Silhouette, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); if (monIsCaught) { diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 6385fe420..037b1bfa8 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1126,7 +1126,7 @@ void DestroyMonIcon(struct Sprite *sprite) void LoadMonIconPalettes(void) { u8 i; - for (i = 0; i < NELEMS(gMonIconPaletteTable); i++) + for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++) LoadSpritePalette(&gMonIconPaletteTable[i]); } @@ -1151,7 +1151,7 @@ void LoadMonIconPalette(u16 species) void FreeMonIconPalettes(void) { u8 i; - for (i = 0; i < 6; i++) + for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++) FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag); } @@ -1179,12 +1179,12 @@ void SpriteCB_MonIcon(struct Sprite *sprite) void LoadMonIconPalettesAt(u16 offset) { int i; - if (offset <= 0x100 - 0x60) + if (offset <= BG_PLTT_ID(16 - ARRAY_COUNT(gMonIconPaletteTable))) { - for (i = 0; i < (int)NELEMS(gMonIconPaletteTable); i++) + for (i = 0; i < (int)ARRAY_COUNT(gMonIconPaletteTable); i++) { - LoadPalette(gMonIconPaletteTable[i].data, offset, 0x20); - offset += 0x10; + LoadPalette(gMonIconPaletteTable[i].data, offset, PLTT_SIZE_4BPP); + offset += 16; } } } diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 49e94867b..fd695bef0 100644 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -3039,22 +3039,22 @@ static void LoadPokeJumpGfx(void) ResetTempTileDataBuffers(); LoadSpriteSheetsAndPalettes(sPokemonJumpGfx); InitDigitPrinters(); - LoadPalette(sBg_Pal, 0, 0x20); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Tilemap, 0, 0, 1); - LoadPalette(sVenusaur_Pal, 0x30, 0x20); + LoadPalette(sVenusaur_Pal, BG_PLTT_ID(3), sizeof(sVenusaur_Pal)); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Tilemap, 0, 0, 1); - LoadPalette(sBonuses_Pal, 0x10, 0x20); + LoadPalette(sBonuses_Pal, BG_PLTT_ID(1), sizeof(sBonuses_Pal)); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Tilemap, 0, 0, 1); - LoadPalette(sInterface_Pal, 0x20, 0x20); + LoadPalette(sInterface_Pal, BG_PLTT_ID(2), sizeof(sInterface_Pal)); SetBgTilemapBuffer(BG_INTERFACE, sPokemonJumpGfx->tilemapBuffer); FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 0x20, 0x20); PrintScoreSuffixes(); PrintScore(0); - LoadStdWindowGfxOnBg(0, 1, 0xE0); - LoadUserWindowGfx2(0, 0x00A, 0xD0); + LoadStdWindowGfxOnBg(0, 1, BG_PLTT_ID(14)); + LoadUserWindowGfx2(0, 0x00A, BG_PLTT_ID(13)); CopyBgTilemapBufferToVram(BG_INTERFACE); CopyBgTilemapBufferToVram(BG_VENUSAUR); CopyBgTilemapBufferToVram(BG_BONUSES); @@ -3472,7 +3472,7 @@ static u32 AddMessageWindow(u32 left, u32 top, u32 width, u32 height) window.tilemapTop = top; window.width = width; window.height = height; - window.paletteNum = 0xF; + window.paletteNum = 15; window.baseBlock = 0x43; windowId = AddWindow(&window); @@ -3493,7 +3493,7 @@ static void CreatePokeJumpYesNoMenu(u16 left, u16 top, u8 cursorPos) window.paletteNum = 2; window.baseBlock = 0x2B; - CreateYesNoMenu(&window, FONT_NORMAL, 0, 2, 0x00a, 0xD, a); + CreateYesNoMenu(&window, FONT_NORMAL, 0, 2, 0x00a, 13, a); } // "Points" for jump score and "times" for number of jumps in a row @@ -4554,8 +4554,8 @@ static void PrintRecordsText(u16 windowId) recordNums[1] = records->bestJumpScore; recordNums[2] = records->excellentsInRow; - LoadStdWindowGfx(windowId, 0x21D, 0xD0); - DrawTextBorderOuter(windowId, 0x21D, 0xD); + LoadStdWindowGfx(windowId, 0x21D, BG_PLTT_ID(13)); + DrawTextBorderOuter(windowId, 0x21D, 13); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized5(windowId, FONT_NORMAL, gText_PkmnJumpRecords, 0, 0, TEXT_SKIP_DRAW, NULL, 1, 0); for (i = 0; i < ARRAY_COUNT(sRecordsTexts); i++) diff --git a/src/pokemon_special_anim_scene.c b/src/pokemon_special_anim_scene.c index 216966921..164d936a1 100644 --- a/src/pokemon_special_anim_scene.c +++ b/src/pokemon_special_anim_scene.c @@ -341,7 +341,7 @@ void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 an FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32); LoadBgGfxByAnimType(animType); FillWindowPixelBuffer(0, PIXEL_FILL(0)); - LoadUserWindowGfx(0, 0x000, 0xe0); + LoadUserWindowGfx(0, 0x000, BG_PLTT_ID(14)); CopyWindowToVram(0, COPYWIN_FULL); ShowBg(0); ShowBg(3); @@ -370,7 +370,7 @@ void PSA_ShowMessageWindow(void) { PutWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - DrawTextBorderOuter(0, 0x001, 0xE); + DrawTextBorderOuter(0, 0x001, 14); CopyWindowToVram(0, COPYWIN_FULL); } @@ -612,7 +612,7 @@ bool8 PSA_LevelUpVerticalSpritesTaskIsRunning(void) // Unused void PSA_DrawLevelUpWindowPg1(u16 *statsBefore, u16 *statsAfter) { - DrawTextBorderOuter(1, 0x001, 0xE); + DrawTextBorderOuter(1, 0x001, 14); DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY); PutWindowTilemap(1); CopyWindowToVram(1, COPYWIN_FULL); @@ -636,9 +636,9 @@ static void LoadBgGfxByAnimType(u16 animType) CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0x000); DecompressAndCopyTileDataToVram(3, sBg_Gfx, 0, 0x000, 0); if (animType != 4) - LoadPalette(sBg_Pal, 0x00, 0x20); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); else - LoadPalette(sBg_TmHm_Pal, 0x00, 0x20); + LoadPalette(sBg_TmHm_Pal, BG_PLTT_ID(0), sizeof(sBg_TmHm_Pal)); } void PSA_CreateMonSpriteAtCloseness(u8 closeness) diff --git a/src/pokemon_storage_system_graphics.c b/src/pokemon_storage_system_graphics.c index 946b319d9..046f82d9c 100644 --- a/src/pokemon_storage_system_graphics.c +++ b/src/pokemon_storage_system_graphics.c @@ -1205,9 +1205,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction) DrawWallpaper(gStorage->wallpaperBgTilemapBuffer, gStorage->wallpaperTilemap, gStorage->wallpaperLoadDir, gStorage->wallpaperOffset); if (gStorage->wallpaperLoadDir != 0) - LoadPalette(wallpaper->palettes, (gStorage->wallpaperOffset * 32) + 0x40, 0x40); + LoadPalette(wallpaper->palettes, BG_PLTT_ID(4) + BG_PLTT_ID(gStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); else - CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[(gStorage->wallpaperOffset * 32) + 0x40], 0x40); + CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[BG_PLTT_ID(4) + BG_PLTT_ID(gStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); DecompressAndLoadBgGfxUsingHeap(2, wallpaper->tiles, 0, 256 * gStorage->wallpaperOffset, 0); @@ -1281,12 +1281,12 @@ static void InitBoxTitle(u8 boxId) gStorage->wallpaperPalBits = 0x3F0; tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE); - gStorage->boxTitlePalOffset = 0x10e + 16 * tagIndex; - gStorage->wallpaperPalBits |= 0x10000 << tagIndex; + gStorage->boxTitlePalOffset = OBJ_PLTT_ID(tagIndex) + 14; + gStorage->wallpaperPalBits |= (1 << 16) << tagIndex; tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE); - gStorage->boxTitleAltPalOffset = 0x10e + 16 * tagIndex; - gStorage->wallpaperPalBits |= 0x10000 << tagIndex; + gStorage->boxTitleAltPalOffset = OBJ_PLTT_ID(tagIndex) + 14; + gStorage->wallpaperPalBits |= (1 << 16) << tagIndex; StringCopyPadded(gStorage->boxTitleText, GetBoxNamePtr(boxId), 0, 8); DrawTextWindowAndBufferTiles(gStorage->boxTitleText, gStorage->boxTitleTiles, 0, 0, gStorage->boxTitleUnused, 2); @@ -1387,9 +1387,9 @@ static void CycleBoxTitleColor(void) u8 boxId = StorageGetCurrentBox(); u8 wallpaperId = GetBoxWallpaper(boxId); if (gStorage->boxTitleCycleId == 0) - CpuCopy16(sBoxTitleColors[wallpaperId], gPlttBufferUnfaded + gStorage->boxTitlePalOffset, 4); + CpuCopy16(sBoxTitleColors[wallpaperId], &gPlttBufferUnfaded[gStorage->boxTitlePalOffset], PLTT_SIZEOF(2)); else - CpuCopy16(sBoxTitleColors[wallpaperId], gPlttBufferUnfaded + gStorage->boxTitleAltPalOffset, 4); + CpuCopy16(sBoxTitleColors[wallpaperId], &gPlttBufferUnfaded[gStorage->boxTitleAltPalOffset], PLTT_SIZEOF(2)); } static s16 GetBoxTitleBaseX(const u8 *string) diff --git a/src/pokemon_storage_system_misc.c b/src/pokemon_storage_system_misc.c index c2256863e..c75359421 100644 --- a/src/pokemon_storage_system_misc.c +++ b/src/pokemon_storage_system_misc.c @@ -118,7 +118,7 @@ static bool8 MultiMove_Function_Start(void) { case 0: HideBg(0); - LoadMonIconPalettesAt(0x80); + LoadMonIconPalettesAt(BG_PLTT_ID(8)); sMultiMove->state++; break; case 1: @@ -167,7 +167,7 @@ static bool8 MultiMove_Function_Single(void) if (!IsDma3ManagerBusyWithBgCopy()) { SetCursorPriorityTo1(); - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); ShowBg(0); return FALSE; } @@ -273,7 +273,7 @@ static bool8 MultiMove_Function_PlaceMons(void) case 3: if (!IsDma3ManagerBusyWithBgCopy()) { - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); SetCursorPriorityTo1(); ShowBg(0); return FALSE; @@ -703,8 +703,7 @@ void CreateItemIconSprites(void) LoadCompressedSpriteSheet(&spriteSheet); gStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void *)(OBJ_VRAM0); gStorage->itemIcons[i].palIndex = AllocSpritePalette(PALTAG_ITEM_ICON_0 + i); - gStorage->itemIcons[i].palIndex *= 16; - gStorage->itemIcons[i].palIndex += 0x100; + gStorage->itemIcons[i].palIndex = OBJ_PLTT_ID(gStorage->itemIcons[i].palIndex); spriteTemplate.tileTag = GFXTAG_ITEM_ICON_0 + i; spriteTemplate.paletteTag = PALTAG_ITEM_ICON_0 + i; spriteId = CreateSprite(&spriteTemplate, 0, 0, 11); @@ -1060,7 +1059,7 @@ static void LoadItemIconGfx(u8 id, const u32 *itemTiles, const u32 *itemPal) CpuFastCopy(gStorage->itemIconBuffer, gStorage->itemIcons[id].tiles, 0x200); LZ77UnCompWram(itemPal, gStorage->itemIconBuffer); - LoadPalette(gStorage->itemIconBuffer, gStorage->itemIcons[id].palIndex, 0x20); + LoadPalette(gStorage->itemIconBuffer, gStorage->itemIcons[id].palIndex, PLTT_SIZE_4BPP); } static void SetItemIconAffineAnim(u8 id, u8 animNum) diff --git a/src/pokemon_storage_system_tasks.c b/src/pokemon_storage_system_tasks.c index e80e9fe92..8388c7df4 100644 --- a/src/pokemon_storage_system_tasks.c +++ b/src/pokemon_storage_system_tasks.c @@ -534,7 +534,7 @@ static void Task_InitPokeStorage(u8 taskId) PutWindowTilemap(0); ClearWindowTilemap(1); CpuFill32(0, (void *)VRAM, 0x200); - LoadUserWindowGfx(1, 0xB, 0xE0); + LoadUserWindowGfx(1, 0xB, BG_PLTT_ID(14)); break; case 3: ResetAllBgCoords(); @@ -2147,13 +2147,13 @@ static void LoadsMiscSpritePalette(void) static void InitPalettesAndSprites(void) { - LoadPalette(gPokeStorageInterface_Pal, 0, 0x20); - LoadPalette(gPokeStorageInterface_NoDisplayMon_Pal, 0x20, 0x20); - LoadPalette(sItemInfoFrame_Pal, 0xF0, 0x20); + LoadPalette(gPokeStorageInterface_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(gPokeStorageInterface_NoDisplayMon_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); + LoadPalette(sItemInfoFrame_Pal, BG_PLTT_ID(15), sizeof(sItemInfoFrame_Pal)); if (gStorage->boxOption != OPTION_MOVE_ITEMS) - LoadPalette(sScrollingBg_Pal, 0x30, sizeof(sScrollingBg_Pal)); + LoadPalette(sScrollingBg_Pal, BG_PLTT_ID(3), sizeof(sScrollingBg_Pal)); else - LoadPalette(sScrollingBgMoveItems_Pal, 0x30, sizeof(sScrollingBgMoveItems_Pal)); + LoadPalette(sScrollingBgMoveItems_Pal, BG_PLTT_ID(3), sizeof(sScrollingBgMoveItems_Pal)); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30)); CreateDisplayMonSprite(); @@ -2256,7 +2256,7 @@ static void CreateDisplayMonSprite(void) break; gStorage->displayMonSprite = &gSprites[spriteId]; - gStorage->displayMonPalOffset = palSlot * 16 + 0x100; + gStorage->displayMonPalOffset = OBJ_PLTT_ID(palSlot); gStorage->displayMonTilePtr = (void *)OBJ_VRAM0 + tileStart * 32; } while (FALSE); @@ -2277,7 +2277,7 @@ static void LoadDisplayMonGfx(u16 species, u32 personality) HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gStorage->tileBuffer, species, personality); LZ77UnCompWram(gStorage->displayMonPalette, gStorage->displayMonPalBuffer); CpuCopy32(gStorage->tileBuffer, gStorage->displayMonTilePtr, 0x800); - LoadPalette(gStorage->displayMonPalBuffer, gStorage->displayMonPalOffset, 0x20); + LoadPalette(gStorage->displayMonPalBuffer, gStorage->displayMonPalOffset, PLTT_SIZE_4BPP); gStorage->displayMonSprite->invisible = FALSE; } else @@ -2337,7 +2337,7 @@ static void UpdateWaveformAnimation(void) static void InitSupplementalTilemaps(void) { LZ77UnCompWram(gPokeStoragePartyMenu_Tilemap, gStorage->partyMenuTilemapBuffer); - LoadPalette(gPokeStoragePartyMenu_Pal, 0x10, 0x20); + LoadPalette(gPokeStoragePartyMenu_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); TilemapUtil_SetTilemap(TILEMAP_PARTY_MENU, 1, gStorage->partyMenuTilemapBuffer, 12, 22); TilemapUtil_SetTilemap(TILEMAP_CLOSE_BUTTON, 1, sCloseBoxButton_Tilemap, 9, 4); TilemapUtil_SetPos(TILEMAP_PARTY_MENU, 10, 0); @@ -2545,7 +2545,7 @@ static bool8 DoShowPartyMenu(void) static void InitPokeStorageBg0(void) { SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29)); - LoadStdWindowGfx(1, 2, 0xD0); + LoadStdWindowGfx(1, 2, BG_PLTT_ID(13)); FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); CopyBgTilemapBufferToVram(0); } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3135621dc..f4b4af3c3 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2006,22 +2006,22 @@ static u8 PokeSum_HandleLoadBgGfx(void) switch (sMonSummaryScreen->loadBgGfxStep) { case 0: - LoadPalette(gSummaryScreen_Bg_Pal, 0, 0x20 * 5); + LoadPalette(gSummaryScreen_Bg_Pal, BG_PLTT_ID(0), 5 * PLTT_SIZE_4BPP); if (IsMonShiny(&sMonSummaryScreen->currentMon) == TRUE && !sMonSummaryScreen->isEgg) { - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], 0, 0x20); - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], 0x10, 0x20); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], BG_PLTT_ID(1), PLTT_SIZE_4BPP); } else { - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], 0, 0x20); - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], 0x10, 0x20); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], BG_PLTT_ID(1), PLTT_SIZE_4BPP); } break; case 1: - ListMenuLoadStdPalAt(0x60, 1); - LoadPalette(sTextHeaderPalette, 0x70, 0x20); + ListMenuLoadStdPalAt(BG_PLTT_ID(6), 1); + LoadPalette(sTextHeaderPalette, BG_PLTT_ID(7), PLTT_SIZE_4BPP); break; case 2: ResetTempTileDataBuffers(); @@ -2039,7 +2039,7 @@ static u8 PokeSum_HandleLoadBgGfx(void) break; default: - LoadPalette(sTextMovesPalette, 0x80, 0x20); + LoadPalette(sTextMovesPalette, BG_PLTT_ID(8), PLTT_SIZE_4BPP); return TRUE; } @@ -5078,13 +5078,13 @@ static void Task_PokeSum_SwitchDisplayedPokemon(u8 taskId) if (IsMonShiny(&sMonSummaryScreen->currentMon) == TRUE && !sMonSummaryScreen->isEgg) { - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], 0, 0x20); - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], 0x10, 0x20); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 6], BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 5], BG_PLTT_ID(1), PLTT_SIZE_4BPP); } else { - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], 0, 0x20); - LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], 0x10, 0x20); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 0], BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(&gSummaryScreen_Bg_Pal[16 * 1], BG_PLTT_ID(1), PLTT_SIZE_4BPP); } sMonSummaryScreen->switchMonTaskState++; diff --git a/src/quest_log.c b/src/quest_log.c index 8995212e5..06d0d8b50 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -459,7 +459,7 @@ void sub_8110FCC(void) static bool8 FieldCB2_QuestLogStartPlaybackWithWarpExit(void) { - LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP); SetQuestLogState(QL_STATE_PLAYBACK); FieldCB_DefaultWarpExit(); sQuestLogCurrentScene = (struct UnkStruct_203AE94){}; @@ -469,7 +469,7 @@ static bool8 FieldCB2_QuestLogStartPlaybackWithWarpExit(void) static bool8 FieldCB2_QuestLogStartPlaybackStandingInPlace(void) { - LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP); SetQuestLogState(QL_STATE_PLAYBACK); FieldCB_WarpExitFadeFromBlack(); sQuestLogCurrentScene = (struct UnkStruct_203AE94){}; @@ -1071,12 +1071,12 @@ void QuestLog_InitPalettesBackup(void) void QuestLog_BackUpPalette(u16 offset, u16 size) { - CpuCopy16(gPlttBufferUnfaded + offset, sPalettesBackup + offset, size * 2); + CpuCopy16(&gPlttBufferUnfaded[offset], &sPalettesBackup[offset], PLTT_SIZEOF(size)); } static bool8 FieldCB2_FinalScene(void) { - LoadPalette(GetTextWindowPalette(4), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(4), BG_PLTT_ID(15), PLTT_SIZE_4BPP); DrawPreviouslyOnQuestHeader(0); FieldCB_WarpExitFadeFromBlack(); CreateTask(Task_FinalScene_WaitFade, 0xFF); @@ -1199,8 +1199,8 @@ static bool8 sub_81121D8(u8 taskId) if (data[1] > 15) return TRUE; - CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]); - CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]); + CopyPaletteInvertedTint(&gPlttBufferUnfaded[BG_PLTT_ID(0) + 1], &gPlttBufferFaded[BG_PLTT_ID(0) + 1], 0xDF, 0x0F - data[1]); + CopyPaletteInvertedTint(&gPlttBufferUnfaded[OBJ_PLTT_ID(0)], &gPlttBufferFaded[OBJ_PLTT_ID(0)], 0x100, 0x0F - data[1]); FillWindowPixelRect(sQuestLogHeaderWindowIds[0], 0x00, 0, sQuestLogHeaderWindowTemplates[0].height * 8 - 1 - data[1], sQuestLogHeaderWindowTemplates[0].width * 8, 1); FillWindowPixelRect(sQuestLogHeaderWindowIds[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1); CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX); @@ -1214,9 +1214,9 @@ static void QL_SlightlyDarkenSomePals(void) u16 *buffer = Alloc(PLTT_SIZE); CpuCopy16(sPalettesBackup, buffer, PLTT_SIZE); SlightlyDarkenPalsInWeather(sPalettesBackup, sPalettesBackup, 13 * 16); - SlightlyDarkenPalsInWeather(sPalettesBackup + 17 * 16, sPalettesBackup + 17 * 16, 1 * 16); - SlightlyDarkenPalsInWeather(sPalettesBackup + 22 * 16, sPalettesBackup + 22 * 16, 4 * 16); - SlightlyDarkenPalsInWeather(sPalettesBackup + 27 * 16, sPalettesBackup + 27 * 16, 5 * 16); + SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(1)], &sPalettesBackup[OBJ_PLTT_ID(1)], 1 * 16); + SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(6)], &sPalettesBackup[OBJ_PLTT_ID(6)], 4 * 16); + SlightlyDarkenPalsInWeather(&sPalettesBackup[OBJ_PLTT_ID(11)], &sPalettesBackup[OBJ_PLTT_ID(11)], 5 * 16); CpuCopy16(sPalettesBackup, gPlttBufferUnfaded, PLTT_SIZE); CpuCopy16(buffer, sPalettesBackup, PLTT_SIZE); Free(buffer); diff --git a/src/region_map.c b/src/region_map.c index b73982834..8e640c405 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -961,8 +961,8 @@ static void TintMapEdgesPalette(void) u16 mapEdgesPal[16]; CpuCopy16(&sRegionMap_Pal[0x20], mapEdgesPal, sizeof(mapEdgesPal)); RegionMap_DarkenPalette(mapEdgesPal, NELEMS(mapEdgesPal), 95); - LoadPalette(mapEdgesPal, 0x20, sizeof(mapEdgesPal)); - LoadPalette(&sRegionMap_Pal[0x2F], 0x2F, sizeof(sRegionMap_Pal[0x2F])); + LoadPalette(mapEdgesPal, BG_PLTT_ID(2), sizeof(mapEdgesPal)); + LoadPalette(&sRegionMap_Pal[0x2F], BG_PLTT_ID(2) + 15, PLTT_SIZEOF(1)); } static void InitRegionMap(u8 type) @@ -1105,18 +1105,18 @@ static bool8 LoadRegionMapGfx(void) switch (sRegionMap->loadGfxState) { case 0: - LoadPalette(sTopBar_Pal, 0xC0, sizeof(sTopBar_Pal)); + LoadPalette(sTopBar_Pal, BG_PLTT_ID(12), sizeof(sTopBar_Pal)); break; case 1: LoadPalette(sRegionMap_Pal, 0, sizeof(sRegionMap_Pal)); TintMapEdgesPalette(); if (sRegionMap->type != REGIONMAP_TYPE_NORMAL) { - LoadPalette(&sTopBar_Pal[15], 16 * 0, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 1, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 2, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 3, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 4, sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(0), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(1), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(2), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(3), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(4), sizeof(sTopBar_Pal[15])); } break; case 2: @@ -1972,7 +1972,7 @@ static bool8 LoadMapPreviewGfx(void) LoadBgTiles(2, sDungeonMapPreview->tiles, sizeof(sDungeonMapPreview->tiles), 0); break; case 3: - LoadPalette(sDungeonMapPreview->mapPreviewInfo->palptr, 0xD0, 0x60); + LoadPalette(sDungeonMapPreview->mapPreviewInfo->palptr, BG_PLTT_ID(13), 3 * PLTT_SIZE_4BPP); break; default: return TRUE; @@ -2073,7 +2073,7 @@ static void Task_DrawDungeonMapPreviewFlavorText(u8 taskId) sDungeonMapPreview->blue -= 5; CpuCopy16(sDungeonMapPreview->mapPreviewInfo->palptr, sDungeonMapPreview->palette, 0x60); TintPalette_CustomTone(sDungeonMapPreview->palette, 48, sDungeonMapPreview->red, sDungeonMapPreview->green, sDungeonMapPreview->blue); - LoadPalette(sDungeonMapPreview->palette, 0xD0, sizeof(sDungeonMapPreview->palette)); + LoadPalette(sDungeonMapPreview->palette, BG_PLTT_ID(13), sizeof(sDungeonMapPreview->palette)); } sDungeonMapPreview->timer++; break; @@ -2416,19 +2416,19 @@ static void Task_MapOpenAnim(u8 taskId) sMapOpenCloseAnim->openState++; break; case 10: - LoadPalette(&sTopBar_Pal[15], 16 * 0, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 1, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 2, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 3, sizeof(sTopBar_Pal[15])); - LoadPalette(&sTopBar_Pal[15], 16 * 4, sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(0), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(1), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(2), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(3), sizeof(sTopBar_Pal[15])); + LoadPalette(&sTopBar_Pal[15], BG_PLTT_ID(4), sizeof(sTopBar_Pal[15])); sMapOpenCloseAnim->openState++; break; case 11: - FillBgTilemapBufferRect(1, 0x002, 0, 1, 1, 1, 0x2); - FillBgTilemapBufferRect(1, 0x003, 1, 1, 1, 1, 0x2); - FillBgTilemapBufferRect(1, 0x03E, 28, 1, 1, 1, 0x2); - FillBgTilemapBufferRect(1, 0x03F, 29, 1, 1, 1, 0x2); - FillBgTilemapBufferRect(1, 0x03D, 2, 1, 26, 1, 0x2); + FillBgTilemapBufferRect(1, 0x002, 0, 1, 1, 1, 2); + FillBgTilemapBufferRect(1, 0x003, 1, 1, 1, 1, 2); + FillBgTilemapBufferRect(1, 0x03E, 28, 1, 1, 1, 2); + FillBgTilemapBufferRect(1, 0x03F, 29, 1, 1, 1, 2); + FillBgTilemapBufferRect(1, 0x03D, 2, 1, 26, 1, 2); CopyBgTilemapBufferToVram(1); m4aSongNumStop(SE_CARD_OPEN); PlaySE(SE_ROTATING_GATE); @@ -2569,7 +2569,7 @@ static void Task_MapCloseAnim(u8 taskId) sMapOpenCloseAnim->closeState++; break; case 2: - LoadPalette(sRegionMap_Pal, 0, sizeof(sRegionMap_Pal)); + LoadPalette(sRegionMap_Pal, BG_PLTT_ID(0), sizeof(sRegionMap_Pal)); sMapOpenCloseAnim->closeState++; break; case 3: diff --git a/src/script_menu.c b/src/script_menu.c index f3bf33587..f8e67a1fa 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1137,6 +1137,8 @@ void Task_WaitMuseumFossilPic(u8 taskId) } } +#define FOSSIL_PIC_PAL_NUM 13 + bool8 OpenMuseumFossilPic(void) { u8 spriteId; @@ -1148,19 +1150,19 @@ bool8 OpenMuseumFossilPic(void) if (gSpecialVar_0x8004 == SPECIES_KABUTOPS) { LoadSpriteSheets(sMuseumKabutopsSprSheets); - LoadPalette(sMuseumKabutopsSprPalette, 0x1D0, 0x20); + LoadPalette(sMuseumKabutopsSprPalette, OBJ_PLTT_ID(FOSSIL_PIC_PAL_NUM), sizeof(sMuseumKabutopsSprPalette)); } else if (gSpecialVar_0x8004 == SPECIES_AERODACTYL) { LoadSpriteSheets(sMuseumAerodactylSprSheets); - LoadPalette(sMuseumAerodactylSprPalette, 0x1D0, 0x20); + LoadPalette(sMuseumAerodactylSprPalette, OBJ_PLTT_ID(FOSSIL_PIC_PAL_NUM), sizeof(sMuseumAerodactylSprPalette)); } else { return FALSE; } spriteId = CreateSprite(&sMuseumFossilSprTemplate, gSpecialVar_0x8005 * 8 + 40, gSpecialVar_0x8006 * 8 + 40, 0); - gSprites[spriteId].oam.paletteNum = 13; + gSprites[spriteId].oam.paletteNum = FOSSIL_PIC_PAL_NUM; taskId = CreateTask(Task_WaitMuseumFossilPic, 80); gTasks[taskId].tWindowId = CreateWindowFromRect(gSpecialVar_0x8005, gSpecialVar_0x8006, 8, 8); gTasks[taskId].tState = 0; diff --git a/src/seagallop.c b/src/seagallop.c index 73e580894..04e719085 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -204,15 +204,11 @@ static void CB2_SetUpSeagallopScene(void) case 3: LoadBgTiles(3, sWaterTiles, sizeof(sWaterTiles), 0); if (GetDirectionOfTravel() == DIRN_EASTBOUND) - { CopyToBgTilemapBufferRect(3, sWaterTilemap_EB, 0, 0, 32, 32); - } else - { CopyToBgTilemapBufferRect(3, sWaterTilemap_WB, 0, 0, 32, 32); - } - LoadPalette(sWaterPal, 0x40, 0x20); - LoadPalette(GetTextWindowPalette(2), 0xF0, 0x20); + LoadPalette(sWaterPal, BG_PLTT_ID(4), sizeof(sWaterPal)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(15), PLTT_SIZE_4BPP); gMain.state++; break; case 4: diff --git a/src/shop.c b/src/shop.c index 227476bb1..46c0d755a 100644 --- a/src/shop.c +++ b/src/shop.c @@ -473,7 +473,7 @@ static void BuyMenuInitBgs(void) static void BuyMenuDecompressBgGraphics(void) { - void *pal; + u16 *pal; DecompressAndCopyTileDataToVram(1, gBuyMenuFrame_Gfx, 0x480, 0x3DC, 0); if ((gShopData.martType) != MART_TYPE_TMHM) @@ -481,10 +481,10 @@ static void BuyMenuDecompressBgGraphics(void) else LZDecompressWram(gBuyMenuFrame_TmHmTilemap, gShopTilemapBuffer1); - pal = Alloc(0x40); + pal = Alloc(2 * PLTT_SIZE_4BPP); LZDecompressWram(gBuyMenuFrame_Pal, pal); - LoadPalette(pal, 0xB0, 0x20); - LoadPalette(pal + 0x20, 0x60, 0x20); + LoadPalette(&pal[0 * 16], BG_PLTT_ID(11), PLTT_SIZE_4BPP); + LoadPalette(&pal[1 * 16], BG_PLTT_ID(6), PLTT_SIZE_4BPP); Free(pal); } diff --git a/src/slot_machine.c b/src/slot_machine.c index 1b79bf9f8..aa5d4c67e 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -800,7 +800,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 0x0f, + .paletteNum = 15, .baseBlock = 0x04f }, { .bg = 0, @@ -808,7 +808,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0x0e, + .paletteNum = 14, .baseBlock = 0x013 }, DUMMY_WIN_TEMPLATE @@ -1998,10 +1998,10 @@ static bool32 IsSlotMachineSetupTaskActive(u8 taskId) return GetSlotMachineSetupTaskDataPtr()->tasks[taskId].active; } -static inline void LoadColor(u16 color, u16 *pal) +static inline void SetBackdropColor(u16 color, u16 *pal) { *pal = color; - LoadPalette(pal, 0x00, 0x02); + SetBackdropFromPalette(pal); } static bool8 SlotsTask_GraphicsInit(u8 * state, struct SlotMachineSetupTaskData * ptr) @@ -2039,12 +2039,12 @@ static bool8 SlotsTask_GraphicsInit(u8 * state, struct SlotMachineSetupTaskData SetBgTilemapBuffer(2, ptr->bg2TilemapBuffer); CopyToBgTilemapBuffer(2, sBg_Tilemap, 0, 0x00); CopyBgTilemapBufferToVram(2); - LoadPalette(sBg_Pal, 0x00, sizeof(sBg_Pal)); - LoadPalette(sBgPal_MatchLines, PALSLOT_LINE_BET * 16, sizeof(sBgPal_MatchLines)); - LoadPalette(sCombosWindow_Pal, 0x70, sizeof(sCombosWindow_Pal)); - LoadColor(RGB(30, 30, 31), pal); - LoadUserWindowGfx2(0, 0x00A, 0xD0); - LoadStdWindowGfxOnBg(0, 0x001, 0xF0); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); + LoadPalette(sBgPal_MatchLines, BG_PLTT_ID(PALSLOT_LINE_BET), sizeof(sBgPal_MatchLines)); + LoadPalette(sCombosWindow_Pal, BG_PLTT_ID(7), sizeof(sCombosWindow_Pal)); + SetBackdropColor(RGB(30, 30, 31), pal); + LoadUserWindowGfx2(0, 0x00A, BG_PLTT_ID(13)); + LoadStdWindowGfxOnBg(0, 0x001, BG_PLTT_ID(15)); SetBgTilemapBuffer(0, ptr->bg0TilemapBuffer); FillBgTilemapBufferRect_Palette0(0, 0, 0, 2, 32, 30); @@ -2052,7 +2052,7 @@ static bool8 SlotsTask_GraphicsInit(u8 * state, struct SlotMachineSetupTaskData DecompressAndCopyTileDataToVram(1, sCombosWindow_Tilemap, 0, 0, 1); CopyBgTilemapBufferToVram(1); - LoadPalette(GetTextWindowPalette(2), 0xE0, 0x20); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(14), PLTT_SIZE_4BPP); FillWindowPixelBuffer(1, 0xFF); PutWindowTilemap(1); @@ -2386,7 +2386,7 @@ static void Task_FlashWinningLine(u8 taskId) switch (data[0]) { case 0: - LoadPalette(sBgPal_MatchLines, PALSLOT_LINE_MATCH * 16, sizeof(sBgPal_MatchLines)); + LoadPalette(sBgPal_MatchLines, BG_PLTT_ID(PALSLOT_LINE_MATCH), sizeof(sBgPal_MatchLines)); for (i = 0; i < NUM_MATCH_LINES; i++) { if (GetWinFlagByLine(i)) @@ -2399,7 +2399,7 @@ static void Task_FlashWinningLine(u8 taskId) if (data[1] == 0) { u16 y = gSineTable[data[2]] >> 7; - LoadPalette(&sBgPal_PayoutLight[y], 0x10, sizeof(sBgPal_PayoutLight[0])); + LoadPalette(&sBgPal_PayoutLight[y], BG_PLTT_ID(1), sizeof(sBgPal_PayoutLight[0])); data[2] += 32; data[2] &= 0x7F; data[1] = 8; @@ -2427,7 +2427,7 @@ static void Task_FlashWinningLine(u8 taskId) } for (i = 0; i < ARRAY_COUNT(sWinningLineFlashPalIdxs); i++) - gPlttBufferFaded[sWinningLineFlashPalIdxs[i] + PALSLOT_LINE_MATCH * 16] = gPlttBufferUnfaded[sWinningLineFlashPalIdxs[i] + PALSLOT_LINE_MATCH * 16]; + gPlttBufferFaded[sWinningLineFlashPalIdxs[i] + BG_PLTT_ID(PALSLOT_LINE_MATCH)] = gPlttBufferUnfaded[sWinningLineFlashPalIdxs[i] + BG_PLTT_ID(PALSLOT_LINE_MATCH)]; break; case 2: // Restore match lines to normal color @@ -2438,7 +2438,7 @@ static void Task_FlashWinningLine(u8 taskId) } // Restore payout lights to normal color - LoadPalette(&sBg_Pal[1], 0x10, sizeof(sBg_Pal[1])); + LoadPalette(&sBg_Pal[1], BG_PLTT_ID(1), sizeof(sBg_Pal[1])); CopyBgTilemapBufferToVram(2); data[0]++; diff --git a/src/sprite.c b/src/sprite.c index 5b1ea5e4b..afaa8e08d 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -551,7 +551,7 @@ u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); - if (template->tileTag == 0xFFFF) + if (template->tileTag == TAG_NONE) { s16 tileNum; sprite->images = template->images; @@ -574,7 +574,7 @@ u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, if (sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK) InitSpriteAffineAnim(sprite); - if (template->paletteTag != 0xFFFF) + if (template->paletteTag != TAG_NONE) sprite->oam.paletteNum = IndexOfSpritePaletteTag(template->paletteTag); return index; @@ -868,7 +868,7 @@ void ResetAllSprites(void) void FreeSpriteTiles(struct Sprite *sprite) { - if (sprite->template->tileTag != 0xFFFF) + if (sprite->template->tileTag != TAG_NONE) FreeSpriteTilesByTag(sprite->template->tileTag); } @@ -1514,7 +1514,7 @@ void FreeSpriteTilesByTag(u16 tag) for (i = start; i < start + count; i++) FREE_SPRITE_TILE(i); - sSpriteTileRangeTags[index] = 0xFFFF; + sSpriteTileRangeTags[index] = TAG_NONE; } } @@ -1524,7 +1524,7 @@ void FreeSpriteTileRanges(void) for (i = 0; i < MAX_SPRITES; i++) { - sSpriteTileRangeTags[i] = 0xFFFF; + sSpriteTileRangeTags[i] = TAG_NONE; SET_SPRITE_TILE_RANGE(i, 0, 0); } } @@ -1533,7 +1533,7 @@ u16 GetSpriteTileStartByTag(u16 tag) { u8 index = IndexOfSpriteTileTag(tag); if (index == 0xFF) - return 0xFFFF; + return TAG_NONE; return sSpriteTileRanges[index * 2]; } @@ -1554,16 +1554,16 @@ u16 GetSpriteTileTagByTileStart(u16 start) for (i = 0; i < MAX_SPRITES; i++) { - if (sSpriteTileRangeTags[i] != 0xFFFF && sSpriteTileRanges[i * 2] == start) + if (sSpriteTileRangeTags[i] != TAG_NONE && sSpriteTileRanges[i * 2] == start) return sSpriteTileRangeTags[i]; } - return 0xFFFF; + return TAG_NONE; } void AllocSpriteTileRange(u16 tag, u16 start, u16 count) { - u8 freeIndex = IndexOfSpriteTileTag(0xFFFF); + u8 freeIndex = IndexOfSpriteTileTag(TAG_NONE); sSpriteTileRangeTags[freeIndex] = tag; SET_SPRITE_TILE_RANGE(freeIndex, start, count); } @@ -1572,8 +1572,8 @@ void FreeAllSpritePalettes(void) { u8 i; gReservedSpritePaletteCount = 0; - for (i = 0; i < 16; i++) - sSpritePaletteTags[i] = 0xFFFF; + for (i = 0; i < ARRAY_COUNT(sSpritePaletteTags); i++) + sSpritePaletteTags[i] = TAG_NONE; } u8 LoadSpritePalette(const struct SpritePalette *palette) @@ -1583,7 +1583,7 @@ u8 LoadSpritePalette(const struct SpritePalette *palette) if (index != 0xFF) return index; - index = IndexOfSpritePaletteTag(0xFFFF); + index = IndexOfSpritePaletteTag(TAG_NONE); if (index == 0xFF) { @@ -1592,7 +1592,7 @@ u8 LoadSpritePalette(const struct SpritePalette *palette) else { sSpritePaletteTags[index] = palette->tag; - DoLoadSpritePalette(palette->data, index * 16); + DoLoadSpritePalette(palette->data, PLTT_ID(index)); return index; } } @@ -1605,14 +1605,14 @@ void LoadSpritePalettes(const struct SpritePalette *palettes) break; } -void DoLoadSpritePalette(const u16 *src, u16 paletteOffset) +static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset) { - LoadPalette(src, paletteOffset + 0x100, 32); + LoadPalette(src, paletteOffset + OBJ_PLTT_OFFSET, PLTT_SIZE_4BPP); } u8 AllocSpritePalette(u16 tag) { - u8 index = IndexOfSpritePaletteTag(0xFFFF); + u8 index = IndexOfSpritePaletteTag(TAG_NONE); if (index == 0xFF) { return 0xFF; @@ -1643,7 +1643,7 @@ void FreeSpritePaletteByTag(u16 tag) { u8 index = IndexOfSpritePaletteTag(tag); if (index != 0xFF) - sSpritePaletteTags[index] = 0xFFFF; + sSpritePaletteTags[index] = TAG_NONE; } void SetSubspriteTables(struct Sprite *sprite, const struct SubspriteTable *subspriteTables) diff --git a/src/start_menu.c b/src/start_menu.c index 8085fdb56..c6a1c5c08 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -870,7 +870,7 @@ bool32 DoSetUpSaveAfterLinkBattle(u8 *state) ResetBgsAndClearDma3BusyFlags(FALSE); InitBgsFromTemplates(0, sBGTemplates_AfterLinkSaveMessage, NELEMS(sBGTemplates_AfterLinkSaveMessage)); InitWindows(sWindowTemplates_AfterLinkSaveMessage); - LoadStdWindowGfx(0, 0x008, 0xF0); + LoadStdWindowGfx(0, 0x008, BG_PLTT_ID(15)); break; case 3: ShowBg(0); @@ -910,7 +910,7 @@ static void task50_after_link_battle_save(u8 taskId) case 0: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffThePower2, 0xFF, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - DrawTextBorderOuter(0, 0x008, 0x0F); + DrawTextBorderOuter(0, 0x008, 15); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); @@ -957,8 +957,8 @@ static void PrintSaveStats(void) u8 y; u8 x; sSaveStatsWindowId = AddWindow(&sSaveStatsWindowTemplate); - LoadStdWindowGfx(sSaveStatsWindowId, 0x21D, 0xD0); - DrawStdFrameWithCustomTileAndPalette(sSaveStatsWindowId, FALSE, 0x21D, 0x0D); + LoadStdWindowGfx(sSaveStatsWindowId, 0x21D, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(sSaveStatsWindowId, FALSE, 0x21D, 13); SaveStatToString(SAVE_STAT_LOCATION, gStringVar4, 8); x = (u32)(112 - GetStringWidth(FONT_NORMAL, gStringVar4, -1)) / 2; AddTextPrinterParameterized3(sSaveStatsWindowId, FONT_NORMAL, x, 0, sTextColor_LocationHeader, -1, gStringVar4); diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 0d4c31434..036633064 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -150,7 +150,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x0EA, }, { @@ -159,7 +159,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 22, .height = 12, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x152, }, DUMMY_WIN_TEMPLATE, @@ -530,8 +530,8 @@ static void TeachyTvLoadGraphic(void) DecompressAndCopyTileDataToVram(1, gTeachyTv_Gfx, 0, 0, 0); LZDecompressWram(gTeachyTvScreen_Tilemap, sResources->screenTilemap); LZDecompressWram(gTeachyTvTitle_Tilemap, sResources->titleTilemap); - LoadCompressedPalette(gTeachyTv_Pal, 0, 0x80); - LoadPalette(&src, 0, sizeof(src)); + LoadCompressedPalette(gTeachyTv_Pal, BG_PLTT_ID(0), 4 * PLTT_SIZE_4BPP); + LoadPalette(&src, BG_PLTT_ID(0), sizeof(src)); LoadSpritePalette(&gSpritePalette_GeneralFieldEffect1); TeachyTvLoadBg3Map(sResources->buffer3); } @@ -1395,6 +1395,6 @@ static void TeachyTvLoadMapPalette(const struct MapLayout * mStruct, const u8 * dest = mStruct->secondaryTileset->palettes[palIndexArray[i]]; else dest = mStruct->primaryTileset->palettes[palIndexArray[i]]; - LoadPalette(dest, 0x10 * (15 - i), 0x20); + LoadPalette(dest, BG_PLTT_ID(15 - i), PLTT_SIZE_4BPP); } } diff --git a/src/text_window.c b/src/text_window.c index ea2d61b86..431ac5520 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -5,37 +5,37 @@ #include "help_message.h" #include "new_menu_helpers.h" -static void LoadUserWindowGfxByFrame(u8 windowId, u8 frameType, u16 destOffset, u8 palIdx); +static void LoadUserWindowGfxByFrame(u8 windowId, u8 frameType, u16 destOffset, u8 palOffset); // Unused // Equivalent to LoadHelpMessageWindowGfx, but takes a bg id directly -static void LoadHelpMessageWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palIdx) +static void LoadHelpMessageWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palOffset) { LoadBgTiles(bgId, gHelpMessageWindow_Gfx, 0x280, destOffset); - LoadPalette(GetTextWindowPalette(2), palIdx, 32); + LoadPalette(GetTextWindowPalette(2), palOffset, PLTT_SIZE_4BPP); } // Unused // Equivalent to LoadMenuMessageWindowGfx, but takes a bg id directly -static void LoadMenuMessageWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palIdx) +static void LoadMenuMessageWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palOffset) { LoadBgTiles(bgId, gMenuMessageWindow_Gfx, 0x280, destOffset); - LoadPalette(GetTextWindowPalette(0), palIdx, 32); + LoadPalette(GetTextWindowPalette(0), palOffset, PLTT_SIZE_4BPP); } // Unused // Equivalent to LoadSignpostWindowGfx, but takes a bg id directly -static void LoadSignpostWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palIdx) +static void LoadSignpostWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palOffset) { LoadBgTiles(bgId, gSignpostWindow_Gfx, 0x260, destOffset); - LoadPalette(GetTextWindowPalette(1), palIdx, 32); + LoadPalette(GetTextWindowPalette(1), palOffset, PLTT_SIZE_4BPP); } // Equivalent to LoadStdWindowGfx, but takes a bg id directly -void LoadStdWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palIdx) +void LoadStdWindowGfxOnBg(u8 bgId, u16 destOffset, u8 palOffset) { LoadBgTiles(bgId, gStdTextWindow_Gfx, 0x120, destOffset); - LoadPalette(GetTextWindowPalette(3), palIdx, 32); + LoadPalette(GetTextWindowPalette(3), palOffset, PLTT_SIZE_4BPP); } // Unused @@ -47,40 +47,40 @@ static void LoadQuestLogWindowTilesOnBg(u8 bgId, u16 destOffset) // Unused // Equivalent to LoadUserWindowGfxByFrame, but takes a bg id directly -static void LoadUserWindowGfxByFrameOnBg(u8 bgId, u8 frameType, u16 destOffset, u8 palIdx) +static void LoadUserWindowGfxByFrameOnBg(u8 bgId, u8 frameType, u16 destOffset, u8 palOffset) { LoadBgTiles(bgId, gUserFrames[frameType].tiles, 0x120, destOffset); - LoadPalette(gUserFrames[frameType].palette, palIdx, 32); + LoadPalette(gUserFrames[frameType].palette, palOffset, PLTT_SIZE_4BPP); } // Identical to LoadUserWindowGfx -void LoadUserWindowGfx2(u8 windowId, u16 destOffset, u8 palIdx) +void LoadUserWindowGfx2(u8 windowId, u16 destOffset, u8 palOffset) { - LoadUserWindowGfxByFrame(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palIdx); + LoadUserWindowGfxByFrame(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); } -void LoadHelpMessageWindowGfx(u8 windowId, u16 destOffset, u8 palIdx) +void LoadHelpMessageWindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gHelpMessageWindow_Gfx, 0x280, destOffset); - LoadPalette(GetTextWindowPalette(2), palIdx, 32); + LoadPalette(GetTextWindowPalette(2), palOffset, PLTT_SIZE_4BPP); } -void LoadMenuMessageWindowGfx(u8 windowId, u16 destOffset, u8 palIdx) +void LoadMenuMessageWindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gMenuMessageWindow_Gfx, 0x280, destOffset); - LoadPalette(GetTextWindowPalette(0), palIdx, 32); + LoadPalette(GetTextWindowPalette(0), palOffset, PLTT_SIZE_4BPP); } -void LoadSignpostWindowGfx(u8 windowId, u16 destOffset, u8 palIdx) +void LoadSignpostWindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gSignpostWindow_Gfx, 0x260, destOffset); - LoadPalette(GetTextWindowPalette(1), palIdx, 32); + LoadPalette(GetTextWindowPalette(1), palOffset, PLTT_SIZE_4BPP); } -void LoadStdWindowGfx(u8 windowId, u16 destOffset, u8 palIdx) +void LoadStdWindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdTextWindow_Gfx, 0x120, destOffset); - LoadPalette(GetTextWindowPalette(3), palIdx, 32); + LoadPalette(GetTextWindowPalette(3), palOffset, PLTT_SIZE_4BPP); } void LoadStdWindowTiles(u8 windowId, u16 destOffset) @@ -93,15 +93,15 @@ void LoadQuestLogWindowTiles(u8 windowId, u16 destOffset) LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gQuestLogWindow_Gfx, 0x280, destOffset); } -static void LoadUserWindowGfxByFrame(u8 windowId, u8 frameType, u16 destOffset, u8 palIdx) +static void LoadUserWindowGfxByFrame(u8 windowId, u8 frameType, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUserFrames[frameType].tiles, 0x120, destOffset); - LoadPalette(gUserFrames[frameType].palette, palIdx, 32); + LoadPalette(gUserFrames[frameType].palette, palOffset, PLTT_SIZE_4BPP); } -void LoadUserWindowGfx(u8 windowId, u16 destOffset, u8 palIdx) +void LoadUserWindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { - LoadUserWindowGfxByFrame(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palIdx); + LoadUserWindowGfxByFrame(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); } void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum) @@ -148,7 +148,7 @@ void rbox_fill_rectangle(u8 windowId) u16 width = GetWindowAttribute(windowId, WINDOW_WIDTH); u16 height = GetWindowAttribute(windowId, WINDOW_HEIGHT); - FillBgTilemapBufferRect(bgLayer, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0x11); + FillBgTilemapBufferRect(bgLayer, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 17); } const u16 *GetTextWindowPalette(u8 id) diff --git a/src/title_screen.c b/src/title_screen.c index 7c379bc34..334af1f0f 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -364,16 +364,16 @@ void CB2_InitTitleScreen(void) sTitleScreenTimerTaskId = TASK_NONE; break; case 1: - LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0, 0x1A0); + LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, BG_PLTT_ID(0), 13 * PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoMap, 0, 0, 1); - LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); + LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, BG_PLTT_ID(13), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonMap, 0, 0, 1); - LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20); + LoadPalette(gGraphics_TitleScreen_BackgroundPals, BG_PLTT_ID(15), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartMap, 0, 0, 1); - LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xE0, 0x20); + LoadPalette(gGraphics_TitleScreen_BackgroundPals, BG_PLTT_ID(14), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(3, sBorderBgTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(3, sBorderBgMap, 0, 0, 1); LoadSpriteGfxAndPals(); @@ -530,8 +530,8 @@ static void SetTitleScreenScene_FadeIn(s16 *data) data[2]++; if (data[2] > 10) { - TintPalette_GrayScale2(gPlttBufferUnfaded + 0xD0, 16); - BeginNormalPaletteFade(1 << 0xD, 9, 16, 0, RGB_BLACK); + TintPalette_GrayScale2(&gPlttBufferUnfaded[BG_PLTT_ID(13)], 16); + BeginNormalPaletteFade(1 << 13, 9, 16, 0, RGB_BLACK); tState++; } break; @@ -547,7 +547,7 @@ static void SetTitleScreenScene_FadeIn(s16 *data) if (data[2] > 36) { CreateTask(Task_TitleScreen_SlideWin0, 3); - BlendPalettesGradually(1 << 0xD, -4, 1, 16, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(1 << 13, -4, 1, 16, RGB(30, 30, 31), 0, 0); data[2] = 0; tState++; } @@ -555,7 +555,7 @@ static void SetTitleScreenScene_FadeIn(s16 *data) case 4: if (!IsBlendPalettesGraduallyTaskActive(0)) { - BlendPalettesGradually(1 << 0xD, -4, 15, 0, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(1 << 13, -4, 15, 0, RGB(30, 30, 31), 0, 0); tState++; } break; @@ -564,14 +564,14 @@ static void SetTitleScreenScene_FadeIn(s16 *data) if (data[2] > 20) { data[2] = 0; - BlendPalettesGradually(1 << 0xD, -4, 1, 16, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(1 << 13, -4, 1, 16, RGB(30, 30, 31), 0, 0); tState++; } break; case 6: if (!IsBlendPalettesGraduallyTaskActive(0)) { - BlendPalettesGradually(1 << 0xD, -4, 15, 0, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(1 << 13, -4, 15, 0, RGB(30, 30, 31), 0, 0); tState++; } break; @@ -580,7 +580,7 @@ static void SetTitleScreenScene_FadeIn(s16 *data) if (data[2] > 20) { data[2] = 0; - BlendPalettesGradually(1 << 0xD, -3, 0, 16, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(1 << 13, -3, 0, 16, RGB(30, 30, 31), 0, 0); tState++; } break; @@ -589,12 +589,12 @@ static void SetTitleScreenScene_FadeIn(s16 *data) { u32 palettes; tHasCreatedBlankSprite = TRUE; - palettes = (PALETTES_BG & ~(1 << 0xD) & ~(1 << 0xE) & ~(1 << 0xF)) | (0x10000 << CreateBlankSprite()); + palettes = (PALETTES_BG & ~(1 << 13) & ~(1 << 14) & ~(1 << 15)) | (0x10000 << CreateBlankSprite()); BlendPalettes(palettes, 16, RGB(30, 30, 31)); BeginNormalPaletteFade(palettes, 1, 16, 0, RGB(30, 30, 31)); ShowBg(0); - CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 32); - BlendPalettesGradually(1 << 0xD, 1, 15, 0, RGB(30, 30, 31), 0, 0); + CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, &gPlttBufferUnfaded[BG_PLTT_ID(13)], PLTT_SIZE_4BPP); + BlendPalettesGradually(1 << 13, 1, 15, 0, RGB(30, 30, 31), 0, 0); tState++; } break; @@ -832,16 +832,16 @@ static void Task_TitleScreen_BlinkPressStart(u8 taskId) { for (i = 0; i < 5; i++) { - gPlttBufferUnfaded[0xF1 + i] = gGraphics_TitleScreen_BackgroundPals[6]; - gPlttBufferFaded[0xF1 + i] = gGraphics_TitleScreen_BackgroundPals[6]; + gPlttBufferUnfaded[BG_PLTT_ID(15) + 1 + i] = gGraphics_TitleScreen_BackgroundPals[6]; + gPlttBufferFaded[BG_PLTT_ID(15) + 1 + i] = gGraphics_TitleScreen_BackgroundPals[6]; } } else { for (i = 0; i < 5; i++) { - gPlttBufferUnfaded[0xF1 + i] = gGraphics_TitleScreen_BackgroundPals[1 + i]; - gPlttBufferFaded[0xF1 + i] = gGraphics_TitleScreen_BackgroundPals[1 + i]; + gPlttBufferUnfaded[BG_PLTT_ID(15) + 1 + i] = gGraphics_TitleScreen_BackgroundPals[1 + i]; + gPlttBufferFaded[BG_PLTT_ID(15) + 1 + i] = gGraphics_TitleScreen_BackgroundPals[1 + i]; } } if (data[14]) @@ -906,10 +906,10 @@ static void LoadMainTitleScreenPalsAndResetBgs(void) DestroyBlendPalettesGraduallyTask(); ResetPaletteFadeControl(); - LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0); - LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); - LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20); - LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xE0, 0x20); + LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, BG_PLTT_ID(0), 13 * PLTT_SIZE_4BPP); + LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, BG_PLTT_ID(13), PLTT_SIZE_4BPP); + LoadPalette(gGraphics_TitleScreen_BackgroundPals, BG_PLTT_ID(15), PLTT_SIZE_4BPP); + LoadPalette(gGraphics_TitleScreen_BackgroundPals, BG_PLTT_ID(14), PLTT_SIZE_4BPP); ResetBgPositions(); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); ShowBg(1); @@ -1228,7 +1228,7 @@ static void SetPalOnOrCreateBlankSprite(bool32 hasCreatedBlankSprite) if (hasCreatedBlankSprite) { palIdx = IndexOfSpritePaletteTag(PAL_TAG_SLASH); - LoadPalette(gTitleScreen_Slash_Pal, palIdx * 16 + 0x100, 0x20); + LoadPalette(gTitleScreen_Slash_Pal, OBJ_PLTT_ID(palIdx), PLTT_SIZE_4BPP); } else CreateBlankSprite(); diff --git a/src/tm_case.c b/src/tm_case.c index 833225aec..d2e81374b 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -615,9 +615,9 @@ static bool8 HandleLoadTMCaseGraphicsAndPalettes(void) break; case 3: if (gSaveBlock2Ptr->playerGender == MALE) - LoadCompressedPalette(gTMCaseMenu_Male_Pal, 0, 0x80); + LoadCompressedPalette(gTMCaseMenu_Male_Pal, BG_PLTT_ID(0), 4 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gTMCaseMenu_Female_Pal, 0, 0x80); + LoadCompressedPalette(gTMCaseMenu_Female_Pal, BG_PLTT_ID(0), 4 * PLTT_SIZE_4BPP); sTMCaseDynamicResources->seqId++; break; case 4: @@ -1458,7 +1458,7 @@ static void Task_Pokedude_Run(u8 taskId) sTMCaseStaticResources.selectedRow = sPokedudeBagBackup->selectedRow; sTMCaseStaticResources.scrollOffset = sPokedudeBagBackup->scrollOffset; Free(sPokedudeBagBackup); - CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); CB2_SetUpReshowBattleScreenAfterMenu(); BeginNormalPaletteFade(PALETTES_ALL, -2, 0, 16, 0); tPokedudeState++; @@ -1482,14 +1482,14 @@ static void InitWindowTemplatesAndPals(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowGfx(0, 0x5B, 0xE0); - LoadMenuMessageWindowGfx(0, 0x64, 0xB0); - LoadStdWindowGfx(0, 0x78, 0xD0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); - LoadPalette(gStandardMenuPalette, 0xA0, 0x20); - LoadPalette(sPal3Override, 0xF6, 0x04); - LoadPalette(sPal3Override, 0xD6, 0x04); - ListMenuLoadStdPalAt(0xc0, 0x01); + LoadUserWindowGfx(0, 0x5B, BG_PLTT_ID(14)); + LoadMenuMessageWindowGfx(0, 0x64, BG_PLTT_ID(11)); + LoadStdWindowGfx(0, 0x78, BG_PLTT_ID(13)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(10), PLTT_SIZE_4BPP); + LoadPalette(sPal3Override, BG_PLTT_ID(15) + 6, sizeof(sPal3Override)); + LoadPalette(sPal3Override, BG_PLTT_ID(13) + 6, sizeof(sPal3Override)); + ListMenuLoadStdPalAt(BG_PLTT_ID(12), 1); for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) FillWindowPixelBuffer(i, 0x00); PutWindowTilemap(WIN_LIST); @@ -1507,12 +1507,12 @@ static void TMCase_Print(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 static void TMCase_SetWindowBorder1(u8 windowId) { - DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x5B, 0x0E); + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x5B, 14); } static void TMCase_SetWindowBorder2(u8 windowId) { - DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x78, 0x0D); + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x78, 13); } static void PrintMessageWithFollowupTask(u8 taskId, u8 fontId, const u8 * str, TaskFunc func) @@ -1647,10 +1647,10 @@ static void SetDiscSpriteAnim(struct Sprite *sprite, u8 tmIdx) static void TintDiscpriteByType(u8 type) { - u8 palIndex = IndexOfSpritePaletteTag(TAG_DISC) << 4; - LoadPalette(sTMSpritePaletteBuffer + sTMSpritePaletteOffsetByType[type], 0x100 | palIndex, 0x20); + u8 palOffset = PLTT_ID(IndexOfSpritePaletteTag(TAG_DISC)); + LoadPalette(sTMSpritePaletteBuffer + sTMSpritePaletteOffsetByType[type], OBJ_PLTT_OFFSET + palOffset, PLTT_SIZE_4BPP); if (sTMCaseStaticResources.menuType == TMCASE_POKEDUDE) - BlendPalettes(1 << (0x10 + palIndex), 4, RGB_BLACK); + BlendPalettes(1 << (16 + palOffset), 4, RGB_BLACK); } static void SetDiscSpritePosition(struct Sprite *sprite, u8 tmIdx) diff --git a/src/trade.c b/src/trade.c index d3966b993..ea29aedc8 100644 --- a/src/trade.c +++ b/src/trade.c @@ -787,8 +787,8 @@ static void InitTradeMenu(void) gPaletteFade.bufferTransferDisabled = TRUE; SetVBlankCallback(VBlankCB_TradeMenu); - LoadPalette(gStandardMenuPalette, 0xF0, 0x14); - LoadPalette(gStandardMenuPalette, 0xD0, 0x14); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZEOF(10)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(13), PLTT_SIZEOF(10)); ResetBgsAndClearDma3BusyFlags(FALSE); InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); SetBgTilemapBuffer(1, sTradeMenu->tilemapBuffer); @@ -803,9 +803,9 @@ static void InitTradeMenu(void) ClearWindowTilemap(i); FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); - LoadStdWindowGfx(0, 0x014, 0xC0); - LoadUserWindowGfx(2, 0x001, 0xE0); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + LoadStdWindowGfx(0, 0x014, BG_PLTT_ID(12)); + LoadUserWindowGfx(2, 0x001, BG_PLTT_ID(14)); LoadMonIconPalettes(); sTradeMenu->bufferPartyState = 0; sTradeMenu->callbackId = CB_MAIN_MENU; @@ -1372,7 +1372,7 @@ static void LoadTradeBgGfx(u8 state) switch (state) { case 0: - LoadPalette(gTradeMenu_Pal, 0x00, 0x60); + LoadPalette(gTradeMenu_Pal, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0); CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenu_Tilemap, 0, 0, 32, 20, 0); LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0); diff --git a/src/trade_scene.c b/src/trade_scene.c index 82c363ada..129774f34 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -627,7 +627,7 @@ static void SpriteCB_LinkMonShadow(struct Sprite *sprite) { if (++sprite->data[0] == 12) sprite->data[0] = 0; - LoadPalette(&sLinkMonShadow_Pal[sprite->data[0]], 16 * (sprite->oam.paletteNum + 16) + 4, 2); + LoadPalette(&sLinkMonShadow_Pal[sprite->data[0]], OBJ_PLTT_ID2(sprite->oam.paletteNum) + 4, PLTT_SIZEOF(1)); } } @@ -940,13 +940,13 @@ static void TradeAnimInit_LoadGfx(void) DecompressAndLoadBgGfxUsingHeap(0, gBattleInterface_Textbox_Gfx, 0, 0, 0); LZDecompressWram(gBattleInterface_Textbox_Tilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x000, 0x20); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); InitWindows(sTradeMessageWindowTemplates); // ... and doing the same load again DecompressAndLoadBgGfxUsingHeap(0, gBattleInterface_Textbox_Gfx, 0, 0, 0); LZDecompressWram(gBattleInterface_Textbox_Tilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); - LoadCompressedPalette(gBattleInterface_Textbox_Pal, 0x000, 0x20); + LoadCompressedPalette(gBattleInterface_Textbox_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } static void CB2_InitInGameTrade(void) @@ -1120,7 +1120,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) sTradeAnim->bg2hofs = 0xB4; SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 0x10, 0x60); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *)BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradeOrHatchMonShadowTilemap, (void *)BG_SCREEN_ADDR(18), 0x1000); break; @@ -1158,7 +1158,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) } break; case 3: - LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20); + LoadPalette(sWirelessSignalAnimPals_Off, BG_PLTT_ID(3), PLTT_SIZE_4BPP); LZ77UnCompVram(sWirelessSignal4bpp, BG_CHAR_ADDR(1)); LZ77UnCompVram(sWirelessSignalTilemap, BG_SCREEN_ADDR(18)); sTradeAnim->bg2vofs = 0x50; @@ -1211,7 +1211,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) sTradeAnim->bg2hofs = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 0x10, 0x60); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *)BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradeOrHatchMonShadowTilemap, (void *)BG_SCREEN_ADDR(18), 0x1000); break; @@ -2791,16 +2791,16 @@ static void Task_AnimateWirelessSignal(u8 taskId) if (!tSignalComingBack) { if (paletteIdx == 0x100) - LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20); + LoadPalette(sWirelessSignalAnimPals_Off, BG_PLTT_ID(3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalAnimPals_Outbound[paletteIdx], 0x30, 0x20); + LoadPalette(&sWirelessSignalAnimPals_Outbound[paletteIdx], BG_PLTT_ID(3), PLTT_SIZE_4BPP); } else { if (paletteIdx == 0x100) - LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20); + LoadPalette(sWirelessSignalAnimPals_Off, BG_PLTT_ID(3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalAnimPals_Inbound[paletteIdx], 0x30, 0x20); + LoadPalette(&sWirelessSignalAnimPals_Inbound[paletteIdx], BG_PLTT_ID(3), PLTT_SIZE_4BPP); } if (sWirelessSignalAnimParams[tIdx][0] == 0 && tCounter == 0) diff --git a/src/trainer_card.c b/src/trainer_card.c index 765c48cd3..567dc3085 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -1428,7 +1428,7 @@ static void LoadMonIconGfx(void) break; } - LoadPalette(sTrainerCardDataPtr->monIconPals, 80, 192); + LoadPalette(sTrainerCardDataPtr->monIconPals, BG_PLTT_ID(5), sizeof(sTrainerCardDataPtr->monIconPals)); for (i = 0; i < PARTY_SIZE; i++) { LoadBgTiles(3, GetMonIconTiles(sTrainerCardDataPtr->trainerCard.monSpecies[i], 0), 512, 16 * i + 32); @@ -1454,10 +1454,10 @@ static void PrintStickersOnCard(void) static void LoadStickerGfx(void) { - LoadPalette(sTrainerCardStickerPal1, 176, 32); - LoadPalette(sTrainerCardStickerPal2, 192, 32); - LoadPalette(sTrainerCardStickerPal3, 208, 32); - LoadPalette(sTrainerCardStickerPal4, 224, 32); + LoadPalette(sTrainerCardStickerPal1, BG_PLTT_ID(11), sizeof(sTrainerCardStickerPal1)); + LoadPalette(sTrainerCardStickerPal2, BG_PLTT_ID(12), sizeof(sTrainerCardStickerPal2)); + LoadPalette(sTrainerCardStickerPal3, BG_PLTT_ID(13), sizeof(sTrainerCardStickerPal3)); + LoadPalette(sTrainerCardStickerPal4, BG_PLTT_ID(14), sizeof(sTrainerCardStickerPal4)); LoadBgTiles(3, sTrainerCardDataPtr->stickerTiles, 1024, 128); } @@ -1479,24 +1479,24 @@ static bool8 SetTrainerCardBgsAndPals(void) break; case 2: if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) - LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96); + LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); else - LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96); + LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); break; case 3: if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) - LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32); + LoadPalette(sHoennTrainerCardBadges_Pal, BG_PLTT_ID(3), sizeof(sHoennTrainerCardBadges_Pal)); else - LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32); + LoadPalette(sKantoTrainerCardBadges_Pal, BG_PLTT_ID(3), sizeof(sKantoTrainerCardBadges_Pal)); break; case 4: if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE) - LoadPalette(sHoennTrainerCardFemaleBackground_Pal, 16, 32); + LoadPalette(sHoennTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBackground_Pal)); else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE) - LoadPalette(sKantoTrainerCardFemaleBackground_Pal, 16, 32); + LoadPalette(sKantoTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBackground_Pal)); break; case 5: - LoadPalette(sTrainerCardGold_Pal, 64, 32); + LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardGold_Pal)); break; case 6: SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer); diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index a17502b63..a6622d8fc 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -81,7 +81,7 @@ void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 palett if (paletteTag == TAG_NONE) { sCreatingSpriteTemplate.paletteTag = TAG_NONE; - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } else { @@ -94,7 +94,7 @@ void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 palett if (paletteTag == TAG_NONE) { sCreatingSpriteTemplate.paletteTag = TAG_NONE; - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } else { @@ -107,9 +107,9 @@ void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 palett void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer) { if (!isTrainer) - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), BG_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); else - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, BG_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } void AssignSpriteAnimsTable(bool8 isTrainer) diff --git a/src/union_room.c b/src/union_room.c index 59a090f98..c5e77b1e5 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -2258,7 +2258,7 @@ void RunUnionRoom(void) uroom->unreadPlayerId = 0; gSpecialVar_Result = 0; - ListMenuLoadStdPalAt(0xD0, 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(13), 1); } static u16 ReadAsU16(const u8 *ptr) diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 453e31097..5c31746a9 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -75,7 +75,7 @@ static bool32 UnionRoomBattle_PrintTextOnWindow0(s16 * state, const u8 * str, s3 switch (*state) { case 0: - DrawTextBorderOuter(0, 0x001, 0xD); + DrawTextBorderOuter(0, 0x001, 13); UnionRoomBattle_CreateTextPrinter(0, str, 0, 2, speed); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); @@ -120,8 +120,8 @@ void CB2_UnionRoomBattle(void) ClearWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); - LoadStdWindowGfx(0, 1, 0xD0); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + LoadStdWindowGfx(0, 1, BG_PLTT_ID(13)); Menu_LoadStdPal(); SetVBlankCallback(VBlankCB_UnionRoomBattle); gMain.state++; diff --git a/src/union_room_chat_display.c b/src/union_room_chat_display.c index 6ded7d3af..9588fed93 100644 --- a/src/union_room_chat_display.c +++ b/src/union_room_chat_display.c @@ -1259,8 +1259,8 @@ static void ClearBg0(void) static void LoadUnionRoomChatPanelGfx(void) { - LoadPalette(gUnionRoomChat_Panel_Pal, 0x70, 0x20); - LoadPalette(sUnionRoomChat_TextEntry_Pal, 0xC0, 0x20); + LoadPalette(gUnionRoomChat_Panel_Pal, BG_PLTT_ID(7), PLTT_SIZE_4BPP); + LoadPalette(sUnionRoomChat_TextEntry_Pal, BG_PLTT_ID(12), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gUnionRoomChat_Panel_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(1, gUnionRoomChat_Panel_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); @@ -1270,7 +1270,7 @@ static void LoadLinkMiscMenuGfx(void) { u8 *ptr; - LoadPalette(gUnionRoomChat_Bg_Pal, 0, 0x20); + LoadPalette(gUnionRoomChat_Bg_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); ptr = DecompressAndCopyTileDataToVram(2, gUnionRoomChat_Bg_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(2, gUnionRoomChat_Bg_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); @@ -1278,13 +1278,13 @@ static void LoadLinkMiscMenuGfx(void) static void LoadBg1Pal8(void) { - LoadPalette(gUnionRoomChat_Unused_Pal, 0x80, 0x20); + LoadPalette(gUnionRoomChat_Unused_Pal, BG_PLTT_ID(8), PLTT_SIZE_4BPP); RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, DMA3_32BIT); } static void LoadWin0(void) { - LoadPalette(sUnionRoomChat_Messages_Pal, 0xF0, 0x20); + LoadPalette(sUnionRoomChat_Messages_Pal, BG_PLTT_ID(15), PLTT_SIZE_4BPP); PutWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(1)); CopyWindowToVram(0, COPYWIN_FULL); @@ -1307,9 +1307,9 @@ static void LoadWin1(void) static void LoadWin3(void) { FillWindowPixelBuffer(3, PIXEL_FILL(1)); - LoadUserWindowGfx(3, 1, 0xD0); - LoadStdWindowGfx(3, 0xA, 0x20); - LoadPalette(gStandardMenuPalette, 0xE0, 0x20); + LoadUserWindowGfx(3, 1, BG_PLTT_ID(13)); + LoadStdWindowGfx(3, 0xA, BG_PLTT_ID(2)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(14), PLTT_SIZE_4BPP); } static void InitScanlineEffect(void) diff --git a/src/union_room_chat_objects.c b/src/union_room_chat_objects.c index 23837d2e3..d7e26a46a 100644 --- a/src/union_room_chat_objects.c +++ b/src/union_room_chat_objects.c @@ -242,7 +242,7 @@ void UnionRoomChat_UpdateObjPalCycle(int arg0) { const u16 *palette = &sUnionRoomChatInterfacePal[arg0 * 2 + 1]; u8 index = IndexOfSpritePaletteTag(0); - LoadPalette(palette, index * 16 + 0x101, 4); + LoadPalette(palette, OBJ_PLTT_ID(index) + 1, PLTT_SIZEOF(2)); } void UnionRoomChat_SetSelectorCursorClosedImage(void) diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index eb4ef03f9..693e22052 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -212,10 +212,10 @@ static void CB2_InitWirelessCommunicationScreen(void) ChangeBgY(0, 0, BG_COORD_SET); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); - LoadPalette(sPalettes, 0, 0x20); - Menu_LoadStdPalAt(0xf0); + LoadPalette(sPalettes, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + Menu_LoadStdPalAt(BG_PLTT_ID(15)); DynamicPlaceholderTextUtil_Reset(); - FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0xF); + FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 15); CopyBgTilemapBufferToVram(1); SetMainCallback2(CB2_RunWirelessCommunicationScreen); RunTasks(); @@ -247,7 +247,7 @@ static void CyclePalette(s16 * counter, s16 * palIdx) *counter = 0; } idx = *palIdx + 2; // +2 skips over default.pal and the empty black palette after it - LoadPalette(sPalettes[idx], 0, 16); + LoadPalette(sPalettes[idx], BG_PLTT_ID(0), PLTT_SIZEOF(8)); } static void PrintHeaderTexts(void) From c2127952172018adb2ca71184edfeca55805b363 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 31 May 2023 21:47:33 -0400 Subject: [PATCH 17/30] Fix index comment for ScrCmd_playslotmachine --- data/script_cmd_table.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index 6cb2bed8f..c5d112d9e 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -138,7 +138,7 @@ gScriptCmdTable:: .4byte ScrCmd_pokemart @ 0x86 .4byte ScrCmd_pokemartdecoration @ 0x87 .4byte ScrCmd_pokemartdecoration2 @ 0x88 - .4byte ScrCmd_playslotmachine @ 0x8 + .4byte ScrCmd_playslotmachine @ 0x89 .4byte ScrCmd_setberrytree @ 0x8a .4byte ScrCmd_choosecontestmon @ 0x8b .4byte ScrCmd_startcontest @ 0x8c From 8b17c6d36d8ddfd27366c68c076f9ed238051c16 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 31 May 2023 22:33:08 -0400 Subject: [PATCH 18/30] Colorize tm_case/hm.png --- graphics/tm_case/hm.png | Bin 99 -> 156 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/tm_case/hm.png b/graphics/tm_case/hm.png index 426e404fe0dc256ffc0ad6f408b691104d4e782f..48390d03df19eaaabd054d70106939cd08cb02b6 100644 GIT binary patch delta 138 zcmYeE!#F{*o|%Dx;qBc=K|snNz$e7@KNut>C0)IG_8AAq|GmXdPEOxj3=M^ WUM<`Qd*uajv*W~lYdwW^E@*?)54^3tY_w22bR>521!{DB?}3O gX9w2);AgFnU`ULMl;`dLAqUd!>FVdQ&MBb@008+JiU0rr From febf864bf696c76bd5165a847d9d941032313bca Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 1 Jun 2023 13:39:17 -0400 Subject: [PATCH 19/30] Sync trainer card graphics --- graphics/trainer_card/back.bin | Bin 300 -> 1200 bytes graphics/trainer_card/back_hoenn.bin | Bin 220 -> 0 bytes graphics/trainer_card/bg.bin | Bin 184 -> 1200 bytes graphics/trainer_card/bg_hoenn.bin | Bin 152 -> 0 bytes graphics/trainer_card/{0star.pal => blue.pal} | 0 .../{fr_2stars_pals.pal => bronze.pal} | 0 graphics/trainer_card/card.png | Bin 1467 -> 0 bytes graphics/trainer_card/card_em.png | Bin 989 -> 0 bytes graphics/trainer_card/em_badges.pal | 19 ---- .../{fr_female_bg.pal => female_bg.pal} | 0 graphics/trainer_card/fr_4stars_pals.pal | 51 ---------- graphics/trainer_card/fr_badges.pal | 19 ---- graphics/trainer_card/front.bin | Bin 440 -> 1200 bytes graphics/trainer_card/front_hoenn.bin | Bin 532 -> 0 bytes graphics/trainer_card/front_hoenn_link.bin | Bin 500 -> 0 bytes graphics/trainer_card/front_link.bin | Bin 396 -> 1200 bytes graphics/trainer_card/gold.pal | 56 ++++++++--- .../{fr_1stars_pals.pal => green.pal} | 0 graphics/trainer_card/rse/back.bin | Bin 0 -> 1200 bytes .../{em_badges.png => rse/badges.png} | Bin graphics/trainer_card/rse/bg.bin | 1 + .../{em_1stars_pals.pal => rse/bronze.pal} | 0 .../{em_2stars_pals.pal => rse/copper.pal} | 0 .../{em_female_bg.pal => rse/female_bg.pal} | 0 graphics/trainer_card/rse/front.bin | Bin 0 -> 1200 bytes graphics/trainer_card/rse/front_link.bin | Bin 0 -> 1200 bytes .../{em_4stars_pals.pal => rse/gold.pal} | 0 .../{0star_em.pal => rse/green.pal} | 0 .../{em_3stars_pals.pal => rse/silver.pal} | 0 graphics/trainer_card/rse/tiles.png | Bin 0 -> 1231 bytes .../{fr_3stars_pals.pal => silver.pal} | 0 graphics/trainer_card/star.pal | 19 ++++ .../{sticker1.pal => stickers1.pal} | 0 .../{sticker2.pal => stickers2.pal} | 0 .../{sticker3.pal => stickers3.pal} | 0 .../{sticker4.pal => stickers4.pal} | 0 graphics/trainer_card/tiles.png | Bin 0 -> 1629 bytes graphics/trainer_card/unused.pal | 19 ++++ include/graphics.h | 4 +- src/graphics.c | 8 +- src/trainer_card.c | 92 +++++++++--------- 41 files changed, 135 insertions(+), 153 deletions(-) delete mode 100644 graphics/trainer_card/back_hoenn.bin delete mode 100644 graphics/trainer_card/bg_hoenn.bin rename graphics/trainer_card/{0star.pal => blue.pal} (100%) rename graphics/trainer_card/{fr_2stars_pals.pal => bronze.pal} (100%) delete mode 100644 graphics/trainer_card/card.png delete mode 100644 graphics/trainer_card/card_em.png delete mode 100644 graphics/trainer_card/em_badges.pal rename graphics/trainer_card/{fr_female_bg.pal => female_bg.pal} (100%) delete mode 100644 graphics/trainer_card/fr_4stars_pals.pal delete mode 100644 graphics/trainer_card/fr_badges.pal delete mode 100644 graphics/trainer_card/front_hoenn.bin delete mode 100644 graphics/trainer_card/front_hoenn_link.bin rename graphics/trainer_card/{fr_1stars_pals.pal => green.pal} (100%) create mode 100644 graphics/trainer_card/rse/back.bin rename graphics/trainer_card/{em_badges.png => rse/badges.png} (100%) create mode 100644 graphics/trainer_card/rse/bg.bin rename graphics/trainer_card/{em_1stars_pals.pal => rse/bronze.pal} (100%) rename graphics/trainer_card/{em_2stars_pals.pal => rse/copper.pal} (100%) rename graphics/trainer_card/{em_female_bg.pal => rse/female_bg.pal} (100%) create mode 100644 graphics/trainer_card/rse/front.bin create mode 100644 graphics/trainer_card/rse/front_link.bin rename graphics/trainer_card/{em_4stars_pals.pal => rse/gold.pal} (100%) rename graphics/trainer_card/{0star_em.pal => rse/green.pal} (100%) rename graphics/trainer_card/{em_3stars_pals.pal => rse/silver.pal} (100%) create mode 100644 graphics/trainer_card/rse/tiles.png rename graphics/trainer_card/{fr_3stars_pals.pal => silver.pal} (100%) create mode 100644 graphics/trainer_card/star.pal rename graphics/trainer_card/{sticker1.pal => stickers1.pal} (100%) rename graphics/trainer_card/{sticker2.pal => stickers2.pal} (100%) rename graphics/trainer_card/{sticker3.pal => stickers3.pal} (100%) rename graphics/trainer_card/{sticker4.pal => stickers4.pal} (100%) create mode 100644 graphics/trainer_card/tiles.png create mode 100644 graphics/trainer_card/unused.pal diff --git a/graphics/trainer_card/back.bin b/graphics/trainer_card/back.bin index dd54ba1c7ed95002be611ea1799abd87257d5bb0..14840e5e469c2f14a661593a57ee7d878dc9a1f4 100644 GIT binary patch literal 1200 zcmd^;xekI*5JgXLidWF^3H%|DC_*$L2(mTqviz(FVr2oZH7Aoh&B<+Mz+k0;Az-m) zqrqA%u}L{gG~8rFM?*_1jm*t%a4qF1SMAud Tmz~T_*K|zF1VgPfFnaR^6lN2U literal 300 zcmYk2Jx;?w5QV?BN7^l1*c}oSPDM+Lw(${i1diYY1(PU|tdIanq=+ zM_A~ng6&N~Gc)gfZ#2@xZ-Rz^&?%=r6oEiOkNnIVJxN5jm~!d$-c(x7qHef_JMMYl zG31G7u1>;SEst!$xsMjh)Q-9EV*H-jYd^N_i&NYBnk#C@*KO7QNmo>fhBao}e*bZjXoc?q=))Tr>Y)e=$W6u0QW)-T*f~-u7k_{`uHEUTl;5F8p)Fvi3 b9n6psBN^tql}?mLhe;%-X7`jV;28J=H%(;h diff --git a/graphics/trainer_card/back_hoenn.bin b/graphics/trainer_card/back_hoenn.bin deleted file mode 100644 index eda105eb2df1efcbb9bae7faebb929bb4fea3a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmX|*u?@mN3`M_#ixd%p4KhMH?sP(80R(Lz3oyYcBuI?H2sc6+=AfXVbV(P^7of5H z-v5%l2#gtEQRG5G*Fcs5gT~;fVxWc%afTX)*tiP?syQp&N$9C@<$7GSc^jxNU56d$ zm6*DX+hRRVuy^9)=EWzGAfeExR$ITR;+swK{YRg%nddFe(ZuWRl1;&@ynxU{f3vWf H2vvj+zsXmc diff --git a/graphics/trainer_card/bg.bin b/graphics/trainer_card/bg.bin index c1c4522623c2dc5c8844dd48648a87c728190959..c0914427dbfb0a3c4223e623434727c433eb3eaf 100644 GIT binary patch literal 1200 VcmWd-7zLvtFd71*Auu#T008`PO921? literal 184 zcmWgGz`|fJAn<_^0skYI5Egv|e!#3PU}Rum_+S6OzQ-^s-G=4ARSMfBZ?{yDYM?M2 F001~JP+R~2 diff --git a/graphics/trainer_card/bg_hoenn.bin b/graphics/trainer_card/bg_hoenn.bin deleted file mode 100644 index b3994f663af77069a9dc0dabd9922eb3e3959143..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 hcmWgGz`|fJB=CU|0skYI5Egv|e!#3PU}Rum00449N2&k- diff --git a/graphics/trainer_card/0star.pal b/graphics/trainer_card/blue.pal similarity index 100% rename from graphics/trainer_card/0star.pal rename to graphics/trainer_card/blue.pal diff --git a/graphics/trainer_card/fr_2stars_pals.pal b/graphics/trainer_card/bronze.pal similarity index 100% rename from graphics/trainer_card/fr_2stars_pals.pal rename to graphics/trainer_card/bronze.pal diff --git a/graphics/trainer_card/card.png b/graphics/trainer_card/card.png deleted file mode 100644 index 2fea60d09bc33f50d0b67f27f8287ea270d00a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 zcmV;s1w{IZP) zNklc!=;+G%3_xQu^^~f@^9$P`? z>Sa-stHPSrdgsdDx-#>{zEa1o(;th)7gv9))Nfuu4R=~8Q#uR$uGDvzr8T`H0S$qQ z0PU>;7nwC95E1yPA4ahI{{+r2A;GKMm=WMQoahN^qTmUj#C>uoyLv{0I0B{A&=p7U zfvk5+29Z4fU`*CALLC9MZ7=^R3Xt^HWYp(X&O^yM%=-ZIA6g$!o4$Cbbs%t+RRULK zWfcJnP`NC(Iwr_}s04hymS6~iclsh@0`@`fMv`@`1y4X3Xhbv!v_=UCE(C$ABa8uo zwgsbm0w*8|T$qAP459#nZ8L!saCMmnhyeUx1bF>75}=Ou9rg4CTM(3XIdkqe68uH~ zkM<$H&1=CD5P}q_BY+bjfOadOZ5~*HvXua90RjpWPYJSC0=x$ToQ)v(xf20dtq26a|&* z0wSi#6AZ%shT!XalXKZ6te=835pe% zIUfX37;r2`V(|JYOly1qkK5<{D0WG!fJ-^&dGCH>r&%CyGr6fJP#pUWp7)|Z9Su@I z=7A*WyVwu#9EkC=tWzes6}T}^IX(`j_O;M=v4@bz%44*(E@vL{w?mHBkS=% zZ$$dr$@5!`oCuuQ1bC>{A5Wg0kqA7O+p>HvH9n~3GVzVf|6{R4Q-STae8vaWbm{lR z2jPNKmz6Ny2Hcha0&NAJQ-T11c_velM^p?!$ryCglLVUp!1A1?0;L-~Az&B0&%};& zVgz_QFak*!-GDH0qlQH zfc(&ui9CLd0Iz-C4$@Q($4>=X*8=Z}T?K9$2vnm$>vGQXTVpF8f}Uqpo9!errF7H4 z(_A#&bwmg}#%-A}yw9b;Peme7#BCC}UO%+S~}>Ue#MgUtUG^eTKVY zAOOTzz+>0gRYdRzFGm88)!8slgm71s0%jwy0yccEjr$vcTVc2>3W2$g_3FGrl44Q}90ccd_h5 zP)$J+6o^8a2Z=!CMDGKi2Rh9IC$QJVTBs)&x0qN9^-eBrIG|9^>L VLWzQB#S#Dj002ovPDHLkV1j^0q>umr diff --git a/graphics/trainer_card/card_em.png b/graphics/trainer_card/card_em.png deleted file mode 100644 index bd8be5162536bd76690219ec59a712e75c20c831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmV<310wv1P)V!Zn9;Bc000AM zNklyKdVs6o$2A4zzOAmU^kZ_* z0--l3GI|l%b9gN_)D$n!fvIOCI84)~`ztzv^c1e$Vf}93U!vI4DKP|9n_hY2e``!fWemH4+B!ca4+E=KEKGE5^CXAhi)Q( zO#%wo7)Aj1@cDV_HC6w-y$G1rvb;Ab8_hSXbK8X@It1I}vu~ z0jkOZLJI;E8%ArvoG(G|K`$V@QM)`Sf>N6Pp_1YM0&x(Ac7U*CgA@x>g|VX2(xbPw z!)OjV0NhHZN(V4=iDW{d7A(L-fW@;wQn?qvNE8(COaQ$W?Av_{H}qSG0)j#TYYK>2 z2#1SWpu?G*dhkphFfXyPKqgFY1X8aLDyleukx}sSK;?i1L@kgJ@biFqQ(jLWs5iUX z0O*|gl%BQ#dl-SUP&o@fNFI2A{U(d%!OQ`?Jn$^+H{oTM2h0s~JP!bXYXmCMq7SI* zr%Z{cgzo+RTM=XFGJ11-HC!?T}hPIZ~ZOsz%Cdd<|taN&(>Gha};n z^u@DqEyOfHB3=Oi|EYfyf^*U0VFSO75H0MSH}-lf4>|wpTX;nP7rbe46Y@}Sgusz( ztFFsycr^r|3;=&6pv4Ft6@aU|3M#r5ECAvY7_@v^MIc%YP=3w;T70F70NhGIb5s`O z-R20_kG&R->gBEzxp?Hti?jg!{1^jF7{)&Wn3T$>Ngoqx>gW6$^?1x}ciO&Y00000 LNkvXXu0mjfIo-3# diff --git a/graphics/trainer_card/em_badges.pal b/graphics/trainer_card/em_badges.pal deleted file mode 100644 index dd9246d9d..000000000 --- a/graphics/trainer_card/em_badges.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 98 115 -255 255 255 -213 213 213 -180 180 180 -123 123 123 -255 139 57 -222 57 8 -106 189 255 -65 139 197 -255 213 98 -238 180 57 -197 123 197 -148 74 156 -106 189 255 -205 205 205 -0 0 0 diff --git a/graphics/trainer_card/fr_female_bg.pal b/graphics/trainer_card/female_bg.pal similarity index 100% rename from graphics/trainer_card/fr_female_bg.pal rename to graphics/trainer_card/female_bg.pal diff --git a/graphics/trainer_card/fr_4stars_pals.pal b/graphics/trainer_card/fr_4stars_pals.pal deleted file mode 100644 index 79027f0d8..000000000 --- a/graphics/trainer_card/fr_4stars_pals.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -139 98 115 -255 246 230 -246 238 213 -246 246 197 -246 238 180 -246 222 106 -164 164 164 -98 98 115 -255 255 148 -246 222 49 -246 205 8 -238 189 0 -189 148 57 -255 255 197 -255 255 255 -246 230 82 -139 98 115 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -189 148 16 -255 213 82 -82 205 180 -65 172 164 -197 197 197 -90 90 90 -0 0 0 -32 65 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/trainer_card/fr_badges.pal b/graphics/trainer_card/fr_badges.pal deleted file mode 100644 index dd9246d9d..000000000 --- a/graphics/trainer_card/fr_badges.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 98 115 -255 255 255 -213 213 213 -180 180 180 -123 123 123 -255 139 57 -222 57 8 -106 189 255 -65 139 197 -255 213 98 -238 180 57 -197 123 197 -148 74 156 -106 189 255 -205 205 205 -0 0 0 diff --git a/graphics/trainer_card/front.bin b/graphics/trainer_card/front.bin index b83c4394298b0fa0e0b5f55e6bb3d4f142b9dbba..c83a6e494a34b961b6cc802e6ef2c3e9817785b2 100644 GIT binary patch literal 1200 zcmbW$*G|G<9ES1d;44-wcv3V`6M__tXyS@{?=9}VZl$GS68D>wb4t$u;(EdB7p3 zp6}i%dvD7J9y!ih_q%V(zT5W0mX7uE4>_Ot%vy^G+w8E*9#>p*!z~RSipX~%NXRZh yLgcf-jMYPS3B8E)mdh=cTOqejt|7NlZoR!h!xE;RqQpljVH%+6f&4Qx1Mv&|cWdha literal 440 zcmXAm%T7~K7=^z-*;^0xR3SN)1Z&u}MFJ(EYOo$R>aL<7a#!wNs_|~s8V3yV5qt!^ zPpd|q@(9Mn`FVsr@BwT&(=S<<7(0FJ5*9tso*t^Kc4sDpHgf;0!UG#WK!0 zIL`&vSVwKJ$#El}sC`c43j?ZTEK^)%nrkq_EOX2wk9opVo;e%+;AbMgj4hB4=t@HZ zRV!eRwVM>%CA=7^aDtNrr+7%k78y#s>`0|L#%ZeK+&9v+9jT*HbJe%D*AFFfk;bJr zanla^av~GB%WmunlPvIR(QkE3m$>fY-Wx2No{uS+SaI?vsmLI)tLAtzOh>)!IG*+gC1W>jXv#DbC9}Anp{Wve4uy&TJ~q zvgy*8n3R9ef8b9baplgZzd#z}?&K`Kb8=3!CFz19S_L8yeoGW3c;r0_9iuJs(nE%b zvm||Z#A6nD0#A9yb6&tpUa^E+L~LanyG>6+MB_4K?22r_YnFM#TX@HNKJXFwiO;N< z)P4pJFdA56`#AXXUsRv5{iMJ!#7;zey^jbJAtKXZ>Gt(k>|tEZA%=roO(d8|*1jcW zf^yZ0F=Bx*qG~gYWFbdRW~DS_e4C=ekq}2Y#_{&eUCm1OIJQKYa$1(K2`1WZokB^KRav_wO})dp1@qkI z4tI&&lfh?bru+N zu|aWWO+{2>REH_duf;jN0lHE2u#tt{9}feu{5{$`AP4>gPTrq!E_v-zuW292}D oID3q<_lt4T#@Sb~p2~ab|Et=Y)Uu#7o#|WRL6Krd1;Q170RvQVWB>pF diff --git a/graphics/trainer_card/front_hoenn_link.bin b/graphics/trainer_card/front_hoenn_link.bin deleted file mode 100644 index 46e00f6702e81e7bad661295ffbd90cf8479dd56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmXAlOHUI~0ENF>Zo)O*zCsrUTOHIUL~CaRr88X8sV@*hNb$X_DAt|gYh1V(#W$P! zez2K8U{e0U`~$b{*t%o<1=R!-+8?11XTZ&a~hvq!9u@lf}Dqs29X=;L$a}UT;Zy-6JqMhR<^E3m|7Ifae?j-cR0YozpKUWgsNCuV_jX2f@^S{fG12ln8aJ& zR(X|obdJW_b_pr}rB_8_Eh`smT8!mv@{3$kVPYeNVe;sz>HdH;>ie4o- z#E-v3Q6NrzgyI5{q-c&%N+g9xh5-f{Vwe#|8DpFS4mskOHoq5MYkDIiJl`&`$P&w} zu*w?iTyw)MciMjQQ`4_+T^t%CNH1(Q{(+9_{m16i$e eLfM2N^E;>4PaX%m79rytBAWbTLc-BPgSc z!DGf*WexL&w{-h*Lg6%&Z*-Zgue{(Tub6^qW|(CT*&(GZ7t zrqF?QR-0t1C7k$@;}QLM1AHK-8G1t}N0Q4AGDLoq4PVL{NiBN?oByOOt~Zn?>`iu;nX*iyZ|0+^t^y0Fc%2oq-A6> zdZV-svbE<+&mQ{5-iQBe zXGfL}q#D8fB~Ru_<}>qTccF-qji)G}K%T)Sk{1OLB*v~-W1S5)*YPb?T%@Xz$wq=MITKNm|PcS+XJ{1Zm5rxW|2l7-ppI z?)FMw($>Mn6^^zg%jTG3ni*!9tFyN&{iK|fW$C@+veIkyZ{`$BEVIHx9`TqbmLFxz zbS3Q^=}K2QO5bbQ9M5^dDld7(Yu;FPo(0pTwav(^%&LsGY0IVA$G} z37Iq#ds8P>!m>FQdB9uVafiGAwcaUV8Ichc*3QepH;U=APH`GZ3uid1yW_Vl~kO}%7lr>R}0cAMIxt7i)`F9(}QUKJD+rK0f^wLHo57b6Bpt^fc4 literal 0 HcmV?d00001 diff --git a/graphics/trainer_card/rse/front_link.bin b/graphics/trainer_card/rse/front_link.bin new file mode 100644 index 0000000000000000000000000000000000000000..af5e6259efb9b6fb3abe21e4a8cdacc9bf07a37d GIT binary patch literal 1200 zcmbu-$4>%56vy!|W)5>0AqGwgb}ouw13?McTZpmi(XL0k9_@{bz5cV#F08IZNx=DC z<|Xsl_cF5(L&?Gu6A&drM-hpLs3^fhS{!lA38$QK&IOlTam@{BgibjX)SEk_vf>dX zru`7N+;PtXk38|r3$MKK&WCxjfkxWD%uicNQxPdO`?~Q{O%1g;^2Uh^mvD;ADR86KX`smN;U6-xn+9pVn6bWtP zHXCM~2_~6hI>)wU>y%8%F=^cKn9_UoJ+q$$7FlAM6;@fZ`2hyaDz05ZCS_73l!uudrO%w$nA)ejHXCM+ zc@8+FldfN_@fD|ZNtbeJXC(7R9z@{_>whksisG%lFQac%j>yp>GNPgiVp36fVp{%Z FeFDp?Nap|m literal 0 HcmV?d00001 diff --git a/graphics/trainer_card/em_4stars_pals.pal b/graphics/trainer_card/rse/gold.pal similarity index 100% rename from graphics/trainer_card/em_4stars_pals.pal rename to graphics/trainer_card/rse/gold.pal diff --git a/graphics/trainer_card/0star_em.pal b/graphics/trainer_card/rse/green.pal similarity index 100% rename from graphics/trainer_card/0star_em.pal rename to graphics/trainer_card/rse/green.pal diff --git a/graphics/trainer_card/em_3stars_pals.pal b/graphics/trainer_card/rse/silver.pal similarity index 100% rename from graphics/trainer_card/em_3stars_pals.pal rename to graphics/trainer_card/rse/silver.pal diff --git a/graphics/trainer_card/rse/tiles.png b/graphics/trainer_card/rse/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b19e0d0ed9ef90f0287771d7f3c1a8313102ad1d GIT binary patch literal 1231 zcmeAS@N?(olHy`uVBq!ia0vp^4L}^g!3-py-Rr#uq!^2X+?^QKos)S9Xt2AfbRLGD z7o@Ow=rl}7W;t?V-2*ehX|8e%$^Bvq4EGl>T$oU(%W|kIA%}6s3fqkh&eJw4L{~gW zJj`_X?k#18jjS(Ko?J*}Tyr6hd!Ogl{=_WCE%qM!J?cGb4tEqctZEI4*r+T2>;97c zDttFR7IHD~n6N(f_|vKl3w|s#&XhYKoXYV3wcFRHdT@}+r<^LVY84tzda|2Rob;JZ4*SFs1?-x+?|EI7lOe{iCu!v2k6?hL7XYmMAa zGFNin*(kzzmMJqa!|fTsg`QyYaK_~n6+P{g>Ki*U_7+97u&q-r!k=b6N z`0wNEpC$}nYRnHriamJz^P^<||AVO6(F$^hHTXBEE@!Oq-Dn|OPN=@+q}<*QyG#u7ffZfec64gpLxTNKgV@{SR4qETCtV&zy5)zVljLL zJ6Y2iKgjQ1&8WBiflh9=DZp7Z-+8S-*b=B0J>pRgJqSjM{k z-BGa*8h=j97Qg>DWxs|=fpX0qMh7Q`|2LUyesg>gJYaINdh+dVV1iO?6Lj6+umAn=JM)%HdE9!eJM=^+>(xkF d#{RYX$1bt!vVBbb>jY3X^>p=fS?83{1OQYpF`57X literal 0 HcmV?d00001 diff --git a/graphics/trainer_card/fr_3stars_pals.pal b/graphics/trainer_card/silver.pal similarity index 100% rename from graphics/trainer_card/fr_3stars_pals.pal rename to graphics/trainer_card/silver.pal diff --git a/graphics/trainer_card/star.pal b/graphics/trainer_card/star.pal new file mode 100644 index 000000000..ebd175e97 --- /dev/null +++ b/graphics/trainer_card/star.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 98 115 +246 197 0 +205 164 0 +246 197 0 +246 197 0 +246 197 0 +246 197 0 +246 197 0 +0 0 0 +0 0 0 +189 148 16 +255 213 82 +0 0 0 +0 0 0 +189 148 16 +246 197 0 diff --git a/graphics/trainer_card/sticker1.pal b/graphics/trainer_card/stickers1.pal similarity index 100% rename from graphics/trainer_card/sticker1.pal rename to graphics/trainer_card/stickers1.pal diff --git a/graphics/trainer_card/sticker2.pal b/graphics/trainer_card/stickers2.pal similarity index 100% rename from graphics/trainer_card/sticker2.pal rename to graphics/trainer_card/stickers2.pal diff --git a/graphics/trainer_card/sticker3.pal b/graphics/trainer_card/stickers3.pal similarity index 100% rename from graphics/trainer_card/sticker3.pal rename to graphics/trainer_card/stickers3.pal diff --git a/graphics/trainer_card/sticker4.pal b/graphics/trainer_card/stickers4.pal similarity index 100% rename from graphics/trainer_card/sticker4.pal rename to graphics/trainer_card/stickers4.pal diff --git a/graphics/trainer_card/tiles.png b/graphics/trainer_card/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2b11467f5ebe70e0b4c78f90343c9d56821ffc GIT binary patch literal 1629 zcma)6e^gU-6#u@r_u>r{=Z2s-bL2Krz$lSlt-~{ZGn|76aiOk>iUm4A6BO|Q8X_ta zryx$5v6s!KKI<&`XP+D~8N8rL8=I_=)D~yZ@E|8=d&1S=Mve#&C zv$9LBQmG`8G;?pkr7rpBDuYPT<(H-)%?%_;<~A6uc@mKSg$6l|?2V4@y7Znx-qzM8 z5{dp#-YAdml`MIaH@AT<6|m~RVZGN{|LlL$TLV8XAFc!d<%b8Yj7iLHIA!;25yw-*Lew#9$pAql!+qE8flE9n#>G4~ZOI>mA=NpDVEcZi83B4SGhv|Qt^6e#0H zHFP18d6sBD;hb%^;vHf?St&&Z1+u-=?F`^K;a+@x9OCEpX?M2l_r?Y=q0UrRl zgg)d%MB;OpRkOfFOqET?E+B^U;&Eu|`ohIvIt=hmS~mj0N>DX!gQ;G$Waep%TcAa< ztOw{0y4I%X<=&FjsHz{-6SVdj_6(vHAig&r`e2<`2m$Q5&CaBzf7RGAgayrS&o(u5 zjB?>k_5<~RrzG~MTacjnAD-OFqKDn|x7B@To*G=^we#ge(syf5(!6U&DTHv5%|C`jaFF#`{z7Ef&%798`kH3o6ae!nT!bOW$F~2)K^{f5Oja=4JPZJ zS{{}gVUN&LtAc5v+P|{9`8VT#%=wZ|N z8KW@Ia()f<^x?}iAN1gTO$pGoxWAbss?*f3XrK7X!c@{1m0ROoJxTdN~~ zp}jbb>gVLCN18-qatS?>8@L45hdb3=_&&o?;)gm*2O^zP7JZCwTwfdo<=;*4laKs# zJt}wNKn1{cbfxk+qb7!$&T|=rM|s{l7tG+~439Fv99(loakKw;lFtl-(;#djOCLVh z@B4wQn{*eeM|?5|;oH+mR2h;WU^>VaExx4-RO-lziNs`B)fB;MtZn2>_;`I_8E6Vu za)@p>O~NKLhjd~bv~1TbgL{Uk31EahwJIQ#nz?u*BArfi)bVA9^&ab^m+!r?;q6St z?1Qton>oV_nu4d+keCjC+O6V@{Ms9Ol(^%Z* zAGlc%iq$t~vv@ z$s1y$@$<+~%oQ9YX3=oSnMi@Z?(<|w-658p*icDSY-9_kF0$d0Lfe7hLL~ke+}YfR zx-K!Tg*MqrZ9Jgj;@Nj0C8%=Pz|Ltwc7S9ky19}FC?Z_6{zoU8#cardType == CARD_TYPE_RSE) - LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sHoennTrainerCardPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); else - LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sKantoTrainerCardPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); break; case 3: if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) @@ -1491,12 +1491,12 @@ static bool8 SetTrainerCardBgsAndPals(void) break; case 4: if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE) - LoadPalette(sHoennTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBackground_Pal)); + LoadPalette(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBg_Pal)); else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE) - LoadPalette(sKantoTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBackground_Pal)); + LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBg_Pal)); break; case 5: - LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardGold_Pal)); + LoadPalette(sTrainerCardStar_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardStar_Pal)); break; case 6: SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer); From fe99ef341db52d0285fd6480484e59fb8b03e9aa Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 1 Jun 2023 13:39:51 -0400 Subject: [PATCH 20/30] Correct colors in item_pc/bg.png --- graphics/item_pc/bg.pal | 51 ---------------------------------------- graphics/item_pc/bg.png | Bin 807 -> 923 bytes 2 files changed, 51 deletions(-) delete mode 100644 graphics/item_pc/bg.pal diff --git a/graphics/item_pc/bg.pal b/graphics/item_pc/bg.pal deleted file mode 100644 index b873bd0f6..000000000 --- a/graphics/item_pc/bg.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -0 0 0 -148 189 246 -106 172 230 -238 246 246 -222 230 230 -255 189 74 -230 131 41 -172 74 8 -156 164 172 -115 123 139 -164 255 139 -139 238 106 -115 222 82 -98 205 57 -230 230 238 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -189 213 213 -238 255 255 -222 246 255 -255 255 255 -164 222 255 -16 172 222 -0 82 115 -0 115 139 -0 123 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -189 213 213 -238 255 255 -222 246 255 -255 255 255 -164 222 255 -24 82 180 -0 90 131 -24 82 180 -24 82 180 diff --git a/graphics/item_pc/bg.png b/graphics/item_pc/bg.png index 4db6a6bcbc7f4407b8eed2ff5d7aef89e2c28d91..a028e79074048381f7cf8083e3aa06e83e079406 100644 GIT binary patch delta 864 zcmZ3^Hk*BdgcJue0|P^m5u+54Vk{1FcVbv~PUa<$Ghw2tNj;Fp1beSuefR(Wy>I`4 zV9CAz0&DIu1QjzBcQaHU#Z(LwK~pagw1pw68At+=vR~^11_q{`o-U3d5v^yZ-@LR~ zL7?@vYS+aVsjL2-sz0;me>5MHZxti!-WitSfm?n*-XPtuU|GcDWQ9XD8Mh6Wcb+oo2YI$X^0V*7%eI)xO5 z+V)95KiM(gFnijt|_z1-pQ-&>ybRvnp3w3!{Q zoXB2w@S(cR+p6V!DZP8rSXP{7e#|BF;$t~q6PL^qMp3>?zAFkQygTB={`28!>ko$) zAB(@|%Dz*x>)aDd1rw*di3>KriF^6k{e*6CNdn`{y_dL)q*)6KG$dZUS+M5C0#o-U zN5Qs6YYm1Mnx|#nWF0A;_09RvjL`ag4MTe?3$~uZJu{OUes6vMvFnhcuIF31ZJt#JgLLuvM$RXv`6k3XTQHqZDq^)v4Zkm=M$v{(?^_rY8g(9pUzjgk z$Z#?DfV#$!+IuVf6&u=X>lWRc&hTFUfjh%3&9znzs|}wve5uOsVm!|H)8&qZ9`lBk z_5b-A4%afB@L%9`;5)0|!~2d)8B}9Zwlk{v)PJqN_+a+mPhXCc?CNjL8? z&pejL_RYhCvBr*7N8z7{S!_MSho3AP&TRN~H~;(%&a>Mz88)9`=q`2m&g7k8#X4ht zy-OD*92=v01)ieiH9}fyil1o261C8P8??`7d+ge1j4D zGlqh&#e$F3_FF4A_(&XYk8*8T{Z1>Pmp3PmahW$m;f4_ACl|x`1=_Ps9eT5u{$o1i W{*uq|QA#H$`FpzhxvXl*x~u_)oG@IwzrAjWE!z;zZ%f`Gpi&q)}t4Mzw7_oUvYdSsB(e*a8yPwEYTZXH4~fV#TDuEAgc zb#;RP!Ul1Rut5wmWN@bF7=HKr=l&w0K`wtQ*iOXpgB?(EW55=>K%(TcJuom87;; zhkyz`5U5l7f$DmIH6V}{ErxN?VkpCgb23B#gbcT2h{A@F-Vp#`rLKkKI+Yg!Oj>_| zwT`a)2itrT0;uliROkB<;0pj#20Gax4Zx&x6cGC#1p%+ZX@o;^6oA{l41lTofU`&; z;168hP-6(NfsJbgQoRZGKQm4BsTl7xS!TMNFBVYl7YY}85=S32egO6}0+!0`!X!F% zfZc+Cm3q9_Bl(s^6$3M)Ho&i?GN*qbyL->TTmt(w0grcVn6Y7r1^{-`A7zns37FI9 z7b^j1A|u0WM!=E{tF^gUZ=igF^+OvxSv_5 Date: Thu, 1 Jun 2023 14:09:45 -0400 Subject: [PATCH 21/30] Correct item_menu/bg.pg colors, combine list tilemaps --- graphics/item_menu/bag_pal1.pal | 51 -------------- graphics/item_menu/bagmap_0.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_1.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_2.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_3.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_4.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_5.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_6.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_7.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_8.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_9.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_A.bin | Bin 36 -> 0 bytes graphics/item_menu/bagmap_B.bin | Bin 36 -> 0 bytes graphics/item_menu/bg.png | Bin 539 -> 661 bytes .../item_menu/{bag_pal2.pal => bg_female.pal} | 0 graphics/item_menu/list.bin | Bin 0 -> 432 bytes src/graphics.c | 4 +- src/item_menu.c | 64 ++++++++---------- 18 files changed, 32 insertions(+), 87 deletions(-) delete mode 100644 graphics/item_menu/bag_pal1.pal delete mode 100644 graphics/item_menu/bagmap_0.bin delete mode 100644 graphics/item_menu/bagmap_1.bin delete mode 100644 graphics/item_menu/bagmap_2.bin delete mode 100644 graphics/item_menu/bagmap_3.bin delete mode 100644 graphics/item_menu/bagmap_4.bin delete mode 100644 graphics/item_menu/bagmap_5.bin delete mode 100644 graphics/item_menu/bagmap_6.bin delete mode 100644 graphics/item_menu/bagmap_7.bin delete mode 100644 graphics/item_menu/bagmap_8.bin delete mode 100644 graphics/item_menu/bagmap_9.bin delete mode 100644 graphics/item_menu/bagmap_A.bin delete mode 100644 graphics/item_menu/bagmap_B.bin rename graphics/item_menu/{bag_pal2.pal => bg_female.pal} (100%) create mode 100644 graphics/item_menu/list.bin diff --git a/graphics/item_menu/bag_pal1.pal b/graphics/item_menu/bag_pal1.pal deleted file mode 100644 index e94c83852..000000000 --- a/graphics/item_menu/bag_pal1.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -0 65 90 -255 0 255 -41 57 82 -65 180 164 -255 0 255 -255 0 255 -106 205 197 -246 205 115 -238 230 172 -255 255 205 -222 139 74 -148 148 148 -238 230 172 -106 106 106 -213 180 82 -205 65 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -189 213 213 -238 255 255 -222 246 255 -255 255 255 -164 222 255 -16 172 222 -0 82 115 -0 115 139 -0 123 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -189 213 213 -238 255 255 -222 246 255 -255 255 255 -164 222 255 -24 82 180 -0 90 131 -24 82 180 -24 82 180 diff --git a/graphics/item_menu/bagmap_0.bin b/graphics/item_menu/bagmap_0.bin deleted file mode 100644 index 94c0af766f249188308f328dfd95d76523012fc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;J;3NP!SO5$N0Hpu` diff --git a/graphics/item_menu/bagmap_1.bin b/graphics/item_menu/bagmap_1.bin deleted file mode 100644 index ff1b44740858ce61a11b5a2ec4ad6eab857ff386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N;2{7x82}Hu0Mh^f diff --git a/graphics/item_menu/bagmap_2.bin b/graphics/item_menu/bagmap_2.bin deleted file mode 100644 index 167c246f8967e8860e985f6278c4d5aea1f89ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N5Fh|K82}V|0TTcK diff --git a/graphics/item_menu/bagmap_3.bin b/graphics/item_menu/bagmap_3.bin deleted file mode 100644 index ff1b44740858ce61a11b5a2ec4ad6eab857ff386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N;2{7x82}Hu0Mh^f diff --git a/graphics/item_menu/bagmap_4.bin b/graphics/item_menu/bagmap_4.bin deleted file mode 100644 index 167c246f8967e8860e985f6278c4d5aea1f89ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N5Fh|K82}V|0TTcK diff --git a/graphics/item_menu/bagmap_5.bin b/graphics/item_menu/bagmap_5.bin deleted file mode 100644 index ff1b44740858ce61a11b5a2ec4ad6eab857ff386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N;2{7x82}Hu0Mh^f diff --git a/graphics/item_menu/bagmap_6.bin b/graphics/item_menu/bagmap_6.bin deleted file mode 100644 index 167c246f8967e8860e985f6278c4d5aea1f89ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N5Fh|K82}V|0TTcK diff --git a/graphics/item_menu/bagmap_7.bin b/graphics/item_menu/bagmap_7.bin deleted file mode 100644 index ff1b44740858ce61a11b5a2ec4ad6eab857ff386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N;2{7x82}Hu0Mh^f diff --git a/graphics/item_menu/bagmap_8.bin b/graphics/item_menu/bagmap_8.bin deleted file mode 100644 index 167c246f8967e8860e985f6278c4d5aea1f89ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N5Fh|K82}V|0TTcK diff --git a/graphics/item_menu/bagmap_9.bin b/graphics/item_menu/bagmap_9.bin deleted file mode 100644 index ff1b44740858ce61a11b5a2ec4ad6eab857ff386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N;2{7x82}Hu0Mh^f diff --git a/graphics/item_menu/bagmap_A.bin b/graphics/item_menu/bagmap_A.bin deleted file mode 100644 index 167c246f8967e8860e985f6278c4d5aea1f89ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmd;N5Fh|K82}V|0TTcK diff --git a/graphics/item_menu/bagmap_B.bin b/graphics/item_menu/bagmap_B.bin deleted file mode 100644 index 4da8f8ff5162390833dbf2715235a150a9fd79c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 Ncmb1TkRt$%82~6g0xI`4 zV9CAz0&DIu1QjzBcQaHU#Z(LwK~pagw1pw68At+A$hjBifc9?oba4#v=-fK};-qE; z9@m*SC9mvCm7iN!|K`{K`kf-ehT=*aZ{M5V=Tuy*(0I-AQh4idmOFW5Ba9Q-)9 z{?$6|-Y_1v)r?P9cqto5=SaRX627yfk7X)DWLVSew1D#lr@a_c`Vn%S>0i*4+9)<==_VbGMagvi#muymuaqn)JrZM*_l-LS* ztYnMOmvUryxFf3}wN?1p%};gpvHa%qFFfbTP`$fljp*Ow4Rx-(_JJ1@=H1J?Pe2Cl&ZVT>3ZZi|VelfDV4k(#iH|2U4R-ayrz*Q=araeg5|K%NTF(2Wy1d z!(QDGIn>;E{`oVr_omIlP04>+@}~X>7AVdZ%=sCwARz7@mF+0-BQhaQ#X^dK(fDn4 zjorJ;+AK02LQi&SzH9GhYn*=QxqsmFqkj{6|FcJzZP@rfiH{!??VhfFF6*2UngDI} B|KR`t delta 477 zcmV<30V4jD1)Btr7!3pi0002N5bEoALCjGRu+k2lm?BlINO=W6K`S<-lqGXEuU#socfNCSHWx(xB?-OnKF5cP zF_0q9%dO=2*NPH9zov58nYFWXI3T5(i?>@YPL?zQ z48g%AFFgkc+Zu0txx3+OY2i!wI+NI&9$t;5{2)J3CrEMXUb@&itemOriginalLocation = 0xFF; sBagMenuDisplay->itemMenuIcon = 0; sBagMenuDisplay->inhibitItemDescriptionPrint = FALSE; - sBagMenuDisplay->pocketScrollArrowsTask = 0xFF; - sBagMenuDisplay->pocketSwitchArrowsTask = 0xFF; + sBagMenuDisplay->pocketScrollArrowsTask = TASK_NONE; + sBagMenuDisplay->pocketSwitchArrowsTask = TASK_NONE; if (location == ITEMMENULOCATION_ITEMPC) sBagMenuDisplay->pocketSwitchMode = 1; else if (location == ITEMMENULOCATION_OLD_MAN) @@ -1152,9 +1146,9 @@ static u8 ProcessPocketSwitchInput(u8 taskId, u8 pocketId) static void SwitchPockets(u8 taskId, s16 direction, bool16 a2) { s16 *data = gTasks[taskId].data; - data[13] = 0; - data[12] = 0; - data[11] = direction; + tSwitchState = 0; + tSwitchCounter = 0; + tSwitchDir = direction; if (!a2) { ClearWindowTilemap(0); @@ -1176,35 +1170,36 @@ static void Task_AnimateSwitchPockets(u8 taskId) s16 *data = gTasks[taskId].data; if (!MenuHelpers_IsLinkActive() && !BagIsTutorial()) { - switch (ProcessPocketSwitchInput(taskId, gBagMenuState.pocket + data[11])) + switch (ProcessPocketSwitchInput(taskId, gBagMenuState.pocket + tSwitchDir)) { case 1: - gBagMenuState.pocket += data[11]; + gBagMenuState.pocket += tSwitchDir; SwitchTaskToFollowupFunc(taskId); SwitchPockets(taskId, -1, TRUE); return; case 2: - gBagMenuState.pocket += data[11]; + gBagMenuState.pocket += tSwitchDir; SwitchTaskToFollowupFunc(taskId); SwitchPockets(taskId, 1, TRUE); return; } } - switch (data[13]) + switch (tSwitchState) { case 0: - if (data[12] != 0x7FFF) + // Animate the item list being revealed from the bottom row up + if (tSwitchCounter != SHRT_MAX) { - data[12]++; - CopyBagListBgTileRowToTilemapBuffer(data[12]); - if (data[12] == 12) - data[12] = 0x7FFF; + tSwitchCounter++; + DrawItemListRow(tSwitchCounter); + if (tSwitchCounter == LIST_TILES_HEIGHT) + tSwitchCounter = SHRT_MAX; } - if (data[12] == 0x7FFF) - data[13]++; + if (tSwitchCounter == SHRT_MAX) + tSwitchState++; break; case 1: - gBagMenuState.pocket += data[11]; + gBagMenuState.pocket += tSwitchDir; PrintBagPocketName(); Bag_BuildListMenuTemplate(gBagMenuState.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); @@ -1332,9 +1327,10 @@ static void UpdateQuantityToTossOrDeposit(s16 value, u8 ndigits) BagPrintTextOnWindow(r6, FONT_SMALL, gStringVar4, 4, 10, 1, 0, 0, 1); } -static void CopyBagListBgTileRowToTilemapBuffer(u8 frame) +// row of 0 is the bottom row in the list, up to LIST_TILES_HEIGHT at the top +static void DrawItemListRow(u8 row) { - CopyToBgTilemapBufferRect(1, sBagListBgTiles[12 - frame], 11, 13 - frame, 18, 1); + CopyToBgTilemapBufferRect(1, &sItemListTilemap[(LIST_TILES_HEIGHT - row) * LIST_TILES_WIDTH], 11, 1 + LIST_TILES_HEIGHT - row, LIST_TILES_WIDTH, 1); ScheduleBgCopyTilemapToVram(1); } From 86c21b8e79a8aa2789342e8804dce68320b2434b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 1 Jun 2023 14:33:32 -0400 Subject: [PATCH 22/30] Colorize menu icon graphics, document sMenuInfoIcons --- .../dex_caught_pokeball_and_pokemon_types.png | Bin 1803 -> 0 bytes graphics/interface/menu_info.png | Bin 0 -> 20869 bytes include/graphics.h | 6 +- include/menu.h | 9 ++- src/graphics.c | 6 +- src/learn_move.c | 12 ++-- src/list_menu.c | 60 +++++++++--------- src/pokedex_screen.c | 10 +-- src/pokemon_summary_screen.c | 12 ++-- src/tm_case.c | 10 +-- src/union_room.c | 2 +- 11 files changed, 67 insertions(+), 60 deletions(-) delete mode 100644 graphics/interface/dex_caught_pokeball_and_pokemon_types.png create mode 100644 graphics/interface/menu_info.png diff --git a/graphics/interface/dex_caught_pokeball_and_pokemon_types.png b/graphics/interface/dex_caught_pokeball_and_pokemon_types.png deleted file mode 100644 index 4a9e67954f7b2cf67f214e3c4cc5038e2401f2ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1803 zcmV+m2lV)fP)=8@!9~f+&ysV`lm{UENjHJwwCc{{GM;=JN>+k3Y{o z(o)Rl1w22_vi*C*Va(?TWLfs`0RSPN8}M<~`|=_B9`pGDpZ3oU5c0VJ=b_>Gs{+1$ z);~Y(4u>(H8}Ook{#Ebsa2WGf0Q8@EfY0X!3{QK#Q!T}OZou#~v^#y3_6m4C`7Z!| zYUkv`-!F6W?eqPdJoxoECtpxIk;_E(6FE+Vwu`*Y+k~`;!~hq>`a@;_-YZiXC&*D* z0f&4@)k8kE1OR4sPV~BP0EnQBlM(=06V{Uou-ijY^?+?x)HB5hSjE8?ZuK$(%IF2} z>t6xKhgIf7R~0@|fKz~~;3xuU^%9 z@O0VBsh}M&6(p#zeUl0poxBR@y{d4`?;KWb792+aQPBgS&4r7z;0$0K1>klC2#I3= zc8aniNRT2C1w387MCqx7S&;iumiuK?%c6iIIjV~Ot4D${cx^*^ZBt&nH!dFVqL-6z ze%#8*2fv->)0R<3m(efs5F0%q?g%}B+xD{MC zzyVe8qlyQ>&ucw%c0Fon6CK_FC(-v$oJNinZS;xW$`S#+vzjGxR^u}RY@#jS1wjET z{^1^QVt|YfD#9Zb(8?!gwWtDm&s&??fi1Knv{Qha1Z2cnR6%>-A3st7fKA_n&7h6e zkt|05R0x1~qY9i?VH0{Pz>1-s15C_2bXxj}bQ4MA17)zpO2#lU*e8su-@nqhaK%?^$Q01wPKi6*r4q3Rn0K9U03Z}7 zzzM0_D%kfhzQ!LV1?-{++;Ju8lmfs4 z#G|MJ2LRT6XFZ@b?LJ&A0JO**p;83+071S7ZI|wBs}WD zqzY|r1F&7xWgZKBJF0NyMk;iisnF%T3MXR#=@tz;1bDdzknR~G0L2pOxHwk90z?2v zdq-@8ph*#c>$SefwOp^^P{6M2mSk7DQrZmwkyBZDBz_Rn{lVOZl$9d zxTTX}>pPKp+z6miZ=G!nx-1&O-qQpx zsJ0X3j4B5l0RuImfw!a?fYG-Aiw6b>Cn^y@@XG=G54Jo5P-go;!1qy#fCE?21z*ed zWY(X3l7Q5w0QzNswJ{O{$bnQ?JU~3ag>M>DY7kcPr~*o~W(LfKh9J@67@#WL0MNaF zPn-u7T1`zR0H($49v}*6TOSXuLJwL9&uqoP6d)OcYr#Ii{(Vh7Kw8a$1_p@UG+-P^ zX3j#oA4ubY0R#tZ0(O@P4-u^?WWkmRliFh`mV2;a(_y$=(mfbalw=~<5$_%+cdYSXDN z$P{488^-{#^>rp-wD`}82abI5GQeo@e`ycg48ULtFy|PA+pzfOFN_J8fV$rtIId6K tHL`=@4QAluf!`d+jJw_#Q~oyt{saT)Pi`6v*B<}?002ovPDHLkV1kpbE^Gh* diff --git a/graphics/interface/menu_info.png b/graphics/interface/menu_info.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a7efed395aa536cb328037e099b3d756bcc459 GIT binary patch literal 20869 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 literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index 8ed50b9b1..4a4d86250 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2745,9 +2745,9 @@ extern const u32 gTrainerPalette_RuinManiac[]; extern const u32 gTrainerPalette_Lady[]; extern const u32 gTrainerPalette_Painter[]; -extern const u8 gFireRedMenuElements_Gfx[]; -extern const u16 gFireRedMenuElements1_Pal[]; -extern const u16 gFireRedMenuElements2_Pal[]; +extern const u8 gMenuInfoElements_Gfx[]; +extern const u16 gMenuInfoElements1_Pal[]; +extern const u16 gMenuInfoElements2_Pal[]; extern const u32 gItemIcon_QuestionMark[]; extern const u32 gItemIconPalette_QuestionMark[]; diff --git a/include/menu.h b/include/menu.h index 4adf467ca..b0dc232fb 100644 --- a/include/menu.h +++ b/include/menu.h @@ -8,6 +8,13 @@ #define MENU_NOTHING_CHOSEN -2 #define MENU_B_PRESSED -1 +#define MENU_INFO_ICON_CAUGHT 0 +#define MENU_INFO_ICON_TYPE (NUMBER_OF_MON_TYPES + 1) +#define MENU_INFO_ICON_POWER (NUMBER_OF_MON_TYPES + 2) +#define MENU_INFO_ICON_ACCURACY (NUMBER_OF_MON_TYPES + 3) +#define MENU_INFO_ICON_PP (NUMBER_OF_MON_TYPES + 4) +#define MENU_INFO_ICON_EFFECT (NUMBER_OF_MON_TYPES + 5) + struct MenuAction { const u8 *text; @@ -31,7 +38,7 @@ s8 Menu2_GetMonSpriteAnchorCoordMinusx20(u16 species, u32 personality, u8 a2); void ListMenu_LoadMonIconPalette(u8 palOffset, u16 speciesId); void ListMenu_DrawMonIconGraphics(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y); void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); -void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y); +void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y); // menu s8 Menu_ProcessInputGridLayout(void); diff --git a/src/graphics.c b/src/graphics.c index f4433f49d..8e606ca3f 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1137,9 +1137,9 @@ const u32 gGhostFrontPic[] = INCBIN_U32("graphics/pokemon/ghost/front.4bpp.lz"); #include "data/graphics/mail.h" -const u16 gFireRedMenuElements1_Pal[] = INCBIN_U16("graphics/interface/dex_caught_pokeball.gbapal"); -const u16 gFireRedMenuElements2_Pal[] = INCBIN_U16("graphics/interface/pokemon_types.gbapal"); -const u8 gFireRedMenuElements_Gfx[] = INCBIN_U8("graphics/interface/dex_caught_pokeball_and_pokemon_types.4bpp"); +const u16 gMenuInfoElements1_Pal[] = INCBIN_U16("graphics/interface/dex_caught_pokeball.gbapal"); +const u16 gMenuInfoElements2_Pal[] = INCBIN_U16("graphics/interface/pokemon_types.gbapal"); +const u8 gMenuInfoElements_Gfx[] = INCBIN_U8("graphics/interface/menu_info.4bpp"); const u16 gMoveRelearner_Pal[] = INCBIN_U16("graphics/interface/learn_move.gbapal"); const u32 gMoveRelearner_Gfx[] = INCBIN_U32("graphics/interface/learn_move.4bpp.lz"); diff --git a/src/learn_move.c b/src/learn_move.c index 40ab59061..2f7f04b01 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -816,7 +816,7 @@ static void MoveLearnerInitListMenu(void) static void PrintMoveInfo(u16 move) { u8 buffer[50]; - BlitMoveInfoIcon(2, gBattleMoves[move].type + 1, 1, 4); + BlitMenuInfoIcon(2, gBattleMoves[move].type + 1, 1, 4); if (gBattleMoves[move].power < 2) { @@ -844,11 +844,11 @@ static void PrintMoveInfo(u16 move) static void LoadMoveInfoUI(void) { - BlitMoveInfoIcon(0, 19, 1, 4); - BlitMoveInfoIcon(1, 20, 0, 4); - BlitMoveInfoIcon(1, 21, 0, 19); - BlitMoveInfoIcon(0, 22, 1, 19); - BlitMoveInfoIcon(0, 23, 1, 34); + BlitMenuInfoIcon(0, MENU_INFO_ICON_TYPE, 1, 4); + BlitMenuInfoIcon(1, MENU_INFO_ICON_POWER, 0, 4); + BlitMenuInfoIcon(1, MENU_INFO_ICON_ACCURACY, 0, 19); + BlitMenuInfoIcon(0, MENU_INFO_ICON_PP, 1, 19); + BlitMenuInfoIcon(0, MENU_INFO_ICON_EFFECT, 1, 34); PutWindowTilemap(0); PutWindowTilemap(1); PutWindowTilemap(4); diff --git a/src/list_menu.c b/src/list_menu.c index 95f4b323b..d759f6d79 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -49,32 +49,32 @@ static void ListMenuDrawCursor(struct ListMenu *list); static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit); static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind); -const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] = -{ - { 12, 12, 0x00 }, // Unused - { 32, 12, 0x20 }, // Normal icon - { 32, 12, 0x64 }, // Fight icon - { 32, 12, 0x60 }, // Flying icon - { 32, 12, 0x80 }, // Poison icon - { 32, 12, 0x48 }, // Ground icon - { 32, 12, 0x44 }, // Rock icon - { 32, 12, 0x6C }, // Bug icon - { 32, 12, 0x68 }, // Ghost icon - { 32, 12, 0x88 }, // Steel icon - { 32, 12, 0xA4 }, // ??? (Mystery) icon - { 32, 12, 0x24 }, // Fire icon - { 32, 12, 0x28 }, // Water icon - { 32, 12, 0x2C }, // Grass icon - { 32, 12, 0x40 }, // Electric icon - { 32, 12, 0x84 }, // Psychic icon - { 32, 12, 0x4C }, // Ice icon - { 32, 12, 0xA0 }, // Dragon icon - { 32, 12, 0x8C }, // Dark icon - { 40, 12, 0xA8 }, // -Type- icon - { 40, 12, 0xC0 }, // -Power- icon - { 40, 12, 0xC8 }, // -Accuracy- icon - { 40, 12, 0xE0 }, // -PP- icon - { 40, 12, 0xE8 }, // -Effect- icon +static const struct MoveMenuInfoIcon sMenuInfoIcons[] = +{ // { width, height, offset } + [MENU_INFO_ICON_CAUGHT] = { 12, 12, 0x00 }, + [TYPE_NORMAL + 1] = { 32, 12, 0x20 }, + [TYPE_FIGHTING + 1] = { 32, 12, 0x64 }, + [TYPE_FLYING + 1] = { 32, 12, 0x60 }, + [TYPE_POISON + 1] = { 32, 12, 0x80 }, + [TYPE_GROUND + 1] = { 32, 12, 0x48 }, + [TYPE_ROCK + 1] = { 32, 12, 0x44 }, + [TYPE_BUG + 1] = { 32, 12, 0x6C }, + [TYPE_GHOST + 1] = { 32, 12, 0x68 }, + [TYPE_STEEL + 1] = { 32, 12, 0x88 }, + [TYPE_MYSTERY + 1] = { 32, 12, 0xA4 }, + [TYPE_FIRE + 1] = { 32, 12, 0x24 }, + [TYPE_WATER + 1] = { 32, 12, 0x28 }, + [TYPE_GRASS + 1] = { 32, 12, 0x2C }, + [TYPE_ELECTRIC + 1] = { 32, 12, 0x40 }, + [TYPE_PSYCHIC + 1] = { 32, 12, 0x84 }, + [TYPE_ICE + 1] = { 32, 12, 0x4C }, + [TYPE_DRAGON + 1] = { 32, 12, 0xA0 }, + [TYPE_DARK + 1] = { 32, 12, 0x8C }, + [MENU_INFO_ICON_TYPE] = { 40, 12, 0xA8 }, + [MENU_INFO_ICON_POWER] = { 40, 12, 0xC0 }, + [MENU_INFO_ICON_ACCURACY] = { 40, 12, 0xC8 }, + [MENU_INFO_ICON_PP] = { 40, 12, 0xE0 }, + [MENU_INFO_ICON_EFFECT] = { 40, 12, 0xE8 }, }; static void ListMenuDummyTask(u8 taskId) @@ -743,16 +743,16 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId) { case 0: default: - palette = gFireRedMenuElements1_Pal; + palette = gMenuInfoElements1_Pal; break; case 1: - palette = gFireRedMenuElements2_Pal; + palette = gMenuInfoElements2_Pal; break; } LoadPalette(palette, palOffset, PLTT_SIZE_4BPP); } -void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y) +void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y) { - BlitBitmapRectToWindow(windowId, gFireRedMenuElements_Gfx + gMoveMenuInfoIcons[iconId].offset * 32, 0, 0, 128, 128, x, y, gMoveMenuInfoIcons[iconId].width, gMoveMenuInfoIcons[iconId].height); + BlitBitmapRectToWindow(windowId, &gMenuInfoElements_Gfx[sMenuInfoIcons[iconId].offset * TILE_SIZE_4BPP], 0, 0, 128, 128, x, y, sMenuInfoIcons[iconId].width, sMenuInfoIcons[iconId].height); } diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index 67d826fa4..01960d240 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -1554,11 +1554,11 @@ static void ItemPrintFunc_OrderedListMenu(u8 windowId, u32 itemId, u8 y) DexScreen_PrintMonDexNo(sPokedexScreenData->numericalOrderWindowId, FONT_SMALL, species, 12, y); if (caught) { - BlitMoveInfoIcon(sPokedexScreenData->numericalOrderWindowId, 0, 0x28, y); + BlitMenuInfoIcon(sPokedexScreenData->numericalOrderWindowId, MENU_INFO_ICON_CAUGHT, 0x28, y); type1 = gSpeciesInfo[species].types[0]; - BlitMoveInfoIcon(sPokedexScreenData->numericalOrderWindowId, type1 + 1, 0x78, y); + BlitMenuInfoIcon(sPokedexScreenData->numericalOrderWindowId, type1 + 1, 0x78, y); if (type1 != gSpeciesInfo[species].types[1]) - BlitMoveInfoIcon(sPokedexScreenData->numericalOrderWindowId, gSpeciesInfo[species].types[1] + 1, 0x98, y); + BlitMenuInfoIcon(sPokedexScreenData->numericalOrderWindowId, gSpeciesInfo[species].types[1] + 1, 0x98, y); } } @@ -3091,9 +3091,9 @@ u8 DexScreen_DrawMonAreaPage(void) if (monIsCaught) { - BlitMoveInfoIcon(sPokedexScreenData->windowIds[12], 1 + gSpeciesInfo[species].types[0], 0, 1); + BlitMenuInfoIcon(sPokedexScreenData->windowIds[12], 1 + gSpeciesInfo[species].types[0], 0, 1); if (gSpeciesInfo[species].types[0] != gSpeciesInfo[species].types[1]) - BlitMoveInfoIcon(sPokedexScreenData->windowIds[12], 1 + gSpeciesInfo[species].types[1], 32, 1); + BlitMenuInfoIcon(sPokedexScreenData->windowIds[12], 1 + gSpeciesInfo[species].types[1], 32, 1); } PutWindowTilemap(sPokedexScreenData->windowIds[12]); CopyWindowToVram(sPokedexScreenData->windowIds[12], COPYWIN_GFX); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f4b4af3c3..2ff2483b1 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2919,11 +2919,11 @@ static void PokeSum_DrawMoveTypeIcons(void) if (sMonSummaryScreen->moveIds[i] == MOVE_NONE) continue; - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[5], sMonSummaryScreen->moveTypes[i] + 1, 3, GetMoveNamePrinterYpos(i)); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[5], sMonSummaryScreen->moveTypes[i] + 1, 3, GetMoveNamePrinterYpos(i)); } if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[5], sMonSummaryScreen->moveTypes[4] + 1, 3, GetMoveNamePrinterYpos(4)); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[5], sMonSummaryScreen->moveTypes[4] + 1, 3, GetMoveNamePrinterYpos(4)); } static void PokeSum_PrintPageHeaderText(u8 curPageIndex) @@ -3362,10 +3362,10 @@ static void PokeSum_PrintMonTypeIcons(void) case PSS_PAGE_INFO: if (!sMonSummaryScreen->isEgg) { - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[POKESUM_WIN_RIGHT_PANE], sMonSummaryScreen->monTypes[0] + 1, 47, 35); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[POKESUM_WIN_RIGHT_PANE], sMonSummaryScreen->monTypes[0] + 1, 47, 35); if (sMonSummaryScreen->monTypes[0] != sMonSummaryScreen->monTypes[1]) - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[POKESUM_WIN_RIGHT_PANE], sMonSummaryScreen->monTypes[1] + 1, 83, 35); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[POKESUM_WIN_RIGHT_PANE], sMonSummaryScreen->monTypes[1] + 1, 83, 35); } break; case PSS_PAGE_SKILLS: @@ -3374,10 +3374,10 @@ static void PokeSum_PrintMonTypeIcons(void) break; case PSS_PAGE_MOVES_INFO: FillWindowPixelBuffer(sMonSummaryScreen->windowIds[6], 0); - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[6], sMonSummaryScreen->monTypes[0] + 1, 0, 3); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[6], sMonSummaryScreen->monTypes[0] + 1, 0, 3); if (sMonSummaryScreen->monTypes[0] != sMonSummaryScreen->monTypes[1]) - BlitMoveInfoIcon(sMonSummaryScreen->windowIds[6], sMonSummaryScreen->monTypes[1] + 1, 36, 3); + BlitMenuInfoIcon(sMonSummaryScreen->windowIds[6], sMonSummaryScreen->monTypes[1] + 1, 36, 3); PutWindowTilemap(sMonSummaryScreen->windowIds[6]); break; diff --git a/src/tm_case.c b/src/tm_case.c index d2e81374b..dd5adb345 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1529,10 +1529,10 @@ static void PrintTitle(void) static void DrawMoveInfoLabels(void) { - BlitMoveInfoIcon(WIN_MOVE_INFO_LABELS, 19, 0, 0); - BlitMoveInfoIcon(WIN_MOVE_INFO_LABELS, 20, 0, 12); - BlitMoveInfoIcon(WIN_MOVE_INFO_LABELS, 21, 0, 24); - BlitMoveInfoIcon(WIN_MOVE_INFO_LABELS, 22, 0, 36); + BlitMenuInfoIcon(WIN_MOVE_INFO_LABELS, MENU_INFO_ICON_TYPE, 0, 0); + BlitMenuInfoIcon(WIN_MOVE_INFO_LABELS, MENU_INFO_ICON_POWER, 0, 12); + BlitMenuInfoIcon(WIN_MOVE_INFO_LABELS, MENU_INFO_ICON_ACCURACY, 0, 24); + BlitMenuInfoIcon(WIN_MOVE_INFO_LABELS, MENU_INFO_ICON_PP, 0, 36); CopyWindowToVram(WIN_MOVE_INFO_LABELS, COPYWIN_GFX); } @@ -1553,7 +1553,7 @@ static void PrintMoveInfo(u16 itemId) { // Draw type icon move = ItemIdToBattleMoveId(itemId); - BlitMoveInfoIcon(WIN_MOVE_INFO, gBattleMoves[move].type + 1, 0, 0); + BlitMenuInfoIcon(WIN_MOVE_INFO, gBattleMoves[move].type + 1, 0, 0); // Print power if (gBattleMoves[move].power < 2) diff --git a/src/union_room.c b/src/union_room.c index c5e77b1e5..172c41f33 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3934,7 +3934,7 @@ static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData * data } else { - BlitMoveInfoIcon(windowId, type + 1, 68, y); + BlitMenuInfoIcon(windowId, type + 1, 68, y); PrintUnionRoomText(windowId, FONT_NORMAL, gSpeciesNames[species], 118, y, colorIdx); ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_LEFT_ALIGN, 3); PrintUnionRoomText(windowId, FONT_NORMAL, levelStr, GetStringRightAlignXOffset(2, levelStr, 218), y, colorIdx); From 22fd5541e32e0b0e23b205e177652ad2eca6cb17 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Jun 2023 12:33:06 -0400 Subject: [PATCH 23/30] Correct colors in summary_screen/bg.png --- graphics/summary_screen/bg.pal | 115 --------------------------------- graphics/summary_screen/bg.png | Bin 3059 -> 17264 bytes 2 files changed, 115 deletions(-) delete mode 100644 graphics/summary_screen/bg.pal diff --git a/graphics/summary_screen/bg.pal b/graphics/summary_screen/bg.pal deleted file mode 100644 index a574f8c50..000000000 --- a/graphics/summary_screen/bg.pal +++ /dev/null @@ -1,115 +0,0 @@ -JASC-PAL -0100 -112 -255 0 255 -0 123 197 -230 222 156 -230 205 255 -0 74 148 -123 156 156 -197 189 115 -106 197 205 -205 172 238 -180 139 213 -205 172 238 -180 139 213 -255 180 0 -123 131 148 -255 255 255 -98 106 123 -255 0 255 -255 255 255 -230 230 238 -205 172 238 -98 106 123 -180 139 213 -230 205 255 -205 172 238 -255 0 255 -255 0 255 -255 255 255 -213 213 213 -222 222 222 -230 230 230 -238 238 238 -246 246 246 -255 0 255 -255 172 148 -255 213 172 -255 238 213 -230 139 106 -255 246 238 -255 246 238 -238 238 197 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -123 131 148 -255 255 255 -98 106 123 -255 0 255 -255 213 90 -255 238 123 -255 246 197 -246 189 82 -255 255 222 -255 255 222 -246 238 180 -255 255 164 -123 131 148 -98 106 123 -255 213 82 -255 180 65 -123 131 148 -255 255 255 -98 106 123 -255 0 255 -156 238 213 -172 246 222 -230 255 255 -106 197 156 -246 255 255 -246 255 255 -205 238 238 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -123 131 148 -255 255 255 -98 106 123 -255 0 255 -255 255 255 -230 230 238 -106 230 230 -98 106 123 -90 213 213 -230 205 255 -205 172 238 -255 0 255 -255 0 255 -255 255 255 -213 213 213 -222 222 222 -230 230 230 -246 246 246 -246 246 246 -255 0 255 -0 123 197 -230 222 156 -230 205 255 -0 74 148 -123 156 156 -197 189 115 -106 197 205 -106 230 230 -90 213 213 -205 172 238 -180 139 213 -255 180 0 -123 131 148 -255 255 255 -98 106 123 diff --git a/graphics/summary_screen/bg.png b/graphics/summary_screen/bg.png index df2f6c98f6d4a153a9f36a45ed0cb88f8fe09b5c..c7285d2bda7f03df4d4e4c36c047ebfb3ba066a6 100644 GIT binary patch literal 17264 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 XvJ&bO^0eOD00000NkvXXu0mjf!g62d delta 3019 zcmV;+3pDibh5_>zkQfaF0{{R3iPvM40000mlO8oRe{5hN)Bperen~_@RCt`to4<=3 z$rZ=vKUf-W*OxSgMk}1mfo|7-fMATA9Xd3dDbV6;oLnF{G_k=JlNdWZ{{c?!&v2|{ z25xau9T<$GZe)}hj9l+m)vI6KH6t7R?nc`?+w<*DSH1V@RaMVwW$mNbP1mi+E>@?Q z7igNZe*`|(Tfj|RS zvZoJ&eVNJrfS>kY9L+FVjS(nH1iOzn>%71?e}cd;kbs#XXh~oiExSE?8sJXo7VPh# zfFjsfqc#W$fSCvk5SStX2m}NoFw6-k0&q|61tq|}zyi_>){Y4Q2yid-egCcb)&%yz z?>xXi_Jn=~SA$n%9lyNYKl(~ufhWS%;1yZJFK@3t`$}GovMPd|HM#nm{|dpCd(#o@ ze@X;+b#8+<(gya|E!tg3;7+!0*`qRn6WAibuG9ufuz#a_!3(5qutS?~1MmPxaB31w zveBsmfe+}EUTd1*{W$`f;Jwbs=h%ClkpsI5nm=#p7L*WIN$ z4hhwvX zA5;-En_qm==xhZxpB9a<1X2@?m+nK)gX0SnsEEdun%(NG1+$u}Xk4k;t!^in)l`kn zLg1Rl5!@>RO3Y4O`+*QR(N}a1oazZ+rDPf%f%XFs_~&PvjeF;w&Vi)@e;J*@5l2^N znv@_AU;+}5N;MF8NC=?MV*>VrMFF?25EGC<9l?sd&k;y}R1wIWQ4{pu4|rgON;}_( zT_O+?I6pYFrpfvN%^08j^qV|E-V-%}2xw2FgI{f`@&Q@6cCuls$_HfO+KF2dt;q*D z0xwXJ4`5~j1W_B{->UKfe+U3U)C-M{M&pO(G#>~-rP5DV#IG&cz{(#<_Nqx$`u_W(HK;nJR6rom8C&1Jf|(>O>@PkZ7LZ#@EUQ zcP=uqfCN-O3?s}8q>car+Dah-+_}g^BT~}XiDwK7V#Q$~1UZ2YBNqM;2vGjCalR~<6dYRF)>qqsd#O;8d@F30<f_5B9(-ln z5l)Q=a9hz8Nx{|EIf0`PNV3B-BUtqB5D;KT9Bf~-><0((g9ZuKIe|VT$Qum# zksmlO?-PQIf001e6ZWA2<)@oCgF^G^PRv?+0tHd@LSD+?eK|i2}m2hQT_86jQga?c8S)!iCEx0^QqR|sW0h5V^zF@B!jD>M<4LljD zAC57>Y&3cTn6!;qg4t+P0@4P@zz^mLT6**he;b&40ir>B;yi))K^OW#bgdbJf+t4T znj^?tkPprw2r|++1j-L!#sY7_haibSF%Ij@eJ8bYOKB)bNXidj#-as&u!aJzRz~+b z@&H8xQ;9&P11R8XWv+60S~{9&WYPpbuqgt=WvmErAzV)Y=TijH)SOH4lL$D1&L^Nj ze|1!C5R6O<1T-^`1OiWd@ocvP0jLM$=k7JObLah_;ekIhFkNpl0y|n`s~eeK{3Ijr zS`p+-<%90gvywpN$aMX5*G*Hm+iaA;Zh=7gfh{F=Urf{AzT0e`MFK)VT`$2D$HI(& z^a6yDX>jM;X2v-JXqAWn2R!`|z2~&s_uG7746?TfM&C!~zrB-*2l3f4UcQ z0!YxR8t;%0bdR1c5g4kGu+}pv!L=2j2dh~?ZuIh2{D3A3924LN0YSHEY>vHu{O;Xf zG6Y73CM|IE1W+T*2~aFdu9zl)0}wb*TqZCa1)e|}Vuib0u|UuUM#Z5Ma9xoX2nc9p zo9bxn1(z1f1X(|j0!1$V8&4qJfB5cQ>IbD^0eZm^B#tCQ?4NH}rC@|!a0GL%TmT3N zW`n7e1CZcz5`b`){FDgPSiEE$_`!Jsia>vF>EESQ>bjiGnTO`o1e?YV6i-QHoi`I|3ff^nGhn0^z>15L`q8vjnx@ zs0EYt1ho_1RgFwyT>9#r@CpL8k|9?u5J&>ygM(};y00R->OD_@f9qJViPFL2Rq{-X zej36N+(ZPD5BUqNhMxwJ4z_I^(Js8>H$o`M!yK&DR z#RPO4D~Z6Oc}LpwF&9XYV4D813kgd0R$TelXA&rzZ-ZrfoA$!n{y*fH*;0O3O{xF@ N002ovPDHLkV1hHiRD%Ej From cf089fedd01f3101f5834e0bffb6c0e344033141 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Jun 2023 14:34:36 -0400 Subject: [PATCH 24/30] Correct colors in pokemon_storage/menu.png --- graphics/pokemon_storage/menu.png | Bin 1230 -> 10631 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon_storage/menu.png b/graphics/pokemon_storage/menu.png index b4f09713382d6328cbcc8f4f366bb19480f412c0..77fdf9f1fecd02147225ed8c129443c2ee282391 100644 GIT binary patch literal 10631 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 delta 1178 zcmV;L1ZDe&Q_cyH7!d>m0002YtKcC3001yhOjJdap(HSW(2v@*000D8NklY)a6=Gu^>DbXMvYd!zd+KYRn$VDoumZ0(eSD9UY*`a+4n~$qVK%`bex~{( zzy|-UxaJLiz--)pK){R2Kl|VQswBP$|=Ac(C1@9Ge;0x;JAs{=IR0IkFULy(mqV}L^9 zWx7YNG~EjYkPKAR3W37)8LkdsPf&Myxd#z2N-xuYl%xop2)J0I2(r0YqYnc15^$*l zWC#VJ4S*sL$s8?r&*M1T~5v+WI8mnqcpXbfT51gP0PwPXaKDS%A|Y}p$^ z1sL>K1S0@9iB*!hi@l>_d7c@>~G9UzOu2oN-f0mYSsUJu}<4#TZ z?_19wt3}Q3Pqpm4>OA+a%Xfz4&BOKQ${rA~K?A@>v-YFhx_Xlq_WtYDAJq>v6#V3W z)OON3ZLRAX@NoTS^+OE>P6LoMY?1%j2?1g8pt#SsAF<8esAvrHNSP(1*)RR}Dm62OKOWI6zR zv8h6cxdhMw1>aSGTZ(JohJNVRAsi)tU}z1hVmoy_*SnRU+d2yooGc=OEL0`&wxvJ= z=!H}OqBu(8D5lz8c-yCdylzzDUBmhnXj@j_jorP_r$9TM8oRM`9`q;x=?fan7MKUT z;f9W5{6C;i0Rngdz#C2{slo*`p2%pM9>Wx3nh}60lr`|bnCWRX z;orC#V0f`!wCmk8rvfA$L%`jLX#m=>kBgJ1-MdZuy#{b5IKDhG&hVsf01_HwBhL;R z$qwFW0(LA(C`&ls;St#Y!0cFkHc?cJA_IW#Vs%8aT^B&(lF|==5C9;eBa20324Dyj zLx2d9&Kf`nF@^vNB5n?W4u-&nLYT4!d?&LIG2Q`yURdChGlg05a#2=?NFxx&QzG07*qoM6N<$f__>MG5`Po From 8ef8535fc534b626f573d8c1f652ea0f4afe763b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Jun 2023 15:00:50 -0400 Subject: [PATCH 25/30] Colorize battle_interface/healthbox_elements.png --- .../battle_interface/healthbox_elements.png | Bin 1226 -> 5416 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/battle_interface/healthbox_elements.png b/graphics/battle_interface/healthbox_elements.png index aadcc8554e65c1f27a301cbb5cb7c922edf88077..5e22fb75e2315b65a5e1d7af19c5765cfebd2dff 100644 GIT binary patch literal 5416 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 literal 1226 zcmV;*1U37KP)i}00Cl4M??UK1szBL00Ztx zL_t(|oV}L4Zrnx`g$FS7B3CI~@CWcZN+Vm10=J9A3Q`&ZveFYs4`9I97f6v8aIv*r zZN~trrrJQ|G&G=c3I?ht=L~0N`M0711R3kD4#{usz2|aCS*ho&7pud|11DEEw^z5f zE16gxSP{6ny1c;pir6wBwh%3FyM9!N_3S~I{OpA)OaCZpI=I}yyVE)O~Zh z1Hv*OtYthPEaPDw_z&lBvFr!dF>h9&UL3vrT^;e?>NjxJgW7LuHA@7*m|+PI?3)ZgXcF0sZ*tb=p$o^hUA*VHz<->DgpzM- zv2{^f)i!5L$Evq&Yg-g`T|{7Kg4Hg-9LoFWTtWuPTiX^TtkkuN{>{Eb0IWrcS_S{9 z$vBI*0DP0PHf`r%N~_{q@+_9xiY;u=wG^tb$+Jz`CT%Bx!cG8!Pj6h6 zx{*?FUIovN4SDU7Mx)5k2TC^p8pVtv-nckFoS=Cgyb7LsC0xqTu*m>~CXvmxP5SfC zusOUSKYUO=;$NJy^^AtvGQ9Yz2e|(IC-AWgL`z-ZR07*qoM6N<$f)(mAh5!Hn From 992f8bf0172a5204a4e161ab093bbad2b06b734d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 7 Jun 2023 11:09:43 -0400 Subject: [PATCH 26/30] Sync fix for EWRAM_DATA wildcard --- ld_script.ld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ld_script.ld b/ld_script.ld index 6b1f95a3f..e68c4a7b3 100644 --- a/ld_script.ld +++ b/ld_script.ld @@ -12,7 +12,7 @@ SECTIONS { . = 0x1C000; INCLUDE "sym_ewram.ld" - src/*.o(.ewram_data); + src/*.o(ewram_data); *libc.a:impure.o(.data); *libc.a:locale.o(.data); From b56e1cbf7cb1a6681c648ab22b236518f71745c5 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 25 Jun 2023 16:30:20 -0400 Subject: [PATCH 27/30] Remove some unused declarations --- include/easy_chat.h | 1 - include/event_scripts.h | 20 -------------------- include/main.h | 1 - include/shop.h | 2 -- include/strings.h | 1 - 5 files changed, 25 deletions(-) diff --git a/include/easy_chat.h b/include/easy_chat.h index ec5488bca..b59f4ecf9 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -71,7 +71,6 @@ u8 GetECSelectGroupRowsAbove(void); void GetECSelectWordCursorCoords(s8 *arg0, s8 *arg1); u8 GetECSelectWordRowsAbove(void); u8 GetECSelectWordNumRows(void); -u8 unref_sub_80FFE60(void); bool32 ShouldDrawECUpArrow(void); bool32 ShouldDrawECDownArrow(void); diff --git a/include/event_scripts.h b/include/event_scripts.h index a9603119c..4a386d5a9 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -7,15 +7,6 @@ #include "global.h" -extern const u8 gUnknown_0823B4E8[]; -extern const u8 gUnknown_0823B5E9[]; -extern const u8 EventScript_275BB7[]; -extern const u8 EventScript_275D0C[]; -extern const u8 EventScript_275D1F[]; -extern const u8 EventScript_275D2E[]; -extern const u8 EventScript_2766A2[]; -extern const u8 EventScript_2766A6[]; - extern const u8 gTVBravoTrainerText00[]; extern const u8 gTVBravoTrainerText01[]; extern const u8 gTVBravoTrainerText02[]; @@ -364,16 +355,6 @@ extern const u8 gPokeNewsTextLilycove_Ending[]; extern const u8 gPokeNewsTextBlendMaster_Upcoming[]; extern const u8 gPokeNewsTextBlendMaster_Ongoing[]; extern const u8 gPokeNewsTextBlendMaster_Ending[]; -extern const u8 SecretBase_RedCave1_Text_274966[]; -extern const u8 SecretBase_RedCave1_Text_274D13[]; -extern const u8 SecretBase_RedCave1_Text_274FFE[]; -extern const u8 SecretBase_RedCave1_Text_275367[]; -extern const u8 SecretBase_RedCave1_Text_2756C7[]; -extern const u8 SecretBase_RedCave1_Text_274B24[]; -extern const u8 SecretBase_RedCave1_Text_274E75[]; -extern const u8 SecretBase_RedCave1_Text_2751E1[]; -extern const u8 SecretBase_RedCave1_Text_2754F6[]; -extern const u8 SecretBase_RedCave1_Text_2758CC[]; extern const u8 gText_LtSurge[]; extern const u8 gText_Koga[]; @@ -780,7 +761,6 @@ extern const u8 Help_Text_AboutThisGame[]; extern const u8 Help_Text_TypeMatchupList[]; extern const u8 Help_Text_Exit[]; extern const u8 Help_Text_Cancel[]; -extern const u8 gUnknown_81B2E76[]; extern const u8 Help_Text_DescWhatShouldIDo[]; extern const u8 Help_Text_DescHowDoIDoThis[]; extern const u8 Help_Text_DescWhatDoesThisTermMean[]; diff --git a/include/main.h b/include/main.h index 4a5f79a9d..31b22a3fa 100644 --- a/include/main.h +++ b/include/main.h @@ -44,7 +44,6 @@ struct Main /*0x439*/ u8 field_439_x4:1; }; -extern u8 gUnknown_3001764; extern struct Main gMain; extern bool8 gSoftResetDisabled; extern bool8 gLinkVSyncDisabled; diff --git a/include/shop.h b/include/shop.h index 999c3b777..621249927 100644 --- a/include/shop.h +++ b/include/shop.h @@ -6,8 +6,6 @@ #define INDEX_CANCEL -2 -extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; - void CreatePokemartMenu(const u16 *itemsForSale); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); diff --git a/include/strings.h b/include/strings.h index f86c7fade..57066f789 100644 --- a/include/strings.h +++ b/include/strings.h @@ -80,7 +80,6 @@ extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; extern const u8 gText_RegisteredDataDeleted[]; -extern const u8 gUnknown_085EA79D[]; extern const u8 gText_Confirm3[]; extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; From 25a8d2b9b15fcb1940ec021aa47df6fa3038413d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 6 Jul 2023 12:05:22 -0400 Subject: [PATCH 28/30] Sync INSTALL --- INSTALL.md | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 25e4deda0..ede0b4183 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -125,12 +125,12 @@ Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or conti Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert. -1. Open msys2 at C:\devkitPro\msys2\mingw64.exe or run `C:\devkitPro\msys2\msys2_shell.bat -mingw64`. +1. Open msys2 at C:\devkitPro\msys2\msys2_shell.bat. 2. Certain packages are required to build pokefirered. Install these by running the following command: ```bash - pacman -S make zlib-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-libpng + pacman -S make gcc zlib-devel git ```
Note... @@ -138,6 +138,39 @@ Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert. > This command will ask for confirmation, just enter the yes action when prompted.
+3. Download [libpng](https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download). + +4. Change directory to where libpng was downloaded. By default, msys2 will start in the current user's profile folder, located at **C:\Users\\⁠_\_**, where *\* is your Windows username. In most cases, libpng should be saved within a subfolder of the profile folder. For example, if libpng was saved to **C:\Users\\_\_\Downloads** (the Downloads location for most users), enter this command: + + ```bash + cd Downloads + ``` + +
+ Notes... + + > Note 1: While not shown, msys uses forward slashes `/` instead of backwards slashes `\` as the directory separator. + > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Downloads/My Downloads"`. + > Note 3: Windows path names are case-insensitive so adhering to capitalization isn’t needed. + > Note 4: If libpng was saved elsewhere, you will need to specify the full path to where libpng was downloaded, e.g. `cd c:/devkitpro/msys2` if it was saved there. +
+ +5. Run the following commands to uncompress and install libpng. + + ```bash + tar xf libpng-1.6.37.tar.xz + cd libpng-1.6.37 + ./configure --prefix=/usr + make check + make install + ``` + +6. Then finally, run the following command to change back to the user profile folder. + + ```bash + cd + ``` + ### Choosing where to store pokefirered (msys2) At this point, you can choose a folder to store pokefirered into. If you're okay with storing pokefirered in the user profile folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokefirered is stored when changing directory to the pokefirered folder. From e180611de6bdf770bad757a9b178c0bb206918e8 Mon Sep 17 00:00:00 2001 From: Jaizu Date: Sat, 29 Jul 2023 21:13:49 +0200 Subject: [PATCH 29/30] Compare to ITEM_HM01 and not ITEM_TM50 (#634) * Compare to ITEM_HM01 and not ITEM_TM50 While both compile to the same output when doing test functions in https://cexplore.karathan.at/, shinny pointed in the discord that, if you expand TMs, using ITEM_TM50 would break things. This was the previous behaviour but was changed by cbt when documented the party menu. This was pointed out but HunarPG in the pokefirered Discord channel. * Use ITEM_HM01 instead. --- src/party_menu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/party_menu.c b/src/party_menu.c index 348bbf3a4..ac97907c5 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4291,7 +4291,7 @@ static void CB2_UseItem(void) { GiveMoveToMon(&gPlayerParty[gPartyMenu.slotId], ItemIdToBattleMoveId(gSpecialVar_ItemId)); AdjustFriendship(&gPlayerParty[gPartyMenu.slotId], FRIENDSHIP_EVENT_LEARN_TMHM); - if (gSpecialVar_ItemId <= ITEM_TM50) + if (gSpecialVar_ItemId < ITEM_HM01) RemoveBagItem(gSpecialVar_ItemId, 1); SetMainCallback2(gPartyMenu.exitCallback); } @@ -4311,7 +4311,7 @@ static void CB2_UseTMHMAfterForgettingMove(void) SetMonMoveSlot(mon, ItemIdToBattleMoveId(gSpecialVar_ItemId), moveIdx); AdjustFriendship(mon, FRIENDSHIP_EVENT_LEARN_TMHM); ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, mon, gSpecialVar_ItemId, move); - if (gSpecialVar_ItemId <= ITEM_TM50) + if (gSpecialVar_ItemId < ITEM_HM01) RemoveBagItem(gSpecialVar_ItemId, 1); SetMainCallback2(gPartyMenu.exitCallback); } @@ -4815,7 +4815,7 @@ static void Task_LearnedMove(u8 taskId) if (learnMoveMethod == LEARN_VIA_TMHM) { AdjustFriendship(mon, FRIENDSHIP_EVENT_LEARN_TMHM); - if (item <= ITEM_TM50) + if (item < ITEM_HM01) RemoveBagItem(item, 1); } GetMonNickname(mon, gStringVar1); From 120fbb0578a0658789434e1f40522ed8454caad3 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 7 Aug 2023 00:44:46 -0400 Subject: [PATCH 30/30] More PALSLOT constant usage --- .../object_event_graphics_info.h | 308 +++++++++--------- src/field_effect_helpers.c | 10 +- 2 files changed, 156 insertions(+), 162 deletions(-) diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index 3b1671d5a..b4a6541f6 100644 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -5,7 +5,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedNormal = { .size = 512, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -24,7 +24,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBike = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -43,7 +43,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedSurf = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = TRUE, @@ -62,7 +62,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFieldMove = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -81,7 +81,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Policeman = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -100,7 +100,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RSBrendan = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -119,7 +119,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RSMay = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -138,7 +138,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -157,7 +157,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -176,7 +176,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SittingBoy = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -195,7 +195,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -214,7 +214,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -233,7 +233,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -252,7 +252,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -271,7 +271,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -290,7 +290,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BattleGirl = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -309,7 +309,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -328,7 +328,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -347,7 +347,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaldingMan = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -366,7 +366,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -385,7 +385,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan1 = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -404,7 +404,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WorkerM = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -423,7 +423,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WorkerF = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -442,7 +442,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -461,7 +461,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chef = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -480,7 +480,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan2 = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -499,7 +499,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -518,7 +518,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -537,7 +537,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -556,7 +556,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CooltrainerM = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -575,7 +575,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CooltrainerF = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -594,7 +594,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SuperNerd = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -613,7 +613,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Channeler = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -632,7 +632,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RocketF = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -651,7 +651,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerMWater = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -670,7 +670,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerFWater = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -689,7 +689,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerMLand = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -708,7 +708,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerFLand = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -727,7 +727,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blackbelt = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -746,7 +746,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -765,7 +765,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -784,7 +784,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -803,7 +803,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Captain = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -822,7 +822,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisher = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -841,7 +841,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TeachyTVHost = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -860,7 +860,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWoman = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -879,7 +879,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -898,7 +898,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMWater = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -917,7 +917,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMLand = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -936,7 +936,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -955,7 +955,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Biker = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -974,7 +974,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GymGuy = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -993,7 +993,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1012,7 +1012,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMaleReceptio .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1031,7 +1031,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1050,7 +1050,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfOak = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1069,7 +1069,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1088,7 +1088,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rocker = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1107,7 +1107,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrFuji = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1126,7 +1126,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bruno = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1145,7 +1145,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldManLyingDown = .size = 512, .width = 32, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1164,7 +1164,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CutTree = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1183,7 +1183,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clerk = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1202,7 +1202,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MGDeliveryman = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1221,7 +1221,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TrainerTowerDude = .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1240,7 +1240,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableClubReception .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1259,7 +1259,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomReception .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1278,7 +1278,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RockSmashRock = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1297,7 +1297,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_StrengthBoulder = .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1316,7 +1316,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenNormal = { .size = 512, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1335,7 +1335,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenBike = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1354,7 +1354,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenSurf = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = TRUE, @@ -1373,7 +1373,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFieldMove = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1392,7 +1392,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBikeAlt = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 10, + .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1411,7 +1411,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RocketM = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1430,7 +1430,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Celio = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1449,7 +1449,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Agatha = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1468,7 +1468,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brock = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1487,7 +1487,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Misty = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1506,7 +1506,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LtSurge = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1525,7 +1525,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Erika = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1544,7 +1544,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Koga = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1563,7 +1563,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giovanni = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1582,7 +1582,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blaine = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1601,7 +1601,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sabrina = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1620,7 +1620,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bill = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1639,7 +1639,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Daisy = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1658,7 +1658,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lorelei = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1677,7 +1677,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lance = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1696,7 +1696,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Blue = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1715,7 +1715,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFish = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1734,7 +1734,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFish = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1753,7 +1753,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeeker = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1772,7 +1772,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeekerBike = .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1791,7 +1791,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeeker = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1810,7 +1810,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeekerBike .size = 512, .width = 32, .height = 32, - .paletteSlot = 0, + .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1829,7 +1829,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TownMap = { .size = 256, .width = 32, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1848,7 +1848,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pokedex = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1867,7 +1867,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GBAKid = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1886,7 +1886,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Snorlax = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -1905,7 +1905,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1924,7 +1924,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Ruby = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1943,7 +1943,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sapphire = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1962,7 +1962,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldAmber = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -1981,7 +1981,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GymSign = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2000,7 +2000,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sign = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2019,7 +2019,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TrainerTips = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2038,7 +2038,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clipboard = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2057,7 +2057,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meteorite = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 10, + .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2076,7 +2076,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LaprasDoll = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, .disableReflectionPaletteLoad = FALSE, @@ -2095,7 +2095,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spearow = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2114,7 +2114,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Omanyte = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2133,7 +2133,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kangaskhan = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2152,7 +2152,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Psyduck = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2171,7 +2171,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NidoranF = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2190,7 +2190,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NidoranM = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2209,7 +2209,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nidorino = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2228,7 +2228,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Meowth = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2247,7 +2247,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seel = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2266,7 +2266,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Voltorb = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2285,7 +2285,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowpoke = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2304,7 +2304,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Slowbro = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2323,7 +2323,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machop = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2342,7 +2342,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wigglytuff = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2361,7 +2361,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Doduo = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2380,7 +2380,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fearow = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2399,7 +2399,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lapras = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2418,7 +2418,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zapdos = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2437,7 +2437,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Moltres = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2456,7 +2456,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Articuno = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2475,7 +2475,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DeoxysD = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2494,7 +2494,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DeoxysA = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2513,7 +2513,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DeoxysN = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2532,7 +2532,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mewtwo = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2551,7 +2551,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2570,7 +2570,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Entei = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2589,7 +2589,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Raikou = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2608,7 +2608,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Suicune = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2627,7 +2627,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2646,7 +2646,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = { .size = 512, .width = 32, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2665,7 +2665,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Celebi = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 4, + .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2684,7 +2684,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cubone = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 5, + .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2703,7 +2703,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Machoke = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2722,7 +2722,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kabuto = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2741,7 +2741,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poliwrath = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2760,7 +2760,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgeot = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2779,7 +2779,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Chansey = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2798,7 +2798,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2817,7 +2817,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Jigglypuff = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2836,7 +2836,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pidgey = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2855,7 +2855,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Clefairy = { .size = 128, .width = 16, .height = 16, - .paletteSlot = 3, + .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2874,7 +2874,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = { .size = 256, .width = 16, .height = 32, - .paletteSlot = 2, + .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2893,7 +2893,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Seagallop = { .size = 2048, .width = 64, .height = 64, - .paletteSlot = 10, + .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, @@ -2912,7 +2912,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSAnne = { .size = 4096, .width = 128, .height = 64, - .paletteSlot = 10, + .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, .disableReflectionPaletteLoad = FALSE, diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 7a9a59f66..278364803 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -81,18 +81,12 @@ static void LoadObjectRegularReflectionPalette(struct ObjectEvent * objectEvent, graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); if (graphicsInfo->reflectionPaletteTag != OBJ_EVENT_PAL_TAG_NONE) { - if (graphicsInfo->paletteSlot == 0) - { + if (graphicsInfo->paletteSlot == PALSLOT_PLAYER) LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } - else if (graphicsInfo->paletteSlot == 10) - { + else if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } else - { PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); - } UpdateSpritePaletteWithWeather(paletteIndex); } }