diff options
Diffstat (limited to 'arm9/asm/pokemon.s')
-rw-r--r-- | arm9/asm/pokemon.s | 133 |
1 files changed, 67 insertions, 66 deletions
diff --git a/arm9/asm/pokemon.s b/arm9/asm/pokemon.s index 3bfbd197..ec6ac699 100644 --- a/arm9/asm/pokemon.s +++ b/arm9/asm/pokemon.s @@ -336,7 +336,7 @@ CreateMon: ; 0x02066ACC add r2, sp, #0x48 bl SetMonDataEncrypted mov r0, #0x0 - bl FUN_020256BC + bl CreateNewSealsObject add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 @@ -390,6 +390,7 @@ _02066B8E: mov r1, #0x0 add r2, sp, #0x34 bl SetBoxMonDataEncrypted + // If otIdType == 2, generate a random OT ID that prevents shininess ldr r0, [sp, #0x38] cmp r0, #0x2 bne _02066BD6 @@ -444,7 +445,7 @@ _02066BDE: bl SetBoxMonDataEncrypted ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x8 @@ -709,7 +710,7 @@ _02066E4C: ldr r0, [sp, #0x14] add r1, r6, #0x0 add r2, r7, #0x0 - bl FUN_02066E74 + bl AdjustPersonalityToForceGenderAndNature add r4, r0, #0x0 _02066E58: mov r0, #0x1 @@ -726,8 +727,8 @@ _02066E58: add sp, #0x24 pop {r4-r7, pc} - thumb_func_start FUN_02066E74 -FUN_02066E74: ; 0x02066E74 + thumb_func_start AdjustPersonalityToForceGenderAndNature +AdjustPersonalityToForceGenderAndNature: ; 0x02066E74 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x12 @@ -752,8 +753,8 @@ _02066EA0: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_02066EA4 -FUN_02066EA4: ; 0x02066EA4 + thumb_func_start CreateMonWithFixedIVs +CreateMonWithFixedIVs: ; 0x02066EA4 push {r0-r3} push {r4, lr} sub sp, #0x10 @@ -1239,7 +1240,7 @@ _02067298: _0206729E: add r0, #0x9c add r1, r2, #0x0 - bl FUN_020256D0 + bl CopySealsObject mov r0, #0x1 pop {r3, pc} _020672AA: @@ -2176,7 +2177,7 @@ _02067940: add r3, #0x9c add r0, r2, #0x0 add r1, r3, #0x0 - bl FUN_020256D0 + bl CopySealsObject pop {r3, pc} _0206794C: add r3, #0xd4 @@ -3142,7 +3143,7 @@ _02068066: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl AddMonPartyStat + bl AddMonData ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f @@ -3166,8 +3167,8 @@ _0206809C: pop {r4-r6, pc} .balign 4 - thumb_func_start AddMonPartyStat -AddMonPartyStat: ; 0x020680A0 + thumb_func_start AddMonData +AddMonData: ; 0x020680A0 push {r3, lr} add r3, r1, #0x0 sub r3, #0x9f @@ -3216,12 +3217,12 @@ _020680F2: bl ErrorHandling pop {r3, pc} _020680F8: - bl FUN_02068100 + bl AddBoxMonData pop {r3, pc} .balign 4 - thumb_func_start FUN_02068100 -FUN_02068100: ; 0x02068100 + thumb_func_start AddBoxMonData +AddBoxMonData: ; 0x02068100 push {r4-r7, lr} sub sp, #0xc add r7, r1, #0x0 @@ -3441,14 +3442,14 @@ _0206814E: ; jump table (using 16-bit offset) _020682B4: ldrh r0, [r4, #0x0] mov r1, #0x64 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel ldr r1, [r4, #0x8] add r1, r1, r6 cmp r1, r0 bls _020682D2 ldrh r0, [r4, #0x0] mov r1, #0x64 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel add sp, #0xc str r0, [r4, #0x8] pop {r4-r7, pc} @@ -4008,8 +4009,8 @@ GetMonBaseStat: ; 0x02068678 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02068698 -FUN_02068698: ; 0x02068698 + thumb_func_start GetPercentProgressTowardsNextLevel +GetPercentProgressTowardsNextLevel: ; 0x02068698 push {r3-r7, lr} add r5, r0, #0x0 bl TryDecryptMon @@ -4028,11 +4029,11 @@ FUN_02068698: ; 0x02068698 lsr r7, r0, #0x18 add r0, r6, #0x0 add r1, r7, #0x0 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x1 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 @@ -4079,12 +4080,12 @@ CalcBoxMonExpToNextLevelEncrypted: ; 0x02068700 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel sub r0, r0, r4 pop {r4-r6, pc} - thumb_func_start FUN_02068734 -FUN_02068734: ; 0x02068734 + thumb_func_start GetMonBaseExperienceAtCurrentLevel +GetMonBaseExperienceAtCurrentLevel: ; 0x02068734 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x5 @@ -4097,12 +4098,12 @@ FUN_02068734: ; 0x02068734 bl GetMonDataEncrypted add r1, r0, #0x0 add r0, r4, #0x0 - bl GetMonExpByLevel + bl GetMonExpBySpeciesAndLevel pop {r3-r5, pc} .balign 4 - thumb_func_start GetMonExpByLevel -GetMonExpByLevel: ; 0x02068758 + thumb_func_start GetMonExpBySpeciesAndLevel +GetMonExpBySpeciesAndLevel: ; 0x02068758 push {r4, lr} add r4, r1, #0x0 mov r1, #0x15 @@ -4530,15 +4531,15 @@ _02068A78: pop {r4, pc} .balign 4 - thumb_func_start FUN_02068A80 -FUN_02068A80: ; 0x02068A80 - ldr r3, _02068A84 ; =FUN_02068A88 + thumb_func_start MonIsShiny +MonIsShiny: ; 0x02068A80 + ldr r3, _02068A84 ; =BoxMonIsShiny bx r3 .balign 4 -_02068A84: .word FUN_02068A88 +_02068A84: .word BoxMonIsShiny - thumb_func_start FUN_02068A88 -FUN_02068A88: ; 0x02068A88 + thumb_func_start BoxMonIsShiny +BoxMonIsShiny: ; 0x02068A88 push {r3-r5, lr} mov r1, #0x7 mov r2, #0x0 @@ -4551,12 +4552,12 @@ FUN_02068A88: ; 0x02068A88 bl GetBoxMonDataEncrypted add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_02068AAC + bl CalcShininessByOtIdAndPersonality pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02068AAC -FUN_02068AAC: ; 0x02068AAC + thumb_func_start CalcShininessByOtIdAndPersonality +CalcShininessByOtIdAndPersonality: ; 0x02068AAC ldr r3, _02068AD4 ; =0xFFFF0000 lsl r2, r1, #0x10 and r1, r3 @@ -4582,8 +4583,8 @@ _02068ACE: .balign 4 _02068AD4: .word 0xFFFF0000 - thumb_func_start FUN_02068AD8 -FUN_02068AD8: ; 0x02068AD8 + thumb_func_start GenerateShinyPersonality +GenerateShinyPersonality: ; 0x02068AD8 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _02068B64 ; =0xFFFF0000 @@ -4678,7 +4679,7 @@ FUN_02068B70: ; 0x02068B70 bl GetBoxMonGenderEncrypted str r0, [sp, #0x14] add r0, r5, #0x0 - bl FUN_02068A88 + bl BoxMonIsShiny mov r1, #0x0 add r7, r0, #0x0 add r0, r5, #0x0 @@ -4692,7 +4693,7 @@ FUN_02068B70: ; 0x02068B70 mov r1, #0x5 mov r2, #0x0 bl GetBoxMonDataEncrypted - ldr r1, _02068BFC ; =0x000001EA + ldr r1, _02068BFC ; =SPECIES_MANAPHY cmp r0, r1 bne _02068BC6 mov r0, #0x1 @@ -4723,7 +4724,7 @@ _02068BD8: pop {r4-r7, pc} nop _02068BF8: .word SPECIES_EGG -_02068BFC: .word 0x000001EA +_02068BFC: .word SPECIES_MANAPHY thumb_func_start FUN_02068C00 FUN_02068C00: ; 0x02068C00 @@ -4738,30 +4739,30 @@ FUN_02068C00: ; 0x02068C00 strh r1, [r4, #0x6] strb r1, [r4, #0x8] str r1, [r4, #0xc] - ldr r1, _02068E0C ; =0x000001A5 + ldr r1, _02068E0C ; =SPECIES_CHERRIM cmp r0, r1 bgt _02068C68 bge _02068D1E add r6, r1, #0x0 - sub r6, #0x46 + sub r6, #SPECIES_CHERRIM-SPECIES_CASTFORM cmp r0, r6 bgt _02068C36 - sub r1, #0x46 + sub r1, #SPECIES_CHERRIM-SPECIES_CASTFORM cmp r0, r1 blt _02068C2E b _02068D58 _02068C2E: - cmp r0, #0xc9 + cmp r0, #SPECIES_UNOWN bne _02068C34 b _02068D90 _02068C34: b _02068DD4 _02068C36: add r6, r1, #0x0 - sub r6, #0x23 + sub r6, #SPECIES_CHERRIM-SPECIES_DEOXYS cmp r0, r6 bgt _02068C48 - sub r1, #0x23 + sub r1, #SPECIES_CHERRIM-SPECIES_DEOXYS cmp r0, r1 bne _02068C46 b _02068D76 @@ -4769,56 +4770,56 @@ _02068C46: b _02068DD4 _02068C48: add r6, r1, #0x0 - sub r6, #0x8 + sub r6, #SPECIES_CHERRIM-SPECIES_WORMADAM cmp r0, r6 bgt _02068C66 add r6, r1, #0x0 - sub r6, #0x9 + sub r6, #SPECIES_CHERRIM-SPECIES_BURMY cmp r0, r6 blt _02068C66 add r6, r1, #0x0 - sub r6, #0x9 + sub r6, #SPECIES_CHERRIM-SPECIES_BURMY cmp r0, r6 beq _02068CAA - sub r1, #0x8 + sub r1, #SPECIES_CHERRIM-SPECIES_WORMADAM cmp r0, r1 beq _02068CC8 _02068C66: b _02068DD4 _02068C68: add r6, r1, #0x0 - add r6, #0x48 + add r6, #SPECIES_ARCEUS-SPECIES_CHERRIM cmp r0, r6 bgt _02068C8E add r6, r1, #0x0 - add r6, #0x48 + add r6, #SPECIES_ARCEUS-SPECIES_CHERRIM cmp r0, r6 bge _02068D3A - add r6, r1, #0x2 + add r6, r1, #SPECIES_GASTRODON-SPECIES_CHERRIM cmp r0, r6 bgt _02068C8C - add r6, r1, #0x1 + add r6, r1, #SPECIES_SHELLOS-SPECIES_CHERRIM cmp r0, r6 blt _02068C8C beq _02068CE6 - add r1, r1, #0x2 + add r1, r1, #SPECIES_GASTRODON-SPECIES_CHERRIM cmp r0, r1 beq _02068D02 _02068C8C: b _02068DD4 _02068C8E: add r6, r1, #0x0 - add r6, #0x49 + add r6, #SPECIES_EGG-SPECIES_CHERRIM cmp r0, r6 bgt _02068CA0 - add r1, #0x49 + add r1, #SPECIES_EGG-SPECIES_CHERRIM cmp r0, r1 bne _02068C9E b _02068DAC _02068C9E: b _02068DD4 _02068CA0: - add r1, #0x4a + add r1, #SPECIES_MANAPHY_EGG-SPECIES_CHERRIM cmp r0, r1 bne _02068CA8 b _02068DC4 @@ -5012,7 +5013,7 @@ _02068DE2: strh r2, [r4, #0x2] add r1, r3, r1 strh r1, [r4, #0x4] - ldr r1, _02068E10 ; =0x00000147 + ldr r1, _02068E10 ; =SPECIES_SPINDA cmp r0, r1 bne _02068E06 cmp r5, #0x2 @@ -5026,8 +5027,8 @@ _02068E06: pop {r4-r7} bx lr nop -_02068E0C: .word 0x000001A5 -_02068E10: .word 0x00000147 +_02068E0C: .word SPECIES_CHERRIM +_02068E10: .word SPECIES_SPINDA thumb_func_start FUN_02068E14 FUN_02068E14: ; 0x02068E14 @@ -5062,7 +5063,7 @@ FUN_02068E1C: ; 0x02068E1C mov r1, #0x5 mov r2, #0x0 bl GetBoxMonDataEncrypted - ldr r1, _02068E84 ; =0x000001EA + ldr r1, _02068E84 ; =SPECIES_MANAPHY cmp r0, r1 bne _02068E5E mov r3, #0x1 @@ -5092,7 +5093,7 @@ _02068E84: .word 0x000001EA thumb_func_start FUN_02068E88 FUN_02068E88: ; 0x02068E88 push {r3-r5, lr} - ldr r4, _02068FDC ; =0x000001A5 + ldr r4, _02068FDC ; =SPECIES_CHERRIM cmp r0, r4 bgt _02068ED6 bge _02068F54 @@ -5290,7 +5291,7 @@ _02068FCA: ldrb r0, [r0, #0x0] pop {r3-r5, pc} nop -_02068FDC: .word 0x000001A5 +_02068FDC: .word SPECIES_CHERRIM thumb_func_start FUN_02068FE0 FUN_02068FE0: ; 0x02068FE0 @@ -6710,7 +6711,7 @@ _02069A8E: add r2, sp, #0x0 bl SetMonDataEncrypted mov r0, #0x0 - bl FUN_020256BC + bl CreateNewSealsObject add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xa9 |