Merge pull request #334 from DizzyEggg/code_8010F28

code_8010F28.s + code_800F990.s(friend areas map / world map)
This commit is contained in:
Seth Barberee 2025-02-26 07:57:18 -08:00 committed by GitHub
commit cdc6af55b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
229 changed files with 3871 additions and 5917 deletions

View File

@ -144,7 +144,7 @@ QuickSave:
movs r0, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
movs r0, 0
movs r1, 0x14
bl sub_8009408
@ -297,7 +297,7 @@ _08000892:
movs r0, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
movs r0, 0
bl xxx_update_stuff
add sp, 0xC
@ -325,7 +325,7 @@ sub_80008C0:
movs r0, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
movs r0, 0
movs r1, 0x14
bl sub_8009408
@ -425,7 +425,7 @@ _080009A2:
movs r0, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
movs r0, 0
bl xxx_update_stuff
add sp, 0x4
@ -514,7 +514,7 @@ _08000A42:
mov r1, sp
strb r0, [r1, 0x5]
mov r0, sp
bl sub_800F990
bl ShowFriendAreasMap
ldr r0, [sp, 0x8]
bl MemoryFree
mov r0, sp
@ -622,7 +622,7 @@ _08000B50:
add r4, sp, 0x168
str r0, [r4]
adds r0, r5, 0
bl sub_8010268
bl ShowWorldMap
ldr r0, [r4]
bl MemoryFree
add r0, sp, 0x16C

File diff suppressed because it is too large Load Diff

View File

@ -1,938 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8010F28
sub_8010F28:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x18
add r0, sp, 0x8
bl sub_8004E8C
add r1, sp, 0x8
ldr r0, _08011080
strh r0, [r1, 0x4]
movs r0, 0x80
lsls r0, 4
strh r0, [r1, 0xA]
ldr r6, _08011084
ldr r0, [r6]
ldr r2, _08011088
adds r1, r0, r2
ldr r1, [r1]
mov r8, r1
ldr r4, _0801108C
adds r0, r4
bl RunAxAnimationFrame
ldr r3, [r6]
adds r4, r3, r4
ldr r7, _08011090
adds r0, r3, r7
movs r2, 0
ldrsh r1, [r0, r2]
mov r7, r8
lsls r5, r7, 16
asrs r5, 16
subs r1, r5
ldr r2, _08011094
adds r0, r3, r2
movs r7, 0
ldrsh r2, [r0, r7]
mov r7, r8
asrs r0, r7, 16
subs r2, r0
ldr r0, _08011098
adds r3, r0
ldr r0, [r3]
str r0, [sp]
add r3, sp, 0x8
str r3, [sp, 0x4]
adds r0, r4, 0
movs r3, 0x3
bl DoAxFrame_800558C
movs r7, 0
mov r10, r6
ldr r6, _0801109C
mov r9, r5
_08010F98:
mov r4, r10
ldr r0, [r4]
adds r4, r0, r6
ldr r1, _080110A0
adds r0, r1
lsls r1, r7, 5
ldr r0, [r0]
adds r5, r0, r1
ldrb r0, [r4]
cmp r0, 0
beq _08010FD8
adds r4, 0x14
adds r0, r4, 0
bl RunAxAnimationFrame
movs r2, 0x4
ldrsh r1, [r5, r2]
mov r3, r9
subs r1, r3
movs r0, 0x6
ldrsh r2, [r5, r0]
mov r3, r8
asrs r0, r3, 16
subs r2, r0
movs r0, 0
str r0, [sp]
add r0, sp, 0x8
str r0, [sp, 0x4]
adds r0, r4, 0
movs r3, 0x1
bl DoAxFrame_800558C
_08010FD8:
adds r6, 0x50
adds r7, 0x1
cmp r7, 0x1F
ble _08010F98
movs r5, 0
ldr r1, _08011084
mov r9, r1
ldr r6, _080110A4
movs r2, 0
str r2, [sp, 0x14]
_08010FEC:
mov r3, r9
ldr r1, [r3]
ldr r4, [sp, 0x14]
adds r0, r4, r1
ldr r7, _080110A4
adds r0, r7
ldrh r0, [r0]
lsrs r0, 15
cmp r0, 0
beq _08011062
adds r0, r1, r6
bl RunAxAnimationFrame
ldr r0, _080110A8
ldrh r0, [r0]
movs r2, 0x80
lsls r2, 1
adds r1, r2, 0
ands r0, r1
cmp r0, 0
beq _0801101E
movs r0, 0x1
ands r0, r5
cmp r0, 0
beq _08011062
_0801101E:
mov r3, r9
ldr r4, [r3]
adds r0, r4, r6
ldr r1, _080110AC
lsls r3, r5, 2
adds r3, r1
movs r7, 0
ldrsh r1, [r3, r7]
ldr r7, _08011090
adds r2, r4, r7
movs r7, 0
ldrsh r2, [r2, r7]
adds r1, r2
mov r7, r8
lsls r2, r7, 16
asrs r2, 16
subs r1, r2
movs r7, 0x2
ldrsh r2, [r3, r7]
ldr r3, _08011094
adds r3, r4
movs r4, 0
ldrsh r3, [r3, r4]
adds r2, r3
mov r7, r8
asrs r3, r7, 16
subs r2, r3
movs r3, 0
str r3, [sp]
add r3, sp, 0x8
str r3, [sp, 0x4]
movs r3, 0x2
bl DoAxFrame_800558C
_08011062:
adds r6, 0x3C
ldr r4, [sp, 0x14]
adds r4, 0x3C
str r4, [sp, 0x14]
adds r5, 0x1
cmp r5, 0x7
ble _08010FEC
add sp, 0x18
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08011080: .4byte 0x0000f3ff
_08011084: .4byte gUnknown_203B0E4
_08011088: .4byte 0x00004dd4
_0801108C: .4byte 0x00004c10
_08011090: .4byte 0x00004dd8
_08011094: .4byte 0x00004dda
_08011098: .4byte 0x00004dd0
_0801109C: .4byte 0x00004018
_080110A0: .4byte 0x00004014
_080110A4: .4byte 0x00004a30
_080110A8: .4byte gRealInputs
_080110AC: .4byte gUnknown_80D40C4
thumb_func_end sub_8010F28
thumb_func_start sub_80110B0
sub_80110B0:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
ldr r0, _08011150
ldr r1, [r0]
ldr r2, _08011154
adds r1, r2
ldrh r1, [r1]
lsls r1, 16
asrs r6, r1, 19
adds r2, r6, 0
movs r3, 0
mov r10, r0
movs r0, 0x1F
mov r9, r0
_080110D4:
mov r1, r10
ldr r0, [r1]
ldr r1, _08011158
adds r0, r1
ldrh r0, [r0]
lsls r0, 16
asrs r4, r0, 19
lsls r1, r2, 7
adds r2, 0x1
mov r12, r2
adds r3, 0x1
mov r8, r3
movs r7, 0x1E
lsls r0, r4, 1
adds r5, r0, r1
_080110F2:
mov r2, r9
ands r4, r2
ands r6, r2
lsls r2, r4, 1
lsls r0, r6, 6
adds r2, r0
ldr r3, _0801115C
adds r3, r2, r3
str r3, [sp]
mov r0, r10
ldr r1, [r0]
ldr r3, _08011160
adds r0, r1, r3
adds r0, r5
ldrh r0, [r0]
ldr r3, [sp]
strh r0, [r3]
ldr r0, _08011164
adds r2, r0
adds r1, 0x14
adds r1, r5
ldrh r0, [r1]
strh r0, [r2]
adds r5, 0x2
adds r4, 0x1
subs r7, 0x1
cmp r7, 0
bge _080110F2
mov r2, r12
adds r6, 0x1
mov r3, r8
cmp r3, 0x14
ble _080110D4
movs r0, 0x2
bl sub_80098F8
movs r0, 0x3
bl sub_80098F8
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08011150: .4byte gUnknown_203B0E4
_08011154: .4byte 0x00004dd6
_08011158: .4byte 0x00004dd4
_0801115C: .4byte gUnknown_202B038 + 0x1000
_08011160: .4byte 0x00002014
_08011164: .4byte gUnknown_202B038 + 0x1800
thumb_func_end sub_80110B0
thumb_func_start sub_8011168
sub_8011168:
push {r4,r5,lr}
movs r0, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
ldr r3, _080111B0
ldr r1, [r3]
ldr r2, _080111B4
adds r0, r1, r2
movs r2, 0
str r2, [r0]
ldr r4, _080111B8
adds r0, r1, r4
str r2, [r0]
adds r4, 0x4
adds r0, r1, r4
str r2, [r0]
ldr r0, _080111BC
adds r1, r0
str r2, [r1]
adds r5, r3, 0
ldr r4, _080111C0
movs r3, 0
movs r1, 0x7
_0801119A:
ldr r0, [r5]
adds r0, r2, r0
adds r0, r4
strh r3, [r0]
adds r2, 0x3C
subs r1, 0x1
cmp r1, 0
bge _0801119A
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080111B0: .4byte gUnknown_203B0E4
_080111B4: .4byte 0x00004ddc
_080111B8: .4byte 0x00004de0
_080111BC: .4byte 0x00004de8
_080111C0: .4byte 0x00004a30
thumb_func_end sub_8011168
thumb_func_start sub_80111C4
sub_80111C4:
push {r4-r6,lr}
movs r3, 0
ldr r6, _08011238
ldr r0, [r6]
ldr r2, _0801123C
adds r1, r0, r2
ldr r2, [r1]
cmp r2, 0x1E
bgt _0801122E
ldr r0, [r0]
ldr r5, [r0, 0x4]
adds r0, r2, 0x1
str r0, [r1]
cmp r0, 0x1E
ble _080111E6
movs r0, 0x1F
str r0, [r1]
_080111E6:
movs r4, 0
_080111E8:
ldr r0, [r6]
ldr r1, _0801123C
adds r0, r1
ldr r2, [r0]
adds r0, r4, 0
adds r1, r5, 0
movs r3, 0
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
adds r4, 0x1
cmp r4, 0xDF
ble _080111E8
ldr r0, _08011238
ldr r0, [r0]
ldr r0, [r0, 0x4]
ldr r5, [r0, 0x4]
movs r4, 0
_0801120C:
movs r2, 0x80
lsls r2, 1
adds r0, r4, r2
ldr r1, _08011238
ldr r1, [r1]
ldr r2, _0801123C
adds r1, r2
ldr r2, [r1]
adds r1, r5, 0
movs r3, 0
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
adds r4, 0x1
cmp r4, 0xEF
ble _0801120C
movs r3, 0x1
_0801122E:
adds r0, r3, 0
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08011238: .4byte gUnknown_203B0E4
_0801123C: .4byte 0x00004dcc
thumb_func_end sub_80111C4
thumb_func_start sub_8011240
sub_8011240:
push {r4-r6,lr}
ldr r2, _08011264
ldr r0, [r2]
ldr r1, _08011268
adds r3, r0, r1
movs r4, 0
ldrsh r1, [r3, r4]
ldr r5, _0801126C
adds r4, r0, r5
movs r6, 0
ldrsh r0, [r4, r6]
subs r1, r0
adds r5, r2, 0
cmp r1, 0x2F
bgt _08011270
ldrh r0, [r3]
subs r0, 0x30
b _08011278
.align 2, 0
_08011264: .4byte gUnknown_203B0E4
_08011268: .4byte 0x00004dd8
_0801126C: .4byte 0x00004dd4
_08011270:
cmp r1, 0xC0
ble _0801127A
ldrh r0, [r3]
subs r0, 0xC0
_08011278:
strh r0, [r4]
_0801127A:
ldr r0, [r5]
ldr r1, _08011298
adds r3, r0, r1
movs r2, 0
ldrsh r1, [r3, r2]
ldr r4, _0801129C
adds r2, r0, r4
movs r6, 0
ldrsh r0, [r2, r6]
subs r1, r0
cmp r1, 0x2F
bgt _080112A0
ldrh r0, [r3]
subs r0, 0x30
b _080112A8
.align 2, 0
_08011298: .4byte 0x00004dda
_0801129C: .4byte 0x00004dd6
_080112A0:
cmp r1, 0x70
ble _080112AA
ldrh r0, [r3]
subs r0, 0x70
_080112A8:
strh r0, [r2]
_080112AA:
adds r3, r5, 0
ldr r0, [r3]
ldr r4, _080112F8
adds r1, r0, r4
movs r2, 0
ldrsh r0, [r1, r2]
cmp r0, 0
bge _080112BE
movs r0, 0
strh r0, [r1]
_080112BE:
ldr r0, [r3]
ldr r2, _080112FC
adds r1, r0, r2
movs r6, 0
ldrsh r0, [r1, r6]
cmp r0, 0
bge _080112D0
movs r0, 0
strh r0, [r1]
_080112D0:
ldr r0, [r3]
adds r1, r0, r4
movs r3, 0
ldrsh r0, [r1, r3]
cmp r0, 0xEF
ble _080112E0
movs r0, 0xEF
strh r0, [r1]
_080112E0:
ldr r0, [r5]
adds r2, r0, r2
movs r4, 0
ldrsh r0, [r2, r4]
cmp r0, 0x97
ble _080112F0
movs r0, 0x97
strh r0, [r2]
_080112F0:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080112F8: .4byte 0x00004dd4
_080112FC: .4byte 0x00004dd6
thumb_func_end sub_8011240
thumb_func_start sub_8011300
sub_8011300:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0xC
ldr r0, _08011388
ldr r2, [r0]
ldr r1, _0801138C
adds r0, r2, r1
ldr r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 4
ldr r3, _08011390
adds r0, r3
adds r2, r0
mov r9, r2
movs r4, 0
ldr r0, _08011394
mov r8, r0
movs r7, 0
mov r6, r8
movs r5, 0
_0801132E:
ldr r0, _08011388
ldr r2, [r0]
adds r0, r5, r2
add r0, r8
strh r7, [r0]
lsls r1, r4, 1
mov r0, r9
adds r0, 0x2
adds r1, r0, r1
movs r3, 0
ldrsh r0, [r1, r3]
cmp r0, 0
blt _08011370
lsls r1, r0, 2
adds r1, r0
lsls r1, 4
ldr r0, _08011390
adds r1, r0
adds r1, r2, r1
ldrb r0, [r1]
cmp r0, 0
beq _08011370
adds r0, r2, r6
ldr r1, [r2, 0x8]
adds r2, r4, 0x4
movs r3, 0x40
str r3, [sp]
str r7, [sp, 0x4]
movs r3, 0x1
str r3, [sp, 0x8]
movs r3, 0
bl AxResInitFile
_08011370:
adds r6, 0x3C
adds r5, 0x3C
adds r4, 0x1
cmp r4, 0x7
ble _0801132E
add sp, 0xC
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08011388: .4byte gUnknown_203B0E4
_0801138C: .4byte 0x00004a18
_08011390: .4byte 0x00004018
_08011394: .4byte 0x00004a30
thumb_func_end sub_8011300
thumb_func_start sub_8011398
sub_8011398:
push {r4-r6,lr}
sub sp, 0x12C
ldr r5, _080113F4
ldr r0, [r5]
ldr r2, _080113F8
adds r1, r0, r2
ldr r1, [r1]
ldr r3, _080113FC
adds r0, r3
lsls r1, 5
ldr r0, [r0]
adds r6, r0, r1
add r4, sp, 0xCC
adds r0, r4, 0
movs r1, 0
movs r2, 0x60
bl memset
movs r2, 0x3
str r2, [r4, 0x4]
movs r0, 0x7
strh r0, [r4, 0x8]
movs r1, 0x2
strh r1, [r4, 0xA]
movs r0, 0x15
strh r0, [r4, 0xC]
strh r1, [r4, 0xE]
strh r1, [r4, 0x10]
str r2, [r4, 0x1C]
str r2, [r4, 0x34]
str r2, [r4, 0x4C]
ldr r0, [r5]
ldr r2, _08011400
adds r1, r0, r2
movs r3, 0
ldrsh r1, [r1, r3]
subs r2, 0x4
adds r0, r2
movs r3, 0
ldrsh r0, [r0, r3]
subs r1, r0
cmp r1, 0x50
bgt _08011404
movs r0, 0x11
b _08011406
.align 2, 0
_080113F4: .4byte gUnknown_203B0E4
_080113F8: .4byte 0x00004a18
_080113FC: .4byte 0x00004014
_08011400: .4byte 0x00004dda
_08011404:
movs r0, 0x1
_08011406:
strh r0, [r4, 0xA]
adds r0, r4, 0
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
movs r0, 0
bl sub_80073B8
ldr r1, _0801147C
ldr r2, [r6]
add r0, sp, 0x4
bl sprintfStatic
movs r0, 0
str r0, [sp]
movs r0, 0xC
movs r1, 0x2
add r2, sp, 0x4
movs r3, 0
bl PrintFormattedStringOnWindow
movs r0, 0
bl sub_80073E0
ldr r0, _08011480
ldr r1, [r0]
ldr r0, _08011484
adds r2, r1, r0
movs r3, 0x8
ldrsh r0, [r4, r3]
lsls r0, 3
subs r0, 0x5
str r0, [r2]
ldr r0, _08011488
adds r2, r1, r0
movs r3, 0xA
ldrsh r0, [r4, r3]
lsls r0, 3
adds r0, 0x5
str r0, [r2]
ldr r0, _0801148C
adds r2, r1, r0
movs r3, 0xC
ldrsh r0, [r4, r3]
lsls r0, 3
adds r0, 0xA
str r0, [r2]
ldr r0, _08011490
adds r1, r0
movs r2, 0xE
ldrsh r0, [r4, r2]
lsls r0, 3
adds r0, 0xA
str r0, [r1]
add sp, 0x12C
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0801147C: .4byte gUnknown_80D40FC
_08011480: .4byte gUnknown_203B0E4
_08011484: .4byte 0x00004ddc
_08011488: .4byte 0x00004de0
_0801148C: .4byte 0x00004de4
_08011490: .4byte 0x00004de8
thumb_func_end sub_8011398
thumb_func_start sub_8011494
sub_8011494:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC8
ldr r0, _08011610
ldr r2, [r0]
ldr r1, _08011614
adds r0, r2, r1
ldr r0, [r0]
ldr r3, _08011618
adds r1, r2, r3
lsls r0, 5
ldr r1, [r1]
adds r1, r0
mov r8, r1
ldr r0, _0801161C
adds r7, r2, r0
add r4, sp, 0x64
adds r0, r4, 0
movs r1, 0
movs r2, 0x60
bl memset
movs r0, 0x6
str r0, [sp, 0x68]
add r1, sp, 0x6C
movs r0, 0x7
strh r0, [r1]
movs r2, 0x2
strh r2, [r1, 0x2]
add r1, sp, 0x70
movs r0, 0x15
strh r0, [r1]
mov r0, sp
adds r0, 0x72
strh r2, [r0]
add r0, sp, 0x74
strh r2, [r0]
add r5, sp, 0xC4
str r5, [sp, 0x78]
movs r1, 0x3
str r1, [sp, 0x80]
add r0, sp, 0x94
str r1, [r0, 0x4]
add r0, sp, 0xAC
str r1, [r0, 0x4]
add r0, sp, 0x4
adds r1, r4, 0
movs r2, 0x60
bl memcpy
movs r1, 0
mov r9, r1
movs r6, 0
mov r10, r5
_08011506:
mov r0, r8
adds r0, 0x8
adds r4, r0, r6
ldrb r0, [r4]
bl sub_800FFE8
lsls r0, 24
cmp r0, 0
beq _0801152A
ldr r0, _08011610
ldr r0, [r0]
ldr r2, _08011620
adds r0, r2
add r0, r9
ldrb r1, [r4]
strb r1, [r0]
movs r3, 0x1
add r9, r3
_0801152A:
adds r6, 0x1
cmp r6, 0x7
ble _08011506
ldr r5, _08011610
ldr r0, [r5]
ldr r1, _08011624
adds r0, r1
mov r2, r9
str r2, [r0]
movs r4, 0
movs r0, 0x1
mov r3, r10
strb r0, [r3]
add r0, sp, 0xC4
strb r4, [r0, 0x1]
movs r1, 0x12
strb r1, [r0, 0x2]
strb r4, [r0, 0x3]
strh r4, [r7, 0x18]
strh r2, [r7, 0x1A]
mov r0, r9
strh r0, [r7, 0x1C]
strh r4, [r7, 0x1E]
strh r4, [r7, 0x20]
strh r4, [r7, 0x4]
movs r0, 0x10
strh r0, [r7, 0x6]
str r4, [r7]
strh r4, [r7, 0xC]
strh r4, [r7, 0xE]
strh r4, [r7, 0x14]
strh r4, [r7, 0x16]
movs r0, 0x8
strh r0, [r7, 0x8]
strh r0, [r7, 0xA]
adds r0, r7, 0
adds r0, 0x28
bl sub_801317C
movs r1, 0x1C
ldrsh r0, [r7, r1]
movs r1, 0
bl sub_80095E4
adds r1, r0, 0
add r3, sp, 0x4
adds r2, r3, 0
adds r0, r1, 0x2
strh r0, [r2, 0xE]
strh r0, [r3, 0x10]
lsls r1, 3
adds r0, r7, 0
bl sub_80137B0
add r0, sp, 0x4
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
ldr r1, [r5]
ldr r2, _08011628
adds r0, r1, r2
str r4, [r0]
ldr r3, _0801162C
adds r0, r1, r3
str r4, [r0]
adds r2, 0x8
adds r0, r1, r2
str r4, [r0]
adds r3, 0x8
adds r1, r3
str r4, [r1]
movs r0, 0
bl sub_80073B8
ldr r2, _08011630
str r4, [sp]
movs r0, 0x10
movs r1, 0
movs r3, 0
bl PrintFormattedStringOnWindow
movs r6, 0
cmp r6, r9
bge _08011678
add r0, sp, 0x64
mov r8, r0
ldr r1, _08011634
mov r10, r1
_080115DC:
adds r0, r7, 0
adds r1, r6, 0
bl sub_8013800
adds r4, r0, 0
ldr r2, _08011610
ldr r0, [r2]
ldr r3, _08011620
adds r0, r3
adds r0, r6
ldrb r5, [r0]
ldr r0, _08011638
adds r1, r5, 0
bl sub_80101F8
cmp r5, 0
bne _08011640
str r5, [sp]
movs r0, 0xC
adds r1, r4, 0
ldr r2, _0801163C
movs r3, 0
bl PrintFormattedStringOnWindow
b _08011672
.align 2, 0
_08011610: .4byte gUnknown_203B0E4
_08011614: .4byte 0x00004a18
_08011618: .4byte 0x00004014
_0801161C: .4byte 0x00004dfc
_08011620: .4byte 0x00004dec
_08011624: .4byte 0x00004df8
_08011628: .4byte 0x00004ddc
_0801162C: .4byte 0x00004de0
_08011630: .4byte gUnknown_80D4104
_08011634: .4byte gFormatArgs
_08011638: .4byte gFormatBuffer_Items
_0801163C: .4byte gUnknown_80D4120
_08011640:
ldr r1, _08011690
ldr r0, [r1]
ldr r2, _08011694
adds r0, r2
ldrb r2, [r0]
adds r0, r5, 0
mov r1, r8
bl sub_80926F8
mov r3, r8
movs r1, 0x2
ldrsh r0, [r3, r1]
mov r2, r10
str r0, [r2]
movs r1, 0
ldrsh r0, [r3, r1]
str r0, [r2, 0x4]
movs r0, 0
str r0, [sp]
movs r0, 0xC
adds r1, r4, 0
ldr r2, _08011698
movs r3, 0
bl PrintFormattedStringOnWindow
_08011672:
adds r6, 0x1
cmp r6, r9
blt _080115DC
_08011678:
movs r0, 0
bl sub_80073E0
add sp, 0xC8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08011690: .4byte gUnknown_203B0E4
_08011694: .4byte 0x00004a2c
_08011698: .4byte gUnknown_80D4124
thumb_func_end sub_8011494
.align 2,0

