mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-25 02:04:55 -05:00
code_8066D04
This commit is contained in:
@@ -1,504 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8067F00
|
||||
sub_8067F00:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
adds r4, r0, 0
|
||||
mov r9, r1
|
||||
str r3, [sp, 0x4]
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
subs r7, r2, 0x1
|
||||
movs r0, 0x16
|
||||
mov r8, r0
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
ldr r0, _08067F44
|
||||
adds r1, r4, 0
|
||||
movs r2, 0
|
||||
bl WriteFriendAreaName
|
||||
ldr r2, _08067F48
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0xC
|
||||
movs r1, 0
|
||||
movs r3, 0
|
||||
bl PrintFormattedStringOnWindow
|
||||
movs r1, 0
|
||||
mov r10, r1
|
||||
b _08067FF6
|
||||
.align 2, 0
|
||||
_08067F44: .4byte gFormatBuffer_Monsters
|
||||
_08067F48: .4byte gUnknown_8106E28
|
||||
_08067F4C:
|
||||
ldr r4, _08067F8C
|
||||
lsls r6, r7, 2
|
||||
mov r0, r9
|
||||
adds r5, r6, r0
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
adds r4, 0x50
|
||||
ldr r0, [r5]
|
||||
movs r2, 0x8
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, r4, 0
|
||||
bl sub_808D930
|
||||
ldr r1, _08067F90
|
||||
adds r0, r7, 0x1
|
||||
str r0, [r1]
|
||||
ldr r0, [r5]
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x80
|
||||
lsls r0, 8
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08067F9C
|
||||
ldr r0, _08067F94
|
||||
ldr r1, _08067F98
|
||||
bl strcpy
|
||||
b _08067FA4
|
||||
.align 2, 0
|
||||
_08067F8C: .4byte gFormatBuffer_Monsters
|
||||
_08067F90: .4byte gFormatArgs
|
||||
_08067F94: .4byte gFormatBuffer_Items
|
||||
_08067F98: .4byte gUnknown_8106E2C
|
||||
_08067F9C:
|
||||
ldr r0, _08067FCC
|
||||
ldr r1, _08067FD0
|
||||
bl strcpy
|
||||
_08067FA4:
|
||||
mov r1, r9
|
||||
adds r0, r6, r1
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x80
|
||||
lsls r0, 7
|
||||
ands r0, r1
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0
|
||||
beq _08067FD8
|
||||
ldr r2, _08067FD4
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x7
|
||||
mov r1, r8
|
||||
movs r3, 0
|
||||
bl PrintFormattedStringOnWindow
|
||||
b _08067FE6
|
||||
.align 2, 0
|
||||
_08067FCC: .4byte gFormatBuffer_Items
|
||||
_08067FD0: .4byte gUnknown_8106E30
|
||||
_08067FD4: .4byte gUnknown_8106E34
|
||||
_08067FD8:
|
||||
ldr r2, _08068028
|
||||
str r0, [sp]
|
||||
movs r0, 0x7
|
||||
mov r1, r8
|
||||
movs r3, 0
|
||||
bl PrintFormattedStringOnWindow
|
||||
_08067FE6:
|
||||
movs r2, 0x1
|
||||
add r10, r2
|
||||
movs r0, 0xC
|
||||
add r8, r0
|
||||
adds r7, 0x1
|
||||
mov r1, r10
|
||||
cmp r1, 0x9
|
||||
bgt _08068000
|
||||
_08067FF6:
|
||||
cmp r7, 0
|
||||
blt _08067FE6
|
||||
ldr r2, [sp, 0x4]
|
||||
cmp r7, r2
|
||||
blt _08067F4C
|
||||
_08068000:
|
||||
movs r0, 0
|
||||
bl sub_80073E0
|
||||
movs r0, 0x1
|
||||
bl sub_80073B8
|
||||
ldr r0, _0806802C
|
||||
ldr r0, [r0]
|
||||
ldr r1, [sp, 0x28]
|
||||
cmp r0, r1
|
||||
blt _08068034
|
||||
ldr r2, _08068030
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x8
|
||||
movs r1, 0x2
|
||||
movs r3, 0x1
|
||||
bl PrintFormattedStringOnWindow
|
||||
b _0806804C
|
||||
.align 2, 0
|
||||
_08068028: .4byte gUnknown_8106E48
|
||||
_0806802C: .4byte gUnknown_202F310
|
||||
_08068030: .4byte gUnknown_8106E5C
|
||||
_08068034:
|
||||
ldr r1, _08068064
|
||||
ldr r2, [sp, 0x28]
|
||||
subs r0, r2, r0
|
||||
str r0, [r1]
|
||||
ldr r2, _08068068
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x8
|
||||
movs r1, 0x2
|
||||
movs r3, 0x1
|
||||
bl PrintFormattedStringOnWindow
|
||||
_0806804C:
|
||||
movs r0, 0x1
|
||||
bl sub_80073E0
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08068064: .4byte gFormatArgs
|
||||
_08068068: .4byte gUnknown_8106E6C
|
||||
thumb_func_end sub_8067F00
|
||||
|
||||
thumb_func_start sub_806806C
|
||||
sub_806806C:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x110
|
||||
str r0, [sp, 0x108]
|
||||
add r4, sp, 0x98
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x60
|
||||
bl memset
|
||||
movs r0, 0x6
|
||||
str r0, [r4, 0x4]
|
||||
movs r1, 0x2
|
||||
strh r1, [r4, 0x8]
|
||||
strh r1, [r4, 0xA]
|
||||
movs r2, 0x12
|
||||
strh r2, [r4, 0xC]
|
||||
movs r0, 0xE
|
||||
strh r0, [r4, 0xE]
|
||||
strh r2, [r4, 0x10]
|
||||
strh r1, [r4, 0x12]
|
||||
ldr r0, _080681B4
|
||||
str r0, [r4, 0x14]
|
||||
movs r0, 0x3
|
||||
str r0, [r4, 0x1C]
|
||||
str r0, [r4, 0x34]
|
||||
str r0, [r4, 0x4C]
|
||||
movs r7, 0
|
||||
add r1, sp, 0x44
|
||||
strh r7, [r1]
|
||||
mov r0, sp
|
||||
adds r0, 0x5A
|
||||
strh r7, [r0]
|
||||
ldr r0, _080681B8
|
||||
strh r7, [r0, 0x18]
|
||||
mov r9, r1
|
||||
adds r1, 0xB4
|
||||
str r1, [sp, 0x10C]
|
||||
add r2, sp, 0x68
|
||||
mov r10, r2
|
||||
adds r6, r0, 0
|
||||
_080680C4:
|
||||
movs r3, 0
|
||||
mov r8, r3
|
||||
add r1, sp, 0xF8
|
||||
ldr r0, _080681BC
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
ldr r1, _080681B4
|
||||
movs r2, 0x4
|
||||
strb r2, [r1]
|
||||
strb r7, [r1, 0x1]
|
||||
movs r0, 0xA
|
||||
strb r0, [r1, 0x2]
|
||||
mov r4, r8
|
||||
strb r4, [r1, 0x3]
|
||||
strh r7, [r6, 0x1E]
|
||||
strh r2, [r6, 0x20]
|
||||
mov r0, r8
|
||||
strh r0, [r6, 0x1A]
|
||||
strh r0, [r6, 0x18]
|
||||
strh r0, [r6, 0x1C]
|
||||
strh r0, [r6, 0x4]
|
||||
movs r0, 0x10
|
||||
strh r0, [r6, 0x6]
|
||||
mov r1, r8
|
||||
strh r1, [r6, 0x14]
|
||||
mov r2, r8
|
||||
str r2, [r6]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x28
|
||||
bl sub_801317C
|
||||
add r0, sp, 0x98
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
ldr r0, _080681C0
|
||||
ldr r0, [r0]
|
||||
ldr r3, _080681C4
|
||||
adds r0, r3
|
||||
ldrb r2, [r0]
|
||||
add r0, sp, 0x4
|
||||
ldr r1, [sp, 0x108]
|
||||
bl sub_808FF20
|
||||
lsls r4, r7, 2
|
||||
mov r0, sp
|
||||
adds r0, r4
|
||||
adds r0, 0xF8
|
||||
ldr r0, [r0]
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
adds r1, r7, 0
|
||||
add r2, sp, 0x4
|
||||
mov r3, r10
|
||||
bl CreatePokemonInfoTabScreen
|
||||
ldr r1, _080681C8
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
adds r0, 0xF
|
||||
lsls r0, 3
|
||||
strh r0, [r6, 0xC]
|
||||
movs r3, 0x2
|
||||
ldrsh r0, [r1, r3]
|
||||
adds r0, 0x1
|
||||
lsls r0, 3
|
||||
subs r0, 0x2
|
||||
strh r0, [r6, 0xE]
|
||||
_08068150:
|
||||
ldr r0, _080681B8
|
||||
bl AddMenuCursorSprite
|
||||
ldr r1, [sp, 0x10C]
|
||||
adds r0, r1, r4
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x4
|
||||
bne _0806817A
|
||||
mov r2, r10
|
||||
ldrb r0, [r2, 0x8]
|
||||
cmp r0, 0
|
||||
beq _0806816C
|
||||
bl sub_80684C4
|
||||
_0806816C:
|
||||
mov r3, r9
|
||||
movs r1, 0
|
||||
ldrsh r0, [r3, r1]
|
||||
cmp r0, 0
|
||||
beq _0806817A
|
||||
bl sub_8068344
|
||||
_0806817A:
|
||||
movs r0, 0
|
||||
ldr r1, _080681CC
|
||||
bl sub_8014140
|
||||
adds r5, r0, 0
|
||||
movs r0, 0x1C
|
||||
bl sub_803E46C
|
||||
ldr r3, _080681D0
|
||||
ldrh r1, [r3, 0x2]
|
||||
movs r0, 0x10
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080681A2
|
||||
ldr r2, _080681B8
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x2B
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080681D4
|
||||
_080681A2:
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
adds r7, 0x1
|
||||
cmp r7, 0x4
|
||||
beq _080681B0
|
||||
b _080682E8
|
||||
_080681B0:
|
||||
movs r7, 0
|
||||
b _080682E8
|
||||
.align 2, 0
|
||||
_080681B4: .4byte gUnknown_202F308
|
||||
_080681B8: .4byte gUnknown_202EE10
|
||||
_080681BC: .4byte gUnknown_8106E80
|
||||
_080681C0: .4byte gDungeon
|
||||
_080681C4: .4byte 0x0000065a
|
||||
_080681C8: .4byte gUnknown_2027370
|
||||
_080681CC: .4byte gUnknown_8106DA4
|
||||
_080681D0: .4byte gRealInputs
|
||||
_080681D4:
|
||||
movs r0, 0x20
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080681E6
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x2C
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080681FA
|
||||
_080681E6:
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
subs r7, 0x1
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r7, r0
|
||||
bne _080682E8
|
||||
movs r7, 0x3
|
||||
b _080682E8
|
||||
_080681FA:
|
||||
ldr r2, [sp, 0x10C]
|
||||
adds r0, r2, r4
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x4
|
||||
bne _08068294
|
||||
ldrh r1, [r3, 0x4]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08068212
|
||||
cmp r5, 0x2
|
||||
bne _08068248
|
||||
_08068212:
|
||||
mov r3, r10
|
||||
ldrb r0, [r3, 0x8]
|
||||
cmp r0, 0
|
||||
beq _08068248
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
ldr r5, _08068244
|
||||
movs r4, 0x5
|
||||
_08068224:
|
||||
ldr r1, [r5]
|
||||
movs r0, 0
|
||||
bl _call_via_r1
|
||||
movs r0, 0x1C
|
||||
bl sub_803E46C
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08068224
|
||||
mov r4, r9
|
||||
ldrh r0, [r4]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4]
|
||||
b _080682E8
|
||||
.align 2, 0
|
||||
_08068244: .4byte gIwramTextFunc1
|
||||
_08068248:
|
||||
ldr r0, _0806828C
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0x40
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08068258
|
||||
cmp r5, 0x1
|
||||
bne _08068294
|
||||
_08068258:
|
||||
mov r1, r9
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, 0
|
||||
beq _08068294
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
ldr r5, _08068290
|
||||
movs r4, 0x5
|
||||
_0806826C:
|
||||
ldr r1, [r5]
|
||||
movs r0, 0
|
||||
bl _call_via_r1
|
||||
movs r0, 0x1C
|
||||
bl sub_803E46C
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _0806826C
|
||||
mov r3, r9
|
||||
ldrh r0, [r3]
|
||||
subs r0, 0x1
|
||||
strh r0, [r3]
|
||||
b _080682E8
|
||||
.align 2, 0
|
||||
_0806828C: .4byte gRealInputs
|
||||
_08068290: .4byte gIwramTextFunc2
|
||||
_08068294:
|
||||
bl sub_80048C8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080682A0
|
||||
b _08068150
|
||||
_080682A0:
|
||||
ldr r0, _080682C4
|
||||
ldrh r1, [r0, 0x2]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080682B8
|
||||
ldr r2, _080682C8
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x29
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080682CC
|
||||
_080682B8:
|
||||
bl sub_8083D08
|
||||
movs r4, 0x1
|
||||
mov r8, r4
|
||||
b _080682E8
|
||||
.align 2, 0
|
||||
_080682C4: .4byte gRealInputs
|
||||
_080682C8: .4byte gUnknown_202EE10
|
||||
_080682CC:
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080682E0
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x2A
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080682E0
|
||||
b _08068150
|
||||
_080682E0:
|
||||
bl sub_8083D30
|
||||
movs r0, 0x1
|
||||
mov r8, r0
|
||||
_080682E8:
|
||||
movs r0, 0x37
|
||||
bl sub_803E46C
|
||||
mov r1, r8
|
||||
cmp r1, 0
|
||||
bne _080682F6
|
||||
b _080680C4
|
||||
_080682F6:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_803EAF0
|
||||
add sp, 0x110
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_806806C
|
||||
|
||||
.align 2,0
|
||||
@@ -229,7 +229,6 @@ SECTIONS {
|
||||
src/code_805D8C8_1.o(.text);
|
||||
asm/code_805D8C8.o(.text);
|
||||
src/code_8066D04.o(.text);
|
||||
asm/code_8066D04.o(.text);
|
||||
src/code_805D8C8.o(.text);
|
||||
asm/code_805D8C8_1.o(.text);
|
||||
src/code_8069D4C.o(.text);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "text.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "string_format.h"
|
||||
#include "friend_area.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "status_checks_1.h"
|
||||
#include "dungeon_ai_targeting.h"
|
||||
@@ -26,6 +27,7 @@
|
||||
#include "pokemon.h"
|
||||
#include "trap.h"
|
||||
#include "moves.h"
|
||||
#include "pokemon_3.h"
|
||||
#include "menu_input.h"
|
||||
#include "dungeon_capabilities.h"
|
||||
#include "constants/item.h"
|
||||
@@ -68,6 +70,13 @@ extern const u8 *const gUnknown_80F9114;
|
||||
extern const u8 *const gMonDisappointedAndLeft;
|
||||
extern const u8 *const gSendMonBackQ;
|
||||
extern const u8 *const gSendMonBackWithItemQ;
|
||||
extern const u8 gUnknown_8106E28[];
|
||||
extern const u8 gUnknown_8106E5C[];
|
||||
extern const u8 gUnknown_8106E30[];
|
||||
extern const u8 gUnknown_8106E6C[];
|
||||
extern const u8 gUnknown_8106E48[];
|
||||
extern const u8 gUnknown_8106E2C[];
|
||||
extern const u8 gUnknown_8106E34[];
|
||||
extern const u8 *const gMonWentBack;
|
||||
extern const u8 *const gMonCringing;
|
||||
extern const u8 *const gMonParalyzed;
|
||||
@@ -909,7 +918,7 @@ extern void sub_8083CE0(u8 param_1);
|
||||
extern void sub_8068344(void);
|
||||
bool8 sub_8044F3C(s32 param_1);
|
||||
void sub_8068310(s32 a0, PokemonStruct1 **a1);
|
||||
void sub_8067F00(s32 a0, PokemonStruct1 **a1, s32 a2, s32 a3, s32 a4);
|
||||
void sub_8067F00(u8 a0, PokemonStruct1 **a1, s32 a2, s32 a3, s32 a4);
|
||||
extern void sub_803ECB4(UnkTextStruct3 *a0, u8 a1);
|
||||
u32 sub_8014140(s32 a0, const void *a1);
|
||||
void sub_8083D1C(void);
|
||||
@@ -917,13 +926,14 @@ void sub_8083D08(void);
|
||||
void sub_8083D30(void);
|
||||
void sub_806806C(PokemonStruct1 *a0);
|
||||
void sub_805FC30(UnkTextStruct3 *a0, s32 a1);
|
||||
extern void sub_803EAF0(u32, u8 *);
|
||||
|
||||
extern const u8 gUnknown_8106DA4[];
|
||||
extern MenuInputStruct gUnknown_202EE10;
|
||||
extern const UnkTextStruct3 gUnknown_8106DC8;
|
||||
extern s32 gUnknown_202F30C;
|
||||
extern s32 gUnknown_202F310;
|
||||
extern u8 gUnknown_202F308[];
|
||||
extern UnkTextStruct2_sub2 gUnknown_202F308;
|
||||
|
||||
void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
{
|
||||
@@ -944,10 +954,10 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
while (1) {
|
||||
s32 r7 = 0, r5 = 0;
|
||||
|
||||
gUnknown_202F308[0] = 1;
|
||||
gUnknown_202F308[1] = 0;
|
||||
gUnknown_202F308[2] = 0xE;
|
||||
gUnknown_202F308[3] = 0;
|
||||
gUnknown_202F308.f0 = 1;
|
||||
gUnknown_202F308.f1 = 0;
|
||||
gUnknown_202F308.f2 = 0xE;
|
||||
gUnknown_202F308.f3 = 0;
|
||||
|
||||
ASM_MATCH_TRICK(r7);
|
||||
|
||||
@@ -1163,3 +1173,192 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8067F00(u8 a0, PokemonStruct1 **a1, s32 a2_, s32 a3, s32 a4)
|
||||
{
|
||||
s32 i, y;
|
||||
s32 a2;
|
||||
|
||||
a2 = a2_ - 1;
|
||||
y = 0x16;
|
||||
|
||||
sub_80073B8(0);
|
||||
WriteFriendAreaName(gFormatBuffer_Monsters[0], a0, FALSE);
|
||||
PrintFormattedStringOnWindow(12, 0, gUnknown_8106E28, 0, '\0');
|
||||
i = 0;
|
||||
while (i < 10) {
|
||||
if (a2 >= 0) {
|
||||
if (a2 >= a3) {
|
||||
break;
|
||||
}
|
||||
|
||||
PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0], a1[a2], 0);
|
||||
sub_808D930(gFormatBuffer_Monsters[1], a1[a2]->speciesNum);
|
||||
gFormatArgs[0] = a2 + 1;
|
||||
if (a1[a2]->unk0 & 0x8000) {
|
||||
strcpy(gFormatBuffer_Items[0], gUnknown_8106E2C);
|
||||
}
|
||||
else {
|
||||
strcpy(gFormatBuffer_Items[0], gUnknown_8106E30);
|
||||
}
|
||||
|
||||
if (a1[a2]->unk0 & 0x4000) {
|
||||
PrintFormattedStringOnWindow(7, y, gUnknown_8106E34, 0, '\0');
|
||||
}
|
||||
else {
|
||||
PrintFormattedStringOnWindow(7, y, gUnknown_8106E48, 0, '\0');
|
||||
}
|
||||
}
|
||||
|
||||
i++;
|
||||
y += 12;
|
||||
a2++;
|
||||
}
|
||||
|
||||
sub_80073E0(0);
|
||||
sub_80073B8(1);
|
||||
if (gUnknown_202F310 >= a4) {
|
||||
PrintFormattedStringOnWindow(8, 2, gUnknown_8106E5C, 1, '\0');
|
||||
}
|
||||
else {
|
||||
gFormatArgs[0] = a4 - gUnknown_202F310;
|
||||
PrintFormattedStringOnWindow(8, 2, gUnknown_8106E6C, 1, '\0');
|
||||
}
|
||||
|
||||
sub_80073E0(1);
|
||||
}
|
||||
|
||||
extern const s32 gUnknown_8106E80[];
|
||||
|
||||
void sub_806806C(PokemonStruct1 *a0)
|
||||
{
|
||||
struct unkStruct_808FF20 unkStruct;
|
||||
u8 var_C8[48];
|
||||
UnkTextStruct3 spTxtStruct = {0};
|
||||
s32 spF8[4];
|
||||
s32 r7, r8;
|
||||
|
||||
spTxtStruct.a0[0].unk4 = 6;
|
||||
spTxtStruct.a0[0].unk8.unk0.separate.unk0 = 2;
|
||||
spTxtStruct.a0[0].unk8.unk0.separate.unk2 = 2;
|
||||
spTxtStruct.a0[0].unkC = 0x12;
|
||||
spTxtStruct.a0[0].unkE = 0xE;
|
||||
spTxtStruct.a0[0].unk10 = 0x12;
|
||||
spTxtStruct.a0[0].unk12 = 2;
|
||||
spTxtStruct.a0[0].unk14 = &gUnknown_202F308;
|
||||
spTxtStruct.a0[1].unk4 = 3;
|
||||
spTxtStruct.a0[2].unk4 = 3;
|
||||
spTxtStruct.a0[3].unk4 = 3;
|
||||
|
||||
r7 = 0;
|
||||
unkStruct.unk40 = 0;
|
||||
unkStruct.unk56 = 0;
|
||||
gUnknown_202EE10.menuIndex = 0;
|
||||
|
||||
while (1) {
|
||||
r8 = 0;
|
||||
memcpy(spF8, gUnknown_8106E80, sizeof(spF8));
|
||||
|
||||
gUnknown_202F308.f0 = 4;
|
||||
gUnknown_202F308.f1 = r7;
|
||||
gUnknown_202F308.f2 = 10;
|
||||
gUnknown_202F308.f3 = 0;
|
||||
|
||||
gUnknown_202EE10.unk1E = r7;
|
||||
gUnknown_202EE10.unk20 = 4;
|
||||
gUnknown_202EE10.unk1A = 0;
|
||||
gUnknown_202EE10.menuIndex = 0;
|
||||
gUnknown_202EE10.unk1C = 0;
|
||||
gUnknown_202EE10.unk4 = 0;
|
||||
gUnknown_202EE10.unk6 = 16;
|
||||
gUnknown_202EE10.unk14.x = 0;
|
||||
gUnknown_202EE10.unk0 = 0;
|
||||
|
||||
sub_801317C(&gUnknown_202EE10.unk28);
|
||||
sub_803ECB4(&spTxtStruct, 1);
|
||||
sub_808FF20(&unkStruct, a0, gDungeon->unk644.unk16);
|
||||
CreatePokemonInfoTabScreen(spF8[r7], r7, &unkStruct, var_C8, 0);
|
||||
|
||||
gUnknown_202EE10.unkC = (gUnknown_2027370[0].unk0 + 15) * 8;
|
||||
gUnknown_202EE10.unkE = ((gUnknown_2027370[0].unk2 + 1) * 8) - 2;
|
||||
|
||||
while (1) {
|
||||
s32 r5;
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
if (spF8[r7] == 4) {
|
||||
if (var_C8[8] != 0) {
|
||||
sub_80684C4();
|
||||
}
|
||||
if (unkStruct.unk40 != 0) {
|
||||
sub_8068344();
|
||||
}
|
||||
}
|
||||
|
||||
r5 = sub_8014140(0, gUnknown_8106DA4);
|
||||
sub_803E46C(0x1C);
|
||||
if ((gRealInputs.pressed & DPAD_RIGHT) || gUnknown_202EE10.unk28.dpad_right) {
|
||||
sub_8083CE0(0);
|
||||
if (++r7 == 4) {
|
||||
r7 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & DPAD_LEFT) || gUnknown_202EE10.unk28.dpad_left) {
|
||||
sub_8083CE0(0);
|
||||
if (--r7 == -1) {
|
||||
r7 = 3;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (spF8[r7] == 4) {
|
||||
if (((gRealInputs.repeated & DPAD_DOWN) || r5 == 2) && var_C8[8] != 0) {
|
||||
s32 i;
|
||||
|
||||
sub_8083CE0(0);
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc1(0);
|
||||
sub_803E46C(0x1C);
|
||||
}
|
||||
unkStruct.unk40++;
|
||||
break;
|
||||
}
|
||||
if (((gRealInputs.repeated & DPAD_UP) || r5 == 1) && unkStruct.unk40 != 0) {
|
||||
s32 i;
|
||||
|
||||
sub_8083CE0(0);
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc2(0);
|
||||
sub_803E46C(0x1C);
|
||||
}
|
||||
unkStruct.unk40--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (sub_80048C8()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
sub_8083D08();
|
||||
r8 = 1;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
sub_8083D30();
|
||||
r8 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sub_803E46C(0x37);
|
||||
if (r8 != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sub_803EAF0(0, NULL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user