sub_818D0C4

This commit is contained in:
PikalaxALT 2017-09-18 21:26:11 -04:00
parent e033c72121
commit 7de2140b86
2 changed files with 40 additions and 112 deletions

View File

@ -6,115 +6,6 @@
.text
thumb_func_start sub_818D09C
sub_818D09C: @ 818D09C
push {r4,lr}
sub sp, 0x8
ldr r4, [sp, 0x10]
lsls r0, 16
lsrs r0, 16
lsls r2, 24
lsrs r2, 24
lsls r4, 24
lsrs r4, 24
str r4, [sp]
movs r4, 0
str r4, [sp, 0x4]
bl load_pokemon_image_TODO
lsls r0, 16
lsrs r0, 16
add sp, 0x8
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_818D09C
thumb_func_start sub_818D0C4
sub_818D0C4: @ 818D0C4
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r7, r1, 0
mov r8, r2
ldr r1, [sp, 0x18]
ldr r2, [sp, 0x1C]
lsls r0, 16
lsrs r4, r0, 16
adds r6, r4, 0
lsls r3, 24
lsrs r5, r3, 24
mov r12, r5
lsls r1, 16
lsrs r3, r1, 16
adds r1, r3, 0
lsls r2, 24
cmp r2, 0
bne _0818D128
ldr r0, =0x0000ffff
cmp r3, r0
bne _0818D110
ldr r2, =gUnknown_0203CCEC
ldrh r1, [r2, 0x2]
adds r0, r3, 0
orrs r0, r1
strh r0, [r2, 0x2]
adds r0, r4, 0
adds r1, r7, 0
mov r2, r8
bl species_and_otid_get_pal
lsls r1, r5, 20
b _0818D144
.pool
_0818D110:
ldr r0, =gUnknown_0203CCEC
strh r3, [r0, 0x2]
adds r0, r4, 0
adds r1, r7, 0
mov r2, r8
bl sub_806E7CC
bl LoadCompressedObjectPalette
b _0818D16E
.pool
_0818D128:
ldr r0, =0x0000ffff
cmp r3, r0
bne _0818D160
ldr r2, =gUnknown_0203CCEC
ldrh r1, [r2, 0x2]
adds r0, r3, 0
orrs r0, r1
strh r0, [r2, 0x2]
ldr r1, =gTrainerFrontPicPaletteTable
lsls r0, r4, 3
adds r0, r1
ldr r0, [r0]
mov r2, r12
lsls r1, r2, 20
_0818D144:
movs r2, 0x80
lsls r2, 17
adds r1, r2
lsrs r1, 16
movs r2, 0x20
bl LoadCompressedPalette
b _0818D16E
.pool
_0818D160:
ldr r0, =gUnknown_0203CCEC
strh r1, [r0, 0x2]
lsls r0, r6, 3
ldr r1, =gTrainerFrontPicPaletteTable
adds r0, r1
bl LoadCompressedObjectPalette
_0818D16E:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_818D0C4
thumb_func_start sub_818D180
sub_818D180: @ 818D180
push {r4,r5,lr}

View File

@ -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]);
}
}
}