sub_818D5B0
This commit is contained in:
parent
7e157f2027
commit
6ef3f9dd50
2 changed files with 31 additions and 83 deletions
|
@ -5,88 +5,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_818D5B0
|
|
||||||
sub_818D5B0: @ 818D5B0
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r8
|
|
||||||
push {r7}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
movs r2, 0
|
|
||||||
ldr r0, =gUnknown_0203CD04
|
|
||||||
ldrb r1, [r0, 0xA]
|
|
||||||
adds r3, r0, 0
|
|
||||||
cmp r1, r4
|
|
||||||
beq _0818D5E0
|
|
||||||
adds r1, r3, 0
|
|
||||||
_0818D5C8:
|
|
||||||
adds r0, r2, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r2, r0, 24
|
|
||||||
cmp r2, 0x7
|
|
||||||
bhi _0818D5E0
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r2
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0, 0xA]
|
|
||||||
cmp r0, r4
|
|
||||||
bne _0818D5C8
|
|
||||||
_0818D5E0:
|
|
||||||
cmp r2, 0x8
|
|
||||||
bne _0818D5F0
|
|
||||||
ldr r0, =0x0000ffff
|
|
||||||
b _0818D646
|
|
||||||
.pool
|
|
||||||
_0818D5F0:
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r2
|
|
||||||
lsls r0, 2
|
|
||||||
adds r5, r0, r3
|
|
||||||
ldr r1, [r5]
|
|
||||||
mov r8, r1
|
|
||||||
adds r1, r3, 0x4
|
|
||||||
adds r0, r1
|
|
||||||
ldr r7, [r0]
|
|
||||||
ldrh r1, [r5, 0x8]
|
|
||||||
ldr r0, =0x0000ffff
|
|
||||||
lsls r6, r4, 4
|
|
||||||
cmp r1, r0
|
|
||||||
beq _0818D624
|
|
||||||
ldr r1, =gSprites
|
|
||||||
adds r0, r6, r4
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0, 0x5]
|
|
||||||
lsrs r0, 4
|
|
||||||
bl GetSpritePaletteTagByPaletteNum
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
bl FreeSpritePaletteByTag
|
|
||||||
_0818D624:
|
|
||||||
adds r0, r6, r4
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, =gSprites
|
|
||||||
adds r0, r1
|
|
||||||
bl DestroySprite
|
|
||||||
mov r0, r8
|
|
||||||
bl Free
|
|
||||||
adds r0, r7, 0
|
|
||||||
bl Free
|
|
||||||
adds r1, r5, 0
|
|
||||||
ldr r0, =gUnknown_0860B058
|
|
||||||
ldm r0!, {r2-r4}
|
|
||||||
stm r1!, {r2-r4}
|
|
||||||
movs r0, 0
|
|
||||||
_0818D646:
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_818D5B0
|
|
||||||
|
|
||||||
thumb_func_start sub_818D65C
|
thumb_func_start sub_818D65C
|
||||||
sub_818D65C: @ 818D65C
|
sub_818D65C: @ 818D65C
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|
|
@ -24,7 +24,7 @@ extern const struct OamData gUnknown_0860B06C;
|
||||||
|
|
||||||
struct BattleDomeCard {
|
struct BattleDomeCard {
|
||||||
u8 *frames;
|
u8 *frames;
|
||||||
const struct SpriteFrameImage *images;
|
struct SpriteFrameImage *images;
|
||||||
u16 paletteTag;
|
u16 paletteTag;
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
u8 active;
|
u8 active;
|
||||||
|
@ -306,3 +306,33 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y,
|
||||||
gUnknown_0203CD04[i].active = TRUE;
|
gUnknown_0203CD04[i].active = TRUE;
|
||||||
return spriteId;
|
return spriteId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u16 sub_818D5B0(u16 spriteId)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
u8 *framePics;
|
||||||
|
struct SpriteFrameImage *images;
|
||||||
|
|
||||||
|
for (i = 0; i < 8; i ++)
|
||||||
|
{
|
||||||
|
if (gUnknown_0203CD04[i].spriteId == spriteId)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i == 8)
|
||||||
|
{
|
||||||
|
return 0xFFFF;
|
||||||
|
}
|
||||||
|
framePics = gUnknown_0203CD04[i].frames;
|
||||||
|
images = gUnknown_0203CD04[i].images;
|
||||||
|
if (gUnknown_0203CD04[i].paletteTag != 0xFFFF)
|
||||||
|
{
|
||||||
|
FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[spriteId].oam.paletteNum));
|
||||||
|
}
|
||||||
|
DestroySprite(&gSprites[spriteId]);
|
||||||
|
Free(framePics);
|
||||||
|
Free(images);
|
||||||
|
gUnknown_0203CD04[i] = gUnknown_0860B058;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue