summaryrefslogtreecommitdiff
path: root/src/pokedex.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pokedex.c')
-rw-r--r--src/pokedex.c78
1 files changed, 72 insertions, 6 deletions
diff --git a/src/pokedex.c b/src/pokedex.c
index 17ae9a597..2ef91e472 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -178,7 +178,12 @@ static const u16 sNationalPokedexPalette[] = INCBIN_U16("graphics/pokedex/nation
const u8 gEmptySpacce_839F7FC[0xA4] = {0};
static const u8 gUnknown_0839F8A0[] = INCBIN_U8("graphics/pokedex/pokedex_cry_layout.bin.lz");
static const u8 gUnknown_0839F988[] = INCBIN_U8("graphics/pokedex/pokedex_size_layout.bin.lz");
+#if ENGLISH
static const u8 gUnknown_0839FA7C[] = INCBIN_U8("graphics/pokedex/noball.4bpp.lz");
+#elif GERMAN
+extern const u8 gUnknown_0839FA7C[];
+#endif
+
#include "data/pokedex_orders.h"
static const struct OamData gOamData_83A0404 =
{
@@ -507,8 +512,11 @@ static const u8 gUnknown_083A05EC[] = {2, 4, 8, 16, 32};
static const u8 gUnknown_083A05F1[] = {16, 8, 4, 2, 1};
const u8 gEmptySpacce_83A05F6[] = {0, 0}; // Padding, maybe?
static const u8 gUnknown_083A05F8[] = _("");
-// TODO: include German entries
+#if ENGLISH
#include "data/pokedex_entries_en.h"
+#elif GERMAN
+#include "data/pokedex_entries_de.h"
+#endif
static const u16 gUnknown_083B4EC4[16] = {0};
static const u8 *const sMonFootprintTable[] =
{
@@ -2900,6 +2908,12 @@ static u8 sub_808F284(struct PokedexListItem *item, u8 b)
return b;
}
+#if ENGLISH
+#define CATEGORY_LEFT (11)
+#elif GERMAN
+#define CATEGORY_LEFT (16)
+#endif
+
static void Task_InitPageScreenMultistep(u8 taskId)
{
switch (gMain.state)
@@ -2946,12 +2960,12 @@ static void Task_InitPageScreenMultistep(u8 taskId)
else
sub_8091154(gUnknown_0202FFBC->dexNum, 0xD, 3);
sub_80911C8(gUnknown_0202FFBC->dexNum, 0x10, 3);
- MenuPrint(gDexText_UnknownPoke, 11, 5);
+ MenuPrint(gDexText_UnknownPoke, CATEGORY_LEFT, 5);
MenuPrint(gDexText_UnknownHeight, 16, 7);
MenuPrint(gDexText_UnknownWeight, 16, 9);
if (gUnknown_0202FFBC->owned)
{
- sub_8091304(gPokedexEntries[gUnknown_0202FFBC->dexNum].categoryName, 11, 5);
+ sub_8091304(gPokedexEntries[gUnknown_0202FFBC->dexNum].categoryName, CATEGORY_LEFT, 5);
sub_8091458(gPokedexEntries[gUnknown_0202FFBC->dexNum].height, 16, 7);
sub_8091564(gPokedexEntries[gUnknown_0202FFBC->dexNum].weight, 16, 9);
MenuPrint(gPokedexEntries[gUnknown_0202FFBC->dexNum].descriptionPage1, 2, 13);
@@ -3838,10 +3852,10 @@ static void sub_8090750(u8 taskId)
else
sub_8091154(dexNum, 13, 3);
sub_80911C8(dexNum, 16, 3);
- MenuPrint(gDexText_UnknownPoke, 11, 5);
+ MenuPrint(gDexText_UnknownPoke, CATEGORY_LEFT, 5);
MenuPrint(gDexText_UnknownHeight, 16, 7);
MenuPrint(gDexText_UnknownWeight, 16, 9);
- sub_8091304(gPokedexEntries[dexNum].categoryName, 11, 5);
+ sub_8091304(gPokedexEntries[dexNum].categoryName, CATEGORY_LEFT, 5);
sub_8091458(gPokedexEntries[dexNum].height, 16, 7);
sub_8091564(gPokedexEntries[dexNum].weight, 16, 9);
MenuPrint(gPokedexEntries[dexNum].descriptionPage1, 2, 13);
@@ -4247,6 +4261,7 @@ static void sub_8091304(const u8 *name, u8 left, u8 top)
sub_8072B80(str, left, top, gDexText_UnknownPoke);
}
+#if ENGLISH
void unref_sub_80913A4(u16 a, u8 left, u8 top)
{
u8 str[6];
@@ -4283,6 +4298,51 @@ void unref_sub_80913A4(u16 a, u8 left, u8 top)
str[5] = EOS;
MenuPrint(str, left, top);
}
+#elif GERMAN
+void unref_sub_80913A4(u16 arg0, u8 left, u8 top) {
+ u8 buffer[8];
+ int offset;
+ u8 result;
+
+ u8 r6 = 0;
+ offset = 0;
+
+
+ buffer[r6++] = 0xFC;
+ buffer[r6++] = 0x13;
+ r6++;
+
+ result = (arg0 / 1000);
+ if (result == 0)
+ {
+ offset = 6;
+ }
+ else
+ {
+ buffer[r6++] = result + CHAR_0;
+ }
+
+
+ result = (arg0 % 1000) / 100;
+
+ if (result == 0 && offset != 0)
+ {
+ offset += 6;
+ }
+ else
+ {
+ buffer[r6++] = result + CHAR_0;
+ }
+
+ buffer[r6++] = (((arg0 % 1000) % 100) / 10) + CHAR_0;
+ buffer[r6++] = CHAR_COMMA;
+ buffer[r6++] = (((arg0 % 1000) % 100) % 10) + CHAR_0;
+
+ buffer[r6++] = EOS;
+ buffer[2] = offset;
+ MenuPrint(buffer, left, top);
+}
+#endif
#ifdef UNITS_IMPERIAL
#define CHAR_PRIME (0xB4)
@@ -4664,9 +4724,15 @@ int sub_8091AF8(u8 a, u8 b, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2)
return resultsCount;
}
+#if ENGLISH
+#define SUB_8091E20_WIDTH (208)
+#elif GERMAN
+#define SUB_8091E20_WIDTH (216)
+#endif
+
void sub_8091E20(const u8 *str)
{
- sub_8072AB0(str, 9, 120, 208, 32, 1);
+ sub_8072AB0(str, 9, 120, SUB_8091E20_WIDTH, 32, 1);
}
u8 sub_8091E3C(void)