View File

@ -219,7 +219,7 @@ _08023A04:
adds r0, r6
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
ldr r4, [r5]
movs r0, 0xD6
lsls r0, 2
@ -408,7 +408,7 @@ sub_8023B7C:
adds r0, r1
movs r1, 0
movs r2, 0
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
bl sub_8023BD8
adds r2, r0, 0
ldr r0, [r5]
@ -557,7 +557,7 @@ sub_8023C60:
adds r0, r4
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
ldr r0, [r5]
bl MemoryFree
movs r0, 0
@ -660,7 +660,7 @@ _08023D38:
adds r0, r2
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
pop {r4,r5}
pop {r0}
bx r0
@ -866,7 +866,7 @@ _08023F02:
lsls r2, 2
adds r0, r2
adds r1, r7, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
mov r4, r8
ldr r0, [r4]

View File

@ -42,7 +42,7 @@ sub_803B050:
adds r0, 0x3C
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
movs r2, 0
movs r3, 0
movs r7, 0xCB
@ -215,7 +215,7 @@ sub_803B1BC:
adds r0, 0x3C
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
ldr r0, [r4]
bl MemoryFree
movs r0, 0
@ -253,7 +253,7 @@ sub_803B204:
adds r0, 0x3C
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
ldr r0, [r4]
movs r1, 0x1A
ldrsh r0, [r0, r1]
@ -284,7 +284,7 @@ sub_803B204:
adds r0, 0x3C
movs r1, 0x1
movs r2, 0x1
bl xxx_call_save_unk_text_struct_800641C
bl ShowWindows
pop {r4}
pop {r0}
bx r0
@ -354,7 +354,7 @@ _0803B2DC:
ldr r1, _0803B340
adds r4, r1
adds r1, r5, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r2, [r4, 0x4]
ldr r0, [r6]

View File

@ -3496,7 +3496,7 @@ _0806361E:
bl BufferMoveName
ldr r0, _08063690
mov r1, r9
bl sub_8013800
bl GetMenuEntryYCoord
adds r4, r0, 0
ldrb r1, [r7]
movs r0, 0x2
@ -7171,7 +7171,7 @@ _080652D2:
bl PrintFormattedStringOnWindow
adds r0, r4, 0
movs r1, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _080653E0
ldr r2, [r0]
@ -7181,7 +7181,7 @@ _080652D2:
bl PrintFormattedStringOnWindow
adds r0, r4, 0
movs r1, 0x1
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _080653E4
ldr r2, [r0]
@ -7191,7 +7191,7 @@ _080652D2:
bl PrintFormattedStringOnWindow
adds r0, r4, 0
movs r1, 0x2
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _080653E8
ldr r2, [r0]
@ -7202,7 +7202,7 @@ _080652D2:
movs r5, 0x4
adds r0, r4, 0
movs r1, 0x3
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _080653EC
ldr r2, [r0]
@ -7225,7 +7225,7 @@ _080652D2:
movs r5, 0x5
adds r0, r4, 0
movs r1, 0x4
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _080653F0
ldr r2, [r0]
@ -7248,7 +7248,7 @@ _080653F4:
movs r5, 0x5
adds r0, r4, 0
movs r1, 0x4
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _08065440
ldr r2, [r0]
@ -7259,7 +7259,7 @@ _080653F4:
_0806540E:
ldr r0, _08065444
adds r1, r5, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r0, _08065448
ldr r2, [r0]
@ -7381,7 +7381,7 @@ sub_806544C:
bl PrintFormattedStringOnWindow
adds r0, r4, 0
movs r1, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldr r6, _08065570
movs r2, 0xAC
@ -7394,7 +7394,7 @@ sub_806544C:
bl PrintFormattedStringOnWindow
adds r0, r4, 0
movs r1, 0x1
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
movs r2, 0xB8
lsls r2, 1
@ -7512,15 +7512,15 @@ CreateFieldGameOptionsMenu:
bl sub_80137B0
adds r0, r4, 0
movs r1, 0
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x4]
adds r0, r4, 0
movs r1, 0x1
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x8]
adds r0, r4, 0
movs r1, 0x2
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0xC]
movs r0, 0
bl sub_80073B8
@ -7666,23 +7666,23 @@ CreateFieldDungeonMenu:
bl sub_80137B0
adds r0, r4, 0
movs r1, 0
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x4]
adds r0, r4, 0
movs r1, 0x1
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x8]
adds r0, r4, 0
movs r1, 0x2
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0xC]
adds r0, r4, 0
movs r1, 0x3
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x10]
adds r0, r4, 0
movs r1, 0x4
bl sub_8013800
bl GetMenuEntryYCoord
str r0, [sp, 0x14]
movs r0, 0
bl sub_80073B8
@ -7961,7 +7961,7 @@ CreateFieldOthersMenu:
_08065A0A:
ldr r0, _08065A7C
adds r1, r4, 0
bl sub_8013800
bl GetMenuEntryYCoord
stm r5!, {r0}
adds r4, 0x1
cmp r4, 0
@ -8418,7 +8418,7 @@ sub_8065CAC:
_08065D7A:
ldr r0, _08065DB0
adds r1, r4, 0
bl sub_8013800
bl GetMenuEntryYCoord
adds r1, r0, 0
ldm r5!, {r2}
movs r0, 0

View File

@ -526,7 +526,7 @@ _08068D1C:
add r1, sp, 0x214
movs r2, 0
movs r3, 0
bl sub_8092638
bl GetFriendAreaCapacity2
movs r7, 0
add r1, sp, 0x1F0
ldrh r0, [r1]

View File

@ -720,7 +720,7 @@ _080A7D12:
mov r1, sp
movs r2, 0
movs r3, 0
bl sub_8092638
bl GetFriendAreaCapacity2
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
@ -923,7 +923,7 @@ _080A7EB8:
mov r1, sp
movs r2, 0
movs r3, 0
bl sub_8092638
bl GetFriendAreaCapacity2
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
@ -2965,7 +2965,7 @@ _080A8DF8:
adds r1, r4, 0
movs r2, 0
movs r3, 0
bl sub_8092638
bl GetFriendAreaCapacity2
movs r1, 0
ldrsh r0, [r4, r1]
cmp r5, r0

View File

@ -62,542 +62,3 @@ gStatusSprites: @ 80D3474
gUnknown_80D3564: @ 80D3564
.byte 0,0,0,0
@
.string "pksdir0\0"
.align 2,0
@ Friend Area Data
.global gFriendAreaLocations
gFriendAreaLocations: @ 80D3570
@ replacing .incbin "baserom.gba", 0x000d3570, 0x94c
.4byte gUnknown_80D3EAC
.byte 0xc5, 0x01, 0x71, 0x00, 0x08, 0x09, 0x0a, 0x27, 0x2f, 0x0b, 0x3f, 0x3f, 0x05, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x00, 0x02, 0x00, 0x07, 0x00 @ Mountain Range
.4byte gUnknown_80D3EA4
.byte 0xcd, 0x01, 0x1c, 0x00, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0a, 0x00, 0x0c, 0x00
.4byte gUnknown_80D3E9C
.byte 0x61, 0x01, 0x78, 0x00, 0x0d, 0x0e, 0x11, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1b, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0xff, 0xff, 0x09, 0x00, 0xff, 0xff
.4byte gUnknown_80D3E8C
.byte 0x62, 0x01, 0x2d, 0x01, 0x0f, 0x0c, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x04, 0x00, 0x0e, 0x00, 0x12, 0x00, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3E80
.byte 0x94, 0x01, 0x02, 0x01, 0x34, 0x35, 0x28, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x11, 0x00, 0xff, 0xff, 0x0b, 0x00, 0x08, 0x00, 0xff, 0xff, 0x0e, 0x00, 0x03, 0x00
.4byte gUnknown_80D3E70
.byte 0xc7, 0x01, 0x9d, 0x00, 0x12, 0x13, 0x14, 0x15, 0x3f, 0x3f, 0x3f, 0x3f, 0x0b, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x07, 0x00, 0x08, 0x00
.4byte gUnknown_80D3E60
.byte 0x08, 0x01, 0x9d, 0x00, 0x16, 0x17, 0x18, 0x19, 0x3f, 0x3f, 0x3f, 0x3f, 0x10, 0x00, 0xff, 0xff, 0x1b, 0x00, 0x09, 0x00, 0x14, 0x00, 0x1a, 0x00, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3E58
.byte 0x97, 0x01, 0xa0, 0x00, 0x1a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x08, 0x00, 0x0b, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x1b, 0x00, 0xff, 0xff
.4byte gUnknown_80D3E48
.byte 0x98, 0x01, 0xcf, 0x00, 0x1b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x04, 0x00, 0xff, 0xff, 0x0b, 0x00, 0x05, 0x00, 0x07, 0x00, 0x1b, 0x00, 0xff, 0xff, 0x0e, 0x00
.4byte gUnknown_80D3E40
.byte 0x33, 0x01, 0x79, 0x00, 0x1c, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x1b, 0x00, 0x02, 0x00, 0x0d, 0x00, 0x0f, 0x00, 0x14, 0x00, 0xff, 0xff, 0x06, 0x00
.4byte gUnknown_80D3E30
.byte 0x82, 0x01, 0x1d, 0x00, 0x1d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x0c, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x0d, 0x00
.4byte gUnknown_80D3E20
.byte 0xc6, 0x01, 0xd0, 0x00, 0x1e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x05, 0x00, 0x07, 0x00, 0x08, 0x00, 0x04, 0x00
.4byte gUnknown_80D3E18
.byte 0xa2, 0x01, 0x46, 0x00, 0x1f, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x0a, 0x00, 0x0d, 0x00, 0x02, 0x00
.4byte gUnknown_80D3E10
.byte 0x60, 0x01, 0x47, 0x00, 0x21, 0x23, 0x24, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x02, 0x00, 0xff, 0xff, 0x0c, 0x00, 0x0a, 0x00, 0xff, 0xff, 0x0f, 0x00, 0x14, 0x00, 0x09, 0x00
.4byte gUnknown_80D3E08
.byte 0x63, 0x01, 0x04, 0x01, 0x25, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x03, 0x00, 0xff, 0xff, 0x04, 0x00, 0x08, 0x00, 0x1b, 0x00, 0xff, 0xff, 0x12, 0x00, 0xff, 0xff
.4byte gUnknown_80D3E00
.byte 0x36, 0x01, 0x1c, 0x00, 0x26, 0x29, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x09, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0x00, 0x14, 0x00
.4byte gUnknown_80D3DF8
.byte 0x07, 0x01, 0xcb, 0x00, 0x10, 0x2a, 0x32, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x12, 0x00, 0xff, 0xff, 0x1b, 0x00, 0x06, 0x00, 0xff, 0xff, 0xff, 0xff, 0x19, 0x00
.4byte gUnknown_80D3DF0
.byte 0xc4, 0x01, 0x2d, 0x01, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x04, 0x00, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3DE8
.byte 0x31, 0x01, 0x05, 0x01, 0x2e, 0x2c, 0x2d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x03, 0x00, 0x0e, 0x00, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x19, 0x00, 0xff, 0xff
.4byte gUnknown_80D3DE4
.byte 0x2f, 0x00, 0x15, 0x00, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x17, 0x00, 0x1a, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3DD4
.byte 0x07, 0x01, 0x47, 0x00, 0x36, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x06, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x0f, 0x00, 0xff, 0xff, 0x18, 0x00, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3DC4
.byte 0x5d, 0x00, 0x0c, 0x01, 0x37, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x19, 0x00, 0xff, 0xff, 0xff, 0xff, 0x16, 0x00, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3DB4
.byte 0x2d, 0x00, 0xcb, 0x00, 0x38, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x15, 0x00, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3DA4
.byte 0x2d, 0x00, 0x70, 0x00, 0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x16, 0x00, 0xff, 0xff, 0xff, 0xff, 0x1a, 0x00, 0x13, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D94
.byte 0xd0, 0x00, 0x16, 0x00, 0x01, 0x03, 0x05, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x14, 0x00, 0x0f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1a, 0x00
.4byte gUnknown_80D3D84
.byte 0xb2, 0x00, 0x0d, 0x01, 0x02, 0x04, 0x06, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x12, 0x00, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0x15, 0x00, 0xff, 0xff
.4byte gUnknown_80D3D7C
.byte 0x81, 0x00, 0x42, 0x00, 0x07, 0x31, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0x06, 0x00, 0xff, 0xff, 0x18, 0x00, 0xff, 0xff, 0x13, 0x00, 0xff, 0xff, 0x17, 0x00 @ Beach
.4byte gUnknown_80D3D78
.byte 0x63, 0x01, 0xa1, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x0e, 0x00, 0x08, 0x00, 0x07, 0x00, 0xff, 0xff, 0x02, 0x00, 0x09, 0x00, 0x06, 0x00, 0x10, 0x00 @ Team Name
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.4byte gUnknown_80D3D70
.byte 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
@ Start of Friend Area String Pool (80D3D70)
@ These are what show on the map when going to Friend Areas
.global gUnknown_80D3D70
gUnknown_80D3D70:
.string "\0"
.align 2,0
.global gUnknown_80D3D78
gUnknown_80D3D78:
.string "$t\0" @ Team Name
.align 2,0
.global gUnknown_80D3D7C
gUnknown_80D3D7C:
.string "Beach\0"
.align 2,0
.global gUnknown_80D3D84
gUnknown_80D3D84:
.string "Southern Sea\0"
.align 2,0
.global gUnknown_80D3D94
gUnknown_80D3D94:
.string "Northern Sea\0"
.align 2,0
.global gUnknown_80D3DA4
gUnknown_80D3DA4:
.string "Western Isles\0"
.align 2,0
.global gUnknown_80D3DB4
gUnknown_80D3DB4:
.string "Southwest Isles\0"
.align 2,0
.global gUnknown_80D3DC4
gUnknown_80D3DC4:
.string "Southern Isles\0"
.align 2,0
.global gUnknown_80D3DD4
gUnknown_80D3DD4:
.string "Northern Isles\0"
.align 2,0
.global gUnknown_80D3DE4
gUnknown_80D3DE4:
.string "Sky\0"
.align 2,0
.global gUnknown_80D3DE8
gUnknown_80D3DE8:
.string "Relics\0"
.align 2,0
.global gUnknown_80D3DF0
gUnknown_80D3DF0:
.string "Desert\0"
.align 2,0
.global gUnknown_80D3DF8
gUnknown_80D3DF8:
.string "Volcano\0"
.align 2,0
.global gUnknown_80D3E00
gUnknown_80D3E00:
.string "Ruins\0"
.align 2,0
.global gUnknown_80D3E08
gUnknown_80D3E08:
.string "Jungle\0"
.align 2,0
.global gUnknown_80D3E10
gUnknown_80D3E10:
.string "Cave\0"
.align 2,0
.global gUnknown_80D3E18
gUnknown_80D3E18:
.string "Marsh\0"
.align 2,0
.global gUnknown_80D3E20
gUnknown_80D3E20:
.string "Eastern Lakes\0"
.align 2,0
.global gUnknown_80D3E30
gUnknown_80D3E30:
.string "Northern Lakes\0"
.align 2,0
.global gUnknown_80D3E40
gUnknown_80D3E40:
.string "Pond\0"
.align 2,0
.global gUnknown_80D3E48
gUnknown_80D3E48:
.string "Eastern Ponds\0"
.align 2,0
.global gUnknown_80D3E58
gUnknown_80D3E58:
.string "River\0"
.align 2,0
.global gUnknown_80D3E60
gUnknown_80D3E60:
.string "Western Forest\0"
.align 2,0
.global gUnknown_80D3E70
gUnknown_80D3E70:
.string "Eastern Forest\0"
.align 2,0
.global gUnknown_80D3E80
gUnknown_80D3E80:
.string "Badlands\0"
.align 2,0
.global gUnknown_80D3E8C
gUnknown_80D3E8C:
.string "South Plains\0"
.align 2,0
.global gUnknown_80D3E9C
gUnknown_80D3E9C:
.string "Plains\0"
.align 2,0
.global gUnknown_80D3EA4
gUnknown_80D3EA4:
.string "Glacier\0"
.align 2,0
.global gUnknown_80D3EAC
gUnknown_80D3EAC:
.string "Mountain Range\0"
.align 2,0
.global gUnknown_80D3EBC
gUnknown_80D3EBC: @ 80D3EBC
@ replacing .incbin "baserom.gba", 0x000d3ebc, 0x20
.byte 0x80, 0x03
.byte 0x80, 0x04
.byte 0x80, 0x00
.byte 0x80, 0x03
.byte 0x80, 0x0f
.byte 0x80, 0x00
.byte 0x80, 0x0c
.byte 0x80, 0x0f
.byte 0x80, 0x0b
.byte 0x80, 0x0c
.byte 0x80, 0x08
.byte 0x80, 0x0b
.byte 0x80, 0x07
.byte 0x80, 0x08
.byte 0x80, 0x04
.byte 0x80, 0x07
.global gUnknown_80D3EDC
gUnknown_80D3EDC: @ 80D3EDC
.byte 0xff, 0x00, 0x02, 0x01
.byte 0x04, 0xff, 0x03, 0xff
.byte 0x06, 0x07, 0xff, 0xff
.byte 0x05, 0xff, 0xff, 0xff
.global gUnknown_80D3EEC
gUnknown_80D3EEC: @ 80D3EEC
.byte 0xff, 0xff, 0xff, 0x01
.byte 0xff, 0xff, 0x03, 0xff
.byte 0xff, 0x07, 0xff, 0xff
.byte 0x05, 0xff, 0xff, 0xff
.global gUnknown_80D3EFC
gUnknown_80D3EFC: @ 80D3EFC
.string "$t Team Base\0"
.align 2,0
.string "pksdir0\0"
.align 2,0
.global gDungeonCoordinates
gDungeonCoordinates: @ 80D3F14
@ replacing .incbin "baserom.gba", 0x000d3f14, 0x100
@ 2 byte X and 2 byte Y
.2byte 172, 174 @ Tiny Woods
.2byte 171, 111
.2byte 242, 126
.2byte 232, 181
.2byte 263, 155
.2byte 298, 159
.2byte 299, 142
.2byte 203, 255
.2byte 385, 166
.2byte 388, 126
.2byte 389, 109
.2byte 417, 112
.2byte 422, 101
.2byte 432, 85
.2byte 436, 69
.2byte 442, 150
.2byte 446, 163
.2byte 365, 27
.2byte 352, 12
.2byte 133, 238
.2byte 129, 143
.2byte 344, 105
.2byte 427, 62
.2byte 27, 211
.2byte 246, 315
.2byte 443, 6
.2byte 32, 279
.2byte 404, 262
.2byte 194, 63
.2byte 159, 46
.2byte 441, 310
.2byte 231, 235
.2byte 169, 287
.2byte 441, 273
.2byte 64, 87
.2byte 80, 54
.2byte 431, 225
.2byte 27, 94
.2byte 354, 298
.2byte 336, 253
.2byte 287, 222
.2byte 63, 163
.2byte 275, 111
.2byte 202, 232
.2byte 268, 302
.2byte 336, 260
.2byte 110, 79
.2byte 225, 314
.2byte 206, 314
.2byte 11, 307
.2byte 472, 25
.2byte 250, 8
.2byte 187, 190
.2byte 205, 111
.2byte 474, 6
.2byte 183, 9
.2byte 367, 214
.2byte 278, 273
.2byte 68, 305
.2byte 270, 33
.2byte 33, 39
.2byte 217, 8
.2byte 69, 280
.2byte 192, 183 @ D63
.global gUnknown_80D4014
gUnknown_80D4014: @ 80D4014
.4byte wmp2font_text
.4byte wmp2mcc_text
.4byte wmp2cani_text
.4byte wmp2pal_text
.4byte wmp2fon1_text
.global wmp2fon1_text
wmp2fon1_text:
.string "wmp2fon1\0"
.align 2,0
.global wmp2pal_text
wmp2pal_text:
.string "wmp2pal\0"
.align 2,0
.global wmp2cani_text
wmp2cani_text:
.string "wmp2cani\0"
.align 2,0
.global wmp2mcc_text
wmp2mcc_text:
.string "wmp2mcc\0"
.align 2,0
.global wmp2font_text
wmp2font_text:
.string "wmp2font\0"
.align 2,0
.global gUnknown_80D405C
gUnknown_80D405C: @ 80D405C
.string "ax%03d\0"
.align 2,0
.global gUnknown_80D4064
gUnknown_80D4064: @ 80D4064
.string "wmapspr\0"
.align 2,0
.global gUnknown_80D406C
gUnknown_80D406C: @ 80D406C
.string "palet\0"
.align 2,0
.global gUnknown_80D4074
gUnknown_80D4074: @ 80D4074
.string "{CENTER_ALIGN}{POKEMON_0}\0"
.align 2,0
.global gUnknown_80D407C
gUnknown_80D407C: @ 80D4074
.string "Yes\0"
.align 2,0
.global gUnknown_80D4080
gUnknown_80D4080: @ 80D4080
.string "No\0"
.align 2,0
.string "pksdir0\0"
.align 2,0
.global gUnknown_80D408C
gUnknown_80D408C: @ 80D408C
.4byte wmapfont_text
.4byte wmapmcc_text
.4byte wmapcani_text
.4byte wmappal_text
.global wmappal_text
wmappal_text:
.string "wmappal\0"
.align 2,0
.global wmapcani_text
wmapcani_text:
.string "wmapcani\0"
.align 2,0
.global wmapmcc_text
wmapmcc_text:
.string "wmapmcc\0"
.align 2,0
.global wmapfont_text
wmapfont_text:
.string "wmapfont\0"
.align 2,0
.global gUnknown_80D40C4
gUnknown_80D40C4: @ 80D40C4
.byte 0x00, 0x00, 0x18, 0x00
.byte 0x18, 0x00, 0x18, 0x00
.byte 0x18, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0xE8, 0xFF
.byte 0x00, 0x00, 0xE8, 0xFF
.byte 0xE8, 0xFF, 0xE8, 0xFF
.byte 0xE8, 0xFF, 0x00, 0x00
.byte 0xE8, 0xFF, 0x18, 0x00
.global gUnknown_80D40E4
gUnknown_80D40E4: @ 80D40E4
.string "ax%03d\0"
.align 2,0
.global gUnknown_80D40EC
gUnknown_80D40EC: @ 80D40EC
.string "wmapspr\0"
.align 2,0
.global gUnknown_80D40F4
gUnknown_80D40F4: @ 80D40F4
.string "palet\0"
.align 2,0
.global gUnknown_80D40FC
gUnknown_80D40FC: @ 80D40FC
.string "{CENTER_ALIGN}%s\0"
.align 2,0
.global gUnknown_80D4104
gUnknown_80D4104: @ 80D4104
.string "Where would you like to go?\0"
.align 2,0
.global gUnknown_80D4120
gUnknown_80D4120: @ 80D4120
.string "{MOVE_ITEM_0}\0"
.align 2,0
.global gUnknown_80D4124
gUnknown_80D4124: @ 80D4124
.string "{MOVE_ITEM_0}($v02"
.byte 0x81, 0x5E
.asciz "$v12)"
.align 2,0
.asciz "pksdir0"
.asciz "pksdir0"
.global gUnknown_80D4144
gUnknown_80D4144: @ 80D4144
.2byte 302
.2byte 303
.2byte 303
.2byte 301
.2byte 304
.2byte 306
.2byte 307
.2byte 0
.string "pksdir0\0"
.string "pksdir0\0"
.4byte noneText
.byte 0xff, 0xff, 0xff, 0xff
.4byte noneText
.global noneText
noneText:
.string "none\0"
.align 2,0
.4byte defaultText
.byte 0xff, 0xff, 0xff, 0xff
.4byte noneText
.global defaultText
defaultText:
.string "default\0"

