Remaining functions
This commit is contained in:
-160
@@ -1,160 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_8121C50
|
|
||||||
sub_8121C50: @ 8121C50
|
|
||||||
push {lr}
|
|
||||||
bl LoadOam
|
|
||||||
bl ProcessSpriteCopyRequests
|
|
||||||
bl TransferPlttBuffer
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8121C50
|
|
||||||
|
|
||||||
thumb_func_start sub_8121C64
|
|
||||||
sub_8121C64: @ 8121C64
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, =gUnknown_0203A134
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, =0x0000021b
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08121C7C
|
|
||||||
bl AnimateSprites
|
|
||||||
bl BuildOamBuffer
|
|
||||||
_08121C7C:
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0x84
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl _call_via_r0
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8121C64
|
|
||||||
|
|
||||||
thumb_func_start sub_8121C98
|
|
||||||
sub_8121C98: @ 8121C98
|
|
||||||
push {lr}
|
|
||||||
bl UpdatePaletteFade
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08121CB2
|
|
||||||
ldr r0, =gUnknown_0203A134
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x84
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, =sub_8121CC0
|
|
||||||
str r1, [r0]
|
|
||||||
_08121CB2:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8121C98
|
|
||||||
|
|
||||||
thumb_func_start sub_8121CC0
|
|
||||||
sub_8121CC0: @ 8121CC0
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
ldr r0, =gMain
|
|
||||||
ldrh r1, [r0, 0x2E]
|
|
||||||
movs r0, 0x3
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08121CEE
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x10
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
ldr r0, =gUnknown_0203A134
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x84
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, =sub_8121D00
|
|
||||||
str r1, [r0]
|
|
||||||
_08121CEE:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8121CC0
|
|
||||||
|
|
||||||
thumb_func_start sub_8121D00
|
|
||||||
sub_8121D00: @ 8121D00
|
|
||||||
push {r4,lr}
|
|
||||||
bl UpdatePaletteFade
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08121D88
|
|
||||||
ldr r4, =gUnknown_0203A134
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0x83
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl SetMainCallback2
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, =0x0000021b
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x2
|
|
||||||
bgt _08121D58
|
|
||||||
cmp r0, 0x1
|
|
||||||
blt _08121D58
|
|
||||||
subs r2, 0x7
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r0, [r0, 0x1E]
|
|
||||||
bl sub_80D2E84
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
bl sub_80D2FF0
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0x87
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r1, [r0]
|
|
||||||
lsls r0, r1, 4
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, =gSprites
|
|
||||||
adds r0, r1
|
|
||||||
bl sub_80D2EF8
|
|
||||||
_08121D58:
|
|
||||||
ldr r4, =gUnknown_0203A134
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r2, =0x0000222c
|
|
||||||
movs r1, 0
|
|
||||||
bl memset
|
|
||||||
bl ResetPaletteFade
|
|
||||||
movs r0, 0
|
|
||||||
bl UnsetBgTilemapBuffer
|
|
||||||
movs r0, 0x1
|
|
||||||
bl UnsetBgTilemapBuffer
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
bl FreeAllWindowBuffers
|
|
||||||
ldr r0, [r4]
|
|
||||||
bl Free
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4]
|
|
||||||
_08121D88:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8121D00
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
@@ -6,5 +6,7 @@ const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
|||||||
u16 sub_80D2E84(u16 speciesId);
|
u16 sub_80D2E84(u16 speciesId);
|
||||||
void sub_80D2F68(u16 iconId);
|
void sub_80D2F68(u16 iconId);
|
||||||
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
|
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
|
||||||
|
void sub_80D2FF0(u16 iconId);
|
||||||
|
void sub_80D2EF8(struct Sprite *sprite);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_ICON_H
|
#endif // GUARD_POKEMON_ICON_H
|
||||||
|
|||||||
@@ -165,7 +165,6 @@ SECTIONS {
|
|||||||
asm/mon_markings.o(.text);
|
asm/mon_markings.o(.text);
|
||||||
asm/mauville_old_man.o(.text);
|
asm/mauville_old_man.o(.text);
|
||||||
src/mail.o(.text);
|
src/mail.o(.text);
|
||||||
asm/mail.o(.text);
|
|
||||||
asm/menu_helpers.o(.text);
|
asm/menu_helpers.o(.text);
|
||||||
asm/dewford_trend.o(.text);
|
asm/dewford_trend.o(.text);
|
||||||
asm/heal_location.o(.text);
|
asm/heal_location.o(.text);
|
||||||
|
|||||||
+68
-9
@@ -51,8 +51,8 @@ struct Unk203A134
|
|||||||
/*0x0218*/ bool8 flag;
|
/*0x0218*/ bool8 flag;
|
||||||
/*0x0219*/ u8 signatureWidth;
|
/*0x0219*/ u8 signatureWidth;
|
||||||
/*0x021a*/ u8 mailType;
|
/*0x021a*/ u8 mailType;
|
||||||
/*0x021b*/ u8 unk_021b;
|
/*0x021b*/ u8 animsActive;
|
||||||
/*0x021c*/ u8 unk_021c;
|
/*0x021c*/ u8 monIconSprite;
|
||||||
/*0x021d*/ u8 language;
|
/*0x021d*/ u8 language;
|
||||||
/*0x021e*/ bool8 playerIsSender;
|
/*0x021e*/ bool8 playerIsSender;
|
||||||
/*0x0220*/ void (*parserSingle)(u8 *dest, u16 word);
|
/*0x0220*/ void (*parserSingle)(u8 *dest, u16 word);
|
||||||
@@ -85,6 +85,8 @@ void sub_8121B1C(void);
|
|||||||
void sub_8121C50(void);
|
void sub_8121C50(void);
|
||||||
void sub_8121C64(void);
|
void sub_8121C64(void);
|
||||||
void sub_8121C98(void);
|
void sub_8121C98(void);
|
||||||
|
void sub_8121CC0(void);
|
||||||
|
void sub_8121D00(void);
|
||||||
|
|
||||||
// .rodata
|
// .rodata
|
||||||
|
|
||||||
@@ -299,19 +301,19 @@ void sub_8121478(struct MailStruct *mail, MainCallback callback, bool8 flag) {
|
|||||||
switch (gUnknown_0203A134->mailType)
|
switch (gUnknown_0203A134->mailType)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
gUnknown_0203A134->unk_021b = 0;
|
gUnknown_0203A134->animsActive = 0;
|
||||||
break;
|
break;
|
||||||
case ITEM_BEAD_MAIL - ITEM_ORANGE_MAIL:
|
case ITEM_BEAD_MAIL - ITEM_ORANGE_MAIL:
|
||||||
gUnknown_0203A134->unk_021b = 1;
|
gUnknown_0203A134->animsActive = 1;
|
||||||
break;
|
break;
|
||||||
case ITEM_DREAM_MAIL - ITEM_ORANGE_MAIL:
|
case ITEM_DREAM_MAIL - ITEM_ORANGE_MAIL:
|
||||||
gUnknown_0203A134->unk_021b = 2;
|
gUnknown_0203A134->animsActive = 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gUnknown_0203A134->unk_021b = 0;
|
gUnknown_0203A134->animsActive = 0;
|
||||||
}
|
}
|
||||||
gUnknown_0203A134->mail = mail;
|
gUnknown_0203A134->mail = mail;
|
||||||
gUnknown_0203A134->callback = callback;
|
gUnknown_0203A134->callback = callback;
|
||||||
@@ -422,15 +424,15 @@ bool8 sub_81215EC(void)
|
|||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
icon = sub_80D2E84(gUnknown_0203A134->mail->species);
|
icon = sub_80D2E84(gUnknown_0203A134->mail->species);
|
||||||
switch (gUnknown_0203A134->unk_021b)
|
switch (gUnknown_0203A134->animsActive)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
sub_80D2F68(icon);
|
sub_80D2F68(icon);
|
||||||
gUnknown_0203A134->unk_021c = sub_80D2D78(icon, SpriteCallbackDummy, 0x60, 0x80, 0, 0);
|
gUnknown_0203A134->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x60, 0x80, 0, 0);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_80D2F68(icon);
|
sub_80D2F68(icon);
|
||||||
gUnknown_0203A134->unk_021c = sub_80D2D78(icon, SpriteCallbackDummy, 0x28, 0x80, 0, 0);
|
gUnknown_0203A134->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x28, 0x80, 0, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -518,3 +520,60 @@ void sub_8121B1C(void)
|
|||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, 3);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_8121C50(void)
|
||||||
|
{
|
||||||
|
LoadOam();
|
||||||
|
ProcessSpriteCopyRequests();
|
||||||
|
TransferPlttBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8121C64(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_0203A134->animsActive != 0)
|
||||||
|
{
|
||||||
|
AnimateSprites();
|
||||||
|
BuildOamBuffer();
|
||||||
|
}
|
||||||
|
gUnknown_0203A134->callback2();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8121C98(void)
|
||||||
|
{
|
||||||
|
if (!UpdatePaletteFade())
|
||||||
|
{
|
||||||
|
gUnknown_0203A134->callback2 = sub_8121CC0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8121CC0(void)
|
||||||
|
{
|
||||||
|
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
|
||||||
|
{
|
||||||
|
BeginNormalPaletteFade(-1, 0, 0, 16, 0);
|
||||||
|
gUnknown_0203A134->callback2 = sub_8121D00;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8121D00(void)
|
||||||
|
{
|
||||||
|
if (!UpdatePaletteFade())
|
||||||
|
{
|
||||||
|
SetMainCallback2(gUnknown_0203A134->callback);
|
||||||
|
switch (gUnknown_0203A134->animsActive)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
sub_80D2FF0(sub_80D2E84(gUnknown_0203A134->mail->species));
|
||||||
|
sub_80D2EF8(&gSprites[gUnknown_0203A134->monIconSprite]);
|
||||||
|
}
|
||||||
|
memset(gUnknown_0203A134, 0, sizeof(*gUnknown_0203A134));
|
||||||
|
ResetPaletteFade();
|
||||||
|
UnsetBgTilemapBuffer(0);
|
||||||
|
UnsetBgTilemapBuffer(1);
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
FreeAllWindowBuffers();
|
||||||
|
free(gUnknown_0203A134);
|
||||||
|
gUnknown_0203A134 = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user