sub_818D0C4
This commit is contained in:
@@ -6,115 +6,6 @@
|
|||||||
.text
|
.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
|
thumb_func_start sub_818D180
|
||||||
sub_818D180: @ 818D180
|
sub_818D180: @ 818D180
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
+40
-3
@@ -3,13 +3,14 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
#include "species.h"
|
#include "species.h"
|
||||||
#include "pokemon.h"
|
#include "palette.h"
|
||||||
#include "decompress.h"
|
#include "decompress.h"
|
||||||
|
|
||||||
extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES];
|
extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES];
|
||||||
extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];
|
extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];
|
||||||
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
|
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
|
||||||
extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
|
extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
|
||||||
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
|
|
||||||
// Static type declarations
|
// Static type declarations
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ struct BattleDomeCard {
|
|||||||
// Static RAM declarations
|
// Static RAM declarations
|
||||||
|
|
||||||
extern struct BattleDomeCard gUnknown_0203CD04[8];
|
extern struct BattleDomeCard gUnknown_0203CD04[8];
|
||||||
|
extern struct SpriteTemplate gUnknown_0203CCEC;
|
||||||
|
|
||||||
// Static ROM declarations
|
// Static ROM declarations
|
||||||
|
|
||||||
@@ -34,7 +36,7 @@ void nullsub_122(struct Sprite *sprite)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 dp13_810BB8C(void)
|
bool16 dp13_810BB8C(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -45,7 +47,7 @@ bool8 dp13_810BB8C(void)
|
|||||||
return FALSE;
|
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)
|
if (!isTrainer)
|
||||||
{
|
{
|
||||||
@@ -85,3 +87,38 @@ bool8 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, vo
|
|||||||
}
|
}
|
||||||
return FALSE;
|
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]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user