36
data/data_80CE77C_2.s Normal file
View File

@ -0,0 +1,36 @@
.section .rodata
.align 2,0
.asciz "pksdir0"
.asciz "pksdir0"
.global gUnknown_80D4144
gUnknown_80D4144: @ 80D4144
.2byte 302
.2byte 303
.2byte 303
.2byte 301
.2byte 304
.2byte 306
.2byte 307
.2byte 0
.string "pksdir0\0"
.string "pksdir0\0"
.4byte noneText
.byte 0xff, 0xff, 0xff, 0xff
.4byte noneText
.global noneText
noneText:
.string "none\0"
.align 2,0
.4byte defaultText
.byte 0xff, 0xff, 0xff, 0xff
.4byte noneText
.global defaultText
defaultText:
.string "default\0"

View File

@ -18,20 +18,6 @@ typedef struct unkStruct_202EE8C
extern unkStruct_202EE8C gUnknown_202EE8C[32];
// size: 0x4DD8
struct UnkBgStruct
{
OpenedFile *unk0[5];
u8 padding[0x4C4C - 0x14];
unkStruct_202EE8C unk4C4C[16];
u32 unk4DCC;
u32 unk4DD0;
/* 0x4DD4 */ s16 xoffset;
/* 0x4DD6 */ s16 yoffset;
};
extern struct UnkBgStruct *gUnknown_203B0E4;
// size: Variable
typedef struct unkDataFor8004AA4
{

View File

@ -17,7 +17,7 @@ typedef struct unkStruct_203B230
u8 fill18[0x20 - 0x18];
u32 unk20;
u32 unk24;
UnkTextStruct3 unk28;
Windows unk28;
MenuInputStructSub unk88;
} unkStruct_203B230;

View File

@ -20,7 +20,7 @@ typedef struct unkStruct_203B234
MenuStruct unk78;
/* 0xC8 */ u32 menuAction;
MenuItem unkCC[5];
UnkTextStruct3 unkF4;
Windows windows;
} unkStruct_203B234;
bool8 sub_801B60C(u32, u8 id, u8 quantity);

View File

@ -21,7 +21,7 @@ struct unk_203B250
MenuStruct unk18;
MenuItem unk68[8];
u16 unkA8[8];
UnkTextStruct3 unkB8;
Windows windows;
};
// size: 0x8

View File

@ -21,7 +21,7 @@ typedef struct unkStruct_203B270
/* 0x1C */ MenuInputStruct input;
u32 unk50;
u32 unk54;
UnkTextStruct3 unk58;
Windows windows;
const u8 *text;
} unkStruct_203B270;

View File

@ -26,7 +26,7 @@ typedef struct unkStruct_203B294
/* 0xF4 */ u32 menuAction;
MenuItem unkF8[8];
u16 unk138[8];
UnkTextStruct3 unk148;
Windows windows;
} unkStruct_203B294;
bool8 sub_80227B8(PokemonStruct1 *pkmn);

View File

@ -15,9 +15,9 @@ struct unkStruct_203B2AC
struct unkStruct_808FF20 unk4C;
struct UnkInfoTabStruct unkB0;
u32 unkE0;
UnkTextStruct2 *unkE4;
UnkTextStruct3 unkE8;
UnkTextStruct2_sub2 unk148;
Window *unkE4;
Windows unkE8;
WindowHeader unk148;
};
bool8 sub_8024458(s16 speciesNum, s32);

View File

@ -15,7 +15,7 @@ struct unkStruct_203B2FC
/* 0x30 */ u8 jobSlotIndex;
/* 0x34 */ WonderMail *jobInfo;
/* 0x38 */ struct MonPortraitMsg monPortrait;
UnkTextStruct3 unk48;
Windows unk48;
};
bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon);

View File

@ -11,8 +11,8 @@ struct unkStruct_203B300
MenuInputStructSub unk0;
/* 0xC */ unkStruct_802C39C *mail;
u32 unk10;
UnkTextStruct2 *unk14;
UnkTextStruct3 unk18;
Window *unk14;
Windows unk18;
u8 unk78[4];
};

View File

@ -1,9 +1,6 @@
#ifndef GUARD_CONSTANTS_FRIEND_AREA_H
#define GUARD_CONSTANTS_FRIEND_AREA_H
#define NUM_FRIEND_AREAS 58
// Unlock Condition
#define UNLOCK_SHOP_STORY 0
#define UNLOCK_SHOP_POST_GAME 1
@ -68,5 +65,6 @@
#define SOUTHERN_ISLAND 55
#define ENCLOSED_ISLAND 56
#define FINAL_ISLAND 57
#define NUM_FRIEND_AREAS 58
#endif

View File

@ -6,7 +6,7 @@
// size: 0x6C
typedef struct Credits1Work
{
UnkTextStruct3 unk0;
Windows unk0;
s32 unk60;
s32 unk64;
/* 0x68 */ s32 creditsCategoryIndex;

View File

@ -8,7 +8,7 @@
struct DebugMenu
{
MenuStruct unk0[4];
UnkTextStruct3 unk140;
Windows unk140;
u32 fill1A0;
};

View File

@ -14,7 +14,7 @@ typedef struct unkStruct_203B3F0
MenuStruct unk4C;
unkStructFor8013AA0 unk9C;
u8 fillCC[0xD8 - 0xCC];
UnkTextStruct3 unkD8;
Windows unkD8;
} unkStruct_203B3F0;
#endif // GUARD_DEBUG_MENU2_H

View File

@ -12,7 +12,7 @@ typedef struct unkStruct_203B3F4
/* 0x8 */ u32 menuAction;
/* 0xC */ MenuItem menuItems[8];
MenuStruct unk4C;
UnkTextStruct3 unk9C;
Windows unk9C;
} unkStruct_203B3F4;
#endif // GUARD_DEBUG_MENU3_H

View File

@ -17,7 +17,7 @@ typedef struct unkStruct_203B3F8
unkStructFor8013AA0 unk60;
MenuItem unk90[8];
u16 unkD0[8];
UnkTextStruct3 unkE0;
Windows unkE0;
} unkStruct_203B3F8;
#endif // GUARD_DEBUG_MENU4_H

View File

@ -22,7 +22,7 @@ typedef struct FelicityBankWork
unkStructFor8013AA0 unk64;
/* 0x94 */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unkA8;
Windows unkA8;
} FelicityBankWork;
bool8 CreateFelicityBank(s32 mode);

View File

@ -10,13 +10,13 @@ typedef struct FriendAreaSettings
} FriendAreaSettings;
// size: 0xC
typedef struct unkStruct_8092638
{
/* 0x0 */ s16 numPokemon;
s16 unk2;
typedef struct FriendAreaCapacity
{
/* 0x0 */ s16 maxPokemon;
/* 0x2 */ s16 currNoPokemon;
/* 0x4 */ bool8 hasFriendArea;
s32 unk8;
} unkStruct_8092638;
} FriendAreaCapacity;
extern bool8 *gFriendAreas;
@ -38,7 +38,7 @@ void sub_8092404(u8, u16 *, bool8, bool8);
void sub_809249C(u8 friendArea, bool8 clear);
void sub_8092558(u8 *buffer, u8 index);
void WriteFriendAreaName(u8 *buffer, u8 index, bool8 printPrice);
void sub_8092638(u8 friendArea, unkStruct_8092638 *, bool8 checkLeader, bool8 checkDungeon);
void sub_80926F8(u8, unkStruct_8092638 *, u8);
void GetFriendAreaCapacity2(u8 friendArea, FriendAreaCapacity *dst, bool8 checkLeader, bool8 checkPartner);
void GetFriendAreaCapacity(u8 areaId, FriendAreaCapacity *dst, bool8 checkPartner);
#endif // GUARD_FRIEND_AREA_H
#endif // GUARD_FRIEND_AREA_H

View File

@ -65,7 +65,7 @@ struct unkStruct_203B2BC
MenuItem menuItems[4];
u8 fill120[0x16C - 0x13C];
u16 unk16C[10];
UnkTextStruct3 unk180;
Windows unk180;
};
u32 sub_8027074(void);

121
include/friend_areas_map.h Normal file
View File

@ -0,0 +1,121 @@
#ifndef GUARD_FRIEND_AREAS_MAP_H
#define GUARD_FRIEND_AREAS_MAP_H
#include "file_system.h"
#include "code_8004AA0.h"
#include "menu_input.h"
#include "structs/axdata.h"
#include "structs/str_position.h"
#include "constants/direction.h"
#define MAX_AREAS_PER_LOCATION 8
struct FriendAreaLocationInfo
{
const u8 *name;
DungeonPos pos;
u8 areasIds[MAX_AREAS_PER_LOCATION];
s16 adjacentLocations[NUM_DIRECTIONS];
};
struct MapLocation
{
bool8 isShown;
s16 locationsByDirection[NUM_DIRECTIONS];
axdata sprite;
};
enum FriendAreaLocations
{
LOCATION_MOUNTAIN_RANGE,
LOCATION_GLACIER,
LOCATION_PLAINS,
LOCATION_SOUTH_PLAINS,
LOCATION_BADLANDS,
LOCATION_EASTERN_FOREST,
LOCATION_WESTERN_FOREST,
LOCATION_RIVER,
LOCATION_EASTERN_PONDS,
LOCATION_POND,
LOCATION_NORTHERN_LAKES,
LOCATION_EASTERN_LAKES,
LOCATION_MARSH,
LOCATION_CAVE,
LOCATION_JUNGLE,
LOCATION_RUINS,
LOCATION_VOLCANO,
LOCATION_DESERT,
LOCATION_RELICS,
LOCATION_SKY,
LOCATION_NORTHERN_ISLES,
LOCATION_SOUTHERN_ISLES,
LOCATION_SOUTHWEST_ISLES,
LOCATION_WESTERN_ISLES,
LOCATION_NORTHERN_SEA,
LOCATION_SOUTHERN_SEA,
LOCATION_BEACH,
LOCATION_TEAM_BASE,
LOCATION_UNUSED_28,
LOCATION_UNUSED_29,
LOCATION_UNUSED_30,
LOCATION_UNUSED_31,
NUM_FRIEND_AREA_LOCATIONS
};
// size: 0x4DD8
struct FriendAreasMap
{
OpenedFile *unk0[5];
u16 unk14[64][64];
u16 unk2014[64][64];
const struct FriendAreaLocationInfo *locationsInfo;
struct MapLocation mapLocations[NUM_FRIEND_AREA_LOCATIONS];
s32 currLocationId;
s32 unk4A1C;
s32 locationIdOnBPress;
s32 teamBaseLocationId;
s32 unk4A28;
u8 unk4A2C;
axdata arrowSprites[NUM_DIRECTIONS];
axdata monAxSprite;
unkStruct_202EE8C unk4C4C[16];
s32 brightness;
u32 unk4DD0;
DungeonPos bgPos;
DungeonPos monSpritePos;
s32 unk4DDC;
s32 unk4DE0;
s32 unk4DE4;
s32 unk4DE8;
u8 displayedAreas[MAX_AREAS_PER_LOCATION];
u8 chosenFriendAreaId;
s32 displayedAreasCount;
MenuInputStruct menu;
};
extern struct FriendAreasMap *gFriendAreasMapPtr;
struct struct_unk800F990
{
u32 unk0;
u8 startingFriendAreaId;
u8 unk5;
struct FriendAreasMap *friendAreasMapPtr;
u8 unkC;
};
void ShowFriendAreasMap(struct struct_unk800F990 *param_1);
void PrintFriendAreaNameInMap(u8 *strBuffer, u8 index);
bool8 IsFriendAreaShownOnMap(u8 friendAreaId);
void FriendAreasMap_UpdateMonSpritePosition(void);
void FriendAreasMap_UpdateBg(void);
void FriendAreasMap_HideTextWindowAndArrows(void);
void FriendAreasMap_RunFrameActions(void);
void FriendAreasMap_ShowDirectionArrows(void);
void FriendAreasMap_PrintCurrAreaName(void);
void FriendAreasMap_PrintAvailableSubAreas(void);
void FriendAreasMap_CloseFiles(void);
void FriendAreasMap_InitGfx(void);
#endif

View File

@ -31,7 +31,7 @@ typedef struct unkStruct_203B2B4
MenuStruct unk78;
MenuItem unkC8[8];
u16 unk108[8];
UnkTextStruct3 unk118;
Windows unk118;
} unkStruct_203B2B4;
bool8 CreateFriendListMenu(s32 param_1);

View File

@ -23,8 +23,8 @@ typedef struct WonderMailStruct_203B33C
unkStruct_203B480 unk1E8;
u8 unk218;
MenuStruct unk21C[4];
UnkTextStruct3 unk35C;
UnkTextStruct3 unk3BC;
Windows unk35C;
Windows unk3BC;
/* 0x41C */ Item item;
u32 unk420; // Is this supposed to be a File like 203B2C4?
u8 unk424[0x100];

View File

@ -27,7 +27,7 @@ typedef struct GulpinShopWork
u8 fillC8[0x118 - 0xC8];
/* 0x118 */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unk12C;
Windows unk12C;
} GulpinShopWork;
bool8 CreateGulpinShop(u32 mode, s16 pokeSpecies, Move *moves);

View File

@ -35,7 +35,7 @@ typedef struct unkStruct_203B27C
u8 fill11C[0x16C - 0x11C];
/* 0x16C */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unk180;
Windows unk180;
} unkStruct_203B27C;
bool8 sub_801FB50(u32 mode);

View File

@ -16,7 +16,7 @@ struct IQSkillInfoMenu
u8 fill14[0x20 - 0x18];
u32 unk20;
u32 unk24;
UnkTextStruct3 unk28;
Windows unk28;
MenuInputStructSub unk88;
};

View File

@ -19,7 +19,7 @@ struct IQSkillMenu
/* 0x30 */ s32 menuAction;
MenuItem unk34[8];
MenuStruct unk74;
UnkTextStruct3 unkC4;
Windows unkC4;
};
bool8 CreateIQSkillMenu(s16 species);

View File

@ -47,7 +47,7 @@ struct KangaskhanStorageWork
unkStructFor8013AA0 unkA8;
/* 0xD8 */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unkEC;
Windows unkEC;
};
bool8 CreateKangaskhanStorage(u32 mode);

View File

@ -27,7 +27,7 @@ typedef struct unkStruct_203B20C
u16 unk60[8];
MenuStruct unk70;
unkStructFor8013AA0 unkC0;
UnkTextStruct3 unkF0;
Windows unkF0;
} unkStruct_203B20C;
bool8 sub_8017E1C(void);

View File

@ -65,7 +65,7 @@ typedef struct KecleonBrosWork1
/* 0x84 */ MenuStruct menu;
/* 0xD4 */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unkE8;
Windows unkE8;
} KecleonBrosWork1;
// mode corresponds to the enum: KecleonBrosMode

View File

@ -33,7 +33,7 @@ typedef struct LuminousCaveWork
u8 unk110;
u8 unk111;
u8 unk112;
UnkTextStruct3 unk114;
Windows unk114;
} LuminousCaveWork;
void CleanLuminousCave(void);

View File

@ -19,7 +19,7 @@ struct unkStruct_203B304
MenuStruct unk6C;
MenuItem menuItems[8];
u16 unkFC[8];
UnkTextStruct3 unk10C;
Windows unk10C;
};
extern void SetMailboxState(u32);

