summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-18 21:26:11 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-18 21:26:11 -0400
commit7de2140b868a77ea99e4965b06602af9d7de2926 (patch)
treeba06c5a3f408ff5f2a7176279e3ac9d52ed89c60 /src
parente033c721219f4412a0cb2cbbdcbec583ec60c87a (diff)
sub_818D0C4
Diffstat (limited to 'src')
-rw-r--r--src/battle_dome_cards.c43
1 files changed, 40 insertions, 3 deletions
diff --git a/src/battle_dome_cards.c b/src/battle_dome_cards.c
index 6ceb929ad..085afeb0c 100644
--- a/src/battle_dome_cards.c
+++ b/src/battle_dome_cards.c
@@ -3,13 +3,14 @@
#include "global.h"
#include "sprite.h"
#include "species.h"
-#include "pokemon.h"
+#include "palette.h"
#include "decompress.h"
extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES];
extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
+extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
// Static type declarations
@@ -20,6 +21,7 @@ struct BattleDomeCard {
// Static RAM declarations
extern struct BattleDomeCard gUnknown_0203CD04[8];
+extern struct SpriteTemplate gUnknown_0203CCEC;
// Static ROM declarations
@@ -34,7 +36,7 @@ void nullsub_122(struct Sprite *sprite)
}
-bool8 dp13_810BB8C(void)
+bool16 dp13_810BB8C(void)
{
int i;
@@ -45,7 +47,7 @@ bool8 dp13_810BB8C(void)
return FALSE;
}
-bool8 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, void *dest, bool8 isTrainer, bool8 ignoreDeoxys)
+bool16 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, void *dest, bool8 isTrainer, bool8 ignoreDeoxys)
{
if (!isTrainer)
{
@@ -85,3 +87,38 @@ bool8 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, vo
}
return FALSE;
}
+
+bool16 sub_818D09C(u16 species, u32 personality, bool8 isFrontPic, void *dest, bool8 isTrainer)
+{
+ return load_pokemon_image_TODO(species, personality, isFrontPic, dest, isTrainer, FALSE);
+}
+
+void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
+{
+ if (!isTrainer)
+ {
+ if (paletteTag == 0xFFFF)
+ {
+ gUnknown_0203CCEC.paletteTag |= 0xFFFF;
+ LoadCompressedPalette(species_and_otid_get_pal(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
+ }
+ else
+ {
+ gUnknown_0203CCEC.paletteTag = paletteTag;
+ LoadCompressedObjectPalette(sub_806E7CC(species, otId, personality));
+ }
+ }
+ else
+ {
+ if (paletteTag == 0xFFFF)
+ {
+ gUnknown_0203CCEC.paletteTag |= 0xFFFF;
+ LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20);
+ }
+ else
+ {
+ gUnknown_0203CCEC.paletteTag = paletteTag;
+ LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]);
+ }
+ }
+}