pokemon_summary_screen.c, part 5.
This commit is contained in:
@@ -5,403 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8136AEC
|
|
||||||
sub_8136AEC: @ 8136AEC
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _08136B08 @ =gMonSummaryScreen
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _08136B0C @ =0x0000327c
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x8
|
|
||||||
bhi _08136B86
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _08136B10 @ =_08136B14
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_08136B08: .4byte gMonSummaryScreen
|
|
||||||
_08136B0C: .4byte 0x0000327c
|
|
||||||
_08136B10: .4byte _08136B14
|
|
||||||
.align 2, 0
|
|
||||||
_08136B14:
|
|
||||||
.4byte _08136B38
|
|
||||||
.4byte _08136B42
|
|
||||||
.4byte _08136B4C
|
|
||||||
.4byte _08136B52
|
|
||||||
.4byte _08136B5C
|
|
||||||
.4byte _08136B66
|
|
||||||
.4byte _08136B70
|
|
||||||
.4byte _08136B7A
|
|
||||||
.4byte _08136B80
|
|
||||||
_08136B38:
|
|
||||||
movs r0, 0xA0
|
|
||||||
movs r1, 0xA0
|
|
||||||
bl sub_813ADA8
|
|
||||||
b _08136B8E
|
|
||||||
_08136B42:
|
|
||||||
movs r0, 0x96
|
|
||||||
movs r1, 0x96
|
|
||||||
bl sub_813ABAC
|
|
||||||
b _08136B8E
|
|
||||||
_08136B4C:
|
|
||||||
bl sub_813AFFC
|
|
||||||
b _08136B8E
|
|
||||||
_08136B52:
|
|
||||||
movs r0, 0x64
|
|
||||||
movs r1, 0x64
|
|
||||||
bl sub_8139F64
|
|
||||||
b _08136B8E
|
|
||||||
_08136B5C:
|
|
||||||
movs r0, 0x6E
|
|
||||||
movs r1, 0x6E
|
|
||||||
bl sub_813A254
|
|
||||||
b _08136B8E
|
|
||||||
_08136B66:
|
|
||||||
movs r0, 0x78
|
|
||||||
movs r1, 0x78
|
|
||||||
bl sub_813A45C
|
|
||||||
b _08136B8E
|
|
||||||
_08136B70:
|
|
||||||
movs r0, 0x82
|
|
||||||
movs r1, 0x82
|
|
||||||
bl sub_813A874
|
|
||||||
b _08136B8E
|
|
||||||
_08136B7A:
|
|
||||||
bl sub_8139CB0
|
|
||||||
b _08136B8E
|
|
||||||
_08136B80:
|
|
||||||
bl sub_8139DBC
|
|
||||||
b _08136B8E
|
|
||||||
_08136B86:
|
|
||||||
bl sub_813995C
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08136B9E
|
|
||||||
_08136B8E:
|
|
||||||
ldr r0, _08136BA4 @ =gMonSummaryScreen
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, _08136BA8 @ =0x0000327c
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r0, 0
|
|
||||||
_08136B9E:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08136BA4: .4byte gMonSummaryScreen
|
|
||||||
_08136BA8: .4byte 0x0000327c
|
|
||||||
thumb_func_end sub_8136AEC
|
|
||||||
|
|
||||||
thumb_func_start sub_8136BAC
|
|
||||||
sub_8136BAC: @ 8136BAC
|
|
||||||
push {lr}
|
|
||||||
bl ResetSpriteData
|
|
||||||
bl ResetPaletteFade
|
|
||||||
bl FreeAllSpritePalettes
|
|
||||||
bl ScanlineEffect_Stop
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8136BAC
|
|
||||||
|
|
||||||
thumb_func_start sub_8136BC4
|
|
||||||
sub_8136BC4: @ 8136BC4
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r8
|
|
||||||
push {r7}
|
|
||||||
sub sp, 0x8
|
|
||||||
movs r3, 0xC0
|
|
||||||
lsls r3, 19
|
|
||||||
movs r4, 0xC0
|
|
||||||
lsls r4, 9
|
|
||||||
add r0, sp, 0x4
|
|
||||||
mov r8, r0
|
|
||||||
mov r2, sp
|
|
||||||
movs r6, 0
|
|
||||||
ldr r1, _08136D38 @ =0x040000d4
|
|
||||||
movs r5, 0x80
|
|
||||||
lsls r5, 5
|
|
||||||
ldr r7, _08136D3C @ =0x81000800
|
|
||||||
movs r0, 0x81
|
|
||||||
lsls r0, 24
|
|
||||||
mov r12, r0
|
|
||||||
_08136BEA:
|
|
||||||
strh r6, [r2]
|
|
||||||
mov r0, sp
|
|
||||||
str r0, [r1]
|
|
||||||
str r3, [r1, 0x4]
|
|
||||||
str r7, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
adds r3, r5
|
|
||||||
subs r4, r5
|
|
||||||
cmp r4, r5
|
|
||||||
bhi _08136BEA
|
|
||||||
strh r6, [r2]
|
|
||||||
mov r2, sp
|
|
||||||
str r2, [r1]
|
|
||||||
str r3, [r1, 0x4]
|
|
||||||
lsrs r0, r4, 1
|
|
||||||
mov r2, r12
|
|
||||||
orrs r0, r2
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
movs r0, 0xE0
|
|
||||||
lsls r0, 19
|
|
||||||
movs r3, 0x80
|
|
||||||
lsls r3, 3
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [sp, 0x4]
|
|
||||||
ldr r2, _08136D38 @ =0x040000d4
|
|
||||||
mov r1, r8
|
|
||||||
str r1, [r2]
|
|
||||||
str r0, [r2, 0x4]
|
|
||||||
lsrs r0, r3, 2
|
|
||||||
movs r1, 0x85
|
|
||||||
lsls r1, 24
|
|
||||||
orrs r0, r1
|
|
||||||
str r0, [r2, 0x8]
|
|
||||||
ldr r0, [r2, 0x8]
|
|
||||||
movs r1, 0xA0
|
|
||||||
lsls r1, 19
|
|
||||||
mov r0, sp
|
|
||||||
strh r4, [r0]
|
|
||||||
str r0, [r2]
|
|
||||||
str r1, [r2, 0x4]
|
|
||||||
lsrs r3, 1
|
|
||||||
movs r0, 0x81
|
|
||||||
lsls r0, 24
|
|
||||||
orrs r3, r0
|
|
||||||
str r3, [r2, 0x8]
|
|
||||||
ldr r0, [r2, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _08136D40 @ =gUnknown_8463EFC
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
bl DeactivateAllTextPrinters
|
|
||||||
ldr r1, _08136D44 @ =0x00005040
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
ldr r4, _08136D48 @ =gMonSummaryScreen
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r2, _08136D4C @ =0x00003214
|
|
||||||
adds r0, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl sub_813B750
|
|
||||||
movs r1, 0xF8
|
|
||||||
lsls r1, 5
|
|
||||||
movs r0, 0x48
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x4A
|
|
||||||
movs r1, 0xF
|
|
||||||
bl SetGpuReg
|
|
||||||
ldr r1, _08136D50 @ =0x00002087
|
|
||||||
movs r0, 0x46
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r1, 0xBC
|
|
||||||
lsls r1, 2
|
|
||||||
movs r0, 0x42
|
|
||||||
bl SetGpuReg
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0x80
|
|
||||||
lsls r0, 5
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0x2
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 6
|
|
||||||
adds r1, r2
|
|
||||||
movs r0, 0x3
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
movs r0, 0
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x2
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x3
|
|
||||||
bl ShowBg
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08136D38: .4byte 0x040000d4
|
|
||||||
_08136D3C: .4byte 0x81000800
|
|
||||||
_08136D40: .4byte gUnknown_8463EFC
|
|
||||||
_08136D44: .4byte 0x00005040
|
|
||||||
_08136D48: .4byte gMonSummaryScreen
|
|
||||||
_08136D4C: .4byte 0x00003214
|
|
||||||
_08136D50: .4byte 0x00002087
|
|
||||||
thumb_func_end sub_8136BC4
|
|
||||||
|
|
||||||
thumb_func_start sub_8136D54
|
|
||||||
sub_8136D54: @ 8136D54
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _08136D70 @ =gMonSummaryScreen
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, _08136D74 @ =0x00003208
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
subs r0, 0x2
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bhi _08136D7C
|
|
||||||
ldr r0, _08136D78 @ =sub_81393D4
|
|
||||||
b _08136D7E
|
|
||||||
.align 2, 0
|
|
||||||
_08136D70: .4byte gMonSummaryScreen
|
|
||||||
_08136D74: .4byte 0x00003208
|
|
||||||
_08136D78: .4byte sub_81393D4
|
|
||||||
_08136D7C:
|
|
||||||
ldr r0, _08136D98 @ =sub_8134840
|
|
||||||
_08136D7E:
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, _08136D9C @ =0x00003018
|
|
||||||
adds r1, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, _08136DA0 @ =sub_8137EE8
|
|
||||||
bl SetMainCallback2
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08136D98: .4byte sub_8134840
|
|
||||||
_08136D9C: .4byte 0x00003018
|
|
||||||
_08136DA0: .4byte sub_8137EE8
|
|
||||||
thumb_func_end sub_8136D54
|
|
||||||
|
|
||||||
thumb_func_start sub_8136DA4
|
|
||||||
sub_8136DA4: @ 8136DA4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldr r5, _08136DE8 @ =gMonSummaryScreen
|
|
||||||
ldr r0, [r5]
|
|
||||||
movs r4, 0xC0
|
|
||||||
lsls r4, 6
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
ldr r1, _08136DEC @ =gUnknown_8463FA7
|
|
||||||
str r1, [sp]
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
str r6, [sp, 0x8]
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0x4
|
|
||||||
movs r3, 0x1
|
|
||||||
bl AddTextPrinterParameterized3
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl PutWindowTilemap
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08136DE8: .4byte gMonSummaryScreen
|
|
||||||
_08136DEC: .4byte gUnknown_8463FA7
|
|
||||||
thumb_func_end sub_8136DA4
|
|
||||||
|
|
||||||
thumb_func_start sub_8136DF0
|
|
||||||
sub_8136DF0: @ 8136DF0
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldr r5, _08136E44 @ =gMonSummaryScreen
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r4, _08136E48 @ =0x00003001
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r6, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl GetStringWidth
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, r4
|
|
||||||
ldrb r1, [r1]
|
|
||||||
movs r2, 0x54
|
|
||||||
subs r2, r0
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r2, 24
|
|
||||||
ldr r0, _08136E4C @ =gUnknown_8463FA7
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r6, [sp, 0x8]
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized3
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl PutWindowTilemap
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08136E44: .4byte gMonSummaryScreen
|
|
||||||
_08136E48: .4byte 0x00003001
|
|
||||||
_08136E4C: .4byte gUnknown_8463FA7
|
|
||||||
thumb_func_end sub_8136DF0
|
|
||||||
|
|
||||||
thumb_func_start sub_8136E50
|
thumb_func_start sub_8136E50
|
||||||
sub_8136E50: @ 8136E50
|
sub_8136E50: @ 8136E50
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
@@ -58,4 +58,15 @@ s32 GetLastViewedMonIndex(void);
|
|||||||
void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, void (*callback)(void), u8 a4);
|
void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, void (*callback)(void), u8 a4);
|
||||||
void sub_8138B38(u8);
|
void sub_8138B38(u8);
|
||||||
|
|
||||||
|
#define TAG_PSS_UNK_64 0x64
|
||||||
|
#define TAG_PSS_UNK_65 0x65
|
||||||
|
#define TAG_PSS_UNK_66 0x66
|
||||||
|
#define TAG_PSS_UNK_67 0x67
|
||||||
|
#define TAG_PSS_UNK_6E 0x6E
|
||||||
|
#define TAG_PSS_UNK_78 0x78
|
||||||
|
#define TAG_PSS_UNK_82 0x82
|
||||||
|
#define TAG_PSS_UNK_8C 0x8C
|
||||||
|
#define TAG_PSS_UNK_96 0x96
|
||||||
|
#define TAG_PSS_UNK_A0 0xA0
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
|
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "constants/party_menu.h"
|
#include "constants/party_menu.h"
|
||||||
#include "trade.h"
|
#include "trade.h"
|
||||||
#include "battle_main.h"
|
#include "battle_main.h"
|
||||||
|
#include "scanline_effect.h"
|
||||||
|
|
||||||
extern void sub_8138B8C(struct Pokemon * mon);
|
extern void sub_8138B8C(struct Pokemon * mon);
|
||||||
void sub_8135C34(void);
|
void sub_8135C34(void);
|
||||||
@@ -45,8 +46,8 @@ extern void sub_8136F4C(void);
|
|||||||
extern void sub_81374E8(void);
|
extern void sub_81374E8(void);
|
||||||
extern void sub_8137BD0(void);
|
extern void sub_8137BD0(void);
|
||||||
extern void sub_8138A38(void);
|
extern void sub_8138A38(void);
|
||||||
extern void sub_8136DA4(const u8 * str);
|
void sub_8136DA4(const u8 * str);
|
||||||
extern void sub_8136DF0(const u8 * str);
|
void sub_8136DF0(const u8 * str);
|
||||||
extern void sub_8136E50(const u8 * str);
|
extern void sub_8136E50(const u8 * str);
|
||||||
void sub_81358DC(u8, u8);
|
void sub_81358DC(u8, u8);
|
||||||
extern void sub_813A838(u8 invisible);
|
extern void sub_813A838(u8 invisible);
|
||||||
@@ -60,15 +61,15 @@ extern void sub_813AEB0(u8 invisible);
|
|||||||
extern void sub_813A0E8(u8 invisible);
|
extern void sub_813A0E8(u8 invisible);
|
||||||
extern void sub_8139EE4(u8 invisible);
|
extern void sub_8139EE4(u8 invisible);
|
||||||
extern void sub_81381AC(void);
|
extern void sub_81381AC(void);
|
||||||
extern void sub_8136BC4(void);
|
void sub_8136BC4(void);
|
||||||
extern void sub_8136BAC(void);
|
void sub_8136BAC(void);
|
||||||
u8 sub_8135F20(void);
|
u8 sub_8135F20(void);
|
||||||
extern u8 sub_8136AEC(void);
|
u8 sub_8136AEC(void);
|
||||||
extern void sub_81381D0(void);
|
extern void sub_81381D0(void);
|
||||||
u8 sub_8136040(void);
|
u8 sub_8136040(void);
|
||||||
extern void sub_8137E28(void);
|
extern void sub_8137E28(void);
|
||||||
extern void sub_81381C0(void);
|
extern void sub_81381C0(void);
|
||||||
extern void sub_8136D54(void);
|
void sub_8136D54(void);
|
||||||
extern void sub_81360D4(void);
|
extern void sub_81360D4(void);
|
||||||
extern void sub_8136350(void);
|
extern void sub_8136350(void);
|
||||||
extern void sub_81367B0(void);
|
extern void sub_81367B0(void);
|
||||||
@@ -76,6 +77,18 @@ extern u8 sub_8138C5C(u32 status);
|
|||||||
void sub_81367E8(u8);
|
void sub_81367E8(u8);
|
||||||
extern u16 sub_8138BEC(struct Pokemon * mon, u8 i);
|
extern u16 sub_8138BEC(struct Pokemon * mon, u8 i);
|
||||||
extern u16 sub_8138C24(struct Pokemon * mon, u8 i);
|
extern u16 sub_8138C24(struct Pokemon * mon, u8 i);
|
||||||
|
extern void sub_813ADA8(u16, u16);
|
||||||
|
extern void sub_813ABAC(u16, u16);
|
||||||
|
extern void sub_813AFFC(void);
|
||||||
|
extern void sub_8139F64(u16, u16);
|
||||||
|
extern void sub_813A254(u16, u16);
|
||||||
|
extern void sub_813A45C(u16, u16);
|
||||||
|
extern void sub_813A874(u16, u16);
|
||||||
|
extern void sub_8139CB0(void);
|
||||||
|
extern void sub_8139DBC(void);
|
||||||
|
extern void sub_813995C(void);
|
||||||
|
extern void sub_81393D4(u8 taskId);
|
||||||
|
extern void sub_8137EE8(void);
|
||||||
|
|
||||||
struct PokemonSummaryScreenData {
|
struct PokemonSummaryScreenData {
|
||||||
u16 unk0[0x800];
|
u16 unk0[0x800];
|
||||||
@@ -254,6 +267,10 @@ extern const u32 gUnknown_8E9A460[];
|
|||||||
extern const u32 gUnknown_84636C0[];
|
extern const u32 gUnknown_84636C0[];
|
||||||
extern const u32 gUnknown_8463700[];
|
extern const u32 gUnknown_8463700[];
|
||||||
|
|
||||||
|
extern const struct BgTemplate gUnknown_8463EFC[4];
|
||||||
|
|
||||||
|
extern const u8 gUnknown_8463FA7[][3];
|
||||||
|
|
||||||
void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, MainCallback savedCallback, u8 mode)
|
void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, MainCallback savedCallback, u8 mode)
|
||||||
{
|
{
|
||||||
gMonSummaryScreen = AllocZeroed(sizeof(struct PokemonSummaryScreenData));
|
gMonSummaryScreen = AllocZeroed(sizeof(struct PokemonSummaryScreenData));
|
||||||
@@ -1583,3 +1600,169 @@ void sub_81367E8(u8 i)
|
|||||||
ConvertIntToDecimalStringN(gMonSummaryScreen->summary.unk3188[i], gBattleMoves[gMonSummaryScreen->unk325A[i]].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
ConvertIntToDecimalStringN(gMonSummaryScreen->summary.unk3188[i], gBattleMoves[gMonSummaryScreen->unk325A[i]].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 sub_8136AEC(void)
|
||||||
|
{
|
||||||
|
switch (gMonSummaryScreen->unk327C)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_813ADA8(TAG_PSS_UNK_A0, TAG_PSS_UNK_A0);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sub_813ABAC(TAG_PSS_UNK_96, TAG_PSS_UNK_96);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sub_813AFFC();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
sub_8139F64(TAG_PSS_UNK_64, TAG_PSS_UNK_64);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
sub_813A254(TAG_PSS_UNK_6E, TAG_PSS_UNK_6E);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
sub_813A45C(TAG_PSS_UNK_78, TAG_PSS_UNK_78);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
sub_813A874(TAG_PSS_UNK_82, TAG_PSS_UNK_82);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
sub_8139CB0();
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
sub_8139DBC();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sub_813995C();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gMonSummaryScreen->unk327C++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136BAC(void)
|
||||||
|
{
|
||||||
|
ResetSpriteData();
|
||||||
|
ResetPaletteFade();
|
||||||
|
FreeAllSpritePalettes();
|
||||||
|
ScanlineEffect_Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136BC4(void)
|
||||||
|
{
|
||||||
|
DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000);
|
||||||
|
DmaClear32(3, (void *)OAM, OAM_SIZE);
|
||||||
|
DmaClear16(3, (void *)PLTT, PLTT_SIZE);
|
||||||
|
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||||
|
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(0, gUnknown_8463EFC, ARRAY_COUNT(gUnknown_8463EFC));
|
||||||
|
|
||||||
|
ChangeBgX(0, 0, 0);
|
||||||
|
ChangeBgY(0, 0, 0);
|
||||||
|
ChangeBgX(1, 0, 0);
|
||||||
|
ChangeBgY(1, 0, 0);
|
||||||
|
ChangeBgX(2, 0, 0);
|
||||||
|
ChangeBgY(2, 0, 0);
|
||||||
|
ChangeBgX(3, 0, 0);
|
||||||
|
ChangeBgY(3, 0, 0);
|
||||||
|
|
||||||
|
DeactivateAllTextPrinters();
|
||||||
|
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN1_ON);
|
||||||
|
|
||||||
|
sub_813B750(gMonSummaryScreen->curPageIndex);
|
||||||
|
|
||||||
|
SetGpuReg(REG_OFFSET_WININ, (WININ_WIN0_OBJ | WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3) << 8);
|
||||||
|
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3);
|
||||||
|
SetGpuReg(REG_OFFSET_WIN1V, 32 << 8 | 135);
|
||||||
|
SetGpuReg(REG_OFFSET_WIN1H, 2 << 8 | 240);
|
||||||
|
|
||||||
|
SetBgTilemapBuffer(1, gMonSummaryScreen->unk0);
|
||||||
|
SetBgTilemapBuffer(2, gMonSummaryScreen->unk1000);
|
||||||
|
SetBgTilemapBuffer(3, gMonSummaryScreen->unk2000);
|
||||||
|
|
||||||
|
ShowBg(0);
|
||||||
|
ShowBg(1);
|
||||||
|
ShowBg(2);
|
||||||
|
ShowBg(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136D54(void)
|
||||||
|
{
|
||||||
|
if (gMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE || gMonSummaryScreen->mode == PSS_MODE_FORGET_MOVE)
|
||||||
|
gMonSummaryScreen->unk3018 = CreateTask(sub_81393D4, 0);
|
||||||
|
else
|
||||||
|
gMonSummaryScreen->unk3018 = CreateTask(sub_8134840, 0);
|
||||||
|
|
||||||
|
SetMainCallback2(sub_8137EE8);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136DA4(const u8 * str)
|
||||||
|
{
|
||||||
|
FillWindowPixelBuffer(gMonSummaryScreen->unk3000[0], 0);
|
||||||
|
AddTextPrinterParameterized3(gMonSummaryScreen->unk3000[0], 2, 4, 1, gUnknown_8463FA7[0], 0, str);
|
||||||
|
PutWindowTilemap(gMonSummaryScreen->unk3000[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef NONMATCHING
|
||||||
|
void sub_8136DF0(const u8 * str)
|
||||||
|
{
|
||||||
|
u8 v0;
|
||||||
|
|
||||||
|
FillWindowPixelBuffer(gMonSummaryScreen->unk3000[1], 0);
|
||||||
|
v0 = (u8)(0x54 - GetStringWidth(0, str, 0));
|
||||||
|
AddTextPrinterParameterized3(gMonSummaryScreen->unk3000[1], 0, v0, 0, gUnknown_8463FA7[0], 0, str);
|
||||||
|
PutWindowTilemap(gMonSummaryScreen->unk3000[1]);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
NAKED
|
||||||
|
void sub_8136DF0(const u8 * str)
|
||||||
|
{
|
||||||
|
asm_unified("\tpush {r4-r6,lr}\n"
|
||||||
|
"\tsub sp, 0xC\n"
|
||||||
|
"\tadds r6, r0, 0\n"
|
||||||
|
"\tldr r5, _08136E44 @ =gMonSummaryScreen\n"
|
||||||
|
"\tldr r0, [r5]\n"
|
||||||
|
"\tldr r4, _08136E48 @ =0x00003001\n"
|
||||||
|
"\tadds r0, r4\n"
|
||||||
|
"\tldrb r0, [r0]\n"
|
||||||
|
"\tmovs r1, 0\n"
|
||||||
|
"\tbl FillWindowPixelBuffer\n"
|
||||||
|
"\tmovs r0, 0\n"
|
||||||
|
"\tadds r1, r6, 0\n"
|
||||||
|
"\tmovs r2, 0\n"
|
||||||
|
"\tbl GetStringWidth\n"
|
||||||
|
"\tldr r1, [r5]\n"
|
||||||
|
"\tadds r1, r4\n"
|
||||||
|
"\tldrb r1, [r1]\n"
|
||||||
|
"\tmovs r2, 0x54\n"
|
||||||
|
"\tsubs r2, r0\n"
|
||||||
|
"\tlsls r2, 24\n"
|
||||||
|
"\tlsrs r2, 24\n"
|
||||||
|
"\tldr r0, _08136E4C @ =gUnknown_8463FA7\n"
|
||||||
|
"\tstr r0, [sp]\n"
|
||||||
|
"\tmovs r0, 0\n"
|
||||||
|
"\tstr r0, [sp, 0x4]\n"
|
||||||
|
"\tstr r6, [sp, 0x8]\n"
|
||||||
|
"\tadds r0, r1, 0\n"
|
||||||
|
"\tmovs r1, 0\n"
|
||||||
|
"\tmovs r3, 0\n"
|
||||||
|
"\tbl AddTextPrinterParameterized3\n"
|
||||||
|
"\tldr r0, [r5]\n"
|
||||||
|
"\tadds r0, r4\n"
|
||||||
|
"\tldrb r0, [r0]\n"
|
||||||
|
"\tbl PutWindowTilemap\n"
|
||||||
|
"\tadd sp, 0xC\n"
|
||||||
|
"\tpop {r4-r6}\n"
|
||||||
|
"\tpop {r0}\n"
|
||||||
|
"\tbx r0\n"
|
||||||
|
"\t.align 2, 0\n"
|
||||||
|
"_08136E44: .4byte gMonSummaryScreen\n"
|
||||||
|
"_08136E48: .4byte 0x00003001\n"
|
||||||
|
"_08136E4C: .4byte gUnknown_8463FA7\n");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user