diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-06-13 11:26:10 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-06-13 11:26:10 -0400 |
commit | e81dfc98e26bece01763110254648d7c20cb198d (patch) | |
tree | 90b72a7eaf35e112bfb52c3941b80e35f04397ec | |
parent | 0747fe684c46d010d8917c4257dd1f1a52241385 (diff) |
through SetBoxMonDataInternal
-rw-r--r-- | arm9/asm/pokemon_s.s | 1113 | ||||
-rw-r--r-- | arm9/asm/unk_0206B16C.s | 2 | ||||
-rw-r--r-- | arm9/asm/unk_0207FD00.s | 50 | ||||
-rw-r--r-- | arm9/global.inc | 2 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 2 | ||||
-rw-r--r-- | arm9/modules/14/asm/module_14.s | 4 | ||||
-rw-r--r-- | arm9/modules/83/asm/module_83.s | 122 | ||||
-rw-r--r-- | arm9/src/pokemon.c | 522 | ||||
-rw-r--r-- | include/pokemon.h | 14 | ||||
-rw-r--r-- | include/proto.h | 1 | ||||
-rw-r--r-- | include/seals.h | 4 |
11 files changed, 602 insertions, 1234 deletions
diff --git a/arm9/asm/pokemon_s.s b/arm9/asm/pokemon_s.s index ecd0ba95..c901ba32 100644 --- a/arm9/asm/pokemon_s.s +++ b/arm9/asm/pokemon_s.s @@ -24,1081 +24,6 @@ UNK_021C5AC0: ; 0x021C5AC0 .text - thumb_func_start SetMonData -SetMonData: ; 0x02067830 - push {r4-r6, lr} - add r5, r0, #0x0 - ldrh r0, [r5, #0x4] - add r4, r1, #0x0 - add r6, r2, #0x0 - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bne _02067886 - add r0, r5, #0x0 - ldr r2, [r5, #0x0] - add r0, #0x88 - mov r1, #0x64 - bl MonDecryptSegment - add r0, r5, #0x0 - ldrh r2, [r5, #0x6] - add r0, #0x8 - mov r1, #0x80 - bl MonDecryptSegment - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl CalcMonChecksum - ldrh r1, [r5, #0x6] - cmp r0, r1 - beq _02067886 - cmp r0, r1 - beq _02067870 - bl ErrorHandling -_02067870: - ldrh r1, [r5, #0x4] - mov r0, #0x4 - orr r0, r1 - strh r0, [r5, #0x4] - ldrh r2, [r5, #0x6] - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl MonEncryptSegment - pop {r4-r6, pc} -_02067886: - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl SetMonDataInternal - ldrh r0, [r5, #0x4] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bne _020678BC - add r0, r5, #0x0 - ldr r2, [r5, #0x0] - add r0, #0x88 - mov r1, #0x64 - bl MonEncryptSegment - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl CalcMonChecksum - strh r0, [r5, #0x6] - add r0, r5, #0x0 - ldrh r2, [r5, #0x6] - add r0, #0x8 - mov r1, #0x80 - bl MonEncryptSegment -_020678BC: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start SetMonDataInternal -SetMonDataInternal: ; 0x020678C0 - push {r3, lr} - add r3, r0, #0x0 - add r0, r1, #0x0 - sub r0, #0x9f - cmp r0, #0xb - bhi _02067958 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020678D8: ; jump table (using 16-bit offset) - .short _020678F0 - _020678D8 - 2; case 0 - .short _020678F8 - _020678D8 - 2; case 1 - .short _02067900 - _020678D8 - 2; case 2 - .short _02067908 - _020678D8 - 2; case 3 - .short _02067910 - _020678D8 - 2; case 4 - .short _02067918 - _020678D8 - 2; case 5 - .short _02067920 - _020678D8 - 2; case 6 - .short _02067928 - _020678D8 - 2; case 7 - .short _02067930 - _020678D8 - 2; case 8 - .short _02067938 - _020678D8 - 2; case 9 - .short _02067940 - _020678D8 - 2; case 10 - .short _0206794C - _020678D8 - 2; case 11 -_020678F0: - ldr r0, [r2, #0x0] - add r3, #0x88 - str r0, [r3, #0x0] - pop {r3, pc} -_020678F8: - ldrb r0, [r2, #0x0] - add r3, #0x8c - strb r0, [r3, #0x0] - pop {r3, pc} -_02067900: - ldrb r0, [r2, #0x0] - add r3, #0x8d - strb r0, [r3, #0x0] - pop {r3, pc} -_02067908: - ldrh r0, [r2, #0x0] - add r3, #0x8e - strh r0, [r3, #0x0] - pop {r3, pc} -_02067910: - ldrh r0, [r2, #0x0] - add r3, #0x90 - strh r0, [r3, #0x0] - pop {r3, pc} -_02067918: - ldrh r0, [r2, #0x0] - add r3, #0x92 - strh r0, [r3, #0x0] - pop {r3, pc} -_02067920: - ldrh r0, [r2, #0x0] - add r3, #0x94 - strh r0, [r3, #0x0] - pop {r3, pc} -_02067928: - ldrh r0, [r2, #0x0] - add r3, #0x96 - strh r0, [r3, #0x0] - pop {r3, pc} -_02067930: - ldrh r0, [r2, #0x0] - add r3, #0x98 - strh r0, [r3, #0x0] - pop {r3, pc} -_02067938: - ldrh r0, [r2, #0x0] - add r3, #0x9a - strh r0, [r3, #0x0] - pop {r3, pc} -_02067940: - add r3, #0x9c - add r0, r2, #0x0 - add r1, r3, #0x0 - bl CopySealsObject - pop {r3, pc} -_0206794C: - add r3, #0xd4 - add r0, r2, #0x0 - add r1, r3, #0x0 - bl FUN_02029C74 - pop {r3, pc} -_02067958: - add r0, r3, #0x0 - bl SetBoxMonData - pop {r3, pc} - - thumb_func_start SetBoxMonDataEncrypted -SetBoxMonDataEncrypted: ; 0x02067960 - push {r4-r6, lr} - add r5, r0, #0x0 - ldrh r0, [r5, #0x4] - add r4, r1, #0x0 - add r6, r2, #0x0 - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - bne _020679AA - ldrh r2, [r5, #0x6] - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl MonDecryptSegment - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl CalcMonChecksum - ldrh r1, [r5, #0x6] - cmp r0, r1 - beq _020679AA - cmp r0, r1 - beq _02067994 - bl ErrorHandling -_02067994: - ldrh r1, [r5, #0x4] - mov r0, #0x4 - orr r0, r1 - strh r0, [r5, #0x4] - ldrh r2, [r5, #0x6] - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl MonEncryptSegment - pop {r4-r6, pc} -_020679AA: - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl SetBoxMonData - ldrh r0, [r5, #0x4] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - bne _020679D4 - add r0, r5, #0x0 - add r0, #0x8 - mov r1, #0x80 - bl CalcMonChecksum - strh r0, [r5, #0x6] - add r0, r5, #0x0 - ldrh r2, [r5, #0x6] - add r0, #0x8 - mov r1, #0x80 - bl MonEncryptSegment -_020679D4: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start SetBoxMonData -SetBoxMonData: ; 0x020679D8 - push {r4-r7, lr} - sub sp, #0x4c - str r1, [sp, #0x4] - add r1, r0, #0x0 - add r4, r2, #0x0 - ldr r1, [r1, #0x0] - str r0, [sp, #0x0] - mov r2, #0x0 - bl GetSubstruct - add r7, r0, #0x0 - ldr r0, [sp, #0x0] - mov r2, #0x1 - add r1, r0, #0x0 - ldr r1, [r1, #0x0] - bl GetSubstruct - add r5, r0, #0x0 - ldr r0, [sp, #0x0] - mov r2, #0x2 - add r1, r0, #0x0 - ldr r1, [r1, #0x0] - bl GetSubstruct - add r6, r0, #0x0 - ldr r0, [sp, #0x0] - mov r2, #0x3 - add r1, r0, #0x0 - ldr r1, [r1, #0x0] - bl GetSubstruct - add r1, r0, #0x0 - ldr r0, [sp, #0x4] - cmp r0, #0xb2 - bls _02067A20 - b _02067FF6 -_02067A20: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02067A2C: ; jump table (using 16-bit offset) - .short _02067B92 - _02067A2C - 2; case 0 - .short _02067B9C - _02067A2C - 2; case 1 - .short _02067BBA - _02067A2C - 2; case 2 - .short _02067BD6 - _02067A2C - 2; case 3 - .short _02067BEE - _02067A2C - 2; case 4 - .short _02067BF8 - _02067A2C - 2; case 5 - .short _02067C00 - _02067A2C - 2; case 6 - .short _02067C08 - _02067A2C - 2; case 7 - .short _02067C10 - _02067A2C - 2; case 8 - .short _02067C18 - _02067A2C - 2; case 9 - .short _02067C20 - _02067A2C - 2; case 10 - .short _02067C28 - _02067A2C - 2; case 11 - .short _02067C30 - _02067A2C - 2; case 12 - .short _02067C38 - _02067A2C - 2; case 13 - .short _02067C40 - _02067A2C - 2; case 14 - .short _02067C48 - _02067A2C - 2; case 15 - .short _02067C50 - _02067A2C - 2; case 16 - .short _02067C58 - _02067A2C - 2; case 17 - .short _02067C60 - _02067A2C - 2; case 18 - .short _02067C68 - _02067A2C - 2; case 19 - .short _02067C70 - _02067A2C - 2; case 20 - .short _02067C78 - _02067A2C - 2; case 21 - .short _02067C80 - _02067A2C - 2; case 22 - .short _02067C88 - _02067A2C - 2; case 23 - .short _02067C90 - _02067A2C - 2; case 24 - .short _02067C98 - _02067A2C - 2; case 25 - .short _02067C98 - _02067A2C - 2; case 26 - .short _02067C98 - _02067A2C - 2; case 27 - .short _02067C98 - _02067A2C - 2; case 28 - .short _02067C98 - _02067A2C - 2; case 29 - .short _02067C98 - _02067A2C - 2; case 30 - .short _02067C98 - _02067A2C - 2; case 31 - .short _02067C98 - _02067A2C - 2; case 32 - .short _02067C98 - _02067A2C - 2; case 33 - .short _02067C98 - _02067A2C - 2; case 34 - .short _02067C98 - _02067A2C - 2; case 35 - .short _02067C98 - _02067A2C - 2; case 36 - .short _02067C98 - _02067A2C - 2; case 37 - .short _02067C98 - _02067A2C - 2; case 38 - .short _02067C98 - _02067A2C - 2; case 39 - .short _02067C98 - _02067A2C - 2; case 40 - .short _02067C98 - _02067A2C - 2; case 41 - .short _02067C98 - _02067A2C - 2; case 42 - .short _02067C98 - _02067A2C - 2; case 43 - .short _02067C98 - _02067A2C - 2; case 44 - .short _02067C98 - _02067A2C - 2; case 45 - .short _02067C98 - _02067A2C - 2; case 46 - .short _02067C98 - _02067A2C - 2; case 47 - .short _02067C98 - _02067A2C - 2; case 48 - .short _02067C98 - _02067A2C - 2; case 49 - .short _02067C98 - _02067A2C - 2; case 50 - .short _02067C98 - _02067A2C - 2; case 51 - .short _02067C98 - _02067A2C - 2; case 52 - .short _02067C98 - _02067A2C - 2; case 53 - .short _02067CC6 - _02067A2C - 2; case 54 - .short _02067CC6 - _02067A2C - 2; case 55 - .short _02067CC6 - _02067A2C - 2; case 56 - .short _02067CC6 - _02067A2C - 2; case 57 - .short _02067CD6 - _02067A2C - 2; case 58 - .short _02067CD6 - _02067A2C - 2; case 59 - .short _02067CD6 - _02067A2C - 2; case 60 - .short _02067CD6 - _02067A2C - 2; case 61 - .short _02067CE6 - _02067A2C - 2; case 62 - .short _02067CE6 - _02067A2C - 2; case 63 - .short _02067CE6 - _02067A2C - 2; case 64 - .short _02067CE6 - _02067A2C - 2; case 65 - .short _02067FF6 - _02067A2C - 2; case 66 - .short _02067FF6 - _02067A2C - 2; case 67 - .short _02067FF6 - _02067A2C - 2; case 68 - .short _02067FF6 - _02067A2C - 2; case 69 - .short _02067CF6 - _02067A2C - 2; case 70 - .short _02067D0A - _02067A2C - 2; case 71 - .short _02067D1E - _02067A2C - 2; case 72 - .short _02067D32 - _02067A2C - 2; case 73 - .short _02067D46 - _02067A2C - 2; case 74 - .short _02067D5A - _02067A2C - 2; case 75 - .short _02067D6E - _02067A2C - 2; case 76 - .short _02067D82 - _02067A2C - 2; case 77 - .short _02067D94 - _02067A2C - 2; case 78 - .short _02067D94 - _02067A2C - 2; case 79 - .short _02067D94 - _02067A2C - 2; case 80 - .short _02067D94 - _02067A2C - 2; case 81 - .short _02067D94 - _02067A2C - 2; case 82 - .short _02067D94 - _02067A2C - 2; case 83 - .short _02067D94 - _02067A2C - 2; case 84 - .short _02067D94 - _02067A2C - 2; case 85 - .short _02067D94 - _02067A2C - 2; case 86 - .short _02067D94 - _02067A2C - 2; case 87 - .short _02067D94 - _02067A2C - 2; case 88 - .short _02067D94 - _02067A2C - 2; case 89 - .short _02067D94 - _02067A2C - 2; case 90 - .short _02067D94 - _02067A2C - 2; case 91 - .short _02067D94 - _02067A2C - 2; case 92 - .short _02067D94 - _02067A2C - 2; case 93 - .short _02067D94 - _02067A2C - 2; case 94 - .short _02067D94 - _02067A2C - 2; case 95 - .short _02067D94 - _02067A2C - 2; case 96 - .short _02067D94 - _02067A2C - 2; case 97 - .short _02067D94 - _02067A2C - 2; case 98 - .short _02067D94 - _02067A2C - 2; case 99 - .short _02067D94 - _02067A2C - 2; case 100 - .short _02067D94 - _02067A2C - 2; case 101 - .short _02067D94 - _02067A2C - 2; case 102 - .short _02067D94 - _02067A2C - 2; case 103 - .short _02067D94 - _02067A2C - 2; case 104 - .short _02067D94 - _02067A2C - 2; case 105 - .short _02067D94 - _02067A2C - 2; case 106 - .short _02067D94 - _02067A2C - 2; case 107 - .short _02067D94 - _02067A2C - 2; case 108 - .short _02067D94 - _02067A2C - 2; case 109 - .short _02067DC2 - _02067A2C - 2; case 110 - .short _02067DD6 - _02067A2C - 2; case 111 - .short _02067DEA - _02067A2C - 2; case 112 - .short _02067DFE - _02067A2C - 2; case 113 - .short _02067E06 - _02067A2C - 2; case 114 - .short _02067FF6 - _02067A2C - 2; case 115 - .short _02067E2C - _02067A2C - 2; case 116 - .short _02067E0E - _02067A2C - 2; case 117 - .short _02067E6C - _02067A2C - 2; case 118 - .short _02067E40 - _02067A2C - 2; case 119 - .short _02067E7A - _02067A2C - 2; case 120 - .short _02067E82 - _02067A2C - 2; case 121 - .short _02067E8A - _02067A2C - 2; case 122 - .short _02067E8A - _02067A2C - 2; case 123 - .short _02067E8A - _02067A2C - 2; case 124 - .short _02067E8A - _02067A2C - 2; case 125 - .short _02067E8A - _02067A2C - 2; case 126 - .short _02067E8A - _02067A2C - 2; case 127 - .short _02067E8A - _02067A2C - 2; case 128 - .short _02067E8A - _02067A2C - 2; case 129 - .short _02067E8A - _02067A2C - 2; case 130 - .short _02067E8A - _02067A2C - 2; case 131 - .short _02067E8A - _02067A2C - 2; case 132 - .short _02067E8A - _02067A2C - 2; case 133 - .short _02067E8A - _02067A2C - 2; case 134 - .short _02067E8A - _02067A2C - 2; case 135 - .short _02067E8A - _02067A2C - 2; case 136 - .short _02067E8A - _02067A2C - 2; case 137 - .short _02067E8A - _02067A2C - 2; case 138 - .short _02067E8A - _02067A2C - 2; case 139 - .short _02067E8A - _02067A2C - 2; case 140 - .short _02067E8A - _02067A2C - 2; case 141 - .short _02067E8A - _02067A2C - 2; case 142 - .short _02067ECE - _02067A2C - 2; case 143 - .short _02067EE2 - _02067A2C - 2; case 144 - .short _02067EEE - _02067A2C - 2; case 145 - .short _02067EF6 - _02067A2C - 2; case 146 - .short _02067EFE - _02067A2C - 2; case 147 - .short _02067F06 - _02067A2C - 2; case 148 - .short _02067F0E - _02067A2C - 2; case 149 - .short _02067F16 - _02067A2C - 2; case 150 - .short _02067F1E - _02067A2C - 2; case 151 - .short _02067F26 - _02067A2C - 2; case 152 - .short _02067F2E - _02067A2C - 2; case 153 - .short _02067F36 - _02067A2C - 2; case 154 - .short _02067F3E - _02067A2C - 2; case 155 - .short _02067F52 - _02067A2C - 2; case 156 - .short _02067F66 - _02067A2C - 2; case 157 - .short _02067F6E - _02067A2C - 2; case 158 - .short _02067FF6 - _02067A2C - 2; case 159 - .short _02067FF6 - _02067A2C - 2; case 160 - .short _02067FF6 - _02067A2C - 2; case 161 - .short _02067FF6 - _02067A2C - 2; case 162 - .short _02067FF6 - _02067A2C - 2; case 163 - .short _02067FF6 - _02067A2C - 2; case 164 - .short _02067FF6 - _02067A2C - 2; case 165 - .short _02067FF6 - _02067A2C - 2; case 166 - .short _02067FF6 - _02067A2C - 2; case 167 - .short _02067FF6 - _02067A2C - 2; case 168 - .short _02067FF6 - _02067A2C - 2; case 169 - .short _02067FF6 - _02067A2C - 2; case 170 - .short _02067FF6 - _02067A2C - 2; case 171 - .short _02067FF6 - _02067A2C - 2; case 172 - .short _02067FF6 - _02067A2C - 2; case 173 - .short _02067F76 - _02067A2C - 2; case 174 - .short _02067FF6 - _02067A2C - 2; case 175 - .short _02067FF6 - _02067A2C - 2; case 176 - .short _02067FF6 - _02067A2C - 2; case 177 - .short _02067FDE - _02067A2C - 2; case 178 -_02067B92: - ldr r0, [sp, #0x0] - ldr r1, [r4, #0x0] - add sp, #0x4c - str r1, [r0, #0x0] - pop {r4-r7, pc} -_02067B9C: - bl ErrorHandling - ldr r0, [sp, #0x0] - ldrb r1, [r4, #0x0] - ldrh r2, [r0, #0x4] - mov r0, #0x1 - bic r2, r0 - mov r0, #0x1 - and r0, r1 - add r1, r2, #0x0 - orr r1, r0 - ldr r0, [sp, #0x0] - add sp, #0x4c - strh r1, [r0, #0x4] - pop {r4-r7, pc} -_02067BBA: - bl ErrorHandling - ldr r0, [sp, #0x0] - ldrh r1, [r0, #0x4] - mov r0, #0x2 - bic r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1e - orr r1, r0 - ldr r0, [sp, #0x0] - add sp, #0x4c - strh r1, [r0, #0x4] - pop {r4-r7, pc} -_02067BD6: - ldr r0, [sp, #0x0] - ldrh r1, [r0, #0x4] - mov r0, #0x4 - bic r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1d - orr r1, r0 - ldr r0, [sp, #0x0] - add sp, #0x4c - strh r1, [r0, #0x4] - pop {r4-r7, pc} -_02067BEE: - ldrh r1, [r4, #0x0] - ldr r0, [sp, #0x0] - add sp, #0x4c - strh r1, [r0, #0x6] - pop {r4-r7, pc} -_02067BF8: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r7, #0x0] - pop {r4-r7, pc} -_02067C00: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r7, #0x2] - pop {r4-r7, pc} -_02067C08: - ldr r0, [r4, #0x0] - add sp, #0x4c - str r0, [r7, #0x4] - pop {r4-r7, pc} -_02067C10: - ldr r0, [r4, #0x0] - add sp, #0x4c - str r0, [r7, #0x8] - pop {r4-r7, pc} -_02067C18: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0xc] - pop {r4-r7, pc} -_02067C20: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0xd] - pop {r4-r7, pc} -_02067C28: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0xe] - pop {r4-r7, pc} -_02067C30: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0xf] - pop {r4-r7, pc} -_02067C38: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x10] - pop {r4-r7, pc} -_02067C40: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x11] - pop {r4-r7, pc} -_02067C48: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x12] - pop {r4-r7, pc} -_02067C50: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x13] - pop {r4-r7, pc} -_02067C58: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x14] - pop {r4-r7, pc} -_02067C60: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x15] - pop {r4-r7, pc} -_02067C68: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x16] - pop {r4-r7, pc} -_02067C70: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x17] - pop {r4-r7, pc} -_02067C78: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x18] - pop {r4-r7, pc} -_02067C80: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x19] - pop {r4-r7, pc} -_02067C88: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x1a] - pop {r4-r7, pc} -_02067C90: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r7, #0x1b] - pop {r4-r7, pc} -_02067C98: - ldrb r4, [r4, #0x0] - ldr r2, [sp, #0x4] - mov r1, #0x0 - sub r2, #0x19 - add r0, r4, #0x0 - str r2, [sp, #0x4] - bl _ll_shl - cmp r4, #0x0 - beq _02067CB6 - ldr r1, [r7, #0x1c] - add sp, #0x4c - orr r0, r1 - str r0, [r7, #0x1c] - pop {r4-r7, pc} -_02067CB6: - mov r1, #0x0 - sub r1, r1, #0x1 - ldr r2, [r7, #0x1c] - eor r0, r1 - and r0, r2 - add sp, #0x4c - str r0, [r7, #0x1c] - pop {r4-r7, pc} -_02067CC6: - ldr r0, [sp, #0x4] - ldrh r1, [r4, #0x0] - sub r0, #0x36 - str r0, [sp, #0x4] - lsl r0, r0, #0x1 - add sp, #0x4c - strh r1, [r5, r0] - pop {r4-r7, pc} -_02067CD6: - ldr r0, [sp, #0x4] - ldrb r1, [r4, #0x0] - sub r0, #0x3a - str r0, [sp, #0x4] - add r0, r5, r0 - strb r1, [r0, #0x8] - add sp, #0x4c - pop {r4-r7, pc} -_02067CE6: - ldr r0, [sp, #0x4] - ldrb r1, [r4, #0x0] - sub r0, #0x3e - str r0, [sp, #0x4] - add r0, r5, r0 - strb r1, [r0, #0xc] - add sp, #0x4c - pop {r4-r7, pc} -_02067CF6: - ldr r2, [r5, #0x10] - mov r0, #0x1f - bic r2, r0 - ldrb r1, [r4, #0x0] - mov r0, #0x1f - add sp, #0x4c - and r0, r1 - orr r0, r2 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D0A: - ldr r1, [r5, #0x10] - ldr r0, _02067FFC ; =0xFFFFFC1F - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x16 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D1E: - ldr r1, [r5, #0x10] - ldr r0, _02068000 ; =0xFFFF83FF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x11 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D32: - ldr r1, [r5, #0x10] - ldr r0, _02068004 ; =0xFFF07FFF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0xc - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D46: - ldr r1, [r5, #0x10] - ldr r0, _02068008 ; =0xFE0FFFFF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x7 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D5A: - ldr r1, [r5, #0x10] - ldr r0, _0206800C ; =0xC1FFFFFF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x2 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D6E: - ldr r1, [r5, #0x10] - ldr r0, _02068010 ; =0xBFFFFFFF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D82: - ldr r1, [r5, #0x10] - ldr r0, _02068014 ; =0x7FFFFFFF - add sp, #0x4c - and r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1f - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067D94: - ldrb r4, [r4, #0x0] - ldr r2, [sp, #0x4] - mov r1, #0x0 - sub r2, #0x4e - add r0, r4, #0x0 - str r2, [sp, #0x4] - bl _ll_shl - cmp r4, #0x0 - beq _02067DB2 - ldr r1, [r5, #0x14] - add sp, #0x4c - orr r0, r1 - str r0, [r5, #0x14] - pop {r4-r7, pc} -_02067DB2: - mov r1, #0x0 - sub r1, r1, #0x1 - ldr r2, [r5, #0x14] - eor r0, r1 - and r0, r2 - add sp, #0x4c - str r0, [r5, #0x14] - pop {r4-r7, pc} -_02067DC2: - ldrb r2, [r5, #0x18] - ldrb r1, [r4, #0x0] - mov r0, #0x1 - bic r2, r0 - mov r0, #0x1 - and r0, r1 - orr r0, r2 - add sp, #0x4c - strb r0, [r5, #0x18] - pop {r4-r7, pc} -_02067DD6: - ldrb r1, [r5, #0x18] - mov r0, #0x6 - add sp, #0x4c - bic r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1d - orr r0, r1 - strb r0, [r5, #0x18] - pop {r4-r7, pc} -_02067DEA: - ldrb r1, [r5, #0x18] - mov r0, #0xf8 - add sp, #0x4c - bic r1, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x18 - orr r0, r1 - strb r0, [r5, #0x18] - pop {r4-r7, pc} -_02067DFE: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r5, #0x19] - pop {r4-r7, pc} -_02067E06: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r5, #0x1a] - pop {r4-r7, pc} -_02067E0E: - ldrh r0, [r7, #0x0] - mov r1, #0x0 - add r2, sp, #0x34 - bl GetSpeciesName - add r0, sp, #0x34 - add r1, r4, #0x0 - bl StringNotEqual - ldr r2, [r5, #0x10] - ldr r1, _02068014 ; =0x7FFFFFFF - lsl r0, r0, #0x1f - and r1, r2 - orr r0, r1 - str r0, [r5, #0x10] -_02067E2C: - mov r1, #0x0 -_02067E2E: - ldrh r0, [r4, #0x0] - add r1, r1, #0x1 - add r4, r4, #0x2 - strh r0, [r6, #0x0] - add r6, r6, #0x2 - cmp r1, #0xb - blo _02067E2E - add sp, #0x4c - pop {r4-r7, pc} -_02067E40: - ldrh r0, [r7, #0x0] - add r2, sp, #0x1c - mov r1, #0x0 - add r2, #0x2 - bl GetSpeciesName - add r0, r4, #0x0 - add r1, sp, #0x8 - mov r2, #0xb - bl FUN_02021EF0 - add r0, sp, #0x1c - add r0, #0x2 - add r1, sp, #0x8 - bl StringNotEqual - ldr r2, [r5, #0x10] - ldr r1, _02068014 ; =0x7FFFFFFF - lsl r0, r0, #0x1f - and r1, r2 - orr r0, r1 - str r0, [r5, #0x10] -_02067E6C: - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r2, #0xb - bl FUN_02021EF0 - add sp, #0x4c - pop {r4-r7, pc} -_02067E7A: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r6, #0x16] - pop {r4-r7, pc} -_02067E82: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r6, #0x17] - pop {r4-r7, pc} -_02067E8A: - ldrb r4, [r4, #0x0] - ldr r2, [sp, #0x4] - mov r1, #0x0 - sub r2, #0x7a - add r0, r4, #0x0 - str r2, [sp, #0x4] - bl _ll_shl - cmp r4, #0x0 - beq _02067EB2 - add r4, r6, #0x0 - add r4, #0x18 - ldr r3, [r6, #0x18] - ldr r2, [r4, #0x4] - orr r0, r3 - orr r1, r2 - str r0, [r6, #0x18] - add sp, #0x4c - str r1, [r4, #0x4] - pop {r4-r7, pc} -_02067EB2: - add r4, r6, #0x0 - mov r5, #0x0 - mvn r5, r5 - add r4, #0x18 - ldr r3, [r6, #0x18] - eor r0, r5 - ldr r2, [r4, #0x4] - eor r1, r5 - and r0, r3 - and r1, r2 - str r0, [r6, #0x18] - add sp, #0x4c - str r1, [r4, #0x4] - pop {r4-r7, pc} -_02067ECE: - mov r2, #0x0 -_02067ED0: - ldrh r0, [r4, #0x0] - add r2, r2, #0x1 - add r4, r4, #0x2 - strh r0, [r1, #0x0] - add r1, r1, #0x2 - cmp r2, #0x8 - blo _02067ED0 - add sp, #0x4c - pop {r4-r7, pc} -_02067EE2: - add r0, r4, #0x0 - mov r2, #0x8 - bl FUN_02021EF0 - add sp, #0x4c - pop {r4-r7, pc} -_02067EEE: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x10] - pop {r4-r7, pc} -_02067EF6: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x11] - pop {r4-r7, pc} -_02067EFE: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x12] - pop {r4-r7, pc} -_02067F06: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x13] - pop {r4-r7, pc} -_02067F0E: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x14] - pop {r4-r7, pc} -_02067F16: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x15] - pop {r4-r7, pc} -_02067F1E: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r1, #0x16] - pop {r4-r7, pc} -_02067F26: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r1, #0x18] - pop {r4-r7, pc} -_02067F2E: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x1a] - pop {r4-r7, pc} -_02067F36: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x1b] - pop {r4-r7, pc} -_02067F3E: - ldrb r3, [r1, #0x1c] - ldrb r2, [r4, #0x0] - mov r0, #0x7f - bic r3, r0 - mov r0, #0x7f - and r0, r2 - orr r0, r3 - strb r0, [r1, #0x1c] - add sp, #0x4c - pop {r4-r7, pc} -_02067F52: - ldrb r2, [r1, #0x1c] - mov r0, #0x80 - add sp, #0x4c - bic r2, r0 - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x18 - orr r0, r2 - strb r0, [r1, #0x1c] - pop {r4-r7, pc} -_02067F66: - ldrb r0, [r4, #0x0] - add sp, #0x4c - strb r0, [r1, #0x1d] - pop {r4-r7, pc} -_02067F6E: - ldrh r0, [r4, #0x0] - add sp, #0x4c - strh r0, [r1, #0x1e] - pop {r4-r7, pc} -_02067F76: - ldr r2, [r5, #0x10] - mov r0, #0x1f - bic r2, r0 - ldr r1, [r4, #0x0] - mov r0, #0x1f - and r1, r0 - and r0, r1 - add r1, r2, #0x0 - orr r1, r0 - ldr r0, _02067FFC ; =0xFFFFFC1F - str r1, [r5, #0x10] - and r1, r0 - ldr r0, [r4, #0x0] - add sp, #0x4c - lsr r0, r0, #0x5 - lsl r0, r0, #0x1b - lsr r0, r0, #0x16 - orr r1, r0 - ldr r0, _02068000 ; =0xFFFF83FF - str r1, [r5, #0x10] - and r1, r0 - ldr r0, [r4, #0x0] - lsr r0, r0, #0xa - lsl r0, r0, #0x1b - lsr r0, r0, #0x11 - orr r1, r0 - ldr r0, _02068004 ; =0xFFF07FFF - str r1, [r5, #0x10] - and r1, r0 - ldr r0, [r4, #0x0] - lsr r0, r0, #0xf - lsl r0, r0, #0x1b - lsr r0, r0, #0xc - orr r1, r0 - ldr r0, _02068008 ; =0xFE0FFFFF - str r1, [r5, #0x10] - and r1, r0 - ldr r0, [r4, #0x0] - lsr r0, r0, #0x14 - lsl r0, r0, #0x1b - lsr r0, r0, #0x7 - orr r1, r0 - ldr r0, _0206800C ; =0xC1FFFFFF - str r1, [r5, #0x10] - and r1, r0 - ldr r0, [r4, #0x0] - lsr r0, r0, #0x19 - lsl r0, r0, #0x1b - lsr r0, r0, #0x2 - orr r0, r1 - str r0, [r5, #0x10] - pop {r4-r7, pc} -_02067FDE: - ldrh r0, [r7, #0x0] - mov r1, #0x0 - bl FUN_0200AA50 - add r4, r0, #0x0 - add r1, r6, #0x0 - mov r2, #0xb - bl FUN_02021EF0 - add r0, r4, #0x0 - bl FUN_02021A20 -_02067FF6: - add sp, #0x4c - pop {r4-r7, pc} - nop -_02067FFC: .word 0xFFFFFC1F -_02068000: .word 0xFFFF83FF -_02068004: .word 0xFFF07FFF -_02068008: .word 0xFE0FFFFF -_0206800C: .word 0xC1FFFFFF -_02068010: .word 0xBFFFFFFF -_02068014: .word 0x7FFFFFFF - thumb_func_start AddMonPartyStatEncrypted AddMonPartyStatEncrypted: ; 0x02068018 push {r4-r6, lr} @@ -4317,17 +3242,17 @@ _0206978A: ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, #0x36 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, r7, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e add r2, r6, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData ldr r0, [sp, #0x8] add r4, r4, #0x1 add r0, r0, #0x2 @@ -4359,7 +3284,7 @@ FUN_020697D4: ; 0x020697D4 add r1, #0x36 add r2, sp, #0x14 add r5, r0, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e @@ -4376,7 +3301,7 @@ FUN_020697D4: ; 0x020697D4 add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData pop {r3-r5} pop {r3} add sp, #0x10 @@ -4540,35 +3465,35 @@ FUN_020698E8: ; 0x020698E8 add r0, r5, #0x0 add r1, #0x36 add r2, #0x2 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r4, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x3 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r4, #0x3e add r2, sp, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, #0x1 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x36 add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r6, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x2 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r6, #0x3e add r0, r5, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x8 pop {r4-r6, pc} .balign 4 @@ -5304,7 +4229,7 @@ FUN_02069ECC: ; 0x02069ECC add r0, r5, #0x0 mov r1, #0x70 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _02069F1C: add sp, #0x4 pop {r3-r6, pc} @@ -5497,15 +4422,15 @@ FUN_0206A054: ; 0x0206A054 ldr r2, _0206A090 ; =gGameVersion add r0, r4, #0x0 mov r1, #0x79 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x9a add r2, sp, #0x18 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x9d add r2, sp, #0x20 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x4 pop {r3-r4} pop {r3} @@ -5712,19 +4637,19 @@ FUN_0206A1CC: ; 0x0206A1CC add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData b _0206A230 _0206A21A: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData b _0206A230 _0206A226: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _0206A230: add r0, r5, #0x0 add r1, r7, #0x0 @@ -7034,7 +5959,7 @@ _0206AAC6: add r0, r5, #0x0 add r1, #0x3a add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _0206AAF0: add r4, r4, #0x1 cmp r4, #0x4 diff --git a/arm9/asm/unk_0206B16C.s b/arm9/asm/unk_0206B16C.s index 3d75fe2c..f454c441 100644 --- a/arm9/asm/unk_0206B16C.s +++ b/arm9/asm/unk_0206B16C.s @@ -635,7 +635,7 @@ _0206B5C4: add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData bl FUN_02022830 pop {r3-r7, pc} .balign 4 diff --git a/arm9/asm/unk_0207FD00.s b/arm9/asm/unk_0207FD00.s index 8103e3c4..1f17ee0a 100644 --- a/arm9/asm/unk_0207FD00.s +++ b/arm9/asm/unk_0207FD00.s @@ -1662,7 +1662,7 @@ _02080A66: add r0, r4, #0x0 mov r1, #0x97 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x94 mov r2, #0x0 @@ -1671,7 +1671,7 @@ _02080A66: add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x95 mov r2, #0x0 @@ -1680,7 +1680,7 @@ _02080A66: add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x96 mov r2, #0x0 @@ -1689,7 +1689,7 @@ _02080A66: add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _02080ACC: add r0, r4, #0x0 add r1, r5, #0x0 @@ -1723,15 +1723,15 @@ FUN_02080AE4: ; 0x02080AE4 add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x9c add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x90 add r2, r4, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x8 @@ -1751,19 +1751,19 @@ FUN_02080B30: ; 0x02080B30 bne _02080B76 add r0, r5, #0x0 mov r1, #0x97 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x92 add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x93 add r2, sp, #0x8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x10 pop {r3-r5} pop {r3} @@ -1772,19 +1772,19 @@ FUN_02080B30: ; 0x02080B30 _02080B76: add r0, r5, #0x0 mov r1, #0x98 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x95 add r2, sp, #0x4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r5, #0x0 mov r1, #0x96 add r2, sp, #0x8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x10 pop {r3-r5} pop {r3} @@ -1803,36 +1803,36 @@ FUN_02080BA8: ; 0x02080BA8 add r2, sp, #0x0 bne _02080BE0 mov r1, #0x97 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x4 pop {r3-r4, pc} _02080BE0: mov r1, #0x98 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x95 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0x0 mov r1, #0x96 add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x4 pop {r3-r4, pc} @@ -1848,7 +1848,7 @@ FUN_02080C08: ; 0x02080C08 add r0, r4, #0x0 mov r1, #0x9b add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add sp, #0x4 pop {r3-r4, pc} .balign 4 @@ -1860,5 +1860,5 @@ FUN_02080C28: ; 0x02080C28 str r1, [sp, #0x0] mov r1, #0x6e add r2, sp, #0x0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData pop {r3, pc} diff --git a/arm9/global.inc b/arm9/global.inc index c35613ab..f7346352 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -4722,7 +4722,7 @@ .extern GetMonData
.extern GetBoxMonData
.extern SetMonData
-.extern SetBoxMonDataEncrypted
+.extern SetBoxMonData
.extern AddMonPartyStatEncrypted
.extern AllocAndLoadMonPersonal
.extern GetPersonalAttr
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 442a394e..cb8c25bd 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -43401,7 +43401,7 @@ MOD05_021EC744: ; 0x021EC744 add r0, r4, #0 mov r1, #8 add r2, sp, #0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0 bl CalcBoxMonLevelEncrypted add r4, r0, #0 diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s index 7b09367a..e8b7dfbc 100644 --- a/arm9/modules/14/asm/module_14.s +++ b/arm9/modules/14/asm/module_14.s @@ -9557,7 +9557,7 @@ MOD14_021DC1AC: ; 0x021DC1AC ldr r0, [r4, #0x4c] mov r1, #0xb add r2, sp, #0 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0 bl MOD14_021DC3CC cmp r0, #0 @@ -9623,7 +9623,7 @@ _021DC24A: ldr r0, [r4] mov r1, #6 add r2, sp, #0x1c - bl SetBoxMonDataEncrypted + bl SetBoxMonData _021DC254: ldr r0, [r4] mov r1, #5 diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s index 21f1b081..1dbf90c3 100644 --- a/arm9/modules/83/asm/module_83.s +++ b/arm9/modules/83/asm/module_83.s @@ -21876,7 +21876,7 @@ MOD83_02237F6C: ; 0x02237F6C add r0, r4, #0 mov r1, #0 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0xb mov r2, #0 @@ -21887,7 +21887,7 @@ MOD83_02237F6C: ; 0x02237F6C add r0, r4, #0 mov r1, #5 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0xc mov r2, #0 @@ -21903,7 +21903,7 @@ _02237FCE: add r0, r4, #0 mov r1, #6 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #1 mov r2, #0 @@ -21912,7 +21912,7 @@ _02237FCE: add r0, r4, #0 mov r1, #7 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x19 mov r2, #0 @@ -21921,13 +21921,13 @@ _02237FCE: add r0, r4, #0 mov r1, #8 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData mov r0, #0x46 str r0, [sp, #8] add r0, r4, #0 mov r1, #9 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 add r1, r4, #0 bl MOD83_02237F04 @@ -21935,7 +21935,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xa add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #8 mov r2, #0 @@ -21944,7 +21944,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xb add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #3 mov r2, #0 @@ -21953,7 +21953,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xc add r2, sp, #4 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1a mov r2, #0 @@ -21962,7 +21962,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xd add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1b mov r2, #0 @@ -21971,7 +21971,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xe add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1c mov r2, #0 @@ -21980,7 +21980,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xf add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1d mov r2, #0 @@ -21989,7 +21989,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x10 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1e mov r2, #0 @@ -21998,7 +21998,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x11 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x1f mov r2, #0 @@ -22007,7 +22007,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x12 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x16 mov r2, #0 @@ -22016,7 +22016,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x13 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x17 mov r2, #0 @@ -22025,7 +22025,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x14 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x18 mov r2, #0 @@ -22034,7 +22034,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x15 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x21 mov r2, #0 @@ -22043,7 +22043,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x16 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x2f mov r2, #0 @@ -22052,7 +22052,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x17 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x30 mov r2, #0 @@ -22061,7 +22061,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x18 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData mov r5, #0 add r7, r5, #0 _0223815E: @@ -22075,7 +22075,7 @@ _0223815E: add r0, r4, #0 add r1, #0x36 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x15 mov r2, #0 @@ -22090,7 +22090,7 @@ _0223815E: add r0, r4, #0 add r1, #0x3e add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r1, r5, #0 add r0, r4, #0 add r1, #0x42 @@ -22101,7 +22101,7 @@ _0223815E: add r0, r4, #0 add r1, #0x3a add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 add r7, r7, #2 cmp r5, #4 @@ -22114,7 +22114,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x46 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x28 mov r2, #0 @@ -22123,7 +22123,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x47 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x29 mov r2, #0 @@ -22132,7 +22132,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x48 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x2a mov r2, #0 @@ -22141,7 +22141,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x49 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x2b mov r2, #0 @@ -22150,7 +22150,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4a add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x2c mov r2, #0 @@ -22159,7 +22159,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4b add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x2d mov r2, #0 @@ -22168,7 +22168,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4c add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x32 mov r2, #0 @@ -22186,7 +22186,7 @@ _0223826C: add r0, r4, #0 add r1, #0x4e add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 cmp r5, r7 blt _0223826C @@ -22208,7 +22208,7 @@ _02238298: add r0, r4, #0 add r1, #0x52 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 cmp r5, r7 blt _02238298 @@ -22230,7 +22230,7 @@ _022382C4: add r0, r4, #0 add r1, #0x56 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 cmp r5, r7 blt _022382C4 @@ -22252,7 +22252,7 @@ _022382F0: add r0, r4, #0 add r1, #0x5a add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 cmp r5, r7 blt _022382F0 @@ -22274,7 +22274,7 @@ _0223831C: add r0, r4, #0 add r1, #0x5e add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r5, r5, #1 cmp r5, r7 blt _0223831C @@ -22287,7 +22287,7 @@ _02238332: add r0, r4, #0 mov r1, #0x62 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x44 mov r2, #0 @@ -22296,7 +22296,7 @@ _02238332: add r0, r4, #0 mov r1, #0x63 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x45 mov r2, #0 @@ -22305,7 +22305,7 @@ _02238332: add r0, r4, #0 mov r1, #0x64 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x46 mov r2, #0 @@ -22314,7 +22314,7 @@ _02238332: add r0, r4, #0 mov r1, #0x65 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x47 mov r2, #0 @@ -22323,7 +22323,7 @@ _02238332: add r0, r4, #0 mov r1, #0x66 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x48 mov r2, #0 @@ -22332,7 +22332,7 @@ _02238332: add r0, r4, #0 mov r1, #0x67 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x49 mov r2, #0 @@ -22341,7 +22341,7 @@ _02238332: add r0, r4, #0 mov r1, #0x68 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x4a mov r2, #0 @@ -22350,7 +22350,7 @@ _02238332: add r0, r4, #0 mov r1, #0x69 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x4b mov r2, #0 @@ -22359,7 +22359,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6a add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x4c mov r2, #0 @@ -22368,7 +22368,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6b add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x4d mov r2, #0 @@ -22377,7 +22377,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6c add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x4e mov r2, #0 @@ -22386,7 +22386,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6d add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x50 mov r2, #0 @@ -22395,14 +22395,14 @@ _02238332: add r0, r4, #0 mov r1, #0x6e add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0 bl GetBoxMonGenderEncrypted str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6f add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r4, #0 mov r1, #5 mov r2, #0 @@ -22436,7 +22436,7 @@ _02238332: add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _022384AE: add r0, r4, #0 mov r1, #5 @@ -22481,7 +22481,7 @@ _022384F4: add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _022384FE: add r0, r6, #0 mov r1, #2 @@ -22495,7 +22495,7 @@ _022384FE: add r0, r4, #0 mov r1, #0x75 add r2, sp, #0xc - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #3 mov r2, #0 @@ -22509,7 +22509,7 @@ _022384FE: add r0, r4, #0 mov r1, #0x4d add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData _0223853E: add r0, r6, #0 mov r1, #0x25 @@ -22519,7 +22519,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x79 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #7 add r2, sp, #0x24 @@ -22532,7 +22532,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x8f add r2, sp, #0xc - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x23 mov r2, #0 @@ -22541,7 +22541,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x98 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x22 mov r2, #0 @@ -22550,7 +22550,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x99 add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x26 mov r2, #0 @@ -22559,7 +22559,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9a add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x24 mov r2, #0 @@ -22568,7 +22568,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9b add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData add r0, r6, #0 mov r1, #0x31 mov r2, #0 @@ -22577,7 +22577,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9c add r2, sp, #8 - bl SetBoxMonDataEncrypted + bl SetBoxMonData ldr r1, [sp] add r0, r4, #0 bl TryEncryptBoxMon diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c index 43404100..c1f69ded 100644 --- a/arm9/src/pokemon.c +++ b/arm9/src/pokemon.c @@ -29,6 +29,7 @@ int ApplyNatureModToStat(u8 nature, u16 statval, u32 statno); #define ENCRYPT_BOX(boxmon) MonEncryptSegment(ENCRY_ARGS_BOX(boxmon)) #define DECRYPT_PTY(mon) MonDecryptSegment(ENCRY_ARGS_PTY(mon)) #define DECRYPT_BOX(boxmon) MonDecryptSegment(ENCRY_ARGS_BOX(boxmon)) +#define CHECKSUM(boxmon) CalcMonChecksum((boxmon)->substructs, sizeof((boxmon)->substructs)) #define SHINY_CHECK(otid, pid) (( \ ((((otid) & 0xFFFF0000u) >> 16u)) ^ \ (((otid) & 0xFFFFu)) ^ \ @@ -183,7 +184,7 @@ BOOL TryEncryptMon(struct Pokemon * mon, BOOL decrypt_result) mon->box.party_lock = FALSE; mon->box.box_lock = FALSE; ENCRYPT_PTY(mon); - mon->box.checksum = CalcMonChecksum(&mon->box.substructs, sizeof(mon->box.substructs)); + mon->box.checksum = CHECKSUM(&mon->box); ENCRYPT_BOX(&mon->box); } return ret; @@ -209,7 +210,7 @@ BOOL TryEncryptBoxMon(struct BoxPokemon * mon, BOOL decrypt_result) { ret = TRUE; mon->box_lock = FALSE; - mon->checksum = CalcMonChecksum(&mon->substructs, sizeof(mon->substructs)); + mon->checksum = CHECKSUM(mon); ENCRYPT_BOX(mon); } return ret; @@ -247,7 +248,7 @@ void CreateBoxMon(struct BoxPokemon * boxPokemon, int species, int level, int fi { fixedPersonality = (rand_LC() | (rand_LC() << 16)); } - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_PERSONALITY, &fixedPersonality); + SetBoxMonData(boxPokemon, MON_DATA_PERSONALITY, &fixedPersonality); if (otIdType == 2) { do @@ -257,57 +258,57 @@ void CreateBoxMon(struct BoxPokemon * boxPokemon, int species, int level, int fi } else if (otIdType != 1) fixedOtId = 0; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_OTID, &fixedOtId); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_GAME_LANGUAGE, &gGameLanguage); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPECIES, &species); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPECIES_NAME, NULL); + SetBoxMonData(boxPokemon, MON_DATA_OTID, &fixedOtId); + SetBoxMonData(boxPokemon, MON_DATA_GAME_LANGUAGE, (void *)&gGameLanguage); + SetBoxMonData(boxPokemon, MON_DATA_SPECIES, &species); + SetBoxMonData(boxPokemon, MON_DATA_SPECIES_NAME, NULL); exp = GetMonExpBySpeciesAndLevel(species, level); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_EXPERIENCE, &exp); + SetBoxMonData(boxPokemon, MON_DATA_EXPERIENCE, &exp); exp = GetMonBaseStat(species, BASE_FRIENDSHIP); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_FRIENDSHIP, &exp); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_MET_LEVEL, &level); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_GAME_VERSION, &gGameVersion); + SetBoxMonData(boxPokemon, MON_DATA_FRIENDSHIP, &exp); + SetBoxMonData(boxPokemon, MON_DATA_MET_LEVEL, &level); + SetBoxMonData(boxPokemon, MON_DATA_GAME_VERSION, (void *)&gGameVersion); exp = 4; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_POKEBALL, &exp); + SetBoxMonData(boxPokemon, MON_DATA_POKEBALL, &exp); if (fixedIV < 0x20) { - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_HP_IV, &fixedIV); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_ATK_IV, &fixedIV); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_DEF_IV, &fixedIV); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPEED_IV, &fixedIV); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPATK_IV, &fixedIV); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPDEF_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_HP_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_ATK_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_DEF_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_SPEED_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_SPATK_IV, &fixedIV); + SetBoxMonData(boxPokemon, MON_DATA_SPDEF_IV, &fixedIV); } else { exp = rand_LC(); iv = exp & 0x1F; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_HP_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_HP_IV, &iv); iv = (exp & 0x3E0) >> 5; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_ATK_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_ATK_IV, &iv); iv = (exp & 0x7C00) >> 10; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_DEF_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_DEF_IV, &iv); exp = rand_LC(); iv = exp & 0x1F; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPEED_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_SPEED_IV, &iv); iv = (exp & 0x3E0) >> 5; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPATK_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_SPATK_IV, &iv); iv = (exp & 0x7C00) >> 10; - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_SPDEF_IV, &iv); + SetBoxMonData(boxPokemon, MON_DATA_SPDEF_IV, &iv); } exp = GetMonBaseStat(species, BASE_ABILITY_1); iv = GetMonBaseStat(species, BASE_ABILITY_2); if (iv != 0) { if (fixedPersonality & 1) - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_ABILITY, &iv); + SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &iv); else - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_ABILITY, &exp); + SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &exp); } else - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_ABILITY, &exp); + SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &exp); exp = GetBoxMonGenderEncrypted(boxPokemon); - SetBoxMonDataEncrypted(boxPokemon, MON_DATA_GENDER, &exp); + SetBoxMonData(boxPokemon, MON_DATA_GENDER, &exp); InitBoxMonMoveset(boxPokemon); TryEncryptBoxMon(boxPokemon, decry); } @@ -480,7 +481,7 @@ u32 GetMonData(struct Pokemon * pokemon, int attr, void * dest) { DECRYPT_PTY(pokemon); DECRYPT_BOX(&pokemon->box); - checksum = CalcMonChecksum(&pokemon->box.substructs, sizeof(pokemon->box.substructs)); + checksum = CHECKSUM(&pokemon->box); if (checksum != pokemon->box.checksum) { GF_ASSERT(checksum == pokemon->box.checksum); @@ -538,7 +539,7 @@ u32 GetBoxMonData(struct BoxPokemon * boxmon, int attr, void * dest) if (!boxmon->box_lock) { DECRYPT_BOX(boxmon); - checksum = CalcMonChecksum(&boxmon->substructs, sizeof(boxmon->substructs)); + checksum = CHECKSUM(boxmon); if (checksum != boxmon->checksum) { GF_ASSERT(checksum == boxmon->checksum); @@ -707,29 +708,25 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) case MON_DATA_MOVE2: case MON_DATA_MOVE3: case MON_DATA_MOVE4: - attr -= MON_DATA_MOVE1; - ret = blockB->moves[attr]; + ret = blockB->moves[attr - MON_DATA_MOVE1]; break; case MON_DATA_MOVE1PP: case MON_DATA_MOVE2PP: case MON_DATA_MOVE3PP: case MON_DATA_MOVE4PP: - attr -= MON_DATA_MOVE1PP; - ret = blockB->movePP[attr]; + ret = blockB->movePP[attr - MON_DATA_MOVE1PP]; break; case MON_DATA_MOVE1PPUP: case MON_DATA_MOVE2PPUP: case MON_DATA_MOVE3PPUP: case MON_DATA_MOVE4PPUP: - attr -= MON_DATA_MOVE1PPUP; - ret = blockB->movePpUps[attr]; + ret = blockB->movePpUps[attr - MON_DATA_MOVE1PPUP]; break; case MON_DATA_MOVE1MAXPP: case MON_DATA_MOVE2MAXPP: case MON_DATA_MOVE3MAXPP: case MON_DATA_MOVE4MAXPP: - attr -= MON_DATA_MOVE1MAXPP; - ret = FUN_0206AB30(blockB->moves[attr], blockB->movePpUps[attr]); + ret = FUN_0206AB30(blockB->moves[attr - MON_DATA_MOVE1MAXPP], blockB->movePpUps[attr - MON_DATA_MOVE1MAXPP]); break; case MON_DATA_HP_IV: ret = blockB->hpIV; @@ -822,10 +819,10 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) dest16[ret] = EOS; } break; - case MON_DATA_NICKNAME_3: + case MON_DATA_NICKNAME_4: ret = blockB->isNicknamed; // fallthrough - case MON_DATA_NICKNAME_2: + case MON_DATA_NICKNAME_3: if (boxmon->checksum_fail) { u16 * buffer = FUN_0200AA50(SPECIES_MANAPHY_EGG, 0); @@ -951,3 +948,448 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) } return ret; } + +void SetMonData(struct Pokemon * pokemon, int attr, void * value) +{ + u16 checksum; + if (!pokemon->box.party_lock) + { + DECRYPT_PTY(pokemon); + DECRYPT_BOX(&pokemon->box); + checksum = CHECKSUM(&pokemon->box); + if (checksum != pokemon->box.checksum) + { + GF_ASSERT(checksum == pokemon->box.checksum); + pokemon->box.checksum_fail = TRUE; + ENCRYPT_BOX(&pokemon->box); + return; + } + } + SetMonDataInternal(pokemon, attr, value); + if (!pokemon->box.party_lock) + { + ENCRYPT_PTY(pokemon); + pokemon->box.checksum = CHECKSUM(&pokemon->box); + ENCRYPT_BOX(&pokemon->box); + } +} + +void SetMonDataInternal(struct Pokemon * pokemon, int attr, void * value) +{ +#define VALUE(type) (*(const type *)value) + switch (attr) + { + case MON_DATA_STATUS: + pokemon->party.status = VALUE(u32); + break; + case MON_DATA_LEVEL: + pokemon->party.level = VALUE(u8); + break; + case MON_DATA_CAPSULE: + pokemon->party.capsule = VALUE(u8); + break; + case MON_DATA_HP: + pokemon->party.hp = VALUE(u16); + break; + case MON_DATA_MAXHP: + pokemon->party.maxHp = VALUE(u16); + break; + case MON_DATA_ATK: + pokemon->party.atk = VALUE(u16); + break; + case MON_DATA_DEF: + pokemon->party.def = VALUE(u16); + break; + case MON_DATA_SPEED: + pokemon->party.speed = VALUE(u16); + break; + case MON_DATA_SPATK: + pokemon->party.spatk = VALUE(u16); + break; + case MON_DATA_SPDEF: + pokemon->party.spdef = VALUE(u16); + break; + case MON_DATA_SEAL_STRUCT: + CopySealsObject((const struct SealStruct *)value, &pokemon->party.seal_something); + break; + case MON_DATA_SEAL_COORDS: + FUN_02029C74((const u8 *)value, pokemon->party.sealCoords); + break; + default: + SetBoxMonDataInternal(&pokemon->box, attr, value); + break; + } +#undef VALUE +} + +void SetBoxMonData(struct BoxPokemon * boxmon, int attr, void * value) +{ + u16 checksum; + if (!boxmon->box_lock) + { + DECRYPT_BOX(boxmon); + checksum = CHECKSUM(boxmon); + if (checksum != boxmon->checksum) + { + GF_ASSERT(checksum == boxmon->checksum); + boxmon->checksum_fail = TRUE; + ENCRYPT_BOX(boxmon); + return; + } + } + SetBoxMonDataInternal(boxmon, attr, value); + if (!boxmon->box_lock) + { + boxmon->checksum = CHECKSUM(boxmon); + ENCRYPT_BOX(boxmon); + } +} + + +void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value) +{ +#define VALUE(type) (*(const type *)value) + u8 flag; + u64 mask; + u32 i; + u16 namebuf[POKEMON_NAME_LENGTH + 1]; + u16 namebuf2[POKEMON_NAME_LENGTH + 1]; + u16 namebuf3[POKEMON_NAME_LENGTH + 1]; + u16 * speciesName; + u8 iv; + + PokemonDataBlockA *blockA = &GetSubstruct(boxmon, boxmon->pid, 0)->blockA; + PokemonDataBlockB *blockB = &GetSubstruct(boxmon, boxmon->pid, 1)->blockB; + PokemonDataBlockC *blockC = &GetSubstruct(boxmon, boxmon->pid, 2)->blockC; + PokemonDataBlockD *blockD = &GetSubstruct(boxmon, boxmon->pid, 3)->blockD; + + switch (attr) + { + case MON_DATA_PERSONALITY: + boxmon->pid = VALUE(u32); + break; + case MON_DATA_PARTY_LOCK: + GF_ASSERT(0); + boxmon->party_lock = VALUE(u8); + break; + case MON_DATA_BOX_LOCK: + GF_ASSERT(0); + boxmon->box_lock = VALUE(u8); + break; + case MON_DATA_CHECKSUM_FAILED: + boxmon->checksum_fail = VALUE(u8); + break; + case MON_DATA_CHECKSUM: + boxmon->checksum = VALUE(u16); + break; + case MON_DATA_SPECIES: + blockA->species = VALUE(u16); + break; + case MON_DATA_HELD_ITEM: + blockA->heldItem = VALUE(u16); + break; + case MON_DATA_OTID: + blockA->otID = VALUE(u32); + break; + case MON_DATA_EXPERIENCE: + blockA->exp = VALUE(u32); + break; + case MON_DATA_FRIENDSHIP: + blockA->friendship = VALUE(u8); + break; + case MON_DATA_ABILITY: + blockA->ability = VALUE(u8); + break; + case MON_DATA_MARKINGS: + blockA->markings = VALUE(u8); + break; + case MON_DATA_GAME_LANGUAGE: + blockA->originLanguage = VALUE(u8); + break; + case MON_DATA_HP_EV: + blockA->hpEV = VALUE(u8); + break; + case MON_DATA_ATK_EV: + blockA->atkEV = VALUE(u8); + break; + case MON_DATA_DEF_EV: + blockA->defEV = VALUE(u8); + break; + case MON_DATA_SPEED_EV: + blockA->spdEV = VALUE(u8); + break; + case MON_DATA_SPATK_EV: + blockA->spatkEV = VALUE(u8); + break; + case MON_DATA_SPDEF_EV: + blockA->spdefEV = VALUE(u8); + break; + case MON_DATA_COOL: + blockA->coolStat = VALUE(u8); + break; + case MON_DATA_BEAUTY: + blockA->beautyStat = VALUE(u8); + break; + case MON_DATA_CUTE: + blockA->cuteStat = VALUE(u8); + break; + case MON_DATA_SMART: + blockA->smartStat = VALUE(u8); + break; + case MON_DATA_TOUGH: + blockA->toughStat = VALUE(u8); + break; + case MON_DATA_SHEEN: + blockA->sheen = VALUE(u8); + break; + case MON_DATA_SINNOH_CHAMP_RIBBON: + case MON_DATA_SINNOH_RIBBON_26: + case MON_DATA_SINNOH_RIBBON_27: + case MON_DATA_SINNOH_RIBBON_28: + case MON_DATA_SINNOH_RIBBON_29: + case MON_DATA_SINNOH_RIBBON_30: + case MON_DATA_SINNOH_RIBBON_31: + case MON_DATA_SINNOH_RIBBON_32: + case MON_DATA_SINNOH_RIBBON_33: + case MON_DATA_SINNOH_RIBBON_34: + case MON_DATA_SINNOH_RIBBON_35: + case MON_DATA_SINNOH_RIBBON_36: + case MON_DATA_SINNOH_RIBBON_37: + case MON_DATA_SINNOH_RIBBON_38: + case MON_DATA_SINNOH_RIBBON_39: + case MON_DATA_SINNOH_RIBBON_40: + case MON_DATA_SINNOH_RIBBON_41: + case MON_DATA_SINNOH_RIBBON_42: + case MON_DATA_SINNOH_RIBBON_43: + case MON_DATA_SINNOH_RIBBON_44: + case MON_DATA_SINNOH_RIBBON_45: + case MON_DATA_SINNOH_RIBBON_46: + case MON_DATA_SINNOH_RIBBON_47: + case MON_DATA_SINNOH_RIBBON_48: + case MON_DATA_SINNOH_RIBBON_49: + case MON_DATA_SINNOH_RIBBON_50: + case MON_DATA_SINNOH_RIBBON_51: + case MON_DATA_SINNOH_RIBBON_52: + case MON_DATA_SINNOH_RIBBON_53: + flag = VALUE(u8); + mask = (u64)flag << (attr - MON_DATA_SINNOH_CHAMP_RIBBON); + if (flag) + blockA->sinnohRibbons |= mask; + else + blockA->sinnohRibbons &= -1ull ^ mask; + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + blockB->moves[attr - MON_DATA_MOVE1] = VALUE(u16); + break; + case MON_DATA_MOVE1PP: + case MON_DATA_MOVE2PP: + case MON_DATA_MOVE3PP: + case MON_DATA_MOVE4PP: + blockB->movePP[attr - MON_DATA_MOVE1PP] = VALUE(u8); + break; + case MON_DATA_MOVE1PPUP: + case MON_DATA_MOVE2PPUP: + case MON_DATA_MOVE3PPUP: + case MON_DATA_MOVE4PPUP: + blockB->movePpUps[attr - MON_DATA_MOVE1PPUP] = VALUE(u8); + break; + case MON_DATA_HP_IV: + blockB->hpIV = VALUE(u8); + break; + case MON_DATA_ATK_IV: + blockB->atkIV = VALUE(u8); + break; + case MON_DATA_DEF_IV: + blockB->defIV = VALUE(u8); + break; + case MON_DATA_SPEED_IV: + blockB->spdIV = VALUE(u8); + break; + case MON_DATA_SPATK_IV: + blockB->spatkIV = VALUE(u8); + break; + case MON_DATA_SPDEF_IV: + blockB->spdefIV = VALUE(u8); + break; + case MON_DATA_IS_EGG: + blockB->isEgg = VALUE(u8); + break; + case MON_DATA_HAS_NICKNAME: + blockB->isNicknamed = VALUE(u8); + break; + case MON_DATA_COOL_RIBBON: + case MON_DATA_HOENN_RIBBON_79: + case MON_DATA_HOENN_RIBBON_80: + case MON_DATA_HOENN_RIBBON_81: + case MON_DATA_HOENN_RIBBON_82: + case MON_DATA_HOENN_RIBBON_83: + case MON_DATA_HOENN_RIBBON_84: + case MON_DATA_HOENN_RIBBON_85: + case MON_DATA_HOENN_RIBBON_86: + case MON_DATA_HOENN_RIBBON_87: + case MON_DATA_HOENN_RIBBON_88: + case MON_DATA_HOENN_RIBBON_89: + case MON_DATA_HOENN_RIBBON_90: + case MON_DATA_HOENN_RIBBON_91: + case MON_DATA_HOENN_RIBBON_92: + case MON_DATA_HOENN_RIBBON_93: + case MON_DATA_HOENN_RIBBON_94: + case MON_DATA_HOENN_RIBBON_95: + case MON_DATA_HOENN_RIBBON_96: + case MON_DATA_HOENN_RIBBON_97: + case MON_DATA_HOENN_RIBBON_98: + case MON_DATA_HOENN_RIBBON_99: + case MON_DATA_HOENN_RIBBON_100: + case MON_DATA_HOENN_RIBBON_101: + case MON_DATA_HOENN_RIBBON_102: + case MON_DATA_HOENN_RIBBON_103: + case MON_DATA_HOENN_RIBBON_104: + case MON_DATA_HOENN_RIBBON_105: + case MON_DATA_HOENN_RIBBON_106: + case MON_DATA_HOENN_RIBBON_107: + case MON_DATA_HOENN_RIBBON_108: + case MON_DATA_HOENN_RIBBON_109: + flag = VALUE(u8); + mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON); + if (flag) + blockB->ribbonFlags |= mask; + else + blockB->ribbonFlags &= -1ull ^ mask; + break; + case MON_DATA_FATEFUL_ENCOUNTER: + blockB->fatefulEncounter = VALUE(u8); + break; + case MON_DATA_GENDER: + blockB->gender = VALUE(u8); + break; + case MON_DATA_FORME: + blockB->alternateForm = VALUE(u8); + break; + case MON_DATA_RESERVED_113: + blockB->HGSS_shinyLeaves = VALUE(u8); + break; + case MON_DATA_RESERVED_114: + blockB->Unused = VALUE(u16); + break; + case MON_DATA_NICKNAME_2: + GetSpeciesName(blockA->species, 0, namebuf); + blockB->isNicknamed = StringNotEqual(namebuf, value); + // fallthrough + case MON_DATA_NICKNAME: + for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) + { + blockC->nickname[i] = VALUE(u16); value = (void *const )((char *)value + 2); + } + break; + case MON_DATA_NICKNAME_4: + GetSpeciesName(blockA->species, 0, namebuf2); + FUN_02021EF0(value, namebuf3, POKEMON_NAME_LENGTH + 1); + blockB->isNicknamed = StringNotEqual(namebuf2, namebuf3); + // fallthrough + case MON_DATA_NICKNAME_3: + FUN_02021EF0(value, blockC->nickname, POKEMON_NAME_LENGTH + 1); + break; + case MON_DATA_UNK_120: + blockC->Unused = VALUE(u8); + break; + case MON_DATA_GAME_VERSION: + blockC->originGame = VALUE(u8); + break; + case MON_DATA_SINNOH_RIBBON_122: + case MON_DATA_SINNOH_RIBBON_123: + case MON_DATA_SINNOH_RIBBON_124: + case MON_DATA_SINNOH_RIBBON_125: + case MON_DATA_SINNOH_RIBBON_126: + case MON_DATA_SINNOH_RIBBON_127: + case MON_DATA_SINNOH_RIBBON_128: + case MON_DATA_SINNOH_RIBBON_129: + case MON_DATA_SINNOH_RIBBON_130: + case MON_DATA_SINNOH_RIBBON_131: + case MON_DATA_SINNOH_RIBBON_132: + case MON_DATA_SINNOH_RIBBON_133: + case MON_DATA_SINNOH_RIBBON_134: + case MON_DATA_SINNOH_RIBBON_135: + case MON_DATA_SINNOH_RIBBON_136: + case MON_DATA_SINNOH_RIBBON_137: + case MON_DATA_SINNOH_RIBBON_138: + case MON_DATA_SINNOH_RIBBON_139: + case MON_DATA_SINNOH_RIBBON_140: + case MON_DATA_SINNOH_RIBBON_141: + case MON_DATA_SINNOH_RIBBON_142: + flag = VALUE(u8); + mask = (u64)flag << (attr - MON_DATA_SINNOH_RIBBON_122); + if (flag) + blockC->sinnohRibbons2 |= mask; + else + blockC->sinnohRibbons2 &= -1ull ^ mask; + break; + case MON_DATA_OT_NAME: + for (i = 0; i < OT_NAME_LENGTH + 1; i++) + { + blockD->otTrainerName[i] = VALUE(u16); value = (void *)((char *)value + 2); + } + break; + case MON_DATA_OT_NAME_2: + FUN_02021EF0(value, blockD->otTrainerName, OT_NAME_LENGTH + 1); + break; + case MON_DATA_EGG_MET_YEAR: + blockD->dateEggReceived[0] = VALUE(u8); + break; + case MON_DATA_EGG_MET_MONTH: + blockD->dateEggReceived[1] = VALUE(u8); + break; + case MON_DATA_EGG_MET_DAY: + blockD->dateEggReceived[2] = VALUE(u8); + break; + case MON_DATA_MET_YEAR: + blockD->dateMet[0] = VALUE(u8); + break; + case MON_DATA_MET_MONTH: + blockD->dateMet[1] = VALUE(u8); + break; + case MON_DATA_MET_DAY: + blockD->dateMet[2] = VALUE(u8); + break; + case MON_DATA_EGG_MET_LOCATION: + blockD->DP_EggLocation = VALUE(u16); + break; + case MON_DATA_MET_LOCATION: + blockD->DP_MetLocation = VALUE(u16); + break; + case MON_DATA_POKERUS: + blockD->pokerus = VALUE(u8); + break; + case MON_DATA_POKEBALL: + blockD->pokeball = VALUE(u8); + break; + case MON_DATA_MET_LEVEL: + blockD->metLevel = VALUE(u8); + break; + case MON_DATA_MET_GENDER: + blockD->metGender = VALUE(u8); + break; + case MON_DATA_ENCOUNTER_TYPE: + blockD->encounterType = VALUE(u8); + break; + case MON_DATA_RESERVED_158: + blockD->HGSS_Pokeball = VALUE(u16); + break; + case MON_DATA_IVS_WORD: + blockB->hpIV = (VALUE(u32) >> 0) & 0x1F; + blockB->atkIV = (VALUE(u32) >> 5) & 0x1F; + blockB->defIV = (VALUE(u32) >> 10) & 0x1F; + blockB->spdIV = (VALUE(u32) >> 15) & 0x1F; + blockB->spatkIV = (VALUE(u32) >> 20) & 0x1F; + blockB->spdefIV = (VALUE(u32) >> 25) & 0x1F; + break; + case MON_DATA_SPECIES_NAME: + speciesName = FUN_0200AA50(blockA->species, 0); + FUN_02021EF0(speciesName, blockC->nickname, POKEMON_NAME_LENGTH + 1); + FUN_02021A20(speciesName); + break; + } +#undef VALUE +} diff --git a/include/pokemon.h b/include/pokemon.h index 7cc5ef5d..451c7d1b 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -125,9 +125,9 @@ #define MON_DATA_RESERVED_114 114 // Plat #define MON_DATA_UNUSED_115 115 #define MON_DATA_NICKNAME 116 -#define MON_DATA_UNUSED_117 117 -#define MON_DATA_NICKNAME_2 118 // ??? -#define MON_DATA_NICKNAME_3 119 // ??? +#define MON_DATA_NICKNAME_2 117 +#define MON_DATA_NICKNAME_3 118 // ??? +#define MON_DATA_NICKNAME_4 119 // ??? #define MON_DATA_UNK_120 120 #define MON_DATA_GAME_VERSION 121 #define MON_DATA_SINNOH_RIBBON_122 122 @@ -500,10 +500,10 @@ u32 GetBoxMonData(); u32 GetMonData(struct Pokemon * pokemon, int attr, void * ptr); u32 GetBoxMonData(struct BoxPokemon * pokemon, int attr, void * ptr); #endif -void SetMonDataInternal(struct Pokemon * pokemon, int attr, const void * ptr); -void SetMonData(struct Pokemon * pokemon, int attr, const void * ptr); -void SetBoxMonData(struct BoxPokemon * pokemon, int attr, const void * ptr); -void SetBoxMonDataEncrypted(struct BoxPokemon * pokemon, int attr, const void * ptr); +void SetMonDataInternal(struct Pokemon * pokemon, int attr, void * ptr); +void SetMonData(struct Pokemon * pokemon, int attr, void * ptr); +void SetBoxMonDataInternal(struct BoxPokemon * pokemon, int attr, void * ptr); +void SetBoxMonData(struct BoxPokemon * pokemon, int attr, void * ptr); void AddMonData(struct Pokemon * pokemon, int attr, u32 amount); void AddBoxMonData(struct Pokemon * pokemon, int attr, u32 amount); diff --git a/include/proto.h b/include/proto.h index 37655429..c8f50d33 100644 --- a/include/proto.h +++ b/include/proto.h @@ -7,6 +7,7 @@ u16 * FUN_0200AA50(u16 species, u32 heap_id); void FUN_02021A74(u16 * dest, u16 * src); void FUN_02021A20(void * ptr); void FUN_02021E28(u16 * dest, u16 * src); +void FUN_02021EF0(const u16 * src, u16 * dest, u32 count); u32 FUN_0206E7B8(u16 item, u32 a1, u32 a2); u32 GetArceusTypeByPlate(u16 plate); diff --git a/include/seals.h b/include/seals.h index fc0fc449..8fda23b9 100644 --- a/include/seals.h +++ b/include/seals.h @@ -9,7 +9,7 @@ struct SealStruct struct SealStruct * CreateNewSealsObject(u32 heap_id); -void CopySealsObject(struct SealStruct *, struct SealStruct *); -void FUN_02029C74(u8 *, u8 *); +void CopySealsObject(const struct SealStruct *, struct SealStruct *); +void FUN_02029C74(const u8 *, u8 *); #endif //POKEDIAMOND_SEALS_H |