View File

@ -38,12 +38,12 @@ void CleanUpMenu(void);
void DeleteMainMenu(void);
MainMenu1Work *GetMainMenu(void);
void InitMainMenu(void);
void SetMenuItems(MenuStruct *, UnkTextStruct3 *, s32 index, const UnkTextStruct2 *, const MenuItem *menuItems, bool8, u32 menuAction, bool8 unused);
void SetMenuItems(MenuStruct *, Windows *, s32 index, const Window *, const MenuItem *menuItems, bool8, u32 menuAction, bool8 unused);
void SetUpMenu(void);
s32 UpdateMenu(void);
void sub_8035C1C(void);
void sub_8035CC0(UnkTextStruct3 *dataArray, u32 index);
void sub_8035CC0(Windows *dataArray, u32 index);
void sub_8035CF4(MenuStruct *menu, u32 index, bool8);
void sub_8035D1C(void);
s16 sub_8035D3C(void);

View File

@ -9,7 +9,7 @@ typedef struct MainMenu2Work
{
u32 unk0;
MenuStruct unk4[4];
UnkTextStruct3 unk144;
Windows unk144;
/* 0x1A4 */ u32 currMenuChoice;
} MainMenu2Work;

View File

@ -30,7 +30,7 @@ typedef struct MakuhitaDojoWork1
u8 fill38[0x58 - 0x38];
/* 0x58 */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unk6C;
Windows unk6C;
} MakuhitaDojoWork1;
void MakuhitaDojo_Delete(void);

View File

@ -9,9 +9,9 @@ s32 GetKeyPress(MenuInputStruct *r0);
s32 sub_8012AE8(void);
void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 color, u32 param_6);
void sub_8012C60(u32 x, u32 y, u32 param_3, u32 color, u32 param_5);
void sub_8012CAC(UnkTextStruct2 *param_1, const MenuItem *param_2);
void sub_8012D08(UnkTextStruct2 *param_1, s32 param_2);
void sub_8012D34(UnkTextStruct2 *param_1, s32 param_2);
void sub_8012CAC(Window *param_1, const MenuItem *param_2);
void sub_8012D08(Window *param_1, s32 param_2);
void sub_8012D34(Window *param_1, s32 param_2);
void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
void sub_8012EA4(MenuStruct *param_1, bool8 r1);
@ -31,7 +31,7 @@ void sub_8013780(MenuInputStruct *param_1, s32 param_2);
s32 sub_80137A8(MenuInputStruct *param_1);
void sub_80137B0(MenuInputStruct *param_1, s32 param_2);
void sub_80137F8(MenuInputStruct *param_1, u32 param_2);
s32 sub_8013800(MenuInputStruct *param_1, s32 param_2);
s32 GetMenuEntryYCoord(MenuInputStruct *menu, s32 entryId);
void sub_8013818(MenuInputStruct *param_1, s32 param_2, u32 param_3, s32 param_4);
void sub_8013848(MenuInputStruct *param_1, s32 param_2, u32 param_3, s32 param_4);
void sub_8013878(MenuInputStruct *param_1, s32 param_2);
@ -49,7 +49,7 @@ void sub_8013C68(unkStructFor8013AA0 *);
void sub_8013D10(unkStructFor8013AA0 *);
void sub_8013E54(void);
void sub_8013F84(void);
void sub_80140B4(UnkTextStruct3 *);
void sub_80140B4(Windows *);
#endif // GUARD_MENU_INPUT_H

View File

@ -14,7 +14,7 @@ struct unkStruct_203B25C
/* 0x1C */ MenuStruct menu;
/* 0x6C */ MenuItem menuItems[8];
u16 unkAC[8];
UnkTextStruct3 unkBC;
Windows unkBC;
};
bool8 sub_801DCC4(void);

View File

@ -11,8 +11,8 @@ struct unkStruct_203B260
/* 0x4 */ MenuInputStructSub unk4;
/* 0x10 */ MenuInputStruct input;
u32 unk44;
UnkTextStruct2 *unk48;
UnkTextStruct3 unk4C;
Window *unk48;
Windows unk4C;
};
bool8 sub_801E198(GameOptions *optionsMenu);

View File

@ -18,7 +18,7 @@ typedef struct unkStruct_203B35C
u32 unk14;
u8 fill18[0x1C - 0x18];
MenuStruct unk1C[4];
UnkTextStruct3 unk15C;
Windows unk15C;
unkStruct_8035D94 unk1BC[2];
unkStruct_203B480 unk1CC;
unkStruct_203B480 unk1FC;

View File

@ -32,7 +32,7 @@ typedef struct unkStruct_203B2B8
MenuItem unk16C[10];
MenuItem unk1BC[10];
u16 unk20C[10];
UnkTextStruct3 unk220;
Windows unk220;
} unkStruct_203B2B8;
bool8 CreatePartyListMenu(PokemonStruct1 *pokeStruct);

View File

@ -17,7 +17,7 @@ struct unkStruct_203B308
MenuStruct unk6C;
MenuItem menuItems[8];
u16 unkFC[8];
UnkTextStruct3 unk10C;
Windows unk10C;
};
extern struct unkStruct_203B308 *gPelipperBoard;

View File

@ -14,7 +14,7 @@ struct unkStruct_203B2D4
const u8 *unk10[4];
u32 unk20;
u32 unk24;
UnkTextStruct3 unk28;
Windows unk28;
MenuInputStructSub unk88;
};

View File

@ -11,8 +11,8 @@ typedef struct unkStruct_203B330
u8 unkC;
/* 0xD */ u8 dungeonIndex;
u32 unk10;
UnkTextStruct2 *unk14;
UnkTextStruct3 unk18;
Window *unk14;
Windows unk18;
} unkStruct_203B330;
bool8 sub_80319A4(u8, u8 dungeon, s32);

View File

@ -12,8 +12,8 @@ struct RescuePasswordMenu
u32 currMenu;
u32 state;
MenuStruct unk8[4];
UnkTextStruct3 unk148;
UnkTextStruct3 unk1A8;
Windows unk148;
Windows unk1A8;
SpriteOAM unk208;
u32 unk210;
};

View File

@ -9,7 +9,7 @@ typedef struct SaveMenuWork
/* 0x0 */ u32 currMenu;
u32 unk4;
MenuStruct unk8[4];
UnkTextStruct3 unk148;
Windows unk148;
SpriteOAM unk1A8;
u32 unk1B0; // Sprite count?
} SaveMenuWork;

View File

@ -41,6 +41,7 @@ void sub_800533C(ax_pose **, UnkSpriteMem **, axdata1 *, unkStruct_2039DB0 *, bo
void AxResInitFile(axdata *, OpenedFile *, u32, u32, u32, u32, bool8);
void AxResInit(axdata *, axmain *, u32, u32, u32, u32, bool8);
void AxResInitUnorientedFile(axdata *, OpenedFile *, u32, u32, u32, bool8);
void RunAxAnimationFrame(struct axObject *);
void RunAxAnimationFrame(struct axdata *);
void DoAxFrame_800558C(struct axdata *a0, s32 spriteX, s32 spriteY, u32 a3, u32 paletteNum, unkStruct_2039DB0 *spriteMasks);
#endif // GUARD_SPRITE_H

View File

@ -24,7 +24,7 @@ typedef struct MenuInputStruct
{
s32 unk0;
u16 unk4;
s16 unk6;
s16 firstEntryY;
DungeonPos unk8;
s16 unkC; // Maybe DungeonPos
s16 unkE;
@ -72,7 +72,7 @@ typedef struct unkStructFor8013AA0
s32 unkC; // maxInclusive?
s32 unk10;
s32 unk14; // index of unk18? But read as chosenValue..?
UnkTextStruct2 *unk18;
Window *unk18;
s32 unk1C; // width of prompt?
s32 unk20; // height of prompt?
u8 unk24; // related to unk10

View File

@ -28,36 +28,43 @@ typedef struct UnkTextStruct1
u8 unk46;
} UnkTextStruct1;
typedef struct UnkTextStruct2_sub2
typedef struct WindowHeader
{
u8 f0;
u8 f1;
u8 f2;
u8 f3;
} UnkTextStruct2_sub2;
} WindowHeader;
#include "structs/str_position.h"
// size: 0x18
typedef struct UnkTextStruct2
typedef struct Window
{
u8 unk0;
u8 fill1[0x4 - 0x1];
s32 unk4;
s32 type;
DungeonPos pos;
s16 unkC;
s16 unkE;
s16 unk10;
s16 width;
s16 height;
s16 unk10; // In most cases it's the same as height. If it's smaller than height, the window may look glitchy. Maybe something with tile allocation/how the window is filled?
s16 unk12;
const UnkTextStruct2_sub2 *unk14; // Pointer to 4 bytes which may be x-coord related. Could be window's header?
} UnkTextStruct2;
const WindowHeader *unk14;
} Window;
typedef struct UnkTextStruct3 {
UnkTextStruct2 a0[4];
#define WINDOW_TYPE_WITHOUT_BORDER 1
#define WINDOW_TYPE_NORMAL 3
#define WINDOW_TYPE_FILL_TRANSPARENT 5
#define WINDOW_TYPE_WITH_HEADER 6
#define WINDOW_TYPE_7 7
#define MAX_WINDOWS 4
typedef struct Windows {
Window id[MAX_WINDOWS];
// Something ugly, so that sub_805FD74 could match weird compiler memcpy/stack initialization
#ifndef NONMATCHING
u8 fakeMatch[0];
#endif // NONMATCHING
} UnkTextStruct3;
} Windows;
#endif // GUARD_STR_TEXT_H

View File

@ -12,8 +12,8 @@ typedef struct struct_Sub80095E4
{
/* 0x0 */ MenuInputStruct input;
u32 unk34;
UnkTextStruct2 *unk38;
UnkTextStruct3 unk3C;
Window *unk38;
Windows windows;
// size: 0x9C
} struct_Sub80095E4;
@ -22,7 +22,7 @@ typedef struct struct_Sub80095E4
typedef struct struct_Sub80095E4_2
{
/* 0x0 */ struct_Sub80095E4 s0; // s as in 'struct' ; decided to go against unk as to not have `->unk0->unk3C`
UnkTextStruct2_sub2 unk9C;
WindowHeader unk9C;
} struct_Sub80095E4_2;
// Note: In order to get matching ASM, this macro had to be created.
@ -33,16 +33,16 @@ typedef struct struct_Sub80095E4_2
s16 newE; \
s16 a0 = (_a0); \
UNUSED s32 a0_ = a0; \
UNUSED s16 oldE = (ptr).unk3C.a0[(ptr).unk34].unkE; \
UNUSED s16 oldE = (ptr).windows.id[(ptr).unk34].height; \
a0_ = 0; \
new10 = a0 + 2; \
newE = a0; \
\
(ptr).unk3C.a0[(ptr).unk34].unkE = newE; \
(ptr).unk3C.a0[(ptr).unk34].unk10 = a0 + 2; \
(ptr).windows.id[(ptr).unk34].height = newE; \
(ptr).windows.id[(ptr).unk34].unk10 = a0 + 2; \
\
ResetUnusedInputStruct(); \
xxx_call_save_unk_text_struct_800641C(&(ptr).unk3C, TRUE, TRUE); \
ShowWindows(&(ptr).windows, TRUE, TRUE); \
}
#define SUB_80095E4_CALL(ptr) \
@ -54,14 +54,14 @@ typedef struct struct_Sub80095E4_2
#define SUB_80095E4_CALL_2(ptr) \
{ \
s32 a0 = sub_80095E4((ptr).input.unk1A, 12) + 2; \
UNUSED s16 oldE = (ptr).unk3C.a0[(ptr).unk34].unkE; \
UNUSED s16 oldE = (ptr).windows.id[(ptr).unk34].height; \
s16 newE = a0; \
\
(ptr).unk3C.a0[(ptr).unk34].unkE = newE; \
(ptr).unk3C.a0[(ptr).unk34].unk10 = newE; \
(ptr).windows.id[(ptr).unk34].height = newE; \
(ptr).windows.id[(ptr).unk34].unk10 = newE; \
\
ResetUnusedInputStruct(); \
xxx_call_save_unk_text_struct_800641C(&(ptr).unk3C, TRUE, TRUE); \
ShowWindows(&(ptr).windows, TRUE, TRUE); \
}
// sub_802BF30 and sub_802C328 use a different function call, and 24 instead of 12

View File

@ -63,8 +63,8 @@ u32 UpdateFadeInTile(u32 a0);
u32 sub_80063B0(void);
void SelectCharmap(u32 a0);
void SetCharacterMask(int a0);
void xxx_call_save_unk_text_struct_800641C(const UnkTextStruct3 *a0, bool8 a1, bool8 a2);
void RestoreUnkTextStruct_8006518(UnkTextStruct3 *unkData);
void ShowWindows(const Windows *windows, bool8 a1, bool8 a2);
void RestoreUnkTextStruct_8006518(Windows *unkData);
u32 sub_8006544(u32 index);
void sub_8007334(s32 a0);
void sub_80073B8(s32 a0);

View File

@ -22,8 +22,8 @@ typedef struct WonderMailStruct_203B2C4
unkStruct_203B480 unk1E8;
/* 0x218 */ s8 mailIndex;
MenuStruct unk21C[4];
UnkTextStruct3 unk35C;
UnkTextStruct3 unk3BC;
Windows unk35C;
Windows unk3BC;
Item unk41C;
/* 0x420 */ struct MonPortraitMsg monPortrait;
u32 unk430;

View File

@ -47,8 +47,8 @@ struct TradeItemsMenu
u32 unk10;
unkStructFor8013AA0 unk14;
MenuStruct unk44[4];
UnkTextStruct3 unk184;
UnkTextStruct3 unk1E4;
Windows unk184;
Windows unk1E4;
// TODO These might be structs...
struct TradeItem unk244;

View File

@ -13,8 +13,8 @@ typedef struct WigglytuffShop2Work
u32 pokemonStatus[0x10];
/* 0x70 */ s32 numPokemoninFriendArea;
s32 unk74;
UnkTextStruct2 *unk78;
UnkTextStruct3 unk7C;
Window *unk78;
Windows unk7C;
u8 unkDC[4];
} WigglytuffShop2Work;

View File

@ -54,7 +54,7 @@ typedef struct WigglytuffShop3Work
MenuStruct unk6C;
/* 0xBC */ struct MonPortraitMsg monPortrait;
struct MonPortraitMsg *monPortraitPtr;
UnkTextStruct3 unkD0;
Windows unkD0;
u32 unk130;
u32 unk134;
} WigglytuffShop3Work;

View File

@ -22,8 +22,8 @@ typedef struct WonderMailStruct_203B2C0
u8 fill16A[0x218 - 0x1B8];
/* 0x218 */ u8 mailIndex;
MenuStruct unk21C[4];
UnkTextStruct3 unk35C;
UnkTextStruct3 unk3BC;
Windows unk35C;
Windows unk3BC;
/* 0x41C */ u32 unkfill; // ItemSlot?
/* 0x420 */ struct MonPortraitMsg monPortrait;
/* 0x430 */ u8 padding3[0x534 - 0x430];

View File

@ -19,7 +19,7 @@ struct unkStruct_203B2F0
MenuItem unk10C[8];
MenuItem unk14C[8];
u8 fill18C[0x19C - 0x18C];
UnkTextStruct3 unk19C;
Windows unk19C;
};
bool8 InitializeJobListMenu(u32);

View File

@ -34,7 +34,7 @@ typedef struct unkStruct_203B2F8
MenuItem unk118[8];
MenuItem unk158[8];
u16 unk198[8];
UnkTextStruct3 unk1A8;
Windows unk1A8;
} unkStruct_203B2F8;
bool8 GetWonderMailAccepted(void);

57
include/world_map.h Normal file
View File

@ -0,0 +1,57 @@
#ifndef GUARD_WORLD_MAP_H
#define GUARD_WORLD_MAP_H
#include "file_system.h"
#include "code_8004AA0.h"
#include "menu_input.h"
#include "structs/axdata.h"
#include "structs/str_position.h"
#include "structs/str_dungeon.h"
struct UnkStruct_Sub1
{
u8 unk0;
DungeonPos unk4;
axdata unk8;
};
struct WorldMap
{
struct UnkStruct_Sub1 unk0[64];
OpenedFile *unk1100[5];
u16 unk1114[64][64];
u16 unk3114[64][64];
axdata monAxSprite;
unkStruct_202EE8C unk5150[16];
s32 brightness;
s32 unk52D4;
DungeonPos bgPos;
DungeonPos monSpritePos;
u16 unk52E0[1500];
u8 unk5E98[1500];
};
struct UnkStruct_sub_8010494
{
DungeonLocation unk0;
DungeonLocation unk4;
u8 pad1[8];
u8 unk10;
u8 pad2[0xA];
s16 unk1C;
u8 pad3[0x6E - 0x20];
u8 unk6C;
u8 unk6D[63];
};
struct UnkStruct_sub_8010268
{
u8 fill0[4];
struct UnkStruct_sub_8010494 unk4;
struct WorldMap *unkB0;
u8 unkB4;
};
void ShowWorldMap(struct UnkStruct_sub_8010268 *r5);
#endif

View File

@ -89,9 +89,9 @@ SECTIONS {
asm/code_800ED38.o(.text);
src/code_800F034.o(.text);
src/code_800F958.o(.text);
asm/code_800F990.o(.text);
src/code_8010EF0.o(.text);
asm/code_8010F28.o(.text);
src/friend_areas_map.o(.text);
src/world_map.o(.text);
src/friend_areas_map_util.o(.text);
src/code_80118A4.o(.text);
src/debug.o(.text);
src/save.o(.text);
@ -419,6 +419,10 @@ SECTIONS {
src/code_800F034.o(.rodata);
src/code_800F958.o(.rodata);
data/data_80CE77C.o(.rodata);
src/friend_areas_map.o(.rodata);
src/world_map.o(.rodata);
src/friend_areas_map_util.o(.rodata);
data/data_80CE77C_2.o(.rodata);
src/debug.o(.rodata);
src/save.o(.rodata);
src/save_read.o(.rodata);

View File

@ -23,13 +23,13 @@ bool8 CreateAdventureLogScreen(u32 kind)
{
sAdventureLog = MemoryAlloc(sizeof(*sAdventureLog), 8);
sAdventureLog->s0.unk34 = kind;
sAdventureLog->s0.unk38 = &sAdventureLog->s0.unk3C.a0[kind];
RestoreUnkTextStruct_8006518(&sAdventureLog->s0.unk3C);
sAdventureLog->s0.unk3C.a0[sAdventureLog->s0.unk34] = sUnknown_80E2008;
sAdventureLog->s0.unk38 = &sAdventureLog->s0.windows.id[kind];
RestoreUnkTextStruct_8006518(&sAdventureLog->s0.windows);
sAdventureLog->s0.windows.id[sAdventureLog->s0.unk34] = sUnknown_80E2008;
sAdventureLog->s0.unk38->unk14 = &sAdventureLog->unk9C;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sAdventureLog->s0.unk3C, TRUE, TRUE);
ShowWindows(&sAdventureLog->s0.windows, TRUE, TRUE);
sub_8013818(&sAdventureLog->s0.input, 0x20, 8, kind);
sub_8032084();
DisplayAdventureLog();
@ -63,9 +63,9 @@ u32 HandleAdventureLogInput(bool8 a0)
void CleanAdventureLogScreen(void)
{
if (sAdventureLog != NULL) {
sAdventureLog->s0.unk3C.a0[sAdventureLog->s0.unk34] = sUnknown_80E1FF0;
sAdventureLog->s0.windows.id[sAdventureLog->s0.unk34] = sUnknown_80E1FF0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sAdventureLog->s0.unk3C, TRUE, TRUE);
ShowWindows(&sAdventureLog->s0.windows, TRUE, TRUE);
MemoryFree(sAdventureLog);
sAdventureLog = NULL;
}
@ -107,31 +107,31 @@ static void DisplayAdventureLog(void)
case AA_NUM_FLOORS_EXPLORED: {
s32 v1 = GetAdventureFloorsExplored();
gFormatArgs[0] = (s16)v1;
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
case AA_NUM_MOVES_LEARNED: {
s32 v2 = GetAdventureMovesLearned();
gFormatArgs[0] = (s16)v2;
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
case AA_NUM_THIEVING_SUCCESSES: {
s32 v3 = GetThievingSuccesses();
gFormatArgs[0] = (s16)v3;
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
case AA_NUM_FRIEND_RESCUE_SUCCESSES: {
s32 v4 = GetFriendRescueSuccesses();
gFormatArgs[0] = v4;
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
case AA_NUM_POKEMON_EVOLVED: {
s32 v5 = GetAdventureNumEvolved();
gFormatArgs[0] = v5;
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
case AA_NUM_POKEMON_JOINED: {
@ -140,13 +140,13 @@ static void DisplayAdventureLog(void)
// fallthrough
}
default: {
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
break;
}
}
}
else
PrintStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), sPlaceholder, sAdventureLog->s0.unk34, 0);
PrintStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), sPlaceholder, sAdventureLog->s0.unk34, 0);
}
sub_80073E0(sAdventureLog->s0.unk34);

