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/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.
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/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/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
diff --git a/graphics/battle_interface/healthbox_elements.png b/graphics/battle_interface/healthbox_elements.png
index aadcc8554..5e22fb75e 100644
Binary files a/graphics/battle_interface/healthbox_elements.png and b/graphics/battle_interface/healthbox_elements.png differ
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/graphics/interface/dex_caught_pokeball_and_pokemon_types.png b/graphics/interface/dex_caught_pokeball_and_pokemon_types.png
deleted file mode 100644
index 4a9e67954..000000000
Binary files a/graphics/interface/dex_caught_pokeball_and_pokemon_types.png and /dev/null differ
diff --git a/graphics/interface/menu_info.png b/graphics/interface/menu_info.png
new file mode 100644
index 000000000..a6a7efed3
Binary files /dev/null and b/graphics/interface/menu_info.png differ
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 94c0af766..000000000
Binary files a/graphics/item_menu/bagmap_0.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_1.bin b/graphics/item_menu/bagmap_1.bin
deleted file mode 100644
index ff1b44740..000000000
Binary files a/graphics/item_menu/bagmap_1.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_2.bin b/graphics/item_menu/bagmap_2.bin
deleted file mode 100644
index 167c246f8..000000000
Binary files a/graphics/item_menu/bagmap_2.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_3.bin b/graphics/item_menu/bagmap_3.bin
deleted file mode 100644
index ff1b44740..000000000
Binary files a/graphics/item_menu/bagmap_3.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_4.bin b/graphics/item_menu/bagmap_4.bin
deleted file mode 100644
index 167c246f8..000000000
Binary files a/graphics/item_menu/bagmap_4.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_5.bin b/graphics/item_menu/bagmap_5.bin
deleted file mode 100644
index ff1b44740..000000000
Binary files a/graphics/item_menu/bagmap_5.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_6.bin b/graphics/item_menu/bagmap_6.bin
deleted file mode 100644
index 167c246f8..000000000
Binary files a/graphics/item_menu/bagmap_6.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_7.bin b/graphics/item_menu/bagmap_7.bin
deleted file mode 100644
index ff1b44740..000000000
Binary files a/graphics/item_menu/bagmap_7.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_8.bin b/graphics/item_menu/bagmap_8.bin
deleted file mode 100644
index 167c246f8..000000000
Binary files a/graphics/item_menu/bagmap_8.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_9.bin b/graphics/item_menu/bagmap_9.bin
deleted file mode 100644
index ff1b44740..000000000
Binary files a/graphics/item_menu/bagmap_9.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_A.bin b/graphics/item_menu/bagmap_A.bin
deleted file mode 100644
index 167c246f8..000000000
Binary files a/graphics/item_menu/bagmap_A.bin and /dev/null differ
diff --git a/graphics/item_menu/bagmap_B.bin b/graphics/item_menu/bagmap_B.bin
deleted file mode 100644
index 4da8f8ff5..000000000
Binary files a/graphics/item_menu/bagmap_B.bin and /dev/null differ
diff --git a/graphics/item_menu/bg.png b/graphics/item_menu/bg.png
index a9a96948f..e0921d83a 100644
Binary files a/graphics/item_menu/bg.png and b/graphics/item_menu/bg.png differ
diff --git a/graphics/item_menu/bag_pal2.pal b/graphics/item_menu/bg_female.pal
similarity index 100%
rename from graphics/item_menu/bag_pal2.pal
rename to graphics/item_menu/bg_female.pal
diff --git a/graphics/item_menu/list.bin b/graphics/item_menu/list.bin
new file mode 100644
index 000000000..4ef10fcc3
Binary files /dev/null and b/graphics/item_menu/list.bin differ
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 4db6a6bcb..a028e7907 100644
Binary files a/graphics/item_pc/bg.png and b/graphics/item_pc/bg.png differ
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
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
diff --git a/graphics/items/icons/hm.png b/graphics/items/icons/hm.png
deleted file mode 100644
index 46e0f51c2..000000000
Binary files a/graphics/items/icons/hm.png and /dev/null differ
diff --git a/graphics/items/icons/magma_emblem.png b/graphics/items/icons/magma_emblem.png
deleted file mode 100644
index 5404efcf8..000000000
Binary files a/graphics/items/icons/magma_emblem.png and /dev/null differ
diff --git a/graphics/items/icons/old_sea_map.png b/graphics/items/icons/old_sea_map.png
deleted file mode 100644
index 2c17bfeaa..000000000
Binary files a/graphics/items/icons/old_sea_map.png and /dev/null differ
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/graphics/pokemon_storage/menu.png b/graphics/pokemon_storage/menu.png
index b4f097133..77fdf9f1f 100644
Binary files a/graphics/pokemon_storage/menu.png and b/graphics/pokemon_storage/menu.png differ
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 df2f6c98f..c7285d2bd 100644
Binary files a/graphics/summary_screen/bg.png and b/graphics/summary_screen/bg.png differ
diff --git a/graphics/tm_case/hm.png b/graphics/tm_case/hm.png
index 426e404fe..48390d03d 100644
Binary files a/graphics/tm_case/hm.png and b/graphics/tm_case/hm.png differ
diff --git a/graphics/trainer_card/back.bin b/graphics/trainer_card/back.bin
index dd54ba1c7..14840e5e4 100644
Binary files a/graphics/trainer_card/back.bin and b/graphics/trainer_card/back.bin differ
diff --git a/graphics/trainer_card/back_hoenn.bin b/graphics/trainer_card/back_hoenn.bin
deleted file mode 100644
index eda105eb2..000000000
Binary files a/graphics/trainer_card/back_hoenn.bin and /dev/null differ
diff --git a/graphics/trainer_card/bg.bin b/graphics/trainer_card/bg.bin
index c1c452262..c0914427d 100644
Binary files a/graphics/trainer_card/bg.bin and b/graphics/trainer_card/bg.bin differ
diff --git a/graphics/trainer_card/bg_hoenn.bin b/graphics/trainer_card/bg_hoenn.bin
deleted file mode 100644
index b3994f663..000000000
Binary files a/graphics/trainer_card/bg_hoenn.bin and /dev/null differ
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 2fea60d09..000000000
Binary files a/graphics/trainer_card/card.png and /dev/null differ
diff --git a/graphics/trainer_card/card_em.png b/graphics/trainer_card/card_em.png
deleted file mode 100644
index bd8be5162..000000000
Binary files a/graphics/trainer_card/card_em.png and /dev/null differ
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 b83c43942..c83a6e494 100644
Binary files a/graphics/trainer_card/front.bin and b/graphics/trainer_card/front.bin differ
diff --git a/graphics/trainer_card/front_hoenn.bin b/graphics/trainer_card/front_hoenn.bin
deleted file mode 100644
index 0f45caec6..000000000
Binary files a/graphics/trainer_card/front_hoenn.bin and /dev/null differ
diff --git a/graphics/trainer_card/front_hoenn_link.bin b/graphics/trainer_card/front_hoenn_link.bin
deleted file mode 100644
index 46e00f670..000000000
Binary files a/graphics/trainer_card/front_hoenn_link.bin and /dev/null differ
diff --git a/graphics/trainer_card/front_link.bin b/graphics/trainer_card/front_link.bin
index ef8e65b27..3169533c0 100644
Binary files a/graphics/trainer_card/front_link.bin and b/graphics/trainer_card/front_link.bin differ
diff --git a/graphics/trainer_card/gold.pal b/graphics/trainer_card/gold.pal
index ebd175e97..79027f0d8 100644
--- a/graphics/trainer_card/gold.pal
+++ b/graphics/trainer_card/gold.pal
@@ -1,19 +1,51 @@
JASC-PAL
0100
-16
+48
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
+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
-189 148 16
-246 197 0
diff --git a/graphics/trainer_card/fr_1stars_pals.pal b/graphics/trainer_card/green.pal
similarity index 100%
rename from graphics/trainer_card/fr_1stars_pals.pal
rename to graphics/trainer_card/green.pal
diff --git a/graphics/trainer_card/rse/back.bin b/graphics/trainer_card/rse/back.bin
new file mode 100644
index 000000000..3ef599ce5
Binary files /dev/null and b/graphics/trainer_card/rse/back.bin differ
diff --git a/graphics/trainer_card/em_badges.png b/graphics/trainer_card/rse/badges.png
similarity index 100%
rename from graphics/trainer_card/em_badges.png
rename to graphics/trainer_card/rse/badges.png
diff --git a/graphics/trainer_card/rse/bg.bin b/graphics/trainer_card/rse/bg.bin
new file mode 100644
index 000000000..4e58fafc6
--- /dev/null
+++ b/graphics/trainer_card/rse/bg.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/graphics/trainer_card/em_1stars_pals.pal b/graphics/trainer_card/rse/bronze.pal
similarity index 100%
rename from graphics/trainer_card/em_1stars_pals.pal
rename to graphics/trainer_card/rse/bronze.pal
diff --git a/graphics/trainer_card/em_2stars_pals.pal b/graphics/trainer_card/rse/copper.pal
similarity index 100%
rename from graphics/trainer_card/em_2stars_pals.pal
rename to graphics/trainer_card/rse/copper.pal
diff --git a/graphics/trainer_card/em_female_bg.pal b/graphics/trainer_card/rse/female_bg.pal
similarity index 100%
rename from graphics/trainer_card/em_female_bg.pal
rename to graphics/trainer_card/rse/female_bg.pal
diff --git a/graphics/trainer_card/rse/front.bin b/graphics/trainer_card/rse/front.bin
new file mode 100644
index 000000000..e955b0ed9
Binary files /dev/null and b/graphics/trainer_card/rse/front.bin differ
diff --git a/graphics/trainer_card/rse/front_link.bin b/graphics/trainer_card/rse/front_link.bin
new file mode 100644
index 000000000..af5e6259e
Binary files /dev/null and b/graphics/trainer_card/rse/front_link.bin differ
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 000000000..b19e0d0ed
Binary files /dev/null and b/graphics/trainer_card/rse/tiles.png differ
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 000000000..5d2b11467
Binary files /dev/null and b/graphics/trainer_card/tiles.png differ
diff --git a/graphics/trainer_card/unused.pal b/graphics/trainer_card/unused.pal
new file mode 100644
index 000000000..25a3ac1d2
--- /dev/null
+++ b/graphics/trainer_card/unused.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/include/battle.h b/include/battle.h
index 55871b70c..3771ef33a 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/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/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
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/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/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/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 eceb39598..4a4d86250 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2745,15 +2745,15 @@ 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 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];
+extern const u16 gFameCheckerBgPals[][16];
extern const u16 gFameCheckerBgTiles[0xa50];
extern const u16 gFameCheckerBg3Tilemap[0x400];
extern const u16 gFameCheckerBg2Tilemap[0x400];
@@ -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[];
@@ -4744,9 +4464,9 @@ extern const u32 gBuyMenuFrame_Pal[];
extern const u16 gPPTextPalette[];
// trainer card
-extern const u16 gKantoTrainerCard_Pal[];
+extern const u16 gKantoTrainerCardBlue_Pal[];
extern const u32 gKantoTrainerCard_Gfx[];
-extern const u16 gHoennTrainerCard_Pal[];
+extern const u16 gHoennTrainerCardGreen_Pal[];
extern const u32 gHoennTrainerCard_Gfx[];
// battle_interface
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/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/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/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/include/shop.h b/include/shop.h
index 23490d4e1..5e6d07783 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[];
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..e68c4a7b3 100644
--- a/ld_script.txt
+++ b/ld_script.ld
@@ -11,8 +11,8 @@ SECTIONS {
. = 0x1C000;
-
- src/*.o(.ewram_data);
+ INCLUDE "sym_ewram.ld"
+ src/*.o(ewram_data);
*libc.a:impure.o(.data);
*libc.a:locale.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
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 e48fc4afa..c9ec79671 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 e2f7302c9..545d1450c 100644
--- a/src/berry_pouch.c
+++ b/src/berry_pouch.c
@@ -244,116 +244,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
}
};
@@ -619,9 +619,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:
@@ -1412,10 +1412,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);
@@ -1439,9 +1439,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];
}
@@ -1450,7 +1450,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)
@@ -1491,12 +1491,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 044810e94..d5090e0dd 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"
@@ -120,8 +121,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());
}
void RemoveBerryPowderVendorMenu(void)
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/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/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/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");
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/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/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 07c4c07bd..03c1c140a 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_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_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_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);
}
}
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 c0685ec62..c2a9944cc 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
};
@@ -1100,8 +1100,8 @@ void DrawElevatorCurrentFloorWindow(void)
return;
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);
@@ -2144,13 +2144,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);
@@ -2173,12 +2173,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);
}
@@ -2190,13 +2190,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)
{
@@ -2409,7 +2405,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)
@@ -2455,7 +2451,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_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/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..8e606ca3f 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1078,8 +1078,8 @@ const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapa
const u32 gBagBg_Gfx[] = INCBIN_U32("graphics/item_menu/bg.4bpp.lz");
const u32 gBagBg_Tilemap[] = INCBIN_U32("graphics/item_menu/bg.bin.lz");
const u32 gBagBg_ItemPC_Tilemap[] = INCBIN_U32("graphics/item_menu/bg_item_pc.bin.lz");
-const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal)
-const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl)
+const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bg.gbapal.lz"); // palette 1 (Boy + misc Pal)
+const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bg_female.gbapal.lz"); // palette 2 (Girl)
const u32 gBagMale_Gfx[] = INCBIN_U32("graphics/interface/bag_male.4bpp.lz");
const u32 gBagFemale_Gfx[] = INCBIN_U32("graphics/interface/bag_female.4bpp.lz");
@@ -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");
@@ -1178,10 +1178,10 @@ const u32 gNamingScreenUnderscore_Gfx[] = INCBIN_U32("graphics/naming_screen
const u8 gTMCaseHM_Gfx[] = INCBIN_U8("graphics/tm_case/hm.4bpp");
-const u16 gKantoTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal");
-const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz");
-const u16 gHoennTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal");
-const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz");
+const u16 gKantoTrainerCardBlue_Pal[] = INCBIN_U16("graphics/trainer_card/blue.gbapal");
+const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/tiles.4bpp.lz");
+const u16 gHoennTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/rse/green.gbapal");
+const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/rse/tiles.4bpp.lz");
const u16 gEasyChatWindow_Pal[] = INCBIN_U16("graphics/easy_chat/window.gbapal");
const u32 gEasyChatWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/window.4bpp.lz");
@@ -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 1f7530d06..b0c288383 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -110,7 +110,7 @@ static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex);
static void Task_MoveItemInPocket_HandleInput(u8 taskId);
static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex);
static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex);
-static void CopyBagListBgTileRowToTilemapBuffer(u8 a0);
+static void DrawItemListRow(u8 row);
static void Task_ItemContext_FieldOrBattle(u8 taskId);
static void Task_FieldItemContextMenuHandleInput(u8 taskId);
static void Task_ItemMenuAction_Use(u8 taskId);
@@ -186,20 +186,10 @@ static const u8 *const sPocketNames[] = {
gText_PokeBalls2
};
-static const u16 sBagListBgTiles[][18] = {
- INCBIN_U16("graphics/item_menu/bagmap_0.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_1.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_2.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_3.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_4.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_5.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_6.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_7.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_8.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_9.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_A.bin"),
- INCBIN_U16("graphics/item_menu/bagmap_B.bin")
-};
+#define LIST_TILES_WIDTH 18
+#define LIST_TILES_HEIGHT 12
+
+static const u16 sItemListTilemap[LIST_TILES_WIDTH * LIST_TILES_HEIGHT] = INCBIN_U16("graphics/item_menu/list.bin");
static const struct MenuAction sItemMenuContextActions[] = {
[ITEMMENUACTION_USE] = {gOtherText_Use, {.void_u8 = Task_ItemMenuAction_Use}},
@@ -310,6 +300,10 @@ static const struct ScrollArrowsTemplate sPocketSwitchArrowPairTemplate = {
static const u8 sBlit_SelectButton[] = INCBIN_U8("graphics/interface/select_button.4bpp");
+#define tSwitchDir data[11]
+#define tSwitchCounter data[12]
+#define tSwitchState data[13]
+
void GoToBagMenu(u8 location, u8 pocket, MainCallback bagCallback)
{
u8 i;
@@ -328,8 +322,8 @@ void GoToBagMenu(u8 location, u8 pocket, MainCallback bagCallback)
sBagMenuDisplay->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)
@@ -577,9 +571,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:
@@ -923,20 +917,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;
@@ -1153,9 +1147,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);
@@ -1177,35 +1171,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]);
@@ -1333,9 +1328,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);
}
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/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..2f7f04b01 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)
@@ -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/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..d759f6d79 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -49,39 +49,39 @@ 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)
{
}
-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)
@@ -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, 0x20);
+ 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/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 ccacbe574..5cef7c46e 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 4d2e4ccb8..77dd3db45 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,
@@ -751,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();
@@ -919,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;
}
@@ -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);
}
}
}
@@ -1737,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;
@@ -1745,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);
}
@@ -1823,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);
@@ -1876,9 +1884,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;
@@ -1962,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 a62fe442e..571dcf2c9 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;
@@ -4285,7 +4285,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);
}
@@ -4305,7 +4305,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);
}
@@ -4809,7 +4809,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);
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..01960d240 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;
@@ -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);
}
}
@@ -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,20 +3087,20 @@ u8 DexScreen_DrawMonAreaPage(void)
// Type icons
FillWindowPixelBuffer(sPokedexScreenData->windowIds[12], PIXEL_FILL(0));
- ListMenuLoadStdPalAt(176, 1);
+ ListMenuLoadStdPalAt(BG_PLTT_ID(11), 1);
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);
// 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 9d219c7d2..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)
@@ -1129,12 +1128,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)
diff --git a/src/pokemon_storage_system_tasks.c b/src/pokemon_storage_system_tasks.c
index 06d0fb003..fdc5250c3 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..2ff2483b1 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;
}
@@ -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;
@@ -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 d51d4a81a..2d87f8d88 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -512,7 +512,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();
sPlaybackControl = (struct PlaybackControl){};
@@ -522,7 +522,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();
sPlaybackControl = (struct PlaybackControl){};
@@ -1133,12 +1133,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);
@@ -1264,13 +1264,12 @@ 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(sWindowIds[WIN_TOP_BAR],
0x00, 0,
sWindowTemplates[WIN_TOP_BAR].height * 8 - 1 - data[1],
- sWindowTemplates[WIN_TOP_BAR].width * 8,
- 1);
+ sWindowTemplates[WIN_TOP_BAR].width * 8, 1);
FillWindowPixelRect(sWindowIds[WIN_BOTTOM_BAR],
0x00, 0,
data[1],
@@ -1286,9 +1285,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 7c0d83ab6..25991e775 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1140,6 +1140,8 @@ void Task_WaitMuseumFossilPic(u8 taskId)
}
}
+#define FOSSIL_PIC_PAL_NUM 13
+
bool8 OpenMuseumFossilPic(void)
{
u8 spriteId;
@@ -1151,19 +1153,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 4aaf92a23..754e33af3 100644
--- a/src/shop.c
+++ b/src/shop.c
@@ -462,7 +462,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)
@@ -470,10 +470,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..f39176ccc 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;
@@ -870,7 +877,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 +917,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 +964,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/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/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 6075d106c..8975761a5 100644
--- a/src/tm_case.c
+++ b/src/tm_case.c
@@ -616,9 +616,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:
@@ -1459,7 +1459,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++;
@@ -1483,14 +1483,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);
@@ -1508,12 +1508,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)
@@ -1530,10 +1530,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);
}
@@ -1554,7 +1554,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)
@@ -1648,10 +1648,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 de99e5366..2c3a0801d 100644
--- a/src/trade_scene.c
+++ b/src/trade_scene.c
@@ -625,7 +625,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));
}
}
@@ -938,13 +938,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)
@@ -1118,7 +1118,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;
@@ -1156,7 +1156,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;
@@ -1209,7 +1209,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;
@@ -2789,16 +2789,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..ab959d6c4 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -151,35 +151,35 @@ static void InitTrainerCardData(void);
static u8 GetCardType(void);
static void CreateTrainerCardTrainerPic(void);
-// Data
-static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
-static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn.bin");
-static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin");
-static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_hoenn.bin");
-static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin");
-static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn_link.bin");
-static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin");
-static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_hoenn.bin");
-static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin");
-static const u16 sHoennTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal");
-static const u16 sKantoTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal");
-static const u16 sHoennTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal");
-static const u16 sKantoTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal");
-static const u16 sHoennTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal");
-static const u16 sKantoTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal");
-static const u16 sHoennTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal");
-static const u16 sKantoTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal");
-static const u16 sHoennTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal");
-static const u16 sKantoTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal");
-static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal");
-static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal");
-static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal");
-static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/sticker1.gbapal");
-static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/sticker2.gbapal");
-static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/sticker3.gbapal");
-static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/sticker4.gbapal");
-static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz");
-static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
+static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
+static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/front.bin.lz");
+static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin.lz");
+static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/back.bin.lz");
+static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin.lz");
+static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/front_link.bin.lz");
+static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin.lz");
+static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/bg.bin.lz");
+static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin.lz");
+static const u16 sUnused_Pal[] = INCBIN_U16("graphics/trainer_card/unused.gbapal");
+static const u16 sHoennTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/rse/bronze.gbapal");
+static const u16 sKantoTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/green.gbapal");
+static const u16 sHoennTrainerCardCopper_Pal[] = INCBIN_U16("graphics/trainer_card/rse/copper.gbapal");
+static const u16 sKantoTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/bronze.gbapal");
+static const u16 sHoennTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/rse/silver.gbapal");
+static const u16 sKantoTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/silver.gbapal");
+static const u16 sHoennTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/rse/gold.gbapal");
+static const u16 sKantoTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal");
+static const u16 sHoennTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/rse/female_bg.gbapal");
+static const u16 sKantoTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal");
+static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/rse/badges.gbapal");
+static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal");
+static const u16 sTrainerCardStar_Pal[] = INCBIN_U16("graphics/trainer_card/star.gbapal");
+static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/stickers1.gbapal");
+static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/stickers2.gbapal");
+static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/stickers3.gbapal");
+static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/stickers4.gbapal");
+static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/rse/badges.4bpp.lz");
+static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
static const struct BgTemplate sTrainerCardBgTemplates[4] =
{
@@ -253,22 +253,22 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[4] =
DUMMY_WIN_TEMPLATE
};
-static const u16 *const sHoennTrainerCardStarPals[] =
+static const u16 *const sHoennTrainerCardPals[] =
{
- gHoennTrainerCard_Pal,
- sHoennTrainerCard1Stars_Pals,
- sHoennTrainerCard2Stars_Pals,
- sHoennTrainerCard3Stars_Pals,
- sHoennTrainerCard4Stars_Pals
+ gHoennTrainerCardGreen_Pal, // Default (0 stars)
+ sHoennTrainerCardBronze_Pal, // 1 star
+ sHoennTrainerCardCopper_Pal, // 2 stars
+ sHoennTrainerCardSilver_Pal, // 3 stars
+ sHoennTrainerCardGold_Pal, // 4 stars
};
-static const u16 *const sKantoTrainerCardStarPals[] =
+static const u16 *const sKantoTrainerCardPals[] =
{
- gKantoTrainerCard_Pal,
- sKantoTrainerCard1Stars_Pals,
- sKantoTrainerCard2Stars_Pals,
- sKantoTrainerCard3Stars_Pals,
- sKantoTrainerCard4Stars_Pals
+ gKantoTrainerCardBlue_Pal, // Default (0 stars)
+ sKantoTrainerCardGreen_Pal, // 1 star
+ sKantoTrainerCardBronze_Pal, // 2 stars
+ sKantoTrainerCardSilver_Pal, // 3 stars
+ sKantoTrainerCardGold_Pal, // 4 stars
};
static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY};
@@ -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(sHoennTrainerCardPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
else
- LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
+ LoadPalette(sKantoTrainerCardPals[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(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBg_Pal));
else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
- LoadPalette(sKantoTrainerCardFemaleBackground_Pal, 16, 32);
+ LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBg_Pal));
break;
case 5:
- LoadPalette(sTrainerCardGold_Pal, 64, 32);
+ LoadPalette(sTrainerCardStar_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardStar_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..172c41f33 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)
@@ -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);
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/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[] = {
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)
{
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)
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
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";
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