summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-10 14:33:06 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-10 14:33:06 -0500
commit14b4ad7735e039f388c0ff14850086b402f2c447 (patch)
tree8f3a16b426cc4218da264f4f46f5cd82e6caa162
parentfc0a7eae9332f77da3ad77c72b8e20c9eaa2d3f5 (diff)
some doc'ing and decomping
-rw-r--r--asm/code_8012A18.s12
-rw-r--r--asm/code_8027C84.s2
-rw-r--r--asm/code_803D110.s2
-rw-r--r--asm/code_80428A0.s6
-rw-r--r--asm/code_80521D0.s58
-rw-r--r--asm/code_808DAB4.s16
-rw-r--r--asm/code_809017C.s4
-rw-r--r--asm/code_809D148.s26
-rw-r--r--asm/code_80A26CC.s2
-rw-r--r--asm/pokemon.s12
-rw-r--r--asm/pokemon_1.s92
-rw-r--r--src/pokemon_1.c156
-rw-r--r--src/pokemon_mid.c35
-rw-r--r--sym_ewram.txt7
14 files changed, 235 insertions, 195 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index 3f42c7a..d2e8663 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -30418,7 +30418,7 @@ _08021A8E:
asrs r5, r0, 16
ldr r4, [r7]
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
ldrb r1, [r4, 0xC]
lsls r0, 24
lsrs r0, 24
@@ -31931,7 +31931,7 @@ sub_8022684:
strh r0, [r1, 0x12]
movs r2, 0x12
ldrsh r0, [r1, r2]
- bl sub_808DBA8
+ bl GetFriendArea
ldr r1, [r4]
strb r0, [r1, 0x10]
movs r0, 0x18
@@ -33761,7 +33761,7 @@ _08023532:
movs r6, 0
ldrsh r5, [r1, r6]
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
add r4, sp, 0x16C
@@ -35339,7 +35339,7 @@ sub_8024184:
lsrs r4, 24
movs r1, 0x8
ldrsh r0, [r0, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -38164,7 +38164,7 @@ _080257E0:
ldr r0, [r4, 0x1C]
movs r2, 0x8
ldrsh r0, [r0, r2]
- bl sub_808DBA8
+ bl GetFriendArea
ldrb r1, [r4, 0xC]
lsls r0, 24
lsrs r0, 24
@@ -38550,7 +38550,7 @@ _08025AFC:
ldr r0, [r0, 0x1C]
movs r1, 0x8
ldrsh r0, [r0, r1]
- bl sub_808DBA8
+ bl GetFriendArea
ldr r1, [r4]
strb r0, [r1, 0xD]
bl sub_8023C60
diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s
index e8823f2..b5b058a 100644
--- a/asm/code_8027C84.s
+++ b/asm/code_8027C84.s
@@ -37884,7 +37884,7 @@ _0803ABCE:
ldr r4, [r0]
movs r1, 0x8
ldrsh r0, [r2, r1]
- bl sub_808DBA8
+ bl GetFriendArea
ldrb r1, [r4, 0x4]
lsls r0, 24
lsrs r0, 24
diff --git a/asm/code_803D110.s b/asm/code_803D110.s
index 6792896..7e74795 100644
--- a/asm/code_803D110.s
+++ b/asm/code_803D110.s
@@ -997,7 +997,7 @@ sub_803D870:
mov r9, r1
b _0803D8B8
_0803D884:
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index 861a75c..85b2ec5 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -4212,7 +4212,7 @@ sub_8044CA0:
adds r4, r0, 0
lsls r0, r1, 16
asrs r0, 16
- bl sub_808DB48
+ bl GetIsMoving
lsls r0, 24
cmp r0, 0
beq _08044CB6
@@ -5222,7 +5222,7 @@ sub_80453AC:
negs r0, r0
mov r9, r0
mov r0, r8
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0
@@ -5404,7 +5404,7 @@ sub_804550C:
negs r0, r0
mov r9, r0
mov r0, r8
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r7, r0, 24
movs r5, 0
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index ac93e6b..0860a72 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -7837,7 +7837,7 @@ _0805658C:
mov r2, r8
movs r1, 0x4
ldrsh r0, [r2, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -12629,7 +12629,7 @@ sub_80588F4:
ldr r0, [r5, 0x70]
movs r1, 0x4
ldrsh r0, [r0, r1]
- bl sub_808DB78
+ bl GetLowKickDmg
adds r3, r0, 0
str r4, [sp]
adds r0, r6, 0
@@ -19679,10 +19679,10 @@ _0805BDDE:
cmp r8, r5
beq _0805BDDC
mov r0, r8
- bl sub_808DACC
+ bl GetPokemonSize
adds r4, r0, 0
adds r0, r5, 0
- bl sub_808DACC
+ bl GetPokemonSize
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -20241,7 +20241,7 @@ sub_805C208:
ldr r0, [r1, 0x70]
movs r1, 0x4
ldrsh r0, [r0, r1]
- bl sub_808DB90
+ bl GetSizeOrbDmg
mov r10, r0
adds r0, r6, 0
bl sub_8092B00
@@ -44620,7 +44620,7 @@ _08068A8E:
beq _08068AB2
movs r1, 0xE
ldrsh r0, [r2, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r4, r0
@@ -44630,7 +44630,7 @@ _08068AB2:
ble _08068A8E
movs r1, 0x8
ldrsh r0, [r6, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r4, r0
@@ -44902,7 +44902,7 @@ _08068CE8:
beq _08068CFE
movs r1, 0xE
ldrsh r0, [r4, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
add r0, sp
@@ -44985,7 +44985,7 @@ _08068D6A:
beq _08068DD6
movs r1, 0xE
ldrsh r0, [r5, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
cmp r0, r8
@@ -48189,7 +48189,7 @@ _0806A5CE:
_0806A608:
movs r1, 0x2
ldrsh r0, [r4, r1]
- bl sub_808DB14
+ bl GetWalkableTiles
lsls r0, 24
lsrs r0, 24
cmp r0, 0x4
@@ -50621,7 +50621,7 @@ _0806B838:
adds r4, r0, 0
movs r1, 0
ldrsh r0, [r6, r1]
- bl sub_808DB60
+ bl GetUnk1D
lsls r0, 24
lsrs r0, 24
cmp r0, r4
@@ -52135,7 +52135,7 @@ sub_806C444:
lsls r0, 16
asrs r6, r0, 16
adds r0, r6, 0
- bl sub_808DBC0
+ bl GetBaseHP
adds r5, r0, 0
movs r4, 0x2
cmp r4, r7
@@ -52519,7 +52519,7 @@ _0806C714:
mov r7, r8
movs r1, 0x4
ldrsh r0, [r7, r1]
- bl sub_808DB14
+ bl GetWalkableTiles
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -53649,7 +53649,7 @@ sub_806CF98:
ldr r7, [r4, 0x70]
movs r1, 0x4
ldrsh r0, [r7, r1]
- bl sub_808DAE4
+ bl GetShadowSize
lsls r0, 24
lsrs r4, r0, 24
cmp r5, 0x3
@@ -58516,7 +58516,7 @@ sub_806F660:
mov r9, r1
movs r2, 0x4
ldrsh r0, [r4, r2]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _0806F6C0
@@ -58882,7 +58882,7 @@ _0806F91C:
ldr r0, [r4, 0x70]
movs r2, 0x4
ldrsh r0, [r0, r2]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r1, r0, 24
adds r0, r4, 0
@@ -58993,12 +58993,12 @@ _0806F9F2:
cmp r4, r0
beq _0806FA3C
adds r0, r4, 0
- bl sub_808DBF4
+ bl GetUnk12
lsls r0, 24
cmp r0, 0
bne _0806FA50
adds r0, r4, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -59046,7 +59046,7 @@ sub_806FA5C:
mov r10, r0
movs r1, 0
ldrsh r0, [r6, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
mov r9, r0
@@ -59357,7 +59357,7 @@ sub_806FD18:
negs r6, r6
movs r1, 0x4
ldrsh r0, [r4, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r5, r0, 24
movs r2, 0x2
@@ -59524,7 +59524,7 @@ _0806FE58:
add r0, sp, 0xC
movs r1, 0
ldrsh r0, [r0, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _0806FF74
@@ -60142,7 +60142,7 @@ sub_8070328:
push {lr}
lsls r0, 16
asrs r0, 16
- bl sub_808DB14
+ bl GetWalkableTiles
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x3
@@ -60770,7 +60770,7 @@ _08070794:
_080707A8:
movs r1, 0x2
ldrsh r0, [r5, r1]
- bl sub_808DAFC
+ bl GetMoveSpeed
adds r4, r0
adds r0, r6, 0
movs r1, 0x6
@@ -63348,7 +63348,7 @@ sub_8071A70:
push {lr}
movs r1, 0x2
ldrsh r0, [r0, r1]
- bl sub_808DBD8
+ bl GetUnk33
lsls r0, 24
cmp r0, 0
beq _08071A84
@@ -69549,7 +69549,7 @@ _08074B7A:
bne _08074BAE
movs r2, 0x2
ldrsh r0, [r6, r2]
- bl sub_808DB2C
+ bl GetUnk1B
lsls r0, 24
lsrs r4, r0, 24
_08074BAE:
@@ -71491,7 +71491,7 @@ _08075AF4:
beq _08075B46
movs r1, 0x2
ldrsh r0, [r5, r1]
- bl sub_808DB48
+ bl GetIsMoving
lsls r0, 24
cmp r0, 0
beq _08075B92
@@ -71514,7 +71514,7 @@ _08075B46:
_08075B52:
movs r1, 0x2
ldrsh r0, [r5, r1]
- bl sub_808DB48
+ bl GetIsMoving
lsls r0, 24
cmp r0, 0
beq _08075B68
@@ -97089,7 +97089,7 @@ sub_80828E0:
movs r4, 0x1
negs r4, r4
mov r0, r8
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r6, r0, 24
movs r3, 0
@@ -97245,7 +97245,7 @@ sub_8082A08:
negs r0, r0
mov r8, r0
mov r0, r9
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r6, r0, 24
movs r3, 0
diff --git a/asm/code_808DAB4.s b/asm/code_808DAB4.s
index a619239..5880b5c 100644
--- a/asm/code_808DAB4.s
+++ b/asm/code_808DAB4.s
@@ -819,10 +819,10 @@ _0808E426:
cmp r0, 0
bne _0808E456
mov r0, r9
- bl sub_808DACC
+ bl GetPokemonSize
adds r4, r0, 0
adds r0, r5, 0
- bl sub_808DACC
+ bl GetPokemonSize
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -1109,7 +1109,7 @@ sub_808E668:
cmp r0, 0x1
bls _0808E6D6
adds r0, r1, 0
- bl sub_808DAE4
+ bl GetShadowSize
lsls r0, 24
lsrs r0, 24
movs r3, 0
@@ -3068,13 +3068,13 @@ _0808F4FA:
b _0808F6DE
_0808F50A:
ldr r0, [sp, 0x1C]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r5, r0, 24
mov r3, r8
movs r1, 0x8
ldrsh r0, [r3, r1]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r6, r0, 24
adds r0, r5, 0
@@ -4187,7 +4187,7 @@ _0808FDB0:
mov r1, r10
movs r2, 0
ldrsh r0, [r1, r2]
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092524
@@ -4239,7 +4239,7 @@ _0808FDB0:
mov r3, r10
movs r1, 0
ldrsh r0, [r3, r1]
- bl sub_808DAB4
+ bl GetCategoryString
adds r1, r0, 0
adds r0, r6, 0
movs r2, 0x14
@@ -4257,7 +4257,7 @@ _0808FDB0:
mov r3, r10
movs r1, 0
ldrsh r0, [r3, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 22
adds r0, r4
diff --git a/asm/code_809017C.s b/asm/code_809017C.s
index 7784ab0..26cdabc 100644
--- a/asm/code_809017C.s
+++ b/asm/code_809017C.s
@@ -459,7 +459,7 @@ _080904BA:
mov r8, r1
_080904D2:
ldr r0, [sp, 0xE0]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
@@ -484,7 +484,7 @@ _080904E4:
beq _08090510
movs r1, 0x8
ldrsh r0, [r2, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r5, r0
diff --git a/asm/code_809D148.s b/asm/code_809D148.s
index 513ef0f..b03391b 100644
--- a/asm/code_809D148.s
+++ b/asm/code_809D148.s
@@ -8416,7 +8416,7 @@ _080A184C:
bl sub_80A8BFC
lsls r0, 16
asrs r0, 16
- bl sub_808DB48
+ bl GetIsMoving
b _080A171E
_080A185E:
lsls r0, r5, 16
@@ -8500,7 +8500,7 @@ _080A18F6:
_080A1900: .4byte gUnknown_2039D98
_080A1904:
movs r0, 0x51
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_80925EC
@@ -8562,7 +8562,7 @@ _080A197C:
_080A1984: .4byte gUnknown_2039D98
_080A1988:
ldr r0, _080A19D4
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_80925EC
@@ -8781,7 +8781,7 @@ _080A1B60: .4byte gUnknown_2039D98
_080A1B64:
ldr r4, _080A1BCC
adds r0, r4, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092600
@@ -8789,7 +8789,7 @@ _080A1B64:
cmp r0, 0
bne _080A1B88
adds r0, r4, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_80925EC
@@ -9036,7 +9036,7 @@ _080A1CCC:
cmp r0, 0
beq _080A1CA4
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092600
@@ -9065,7 +9065,7 @@ _080A1DA8:
bl sub_80018D8
ldr r4, _080A1DE8
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9073,7 +9073,7 @@ _080A1DA8:
movs r2, 0
bl sub_8092578
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092600
@@ -9093,7 +9093,7 @@ _080A1DEC:
asrs r5, r0, 16
ldr r4, _080A1E2C
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9105,7 +9105,7 @@ _080A1DEC:
b _080A236A
_080A1E14:
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092600
@@ -9134,7 +9134,7 @@ _080A1E42:
adds r6, r5, 0
ldr r4, _080A1EC4
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9146,7 +9146,7 @@ _080A1E42:
b _080A236A
_080A1E6C:
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_8092600
@@ -9154,7 +9154,7 @@ _080A1E6C:
cmp r0, 0
bne _080A1E8E
adds r0, r5, 0
- bl sub_808DBA8
+ bl GetFriendArea
lsls r0, 24
lsrs r0, 24
bl sub_80925EC
diff --git a/asm/code_80A26CC.s b/asm/code_80A26CC.s
index 4492890..76736c8 100644
--- a/asm/code_80A26CC.s
+++ b/asm/code_80A26CC.s
@@ -10416,7 +10416,7 @@ sub_80A7428:
movs r1, 0
bl GetFileDataPtr
adds r0, r4, 0
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
ldr r1, _080A7488
diff --git a/asm/pokemon.s b/asm/pokemon.s
index 2f1c454..587e47c 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -96,7 +96,7 @@ _0808CEA4:
movs r5, 0x1
strb r5, [r0, 0x3]
adds r0, r7, 0
- bl sub_808DBC0
+ bl GetBaseHP
mov r1, sp
movs r4, 0
strh r0, [r1, 0x16]
@@ -260,7 +260,7 @@ sub_808CFD0:
strb r5, [r7, 0x2]
strb r0, [r7, 0x3]
mov r0, r9
- bl sub_808DBC0
+ bl GetBaseHP
strh r0, [r7, 0x16]
mov r0, r9
movs r1, 0
@@ -377,7 +377,7 @@ sub_808D0D8:
strb r4, [r7, 0x3]
movs r1, 0x8
ldrsh r0, [r7, r1]
- bl sub_808DBC0
+ bl GetBaseHP
movs r5, 0
strh r0, [r7, 0x16]
movs r2, 0x8
@@ -1269,7 +1269,7 @@ _0808D6FA:
beq _0808D728
movs r1, 0x8
ldrsh r0, [r2, r1]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r5, r0
@@ -1331,7 +1331,7 @@ _0808D76A:
beq _0808D798
movs r2, 0x8
ldrsh r0, [r1, r2]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r5, r0
@@ -1352,7 +1352,7 @@ _0808D798:
adds r1, r0, r1
movs r2, 0x8
ldrsh r0, [r1, r2]
- bl sub_808DACC
+ bl GetPokemonSize
lsls r0, 24
lsrs r0, 24
adds r5, r0
diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s
index 5537aa7..fababf5 100644
--- a/asm/pokemon_1.s
+++ b/asm/pokemon_1.s
@@ -200,96 +200,4 @@ sub_808DD48:
_0808DD64: .4byte gMonsterParameters
thumb_func_end sub_808DD48
- thumb_func_start sub_808DD68
-sub_808DD68:
- push {lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r1, 0
- bne _0808DD88
- ldr r0, _0808DD84
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- b _0808DD8A
- .align 2, 0
-_0808DD84: .4byte gMonsterParameters
-_0808DD88:
- movs r0, 0xA
-_0808DD8A:
- pop {r1}
- bx r1
- thumb_func_end sub_808DD68
-
- thumb_func_start sub_808DD90
-sub_808DD90:
- push {lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r0, _0808DDBC
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x10]
- cmp r0, 0
- beq _0808DDC8
- ldr r1, _0808DDC0
- mov r0, sp
- bl sprintf
- ldr r1, _0808DDC4
- mov r0, sp
- bl OpenFile
- b _0808DDCA
- .align 2, 0
-_0808DDBC: .4byte gMonsterParameters
-_0808DDC0: .4byte gUnknown_8107684
-_0808DDC4: .4byte gUnknown_8510000
-_0808DDC8:
- movs r0, 0
-_0808DDCA:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_808DD90
-
- thumb_func_start sub_808DDD0
-sub_808DDD0:
- push {lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r0, _0808DDFC
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x10]
- cmp r0, 0
- beq _0808DE08
- ldr r1, _0808DE00
- mov r0, sp
- bl sprintf
- ldr r1, _0808DE04
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- b _0808DE0A
- .align 2, 0
-_0808DDFC: .4byte gMonsterParameters
-_0808DE00: .4byte gUnknown_8107684
-_0808DE04: .4byte gUnknown_8510000
-_0808DE08:
- movs r0, 0
-_0808DE0A:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_808DDD0
-
.align 2,0 @ don't pad with nop
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index 6d4cf75..83a74b2 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -8,21 +8,147 @@ extern struct gPokemon *gMonsterParameters;
extern struct FileArchive gUnknown_8510000;
extern const char gUnknown_8107684;
-//u8 sub_808DDD0(s16 r0)
-//{
-// // Looks like this loads the dialogue sprite for the pokemon
-//
-// // TODO stack is being added instead of being substracted
-// // Else this matches
-// char buffer[0xC];
-// if(gMonsterParameters[r0].dialogue_sprites != 0)
-// {
-// sprintf(buffer, &gUnknown_8107684);
-// OpenFileAndGetFileDataPtr(buffer, &gUnknown_8510000);
-// return;
-// }
-// return 0;
-//}
+#ifndef NONMATCHING
+NAKED
+#endif
+// Pretty confided args are correct yet compiler disagrees
+u8 sub_808DD68(s16 r0, u32 r1)
+{
+#ifdef NONMATCHING
+ if (r1 != 0)
+ {
+ return 0xA;
+ }
+ else
+ {
+ return gMonsterParameters[r0].overworld_sprite;
+ }
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r2, r0, 16\n"
+ "\tcmp r1, 0\n"
+ "\tbne _0808DD88\n"
+ "\tldr r0, _0808DD84\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 3\n"
+ "\tadds r0, r2\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x8]\n"
+ "\tb _0808DD8A\n"
+ "\t.align 2, 0\n"
+"_0808DD84: .4byte gMonsterParameters\n"
+"_0808DD88:\n"
+ "\tmovs r0, 0xA\n"
+"_0808DD8A:\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+
+#endif
+}
+
+#ifndef NONMATCHING
+NAKED
+#endif
+struct OpenedFile *sub_808DD90(s16 r0)
+{
+#ifdef NONMATCHING
+ // Looks like this loads the dialogue sprite for the pokemon
+
+ // Two words: register memes... else it matches
+ // Fix this and then one after matches too
+ char buffer[0xC];
+ if(gMonsterParameters[r0].dialogue_sprites == 0)
+ {
+ return NULL;
+ }
+ sprintf(buffer, &gUnknown_8107684);
+ return OpenFile(buffer, &gUnknown_8510000);
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tsub sp, 0xC\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r2, r0, 16\n"
+ "\tldr r0, _0808DDBC\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 3\n"
+ "\tadds r0, r2\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrh r0, [r0, 0x10]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0808DDC8\n"
+ "\tldr r1, _0808DDC0\n"
+ "\tmov r0, sp\n"
+ "\tbl sprintf\n"
+ "\tldr r1, _0808DDC4\n"
+ "\tmov r0, sp\n"
+ "\tbl OpenFile\n"
+ "\tb _0808DDCA\n"
+ "\t.align 2, 0\n"
+"_0808DDBC: .4byte gMonsterParameters\n"
+"_0808DDC0: .4byte gUnknown_8107684\n"
+"_0808DDC4: .4byte gUnknown_8510000\n"
+"_0808DDC8:\n"
+ "\tmovs r0, 0\n"
+"_0808DDCA:\n"
+ "\tadd sp, 0xC\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+#endif
+}
+
+#ifndef NONMATCHING
+NAKED
+#endif
+struct OpenedFile *sub_808DDD0(s16 r0)
+{
+#ifdef NONMATCHING
+ // Looks like this loads the dialogue sprite for the pokemon
+
+ // Two words: register memes... else it matches
+ char buffer[0xC];
+ if(gMonsterParameters[r0].dialogue_sprites == 0)
+ {
+ return NULL;
+ }
+ sprintf(buffer, &gUnknown_8107684);
+ return OpenFileAndGetFileDataPtr(buffer, &gUnknown_8510000);
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tsub sp, 0xC\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r2, r0, 16\n"
+ "\tldr r0, _0808DDFC\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 3\n"
+ "\tadds r0, r2\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrh r0, [r0, 0x10]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0808DE08\n"
+ "\tldr r1, _0808DE00\n"
+ "\tmov r0, sp\n"
+ "\tbl sprintf\n"
+ "\tldr r1, _0808DE04\n"
+ "\tmov r0, sp\n"
+ "\tbl OpenFileAndGetFileDataPtr\n"
+ "\tb _0808DE0A\n"
+ "\t.align 2, 0\n"
+ "_0808DDFC: .4byte gMonsterParameters\n"
+ "_0808DE00: .4byte gUnknown_8107684\n"
+ "_0808DE04: .4byte gUnknown_8510000\n"
+ "_0808DE08:\n"
+ "\tmovs r0, 0\n"
+ "_0808DE0A:\n"
+ "\tadd sp, 0xC\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+
+#endif
+}
bool8 sub_808DE10(s16 r0, s32 r1)
{
diff --git a/src/pokemon_mid.c b/src/pokemon_mid.c
index 03a66b2..e0d3f19 100644
--- a/src/pokemon_mid.c
+++ b/src/pokemon_mid.c
@@ -3,73 +3,72 @@
extern struct gPokemon *gMonsterParameters;
-u8 *sub_808DAB4(s16 r0)
+u8 *GetCategoryString(s16 r0)
{
return gMonsterParameters[r0].category;
}
-u8 sub_808DACC(s16 r0)
+u8 GetPokemonSize(s16 r0)
{
return gMonsterParameters[r0].size;
}
-u8 sub_808DAE4(s16 r0)
+u8 GetShadowSize(s16 r0)
{
return gMonsterParameters[r0].shadow_size;
}
-s32 sub_808DAFC(s16 r0)
+s32 GetMoveSpeed(s16 r0)
{
return gMonsterParameters[r0].move_speed;
}
-u8 sub_808DB14(s16 r0)
+u8 GetWalkableTiles(s16 r0)
{
return gMonsterParameters[r0].walkable_tiles;
}
-u8 sub_808DB2C(s16 r0)
+u8 GetUnk1B(s16 r0)
{
return ((u8)(gMonsterParameters[r0].unk1B) << 25) >> 24;
}
-
-bool8 sub_808DB48(s16 r0)
+bool8 GetIsMoving(s16 r0)
{
return gMonsterParameters[r0].isMoving;
}
-u8 sub_808DB60(s16 r0)
+u8 GetUnk1D(s16 r0)
{
return gMonsterParameters[r0].unk1D;
}
-u16 sub_808DB78(s16 r0)
+u16 GetLowKickDmg(s16 r0)
{
return gMonsterParameters[r0].lowkick_dmg;
}
-u16 sub_808DB90(s16 r0)
+u16 GetSizeOrbDmg(s16 r0)
{
return gMonsterParameters[r0].sizeorb_dmg;
}
-u8 sub_808DBA8(s16 r0)
+u8 GetFriendArea(s16 r0)
{
return gMonsterParameters[r0].friend_area;
}
-u16 sub_808DBC0(s16 r0)
+u16 GetBaseHP(s16 r0)
{
return gMonsterParameters[r0].base_hp;
}
-bool8 sub_808DBD8(s16 r0)
+bool8 GetUnk33(s16 r0)
{
return gMonsterParameters[r0].unk33;
}
-u8 sub_808DBF4(s16 r0)
+u8 GetUnk12(s16 r0)
{
return gMonsterParameters[r0].unk12;
}
@@ -78,3 +77,9 @@ s16 sub_808DC0C(s16 r0)
{
return gMonsterParameters[r0].evolve_from;
}
+
+// TODO fix calculation to match
+//u32 sub_808DC28(s16 r0, u32 r1)
+//{
+// return gMonsterParameters[r0].base_att + (r1 << 1);
+//}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 4a7335c..7050885 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -398,7 +398,7 @@ gUnknown_202DE58 = .; /* 202DE58 */
gUnknown_202DEA8 = .; /* 202DEA8 */
. += 0xF0;
-gUnknown_202DF98 = .; /* 202DF98 */
+gUnknown_202DF98 = .; /* 202DF98 ( Parner Nickname? ) */
. += 0x50;
gUnknown_202DFE8 = .; /* 202DFE8 */
@@ -473,7 +473,7 @@ gUnknown_202E791 = .; /* 202E791 */
gUnknown_202E794 = .; /* 202E794 */
. += 0x4;
-gUnknown_202E798 = .; /* 202E798 */
+gUnknown_202E798 = .; /* 202E798 (on screen dialogue text) */
. += 0x3E8;
gUnknown_202EB80 = .; /* 202EB80 */
@@ -1019,7 +1019,8 @@ gUnknown_2039B48 = .; /* 2039B48 */
gUnknown_2039D50 = .; /* 2039D50 */
. += 0x48;
-gUnknown_2039D98 = .; /* 2039D98 (seems to be copy of gTeamName)*/
+gUnknown_2039D98 = .; /* 2039D98 (seems to be storage for strings.. used for
+both Team Name and Player Name) */
. += 0xC;
gUnknown_2039DA4 = .; /* 2039DA4 */