View File

@ -13,7 +13,7 @@ void CreateAdventureLogMenu(void)
void CleanAdventureLogMenu(void)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
}
u32 UpdateAdventureLogMenu(void)

View File

@ -101,7 +101,7 @@ void GameLoop(void)
UpdateFadeInTile(0);
InitFontPalette();
sub_800CDA8(2);
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
gUnknown_2026E4E = 0x1000;
LoadTitleScreen();
SetBG2RegOffsets(0, 0);

View File

@ -32,28 +32,6 @@ extern const s16 gUnknown_80B83EA[16 * 10];
static void sub_800561C(struct axMapSprite *, s32, s32, const RGB *);
const RGB *sub_8005674(struct axMapSprite *, s32);
void DoAxFrame_800558C(struct axObject *a0, s32 spriteX, s32 spriteY, u32 a3, u32 paletteNum, unkStruct_2039DB0 *spriteMasks)
{
if (!(a0->axdata.flags >> 15))
return;
if (a0->axdata.sub1.poseId < 0)
RunAxAnimationFrame(a0);
if (!(a0->axdata.flags >> 15))
return;
a0->axdata.sub1.pos.x = a0->axdata.sub1.offset.x + spriteX;
a0->axdata.sub1.pos.y = a0->axdata.sub1.offset.y + spriteY;
a0->axdata.sub1.paletteNum = paletteNum;
a0->axdata.sub1.unk16 = a3;
sub_800533C(a0->axdata.poseData, a0->axdata.spriteData, &a0->axdata.sub1, spriteMasks, !!(a0->axdata.sub1.lastPoseId ^ a0->axdata.sub1.poseId));
a0->axdata.sub1.lastPoseId = a0->axdata.sub1.poseId;
if (a0->axdata.flags & 0x800)
a0->axdata.flags &= 0xF7FF;
}
void sub_8005610(OpenedFile *a0, s32 vramIdx, s32 brightness, const RGB *ramp)
{
sub_800561C((struct axMapSprite *)a0->data, vramIdx, brightness, ramp);

View File

@ -1,37 +0,0 @@
#include "global.h"
#include "code_8004AA0.h"
#include "text.h"
EWRAM_INIT struct UnkBgStruct *gUnknown_203B0E4 = NULL;
EWRAM_INIT void *gUnknown_203B0E8 = NULL; // Pointer to some unknown struct
EWRAM_INIT UnkTextStruct2 gUnknown_203B0EC[4] = { // Exact location of this variable is unknown. Find a better place for it once more code is decompiled.
[0] = {
.unk4 = 3,
.pos = {2, 10},
.unkC = 26,
.unkE = 9,
.unk10 = 9,
},
[1] = {
.unk4 = 3,
.pos = {23, 6},
.unkC = 5,
.unkE = 3,
.unk10 = 3,
},
[2] = {
.unk4 = 3,
},
[3] = {
.unk4 = 3,
},
};
void sub_8010EF0(void)
{
CloseFile(gUnknown_203B0E4->unk0[4]);
CloseFile(gUnknown_203B0E4->unk0[2]);
CloseFile(gUnknown_203B0E4->unk0[3]);
CloseFile(gUnknown_203B0E4->unk0[0]);
CloseFile(gUnknown_203B0E4->unk0[1]);
}

View File

@ -1,18 +1,10 @@
#include <stdarg.h>
#include <stdio.h>
#include "global.h"
#include "bg_palette_buffer.h"
#include "code_8004AA0.h"
#include "code_800558C.h"
#include "code_8009804.h"
#include "code_800C9CC.h"
#include "code_80118A4.h"
#include "music.h"
#include "constants/bg_music.h"
#include "play_time.h"
#include "bg_control.h"
#include "config.h"
#include "game_options.h"
#include "sprite.h"
#include "event_flag.h"
#include "file_system.h"
@ -24,33 +16,9 @@ EWRAM_DATA s16 gUnknown_202DE20 = {0};
EWRAM_DATA s16 gUnknown_202DE22 = {0};
EWRAM_DATA s16 gUnknown_202DE24 = {0};
extern void xxx_call_update_bg_vram(void);
extern bool8 sub_80111C4();
extern void sub_8010F28();
void sub_801169C(void)
{
SetBG2RegOffsets(gUnknown_203B0E4->xoffset, gUnknown_203B0E4->yoffset);
SetBG3RegOffsets(gUnknown_203B0E4->xoffset, gUnknown_203B0E4->yoffset);
sub_8010F28();
sub_8004AF0(sub_80111C4(), gUnknown_203B0E4->unk4C4C, 0xB0, 16, gUnknown_203B0E4->unk4DCC, NULL);
sub_8005838(NULL, 0);
nullsub_8(gGameOptionsRef->unkA);
sub_8005180();
sub_80060EC();
IncrementPlayTime(gPlayTimeRef);
sub_800CB20();
LoadBufferedInputs();
CopySpritesToOam();
sub_8005304();
TransferBGPaletteBuffer();
xxx_call_update_bg_vram();
sub_8009908();
xxx_call_update_bg_sound_input();
sub_8011860();
ResetSprites(FALSE);
}
void sub_8011760(void)
{
if (sub_80023E4(13))

View File

@ -16,14 +16,14 @@ struct unkStruct_203B1F8
// size: 0x4B4
u32 menuAction;
MenuStruct unk4;
UnkTextStruct3 unk54;
Windows windows;
u8 buffer[0x400];
};
EWRAM_INIT struct unkStruct_203B1F8 *gUnknown_203B1F8 = {NULL};
const UnkTextStruct2 gUnknown_80DAF70 = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80DAF70 = {
0x00,
0x03,
0x00, 0x00,
0x00, 0x00,
@ -31,8 +31,8 @@ const UnkTextStruct2 gUnknown_80DAF70 = {
NULL
};
const UnkTextStruct2 gUnknown_80DAF88 = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80DAF88 = {
0x00,
0x03,
0x02, 0x02,
0x1A, 0x0c,
@ -40,8 +40,8 @@ const UnkTextStruct2 gUnknown_80DAF88 = {
NULL
};
const UnkTextStruct2 gUnknown_80DAFA0 = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80DAFA0 = {
0x00,
0x03,
0x16, 0x0F,
0x06, 0x03,
@ -251,8 +251,8 @@ static const u8 *const gUnknown_80DB4F4[] =
_("END"),
};
static const UnkTextStruct2 gUnknown_80DB538 = {
0x00, 0x00, 0x00, 0x00,
static const Window gUnknown_80DB538 = {
0x00,
0x03,
0x00, 0x00,
0x00, 0x00,
@ -260,8 +260,8 @@ static const UnkTextStruct2 gUnknown_80DB538 = {
NULL
};
static const UnkTextStruct2 gUnknown_80DB550 = {
0x00, 0x00, 0x00, 0x00,
static const Window gUnknown_80DB550 = {
0x00,
0x01,
0x01, 0x0A,
0x1C, 0x09,
@ -269,8 +269,8 @@ static const UnkTextStruct2 gUnknown_80DB550 = {
NULL
};
static const UnkTextStruct2 gUnknown_80DB568 = {
0x00, 0x00, 0x00, 0x00,
static const Window gUnknown_80DB568 = {
0x00,
0x01,
0x04, 0x03,
0x16, 0x05,
@ -278,8 +278,8 @@ static const UnkTextStruct2 gUnknown_80DB568 = {
NULL
};
static const UnkTextStruct2 gUnknown_80DB580 = {
0x00, 0x00, 0x00, 0x00,
static const Window gUnknown_80DB580 = {
0x00,
0x01,
0x01, 0x02,
0x1C, 0x07,
@ -296,14 +296,14 @@ bool8 sub_8015080(u8 *buffer, const MenuItem *menuItems)
for(index = 0; index < 4; index++)
{
gUnknown_203B1F8->unk54.a0[index] = gUnknown_80DAF70;
gUnknown_203B1F8->windows.id[index] = gUnknown_80DAF70;
}
gUnknown_203B1F8->unk54.a0[0] = gUnknown_80DAF88;
gUnknown_203B1F8->unk54.a0[2] = gUnknown_80DAFA0;
sub_8012CAC(&gUnknown_203B1F8->unk54.a0[2], menuItems);
gUnknown_203B1F8->windows.id[0] = gUnknown_80DAF88;
gUnknown_203B1F8->windows.id[2] = gUnknown_80DAFA0;
sub_8012CAC(&gUnknown_203B1F8->windows.id[2], menuItems);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B1F8->unk54, 1, 1);
ShowWindows(&gUnknown_203B1F8->windows, 1, 1);
sub_80073B8(0);
FormatString(buffer, gUnknown_203B1F8->buffer, gUnknown_203B1F8->buffer + 0x400, 0);
PrintStringOnWindow(4, 4, gUnknown_203B1F8->buffer, 0, 0);
@ -356,7 +356,7 @@ struct unkStruct_203B1FC
u8 *unkF8;
u8 unkFC[56];
u8 *unk134;
UnkTextStruct3 unk138;
Windows windows;
};
extern struct unkStruct_203B1FC *gUnknown_203B1FC;
@ -471,19 +471,19 @@ u32 sub_80151C0(u32 r0, u8 *buffer)
gUnknown_203B1FC->unk17 = 0;
for (index = 0; index < 4; index++) {
gUnknown_203B1FC->unk138.a0[index] = gUnknown_80DB538;
gUnknown_203B1FC->windows.id[index] = gUnknown_80DB538;
}
if(gUnknown_203B1FC->unk4 != 0) {
gUnknown_203B1FC->unk138.a0[1] = gUnknown_80DB580;
gUnknown_203B1FC->windows.id[1] = gUnknown_80DB580;
}
else {
gUnknown_203B1FC->unk138.a0[1] = gUnknown_80DB568;
gUnknown_203B1FC->windows.id[1] = gUnknown_80DB568;
}
gUnknown_203B1FC->unk138.a0[0] = gUnknown_80DB550;
gUnknown_203B1FC->windows.id[0] = gUnknown_80DB550;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B1FC->unk138, 1, 1);
ShowWindows(&gUnknown_203B1FC->windows, 1, 1);
sub_8015A08(1);
sub_8015C1C();

View File

@ -27,7 +27,7 @@ static void sub_801629C(void);
u32 CreateConfirmNameMenu(u32 mode, u8 *name)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
sUnknown_203B200 = MemoryAlloc(sizeof(struct unkStruct_203B200), 8);
sUnknown_203B200->unk0 = mode;

View File

@ -28,7 +28,7 @@ bool8 sub_801B3C0(Item *item)
sUnknown_203B230->unk24 = 0;
sub_80140B4(&sUnknown_203B230->unk28);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B230->unk28, TRUE, TRUE);
ShowWindows(&sUnknown_203B230->unk28, TRUE, TRUE);
sub_801B46C(0);
return TRUE;
}

View File

@ -124,26 +124,26 @@ static void sub_801B760(void)
case 13:
case 14:
case 15:
RestoreUnkTextStruct_8006518(&sUnknown_203B234->unkF4);
RestoreUnkTextStruct_8006518(&sUnknown_203B234->windows);
for (i = 0; i < 4; i++)
sUnknown_203B234->unkF4.a0[i] = sUnknown_80DBA58;
sUnknown_203B234->windows.id[i] = sUnknown_80DBA58;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B234->unkF4, TRUE, TRUE);
ShowWindows(&sUnknown_203B234->windows, TRUE, TRUE);
break;
case 10:
RestoreUnkTextStruct_8006518(&sUnknown_203B234->unkF4);
RestoreUnkTextStruct_8006518(&sUnknown_203B234->windows);
sub_801BB5C();
sUnknown_203B234->unkF4.a0[2] = sUnknown_80DBA70;
sub_8012CAC(&sUnknown_203B234->unkF4.a0[2], sUnknown_203B234->unkCC);
sUnknown_203B234->windows.id[2] = sUnknown_80DBA70;
sub_8012CAC(&sUnknown_203B234->windows.id[2], sUnknown_203B234->unkCC);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B234->unkF4, TRUE, TRUE);
ShowWindows(&sUnknown_203B234->windows, TRUE, TRUE);
break;
case 12:
RestoreUnkTextStruct_8006518(&sUnknown_203B234->unkF4);
sUnknown_203B234->unkF4.a0[1] = sUnknown_80DBA88;
RestoreUnkTextStruct_8006518(&sUnknown_203B234->windows);
sUnknown_203B234->windows.id[1] = sUnknown_80DBA88;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B234->unkF4, TRUE, TRUE);
ShowWindows(&sUnknown_203B234->windows, TRUE, TRUE);
break;
}
}

View File

@ -29,17 +29,17 @@ bool8 sub_801C8C4(s32 a0, s32 a1, DungeonPos *a2, u32 a3)
sUnknown_203B244->unk0 = a0;
sub_801CF94();
sUnknown_203B244->unk4B4.s0.unk34 = a1;
sUnknown_203B244->unk4B4.s0.unk38 = &sUnknown_203B244->unk4B4.s0.unk3C.a0[a1];
RestoreUnkTextStruct_8006518(&sUnknown_203B244->unk4B4.s0.unk3C);
sUnknown_203B244->unk4B4.s0.unk3C.a0[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE54;
sUnknown_203B244->unk4B4.s0.unk38 = &sUnknown_203B244->unk4B4.s0.windows.id[a1];
RestoreUnkTextStruct_8006518(&sUnknown_203B244->unk4B4.s0.windows);
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE54;
sUnknown_203B244->unk4B4.s0.unk38->unk14 = &sUnknown_203B244->unk4B4.unk9C;
if (a2 != NULL)
sUnknown_203B244->unk4B4.s0.unk3C.a0[sUnknown_203B244->unk4B4.s0.unk34].pos = *a2;
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34].pos = *a2;
sub_8012D08(sUnknown_203B244->unk4B4.s0.unk38, a3);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B244->unk4B4.s0.unk3C, TRUE, TRUE);
ShowWindows(&sUnknown_203B244->unk4B4.s0.windows, TRUE, TRUE);
sub_8013818(&sUnknown_203B244->unk4B4.s0.input, sub_801CE58(), a3, a1);
if (sUnknown_203B248 == sUnknown_203B244->unk0) {
@ -111,7 +111,7 @@ u8 sub_801CB24(void)
void sub_801CB5C(bool8 a0)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B244->unk4B4.s0.unk3C, FALSE, FALSE);
ShowWindows(&sUnknown_203B244->unk4B4.s0.windows, FALSE, FALSE);
sUnknown_203B244->unk4B4.s0.input.unk22 = sub_801CE58();
sub_8013984(&sUnknown_203B244->unk4B4.s0.input);
sub_801CC38();
@ -127,9 +127,9 @@ void sub_801CBB8(void)
sUnknown_203B248 = sUnknown_203B244->unk0;
sUnknown_203B24C = sUnknown_203B244->unk4B4.s0.input.menuIndex;
sUnknown_203B24E = sUnknown_203B244->unk4B4.s0.input.unk1E;
sUnknown_203B244->unk4B4.s0.unk3C.a0[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE3C;
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE3C;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B244->unk4B4.s0.unk3C, TRUE, TRUE);
ShowWindows(&sUnknown_203B244->unk4B4.s0.windows, TRUE, TRUE);
MemoryFree(sUnknown_203B244);
sUnknown_203B244 = NULL;
}
@ -161,13 +161,13 @@ void sub_801CCD8(void)
for(index = 0; index < sUnknown_203B244->unk4B4.s0.input.unk1A; index++) {
itemID = sUnknown_203B244->itemIDs[(sUnknown_203B244->unk4B4.s0.input.unk1E * sUnknown_203B244->unk4B4.s0.input.unk1C) + index];
BufferItemName(buffer, itemID, NULL);
y = sub_8013800(&sUnknown_203B244->unk4B4.s0.input, index);
y = GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index);
PrintStringOnWindow(8, y, buffer, sUnknown_203B244->unk4B4.s0.unk34, 0);
y2 = sub_8013800(&sUnknown_203B244->unk4B4.s0.input, index);
sub_8012BC4((sUnknown_203B244->unk4B4.s0.unk38->unkC * 8) - 2, y2, gTeamInventoryRef->teamStorage[itemID], 3, 5, sUnknown_203B244->unk4B4.s0.unk34);
y2 = GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index);
sub_8012BC4((sUnknown_203B244->unk4B4.s0.unk38->width * 8) - 2, y2, gTeamInventoryRef->teamStorage[itemID], 3, 5, sUnknown_203B244->unk4B4.s0.unk34);
if (sub_801CFE0(itemID) & 1)
sub_8007B7C(sUnknown_203B244->unk4B4.s0.unk34, 8, sub_8013800(&sUnknown_203B244->unk4B4.s0.input, index), (sUnknown_203B244->unk4B4.s0.unk38->unkC - 1) * '\b', 10); // TODO: Ghidra being crazy
sub_8007B7C(sUnknown_203B244->unk4B4.s0.unk34, 8, GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index), (sUnknown_203B244->unk4B4.s0.unk38->width - 1) * 8, 10);
}
sub_80073E0(sUnknown_203B244->unk4B4.s0.unk34);

View File

@ -61,7 +61,7 @@ bool8 sub_801D014(PokemonStruct1 *a0)
struct unk_203B250 *preload;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
sUnknown_203B250 = MemoryAlloc(sizeof(struct unk_203B250), 8);
sUnknown_203B250->menuAction = sUnknown_203B254;
@ -188,7 +188,7 @@ static void sub_801D220(void)
{
s32 i;
RestoreUnkTextStruct_8006518(&sUnknown_203B250->unkB8);
RestoreUnkTextStruct_8006518(&sUnknown_203B250->windows);
switch (sUnknown_203B250->state) {
case 0:
@ -196,47 +196,47 @@ static void sub_801D220(void)
if (sUnknown_203B250->pokeStruct != NULL) {
for (i = 0; i < 4; i++)
sUnknown_203B250->unkB8.a0[i] = sUnknown_80DBE7C;
sUnknown_203B250->windows.id[i] = sUnknown_80DBE7C;
sUnknown_203B250->unkB8.a0[0] = sUnknown_80DBE98;
sub_8012CAC(&sUnknown_203B250->unkB8.a0[0], sUnknown_203B250->unk68);
sUnknown_203B250->unkB8.a0[0].unkC = 9;
sUnknown_203B250->windows.id[0] = sUnknown_80DBE98;
sub_8012CAC(&sUnknown_203B250->windows.id[0], sUnknown_203B250->unk68);
sUnknown_203B250->windows.id[0].width = 9;
}
else {
for (i = 0; i < 4; i++)
sUnknown_203B250->unkB8.a0[i] = sUnknown_80DBEB0[i];
for (i = 0; i < MAX_WINDOWS; i++)
sUnknown_203B250->windows.id[i] = sUnknown_80DBEB0[i];
sub_8012CAC(&sUnknown_203B250->unkB8.a0[0], sUnknown_203B250->unk68);
sUnknown_203B250->unkB8.a0[0].unkC = 8;
sub_8012CAC(&sUnknown_203B250->windows.id[0], sUnknown_203B250->unk68);
sUnknown_203B250->windows.id[0].width = 8;
}
break;
case 1:
sub_801D4C0();
if (sUnknown_203B250->pokeStruct != NULL) {
for (i = 0; i < 4; i++)
sUnknown_203B250->unkB8.a0[i] = sUnknown_80DBE7C;
for (i = 0; i < MAX_WINDOWS; i++)
sUnknown_203B250->windows.id[i] = sUnknown_80DBE7C;
sUnknown_203B250->unkB8.a0[0] = sUnknown_80DBE98;
sub_8012CAC(&sUnknown_203B250->unkB8.a0[0], sUnknown_203B250->unk68);
sUnknown_203B250->unkB8.a0[0].unkC = 9;
sUnknown_203B250->windows.id[0] = sUnknown_80DBE98;
sub_8012CAC(&sUnknown_203B250->windows.id[0], sUnknown_203B250->unk68);
sUnknown_203B250->windows.id[0].width = 9;
}
else {
for (i = 0; i < 4; i++)
sUnknown_203B250->unkB8.a0[i] = sUnknown_80DBEB0[i];
for (i = 0; i < MAX_WINDOWS; i++)
sUnknown_203B250->windows.id[i] = sUnknown_80DBEB0[i];
sub_8012CAC(&sUnknown_203B250->unkB8.a0[0], sUnknown_203B250->unk68);
sUnknown_203B250->unkB8.a0[0].unkC = 8;
sub_8012CAC(&sUnknown_203B250->windows.id[0], sUnknown_203B250->unk68);
sUnknown_203B250->windows.id[0].width = 8;
}
break;
default:
for (i = 0; i < 4; i++)
sUnknown_203B250->unkB8.a0[i] = sUnknown_80DBE7C;
sUnknown_203B250->windows.id[i] = sUnknown_80DBE7C;
break;
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B250->unkB8, TRUE, TRUE);
ShowWindows(&sUnknown_203B250->windows, TRUE, TRUE);
}
static void sub_801D3A8(void)

