mirror of
https://github.com/pret/pmd-red.git
synced 2026-03-21 17:46:39 -05:00
more headway on Pokemon funcs and labeled in asm
This commit is contained in:
parent
10cda4ba81
commit
cb77386b65
|
|
@ -7108,7 +7108,7 @@ sub_801059C:
|
|||
movs r3, 0x8
|
||||
ldrsh r0, [r7, r3]
|
||||
movs r1, 0
|
||||
bl sub_808DD68
|
||||
bl GetPokemonOverworldPalette
|
||||
ldr r1, [r4]
|
||||
ldr r3, _08010710
|
||||
adds r2, r1, r3
|
||||
|
|
@ -8073,7 +8073,7 @@ sub_8010DA4:
|
|||
movs r2, 0x8
|
||||
ldrsh r0, [r1, r2]
|
||||
movs r1, 0
|
||||
bl sub_808DD68
|
||||
bl GetPokemonOverworldPalette
|
||||
ldr r2, [r4]
|
||||
ldr r3, _08010ED8
|
||||
adds r1, r2, r3
|
||||
|
|
|
|||
|
|
@ -7233,7 +7233,7 @@ _08016348:
|
|||
str r0, [r1]
|
||||
_08016352:
|
||||
movs r0, 0x35
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _0801639C
|
||||
ldr r3, [r2]
|
||||
adds r1, r3, 0
|
||||
|
|
@ -8453,7 +8453,7 @@ _08016CFC:
|
|||
str r0, [r1]
|
||||
_08016D06:
|
||||
movs r0, 0x73
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _08016D50
|
||||
ldr r3, [r2]
|
||||
adds r1, r3, 0
|
||||
|
|
@ -12274,7 +12274,7 @@ _08018B80:
|
|||
_08018BAE:
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _08018C00
|
||||
ldr r3, [r2]
|
||||
adds r1, r3, 0
|
||||
|
|
|
|||
|
|
@ -2009,7 +2009,7 @@ _0801E850:
|
|||
_0801E858:
|
||||
str r0, [r1]
|
||||
ldr r0, _0801E8B4
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _0801E8B8
|
||||
ldr r3, [r2]
|
||||
movs r4, 0x8C
|
||||
|
|
@ -4499,7 +4499,7 @@ _0801FBD0:
|
|||
str r0, [r1]
|
||||
_0801FBDE:
|
||||
ldr r0, _0801FC34
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _0801FC38
|
||||
ldr r3, [r2]
|
||||
movs r4, 0xB6
|
||||
|
|
@ -8517,7 +8517,7 @@ _08021C04:
|
|||
str r0, [r1]
|
||||
_08021C0E:
|
||||
movs r0, 0x28
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, _08021C58
|
||||
ldr r3, [r2]
|
||||
adds r1, r3, 0
|
||||
|
|
@ -13920,7 +13920,7 @@ sub_802465C:
|
|||
ldr r0, [r5]
|
||||
strb r4, [r0]
|
||||
ldr r0, _080246EC
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, [r5]
|
||||
movs r3, 0x82
|
||||
lsls r3, 1
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ sub_8027F88:
|
|||
ldr r0, _08028064
|
||||
bl strcpy
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, [r5]
|
||||
movs r3, 0x84
|
||||
lsls r3, 3
|
||||
|
|
|
|||
|
|
@ -570,13 +570,13 @@ _080527DE:
|
|||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrb r1, [r4, 0x2]
|
||||
bl sub_808DE10
|
||||
bl IsPokemonDialogueSpriteAvail
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08052844
|
||||
movs r2, 0
|
||||
ldrsh r0, [r4, r2]
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
str r0, [sp, 0x14]
|
||||
ldr r0, [r0, 0x4]
|
||||
str r0, [sp, 0x18]
|
||||
|
|
@ -903,7 +903,7 @@ _08052A9E:
|
|||
adds r5, r0, 0
|
||||
mov r9, sp
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
str r0, [sp]
|
||||
cmp r0, 0
|
||||
beq _08052B10
|
||||
|
|
@ -1023,13 +1023,13 @@ sub_8052B8C:
|
|||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrb r1, [r4, 0x2]
|
||||
bl sub_808DE10
|
||||
bl IsPokemonDialogueSpriteAvail
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08052C02
|
||||
movs r2, 0
|
||||
ldrsh r0, [r4, r2]
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
str r0, [sp]
|
||||
ldr r0, [r0, 0x4]
|
||||
str r0, [sp, 0x4]
|
||||
|
|
@ -1134,13 +1134,13 @@ sub_8052C68:
|
|||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrb r1, [r4, 0x2]
|
||||
bl sub_808DE10
|
||||
bl IsPokemonDialogueSpriteAvail
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08052CE6
|
||||
movs r2, 0
|
||||
ldrsh r0, [r4, r2]
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
str r0, [sp, 0x14]
|
||||
ldr r0, [r0, 0x4]
|
||||
str r0, [sp, 0x18]
|
||||
|
|
@ -39953,7 +39953,7 @@ _080665D0:
|
|||
b _08066704
|
||||
_080665DE:
|
||||
adds r0, r6, 0
|
||||
bl sub_808DCC0
|
||||
bl GetBaseRecruit
|
||||
lsls r0, 16
|
||||
ldr r1, _0806661C
|
||||
cmp r0, r1
|
||||
|
|
@ -47072,7 +47072,7 @@ _08069E4E:
|
|||
movs r1, 0x2
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r1, r4, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
adds r1, r7, r4
|
||||
strb r0, [r1]
|
||||
adds r4, 0x1
|
||||
|
|
@ -47084,7 +47084,7 @@ _08069E64:
|
|||
movs r1, 0x2
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r1, r4, 0
|
||||
bl sub_808DC84
|
||||
bl GetPokemonAbility
|
||||
adds r1, r6, r4
|
||||
strb r0, [r1]
|
||||
adds r4, 0x1
|
||||
|
|
@ -49179,7 +49179,7 @@ _0806AE42:
|
|||
bl sub_808E9E4
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl sub_808DD18
|
||||
bl CalculateEXPGain
|
||||
cmp r9, r0
|
||||
bge _0806AE72
|
||||
mov r9, r0
|
||||
|
|
@ -51574,7 +51574,7 @@ _0806C0E0:
|
|||
adds r1, r5, 0
|
||||
str r2, [sp, 0x30]
|
||||
str r3, [sp, 0x34]
|
||||
bl sub_808DC84
|
||||
bl GetPokemonAbility
|
||||
ldr r7, [sp, 0x8]
|
||||
adds r1, r7, r5
|
||||
strb r0, [r1]
|
||||
|
|
@ -51646,7 +51646,7 @@ _0806C172:
|
|||
movs r7, 0x2
|
||||
ldrsh r0, [r4, r7]
|
||||
adds r1, r5, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
mov r2, r10
|
||||
adds r1, r2, r5
|
||||
strb r0, [r1]
|
||||
|
|
@ -52072,7 +52072,7 @@ sub_806C488:
|
|||
asrs r6, r0, 16
|
||||
adds r0, r6, 0
|
||||
mov r1, r8
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
adds r5, r0, 0
|
||||
movs r4, 0x2
|
||||
cmp r4, r7
|
||||
|
|
@ -52113,7 +52113,7 @@ sub_806C4D4:
|
|||
asrs r6, r0, 16
|
||||
adds r0, r6, 0
|
||||
mov r1, r8
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
adds r5, r0, 0
|
||||
movs r4, 0x2
|
||||
cmp r4, r7
|
||||
|
|
@ -52886,7 +52886,7 @@ _0806CACC:
|
|||
ldrsh r0, [r3, r4]
|
||||
_0806CAD2:
|
||||
movs r1, 0
|
||||
bl sub_808DD68
|
||||
bl GetPokemonOverworldPalette
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
adds r0, r6, 0
|
||||
|
|
@ -55533,7 +55533,7 @@ _0806DF7E:
|
|||
movs r1, 0x2
|
||||
ldrsh r0, [r6, r1]
|
||||
ldrb r1, [r6, 0x9]
|
||||
bl sub_808DD18
|
||||
bl CalculateEXPGain
|
||||
adds r5, r0, 0
|
||||
adds r0, r6, 0
|
||||
adds r0, 0xFB
|
||||
|
|
@ -58603,7 +58603,7 @@ _0806F7DE:
|
|||
adds r7, r0, 0
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r4, r1]
|
||||
bl sub_808DCC0
|
||||
bl GetBaseRecruit
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
ldr r0, _0806F844
|
||||
|
|
@ -89292,12 +89292,12 @@ _0807E958:
|
|||
movs r1, 0x2
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
strb r0, [r6]
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
strb r0, [r7]
|
||||
_0807E984:
|
||||
mov r0, sp
|
||||
|
|
|
|||
|
|
@ -772,7 +772,7 @@ _0808E3E0:
|
|||
cmp r0, 0
|
||||
beq _0808E3F8
|
||||
adds r0, r2, 0
|
||||
bl sub_808DC0C
|
||||
bl GetPokemonEvolveFrom
|
||||
lsls r0, 16
|
||||
asrs r2, r0, 16
|
||||
cmp r2, 0
|
||||
|
|
@ -810,7 +810,7 @@ _0808E426:
|
|||
asrs r5, r0, 16
|
||||
mov r8, r5
|
||||
adds r0, r5, 0
|
||||
bl sub_808DC0C
|
||||
bl GetPokemonEvolveFrom
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r9, r0
|
||||
|
|
|
|||
|
|
@ -2478,7 +2478,7 @@ _0808FF50:
|
|||
movs r7, 0x8
|
||||
ldrsh r0, [r6, r7]
|
||||
adds r1, r4, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x16
|
||||
adds r1, r4
|
||||
|
|
@ -2486,7 +2486,7 @@ _0808FF50:
|
|||
movs r1, 0x8
|
||||
ldrsh r0, [r6, r1]
|
||||
adds r1, r4, 0
|
||||
bl sub_808DC84
|
||||
bl GetPokemonAbility
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x18
|
||||
adds r1, r4
|
||||
|
|
|
|||
|
|
@ -614,14 +614,14 @@ _08090602:
|
|||
beq _0809063A
|
||||
adds r0, r2, 0
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x3
|
||||
beq _08090638
|
||||
ldr r0, [sp, 0xE0]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x3
|
||||
|
|
@ -653,7 +653,7 @@ _08090644:
|
|||
movs r1, 0x8
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x3
|
||||
|
|
@ -661,7 +661,7 @@ _08090644:
|
|||
movs r2, 0x8
|
||||
ldrsh r0, [r4, r2]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x3
|
||||
|
|
@ -2837,14 +2837,14 @@ _0809161E:
|
|||
movs r1, 0x8
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r2, 0x8
|
||||
ldrsh r0, [r6, r2]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r2, r5, 0
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ _08097F86:
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_08097FA0: .4byte gUnknown_203B498
|
||||
_08097FA4: .4byte gUnknown_810AD0C
|
||||
_08097FA4: .4byte gExclusivePokemon
|
||||
thumb_func_end sub_8097F74
|
||||
|
||||
thumb_func_start sub_8097FA8
|
||||
|
|
@ -386,7 +386,7 @@ _080981E8:
|
|||
b _0809820E
|
||||
.align 2, 0
|
||||
_080981FC: .4byte gUnknown_203B498
|
||||
_08098200: .4byte gUnknown_810AD0C
|
||||
_08098200: .4byte gExclusivePokemon
|
||||
_08098204:
|
||||
adds r2, 0x4
|
||||
adds r1, 0x1
|
||||
|
|
@ -427,7 +427,7 @@ _08098232:
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_08098240: .4byte gUnknown_203B498
|
||||
_08098244: .4byte gUnknown_810AD0C
|
||||
_08098244: .4byte gExclusivePokemon
|
||||
thumb_func_end sub_8098214
|
||||
|
||||
thumb_func_start sub_8098248
|
||||
|
|
|
|||
|
|
@ -3793,7 +3793,7 @@ _0809AD1C:
|
|||
beq _0809ADC0
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r4, r1]
|
||||
bl sub_808DD90
|
||||
bl OpenPokemonDialogueSpriteFile
|
||||
str r0, [r4, 0x20]
|
||||
cmp r0, 0
|
||||
beq _0809ADB6
|
||||
|
|
|
|||
|
|
@ -10098,7 +10098,7 @@ _080A7490:
|
|||
movs r1, 0x1
|
||||
_080A7498:
|
||||
adds r0, r4, 0
|
||||
bl sub_808DD68
|
||||
bl GetPokemonOverworldPalette
|
||||
lsls r0, 24
|
||||
lsrs r0, 8
|
||||
ldr r2, _080A74E0
|
||||
|
|
|
|||
|
|
@ -1463,7 +1463,7 @@ sub_803CC80:
|
|||
movs r0, 0x1
|
||||
bl sub_80073B8
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
adds r5, r0, 0
|
||||
ldr r0, [r5, 0x4]
|
||||
ldr r6, [r0, 0xC]
|
||||
|
|
@ -1859,7 +1859,7 @@ sub_803CFC0:
|
|||
movs r0, 0x1
|
||||
bl sub_80073B8
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
adds r5, r0, 0
|
||||
ldr r0, [r5, 0x4]
|
||||
ldr r6, [r0, 0x4]
|
||||
|
|
@ -1909,14 +1909,14 @@ sub_803D030:
|
|||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
mov r1, sp
|
||||
strb r0, [r1]
|
||||
ldr r0, [r4]
|
||||
movs r2, 0
|
||||
ldrsh r0, [r0, r2]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
mov r1, sp
|
||||
strb r0, [r1, 0x1]
|
||||
movs r7, 0
|
||||
|
|
@ -1930,11 +1930,11 @@ _0803D064:
|
|||
ldrsh r4, [r1, r0]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
strb r0, [r6]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_808DC68
|
||||
bl GetPokemonType
|
||||
adds r2, r0, 0
|
||||
strb r2, [r6, 0x1]
|
||||
ldrb r1, [r6]
|
||||
|
|
|
|||
|
|
@ -102,22 +102,22 @@ _0808CEA4:
|
|||
strh r0, [r1, 0x16]
|
||||
adds r0, r7, 0
|
||||
movs r1, 0
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
mov r1, sp
|
||||
strb r0, [r1, 0x18]
|
||||
adds r0, r7, 0
|
||||
movs r1, 0x1
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
mov r1, sp
|
||||
strb r0, [r1, 0x19]
|
||||
adds r0, r7, 0
|
||||
movs r1, 0
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
mov r1, sp
|
||||
strb r0, [r1, 0x1A]
|
||||
adds r0, r7, 0
|
||||
movs r1, 0x1
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
mov r1, sp
|
||||
strb r0, [r1, 0x1B]
|
||||
mov r0, sp
|
||||
|
|
@ -264,19 +264,19 @@ sub_808CFD0:
|
|||
strh r0, [r7, 0x16]
|
||||
mov r0, r9
|
||||
movs r1, 0
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
strb r0, [r7, 0x18]
|
||||
mov r0, r9
|
||||
movs r1, 0x1
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
strb r0, [r7, 0x19]
|
||||
mov r0, r9
|
||||
movs r1, 0
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
strb r0, [r7, 0x1A]
|
||||
mov r0, r9
|
||||
movs r1, 0x1
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
strb r0, [r7, 0x1B]
|
||||
mov r1, r9
|
||||
strh r1, [r7, 0x8]
|
||||
|
|
@ -383,22 +383,22 @@ sub_808D0D8:
|
|||
movs r2, 0x8
|
||||
ldrsh r0, [r7, r2]
|
||||
movs r1, 0
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
strb r0, [r7, 0x18]
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r7, r1]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC28
|
||||
bl GetPokemonAttSpatt
|
||||
strb r0, [r7, 0x19]
|
||||
movs r2, 0x8
|
||||
ldrsh r0, [r7, r2]
|
||||
movs r1, 0
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
strb r0, [r7, 0x1A]
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r7, r1]
|
||||
movs r1, 0x1
|
||||
bl sub_808DC48
|
||||
bl GetPokemonDefSpdef
|
||||
strb r0, [r7, 0x1B]
|
||||
str r6, [r7, 0x1C]
|
||||
adds r0, r7, 0
|
||||
|
|
|
|||
184
asm/pokemon_1.s
184
asm/pokemon_1.s
|
|
@ -1,184 +0,0 @@
|
|||
.include "constants/gba_constants.inc"
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_808DC28
|
||||
sub_808DC28:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DC44
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
lsls r1, 1
|
||||
adds r2, 0x24
|
||||
adds r2, r1
|
||||
ldrh r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DC44: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DC28
|
||||
|
||||
thumb_func_start sub_808DC48
|
||||
sub_808DC48:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DC64
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
lsls r1, 1
|
||||
adds r2, 0x28
|
||||
adds r2, r1
|
||||
ldrh r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DC64: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DC48
|
||||
|
||||
thumb_func_start sub_808DC68
|
||||
sub_808DC68:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DC80
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
adds r2, 0x13
|
||||
adds r2, r1
|
||||
ldrb r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DC80: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DC68
|
||||
|
||||
thumb_func_start sub_808DC84
|
||||
sub_808DC84:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DC9C
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
adds r2, 0x17
|
||||
adds r2, r1
|
||||
ldrb r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DC9C: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DC84
|
||||
|
||||
thumb_func_start sub_808DCA0
|
||||
sub_808DCA0:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DCBC
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
lsls r1, 1
|
||||
adds r2, 0x3C
|
||||
adds r2, r1
|
||||
movs r1, 0
|
||||
ldrsh r0, [r2, r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DCBC: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DCA0
|
||||
|
||||
thumb_func_start sub_808DCC0
|
||||
sub_808DCC0:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r1, _0808DCD8
|
||||
ldr r2, [r1]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
adds r1, 0x40
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DCD8: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DCC0
|
||||
|
||||
thumb_func_start sub_808DCDC
|
||||
sub_808DCDC:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DCF8
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
lsls r1, 1
|
||||
adds r2, 0x42
|
||||
adds r2, r1
|
||||
movs r1, 0
|
||||
ldrsh r0, [r2, r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DCF8: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DCDC
|
||||
|
||||
thumb_func_start sub_808DCFC
|
||||
sub_808DCFC:
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r1, _0808DD14
|
||||
ldr r2, [r1]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
movs r2, 0x3E
|
||||
ldrsh r0, [r1, r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0808DD14: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DCFC
|
||||
|
||||
thumb_func_start sub_808DD18
|
||||
sub_808DD18:
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
ldr r2, _0808DD44
|
||||
ldr r3, [r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
ldr r4, [r2, 0x20]
|
||||
subs r1, 0x1
|
||||
adds r0, r4, 0
|
||||
muls r0, r1
|
||||
movs r1, 0xA
|
||||
bl __divsi3
|
||||
adds r4, r0
|
||||
adds r0, r4, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0808DD44: .4byte gMonsterParameters
|
||||
thumb_func_end sub_808DD18
|
||||
|
||||
.align 2,0 @ don't pad with nop
|
||||
|
|
@ -24,7 +24,7 @@ sub_8012574:
|
|||
cmp r4, 0
|
||||
beq _080125BA
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r1, [r5]
|
||||
str r0, [r1, 0xC]
|
||||
ldr r0, [r0, 0x4]
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ sub_8029B50:
|
|||
ldr r0, _08029C48
|
||||
bl strcpy
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, [r5]
|
||||
movs r3, 0x84
|
||||
lsls r3, 3
|
||||
|
|
@ -2914,7 +2914,7 @@ sub_802B2D4:
|
|||
adds r1, r4, 0
|
||||
bl sub_808D8E0
|
||||
adds r0, r4, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r1, [r5]
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, [r0, 0x4]
|
||||
|
|
@ -8089,7 +8089,7 @@ _0802DB4A:
|
|||
ldr r0, [r0, 0x34]
|
||||
movs r1, 0xC
|
||||
ldrsh r0, [r0, r1]
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r1, [r4]
|
||||
str r0, [r1, 0x38]
|
||||
str r5, [r1, 0x3C]
|
||||
|
|
@ -10976,7 +10976,7 @@ sub_802F204:
|
|||
ldr r0, [r0, 0x10]
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r0, r1]
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r1, [r5]
|
||||
str r0, [r1, 0x14]
|
||||
str r6, [r1, 0x18]
|
||||
|
|
@ -12448,7 +12448,7 @@ _0802FDE0:
|
|||
adds r0, r4, 0
|
||||
bl strcpy
|
||||
adds r0, r5, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r3, _0802FE54
|
||||
ldr r1, [r3]
|
||||
str r0, [r1, 0x58]
|
||||
|
|
@ -14712,7 +14712,7 @@ _08030F88:
|
|||
str r6, [r0]
|
||||
movs r0, 0x98
|
||||
lsls r0, 1
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r2, [r5]
|
||||
movs r4, 0x84
|
||||
lsls r4, 1
|
||||
|
|
@ -15385,7 +15385,7 @@ sub_80314B4:
|
|||
cmp r5, 0
|
||||
beq _0803151E
|
||||
adds r0, r5, 0
|
||||
bl sub_808DDD0
|
||||
bl GetDialogueSpriteDataPtr
|
||||
ldr r1, [r6]
|
||||
str r0, [r1, 0x8]
|
||||
strb r4, [r1, 0x14]
|
||||
|
|
|
|||
|
|
@ -439,7 +439,30 @@ gUnknown_80D4080: @ 80D4080
|
|||
|
||||
.global gUnknown_80D408C
|
||||
gUnknown_80D408C: @ 80D408C
|
||||
.incbin "baserom.gba", 0xD408C, 0x38
|
||||
.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
|
||||
|
|
|
|||
|
|
@ -8097,7 +8097,7 @@ gUnknown_810A390: @ 810A390
|
|||
.incbin "baserom.gba", 0x10A390, 0x60
|
||||
|
||||
.global gUnknown_810A3F0
|
||||
gUnknown_810A3F0: @ 810A3F0
|
||||
gUnknown_810A3F0: @ 810A3F0 (money related according to PMDe)
|
||||
.incbin "baserom.gba", 0x10A3F0, 0x190
|
||||
|
||||
.global gUnknown_810A580
|
||||
|
|
@ -8517,9 +8517,13 @@ gUnknown_810ACC0: @ 810ACC0
|
|||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_810AD0C
|
||||
gUnknown_810AD0C: @ 810AD0C
|
||||
.byte 0x89, 0x00, 0x01, 0x00
|
||||
.global gExclusivePokemon
|
||||
gExclusivePokemon: @ 810AD0C
|
||||
@ Format:
|
||||
@ Pokemon ID: 2 bytes
|
||||
@ RRT: 1 byte (bool)
|
||||
@ BRT: 1 byte (bool)
|
||||
.byte 0x89, 0x00, 0x01, 0x00 @ Porygon (only in RRT)
|
||||
.byte 0x02, 0x01, 0x00, 0x01
|
||||
.byte 0x81, 0x00, 0x00, 0x01
|
||||
.byte 0x82, 0x00, 0x00, 0x01
|
||||
|
|
|
|||
|
|
@ -3,33 +3,31 @@
|
|||
|
||||
struct EvolveStruct1
|
||||
{
|
||||
u16 evolve_from;
|
||||
u16 evolve_type;
|
||||
/* 0x34 */ u16 evolve_from;
|
||||
/* 0x36 */ u16 evolve_type;
|
||||
};
|
||||
|
||||
struct EvolveNeeds
|
||||
{
|
||||
u16 evolve_need1;
|
||||
u16 evolve_need2;
|
||||
/* 0x38 */ u16 evolve_need1;
|
||||
/* 0x3A */ u16 evolve_need2;
|
||||
};
|
||||
|
||||
struct gPokemon
|
||||
{
|
||||
/* 0x0 */ u8* species;
|
||||
/* 0x4 */ u8* category;
|
||||
/* 0x8 */ u8 overworld_sprite;
|
||||
/* 0x8 */ u8 overworld_palette;
|
||||
/* 0x9 */ u8 size;
|
||||
/* 0xA */ u8 unkA;
|
||||
/* 0xB */ u8 unkB;
|
||||
/* 0xC */ s32 move_speed;
|
||||
/* 0x10 */ u16 dialogue_sprites;
|
||||
/* 0x12 */ u8 unk12;
|
||||
/* 0x13 */ u8 type_1;
|
||||
/* 0x14 */ u8 type_2;
|
||||
/* 0x13 */ u8 types[2];
|
||||
/* 0x15 */ u8 walkable_tiles;
|
||||
/* 0x16 */ u8 friend_area;
|
||||
/* 0x17 */ u8 ability_1;
|
||||
/* 0x18 */ u8 ability_2;
|
||||
/* 0x17 */ u8 abilities[2];
|
||||
/* 0x19 */ u8 shadow_size;
|
||||
/* 0x1A */ u8 unk1A;
|
||||
/* 0x1B */ u8 unk1B;
|
||||
|
|
@ -37,11 +35,9 @@ struct gPokemon
|
|||
/* 0x1D */ u8 unk1D;
|
||||
/* 0x1E */ u16 base_hp;
|
||||
/* 0x20 */ u16 base_exp;
|
||||
/* 0x22 */ u16 unk22; // verified
|
||||
/* 0x24 */ u16 base_att;
|
||||
/* 0x26 */ u16 base_spatt;
|
||||
/* 0x28 */ u16 base_def;
|
||||
/* 0x2A */ u16 base_spdef;
|
||||
/* 0x22 */ u16 unk22;
|
||||
/* 0x24 */ u16 base_att_spatt[2];
|
||||
/* 0x28 */ u16 base_def_spdef[2];
|
||||
/* 0x2C */ u16 lowkick_dmg;
|
||||
/* 0x2E */ u16 sizeorb_dmg;
|
||||
/* 0x30 */ u8 unk30;
|
||||
|
|
@ -50,12 +46,9 @@ struct gPokemon
|
|||
/* 0x33 */ bool8 unk33;
|
||||
/* 0x34 */ struct EvolveStruct1 pre;
|
||||
/* 0x38 */ struct EvolveNeeds need;
|
||||
/* 0x3C */ u16 dexNo;
|
||||
/* 0x3E */ u16 internalNo; // verified
|
||||
/* 0x40 */ s16 base_recruit; // verified
|
||||
/* 0x42 */ u16 alphabetNo;
|
||||
/* 0x44 */ u16 parentNo;
|
||||
/* 0x46 */ u16 unk46;
|
||||
/* 0x3C */ s16 unk3C[2]; // dexNo and internalNo
|
||||
/* 0x40 */ s16 base_recruit;
|
||||
/* 0x42 */ s16 unk42[2]; // alphabetNo and parentNo
|
||||
};
|
||||
|
||||
#endif // POKEMON_H
|
||||
|
|
|
|||
|
|
@ -113,8 +113,6 @@ SECTIONS {
|
|||
src/code_80521D0_1.o(.text);
|
||||
src/pokemon.o(.text);
|
||||
asm/pokemon.o(.text);
|
||||
src/pokemon_mid.o(.text);
|
||||
asm/pokemon_1.o(.text);
|
||||
src/pokemon_1.o(.text);
|
||||
src/code_808DAB4.o(.text);
|
||||
asm/code_808DAB4.o(.text);
|
||||
|
|
|
|||
182
src/pokemon_1.c
182
src/pokemon_1.c
|
|
@ -14,61 +14,211 @@ struct unkEvolve
|
|||
/* 0x4 */ struct EvolveNeeds needs;
|
||||
};
|
||||
|
||||
s16 sub_808DD48(s16 r0, struct unkEvolve *r1)
|
||||
u8 *GetCategoryString(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].category;
|
||||
}
|
||||
|
||||
u8 GetPokemonSize(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].size;
|
||||
}
|
||||
|
||||
u8 GetShadowSize(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].shadow_size;
|
||||
}
|
||||
|
||||
s32 GetMoveSpeed(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].move_speed;
|
||||
}
|
||||
|
||||
u8 GetWalkableTiles(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].walkable_tiles;
|
||||
}
|
||||
|
||||
u8 GetUnk1B(s16 index)
|
||||
{
|
||||
return ((u8)(gMonsterParameters[index].unk1B) << 25) >> 24;
|
||||
}
|
||||
|
||||
bool8 GetIsMoving(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].isMoving;
|
||||
}
|
||||
|
||||
u8 GetUnk1D(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].unk1D;
|
||||
}
|
||||
|
||||
u16 GetLowKickDmg(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].lowkick_dmg;
|
||||
}
|
||||
|
||||
u16 GetSizeOrbDmg(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].sizeorb_dmg;
|
||||
}
|
||||
|
||||
u8 GetFriendArea(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].friend_area;
|
||||
}
|
||||
|
||||
u16 GetBaseHP(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].base_hp;
|
||||
}
|
||||
|
||||
bool8 GetUnk33(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].unk33;
|
||||
}
|
||||
|
||||
u8 GetUnk12(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].unk12;
|
||||
}
|
||||
|
||||
s16 GetPokemonEvolveFrom(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].pre.evolve_from;
|
||||
}
|
||||
|
||||
u16 GetPokemonAttSpatt(s16 index, u32 r1)
|
||||
{
|
||||
return gMonsterParameters[index].base_att_spatt[r1];
|
||||
}
|
||||
|
||||
u16 GetPokemonDefSpdef(s16 index, u32 r1)
|
||||
{
|
||||
return gMonsterParameters[index].base_def_spdef[r1];
|
||||
}
|
||||
|
||||
u8 GetPokemonType(s16 index, u32 typeIndex)
|
||||
{
|
||||
return gMonsterParameters[index].types[typeIndex];
|
||||
}
|
||||
|
||||
u8 GetPokemonAbility(s16 index, u32 abilityIndex)
|
||||
{
|
||||
return gMonsterParameters[index].abilities[abilityIndex];
|
||||
}
|
||||
|
||||
s16 sub_808DCA0(s16 index, u32 r1)
|
||||
{
|
||||
return gMonsterParameters[index].unk3C[r1];
|
||||
}
|
||||
|
||||
s16 GetBaseRecruit(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].base_recruit;
|
||||
}
|
||||
|
||||
s16 sub_808DCDC(s16 index, s32 r1)
|
||||
{
|
||||
return gMonsterParameters[index].unk42[r1];
|
||||
}
|
||||
|
||||
|
||||
s16 sub_808DCFC(s16 index)
|
||||
{
|
||||
return gMonsterParameters[index].unk3C[1];
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u32 CalculateEXPGain(s16 index, s32 level)
|
||||
{
|
||||
return gMonsterParameters[index].base_exp + (gMonsterParameters[index].base_exp * (level- 1)) / 10;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
u32 CalculateEXPGain(s16 index, s32 level)
|
||||
{
|
||||
asm_unified("\tpush {r4,lr}\n"
|
||||
"\tlsls r0, 16\n"
|
||||
"\tasrs r0, 16\n"
|
||||
"\tldr r2, _0808DD44\n"
|
||||
"\tldr r3, [r2]\n"
|
||||
"\tlsls r2, r0, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tadds r2, r3\n"
|
||||
"\tldr r4, [r2, 0x20]\n"
|
||||
"\tsubs r1, 0x1\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmuls r0, r1\n"
|
||||
"\tmovs r1, 0xA\n"
|
||||
"\tbl __divsi3\n"
|
||||
"\tadds r4, r0\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tpop {r4}\n"
|
||||
"\tpop {r1}\n"
|
||||
"\tbx r1\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0808DD44: .4byte gMonsterParameters");
|
||||
}
|
||||
#endif
|
||||
|
||||
s16 sub_808DD48(s16 index, struct unkEvolve *r1)
|
||||
{
|
||||
struct EvolveStruct1 temp2;
|
||||
struct EvolveNeeds temp1;
|
||||
temp1 = gMonsterParameters[r0].need;
|
||||
temp2 = gMonsterParameters[r0].pre;
|
||||
temp1 = gMonsterParameters[index].need;
|
||||
temp2 = gMonsterParameters[index].pre;
|
||||
r1->conditions = temp2;
|
||||
r1->needs = temp1;
|
||||
// The return value is not used anywhere, but necessary for the function to match.
|
||||
return r0;
|
||||
return index;
|
||||
}
|
||||
|
||||
u8 sub_808DD68(s16 r0, u32 r1)
|
||||
u8 GetPokemonOverworldPalette(s16 index, u32 r1)
|
||||
{
|
||||
// Had to have this cast to match
|
||||
u32 temp;
|
||||
temp = r0;
|
||||
temp = index;
|
||||
if (r1 != 0)
|
||||
{
|
||||
return 0xA;
|
||||
return 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
return gMonsterParameters[temp].overworld_sprite;
|
||||
return gMonsterParameters[temp].overworld_palette;
|
||||
}
|
||||
}
|
||||
|
||||
struct OpenedFile *sub_808DD90(s16 r0)
|
||||
struct OpenedFile *OpenPokemonDialogueSpriteFile(s16 index)
|
||||
{
|
||||
// Looks like this loads the dialogue sprite for the pokemon
|
||||
|
||||
char buffer[0xC];
|
||||
if(gMonsterParameters[r0].dialogue_sprites == 0)
|
||||
if(gMonsterParameters[index].dialogue_sprites == 0)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
sprintf(buffer, gUnknown_8107684, r0); // "kao%03d"
|
||||
sprintf(buffer, gUnknown_8107684, index); // "kao%03d"
|
||||
return OpenFile(buffer, &gMonsterFileArchive);
|
||||
}
|
||||
|
||||
struct OpenedFile *sub_808DDD0(s16 r0)
|
||||
struct OpenedFile *GetDialogueSpriteDataPtr(s16 index)
|
||||
{
|
||||
// Looks like this loads the dialogue sprite for the pokemon
|
||||
|
||||
char buffer[0xC];
|
||||
if(gMonsterParameters[r0].dialogue_sprites == 0)
|
||||
if(gMonsterParameters[index].dialogue_sprites == 0)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
sprintf(buffer, gUnknown_8107684, r0); // "kao%03d"
|
||||
sprintf(buffer, gUnknown_8107684, index); // "kao%03d"
|
||||
return OpenFileAndGetFileDataPtr(buffer, &gMonsterFileArchive);
|
||||
}
|
||||
|
||||
bool8 sub_808DE10(s16 r0, s32 r1)
|
||||
bool8 IsPokemonDialogueSpriteAvail(s16 index, s32 r1)
|
||||
{
|
||||
// checking to see if dialogue sprite is available??
|
||||
return (gMonsterParameters[r0].dialogue_sprites >> r1) & 1;
|
||||
return (gMonsterParameters[index].dialogue_sprites >> r1) & 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,85 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
extern struct gPokemon *gMonsterParameters;
|
||||
|
||||
u8 *GetCategoryString(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].category;
|
||||
}
|
||||
|
||||
u8 GetPokemonSize(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].size;
|
||||
}
|
||||
|
||||
u8 GetShadowSize(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].shadow_size;
|
||||
}
|
||||
|
||||
s32 GetMoveSpeed(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].move_speed;
|
||||
}
|
||||
|
||||
u8 GetWalkableTiles(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].walkable_tiles;
|
||||
}
|
||||
|
||||
u8 GetUnk1B(s16 r0)
|
||||
{
|
||||
return ((u8)(gMonsterParameters[r0].unk1B) << 25) >> 24;
|
||||
}
|
||||
|
||||
bool8 GetIsMoving(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].isMoving;
|
||||
}
|
||||
|
||||
u8 GetUnk1D(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].unk1D;
|
||||
}
|
||||
|
||||
u16 GetLowKickDmg(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].lowkick_dmg;
|
||||
}
|
||||
|
||||
u16 GetSizeOrbDmg(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].sizeorb_dmg;
|
||||
}
|
||||
|
||||
u8 GetFriendArea(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].friend_area;
|
||||
}
|
||||
|
||||
u16 GetBaseHP(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].base_hp;
|
||||
}
|
||||
|
||||
bool8 GetUnk33(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].unk33;
|
||||
}
|
||||
|
||||
u8 GetUnk12(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].unk12;
|
||||
}
|
||||
|
||||
s16 sub_808DC0C(s16 r0)
|
||||
{
|
||||
return gMonsterParameters[r0].pre.evolve_from;
|
||||
}
|
||||
|
||||
// TODO fix calculation to match
|
||||
//u32 sub_808DC28(s16 r0, u32 r1)
|
||||
//{
|
||||
// return gMonsterParameters[r0].base_att + (r1 << 1);
|
||||
//}
|
||||
Loading…
Reference in New Issue
Block a user