summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2015-11-24 01:41:14 -0800
committerYamaArashi <shadow962@live.com>2015-11-24 01:41:14 -0800
commit69d1b312f654abd550d350b5b1db29a5f6aba348 (patch)
treec339a3c1cb4a91e20f8a6abd1f5d9321d55312cf
parent066d199fe32040a0110746dba145ece66bd50c20 (diff)
title screen background tiles and palettes
-rw-r--r--asm/emerald.s8
-rw-r--r--data/data2.s32
-rw-r--r--data/graphics/title_screen/clouds.pngbin0 -> 629 bytes
-rw-r--r--data/graphics/title_screen/pokemon_logo.pal259
-rw-r--r--data/graphics/title_screen/pokemon_logo.pngbin0 -> 4666 bytes
-rw-r--r--data/graphics/title_screen/rayquaza.pngbin0 -> 1730 bytes
-rw-r--r--data/graphics/title_screen/rayquaza_and_clouds.pal19
-rw-r--r--graphics_file_rules.mk3
-rw-r--r--tools/gbagfx/gfx.c6
-rw-r--r--tools/gbagfx/main.c27
10 files changed, 338 insertions, 16 deletions
diff --git a/asm/emerald.s b/asm/emerald.s
index 0e2f47f87..566158231 100644
--- a/asm/emerald.s
+++ b/asm/emerald.s
@@ -320114,25 +320114,25 @@ c2_title_screen_1: ; 80AA7A4
.align 2, 0
.pool
@080AA8C4:
- ldr r0, =gUnknown_08DDE690
+ ldr r0, =gTitleScreenPokemonLogoTiles
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
ldr r0, =gUnknown_08DE0644
ldr r1, =0x06004800
bl LZ77UnCompVram
- ldr r0, =gTitleScreenBgPalette
+ ldr r0, =gTitleScreenBgPalettes
movs r2, 0xF0
lsls r2, 1
movs r1, 0
bl gpu_pal_apply
- ldr r0, =gUnknown_0853F058
+ ldr r0, =gTitleScreenRayquazaTiles
ldr r1, =0x06008000
bl LZ77UnCompVram
ldr r0, =gUnknown_0853F83C
ldr r1, =0x0600d000
bl LZ77UnCompVram
- ldr r0, =gUnknown_0853FC8C
+ ldr r0, =gTitleScreenCloudsTiles
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gUnknown_08DDE458
diff --git a/data/data2.s b/data/data2.s
index 0560de31c..a99d3e74f 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -3204,14 +3204,18 @@ gUnknown_0853EF48: ; 853EF48
gUnknown_0853EF60: ; 853EF60
.incbin "base_emerald.gba", 0x53ef60, 0xf8
-gUnknown_0853F058: ; 853F058
- .incbin "base_emerald.gba", 0x53f058, 0x7e4
+gTitleScreenRayquazaTiles: ; 853F058
+ .incbin "data/graphics/title_screen/rayquaza.4bpp.lz"
+
+ .align 2, 0
gUnknown_0853F83C: ; 853F83C
.incbin "base_emerald.gba", 0x53f83c, 0x450
-gUnknown_0853FC8C: ; 853FC8C
- .incbin "base_emerald.gba", 0x53fc8c, 0x2e4
+gTitleScreenCloudsTiles: ; 853FC8C
+ .incbin "data/graphics/title_screen/clouds.4bpp.lz"
+
+ .align 2, 0
gUnknown_0853FF70: ; 853FF70
.incbin "base_emerald.gba", 0x53ff70, 0xa8
@@ -13251,13 +13255,20 @@ gUnknown_08DDE030: ; 8DDE030
gUnknown_08DDE12C: ; 8DDE12C
.incbin "base_emerald.gba", 0xdde12c, 0xcc
+ .align 2, 0
+
gMonIconPalettes: ; 8DDE1F8
.incbin "data/graphics/pokemon/icon_palettes/icon_palette_0.gbapal"
.incbin "data/graphics/pokemon/icon_palettes/icon_palette_1.gbapal"
.incbin "data/graphics/pokemon/icon_palettes/icon_palette_2.gbapal"
-gTitleScreenBgPalette: ; 8DDE258
- .incbin "base_emerald.gba", 0xdde258, 0x1e0
+ .align 2, 0
+
+gTitleScreenBgPalettes: ; 8DDE258
+ .incbin "data/graphics/title_screen/pokemon_logo.gbapal"
+ .incbin "data/graphics/title_screen/rayquaza_and_clouds.gbapal"
+
+ .align 2, 0
gUnknown_08DDE438: ; 8DDE438
.incbin "base_emerald.gba", 0xdde438, 0x20
@@ -13265,8 +13276,13 @@ gUnknown_08DDE438: ; 8DDE438
gUnknown_08DDE458: ; 8DDE458
.incbin "base_emerald.gba", 0xdde458, 0x238
-gUnknown_08DDE690: ; 8DDE690
- .incbin "base_emerald.gba", 0xdde690, 0x1fb4
+gTitleScreenPokemonLogoTiles: ; 8DDE690
+ .incbin "data/graphics/title_screen/pokemon_logo.8bpp.lz"
+
+ .align 2, 0
+
+; 8DDFD94
+ .incbin "base_emerald.gba", 0xddfd94, 0x8b0
gUnknown_08DE0644: ; 8DE0644
.incbin "base_emerald.gba", 0xde0644, 0x184
diff --git a/data/graphics/title_screen/clouds.png b/data/graphics/title_screen/clouds.png
new file mode 100644
index 000000000..361c8e145
--- /dev/null
+++ b/data/graphics/title_screen/clouds.png
Binary files differ
diff --git a/data/graphics/title_screen/pokemon_logo.pal b/data/graphics/title_screen/pokemon_logo.pal
new file mode 100644
index 000000000..f62cfac20
--- /dev/null
+++ b/data/graphics/title_screen/pokemon_logo.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+0 0 0
+0 0 0
+255 238 16
+246 222 41
+246 238 246
+255 246 24
+246 246 41
+246 246 246
+246 255 255
+255 246 255
+0 0 255
+8 0 255
+24 0 238
+246 222 24
+246 222 32
+255 238 41
+255 238 49
+255 255 16
+255 255 24
+255 255 246
+255 255 255
+0 0 0
+24 41 32
+32 32 74
+32 0 230
+32 0 238
+32 0 246
+32 0 255
+246 238 32
+255 230 24
+246 230 41
+246 238 41
+246 230 49
+246 238 49
+255 246 32
+255 246 41
+255 255 32
+255 255 41
+32 24 32
+32 32 41
+197 156 41
+197 164 41
+16 0 246
+16 0 255
+24 0 246
+24 0 255
+41 0 230
+41 0 238
+57 0 238
+41 0 246
+41 0 255
+8 8 197
+246 230 24
+246 230 32
+255 238 24
+255 238 32
+32 32 32
+32 41 32
+41 32 32
+41 41 32
+49 32 32
+49 41 32
+41 32 41
+49 32 41
+24 41 41
+32 32 90
+16 24 106
+24 32 98
+41 32 82
+41 32 98
+41 41 82
+41 41 98
+0 0 115
+8 8 131
+32 24 115
+32 24 131
+32 41 115
+41 41 115
+32 41 131
+41 41 131
+57 41 41
+57 41 49
+57 49 41
+57 57 57
+65 41 41
+74 41 41
+65 57 57
+74 57 57
+57 74 74
+65 65 74
+82 74 82
+82 57 131
+82 90 82
+90 90 90
+90 98 98
+98 98 106
+115 106 106
+131 98 115
+139 98 106
+139 115 98
+180 139 57
+172 131 65
+156 115 90
+156 131 82
+115 82 139
+123 82 131
+115 98 131
+131 98 123
+115 123 123
+123 123 131
+139 131 139
+148 123 131
+205 172 24
+213 172 16
+205 164 32
+213 172 32
+222 189 24
+230 189 16
+213 189 32
+222 189 32
+230 205 24
+230 205 32
+230 213 32
+238 222 32
+180 148 57
+189 156 49
+180 148 74
+180 172 90
+156 148 123
+139 148 139
+164 148 115
+172 156 106
+197 156 49
+205 180 49
+197 172 90
+205 189 82
+222 205 49
+230 222 49
+205 205 74
+222 213 65
+49 0 230
+49 0 238
+49 0 246
+49 0 255
+57 0 246
+57 0 255
+16 8 197
+16 16 189
+32 16 164
+41 16 164
+32 16 180
+41 16 189
+8 8 205
+8 16 205
+24 8 213
+24 16 205
+41 8 213
+41 16 213
+49 8 213
+57 16 213
+16 8 230
+24 8 230
+24 16 230
+24 24 230
+8 8 246
+8 16 246
+16 8 246
+16 16 246
+32 8 230
+32 16 230
+32 8 238
+32 8 246
+41 8 230
+41 16 230
+49 16 230
+49 8 238
+32 32 156
+24 32 172
+41 41 156
+41 32 164
+74 49 180
+82 49 172
+82 65 164
+90 74 164
+24 32 189
+57 41 189
+41 32 213
+57 32 213
+74 41 189
+90 57 189
+74 49 197
+74 41 205
+106 65 156
+123 106 156
+115 82 164
+106 82 172
+148 148 156
+156 156 156
+164 164 156
+172 172 172
+180 189 180
+189 189 189
+197 189 189
+197 197 197
+205 205 213
+213 213 213
+222 230 230
+230 230 230
+32 41 41
+32 49 41
+41 41 41
+49 41 41
+41 49 41
+49 49 41
+32 41 57
+41 41 49
+32 41 65
+41 41 65
+32 49 49
+41 49 49
+32 57 57
+41 49 57
+32 41 82
+32 41 90
+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
+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
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/data/graphics/title_screen/pokemon_logo.png b/data/graphics/title_screen/pokemon_logo.png
new file mode 100644
index 000000000..7d141ad67
--- /dev/null
+++ b/data/graphics/title_screen/pokemon_logo.png
Binary files differ
diff --git a/data/graphics/title_screen/rayquaza.png b/data/graphics/title_screen/rayquaza.png
new file mode 100644
index 000000000..f52f559e2
--- /dev/null
+++ b/data/graphics/title_screen/rayquaza.png
Binary files differ
diff --git a/data/graphics/title_screen/rayquaza_and_clouds.pal b/data/graphics/title_screen/rayquaza_and_clouds.pal
new file mode 100644
index 000000000..2eabafc2a
--- /dev/null
+++ b/data/graphics/title_screen/rayquaza_and_clouds.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+189 106 8
+0 139 74
+255 255 255
+16 172 98
+8 156 106
+8 139 115
+8 123 123
+0 115 131
+0 98 139
+0 82 148
+0 74 164
+0 74 98
+180 230 172
+255 255 255
+255 0 0
+0 74 98
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 2fe5b6e39..a8d607800 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -264,3 +264,6 @@ $(fontdir)/unused_frlg_male.fwjpnfont: $(fontdir)/unused_japanese_frlg_male_font
$(fontdir)/unused_frlg_female.fwjpnfont: $(fontdir)/unused_japanese_frlg_female_font.png
$(gfx) $< $@
+
+data/graphics/title_screen/pokemon_logo.gbapal: data/graphics/title_screen/pokemon_logo.pal
+ $(gfx) $< $@ -num_colors 224
diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c
index c09c4238e..c0f7f492c 100644
--- a/tools/gbagfx/gfx.c
+++ b/tools/gbagfx/gfx.c
@@ -292,10 +292,10 @@ void ReadGbaPalette(char *path, struct Palette *palette)
int fileSize;
unsigned char *data = ReadWholeFile(path, &fileSize);
- palette->numColors = fileSize / 2;
+ if (fileSize % 2 != 0)
+ FATAL_ERROR("The file size (%d) is not a multiple of 2.\n", fileSize);
- if (palette->numColors != 16 && palette->numColors != 256)
- FATAL_ERROR("\"%s\" contains %d colors, but the number of colors must be 16 or 256.\n", path, palette->numColors);
+ palette->numColors = fileSize / 2;
for (int i = 0; i < palette->numColors; i++) {
uint16_t paletteEntry = (data[i * 2 + 1] << 8) | data[i * 2];
diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c
index 56a1c2c7b..cc1e8f807 100644
--- a/tools/gbagfx/main.c
+++ b/tools/gbagfx/main.c
@@ -129,11 +129,36 @@ void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc U
WriteJascPalette(outputPath, &palette);
}
-void HandleJascToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+void HandleJascToGbaPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
{
+ int numColors = 0;
+
+ for (int i = 3; i < argc; i++) {
+ char *option = argv[i];
+
+ if (strcmp(option, "-num_colors") == 0) {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No number of colors following \"-num_colors\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &numColors))
+ FATAL_ERROR("Failed to parse number of colors.\n");
+
+ if (numColors < 1)
+ FATAL_ERROR("Number of colors must be positive.\n");
+ } else {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
struct Palette palette;
ReadJascPalette(inputPath, &palette);
+
+ if (numColors != 0)
+ palette.numColors = numColors;
+
WriteGbaPalette(outputPath, &palette);
}