View File

@ -23,12 +23,12 @@ bool8 sub_801D9E4(void)
{
sUnknown_203B258 = MemoryAlloc(sizeof(*sUnknown_203B258), 8);
sUnknown_203B258->s0.unk34 = 3;
sUnknown_203B258->s0.unk38 = &sUnknown_203B258->s0.unk3C.a0[3];
RestoreUnkTextStruct_8006518(&sUnknown_203B258->s0.unk3C);
sUnknown_203B258->s0.unk3C.a0[sUnknown_203B258->s0.unk34] = sUnknown_80DBF88;
sUnknown_203B258->s0.unk38 = &sUnknown_203B258->s0.windows.id[3];
RestoreUnkTextStruct_8006518(&sUnknown_203B258->s0.windows);
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.unk34] = sUnknown_80DBF88;
sUnknown_203B258->s0.unk38->unk14 = &sUnknown_203B258->unk9C;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B258->s0.unk3C, TRUE, TRUE);
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
sub_8013818(&sUnknown_203B258->s0.input, 229, 10, sUnknown_203B258->s0.unk34);
sub_801DB54();
sub_801DBD4();
@ -80,9 +80,9 @@ UNUSED static void sub_801DADC(bool8 a0)
void sub_801DB0C(void)
{
if (sUnknown_203B258 != NULL) {
sUnknown_203B258->s0.unk3C.a0[sUnknown_203B258->s0.unk34] = sUnknown_80DBF70;
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.unk34] = sUnknown_80DBF70;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B258->s0.unk3C, TRUE, TRUE);
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
MemoryFree(sUnknown_203B258);
sUnknown_203B258 = NULL;
}
@ -96,7 +96,7 @@ static void sub_801DB54(void)
sUnknown_203B258->unk9C.f3 = 0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B258->s0.unk3C, TRUE, TRUE);
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
SUB_80095E4_CALL(sUnknown_203B258->s0);
}
@ -125,10 +125,10 @@ static void sub_801DBD4(void)
temp = &gGroundConversion_811BAF4[index];
temp2 = &gUnknown_81188F0[temp->unk4];
y = sub_8013800(&sUnknown_203B258->s0.input, counter);
y = GetMenuEntryYCoord(&sUnknown_203B258->s0.input, counter);
PrintStringOnWindow(8, y, temp2->text1, sUnknown_203B258->s0.unk34, 0);
y = sub_8013800(&sUnknown_203B258->s0.input, counter);
y = GetMenuEntryYCoord(&sUnknown_203B258->s0.input, counter);
PrintStringOnWindow(62, y, temp->text, sUnknown_203B258->s0.unk34, 0);
}

View File

@ -13,8 +13,8 @@
EWRAM_INIT unkStruct_203B270 *gUnknown_203B270 = {NULL};
const UnkTextStruct2 gUnknown_80DC240 = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80DC240 = {
0x00,
0x03,
0x00, 0x00,
0x00, 0x00,
@ -22,10 +22,10 @@ const UnkTextStruct2 gUnknown_80DC240 = {
NULL
};
const UnkTextStruct2_sub2 gUnkData_80DC258 = {0x01, 0x00, 0x0F, 0x00};
const WindowHeader gUnkData_80DC258 = {0x01, 0x00, 0x0F, 0x00};
const UnkTextStruct2 gUnknown_80DC25C = {
0, 0, 0, 0,
const Window gUnknown_80DC25C = {
0,
6,
0x2, 0x2,
0x12, 0x8,
@ -33,8 +33,8 @@ const UnkTextStruct2 gUnknown_80DC25C = {
&gUnkData_80DC258
};
const UnkTextStruct2 gUnknown_80DC274 = {
0, 0, 0, 0,
const Window gUnknown_80DC274 = {
0,
3,
0x2, 0xF,
0x1A, 0x3,
@ -84,16 +84,16 @@ u8 sub_801EE10(u32 param_1, s16 species, Move *moves, u32 param_4, const u8 *tex
if (iVar8 < four) {
iVar8 = 4;
}
RestoreUnkTextStruct_8006518(&gUnknown_203B270->unk58);
RestoreUnkTextStruct_8006518(&gUnknown_203B270->windows);
gUnknown_203B270->unk50 = param_6;
gUnknown_203B270->unk58.a0[param_6] = gUnknown_80DC25C;
gUnknown_203B270->windows.id[param_6] = gUnknown_80DC25C;
if (gUnknown_203B270->text != NULL) {
gUnknown_203B270->unk54 = sub_8006544(param_6);
gUnknown_203B270->unk58.a0[gUnknown_203B270->unk54] = gUnknown_80DC274;
gUnknown_203B270->windows.id[gUnknown_203B270->unk54] = gUnknown_80DC274;
}
sub_8012D08(&gUnknown_203B270->unk58.a0[gUnknown_203B270->unk50],iVar8);
sub_8012D08(&gUnknown_203B270->windows.id[gUnknown_203B270->unk50],iVar8);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B270->unk58, TRUE, TRUE);
ShowWindows(&gUnknown_203B270->windows, TRUE, TRUE);
sub_8013818(&gUnknown_203B270->input,iVar5,iVar5,param_6);
sub_8013780(&gUnknown_203B270->input,0);
sub_801F280(TRUE);
@ -250,7 +250,7 @@ void sub_801F1B0(bool8 param_1, bool8 param_2)
if(!gUnknown_203B270->unk4)
gUnknown_203B270->unk4 = param_2;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B270->unk58, TRUE, TRUE);
ShowWindows(&gUnknown_203B270->windows, TRUE, TRUE);
gUnknown_203B270->input.unk22 = sub_801F3F8();
sub_8013984(&gUnknown_203B270->input);
gUnknown_203B270->input.menuIndex = sub_8092F4C(gUnknown_203B270->moves, gUnknown_203B270->input.menuIndex);
@ -263,13 +263,13 @@ void sub_801F214(void)
{
if(gUnknown_203B270)
{
gUnknown_203B270->unk58.a0[gUnknown_203B270->unk50] = gUnknown_80DC240;
gUnknown_203B270->windows.id[gUnknown_203B270->unk50] = gUnknown_80DC240;
if(gUnknown_203B270->text)
{
gUnknown_203B270->unk58.a0[gUnknown_203B270->unk54] = gUnknown_80DC240;
gUnknown_203B270->windows.id[gUnknown_203B270->unk54] = gUnknown_80DC240;
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B270->unk58, TRUE, TRUE);
ShowWindows(&gUnknown_203B270->windows, TRUE, TRUE);
MemoryFree(gUnknown_203B270);
gUnknown_203B270 = NULL;
}
@ -316,7 +316,7 @@ void sub_801F280(bool8 param_1)
}
sub_80928A0(gFormatBuffer_Items[0],move,&uStack_30);
y = sub_8013800(&gUnknown_203B270->input,i);
y = GetMenuEntryYCoord(&gUnknown_203B270->input,i);
linkChain = MoveFlagLinkChain(move);
x = !linkChain ? 0x8 : 0xD;
if (!linkChain && i != 0) {

View File

@ -20,16 +20,16 @@ struct unkStruct_203B274
};
EWRAM_INIT struct unkStruct_203B274 *gUnknown_203B274 = {NULL};
static const UnkTextStruct2 sUnknown_80DC2AC = {
0, 0, 0, 0,
static const Window sUnknown_80DC2AC = {
0,
3,
0, 0,
0, 0,
0, 0,
NULL
};
static const UnkTextStruct2 sUnknown_80DC2C4 = {
0, 0, 0, 0,
static const Window sUnknown_80DC2C4 = {
0,
6,
2, 2,
0xF, 4,
@ -52,16 +52,16 @@ bool8 sub_801F428(s16 index, s32 param_2)
gUnknown_203B274->pokeStruct = &gRecruitedPokemonRef->pokemon[index_s32];
gUnknown_203B274->unk4 = &gUnknown_203B274->unk8;
gUnknown_203B274->s348.s0.unk34 = param_2;
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.unk3C.a0[gUnknown_203B274->s348.s0.unk34];
RestoreUnkTextStruct_8006518(&gUnknown_203B274->s348.s0.unk3C);
gUnknown_203B274->s348.s0.unk3C.a0[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2C4;
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34];
RestoreUnkTextStruct_8006518(&gUnknown_203B274->s348.s0.windows);
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2C4;
gUnknown_203B274->s348.s0.unk38->unk14 = &gUnknown_203B274->s348.unk9C;
gUnknown_203B274->s348.unk9C.f0 = 1;
gUnknown_203B274->s348.unk9C.f1 = 0;
gUnknown_203B274->s348.unk9C.f2 = 0xC;
gUnknown_203B274->s348.unk9C.f3 = 0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B274->s348.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_203B274->s348.s0.windows, TRUE, TRUE);
sub_8013818(&gUnknown_203B274->s348.s0.input, sub_801F7E4(), 4, param_2);
sub_801F690();
sub_801F700();
@ -108,7 +108,7 @@ u16 sub_801F5B4(void)
void sub_801F5F0(bool8 r0)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B274->s348.s0.unk3C, FALSE, FALSE);
ShowWindows(&gUnknown_203B274->s348.s0.windows, FALSE, FALSE);
sub_8013984(&gUnknown_203B274->s348.s0.input);
sub_801F690();
sub_801F700();
@ -120,9 +120,9 @@ void sub_801F63C(void)
{
if(gUnknown_203B274 != NULL)
{
gUnknown_203B274->s348.s0.unk3C.a0[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2AC;
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2AC;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B274->s348.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_203B274->s348.s0.windows, TRUE, TRUE);
MemoryFree(gUnknown_203B274);
gUnknown_203B274 = NULL;
}
@ -147,7 +147,7 @@ void sub_801F700(void)
for(index = 0; index < gUnknown_203B274->s348.s0.input.unk1A; index++)
{
sub_8092C84(buffer2,gUnknown_203B274->unk4->unk0[gUnknown_203B274->s348.s0.input.unk1E * gUnknown_203B274->s348.s0.input.unk1C + index]);
y = sub_8013800(&gUnknown_203B274->s348.s0.input, index);
y = GetMenuEntryYCoord(&gUnknown_203B274->s348.s0.input, index);
PrintStringOnWindow(8,y,buffer2,gUnknown_203B274->s348.s0.unk34,0);
}
sub_80073E0(gUnknown_203B274->s348.s0.unk34);

View File

@ -23,16 +23,16 @@ struct unkStruct_203B278
u32 unk24;
MenuInputStruct unk28;
u32 unk5C;
UnkTextStruct2 *unk60;
UnkTextStruct3 unk64;
UnkTextStruct2_sub2 unkC4;
Window *unk60;
Windows windows;
WindowHeader unkC4;
MenuInputStructSub unkC8;
};
EWRAM_INIT struct unkStruct_203B278 *gUnknown_203B278 = {NULL};
static const UnkTextStruct2 sUnknown_80DC2F8 = {
0, 0, 0, 0,
static const Window sUnknown_80DC2F8 = {
0,
3,
0, 0,
0, 0,
@ -55,10 +55,10 @@ bool8 sub_801F808(u16 *moveIDs)
ResetSprites(TRUE);
gUnknown_203B278 = MemoryAlloc(sizeof(struct unkStruct_203B278), 8);
gUnknown_203B278->unk5C = 0;
gUnknown_203B278->unk60 = &gUnknown_203B278->unk64.a0[0];
sub_80140B4(&gUnknown_203B278->unk64);
gUnknown_203B278->unk60 = &gUnknown_203B278->windows.id[0];
sub_80140B4(&gUnknown_203B278->windows);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B278->unk64, TRUE, TRUE);
ShowWindows(&gUnknown_203B278->windows, TRUE, TRUE);
gUnknown_203B278->moveIDs = moveIDs;
for(index = 4; index > 1; index--)
@ -93,9 +93,9 @@ void sub_801F8D0(void)
{
if(gUnknown_203B278)
{
gUnknown_203B278->unk64.a0[gUnknown_203B278->unk5C] = sUnknown_80DC2F8;
gUnknown_203B278->windows.id[gUnknown_203B278->unk5C] = sUnknown_80DC2F8;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B278->unk64, TRUE, TRUE);
ShowWindows(&gUnknown_203B278->windows, TRUE, TRUE);
MemoryFree(gUnknown_203B278);
gUnknown_203B278 = NULL;
}
@ -110,7 +110,7 @@ void sub_801F918(s32 newState)
void sub_801F930(void)
{
sub_80140B4(&gUnknown_203B278->unk64);
sub_80140B4(&gUnknown_203B278->windows);
switch(gUnknown_203B278->state)
{
case 0:
@ -120,11 +120,11 @@ void sub_801F930(void)
gUnknown_203B278->unkC4.f2 = 0x10;
gUnknown_203B278->unkC4.f3 = 0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B278->unk64, TRUE, TRUE);
ShowWindows(&gUnknown_203B278->windows, TRUE, TRUE);
break;
case 1:
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B278->unk64, TRUE, TRUE);
ShowWindows(&gUnknown_203B278->windows, TRUE, TRUE);
break;
default:
break;

View File

@ -34,7 +34,7 @@ static void sub_8023120(void);
bool8 sub_80227B8(PokemonStruct1 *pkmn)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
sUnknown_203B294 = MemoryAlloc(sizeof(unkStruct_203B294), 8);
sUnknown_203B294->menuAction = 0;
@ -109,28 +109,28 @@ static void sub_802293C(void)
{
s32 i;
RestoreUnkTextStruct_8006518(&sUnknown_203B294->unk148);
RestoreUnkTextStruct_8006518(&sUnknown_203B294->windows);
switch (sUnknown_203B294->state) {
case 2:
sub_8022D2C();
sUnknown_203B294->unk148.a0[2] = sUnknown_80DC5BC;
sub_8012CAC(&sUnknown_203B294->unk148.a0[2], sUnknown_203B294->unkF8);
sUnknown_203B294->unk148.a0[2].unkC = 6;
sUnknown_203B294->windows.id[2] = sUnknown_80DC5BC;
sub_8012CAC(&sUnknown_203B294->windows.id[2], sUnknown_203B294->unkF8);
sUnknown_203B294->windows.id[2].width = 6;
break;
case 3:
sUnknown_203B294->unk148.a0[1] = sUnknown_80DC5D4;
sUnknown_203B294->windows.id[1] = sUnknown_80DC5D4;
break;
default:
for (i = 0; i < 4; i++)
sUnknown_203B294->unk148.a0[i] = sUnknown_80DC5A4;
sUnknown_203B294->windows.id[i] = sUnknown_80DC5A4;
break;
case 10 ... 16:
break;
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B294->unk148, TRUE, TRUE);
ShowWindows(&sUnknown_203B294->windows, TRUE, TRUE);
}
static void sub_8022A10(void)

View File

@ -47,18 +47,18 @@ bool8 sub_8023144(s32 a0, s32 index, DungeonPos *sub, u32 a3)
gUnknown_3001B5C->unk4 = gUnknown_203B298;
gUnknown_3001B5C->s35C.s0.unk34 = index;
gUnknown_3001B5C->s35C.s0.unk38 = &gUnknown_3001B5C->s35C.s0.unk3C.a0[index];
RestoreUnkTextStruct_8006518(&gUnknown_3001B5C->s35C.s0.unk3C);
gUnknown_3001B5C->s35C.s0.unk3C.a0[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC91C;
gUnknown_3001B5C->s35C.s0.unk38 = &gUnknown_3001B5C->s35C.s0.windows.id[index];
RestoreUnkTextStruct_8006518(&gUnknown_3001B5C->s35C.s0.windows);
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC91C;
gUnknown_3001B5C->s35C.s0.unk38->unk14 = &gUnknown_3001B5C->s35C.unk9C;
if (sub != NULL)
gUnknown_3001B5C->s35C.s0.unk3C.a0[gUnknown_3001B5C->s35C.s0.unk34].pos = *sub;
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34].pos = *sub;
sub_8012D08(gUnknown_3001B5C->s35C.s0.unk38, a3);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_3001B5C->s35C.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_3001B5C->s35C.s0.windows, TRUE, TRUE);
sub_8013818(&gUnknown_3001B5C->s35C.s0.input, sub_80236A4(), a3, index);
gUnknown_3001B5C->s35C.s0.input.menuIndex = gUnknown_203B29C;
gUnknown_3001B5C->s35C.s0.input.unk1E = gUnknown_203B29E;
@ -112,7 +112,7 @@ s16 sub_802331C(void)
void sub_8023354(bool8 cursorSprite)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_3001B5C->s35C.s0.unk3C, FALSE, FALSE);
ShowWindows(&gUnknown_3001B5C->s35C.s0.windows, FALSE, FALSE);
sub_8013984(&gUnknown_3001B5C->s35C.s0.input);
sub_8023420();
sub_80234BC();
@ -127,9 +127,9 @@ void sub_80233A0(void)
gUnknown_203B298 = gUnknown_3001B5C->unk4;
gUnknown_203B29C = gUnknown_3001B5C->s35C.s0.input.menuIndex;
gUnknown_203B29E = gUnknown_3001B5C->s35C.s0.input.unk1E;
gUnknown_3001B5C->s35C.s0.unk3C.a0[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC904;
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC904;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_3001B5C->s35C.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_3001B5C->s35C.s0.windows, TRUE, TRUE);
MemoryFree(gUnknown_3001B5C);
gUnknown_3001B5C = NULL;
}
@ -156,7 +156,7 @@ static void sub_80234BC(void)
s32 i;
u8 buffer2[256];
u8 buffer1[100];
unkStruct_8092638 auStack_2c;
FriendAreaCapacity auStack_2c;
CallPrepareTextbox_8008C54(gUnknown_3001B5C->s35C.s0.unk34);
sub_80073B8(gUnknown_3001B5C->s35C.s0.unk34);
@ -165,9 +165,9 @@ static void sub_80234BC(void)
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C.f2 * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.unk1A; i++) {
y = sub_8013800(&gUnknown_3001B5C->s35C.s0.input, i);
y = GetMenuEntryYCoord(&gUnknown_3001B5C->s35C.s0.input, i);
species = gUnknown_3001B5C->unkC[(gUnknown_3001B5C->s35C.s0.input.unk1E * gUnknown_3001B5C->s35C.s0.input.unk1C) + i];
sub_8092638(GetFriendArea(species), &auStack_2c, FALSE, FALSE);
GetFriendAreaCapacity2(GetFriendArea(species), &auStack_2c, FALSE, FALSE);
color = COLOR_WHITE_2;
if (auStack_2c.hasFriendArea)
color = HasRecruitedMon(species) ? COLOR_CYAN : COLOR_GREEN;

View File

@ -26,9 +26,9 @@ bool8 sub_8024458(s16 speciesNum, s32 a1)
sUnknown_203B2AC = MemoryAlloc(sizeof(struct unkStruct_203B2AC), 8);
sUnknown_203B2AC->speciesNum = speciesNum_s32;
sUnknown_203B2AC->unkE0 = a1;
sUnknown_203B2AC->unkE4 = &sUnknown_203B2AC->unkE8.a0[a1];
sUnknown_203B2AC->unkE4 = &sUnknown_203B2AC->unkE8.id[a1];
RestoreUnkTextStruct_8006518(&sUnknown_203B2AC->unkE8);
sUnknown_203B2AC->unkE8.a0[sUnknown_203B2AC->unkE0] = sUnknown_80DC9C8;
sUnknown_203B2AC->unkE8.id[sUnknown_203B2AC->unkE0] = sUnknown_80DC9C8;
sUnknown_203B2AC->unkE4->unk14 = &sUnknown_203B2AC->unk148;
sUnknown_203B2AC->unk148.f2 = 10;
sub_8024604();
@ -64,9 +64,9 @@ void sub_802452C(void)
void sub_802453C(void)
{
if (sUnknown_203B2AC != NULL) {
sUnknown_203B2AC->unkE8.a0[sUnknown_203B2AC->unkE0] = sUnknown_80DC9B0;
sUnknown_203B2AC->unkE8.id[sUnknown_203B2AC->unkE0] = sUnknown_80DC9B0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B2AC->unkE8, TRUE, TRUE);
ShowWindows(&sUnknown_203B2AC->unkE8, TRUE, TRUE);
MemoryFree(sUnknown_203B2AC);
sUnknown_203B2AC = NULL;
}
@ -78,7 +78,7 @@ static void sub_8024588(void)
sUnknown_203B2AC->unk148.f1 = sUnknown_203B2AC->input.unk1E;
sUnknown_203B2AC->unk148.f3 = 0;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B2AC->unkE8, TRUE, TRUE);
ShowWindows(&sUnknown_203B2AC->unkE8, TRUE, TRUE);
}
static void sub_80245D0(void)

View File

@ -32,7 +32,7 @@ bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon)
return FALSE;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
sUnknown_203B2FC = MemoryAlloc(sizeof(struct unkStruct_203B2FC), 8);
sUnknown_203B2FC->jobSlotIndex = jobSlotIndex;
@ -98,12 +98,12 @@ static void sub_802DC40(void)
case 0:
case 7:
for (i = 0; i < 4; i++)
sUnknown_203B2FC->unk48.a0[i] = sUnknown_80E016C;
sUnknown_203B2FC->unk48.id[i] = sUnknown_80E016C;
break;
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B2FC->unk48, TRUE, TRUE);
ShowWindows(&sUnknown_203B2FC->unk48, TRUE, TRUE);
}
static void sub_802DC9C(void)

