load_pokemon_image_TODO

This commit is contained in:
PikalaxALT 2017-09-18 20:00:46 -04:00
parent 9e96bd540a
commit e033c72121
2 changed files with 51 additions and 87 deletions

View File

@ -6,92 +6,6 @@
.text
thumb_func_start load_pokemon_image_TODO
@ int load_pokemon_image_TODO(int species_num, unsigned int a2, u8 a3, void *a4, int a5, u8 a6)
load_pokemon_image_TODO: @ 818CFF4
push {r4-r7,lr}
sub sp, 0x4
adds r6, r1, 0
adds r5, r3, 0
ldr r3, [sp, 0x18]
ldr r1, [sp, 0x1C]
lsls r0, 16
lsrs r4, r0, 16
adds r7, r4, 0
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsls r1, 24
lsrs r1, 24
adds r0, r1, 0
cmp r3, 0
bne _0818D068
cmp r2, 0
beq _0818D034
cmp r1, 0
bne _0818D028
lsls r0, r4, 3
ldr r1, =gMonFrontPicTable
b _0818D03C
.pool
_0818D028:
lsls r0, r4, 3
ldr r1, =gMonFrontPicTable
b _0818D054
.pool
_0818D034:
cmp r0, 0
bne _0818D050
lsls r0, r4, 3
ldr r1, =gMonBackPicTable
_0818D03C:
adds r0, r1
str r2, [sp]
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
bl LoadSpecialPokePic
b _0818D08E
.pool
_0818D050:
lsls r0, r4, 3
ldr r1, =gMonBackPicTable
_0818D054:
adds r0, r1
str r2, [sp]
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
bl LoadSpecialPokePic_DontHandleDeoxys
b _0818D08E
.pool
_0818D068:
cmp r2, 0
beq _0818D080
lsls r0, r4, 3
ldr r1, =gTrainerFrontPicTable
adds r0, r1
adds r1, r5, 0
adds r2, r4, 0
bl DecompressPicFromTable
b _0818D08E
.pool
_0818D080:
lsls r0, r7, 3
ldr r1, =gTrainerBackPicTable
adds r0, r1
adds r1, r5, 0
adds r2, r7, 0
bl DecompressPicFromTable
_0818D08E:
movs r0, 0
add sp, 0x4
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end load_pokemon_image_TODO
thumb_func_start sub_818D09C
sub_818D09C: @ 818D09C
push {r4,lr}

View File

@ -1,6 +1,15 @@
// Includes
#include "global.h"
#include "sprite.h"
#include "species.h"
#include "pokemon.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[];
// Static type declarations
@ -20,7 +29,7 @@ extern const struct BattleDomeCard gUnknown_0860B058;
// .text
void nullsub_122(void)
void nullsub_122(struct Sprite *sprite)
{
}
@ -35,3 +44,44 @@ bool8 dp13_810BB8C(void)
}
return FALSE;
}
bool8 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, void *dest, bool8 isTrainer, bool8 ignoreDeoxys)
{
if (!isTrainer)
{
if (isFrontPic)
{
if (!ignoreDeoxys)
{
LoadSpecialPokePic(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
}
else
{
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
}
}
else
{
if (!ignoreDeoxys)
{
LoadSpecialPokePic(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
}
else
{
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
}
}
}
else
{
if (isFrontPic)
{
DecompressPicFromTable(&gTrainerFrontPicTable[species], dest, species);
}
else
{
DecompressPicFromTable(&gTrainerBackPicTable[species], dest, species);
}
}
return FALSE;
}