pokemon_summary_screen.c, part 11.
This commit is contained in:
@@ -5,138 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8139C44
|
||||
sub_8139C44: @ 8139C44
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r3, _08139C74 @ =gSprites
|
||||
ldr r1, _08139C78 @ =gMonSummaryScreen
|
||||
ldr r1, [r1]
|
||||
ldr r2, _08139C7C @ =0x00003010
|
||||
adds r1, r2
|
||||
ldrb r1, [r1]
|
||||
lsls r2, r1, 4
|
||||
adds r2, r1
|
||||
lsls r2, 2
|
||||
adds r2, r3
|
||||
adds r2, 0x3E
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
lsls r0, 2
|
||||
ldrb r3, [r2]
|
||||
movs r1, 0x5
|
||||
negs r1, r1
|
||||
ands r1, r3
|
||||
orrs r1, r0
|
||||
strb r1, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08139C74: .4byte gSprites
|
||||
_08139C78: .4byte gMonSummaryScreen
|
||||
_08139C7C: .4byte 0x00003010
|
||||
thumb_func_end sub_8139C44
|
||||
|
||||
thumb_func_start sub_8139C80
|
||||
sub_8139C80: @ 8139C80
|
||||
push {r4,lr}
|
||||
ldr r0, _08139CA4 @ =gMonSummaryScreen
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08139CA8 @ =0x00003010
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r4, _08139CAC @ =gUnknown_203B170
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08139CA4: .4byte gMonSummaryScreen
|
||||
_08139CA8: .4byte 0x00003010
|
||||
_08139CAC: .4byte gUnknown_203B170
|
||||
thumb_func_end sub_8139C80
|
||||
|
||||
thumb_func_start sub_8139CB0
|
||||
sub_8139CB0: @ 8139CB0
|
||||
push {r4,lr}
|
||||
ldr r0, _08139CD4 @ =gMonSummaryScreen
|
||||
ldr r1, [r0]
|
||||
movs r2, 0xC8
|
||||
lsls r2, 6
|
||||
adds r0, r1, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08139CD8
|
||||
adds r2, 0x90
|
||||
adds r0, r1, r2
|
||||
movs r1, 0x26
|
||||
bl GetMonData
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
b _08139CDA
|
||||
.align 2, 0
|
||||
_08139CD4: .4byte gMonSummaryScreen
|
||||
_08139CD8:
|
||||
movs r0, 0
|
||||
_08139CDA:
|
||||
bl ItemIdToBallId
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
adds r0, r4, 0
|
||||
bl LoadBallGfx
|
||||
lsls r0, r4, 1
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
ldr r1, _08139D40 @ =gBallSpriteTemplates
|
||||
adds r0, r1
|
||||
movs r1, 0x6A
|
||||
movs r2, 0x58
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
ldr r2, _08139D44 @ =gMonSummaryScreen
|
||||
ldr r1, [r2]
|
||||
ldr r3, _08139D48 @ =0x0000300c
|
||||
adds r1, r3
|
||||
strb r0, [r1]
|
||||
ldr r4, _08139D4C @ =gSprites
|
||||
ldr r2, [r2]
|
||||
adds r2, r3
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x1C
|
||||
adds r0, r1
|
||||
ldr r1, _08139D50 @ =SpriteCallbackDummy
|
||||
str r1, [r0]
|
||||
ldrb r0, [r2]
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r4
|
||||
ldrb r2, [r1, 0x5]
|
||||
movs r0, 0xD
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1, 0x5]
|
||||
movs r0, 0x1
|
||||
bl sub_8139D54
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08139D40: .4byte gBallSpriteTemplates
|
||||
_08139D44: .4byte gMonSummaryScreen
|
||||
_08139D48: .4byte 0x0000300c
|
||||
_08139D4C: .4byte gSprites
|
||||
_08139D50: .4byte SpriteCallbackDummy
|
||||
thumb_func_end sub_8139CB0
|
||||
|
||||
thumb_func_start sub_8139D54
|
||||
sub_8139D54: @ 8139D54
|
||||
lsls r0, 24
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "constants/battle.h"
|
||||
#include "event_data.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "battle_anim.h"
|
||||
#include "pokeball.h"
|
||||
|
||||
extern void sub_8138B8C(struct Pokemon * mon);
|
||||
void sub_8135C34(void);
|
||||
@@ -141,20 +143,12 @@ struct PokemonSummaryScreenData {
|
||||
bool32 isEnemyParty; /* 0x3024 */
|
||||
|
||||
struct PokeSummary {
|
||||
// u8 ALIGNED(4) unk3028[POKEMON_NAME_LENGTH];
|
||||
// u8 ALIGNED(4) unk3034[POKEMON_NAME_LENGTH + 1];
|
||||
|
||||
// u8 ALIGNED(4) unk3040[OT_NAME_LENGTH + 1];
|
||||
// u8 ALIGNED(4) unk3048[2][OT_NAME_LENGTH + 1];
|
||||
|
||||
u8 ALIGNED(4) unk3028[POKEMON_NAME_LENGTH];
|
||||
u8 ALIGNED(4) unk3034[POKEMON_NAME_LENGTH + 1];
|
||||
u8 ALIGNED(4) unk3040[12];
|
||||
u8 ALIGNED(4) unk304C[2][12];
|
||||
|
||||
u8 ALIGNED(4) unk3064[5];
|
||||
//u8 ALIGNED(4) unk3060[7];
|
||||
//u8 ALIGNED(4) unk3068[16];
|
||||
u8 ALIGNED(4) unk306C[7];
|
||||
u8 ALIGNED(4) unk3074[ITEM_NAME_LENGTH + 1];
|
||||
|
||||
@@ -175,22 +169,6 @@ struct PokemonSummaryScreenData {
|
||||
u8 ALIGNED(4) unk31BC[13];
|
||||
u8 ALIGNED(4) unk31CC[20];
|
||||
u8 ALIGNED(4) pad31E0[0x20];
|
||||
|
||||
// u8 ALIGNED(4) unk3090[9];
|
||||
// u8 ALIGNED(4) unk309C[5][5];
|
||||
|
||||
// u8 ALIGNED(4) unk30AC[5][11];
|
||||
// u8 ALIGNED(4) unk30E4[5][11];
|
||||
// u8 ALIGNED(4) unk311C[5][13];
|
||||
// u8 ALIGNED(4) pssd4[5][5];
|
||||
// u8 ALIGNED(4) pssd5[5][5];
|
||||
|
||||
// u8 ALIGNED(4) pssd6[9];
|
||||
// u8 ALIGNED(4) pssd7[9];
|
||||
|
||||
// u8 ALIGNED(4) pssd8[13];
|
||||
// u8 ALIGNED(4) pssd9[20];
|
||||
// u8 ALIGNED(4) tempPadRemoveLater[0x2c];
|
||||
} summary;
|
||||
|
||||
u8 ALIGNED(4) isEgg; /* 0x3200 */
|
||||
@@ -3513,3 +3491,34 @@ void sub_8139AAC(u16 spriteId)
|
||||
|
||||
gSprites[spriteId].callback = sub_8139768;
|
||||
}
|
||||
|
||||
void sub_8139C44(u8 invisible)
|
||||
{
|
||||
gSprites[gMonSummaryScreen->unk3010].invisible = invisible;
|
||||
}
|
||||
|
||||
void sub_8139C80(void)
|
||||
{
|
||||
FreeAndDestroyMonPicSprite(gMonSummaryScreen->unk3010);
|
||||
FREE_AND_SET_NULL(gUnknown_203B170);
|
||||
}
|
||||
|
||||
void sub_8139CB0(void)
|
||||
{
|
||||
u16 ballItemId;
|
||||
u8 ballId;
|
||||
|
||||
if (gMonSummaryScreen->isEgg == 0)
|
||||
ballItemId = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_POKEBALL);
|
||||
else
|
||||
ballItemId = 0;
|
||||
|
||||
ballId = ItemIdToBallId(ballItemId);
|
||||
LoadBallGfx(ballId);
|
||||
|
||||
gMonSummaryScreen->unk300C = CreateSprite(&gBallSpriteTemplates[ballId], 106, 88, 0);
|
||||
gSprites[gMonSummaryScreen->unk300C].callback = SpriteCallbackDummy;
|
||||
gSprites[gMonSummaryScreen->unk300C].oam.priority = 0;
|
||||
|
||||
sub_8139D54(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user