View File

@ -22,9 +22,9 @@ bool8 sub_802DE84(unkStruct_802C39C *mail)
sUnknown_203B300->mail = mail;
sub_801317C(&sUnknown_203B300->unk0);
sUnknown_203B300->unk10 = sUnknown_203B300->mail->unk0[0];
sUnknown_203B300->unk14 = &sUnknown_203B300->unk18.a0[sUnknown_203B300->unk10];
sUnknown_203B300->unk14 = &sUnknown_203B300->unk18.id[sUnknown_203B300->unk10];
RestoreUnkTextStruct_8006518(&sUnknown_203B300->unk18);
sUnknown_203B300->unk18.a0[sUnknown_203B300->unk10] = sUnknown_80E0264;
sUnknown_203B300->unk18.id[sUnknown_203B300->unk10] = sUnknown_80E0264;
sub_802DF14();
return TRUE;
}
@ -52,9 +52,9 @@ static void sub_802DF14(void)
void sub_802DF24(void)
{
if (sUnknown_203B300 != NULL) {
sUnknown_203B300->unk18.a0[sUnknown_203B300->unk10] = sUnknown_80E0248;
sUnknown_203B300->unk18.id[sUnknown_203B300->unk10] = sUnknown_80E0248;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B300->unk18, TRUE, TRUE);
ShowWindows(&sUnknown_203B300->unk18, TRUE, TRUE);
MemoryFree(sUnknown_203B300);
sUnknown_203B300 = NULL;
}
@ -63,7 +63,7 @@ void sub_802DF24(void)
static void sub_802DF6C(void)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sUnknown_203B300->unk18, TRUE, TRUE);
ShowWindows(&sUnknown_203B300->unk18, TRUE, TRUE);
}
static void sub_802DF88(void)

View File

@ -18,16 +18,16 @@ struct unkStruct_203B334
u32 mailIndex;
MenuInputStructSub unk4;
u32 unk10;
UnkTextStruct2 *unk14;
UnkTextStruct3 unk18;
Window *unk14;
Windows unk18;
u8 unk78[4];
};
EWRAM_INIT struct unkStruct_203B334 *gUnknown_203B334 = {NULL};
extern unkStruct_203B480 *gUnknown_203B480;
const UnkTextStruct2 gUnknown_80E1FA8 = {
0, 0, 0, 0,
const Window gUnknown_80E1FA8 = {
0,
3,
0x0, 0x0,
0x0, 0x0,
@ -35,10 +35,10 @@ const UnkTextStruct2 gUnknown_80E1FA8 = {
NULL
};
const UnkTextStruct2_sub2 gUnkData_80E1FC0 = {0x01, 0x00, 0x0A, 0x00};
const WindowHeader gUnkData_80E1FC0 = {0x01, 0x00, 0x0A, 0x00};
const UnkTextStruct2 gUnknown_80E1FC4 = {
0, 0, 0, 0,
const Window gUnknown_80E1FC4 = {
0,
6,
0x2, 0x2,
0x1A, 0xA,
@ -58,9 +58,9 @@ bool8 sub_8031D70(u32 mailIndex, s32 param_2)
gUnknown_203B334->mailIndex = mailIndex;
sub_801317C(&gUnknown_203B334->unk4);
gUnknown_203B334->unk10 = param_2;
gUnknown_203B334->unk14 = &gUnknown_203B334->unk18.a0[param_2];
gUnknown_203B334->unk14 = &gUnknown_203B334->unk18.id[param_2];
RestoreUnkTextStruct_8006518(&gUnknown_203B334->unk18);
gUnknown_203B334->unk18.a0[gUnknown_203B334->unk10] = gUnknown_80E1FC4;
gUnknown_203B334->unk18.id[gUnknown_203B334->unk10] = gUnknown_80E1FC4;
sub_8031E00();
return TRUE;
}
@ -90,9 +90,9 @@ void sub_8031E10(void)
{
if(gUnknown_203B334)
{
gUnknown_203B334->unk18.a0[gUnknown_203B334->unk10] = gUnknown_80E1FA8;
gUnknown_203B334->unk18.id[gUnknown_203B334->unk10] = gUnknown_80E1FA8;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B334->unk18, TRUE, TRUE);
ShowWindows(&gUnknown_203B334->unk18, TRUE, TRUE);
MemoryFree(gUnknown_203B334);
gUnknown_203B334 = NULL;
}
@ -101,7 +101,7 @@ void sub_8031E10(void)
void sub_8031E58(void)
{
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B334->unk18, TRUE, TRUE);
ShowWindows(&gUnknown_203B334->unk18, TRUE, TRUE);
}
void DrawSOSPasswordScreen(void)

View File

@ -44,10 +44,10 @@ extern MenuInputStruct gUnknown_202EE10;
extern SpriteOAM gUnknown_202EDDC;
extern const RGB gUnknown_80F62AC;
extern const struct UnkTextStruct3 gUnknown_80F62B0;
extern const struct UnkTextStruct3 gUnknown_80F6310;
extern const struct UnkTextStruct3 gUnknown_80F6370;
extern const struct UnkTextStruct3 gUnknown_80F63D0;
extern const struct Windows gUnknown_80F62B0;
extern const struct Windows gUnknown_80F6310;
extern const struct Windows gUnknown_80F6370;
extern const struct Windows gUnknown_80F63D0;
extern const u32 gUnknown_80F6490[];
extern const s32 gUnknown_80F64B4[];
extern const s32 gUnknown_80F64FC[];
@ -188,18 +188,18 @@ void sub_803EAF0(u32 a0, u8 *a1)
}
ResetUnusedInputStruct();
sub_803EC94();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
break;
case 0:
sub_803EC94();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
if (gUnknown_203B40C != 0) {
sub_8040A84();
sub_8040ABC(0);
}
break;
case 3:
xxx_call_save_unk_text_struct_800641C(&gUnknown_80F62B0, TRUE, TRUE);
ShowWindows(&gUnknown_80F62B0, TRUE, TRUE);
if (gUnknown_203B40C != 0) {
sub_8040ABC(1);
}
@ -209,14 +209,14 @@ void sub_803EAF0(u32 a0, u8 *a1)
sub_8052210(0);
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_80F6310, TRUE, TRUE);
ShowWindows(&gUnknown_80F6310, TRUE, TRUE);
break;
case 7:
if (gUnknown_203B40C != 0) {
sub_8052210(0);
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_80F6370, TRUE, TRUE);
ShowWindows(&gUnknown_80F6370, TRUE, TRUE);
break;
case 2:
case 4:
@ -225,13 +225,13 @@ void sub_803EAF0(u32 a0, u8 *a1)
}
ResetUnusedInputStruct();
sub_803EC94();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
break;
case 5:
if (gUnknown_203B40C != 0) {
sub_8052210(0);
}
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
break;
case 8:
if (gUnknown_203B40C != 0) {
@ -246,7 +246,7 @@ void sub_803EAF0(u32 a0, u8 *a1)
sub_8083D44();
}
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_80F63D0, FALSE, TRUE);
ShowWindows(&gUnknown_80F63D0, FALSE, TRUE);
break;
case 10:
sub_8083D44();
@ -268,12 +268,12 @@ void sub_803EC94(void)
sub_801317C(&gUnknown_202EE10.unk28);
}
void sub_803ECB4(UnkTextStruct3 *a0, bool8 a1)
void sub_803ECB4(Windows *a0, bool8 a1)
{
gUnknown_202EDD0 = 10;
sub_8052210(0);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(a0, TRUE, a1);
ShowWindows(a0, TRUE, a1);
}
void sub_803ECE0(void)

View File

