mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-27 03:07:22 -05:00
Split+data code_8023144/code_80227B8
This commit is contained in:
@@ -1,154 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8023758
|
||||
sub_8023758:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x4
|
||||
ldr r3, _080237DC
|
||||
ldr r2, [r3]
|
||||
ldr r1, [r2, 0x8]
|
||||
lsls r0, r1, 1
|
||||
adds r0, 0xA
|
||||
adds r2, r0
|
||||
mov r9, r2
|
||||
movs r2, 0
|
||||
subs r1, 0x1
|
||||
cmp r2, r1
|
||||
bge _080237CC
|
||||
_08023778:
|
||||
mov r5, r9
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0, 0x8]
|
||||
subs r7, r0, 0x1
|
||||
adds r0, r2, 0x1
|
||||
mov r8, r0
|
||||
cmp r7, r2
|
||||
ble _080237BE
|
||||
_08023788:
|
||||
subs r6, r5, 0x2
|
||||
movs r1, 0
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r1, 0x1
|
||||
str r2, [sp]
|
||||
bl GetAlphabetParentNo
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
ldrsh r0, [r5, r1]
|
||||
movs r1, 0x1
|
||||
bl GetAlphabetParentNo
|
||||
lsls r4, 16
|
||||
lsls r0, 16
|
||||
ldr r2, [sp]
|
||||
cmp r4, r0
|
||||
ble _080237B6
|
||||
movs r0, 0
|
||||
ldrsh r1, [r5, r0]
|
||||
ldrh r0, [r6]
|
||||
strh r0, [r5]
|
||||
strh r1, [r6]
|
||||
_080237B6:
|
||||
adds r5, r6, 0
|
||||
subs r7, 0x1
|
||||
cmp r7, r2
|
||||
bgt _08023788
|
||||
_080237BE:
|
||||
mov r2, r8
|
||||
ldr r3, _080237DC
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0, 0x8]
|
||||
subs r0, 0x1
|
||||
cmp r2, r0
|
||||
blt _08023778
|
||||
_080237CC:
|
||||
add sp, 0x4
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080237DC: .4byte gUnknown_3001B5C
|
||||
thumb_func_end sub_8023758
|
||||
|
||||
thumb_func_start sub_80237E0
|
||||
sub_80237E0:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x4
|
||||
ldr r3, _08023864
|
||||
ldr r2, [r3]
|
||||
ldr r1, [r2, 0x8]
|
||||
lsls r0, r1, 1
|
||||
adds r0, 0xA
|
||||
adds r2, r0
|
||||
mov r9, r2
|
||||
movs r2, 0
|
||||
subs r1, 0x1
|
||||
cmp r2, r1
|
||||
bge _08023854
|
||||
_08023800:
|
||||
mov r5, r9
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0, 0x8]
|
||||
subs r7, r0, 0x1
|
||||
adds r0, r2, 0x1
|
||||
mov r8, r0
|
||||
cmp r7, r2
|
||||
ble _08023846
|
||||
_08023810:
|
||||
subs r6, r5, 0x2
|
||||
movs r1, 0
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r1, 0
|
||||
str r2, [sp]
|
||||
bl GetAlphabetParentNo
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
ldrsh r0, [r5, r1]
|
||||
movs r1, 0
|
||||
bl GetAlphabetParentNo
|
||||
lsls r4, 16
|
||||
lsls r0, 16
|
||||
ldr r2, [sp]
|
||||
cmp r4, r0
|
||||
ble _0802383E
|
||||
movs r0, 0
|
||||
ldrsh r1, [r5, r0]
|
||||
ldrh r0, [r6]
|
||||
strh r0, [r5]
|
||||
strh r1, [r6]
|
||||
_0802383E:
|
||||
adds r5, r6, 0
|
||||
subs r7, 0x1
|
||||
cmp r7, r2
|
||||
bgt _08023810
|
||||
_08023846:
|
||||
mov r2, r8
|
||||
ldr r3, _08023864
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0, 0x8]
|
||||
subs r0, 0x1
|
||||
cmp r2, r0
|
||||
blt _08023800
|
||||
_08023854:
|
||||
add sp, 0x4
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08023864: .4byte gUnknown_3001B5C
|
||||
thumb_func_end sub_80237E0
|
||||
@@ -1,382 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8022A10
|
||||
sub_8022A10:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
ldr r1, _08022A2C
|
||||
ldr r0, [r1]
|
||||
ldr r0, [r0]
|
||||
adds r4, r1, 0
|
||||
cmp r0, 0x16
|
||||
bls _08022A22
|
||||
b _08022D1E
|
||||
_08022A22:
|
||||
lsls r0, 2
|
||||
ldr r1, _08022A30
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08022A2C: .4byte gUnknown_203B294
|
||||
_08022A30: .4byte _08022A34
|
||||
.align 2, 0
|
||||
_08022A34:
|
||||
.4byte _08022A90
|
||||
.4byte _08022AAA
|
||||
.4byte _08022AB2
|
||||
.4byte _08022AE0
|
||||
.4byte _08022B10
|
||||
.4byte _08022B1A
|
||||
.4byte _08022B24
|
||||
.4byte _08022B34
|
||||
.4byte _08022B44
|
||||
.4byte _08022B54
|
||||
.4byte _08022B64
|
||||
.4byte _08022C28
|
||||
.4byte _08022CA0
|
||||
.4byte _08022CA8
|
||||
.4byte _08022CB0
|
||||
.4byte _08022CB8
|
||||
.4byte _08022CC0
|
||||
.4byte _08022CC8
|
||||
.4byte _08022CD8
|
||||
.4byte _08022CE8
|
||||
.4byte _08022CF8
|
||||
.4byte _08022D14
|
||||
.4byte _08022D1E
|
||||
_08022A90:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, 0x48]
|
||||
cmp r0, 0
|
||||
beq _08022A9C
|
||||
movs r0, 0x5
|
||||
b _08022A9E
|
||||
_08022A9C:
|
||||
movs r0, 0x1
|
||||
_08022A9E:
|
||||
movs r1, 0x3
|
||||
movs r2, 0
|
||||
movs r3, 0xA
|
||||
bl sub_801A5D8
|
||||
b _08022D22
|
||||
_08022AAA:
|
||||
movs r0, 0x1
|
||||
bl sub_801A8D0
|
||||
b _08022D22
|
||||
_08022AB2:
|
||||
bl sub_801A9E0
|
||||
ldr r0, _08022ADC
|
||||
ldr r2, [r0]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x54
|
||||
adds r1, r2, 0
|
||||
adds r1, 0xF8
|
||||
movs r4, 0x9C
|
||||
lsls r4, 1
|
||||
adds r3, r2, r4
|
||||
adds r2, 0xF4
|
||||
ldr r2, [r2]
|
||||
str r2, [sp]
|
||||
movs r2, 0x2
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0
|
||||
bl sub_8012D60
|
||||
b _08022D22
|
||||
.align 2, 0
|
||||
_08022ADC: .4byte gUnknown_203B294
|
||||
_08022AE0:
|
||||
bl sub_801A9E0
|
||||
ldr r4, _08022B08
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x54
|
||||
movs r1, 0
|
||||
bl sub_8012EA4
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA4
|
||||
ldr r1, _08022B0C
|
||||
movs r2, 0x3
|
||||
str r2, [sp]
|
||||
movs r2, 0x1
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl sub_8012D60
|
||||
b _08022D22
|
||||
.align 2, 0
|
||||
_08022B08: .4byte gUnknown_203B294
|
||||
_08022B0C: .4byte gUnknown_80DC584
|
||||
_08022B10:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x50
|
||||
bl sub_801B3C0
|
||||
b _08022D22
|
||||
_08022B1A:
|
||||
ldr r0, _08022B20
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022B20: .4byte gUnknown_80DC5F4
|
||||
_08022B24:
|
||||
ldr r0, _08022B2C
|
||||
ldr r3, _08022B30
|
||||
b _08022D02
|
||||
.align 2, 0
|
||||
_08022B2C: .4byte gUnknown_80DC618
|
||||
_08022B30: .4byte 0x00000101
|
||||
_08022B34:
|
||||
ldr r0, _08022B3C
|
||||
ldr r3, _08022B40
|
||||
b _08022D02
|
||||
.align 2, 0
|
||||
_08022B3C: .4byte gUnknown_80DC674
|
||||
_08022B40: .4byte 0x00000101
|
||||
_08022B44:
|
||||
ldr r0, _08022B4C
|
||||
ldr r3, _08022B50
|
||||
b _08022D02
|
||||
.align 2, 0
|
||||
_08022B4C: .4byte gUnknown_80DC6CC
|
||||
_08022B50: .4byte 0x00000101
|
||||
_08022B54:
|
||||
ldr r0, _08022B5C
|
||||
ldr r3, _08022B60
|
||||
b _08022D02
|
||||
.align 2, 0
|
||||
_08022B5C: .4byte gUnknown_80DC728
|
||||
_08022B60: .4byte 0x00000101
|
||||
_08022B64:
|
||||
ldr r7, _08022B68
|
||||
b _08022B78
|
||||
.align 2, 0
|
||||
_08022B68: .4byte gUnknown_203B294
|
||||
_08022B6C:
|
||||
ldr r1, [r4]
|
||||
ldr r0, [r1, 0x40]
|
||||
adds r0, 0x1
|
||||
str r0, [r1, 0x40]
|
||||
cmp r0, 0x17
|
||||
bgt _08022C10
|
||||
_08022B78:
|
||||
movs r5, 0
|
||||
movs r6, 0
|
||||
movs r3, 0
|
||||
ldr r2, [r4]
|
||||
ldr r0, [r2, 0x38]
|
||||
cmp r5, r0
|
||||
bge _08022BA4
|
||||
ldrb r1, [r2, 0x8]
|
||||
b _08022B9C
|
||||
_08022B8A:
|
||||
adds r3, 0x1
|
||||
ldr r2, [r4]
|
||||
ldr r0, [r2, 0x38]
|
||||
cmp r3, r0
|
||||
bge _08022BA4
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x8
|
||||
adds r0, r3
|
||||
ldrb r1, [r0]
|
||||
_08022B9C:
|
||||
ldr r0, [r2, 0x40]
|
||||
cmp r1, r0
|
||||
bne _08022B8A
|
||||
movs r5, 0x1
|
||||
_08022BA4:
|
||||
movs r3, 0
|
||||
ldr r2, [r4]
|
||||
ldr r0, [r2, 0x3C]
|
||||
cmp r3, r0
|
||||
bge _08022BCE
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x20
|
||||
b _08022BC4
|
||||
_08022BB4:
|
||||
adds r3, 0x1
|
||||
ldr r2, [r4]
|
||||
ldr r0, [r2, 0x3C]
|
||||
cmp r3, r0
|
||||
bge _08022BCE
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x20
|
||||
adds r0, r3
|
||||
_08022BC4:
|
||||
ldrb r1, [r0]
|
||||
ldr r0, [r2, 0x40]
|
||||
cmp r1, r0
|
||||
bne _08022BB4
|
||||
movs r6, 0x1
|
||||
_08022BCE:
|
||||
cmp r5, r6
|
||||
beq _08022B6C
|
||||
ldr r1, [r7]
|
||||
movs r0, 0xA
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, [r1, 0x40]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl GetIQSkillName
|
||||
adds r1, r0, 0
|
||||
ldr r0, _08022C18
|
||||
bl strcpy
|
||||
movs r0, 0xCB
|
||||
bl PlaySound
|
||||
ldr r0, _08022C1C
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
ldr r3, _08022C20
|
||||
bl sub_80141B4
|
||||
ldr r1, [r7]
|
||||
ldr r0, [r1, 0x40]
|
||||
adds r0, 0x1
|
||||
str r0, [r1, 0x40]
|
||||
ldr r0, _08022C24
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x40]
|
||||
cmp r0, 0x17
|
||||
bgt _08022C10
|
||||
b _08022D22
|
||||
_08022C10:
|
||||
movs r0, 0xB
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
.align 2, 0
|
||||
_08022C18: .4byte gUnknown_202DEA8
|
||||
_08022C1C: .4byte gUnknown_80DC788
|
||||
_08022C20: .4byte 0x00000101
|
||||
_08022C24: .4byte gUnknown_203B294
|
||||
_08022C28:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x16
|
||||
str r0, [r1, 0x4]
|
||||
bl nullsub_104
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x46
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x8
|
||||
bhi _08022C98
|
||||
lsls r0, 2
|
||||
ldr r1, _08022C48
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08022C48: .4byte _08022C4C
|
||||
.align 2, 0
|
||||
_08022C4C:
|
||||
.4byte _08022C70
|
||||
.4byte _08022C78
|
||||
.4byte _08022C80
|
||||
.4byte _08022C98
|
||||
.4byte _08022C88
|
||||
.4byte _08022C98
|
||||
.4byte _08022C98
|
||||
.4byte _08022C98
|
||||
.4byte _08022C90
|
||||
_08022C70:
|
||||
movs r0, 0x16
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022C78:
|
||||
movs r0, 0xD
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022C80:
|
||||
movs r0, 0xE
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022C88:
|
||||
movs r0, 0xF
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022C90:
|
||||
movs r0, 0x10
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022C98:
|
||||
movs r0, 0xC
|
||||
bl sub_8022924
|
||||
b _08022D22
|
||||
_08022CA0:
|
||||
ldr r0, _08022CA4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CA4: .4byte gUnknown_80DC7B4
|
||||
_08022CA8:
|
||||
ldr r0, _08022CAC
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CAC: .4byte gUnknown_80DC7FC
|
||||
_08022CB0:
|
||||
ldr r0, _08022CB4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CB4: .4byte gUnknown_80DC81C
|
||||
_08022CB8:
|
||||
ldr r0, _08022CBC
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CBC: .4byte gUnknown_80DC844
|
||||
_08022CC0:
|
||||
ldr r0, _08022CC4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CC4: .4byte gUnknown_80DC864
|
||||
_08022CC8:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x16
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _08022CD4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CD4: .4byte gUnknown_80DC88C
|
||||
_08022CD8:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x16
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _08022CE4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CE4: .4byte gUnknown_80DC8AC
|
||||
_08022CE8:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x16
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _08022CF4
|
||||
b _08022D00
|
||||
.align 2, 0
|
||||
_08022CF4: .4byte gUnknown_80DC8C8
|
||||
_08022CF8:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x16
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _08022D0C
|
||||
_08022D00:
|
||||
ldr r3, _08022D10
|
||||
_08022D02:
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80141B4
|
||||
b _08022D22
|
||||
.align 2, 0
|
||||
_08022D0C: .4byte gUnknown_80DC8DC
|
||||
_08022D10: .4byte 0x00000301
|
||||
_08022D14:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, 0x4C]
|
||||
bl sub_801AFA4
|
||||
b _08022D22
|
||||
_08022D1E:
|
||||
bl sub_801A928
|
||||
_08022D22:
|
||||
add sp, 0x8
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8022A10
|
||||
|
||||
.align 2,0
|
||||
@@ -1,188 +0,0 @@
|
||||
.section .rodata
|
||||
|
||||
@ code_8023144
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC584
|
||||
gUnknown_80DC584: @ 80DC584
|
||||
.4byte Yes_80DC5A0
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.4byte No_80DC59C
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
|
||||
.global No_80DC59C
|
||||
No_80DC59C:
|
||||
.string "No\0"
|
||||
.align 2,0
|
||||
.global Yes_80DC5A0
|
||||
Yes_80DC5A0:
|
||||
.string "Yes\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC5A4
|
||||
gUnknown_80DC5A4: @ 80DC5A4
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC5BC
|
||||
gUnknown_80DC5BC: @ 80DC5BC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x14, 0x00, 0x04, 0x00
|
||||
.byte 0x06, 0x00, 0x03, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC5D4
|
||||
gUnknown_80DC5D4: @ 80DC5D4
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x14, 0x00, 0x0b, 0x00
|
||||
.byte 0x06, 0x00, 0x03, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC5EC
|
||||
gUnknown_80DC5EC: @ 80DC5EC
|
||||
.byte 0x81, 0x48
|
||||
.byte 0x81, 0x48
|
||||
.byte 0x81, 0x48
|
||||
.byte 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC5F4
|
||||
gUnknown_80DC5F4: @ 80DC5F4
|
||||
.string "It doesn{APOSTROPHE}t appear to be hungry.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC618
|
||||
gUnknown_80DC618: @ 80DC618
|
||||
.string "{ARG_POKEMON_1} took the Gummi and ate it.\n"
|
||||
.string "This Gummi looks like a big favorite!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s IQ went up!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC674
|
||||
gUnknown_80DC674: @ 80DC674
|
||||
.string "{ARG_POKEMON_1} took the Gummi and ate it.\n"
|
||||
.string "This Gummi looks like a favorite!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s IQ went up!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC6CC
|
||||
gUnknown_80DC6CC: @ 80DC6CC
|
||||
.string "{ARG_POKEMON_1} took the Gummi and ate it.\n"
|
||||
.string "It doesn{APOSTROPHE}t seem to dislike this Gummi.\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s IQ went up!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC728
|
||||
gUnknown_80DC728: @ 80DC728
|
||||
.string "{ARG_POKEMON_1} took the Gummi and ate it.\n"
|
||||
.string "It appears to be just a little satisfied.\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s IQ went up!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC788
|
||||
gUnknown_80DC788: @ 80DC788
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s IQ helped it learn how to\n"
|
||||
.string "use {ARG_MOVE_ITEM_1}!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC7B4
|
||||
gUnknown_80DC7B4: @ 80DC7B4
|
||||
.string "Yes! {ARG_POKEMON_1} grew explosively!\n"
|
||||
.string "Attack{COMMA} Defense{COMMA} and so on rose by 1!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC7FC
|
||||
gUnknown_80DC7FC: @ 80DC7FC
|
||||
.string "Yes!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s Attack rose by 1!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC81C
|
||||
gUnknown_80DC81C: @ 80DC81C
|
||||
.string "Yes!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s Special Attack rose by 1!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC844
|
||||
gUnknown_80DC844: @ 80DC844
|
||||
.string "Yes!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s Defense rose by 1!\0"
|
||||
.align 2,0
|
||||
|
||||
|
||||
.global gUnknown_80DC864
|
||||
gUnknown_80DC864: @ 80DC864
|
||||
.string "Yes!\n"
|
||||
.string "{ARG_POKEMON_1}{APOSTROPHE}s Special Defense rose by 1!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC88C
|
||||
gUnknown_80DC88C: @ 80DC88C
|
||||
.string "You don{APOSTROPHE}t have any Gummis.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC8AC
|
||||
gUnknown_80DC8AC: @ 80DC8AC
|
||||
.string "You don{APOSTROPHE}t have an item.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC8C8
|
||||
gUnknown_80DC8C8: @ 80DC8C8
|
||||
.string "The Gummi is gone!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC8DC
|
||||
gUnknown_80DC8DC: @ 80DC8DC
|
||||
.string "The item is gone!\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC8F0
|
||||
gUnknown_80DC8F0: @ 80DC8F0
|
||||
.string "Give\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC8F8
|
||||
gUnknown_80DC8F8: @ 80DC8F8
|
||||
.string "Use\0"
|
||||
.align 2,0
|
||||
|
||||
@ code_8023144 #2
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC904
|
||||
gUnknown_80DC904: @ 80DC904
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC91C
|
||||
gUnknown_80DC91C: @ 80DC91C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x06, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x02, 0x00
|
||||
.byte 0x0f, 0x00, 0x0e, 0x00
|
||||
.byte 0x0e, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80DC934
|
||||
gUnknown_80DC934: @ 80DC934
|
||||
.string "Pokémon\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80DC93C
|
||||
gUnknown_80DC93C: @ 80DC93C
|
||||
.string "{COLOR_2}%c%s{END_COLOR_TEXT_2}\0"
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ADVENTURE_LOG_H
|
||||
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xA0
|
||||
typedef struct AdventureLog
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CHARGE_MOVE_H
|
||||
#define GUARD_CHARGE_MOVE_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 MoveMatchesChargingStatus(Entity *pokemon, Move *move);
|
||||
// checkCharge = Check for the move named Charge.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "file_system.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// code_80130A8.s
|
||||
extern void sub_8013F84(void);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "input.h"
|
||||
#include "items.h"
|
||||
#include "subStruct_203B240.h"
|
||||
#include "text.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x94
|
||||
typedef struct unkStruct_203B230
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x154
|
||||
typedef struct unkStruct_203B234
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "constants/iq_skill.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x124
|
||||
struct unkStruct_203B238
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "constants/iq_skill.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xC4
|
||||
struct unkStruct_203B23C
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
#define GUARD_CODE_801C620_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "subStruct_203B240.h"
|
||||
#include "text.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x94
|
||||
struct unkStruct_203B240
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "constants/item.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x554
|
||||
struct unkStruct_203B244
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x118
|
||||
struct unk_203B250
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_CODE_801D9E4_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xA0
|
||||
struct unkStruct_203B258
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "input.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size 0xBC
|
||||
typedef struct unkStruct_203B270
|
||||
|
||||
36
include/code_80227B8.h
Normal file
36
include/code_80227B8.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef GUARD_CODE_80227B8_H
|
||||
#define GUARD_CODE_80227B8_H
|
||||
|
||||
#include "constants/iq_skill.h"
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x1A8
|
||||
typedef struct unkStruct_203B294
|
||||
{
|
||||
/* 0x0 */ s32 state;
|
||||
/* 0x4 */ s32 fallbackState;
|
||||
/* 0x8 */ u8 iqSkillPreGummi[NUM_IQ_SKILLS];
|
||||
/* 0x20 */ u8 iqSkillPostGummi[NUM_IQ_SKILLS];
|
||||
/* 0x38 */ s32 availIQSkillPreGummi;
|
||||
/* 0x3C */ s32 availIQSkillPostGummi;
|
||||
s32 unk40; // Gummi eaten flag?
|
||||
/* 0x44 */ Gummi gummi;
|
||||
/* 0x48 */ PokemonStruct1 *pokeStruct;
|
||||
/* 0x4C */ u32 itemIndex;
|
||||
/* 0x50 */ Item item;
|
||||
MenuStruct unk54;
|
||||
MenuStruct unkA4;
|
||||
/* 0xF4 */ u32 menuAction;
|
||||
MenuItem unkF8[8];
|
||||
u16 unk138[8];
|
||||
UnkTextStruct2 unk148[4];
|
||||
} unkStruct_203B294;
|
||||
|
||||
bool8 sub_80227B8(PokemonStruct1 *pkmn);
|
||||
u32 sub_8022860(void);
|
||||
void sub_8022908(void);
|
||||
|
||||
#endif // GUARD_CODE_80227B8_H
|
||||
@@ -1,59 +1,29 @@
|
||||
#ifndef GUARD_CODE_8023144_H
|
||||
#define GUARD_CODE_8023144_H
|
||||
|
||||
#include "constants/iq_skill.h"
|
||||
#include "input.h"
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x1A8
|
||||
typedef struct unkStruct_203B294
|
||||
{
|
||||
/* 0x0 */ s32 state;
|
||||
/* 0x4 */ s32 fallbackState;
|
||||
u8 iqSkillPreGummi[NUM_IQ_SKILLS];
|
||||
u8 iqSkillPostGummi[NUM_IQ_SKILLS];
|
||||
u32 availIQSkillPreGummi;
|
||||
u32 availIQSkillPostGummi;
|
||||
u32 unk40; // Gummi eaten flag?
|
||||
Gummi gummi;
|
||||
/* 0x48 */ PokemonStruct1 *pokeStruct;
|
||||
u32 itemIndex;
|
||||
Item item;
|
||||
MenuStruct unk54;
|
||||
MenuStruct unkA4;
|
||||
u32 menuAction;
|
||||
MenuItem unkF8[0x8];
|
||||
u16 unk138[0x8];
|
||||
UnkTextStruct2 unk148[4];
|
||||
} unkStruct_203B294;
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x3FC
|
||||
typedef struct unkStruct_3001B5C
|
||||
{
|
||||
u8 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
s32 unk8;
|
||||
s16 unkC[2];
|
||||
u32 unk10;
|
||||
u8 fill14[0x354 - 0x14];
|
||||
u8 unk354;
|
||||
u8 fill355[0x35C - 0x355];
|
||||
MenuInputStruct input;
|
||||
/* 0x35C */ MenuInputStruct input;
|
||||
u32 unk390;
|
||||
UnkTextStruct2 *unk394;
|
||||
UnkTextStruct2 unk398[4];
|
||||
u8 unk3F8[4];
|
||||
} unkStruct_3001B5C;
|
||||
|
||||
bool8 sub_80227B8(PokemonStruct1 *pokeStruct);
|
||||
u32 sub_8022860(void);
|
||||
void sub_8022908(void);
|
||||
|
||||
bool8 sub_8023144(s32, s32 index, UnkTextStruct2_sub *sub, u32);
|
||||
u32 sub_8023278(u8);
|
||||
u32 sub_8023278(bool8);
|
||||
s16 sub_802331C(void);
|
||||
void sub_8023354(bool8 cursorSprite);
|
||||
void sub_80233A0(void);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_CODE_8024458_H
|
||||
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
struct unkStruct_203B2AC
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CODE_80521D0_H
|
||||
#define GUARD_CODE_80521D0_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void SendMessage(Entity *pokemon, const char message[]);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CODE_806CD90_H
|
||||
#define GUARD_CODE_806CD90_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void sub_806CC10(void);
|
||||
void sub_806CC70(void);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CODE_80869E4_H
|
||||
#define GUARD_CODE_80869E4_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkStruct_202F3D0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_CODE_8094F88_H
|
||||
|
||||
#include "code_8092334.h"
|
||||
#include "dungeon_global_data.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "items.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CODE_8097670_H
|
||||
#define GUARD_CODE_8097670_H
|
||||
|
||||
#include "dungeon_global_data.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
// size: 0xC4
|
||||
struct unkStruct_203B494
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CODE_8097DD0_H
|
||||
#define GUARD_CODE_8097DD0_H
|
||||
|
||||
#include "subStruct_203B240.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
extern u32 sub_8097DF0(u8 *, struct subStruct_203B240 **);
|
||||
|
||||
|
||||
@@ -12,14 +12,11 @@
|
||||
#define INPUT_DPAD_DOWN 8
|
||||
#define INPUT_DPAD_LEFT 9
|
||||
#define INPUT_DPAD_RIGHT 10
|
||||
|
||||
// When R button is pressed in combination with other keys
|
||||
// When R button is pressed in combination with other keys:
|
||||
#define INPUT_R_A_BUTTONS 11
|
||||
#define INPUT_R_DPAD_UP_BUTTONS 12
|
||||
#define INPUT_R_DPAD_DOWN_BUTTONS 13
|
||||
#define INPUT_R_DPAD_LEFT_BUTTONS 14
|
||||
#define INPUT_R_DPAD_RIGHT_BUTTONS 15
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_INPUT_H
|
||||
|
||||
#endif // GUARD_CONSTANTS_INPUT_H
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef GUARD_CONSTANTS_ITEM_H
|
||||
#define GUARD_CONSTANTS_ITEM_H
|
||||
|
||||
// Cannot include enums in this file since it's used by the data_item and data_monster assemblers
|
||||
|
||||
#define MAX_KECLEON_ITEM_SHOP_ITEMS 8
|
||||
#define MAX_KECLEON_WARE_SHOP_ITEMS 4
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
enum JOB_LIST_MAIL_TYPES
|
||||
{
|
||||
MAIL_TYPE_NONE = 0,
|
||||
MAIL_TYPE_NONE,
|
||||
MAIL_TYPE_UNK1,
|
||||
MAIL_TYPE_UNK2,
|
||||
MAIL_TYPE_UNK3,
|
||||
MAIL_TYPE_UNK4,
|
||||
MAIL_TYPE_SUSPENDED_JOB = 5,
|
||||
MAIL_TYPE_SUSPENDED_JOB,
|
||||
MAIL_TYPE_TAKEN_JOB,
|
||||
MAIL_TYPE_UNK7,
|
||||
MAIL_TYPE_UNK8,
|
||||
|
||||
@@ -428,6 +428,6 @@
|
||||
#define MONSTER_RAYQUAZA_CUTSCENE 423
|
||||
|
||||
#define NUM_MONSTERS MONSTER_JIRACHI
|
||||
#define MONSTER_MAX MONSTER_RAYQUAZA_CUTSCENE
|
||||
#define MONSTER_MAX (MONSTER_RAYQUAZA_CUTSCENE + 1)
|
||||
|
||||
#endif // GUARD_CONSTANTS_MONSTER_H
|
||||
@@ -34,42 +34,6 @@ enum AccuracyType
|
||||
NUM_ACCURACY_TYPES
|
||||
};
|
||||
|
||||
// size: 0x24
|
||||
typedef struct MoveDataEntry
|
||||
{
|
||||
/* 0x0 */ u8 *name;
|
||||
/* 0x4 */ s16 basePower;
|
||||
/* 0x6 */ u8 type;
|
||||
// Determines the range of moves.
|
||||
/* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI
|
||||
// The AI consider certain moves to have different range than they actually do.
|
||||
/* 0xC */ u8 basePP;
|
||||
/* 0xD */ u8 aiWeight;
|
||||
// There are multiple accuracy values. These are define with the AccuracyType enum.
|
||||
/* 0xE */ u8 accuracy[NUM_ACCURACY_TYPES];
|
||||
/* 0x11 */ u8 numberOfChainedHits; // Maximum number of times the move will hit. Used for multi-hit moves like Fury Attack.
|
||||
/* 0x12 */ u8 maxUpgradeLevel;
|
||||
/* 0x13 */ u8 critChance;
|
||||
/* 0x14 */ bool8 affectedByMagicCoat; // If true, this move is reflected by Magic Coat.
|
||||
/* 0x15 */ bool8 isSnatchable;
|
||||
/* 0x16 */ bool8 usesMouth; // If true, this move can't be used with the Muzzled status.
|
||||
/* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target.
|
||||
/* 0x18 */ bool8 ignoresTaunted;
|
||||
/* 0x19 */ u8 rangeID;
|
||||
/* 0x1C */ u8 *description;
|
||||
/* 0x20 */ u8 *useText; // The text displayed when this move is used.
|
||||
} MoveDataEntry;
|
||||
|
||||
// size: 0x8
|
||||
typedef struct Move
|
||||
{
|
||||
u8 moveFlags;
|
||||
u8 moveFlags2;
|
||||
u16 id;
|
||||
u8 PP;
|
||||
u8 ginseng; // How much the move is boosted by Ginsengs.
|
||||
} Move;
|
||||
|
||||
enum TargetingFlag
|
||||
{
|
||||
TARGETING_FLAG_TARGET_OTHER = 0x0,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CREDITS1_H
|
||||
#define GUARD_CREDITS1_H
|
||||
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x6C
|
||||
typedef struct Credits1Work
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_DEBUG_MENU1_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x1A4
|
||||
struct DebugMenu
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_DEBUG_MENU2_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x138
|
||||
typedef struct unkStruct_203B3F0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_DEBUG_MENU3_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xFC
|
||||
typedef struct unkStruct_203B3F4
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "pokemon.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x140
|
||||
typedef struct unkStruct_203B3F8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_H
|
||||
#define GUARD_DUNGEON_H
|
||||
|
||||
#include "dungeon_global_data.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct DungeonName
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_ACTION_H
|
||||
#define GUARD_DUNGEON_ACTION_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void ClearMonsterActionFields(ActionContainer *actionPointer);
|
||||
void SetMonsterActionFields(ActionContainer *actionPointer, u16 action);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_H
|
||||
#define GUARD_DUNGEON_AI_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
u32 sub_8075818(Entity *entity);
|
||||
void sub_8075900(Entity *pokemon, u8 r1);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_ATTACK_H
|
||||
#define GUARD_DUNGEON_AI_ATTACK_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
#define RANGED_ATTACK_RANGE 10
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_ITEM_WEIGHT_H
|
||||
#define GUARD_DUNGEON_AI_ITEM_WEIGHT_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
u32 EvaluateItem(Entity *targetPokemon, Item *item, u32 itemTargetFlags);
|
||||
bool8 CanTargetAdjacentPokemon(Entity *pokemon);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#ifndef GUARD_DUNGEON_AI_ITEMS_H
|
||||
#define GUARD_DUNGEON_AI_ITEMS_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "position.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
void DecideUseItem(Entity *pokemon);
|
||||
void FindStraightThrowableTargets(Entity *pokemon, s32 thrownAIFlag, Item *item, bool8 ignoreRollChance);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_LEADER_H
|
||||
#define GUARD_DUNGEON_AI_LEADER_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 TargetLeader(Entity *pokemon);
|
||||
Entity* GetLeaderIfVisible(Entity *pokemon);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_MOVEMENT_H
|
||||
#define GUARD_DUNGEON_AI_MOVEMENT_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void MoveIfPossible(Entity *pokemon, bool8 showRunAwayEffect);
|
||||
bool8 CanTakeItem(Entity *pokemon);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_AI_TARGETING_H
|
||||
#define GUARD_DUNGEON_AI_TARGETING_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 CanAttackInDirection(Entity *pokemon, s32 direction);
|
||||
bool8 CanAIMonsterMoveInDirection(Entity *pokemon, s32 direction, bool8 *pokemonInFront);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_CAPABILITIES_H
|
||||
#define GUARD_DUNGEON_CAPABILITIES_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 CannotMove(Entity *pokemon, bool8 checkBlinker);
|
||||
bool8 sub_8070BC0(Entity* entity);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_ITEMS_H
|
||||
#define GUARD_DUNGEON_ITEMS_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 HasHeldItem(Entity *pokemon, u8 id);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_LEADER_H
|
||||
#define GUARD_DUNGEON_LEADER_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
Entity* GetLeader(void);
|
||||
EntityInfo* GetLeaderInfo(void);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_MAP_ACCESS_H
|
||||
#define GUARD_DUNGEON_MAP_ACCESS_H
|
||||
|
||||
#include "map.h"
|
||||
#include "structs/map.h"
|
||||
|
||||
typedef struct unkStruct_202F190
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_MOVEMENT
|
||||
#define GUARD_DUNGEON_MOVEMENT
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
u8 GetCrossableTerrain(s16 species);
|
||||
u8 sub_807034C(s16 id, struct Tile *tile);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
|
||||
#define GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 HasSafeguardStatus(Entity * param_1, Entity * param_2, bool8 displayMessage);
|
||||
bool8 sub_80717A4(Entity *pokemon, u16 moveID);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_POKEMON_SPRITES_H
|
||||
#define GUARD_DUNGEON_POKEMON_SPRITES_H
|
||||
|
||||
#include "position.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct DungeonPokemonStatusSprite
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_RANGE_H
|
||||
#define GUARD_DUNGEON_RANGE_H
|
||||
|
||||
#include "position.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
bool8 IsPositionActuallyInSight(Position *pos1, Position *pos2);
|
||||
bool8 IsPositionInSight(Position *pos1, Position *pos2);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
#define GUARD_DUNGEON_UTIL_H
|
||||
|
||||
#include "constants/direction.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "position.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
extern const Position gAdjacentTileOffsets[NUM_DIRECTIONS];
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_UTIL_1_H
|
||||
#define GUARD_DUNGEON_UTIL_1_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
Entity *xxx_call_GetLeader(void);
|
||||
Entity *GetPartnerEntity(void);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DUNGEON_VISIBILITY_H
|
||||
#define GUARD_DUNGEON_VISIBILITY_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 CanSeeTarget(Entity *entity, Entity *targetEntity);
|
||||
bool8 CanTargetEntity(Entity *entity, Entity *targetEntity);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "file_system.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
#define FELICITY_BANK_ACTION_WITHDRAW 0
|
||||
#define FELICITY_BANK_ACTION_DEPOSIT 1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
enum FriendAreaActionMenuStates
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "constants/move.h"
|
||||
#include "file_system.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x18C
|
||||
typedef struct GulpinShopWork
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "file_system.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x1E0
|
||||
typedef struct unkStruct_203B27C
|
||||
|
||||
@@ -1,89 +1,10 @@
|
||||
#ifndef GUARD_ITEMS_H
|
||||
#define GUARD_ITEMS_H
|
||||
|
||||
#include "constants/item.h"
|
||||
#include "code_8092334.h"
|
||||
#include "subStruct_203B240.h"
|
||||
|
||||
// size: 0x20
|
||||
typedef struct ItemDataEntry
|
||||
{
|
||||
/* 0x0 */ u8 *name;
|
||||
/* 0x4 */ u32 buyPrice;
|
||||
/* 0x8 */ u32 sellPrice;
|
||||
/* 0xC */ u8 category;
|
||||
/* 0xD */ u8 icon;
|
||||
/* 0x10 */ u8 *description;
|
||||
// Determines how the AI can use the item.
|
||||
// Index 0: Item can be used on self.
|
||||
// Index 1: Item can be thrown at allies.
|
||||
// Index 2: Item can be thrown at enemies.
|
||||
/* 0x14 */ bool8 aiFlags[3];
|
||||
/* 0x18 */ s16 moveID;
|
||||
/* 0x1A */ u8 order; // Numbered order they are in storage
|
||||
/* 0x1B */ u8 spawnAmountRange[2];
|
||||
/* 0x1D */ u8 palette;
|
||||
/* 0x1E */ u8 actionType;
|
||||
} ItemDataEntry;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Item
|
||||
{
|
||||
/* 0x0 */ u8 flags;
|
||||
/* 0x1 */ u8 quantity;
|
||||
/* 0x2 */ u8 id;
|
||||
} Item;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct BulkItem
|
||||
{
|
||||
/* 0x0 */ u8 id;
|
||||
/* 0x1 */ u8 quantity;
|
||||
} BulkItem;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Gummi
|
||||
{
|
||||
/* 0x0 */ s16 boostAmount;
|
||||
/* 0x2 */ u16 flags;
|
||||
} Gummi;
|
||||
|
||||
// size: 0xC
|
||||
typedef struct unkStruct_8090F58
|
||||
{
|
||||
u32 unk0;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
s16 unk6;
|
||||
u8 unk8;
|
||||
} unkStruct_8090F58;
|
||||
|
||||
// size: 0x268
|
||||
typedef struct TeamInventory
|
||||
{
|
||||
/* 0x0 */ Item teamItems[INVENTORY_SIZE];
|
||||
/* 0x50 */ u16 teamStorage[STORAGE_SIZE];
|
||||
/* 0x230 */ BulkItem kecleonShopItems[MAX_KECLEON_ITEM_SHOP_ITEMS];
|
||||
/* 0x250 */ BulkItem kecleonWareItems[MAX_KECLEON_WARE_SHOP_ITEMS];
|
||||
/* 0x260 */ s32 teamMoney;
|
||||
/* 0x264 */ s32 teamSavings;
|
||||
} TeamInventory;
|
||||
|
||||
enum ItemFlag
|
||||
{
|
||||
ITEM_FLAG_EXISTS = 1 << 0,
|
||||
ITEM_FLAG_IN_SHOP = 1 << 1, // in a Kecleon shop
|
||||
ITEM_FLAG_UNPAID = 1 << 2, // Picked up in Kecleon shop but not paid for yet
|
||||
ITEM_FLAG_STICKY = 1 << 3,
|
||||
ITEM_FLAG_SET = 1 << 4 // This item can be thrown by pressing L+R instead of having to go to the bag menu.
|
||||
};
|
||||
|
||||
enum ItemAIFlag
|
||||
{
|
||||
ITEM_AI_FLAG_TARGET_SELF,
|
||||
ITEM_AI_FLAG_TARGET_ALLY,
|
||||
ITEM_AI_FLAG_TARGET_ENEMY
|
||||
};
|
||||
#include "structs/str_items.h"
|
||||
#include "structs/str_pokemon.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
extern TeamInventory *gTeamInventoryRef;
|
||||
|
||||
@@ -143,6 +64,8 @@ bool8 IsHMItem(u8 id);
|
||||
bool8 IsEdibleItem(u8 id);
|
||||
u8 xxx_bit_lut_lookup_8091E50(u8 i0, u8 i1);
|
||||
bool8 IsInvalidItemReward(u8 itemID);
|
||||
bool8 HasGummiItem(void);
|
||||
void GetGummiItemStatBoost(PokemonStruct1* pokemon, u8 id, bool8 checkBoostFlags, Gummi *gummi);
|
||||
|
||||
void RestoreHeldItem(unkStruct_8094924 *, BulkItem *);
|
||||
void SaveHeldItem(unkStruct_8094924 *, BulkItem *);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "file_system.h"
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
enum KangaskhanStorageStates
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x150
|
||||
typedef struct unkStruct_203B20C
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "file_system.h"
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
enum KecleonStoreStates
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_KECLEON_BROS2_H
|
||||
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xA0
|
||||
typedef struct unkStruct_203B214
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_KECLEON_BROS3_H
|
||||
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xA0
|
||||
typedef struct unkStruct_203B21C
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "constants/item.h"
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xF4
|
||||
typedef struct unkStruct_203B224
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon_3.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x174
|
||||
typedef struct LuminousCaveWork
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MAILBOX_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "constants/mailbox.h"
|
||||
#include "code_802C39C.h"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MAIN_MENU1_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkStruct_8035D94
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MAIN_MENU2_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x1A8
|
||||
typedef struct MainMenu2Work
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "file_system.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
enum MakuhitaDojoInitMode
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "constants/dungeon.h"
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0xD0
|
||||
typedef struct MakuhitaDojoWork2
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "input.h"
|
||||
#include "sprite_oam.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct MenuItem
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MENU_INPUT_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
u32 sub_8012A64(MenuInputStructSub *r0, s32 r1);
|
||||
s32 GetKeyPress(MenuInputStruct *r0);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_MOVE_UTIL_H
|
||||
#define GUARD_MOVE_UTIL_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
u32 sub_8057144(Entity * pokemon);
|
||||
bool8 sub_80571F0(Entity * pokemon, Move *move);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "constants/move.h"
|
||||
#include "constants/move_id.h"
|
||||
#include "pokemon.h"
|
||||
#include "subStruct_203B240.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct MoveLearnset
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "sprite_oam.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x504
|
||||
typedef struct unkStruct_203B35C
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "items.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x280
|
||||
typedef struct unkStruct_203B2B8
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "constants/personality_test.h"
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// Definitely wrong but need to figure out better structure later
|
||||
struct FaceData
|
||||
|
||||
@@ -1,177 +1,18 @@
|
||||
#ifndef GUARD_POKEMON_H
|
||||
#define GUARD_POKEMON_H
|
||||
|
||||
#include "dungeon_global_data.h"
|
||||
#include "constants/move.h"
|
||||
#include "file_system.h"
|
||||
#include "items.h"
|
||||
#include "constants/move.h"
|
||||
|
||||
#include "structs/str_pokemon.h"
|
||||
|
||||
#define OFFENSE_NRM 0
|
||||
#define OFFENSE_SP 1
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Offense
|
||||
{
|
||||
/* 0x0 */ u8 att[2]; // Atk, SpAtk
|
||||
/* 0x2 */ u8 def[2]; // Def, SpDef
|
||||
} Offense;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct unkPokeSubStruct_C
|
||||
{
|
||||
u8 level;
|
||||
u8 fill1[3];
|
||||
} unkPokeSubStruct_C;
|
||||
|
||||
enum PokemonUnk0Flags {
|
||||
FLAG_ON_TEAM = 2,
|
||||
};
|
||||
|
||||
// size: 0x58
|
||||
typedef struct PokemonStruct1
|
||||
{
|
||||
u16 unk0; // Probably a union: Sometimes ldrh and sometimes ldrb. Recruited??
|
||||
/* 0x2 */ bool8 isTeamLeader;
|
||||
/* 0x3 */ u8 level;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation;
|
||||
/* 0x8 */ s16 speciesNum;
|
||||
unkPokeSubStruct_C unkC[2];
|
||||
/* 0x14 */ s16 IQ;
|
||||
/* 0x16 */ u16 pokeHP;
|
||||
/* 0x18 */ Offense offense;
|
||||
/* 0x1C */ u32 currExp;
|
||||
/* 0x20 */ u32 IQSkills;
|
||||
/* 0x24 */ u8 tacticIndex;
|
||||
/* 0x28 */ BulkItem heldItem;
|
||||
/* 0x2C */ Move moves[MAX_MON_MOVES];
|
||||
/* 0x4C */ u8 name[POKEMON_NAME_LENGTH];
|
||||
} PokemonStruct1;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct unkStruct_808E6F4
|
||||
{
|
||||
s16 unk0;
|
||||
u8 unk2;
|
||||
} unkStruct_808E6F4;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct EvolveStage
|
||||
{
|
||||
/* 0x0 */ s16 speciesNum;
|
||||
/* 0x2 */ u8 level;
|
||||
} EvolveStage;
|
||||
|
||||
// size: 0x24
|
||||
typedef struct unkStruct_8094184
|
||||
{
|
||||
/* 0x0 */ Move moves[MAX_MON_MOVES];
|
||||
u8 unk20;
|
||||
} unkStruct_8094184;
|
||||
|
||||
// size: 0x64
|
||||
typedef struct PokemonStruct2
|
||||
{
|
||||
u16 unk0; // corresponds to unk0 in PokemonStruct
|
||||
/* 0x2 */ bool8 isTeamLeader;
|
||||
/* 0x3 */ u8 level;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation;
|
||||
/* 0x8 */ u16 IQ;
|
||||
s16 unkA;
|
||||
u16 unkC;
|
||||
/* 0xE */ s16 speciesNum;
|
||||
u16 unk10; // pokeHP
|
||||
u16 unk12; // pokeHP
|
||||
/* 0x14 */ Offense offense; // offense (other offset)
|
||||
/* 0x18 */ u32 currExp;
|
||||
/* 0x1C */ unkStruct_8094184 moves;
|
||||
/* 0x40 */ Item itemSlot; // heldItem
|
||||
u32 unk44; // some struct
|
||||
u32 unk48; // some struct (same type as 44)
|
||||
/* 0x4C */ u32 IQSkills; // unk20
|
||||
/* 0x50 */ u8 tacticIndex;
|
||||
unkStruct_808E6F4 unk54;
|
||||
/* 0x58 */ u8 name[POKEMON_NAME_LENGTH]; // name (other offset)
|
||||
} PokemonStruct2;
|
||||
|
||||
// size: 0x90E8
|
||||
typedef struct unkStruct_203B45C
|
||||
{
|
||||
/* 0x0 */ PokemonStruct1 pokemon[NUM_MONSTERS];
|
||||
/* 0x8DF8 */ PokemonStruct2 pokemon2[4];
|
||||
/* 0x8F88 */ PokemonStruct1 team[MAX_TEAM_MEMBERS];
|
||||
} unkStruct_203B45C;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct PreEvolution
|
||||
{
|
||||
/* 0x0 */ s16 evolveFrom;
|
||||
/* 0x2 */ u16 evolveType;
|
||||
} PreEvolution;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct EvolutionRequirements
|
||||
{
|
||||
/* 0x0 */ s16 mainRequirement;
|
||||
/* 0x2 */ u16 additionalRequirement;
|
||||
} EvolutionRequirements;
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkEvolve
|
||||
{
|
||||
/* 0x0 */ PreEvolution preEvolution;
|
||||
/* 0x4 */ EvolutionRequirements evolutionRequirements;
|
||||
} unkEvolve;
|
||||
|
||||
// size: 0x48
|
||||
typedef struct MonsterDataEntry
|
||||
{
|
||||
/* 0x0 */ u8* species;
|
||||
/* 0x4 */ u8* category;
|
||||
/* 0x8 */ u8 overworldPalette;
|
||||
/* 0x9 */ u8 bodySize;
|
||||
/* 0xC */ s32 movementSpeed;
|
||||
/* 0x10 */ u16 dialogueSprites; // Bitwise flags for whether a dialogue sprite/portrait is available for each emotion.
|
||||
bool8 unk12;
|
||||
/* 0x13 */ u8 types[2];
|
||||
/* 0x15 */ u8 movementType;
|
||||
/* 0x16 */ u8 friendArea;
|
||||
/* 0x17 */ u8 abilities[2];
|
||||
/* 0x19 */ u8 shadowSize;
|
||||
u8 fill1A; // 0 for all Pokémon.
|
||||
/* 0x1B */ u8 regenSpeed; // 100 for all Pokémon.
|
||||
/* 0x1C */ bool8 canMove; // Set to false for Pokémon who don't move unless they're the leader, like Kakuna.
|
||||
/* 0x1D */ u8 chanceAsleep;
|
||||
/* 0x1E */ u16 baseHP;
|
||||
/* 0x20 */ s32 expYield;
|
||||
/* 0x24 */ u16 baseAtkSpAtk[2];
|
||||
/* 0x28 */ u16 baseDefSpDef[2];
|
||||
/* 0x2C */ u16 weight;
|
||||
/* 0x2E */ u16 size;
|
||||
u8 unk30; // 10 for all Pokémon.
|
||||
u8 unk31; // 10 for all Pokémon.
|
||||
u8 unk32; // 24 for all Pokémon.
|
||||
/* 0x33 */ bool8 toolboxEnabled; // If false, the AI can't use items. Doesn't seem to be used, as it's true for all Pokémon.
|
||||
/* 0x34 */ PreEvolution preEvolution;
|
||||
/* 0x38 */ EvolutionRequirements evolutionRequirements;
|
||||
/* 0x3C */ s16 dexInternal[2]; // dexNo and internalNo
|
||||
/* 0x40 */ s16 recruitRate;
|
||||
/* 0x42 */ s16 alphabetParent[2]; // alphabetNo and parentNo
|
||||
} MonsterDataEntry;
|
||||
|
||||
// size: 0xC | https://www.pokecommunity.com/showthread.php?t=407371
|
||||
typedef struct LevelData
|
||||
{
|
||||
/* 0x0 */ s32 expRequired;
|
||||
/* 0x4 */ u8 gainHP;
|
||||
/* 0x5 */ u8 gainUnused;
|
||||
/* 0x6 */ u8 gainAtt;
|
||||
/* 0x7 */ u8 gainSPAtt;
|
||||
/* 0x8 */ u8 gainDef;
|
||||
/* 0x9 */ u8 gainSPDef;
|
||||
u16 fillA;
|
||||
} LevelData;
|
||||
|
||||
// size: 0x1A4
|
||||
typedef struct unkStruct_808E218_arg
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_POSITION_UTIL_H
|
||||
#define GUARD_POSITION_UTIL_H
|
||||
|
||||
#include "position.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
s32 GetDirectionTowardsPosition(Position *originPos, Position *targetPos);
|
||||
s32 GetDistance(Position *pos1, Position *pos2);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_POST_OFFICE_GUIDE2_H
|
||||
|
||||
#include "input.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// size: 0x78
|
||||
typedef struct unkStruct_203B330
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "menu.h"
|
||||
#include "sprite.h"
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// Similar to unkStruct_203B360
|
||||
struct RescuePasswordMenu
|
||||
|
||||
@@ -23,9 +23,9 @@ enum
|
||||
READ_SAVE_CHECKSUM_ERROR
|
||||
};
|
||||
|
||||
|
||||
struct UnkStruct_sub_8011DAC {
|
||||
// size: 0x57D4
|
||||
// size: 0x57D4
|
||||
struct UnkStruct_sub_8011DAC
|
||||
{
|
||||
u8 fill000[0x4];
|
||||
u8 unk004[0x400];
|
||||
u8 gameInternalName[0x10]; // has "POKE_DUNGEON__05"
|
||||
@@ -45,8 +45,9 @@ struct UnkStruct_sub_8011DAC {
|
||||
u8 unk448[0x538C];
|
||||
};
|
||||
|
||||
|
||||
struct UnkStruct_203B184 {
|
||||
// size: 0x5C
|
||||
struct UnkStruct_203B184
|
||||
{
|
||||
/* 0x0 */ TeamInventory *MoneyItems;
|
||||
/* 0x4 */ unkStruct_203B45C *recruitedPokemon;
|
||||
/* 0x8 */ unkStruct_203B480 *unk8;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "axdata.h"
|
||||
#include "ground_sprite.h"
|
||||
#include "position.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "sprite_oam.h"
|
||||
|
||||
// size: 0x8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_STATUS_H
|
||||
#define GUARD_STATUS_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
#define FLASH_FIRE_STATUS_NONE 0
|
||||
#define FLASH_FIRE_STATUS_MAXED 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_STATUS_ACTIONS_H
|
||||
|
||||
#include "constants/move.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 sub_805B668(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
bool8 sub_805B734(Entity *pokemon, Entity *target);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_STATUS_CHECKS_H
|
||||
#define GUARD_STATUS_CHECKS_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
extern const s16 gConfusedAttackChance;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_STATUS_CHECKS_1_H
|
||||
#define GUARD_STATUS_CHECKS_1_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 HasNegativeStatus(Entity *pokemon);
|
||||
bool8 IsSleeping(Entity *pokemon);
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
#define GUARD_DUNGEON_ENTITY_H
|
||||
|
||||
#include "constants/global.h"
|
||||
#include "constants/move.h"
|
||||
#include "items.h"
|
||||
#include "position.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "sprite.h"
|
||||
#include "structs/str_items.h"
|
||||
#include "structs/str_moves.h"
|
||||
|
||||
#define MAX_STAT_STAGE 20
|
||||
#define STAT_MULTIPLIER_THRESHOLD 63
|
||||
@@ -1,8 +1,8 @@
|
||||
#ifndef GUARD_MAP_H
|
||||
#define GUARD_MAP_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "position.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
#define MAX_ROOM_COUNT 24 // Empirical max, not sure if the code supports any more.
|
||||
#define CORRIDOR_ROOM 0xFF
|
||||
@@ -1,12 +1,12 @@
|
||||
#ifndef GUARD_DUNGEON_DATA_H
|
||||
#define GUARD_DUNGEON_DATA_H
|
||||
#ifndef GUARD_STR_DUNGEON_H
|
||||
#define GUARD_STR_DUNGEON_H
|
||||
|
||||
#include "global.h"
|
||||
#include "constants/monster.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "file_system.h"
|
||||
#include "map.h"
|
||||
#include "position.h"
|
||||
#include "structs/map.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#define DUNGEON_MAX_SIZE_X 56
|
||||
@@ -202,7 +202,7 @@ typedef struct Dungeon
|
||||
/* 0x17B38 */ u32 unk17B38;
|
||||
/* 0x17B3C */ u32 unk17B3C;
|
||||
u8 fill17B40[0x17B44 - 0x17B40];
|
||||
/* 0x17B44 */ OpenedFile *sprites[MONSTER_MAX + 1];
|
||||
/* 0x17B44 */ OpenedFile *sprites[MONSTER_MAX];
|
||||
/* 0x181E4 */ OpenedFile *paletFile;
|
||||
/* 0x181E8 */ Position cameraPos;
|
||||
/* 0x181EC */ Position cameraPosMirror;
|
||||
@@ -236,4 +236,4 @@ typedef struct Dungeon
|
||||
|
||||
extern Dungeon *gDungeon;
|
||||
|
||||
#endif
|
||||
#endif // GUARD_STR_DUNGEON_H
|
||||
88
include/structs/str_items.h
Normal file
88
include/structs/str_items.h
Normal file
@@ -0,0 +1,88 @@
|
||||
#ifndef GUARD_STR_ITEMS_H
|
||||
#define GUARD_STR_ITEMS_H
|
||||
|
||||
#include "constants/item.h"
|
||||
|
||||
// size: 0x20
|
||||
typedef struct ItemDataEntry
|
||||
{
|
||||
/* 0x0 */ u8 *name;
|
||||
/* 0x4 */ u32 buyPrice;
|
||||
/* 0x8 */ u32 sellPrice;
|
||||
/* 0xC */ u8 category;
|
||||
/* 0xD */ u8 icon;
|
||||
/* 0x10 */ u8 *description;
|
||||
// Determines how the AI can use the item.
|
||||
// Index 0: Item can be used on self.
|
||||
// Index 1: Item can be thrown at allies.
|
||||
// Index 2: Item can be thrown at enemies.
|
||||
/* 0x14 */ bool8 aiFlags[3];
|
||||
/* 0x18 */ s16 moveID;
|
||||
/* 0x1A */ u8 order; // Numbered order they are in storage
|
||||
/* 0x1B */ u8 spawnAmountRange[2];
|
||||
/* 0x1D */ u8 palette;
|
||||
/* 0x1E */ u8 actionType;
|
||||
} ItemDataEntry;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Item
|
||||
{
|
||||
/* 0x0 */ u8 flags;
|
||||
/* 0x1 */ u8 quantity;
|
||||
/* 0x2 */ u8 id;
|
||||
} Item;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct BulkItem
|
||||
{
|
||||
/* 0x0 */ u8 id;
|
||||
/* 0x1 */ u8 quantity;
|
||||
} BulkItem;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Gummi
|
||||
{
|
||||
/* 0x0 */ s16 boostAmount;
|
||||
/* 0x2 */ u16 flags;
|
||||
} Gummi;
|
||||
|
||||
// size: 0xC
|
||||
typedef struct unkStruct_8090F58
|
||||
{
|
||||
u32 unk0;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
s16 unk6;
|
||||
u8 unk8;
|
||||
} unkStruct_8090F58;
|
||||
|
||||
// size: 0x268
|
||||
typedef struct TeamInventory
|
||||
{
|
||||
/* 0x0 */ Item teamItems[INVENTORY_SIZE];
|
||||
/* 0x50 */ u16 teamStorage[STORAGE_SIZE];
|
||||
/* 0x230 */ BulkItem kecleonShopItems[MAX_KECLEON_ITEM_SHOP_ITEMS];
|
||||
/* 0x250 */ BulkItem kecleonWareItems[MAX_KECLEON_WARE_SHOP_ITEMS];
|
||||
/* 0x260 */ s32 teamMoney;
|
||||
/* 0x264 */ s32 teamSavings;
|
||||
} TeamInventory;
|
||||
|
||||
// TODO: These should be in constants/
|
||||
|
||||
enum ItemFlag
|
||||
{
|
||||
ITEM_FLAG_EXISTS = 1 << 0,
|
||||
ITEM_FLAG_IN_SHOP = 1 << 1, // in a Kecleon shop
|
||||
ITEM_FLAG_UNPAID = 1 << 2, // Picked up in Kecleon shop but not paid for yet
|
||||
ITEM_FLAG_STICKY = 1 << 3,
|
||||
ITEM_FLAG_SET = 1 << 4 // This item can be thrown by pressing L+R instead of having to go to the bag menu.
|
||||
};
|
||||
|
||||
enum ItemAIFlag
|
||||
{
|
||||
ITEM_AI_FLAG_TARGET_SELF,
|
||||
ITEM_AI_FLAG_TARGET_ALLY,
|
||||
ITEM_AI_FLAG_TARGET_ENEMY
|
||||
};
|
||||
|
||||
#endif // GUARD_STR_ITEMS_H
|
||||
42
include/structs/str_moves.h
Normal file
42
include/structs/str_moves.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef GUARD_STR_MOVES_H
|
||||
#define GUARD_STR_MOVES_H
|
||||
|
||||
#include "constants/move.h"
|
||||
|
||||
// size: 0x24
|
||||
typedef struct MoveDataEntry
|
||||
{
|
||||
/* 0x0 */ u8 *name;
|
||||
/* 0x4 */ s16 basePower;
|
||||
/* 0x6 */ u8 type;
|
||||
// Determines the range of moves.
|
||||
/* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI
|
||||
// The AI consider certain moves to have different range than they actually do.
|
||||
/* 0xC */ u8 basePP;
|
||||
/* 0xD */ u8 aiWeight;
|
||||
// There are multiple accuracy values. These are define with the AccuracyType enum.
|
||||
/* 0xE */ u8 accuracy[NUM_ACCURACY_TYPES];
|
||||
/* 0x11 */ u8 numberOfChainedHits; // Maximum number of times the move will hit. Used for multi-hit moves like Fury Attack.
|
||||
/* 0x12 */ u8 maxUpgradeLevel;
|
||||
/* 0x13 */ u8 critChance;
|
||||
/* 0x14 */ bool8 affectedByMagicCoat; // If true, this move is reflected by Magic Coat.
|
||||
/* 0x15 */ bool8 isSnatchable;
|
||||
/* 0x16 */ bool8 usesMouth; // If true, this move can't be used with the Muzzled status.
|
||||
/* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target.
|
||||
/* 0x18 */ bool8 ignoresTaunted;
|
||||
/* 0x19 */ u8 rangeID;
|
||||
/* 0x1C */ u8 *description;
|
||||
/* 0x20 */ u8 *useText; // The text displayed when this move is used.
|
||||
} MoveDataEntry;
|
||||
|
||||
// size: 0x8
|
||||
typedef struct Move
|
||||
{
|
||||
u8 moveFlags;
|
||||
u8 moveFlags2;
|
||||
u16 id;
|
||||
u8 PP;
|
||||
u8 ginseng; // How much the move is boosted by Ginsengs.
|
||||
} Move;
|
||||
|
||||
#endif // GUARD_STR_MOVES_H
|
||||
167
include/structs/str_pokemon.h
Normal file
167
include/structs/str_pokemon.h
Normal file
@@ -0,0 +1,167 @@
|
||||
#ifndef GUARD_STR_POKEMON_H
|
||||
#define GUARD_STR_POKEMON_H
|
||||
|
||||
#include "constants/monster.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "structs/str_items.h"
|
||||
#include "structs/str_moves.h"
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Offense
|
||||
{
|
||||
/* 0x0 */ u8 att[2]; // Atk, SpAtk
|
||||
/* 0x2 */ u8 def[2]; // Def, SpDef
|
||||
} Offense;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct unkPokeSubStruct_C
|
||||
{
|
||||
u8 level;
|
||||
u8 fill1[3];
|
||||
} unkPokeSubStruct_C;
|
||||
|
||||
// size: 0x58
|
||||
typedef struct PokemonStruct1
|
||||
{
|
||||
u16 unk0; // Probably a union: Sometimes ldrh and sometimes ldrb. Recruited??
|
||||
/* 0x2 */ bool8 isTeamLeader;
|
||||
/* 0x3 */ u8 level;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation;
|
||||
/* 0x8 */ s16 speciesNum;
|
||||
unkPokeSubStruct_C unkC[2];
|
||||
/* 0x14 */ s16 IQ;
|
||||
/* 0x16 */ u16 pokeHP;
|
||||
/* 0x18 */ Offense offense;
|
||||
/* 0x1C */ u32 currExp;
|
||||
/* 0x20 */ u32 IQSkills;
|
||||
/* 0x24 */ u8 tacticIndex;
|
||||
/* 0x28 */ BulkItem heldItem;
|
||||
/* 0x2C */ Move moves[MAX_MON_MOVES];
|
||||
/* 0x4C */ u8 name[POKEMON_NAME_LENGTH];
|
||||
} PokemonStruct1;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct unkStruct_808E6F4
|
||||
{
|
||||
s16 unk0;
|
||||
u8 unk2;
|
||||
} unkStruct_808E6F4;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct EvolveStage
|
||||
{
|
||||
/* 0x0 */ s16 speciesNum;
|
||||
/* 0x2 */ u8 level;
|
||||
} EvolveStage;
|
||||
|
||||
// size: 0x24
|
||||
typedef struct unkStruct_8094184
|
||||
{
|
||||
/* 0x0 */ Move moves[MAX_MON_MOVES];
|
||||
u8 unk20;
|
||||
} unkStruct_8094184;
|
||||
|
||||
// size: 0x64
|
||||
typedef struct PokemonStruct2
|
||||
{
|
||||
u16 unk0; // corresponds to unk0 in PokemonStruct
|
||||
/* 0x2 */ bool8 isTeamLeader;
|
||||
/* 0x3 */ u8 level;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation;
|
||||
/* 0x8 */ u16 IQ;
|
||||
s16 unkA;
|
||||
u16 unkC;
|
||||
/* 0xE */ s16 speciesNum;
|
||||
u16 unk10; // pokeHP
|
||||
u16 unk12; // pokeHP
|
||||
/* 0x14 */ Offense offense; // offense (other offset)
|
||||
/* 0x18 */ u32 currExp;
|
||||
/* 0x1C */ unkStruct_8094184 moves;
|
||||
/* 0x40 */ Item itemSlot; // heldItem
|
||||
u32 unk44; // some struct
|
||||
u32 unk48; // some struct (same type as 44)
|
||||
/* 0x4C */ u32 IQSkills; // unk20
|
||||
/* 0x50 */ u8 tacticIndex;
|
||||
unkStruct_808E6F4 unk54;
|
||||
/* 0x58 */ u8 name[POKEMON_NAME_LENGTH]; // name (other offset)
|
||||
} PokemonStruct2;
|
||||
|
||||
// size: 0x90E8
|
||||
typedef struct unkStruct_203B45C
|
||||
{
|
||||
/* 0x0 */ PokemonStruct1 pokemon[NUM_MONSTERS];
|
||||
/* 0x8DF8 */ PokemonStruct2 pokemon2[4];
|
||||
/* 0x8F88 */ PokemonStruct1 team[MAX_TEAM_MEMBERS];
|
||||
} unkStruct_203B45C;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct PreEvolution
|
||||
{
|
||||
/* 0x0 */ s16 evolveFrom;
|
||||
/* 0x2 */ u16 evolveType;
|
||||
} PreEvolution;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct EvolutionRequirements
|
||||
{
|
||||
/* 0x0 */ s16 mainRequirement;
|
||||
/* 0x2 */ u16 additionalRequirement;
|
||||
} EvolutionRequirements;
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkEvolve
|
||||
{
|
||||
/* 0x0 */ PreEvolution preEvolution;
|
||||
/* 0x4 */ EvolutionRequirements evolutionRequirements;
|
||||
} unkEvolve;
|
||||
|
||||
// size: 0x48
|
||||
typedef struct MonsterDataEntry
|
||||
{
|
||||
/* 0x0 */ u8* species;
|
||||
/* 0x4 */ u8* category;
|
||||
/* 0x8 */ u8 overworldPalette;
|
||||
/* 0x9 */ u8 bodySize;
|
||||
/* 0xC */ s32 movementSpeed;
|
||||
/* 0x10 */ u16 dialogueSprites; // Bitwise flags for whether a dialogue sprite/portrait is available for each emotion.
|
||||
bool8 unk12;
|
||||
/* 0x13 */ u8 types[2];
|
||||
/* 0x15 */ u8 movementType;
|
||||
/* 0x16 */ u8 friendArea;
|
||||
/* 0x17 */ u8 abilities[2];
|
||||
/* 0x19 */ u8 shadowSize;
|
||||
u8 fill1A; // 0 for all Pokémon.
|
||||
/* 0x1B */ u8 regenSpeed; // 100 for all Pokémon.
|
||||
/* 0x1C */ bool8 canMove; // Set to false for Pokémon who don't move unless they're the leader, like Kakuna.
|
||||
/* 0x1D */ u8 chanceAsleep;
|
||||
/* 0x1E */ u16 baseHP;
|
||||
/* 0x20 */ s32 expYield;
|
||||
/* 0x24 */ u16 baseAtkSpAtk[2];
|
||||
/* 0x28 */ u16 baseDefSpDef[2];
|
||||
/* 0x2C */ u16 weight;
|
||||
/* 0x2E */ u16 size;
|
||||
u8 unk30; // 10 for all Pokémon.
|
||||
u8 unk31; // 10 for all Pokémon.
|
||||
u8 unk32; // 24 for all Pokémon.
|
||||
/* 0x33 */ bool8 toolboxEnabled; // If false, the AI can't use items. Doesn't seem to be used, as it's true for all Pokémon.
|
||||
/* 0x34 */ PreEvolution preEvolution;
|
||||
/* 0x38 */ EvolutionRequirements evolutionRequirements;
|
||||
/* 0x3C */ s16 dexInternal[2]; // dexNo and internalNo
|
||||
/* 0x40 */ s16 recruitRate;
|
||||
/* 0x42 */ s16 alphabetParent[2]; // alphabetNo and parentNo
|
||||
} MonsterDataEntry;
|
||||
|
||||
// size: 0xC | https://www.pokecommunity.com/showthread.php?t=407371
|
||||
typedef struct LevelData
|
||||
{
|
||||
/* 0x0 */ s32 expRequired;
|
||||
/* 0x4 */ u8 gainHP;
|
||||
/* 0x5 */ u8 gainUnused;
|
||||
/* 0x6 */ u8 gainAtt;
|
||||
/* 0x7 */ u8 gainSPAtt;
|
||||
/* 0x8 */ u8 gainDef;
|
||||
/* 0x9 */ u8 gainSPDef;
|
||||
u16 fillA;
|
||||
} LevelData;
|
||||
|
||||
#endif // GUARD_STR_POKEMON_H
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef GUARD_POSITION_H
|
||||
#define GUARD_POSITION_H
|
||||
#ifndef GUARD_STR_POSITION_H
|
||||
#define GUARD_STR_POSITION_H
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Position
|
||||
@@ -15,4 +15,4 @@ typedef struct Position32
|
||||
/* 0x4 */ s32 y;
|
||||
} Position32;
|
||||
|
||||
#endif // GUARD_POSITION_H
|
||||
#endif // GUARD_STR_POSITION_H
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef GUARD_TEXT_H
|
||||
#define GUARD_TEXT_H
|
||||
#ifndef GUARD_STR_TEXT_H
|
||||
#define GUARD_STR_TEXT_H
|
||||
|
||||
// size: 0x48
|
||||
typedef struct UnkTextStruct1
|
||||
@@ -58,4 +58,4 @@ typedef struct UnkTextStruct2
|
||||
const u8 *unk14;
|
||||
} UnkTextStruct2;
|
||||
|
||||
#endif // GUARD_TEXT_H
|
||||
#endif // GUARD_STR_TEXT_H
|
||||
@@ -1,11 +1,11 @@
|
||||
#ifndef GUARD_SUBSTRUCT_203B240_H
|
||||
#define GUARD_SUBSTRUCT_203B240_H
|
||||
|
||||
// size: 0x8
|
||||
struct subStruct_203B240
|
||||
{
|
||||
char * pokeName;
|
||||
char * unk4;
|
||||
u8 *pokeName;
|
||||
u8 *unk4;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif // GUARD_SUBSTRUCT_203B240_H
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_TARGETING_H
|
||||
#define GUARD_TARGETING_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void TargetTileInFront(Entity *pokemon);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_TARGETING_FLAGS_H
|
||||
|
||||
#include "constants/move.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
s16 GetMoveTargetAndRangeForPokemon(Entity *pokemon, Move *move, bool32 isAI);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_TEXT1_H
|
||||
#define GUARD_TEXT1_H
|
||||
|
||||
#include "text.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
extern UnkTextStruct1 gUnknown_2027370[4];
|
||||
extern UnkTextStruct2 gUnknown_202AFC0[4];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user