@ -1561,7 +1561,7 @@ void DrawFieldMenu(u8 a0)
gUnknown_202EE10.unk1C = 5;
gUnknown_202EE10.unk1E = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = 2;
gUnknown_202EE10.firstEntryY = 2;
gUnknown_202EE10.unkC = 0;
gUnknown_202EE10.unkE = 0;
gUnknown_202EE10.unk0 = 0;
@ -1592,19 +1592,19 @@ void DrawFieldMenu(u8 a0)
gUnknown_202749A[5] = 7;
}
y = sub_8013800(&gUnknown_202EE10, 0);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 0);
PrintStringOnWindow(8, y, gFieldMenuMovesPtr, 0, 0);
y = sub_8013800(&gUnknown_202EE10, 1);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 1);
PrintStringOnWindow(8, y, gFieldMenuItemsPtr, 0, 0);
y = sub_8013800(&gUnknown_202EE10, 2);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 2);
PrintStringOnWindow(8, y, gFieldMenuTeamPtr, 0, 0);
y = sub_8013800(&gUnknown_202EE10, 3);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 3);
PrintStringOnWindow(8, y, gFieldMenuOthersPtr, 0, 0);
y = sub_8013800(&gUnknown_202EE10, 4);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 4);
PrintStringOnWindow(8, y, gFieldMenuGroundPtr, 0, 0);
sub_80073E0(0);
@ -1675,32 +1675,32 @@ extern bool8 sub_8044F3C(s32 param_1);
extern s32 gUnknown_202EE6C;
extern const u8 gUnknown_8106B50[];
extern void sub_803ECB4(UnkTextStruct3 *a0, u8 a1);
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5);
extern void sub_803ECB4(Windows *a0, u8 a1);
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, Windows *a4, WindowHeader *a5);
// Inline needed to (fake?)match.
static inline void sub_805FC30_SetUpTxtStruct(UnkTextStruct3 *src)
static inline void sub_805FC30_SetUpTxtStruct(Windows *src)
{
memset(src, 0, sizeof(*src));
src->a0[0].unk4 = 3;
src->a0[1].unk4 = 3;
src->a0[1].pos.x = 0x16;
src->a0[1].pos.y = 4;
src->a0[1].unkC = 6;
src->a0[1].unkE = 4;
src->a0[1].unk10 = 4;
src->a0[2].unk4 = 3;
src->a0[3].unk4 = 3;
src->id[0].type = WINDOW_TYPE_NORMAL;
src->id[1].type = WINDOW_TYPE_NORMAL;
src->id[1].pos.x = 0x16;
src->id[1].pos.y = 4;
src->id[1].width = 6;
src->id[1].height = 4;
src->id[1].unk10 = 4;
src->id[2].type = WINDOW_TYPE_NORMAL;
src->id[3].type = WINDOW_TYPE_NORMAL;
}
void sub_805FC30(UnkTextStruct3 *a0, s32 a1)
void sub_805FC30(Windows *a0, s32 a1)
{
s32 i;
UnkTextStruct3 sp;
Windows sp;
sub_805FC30_SetUpTxtStruct(&sp);
sp.a0[0] = a0->a0[0];
sp.a0[0].unk0 = 0x80;
sp.id[0] = a0->id[0];
sp.id[0].unk0 = 0x80;
gUnknown_202EE10.menuIndex = 0;
gUnknown_202EE10.unk1C = gUnknown_202EE6C;
@ -1708,7 +1708,7 @@ void sub_805FC30(UnkTextStruct3 *a0, s32 a1)
gUnknown_202EE10.unk1E = 0;
gUnknown_202EE10.unk20 = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = 0;
gUnknown_202EE10.firstEntryY = 0;
gUnknown_202EE10.unk0 = 1;
gUnknown_202EE10.unkC = 0;
gUnknown_202EE10.unkE = 0;
@ -1716,11 +1716,11 @@ void sub_805FC30(UnkTextStruct3 *a0, s32 a1)
sub_801317C(&gUnknown_202EE10.unk28);
sp.a0[1].pos.x = a1;
sp.a0[1].unkC = 28 - a1;
sp.a0[1].unkE = sp.a0[1].unk10 = sub_80095E4(gUnknown_202EE10.unk1C, 0);
sp.id[1].pos.x = a1;
sp.id[1].width = 28 - a1;
sp.id[1].height = sp.id[1].unk10 = sub_80095E4(gUnknown_202EE10.unk1C, 0);
sub_803ECB4(&sp, 0);
sub_80137B0(&gUnknown_202EE10, sp.a0[1].unkE * 8);
sub_80137B0(&gUnknown_202EE10, sp.id[1].height * 8);
sub_80073B8(1);
for (i = 0; i < gUnknown_202EE6C; i++) {
@ -1729,7 +1729,7 @@ void sub_805FC30(UnkTextStruct3 *a0, s32 a1)
r4 = (sub_8044F3C(i) != 0) ? 7 : 2;
sprintfStatic(text, gUnknown_8106B50, r4, sub_8044EC8(i));
y = sub_8013800(&gUnknown_202EE10, i);
y = GetMenuEntryYCoord(&gUnknown_202EE10, i);
PrintStringOnWindow(8, y, text, 1, 0);
}
sub_80073E0(1);
@ -1760,7 +1760,7 @@ s32 sub_8060D64(s16 *a0, bool8 a1, bool8 a2, bool8 a3, Entity *a4);
void sub_8060890(DungeonPos *a0);
bool8 sub_8060860(s32 a0);
void sub_8060900(Entity *a0);
s32 sub_8060800(UnkTextStruct2_sub2 *a0, s32 a1);
s32 sub_8060800(WindowHeader *a0, s32 a1);
void sub_8060CE8(ActionContainer *a0);
extern Entity *DrawFieldGiveItemMenu(u8 *a0, s32 a1);
@ -1775,22 +1775,22 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
u8 var_2C = 0;
u8 var_28 = 0;
EntityInfo *a0Info = GetEntInfo(a0);
UnkTextStruct2_sub2 var_3C;
WindowHeader var_3C;
UnkTextStruct3 var_FC =
Windows var_FC =
{
.a0 =
.id =
{
[0] =
{
.unk4 = 6,
.type = WINDOW_TYPE_WITH_HEADER,
.pos = {2, 2},
.unkC = 0x12,
.unkE = 0x10,
.width = 0x12,
.height = 0x10,
.unk10 = 0x10,
.unk14 = &var_3C,
},
{.unk4 = 3}, {.unk4 = 3}, {.unk4 = 3},
{.type = WINDOW_TYPE_NORMAL}, {.type = WINDOW_TYPE_NORMAL}, {.type = WINDOW_TYPE_NORMAL},
},
};
@ -2036,15 +2036,15 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
return r9;
}
extern const struct UnkTextStruct2 gUnknown_8106B6C;
extern const struct Window gUnknown_8106B6C;
extern const struct unkStruct_8090F58 gUnknown_8106B60;
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5)
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, Windows *windows, WindowHeader *a5)
{
s32 i, x, y;
s32 r10;
UnkTextStruct1 *txtStrPtr;
UnkTextStruct2 var_94;
Window var_94;
u8 txtBuff[80];
EntityInfo *a1Info;
@ -2063,41 +2063,41 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
switch (sUnknown_202F248[a0]) {
case 0:
case 1:
a4->a0[0].unk10 = 0x10;
a4->a0[0].unkE = 0x10;
windows->id[0].unk10 = 0x10;
windows->id[0].height = 0x10;
a5->f2 = 0xC;
gUnknown_202EE10.unk6 = 0x10;
gUnknown_202EE10.firstEntryY = 0x10;
gUnknown_202EE10.unk1C = 0xA;
gDungeon->unk181e8.unk18212 = 1;
break;
case 2:
a4->a0[0].unk10 = 4;
a4->a0[0].unkE = 4;
windows->id[0].unk10 = 4;
windows->id[0].height = 4;
a5->f2 = 6;
gUnknown_202EE10.unk6 = 0x12;
gUnknown_202EE10.firstEntryY = 0x12;
gUnknown_202EE10.unk1C = 1;
break;
case 3:
default:
a4->a0[0].unk10 = 4;
a4->a0[0].unkE = 4;
windows->id[0].unk10 = 4;
windows->id[0].height = 4;
a5->f2 = 0xC;
gUnknown_202EE10.unk6 = 0x12;
gUnknown_202EE10.firstEntryY = 0x12;
gUnknown_202EE10.unk1C = 1;
break;
}
if (a2) {
gUnknown_202EE10.unkC += 0x40;
a4->a0[0].pos.x = 0xA;
a4->a0[1] = var_94;
windows->id[0].pos.x = 0xA;
windows->id[1] = var_94;
}
else {
a4->a0[0].pos.x = 2;
a4->a0[1] = a4->a0[3];
windows->id[0].pos.x = 2;
windows->id[1] = windows->id[3];
}
sub_803ECB4(a4, 1);
sub_803ECB4(windows, 1);
txtStrPtr = &gUnknown_2027370[0];
gUnknown_202EE10.unkC = (txtStrPtr->unk0 + 0x10) * 8;
gUnknown_202EE10.unkE = ((txtStrPtr->unk2 + 1) * 8) - 2;
@ -2112,7 +2112,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
if (ItemExists(&gTeamInventoryRef->teamItems[i])) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i], &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, i);
y = GetMenuEntryYCoord(&gUnknown_202EE10, i);
PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0);
}
else {
@ -2126,7 +2126,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
if (ItemExists(&gTeamInventoryRef->teamItems[i + 10])) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i + 10], &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, i);
y = GetMenuEntryYCoord(&gUnknown_202EE10, i);
PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0);
}
else {
@ -2141,7 +2141,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
if (item->flags & ITEM_FLAG_EXISTS) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, item, &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, 0);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 0);
PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0);
}
if (a3) {
@ -2156,7 +2156,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
if (item->flags & ITEM_FLAG_EXISTS) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, item, &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, 0);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 0);
PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0);
}
}
@ -2171,7 +2171,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
if (item->flags & ITEM_FLAG_EXISTS) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, item, &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, 0);
y = GetMenuEntryYCoord(&gUnknown_202EE10, 0);
PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0);
}
}
@ -2190,7 +2190,7 @@ static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextS
}
}
s32 sub_8060800(UnkTextStruct2_sub2 *a0, s32 a1)
s32 sub_8060800(WindowHeader *a0, s32 a1)
{
s32 i, r1, r2, r3;
@ -2499,7 +2499,7 @@ s32 sub_8060D64(s16 *a0, bool8 a1, bool8 a2, bool8 a3, Entity *a4)
return count;
}
extern UnkTextStruct2_sub2 gUnknown_202F270;
extern WindowHeader gUnknown_202F270;
struct UnkFieldTeamMenuStruct
{
@ -2508,7 +2508,7 @@ struct UnkFieldTeamMenuStruct
u8 unk14[MAX_TEAM_MEMBERS];
};
void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bool8 a2);
void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, Windows *a1, bool8 a2);
void sub_806145C(struct UnkFieldTeamMenuStruct *a0);
void sub_80615B4(ActionContainer *a0, struct UnkFieldTeamMenuStruct *a1);
@ -2520,18 +2520,18 @@ bool8 sub_8060E38(Entity *a0)
bool32 r10, ret;
struct UnkFieldTeamMenuStruct sp;
UnkTextStruct3 var_84 = {0};
Windows var_84 = {0};
var_84.a0[0].unk4 = 6;
var_84.a0[0].pos.x = 2;
var_84.a0[0].pos.y = 2;
var_84.a0[0].unkC = 0xE;
var_84.a0[0].unkE = 0x10;
var_84.a0[0].unk10 = 0x10;
var_84.a0[0].unk14 = &gUnknown_202F270;
var_84.a0[1].unk4 = 3;
var_84.a0[2].unk4 = 3;
var_84.a0[3].unk4 = 3;
var_84.id[0].type = WINDOW_TYPE_WITH_HEADER;
var_84.id[0].pos.x = 2;
var_84.id[0].pos.y = 2;
var_84.id[0].width = 0xE;
var_84.id[0].height = 0x10;
var_84.id[0].unk10 = 0x10;
var_84.id[0].unk14 = &gUnknown_202F270;
var_84.id[1].type = WINDOW_TYPE_NORMAL;
var_84.id[2].type = WINDOW_TYPE_NORMAL;
var_84.id[3].type = WINDOW_TYPE_NORMAL;
for (i = 0; i < MAX_TEAM_MEMBERS; i++) {
Entity *teamMon = gDungeon->teamPokemon[i];
@ -2541,8 +2541,8 @@ bool8 sub_8060E38(Entity *a0)
}
if (!gDungeon->unk644.unk17) {
var_84.a0[0].unk4 = 3;
var_84.a0[0].pos.y++;
var_84.id[0].type = WINDOW_TYPE_NORMAL;
var_84.id[0].pos.y++;
}
while (1) {
@ -2678,14 +2678,14 @@ extern const u8 gUnknown_8106BF4[];
extern void sub_8070968(u8 *buffer, EntityInfo *entityInfo, s32 colorNum);
void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bool8 a2)
void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, Windows *windows, bool8 a2)
{
s32 r0;
DungeonPos pos;
s32 i;
s32 count = 0;
bool8 r10 = (a1->a0[0].unk4 == 6);
bool8 r10 = (windows->id[0].type == WINDOW_TYPE_WITH_HEADER);
sub_8069D18(&pos, GetLeader());
for (i = 0; i < MAX_TEAM_MEMBERS; i++) {
@ -2723,7 +2723,7 @@ void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bo
gUnknown_202EE10.unk1E = 0;
gUnknown_202EE10.unk20 = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = (r10 != FALSE) * 16;
gUnknown_202EE10.firstEntryY = (r10 != FALSE) * 16;
gUnknown_202EE10.unkC = 0;
gUnknown_202EE10.unkE = 0;
gUnknown_202EE10.unk14.x = 0;
@ -2733,14 +2733,14 @@ void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bo
if (r10) {
r0 += 2;
}
a1->a0[0].unk10 = r0;
a1->a0[0].unkE = r0;
windows->id[0].unk10 = r0;
windows->id[0].height = r0;
gUnknown_202F270.f2 = 8;
if (a2) {
a1->a0[1] = a1->a0[3];
windows->id[1] = windows->id[3];
}
sub_803ECB4(a1, 1);
sub_803ECB4(windows, 1);
sub_80137B0(&gUnknown_202EE10, 0);
sub_80073B8(0);
if (r10) {
@ -2790,7 +2790,7 @@ void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bo
gFormatArgs[0] = monInfo->HP;
gFormatArgs[1] = monInfo->maxHPStat;
y = sub_8013800(&gUnknown_202EE10, i);
y = GetMenuEntryYCoord(&gUnknown_202EE10, i);
if (monInfo->isTeamLeader) {
PrintFormattedStringOnWindow(9, y, gUnknown_8106BD4, 0, 0);
}
@ -2872,25 +2872,25 @@ void sub_8062D68(void);
void sub_8062230(void);
void sub_8062748(u8 a0);
static inline void SetTxtStruct(UnkTextStruct3 *sp)
static inline void SetTxtStruct(Windows *sp)
{
memset(sp, 0, sizeof(*sp));
sp->a0[0].unk4 = 6;
sp->a0[0].pos.x = 2;
sp->a0[0].pos.y = 2;
sp->a0[0].unkC = 0x12;
sp->a0[0].unkE = 0xE;
sp->a0[0].unk10 = 0x12;
sp->a0[0].unk12 = 2;
sp->a0[0].unk14 = &gUnknown_202F270;
sp->a0[1].unk4 = 3;
sp->a0[2].unk4 = 3;
sp->a0[3].unk4 = 3;
sp->id[0].type = WINDOW_TYPE_WITH_HEADER;
sp->id[0].pos.x = 2;
sp->id[0].pos.y = 2;
sp->id[0].width = 0x12;
sp->id[0].height = 0xE;
sp->id[0].unk10 = 0x12;
sp->id[0].unk12 = 2;
sp->id[0].unk14 = &gUnknown_202F270;
sp->id[1].type = WINDOW_TYPE_NORMAL;
sp->id[2].type = WINDOW_TYPE_NORMAL;
sp->id[3].type = WINDOW_TYPE_NORMAL;
}
void ShowTacticsMenu(ActionContainer *a0)
{
UnkTextStruct3 sp;
Windows sp;
EntityInfo *monInfo;
u8 tacticIds[NUM_TACTICS];
s32 scrollFirstId;
@ -2922,7 +2922,7 @@ void ShowTacticsMenu(ActionContainer *a0)
gUnknown_202EE10.unk1E = 0;
gUnknown_202EE10.unk20 = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = 16;
gUnknown_202EE10.firstEntryY = 16;
gUnknown_202EE10.unkC = 0;
gUnknown_202EE10.unkE = 0;
gUnknown_202EE10.unk14.x = 0;

View File

@ -904,19 +904,19 @@ extern void sub_8068344(void);
bool8 sub_8044F3C(s32 param_1);
void sub_8068310(s32 a0, PokemonStruct1 **a1);
void sub_8067F00(u8 a0, PokemonStruct1 **a1, s32 a2, s32 a3, s32 a4);
extern void sub_803ECB4(UnkTextStruct3 *a0, u8 a1);
extern void sub_803ECB4(Windows *a0, u8 a1);
u32 sub_8014140(s32 a0, const void *a1);
void sub_8083D1C(void);
void sub_8083D08(void);
void sub_8083D30(void);
void sub_806806C(PokemonStruct1 *a0);
void sub_805FC30(UnkTextStruct3 *a0, s32 a1);
void sub_805FC30(Windows *a0, s32 a1);
extern void sub_803EAF0(u32, u8 *);
extern const s32 gUnknown_8106E80[];
extern MenuInputStruct gUnknown_202EE10;
static EWRAM_DATA UnkTextStruct2_sub2 gUnknown_202F308 = {0};
static EWRAM_DATA WindowHeader gUnknown_202F308 = {0};
static EWRAM_DATA s32 gUnknown_202F30C = 0;
EWRAM_DATA s32 gUnknown_202F310 = 0;
@ -925,15 +925,15 @@ static const u8 gUnknown_8106DA4[] = {
0x01, 0, 0x38, 0, 0, 0, 0x18, 0, 0x18, 0, 0, 0, 0x02, 0, 0x38, 0, 0x68, 0, 0x18, 0, 0x18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
static const UnkTextStruct3 gUnknown_8106DC8 = {
.a0 = {
static const Windows gUnknown_8106DC8 = {
.id = {
[0] =
{
.unk0 = 0,
.unk4 = 0x06,
.type = WINDOW_TYPE_WITH_HEADER,
.pos = {0x02, 0x02},
.unkC = 0x11,
.unkE = 0x0E,
.width = 0x11,
.height = 0x0E,
.unk10 = 0x12,
.unk12 = 0x02,
.unk14 = &gUnknown_202F308
@ -941,21 +941,21 @@ static const UnkTextStruct3 gUnknown_8106DC8 = {
[1] =
{
.unk0 = 0,
.unk4 = 0x03,
.type = WINDOW_TYPE_NORMAL,
.pos = {0x15, 0x04},
.unkC = 0x07,
.unkE = 0x04,
.width = 0x07,
.height = 0x04,
.unk10 = 0x04,
.unk12 = 0,
.unk14 = NULL
},
[2] =
{
.unk4 = 0x03,
.type = WINDOW_TYPE_NORMAL,
},
[3] =
{
.unk4 = 0x03,
.type = WINDOW_TYPE_NORMAL,
}
}
};
@ -964,7 +964,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
{
s32 i;
s32 r10;
UnkTextStruct3 spTxtStruct = gUnknown_8106DC8;
Windows spTxtStruct = gUnknown_8106DC8;
gUnknown_202F30C = 0;
r10 = 0;
@ -994,7 +994,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
gUnknown_202EE10.unk1E = 0;
gUnknown_202EE10.unk20 = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = 18;
gUnknown_202EE10.firstEntryY = 18;
gUnknown_202EE10.unkC = 0;
gUnknown_202EE10.unkE = 0;
gUnknown_202EE10.unk14.x = 0;
@ -1257,20 +1257,20 @@ void sub_806806C(PokemonStruct1 *a0)
{
struct unkStruct_808FF20 unkStruct;
struct UnkInfoTabStruct var_C8;
UnkTextStruct3 spTxtStruct = {0};
Windows spTxtStruct = {0};
s32 r7;
spTxtStruct.a0[0].unk4 = 6;
spTxtStruct.a0[0].pos.x = 2;
spTxtStruct.a0[0].pos.y = 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;
spTxtStruct.id[0].type = WINDOW_TYPE_WITH_HEADER;
spTxtStruct.id[0].pos.x = 2;
spTxtStruct.id[0].pos.y = 2;
spTxtStruct.id[0].width = 0x12;
spTxtStruct.id[0].height = 0xE;
spTxtStruct.id[0].unk10 = 0x12;
spTxtStruct.id[0].unk12 = 2;
spTxtStruct.id[0].unk14 = &gUnknown_202F308;
spTxtStruct.id[1].type = WINDOW_TYPE_NORMAL;
spTxtStruct.id[2].type = WINDOW_TYPE_NORMAL;
spTxtStruct.id[3].type = WINDOW_TYPE_NORMAL;
r7 = 0;
unkStruct.unk40 = 0;
@ -1292,7 +1292,7 @@ void sub_806806C(PokemonStruct1 *a0)
gUnknown_202EE10.menuIndex = 0;
gUnknown_202EE10.unk1C = 0;
gUnknown_202EE10.unk4 = 0;
gUnknown_202EE10.unk6 = 16;
gUnknown_202EE10.firstEntryY = 16;
gUnknown_202EE10.unk14.x = 0;
gUnknown_202EE10.unk0 = 0;

View File

@ -77,7 +77,6 @@ extern void sub_8005700(DungeonPos *a0, struct axObject *a1);
u32 EntityGetStatusSprites(Entity *entity);
void UpdateDungeonPokemonSprite(int id, short species, int status, char visible);
extern void sub_8042EC8(Entity *a0, s32 a1);
void DoAxFrame_800558C(struct axObject *a0, s32 spriteX, s32 spriteY, u32 a3, u32 paletteNum, unkStruct_2039DB0 *spriteMasks);
extern Entity *sub_804550C(s16 a);
extern Entity *sub_80453AC(s16 id);
extern void sub_803F580(s32);
@ -1957,30 +1956,30 @@ void sub_806C51C(Entity *entity)
if (entInfo->unk15C != 0) {
if (entInfo->unk160 == 0) {
if (entInfo->unk15F != 0) {
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
RunAxAnimationFrame(&entity->axObj.axdata);
RunAxAnimationFrame(&entity->axObj.axdata);
}
else {
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
}
}
}
else {
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
}
}
}
else {
if (entInfo->frozenClassStatus.status != STATUS_FROZEN && entInfo->frozenClassStatus.status != STATUS_PETRIFIED) {
if (gDungeon->unk644.unk28 != 0 && gDungeon->unk1BDD4.unk1C05F == 0) {
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
RunAxAnimationFrame(&entity->axObj.axdata);
}
else if ((entity->axObj.unk43_animId2 == 0 || entity->axObj.unk43_animId2 == 7) && GetEntInfo(entity)->speedStage > 1) {
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
}
RunAxAnimationFrame(&entity->axObj);
RunAxAnimationFrame(&entity->axObj.axdata);
}
}
@ -2092,10 +2091,10 @@ void sub_806C51C(Entity *entity)
}
if (entity->unk22 == 0) {
DoAxFrame_800558C(&entity->axObj, x, y, y2, overworldPal, &spriteMasks);
DoAxFrame_800558C(&entity->axObj.axdata, x, y, y2, overworldPal, &spriteMasks);
}
else if (entity->unk22 == 1 && (gUnknown_202EDCC & 1)) {
DoAxFrame_800558C(&entity->axObj, x, y, y2, overworldPal, &spriteMasks);
DoAxFrame_800558C(&entity->axObj.axdata, x, y, y2, overworldPal, &spriteMasks);
}
}

View File

@ -329,7 +329,7 @@ bool8 sub_806F9BC(s16 species)
{
u8 friendArea;
s32 id;
unkStruct_8092638 auStack_18;
FriendAreaCapacity auStack_18;
id = species;
if (((gDungeon->unk644.unk14 == 0) || (sub_808529C(id) == 0)) ||
@ -359,7 +359,7 @@ bool8 sub_806F9BC(s16 species)
else {
if (GetUnk12(id) == 0) {
friendArea = GetFriendArea(id);
sub_8092638(friendArea, &auStack_18, FALSE, FALSE);
GetFriendAreaCapacity2(friendArea, &auStack_18, FALSE, FALSE);
if (auStack_18.hasFriendArea == FALSE)
return FALSE;
}

View File

@ -29,8 +29,8 @@ struct unkStruct_203B314
EWRAM_INIT struct unkStruct_203B314 *gUnknown_203B314 = {NULL};
const UnkTextStruct2 gUnknown_80E06FC = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80E06FC = {
0x00,
0x03,
0x00, 0x00,
0x00, 0x00,
@ -38,16 +38,16 @@ const UnkTextStruct2 gUnknown_80E06FC = {
NULL
};
const UnkTextStruct2 gUnknown_80E0714 = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80E0714 = {
0x00,
0x06,
0x02, 0x02,
0x0E, 0x0E,
0x0E, 0x00,
NULL
};
const UnkTextStruct2 gUnknown_80E072C = {
0x00, 0x00, 0x00, 0x00,
const Window gUnknown_80E072C = {
0x00,
0x06,
0x02, 0x02,
0x10, 0x10,
@ -76,22 +76,22 @@ u32 sub_802F73C(u32 r0, DungeonPos *r1, u32 r2, u8 r3)
gUnknown_203B314->unkB8 = r3;
gUnknown_203B314->sBC.s0.unk34 = r0;
gUnknown_203B314->sBC.s0.unk38 = &gUnknown_203B314->sBC.s0.unk3C.a0[gUnknown_203B314->sBC.s0.unk34];
RestoreUnkTextStruct_8006518(&gUnknown_203B314->sBC.s0.unk3C);
gUnknown_203B314->sBC.s0.unk38 = &gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34];
RestoreUnkTextStruct_8006518(&gUnknown_203B314->sBC.s0.windows);
if (r3 != 0)
gUnknown_203B314->sBC.s0.unk3C.a0[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E072C;
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E072C;
else
gUnknown_203B314->sBC.s0.unk3C.a0[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E0714;
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E0714;
gUnknown_203B314->sBC.s0.unk38->unk14 = &gUnknown_203B314->sBC.unk9C;
if (r1 != 0)
gUnknown_203B314->sBC.s0.unk3C.a0[gUnknown_203B314->sBC.s0.unk34].pos = *r1;
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34].pos = *r1;
sub_8012D08(gUnknown_203B314->sBC.s0.unk38, r2);
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B314->sBC.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_203B314->sBC.s0.windows, TRUE, TRUE);
sub_8013818(&gUnknown_203B314->sBC.s0.input, sub_802FBF4(), r2, r0);
sub_802F9C0();
sub_802FA50();
@ -169,9 +169,9 @@ void sub_802F974(void)
{
if(gUnknown_203B314 != NULL)
{
gUnknown_203B314->sBC.s0.unk3C.a0[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E06FC;
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E06FC;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&gUnknown_203B314->sBC.s0.unk3C, TRUE, TRUE);
ShowWindows(&gUnknown_203B314->sBC.s0.windows, TRUE, TRUE);
MemoryFree(gUnknown_203B314);
gUnknown_203B314 = NULL;
}
@ -203,7 +203,7 @@ void sub_802FA50(void)
if (gUnknown_203B314->unkB8 != 0) {
for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++)
{
y = sub_8013800(&gUnknown_203B314->sBC.s0.input,counter);
y = GetMenuEntryYCoord(&gUnknown_203B314->sBC.s0.input,counter);
index = gUnknown_203B314->sBC.s0.input.unk1E * gUnknown_203B314->sBC.s0.input.unk1C + counter;
sVar1 = gUnknown_203B314->unk0[index];
if (gUnknown_203B314->unk5C[index] != 0) {
@ -218,7 +218,7 @@ void sub_802FA50(void)
else {
for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++)
{
y2 = sub_8013800(&gUnknown_203B314->sBC.s0.input,counter);
y2 = GetMenuEntryYCoord(&gUnknown_203B314->sBC.s0.input,counter);
text = sub_80974A0(gUnknown_203B314->unk0[gUnknown_203B314->sBC.s0.input.unk1E * gUnknown_203B314->sBC.s0.input.unk1C + counter]);
PrintStringOnWindow(8,y2,text,gUnknown_203B314->sBC.s0.unk34,0);
}

View File

@ -88,7 +88,7 @@ UNUSED static NAKED void sub_80993F0(void)
" movs r0, 0\n"
" movs r1, 0x1\n"
" movs r2, 0x1\n"
" bl xxx_call_save_unk_text_struct_800641C\n"
" bl ShowWindows\n"
" movs r0, 0\n"
" movs r1, 0x14\n"
" bl sub_8009408\n"
@ -149,7 +149,7 @@ UNUSED static NAKED void sub_80993F0(void)
" movs r0, 0\n"
" movs r1, 0x1\n"
" movs r2, 0x1\n"
" bl xxx_call_save_unk_text_struct_800641C\n"
" bl ShowWindows\n"
" bl GroundMap_Reset\n"
" bl sub_809D0BC\n"
" mov r0, r10\n"

View File

@ -135,7 +135,7 @@ void sub_809A560(void)
gUnknown_20399DC = 0;
gUnknown_20399DE = 0;
sub_80095CC(0,0x14);
xxx_call_save_unk_text_struct_800641C(0,1,1);
ShowWindows(0,1,1);
sub_8009408(0,0x14);
ResetTextbox_809B294();
gUnknown_3001B64->unk414 = 0;
@ -180,7 +180,7 @@ u32 xxx_script_textboxes_809A680(u32 param_1, u32 param_2)
switch(param_1) {
case 0:
ResetTextbox_809B294();
xxx_call_save_unk_text_struct_800641C(0,1,1);
ShowWindows(0,1,1);
break;
case 1:
ResetTextbox_809B294();
@ -196,7 +196,7 @@ u32 xxx_script_textboxes_809A680(u32 param_1, u32 param_2)
break;
default:
ResetTextbox_809B294();
xxx_call_save_unk_text_struct_800641C(0,1,1);
ShowWindows(0,1,1);
}
gUnknown_3001B64->unk0 = param_1;
return 1;
@ -1863,7 +1863,7 @@ bool8 sub_809B648(void)
case 0x2d:
if (gUnknown_3001B64->unk420 == 1) {
ResetTextbox_809B294();
xxx_call_save_unk_text_struct_800641C(NULL, 1, 1);
ShowWindows(NULL, 1, 1);
if (sub_801A5D8(0,0,0,10)) {
return 1;
}

View File

@ -8,8 +8,8 @@
static EWRAM_INIT Credits1Work *sCredits1Work = {NULL};
extern const UnkTextStruct2 gUnknown_80E4A10;
extern const UnkTextStruct2 gUnknown_80E4A28;
extern const Window gUnknown_80E4A10;
extern const Window gUnknown_80E4A28;
extern const u32 gUnknown_80E4A40[];
extern const CreditsData* gCreditsTable[27];
@ -31,11 +31,11 @@ bool8 DrawCredits(s32 creditsCategoryIndex, s32 param_2)
sCredits1Work->creditsCategoryIndex = creditsCategoryIndex;
for (i = 0; i < 4; i++)
sCredits1Work->unk0.a0[i] = gUnknown_80E4A10;
sCredits1Work->unk0.a0[0] = gUnknown_80E4A28;
sCredits1Work->unk0.id[i] = gUnknown_80E4A10;
sCredits1Work->unk0.id[0] = gUnknown_80E4A28;
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(&sCredits1Work->unk0, TRUE, TRUE);
ShowWindows(&sCredits1Work->unk0, TRUE, TRUE);
sub_8099690(2);
sub_80073B8(0);
@ -118,7 +118,7 @@ s32 sub_8035574(void)
case 3:
if (!sub_8099B94()) {
ResetUnusedInputStruct();
xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE);
ShowWindows(NULL, TRUE, TRUE);
sCredits1Work->unk60 = 4;
}
break;

View File

@ -1,6 +1,6 @@
static const UnkTextStruct2 sUnknown_80E1FF0 =
static const Window sUnknown_80E1FF0 =
{
0, 0, 0, 0,
0,
3,
0, 0,
0, 0,
@ -8,9 +8,9 @@ static const UnkTextStruct2 sUnknown_80E1FF0 =
NULL
};
static const UnkTextStruct2 sUnknown_80E2008 =
static const Window sUnknown_80E2008 =
{
0, 0, 0, 0,
0,
6,
2, 2,
26, 4,
@ -19,4 +19,4 @@ static const UnkTextStruct2 sUnknown_80E2008 =
};
ALIGNED(4) static const u8 sAdventureLogText[] = _("Adventure Log");
ALIGNED(4) static const u8 sPlaceholder[] = _("{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95} ");
ALIGNED(4) static const u8 sPlaceholder[] = _("{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95}{UNK_95} ");

View File

@ -5,9 +5,9 @@ enum
MENU_ACTION_NO,
};
UNUSED static const UnkTextStruct2 sUnknown_80DB670 =
UNUSED static const Window sUnknown_80DB670 =
{
0, 0, 0, 0,
0,
3,
0, 0,
0, 0,
@ -17,4 +17,4 @@ UNUSED static const UnkTextStruct2 sUnknown_80DB670 =
ALIGNED(4) static const u8 sIsNameOKPrompt[] = _("Is the name {COLOR CYAN}{POKEMON_0}{RESET} OK?");
ALIGNED(4) static const u8 sNameTooLong[] = _("This name is too long.");
ALIGNED(4) static const u8 sEnterAName[] = _("Please enter a name.");
ALIGNED(4) static const u8 sEnterAName[] = _("Please enter a name.");

Some files were not shown because too many files have changed in this diff Show More