diff options
-rw-r--r-- | asm/battle_811DA74.s | 1137 | ||||
-rw-r--r-- | src/battle_811DA74.c | 221 |
2 files changed, 219 insertions, 1139 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s index 4190b2400..89ac50764 100644 --- a/asm/battle_811DA74.s +++ b/asm/battle_811DA74.s @@ -6,1143 +6,6 @@ .text - thumb_func_start sub_811EC68 -sub_811EC68: @ 811EC68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0811ECA0 @ =gUnknown_02024A60 - ldrb r0, [r0] - lsls r0, 9 - ldr r2, _0811ECA4 @ =gUnknown_02023A63 - adds r3, r0, r2 - adds r6, r3, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r7, r2, 0 - cmp r0, 0x3B - bls _0811EC94 - bl _0811F62E -_0811EC94: - lsls r0, 2 - ldr r1, _0811ECA8 @ =_0811ECAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811ECA0: .4byte gUnknown_02024A60 -_0811ECA4: .4byte gUnknown_02023A63 -_0811ECA8: .4byte _0811ECAC - .align 2, 0 -_0811ECAC: - .4byte _0811ED9C - .4byte _0811EF34 - .4byte _0811EF54 - .4byte _0811EF74 - .4byte _0811EFCC - .4byte _0811EFCC - .4byte _0811EFCC - .4byte _0811EFCC - .4byte _0811EFF4 - .4byte _0811F058 - .4byte _0811F058 - .4byte _0811F058 - .4byte _0811F058 - .4byte _0811F62E - .4byte _0811F62E - .4byte _0811F62E - .4byte _0811F62E - .4byte _0811F088 - .4byte _0811F0A8 - .4byte _0811F0C8 - .4byte _0811F0E8 - .4byte _0811F108 - .4byte _0811F128 - .4byte _0811F148 - .4byte _0811F168 - .4byte _0811F188 - .4byte _0811F1A8 - .4byte _0811F1C8 - .4byte _0811F1E8 - .4byte _0811F208 - .4byte _0811F228 - .4byte _0811F248 - .4byte _0811F2B8 - .4byte _0811F2D8 - .4byte _0811F2F8 - .4byte _0811F318 - .4byte _0811F338 - .4byte _0811F358 - .4byte _0811F378 - .4byte _0811F398 - .4byte _0811F3B8 - .4byte _0811F3D8 - .4byte _0811F3F8 - .4byte _0811F418 - .4byte _0811F438 - .4byte _0811F458 - .4byte _0811F478 - .4byte _0811F498 - .4byte _0811F4B8 - .4byte _0811F4D8 - .4byte _0811F4F8 - .4byte _0811F518 - .4byte _0811F538 - .4byte _0811F558 - .4byte _0811F578 - .4byte _0811F598 - .4byte _0811F5B8 - .4byte _0811F5D8 - .4byte _0811F5F8 - .4byte _0811F618 -_0811ED9C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811EF30 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r6, 0 - bl SetMonData - adds r2, r6, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r6 - mov r10, r0 - adds r0, r6, 0 - adds r0, 0x2B - str r0, [sp, 0x20] - adds r0, 0x19 - str r0, [sp, 0x28] - adds r0, 0x4 - str r0, [sp, 0x2C] - adds r0, 0x4 - str r0, [sp, 0x30] - subs r0, 0x22 - str r0, [sp, 0x1C] - subs r0, 0x2 - str r0, [sp, 0x18] - adds r0, 0x4 - str r0, [sp, 0x24] - adds r0, r6, 0x2 - str r0, [sp, 0x4] - adds r0, r6, 0x4 - str r0, [sp, 0x8] - adds r0, r6, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r7, r6, 0 - adds r7, 0x24 - adds r4, r6, 0 - adds r4, 0xC -_0811EE02: - mov r1, r8 - adds r1, 0xD - mov r0, r9 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - mov r0, r9 - adds r2, r7, 0 - bl SetMonData - adds r7, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0811EE02 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811EF30 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r4, 0 - movs r1, 0x20 - ldr r2, [sp, 0x20] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x19 - ldr r2, [sp, 0x28] - bl SetMonData - ldrb r0, [r6, 0x14] - lsls r0, 27 - lsrs r0, 27 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x14] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x28 - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x15] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x29 - mov r2, sp - bl SetMonData - mov r1, sp - ldr r0, [r6, 0x14] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2A - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x16] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2B - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x17] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0 - ldr r2, [sp, 0x2C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x37 - ldr r2, [sp, 0x30] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x38 - ldr r2, [sp, 0x1C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x39 - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3A - ldr r2, [sp, 0x24] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3B - ldr r2, [sp, 0x4] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3C - ldr r2, [sp, 0x8] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3D - ldr r2, [sp, 0xC] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3E - ldr r2, [sp, 0x10] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3F - ldr r2, [sp, 0x14] - bl SetMonData - b _0811F62E - .align 2, 0 -_0811EF30: .4byte gPlayerParty -_0811EF34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EF4C @ =gPlayerParty - adds r0, r1 - ldr r1, _0811EF50 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xB - bl SetMonData - b _0811F62E - .align 2, 0 -_0811EF4C: .4byte gPlayerParty -_0811EF50: .4byte gUnknown_02024A60 -_0811EF54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EF6C @ =gPlayerParty - adds r0, r1 - ldr r1, _0811EF70 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xC - bl SetMonData - b _0811F62E - .align 2, 0 -_0811EF6C: .4byte gPlayerParty -_0811EF70: .4byte gUnknown_02024A60 -_0811EF74: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r3 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0811EFC8 @ =gPlayerParty - adds r7, r1, r0 - adds r6, r3, 0 - adds r6, 0x8 - adds r4, r3, 0 -_0811EF8E: - mov r1, r8 - adds r1, 0xD - adds r0, r7, 0 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - adds r0, r7, 0 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0811EF8E - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EFC8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811EFC8: .4byte gPlayerParty -_0811EFCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EFE8 @ =gPlayerParty - adds r0, r1 - ldr r3, _0811EFEC @ =gUnknown_02023A60 - ldr r1, _0811EFF0 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0811F070 - .align 2, 0 -_0811EFE8: .4byte gPlayerParty -_0811EFEC: .4byte gUnknown_02023A60 -_0811EFF0: .4byte gUnknown_02024A60 -_0811EFF4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811F050 @ =gPlayerParty - adds r4, r0 - ldr r5, _0811F054 @ =gUnknown_02024A60 - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x11 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F050: .4byte gPlayerParty -_0811F054: .4byte gUnknown_02024A60 -_0811F058: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F07C @ =gPlayerParty - adds r0, r1 - ldr r3, _0811F080 @ =gUnknown_02023A60 - ldr r1, _0811F084 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0811F070: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F07C: .4byte gPlayerParty -_0811F080: .4byte gUnknown_02023A60 -_0811F084: .4byte gUnknown_02024A60 -_0811F088: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F0A0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F0A4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F0A0: .4byte gPlayerParty -_0811F0A4: .4byte gUnknown_02024A60 -_0811F0A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F0C0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F0C4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x19 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F0C0: .4byte gPlayerParty -_0811F0C4: .4byte gUnknown_02024A60 -_0811F0C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F0E0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F0E4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1A - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F0E0: .4byte gPlayerParty -_0811F0E4: .4byte gUnknown_02024A60 -_0811F0E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F100 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F104 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1B - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F100: .4byte gPlayerParty -_0811F104: .4byte gUnknown_02024A60 -_0811F108: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F120 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F124 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1C - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F120: .4byte gPlayerParty -_0811F124: .4byte gUnknown_02024A60 -_0811F128: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F140 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F144 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1D - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F140: .4byte gPlayerParty -_0811F144: .4byte gUnknown_02024A60 -_0811F148: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F160 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F164 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1E - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F160: .4byte gPlayerParty -_0811F164: .4byte gUnknown_02024A60 -_0811F168: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F180 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F184 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1F - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F180: .4byte gPlayerParty -_0811F184: .4byte gUnknown_02024A60 -_0811F188: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F1A0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F1A4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x20 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F1A0: .4byte gPlayerParty -_0811F1A4: .4byte gUnknown_02024A60 -_0811F1A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F1C0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F1C4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x22 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F1C0: .4byte gPlayerParty -_0811F1C4: .4byte gUnknown_02024A60 -_0811F1C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F1E0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F1E4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x23 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F1E0: .4byte gPlayerParty -_0811F1E4: .4byte gUnknown_02024A60 -_0811F1E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F200 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F204 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x24 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F200: .4byte gPlayerParty -_0811F204: .4byte gUnknown_02024A60 -_0811F208: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F220 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F224 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x25 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F220: .4byte gPlayerParty -_0811F224: .4byte gUnknown_02024A60 -_0811F228: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F240 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F244 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x26 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F240: .4byte gPlayerParty -_0811F244: .4byte gUnknown_02024A60 -_0811F248: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811F2B0 @ =gPlayerParty - adds r4, r0 - ldr r5, _0811F2B4 @ =gUnknown_02024A60 - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x27 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _0811F368 - .align 2, 0 -_0811F2B0: .4byte gPlayerParty -_0811F2B4: .4byte gUnknown_02024A60 -_0811F2B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F2D0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F2D4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x27 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F2D0: .4byte gPlayerParty -_0811F2D4: .4byte gUnknown_02024A60 -_0811F2D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F2F0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F2F4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x28 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F2F0: .4byte gPlayerParty -_0811F2F4: .4byte gUnknown_02024A60 -_0811F2F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F310 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F314 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x29 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F310: .4byte gPlayerParty -_0811F314: .4byte gUnknown_02024A60 -_0811F318: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F330 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F334 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2A - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F330: .4byte gPlayerParty -_0811F334: .4byte gUnknown_02024A60 -_0811F338: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F350 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F354 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2B - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F350: .4byte gPlayerParty -_0811F354: .4byte gUnknown_02024A60 -_0811F358: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F370 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F374 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 -_0811F368: - movs r1, 0x2C - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F370: .4byte gPlayerParty -_0811F374: .4byte gUnknown_02024A60 -_0811F378: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F390 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F394 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F390: .4byte gPlayerParty -_0811F394: .4byte gUnknown_02024A60 -_0811F398: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F3B0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F3B4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x9 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F3B0: .4byte gPlayerParty -_0811F3B4: .4byte gUnknown_02024A60 -_0811F3B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F3D0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F3D4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x37 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F3D0: .4byte gPlayerParty -_0811F3D4: .4byte gUnknown_02024A60 -_0811F3D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F3F0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F3F4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x38 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F3F0: .4byte gPlayerParty -_0811F3F4: .4byte gUnknown_02024A60 -_0811F3F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F410 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F414 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x39 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F410: .4byte gPlayerParty -_0811F414: .4byte gUnknown_02024A60 -_0811F418: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F430 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F434 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3A - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F430: .4byte gPlayerParty -_0811F434: .4byte gUnknown_02024A60 -_0811F438: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F450 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F454 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3B - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F450: .4byte gPlayerParty -_0811F454: .4byte gUnknown_02024A60 -_0811F458: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F470 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F474 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3C - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F470: .4byte gPlayerParty -_0811F474: .4byte gUnknown_02024A60 -_0811F478: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F490 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F494 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3D - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F490: .4byte gPlayerParty -_0811F494: .4byte gUnknown_02024A60 -_0811F498: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F4B0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F4B4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3E - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F4B0: .4byte gPlayerParty -_0811F4B4: .4byte gUnknown_02024A60 -_0811F4B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F4D0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F4D4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3F - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F4D0: .4byte gPlayerParty -_0811F4D4: .4byte gUnknown_02024A60 -_0811F4D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F4F0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F4F4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x16 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F4F0: .4byte gPlayerParty -_0811F4F4: .4byte gUnknown_02024A60 -_0811F4F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F510 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F514 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x17 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F510: .4byte gPlayerParty -_0811F514: .4byte gUnknown_02024A60 -_0811F518: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F530 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F534 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x18 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F530: .4byte gPlayerParty -_0811F534: .4byte gUnknown_02024A60 -_0811F538: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F550 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F554 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x21 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F550: .4byte gPlayerParty -_0811F554: .4byte gUnknown_02024A60 -_0811F558: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F570 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F574 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2F - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F570: .4byte gPlayerParty -_0811F574: .4byte gUnknown_02024A60 -_0811F578: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F590 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F594 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x30 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F590: .4byte gPlayerParty -_0811F594: .4byte gUnknown_02024A60 -_0811F598: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F5B0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F5B4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x32 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F5B0: .4byte gPlayerParty -_0811F5B4: .4byte gUnknown_02024A60 -_0811F5B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F5D0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F5D4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x33 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F5D0: .4byte gPlayerParty -_0811F5D4: .4byte gUnknown_02024A60 -_0811F5D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F5F0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F5F4 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x34 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F5F0: .4byte gPlayerParty -_0811F5F4: .4byte gUnknown_02024A60 -_0811F5F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F610 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F614 @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x35 - bl SetMonData - b _0811F62E - .align 2, 0 -_0811F610: .4byte gPlayerParty -_0811F614: .4byte gUnknown_02024A60 -_0811F618: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811F658 @ =gPlayerParty - adds r0, r1 - ldr r1, _0811F65C @ =gUnknown_02024A60 - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x36 - bl SetMonData -_0811F62E: - ldr r2, _0811F660 @ =gUnknown_02024A6A - ldr r0, _0811F65C @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0811F658 @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811F658: .4byte gPlayerParty -_0811F65C: .4byte gUnknown_02024A60 -_0811F660: .4byte gUnknown_02024A6A - thumb_func_end sub_811EC68 - thumb_func_start sub_811F664 sub_811F664: @ 811F664 push {r4-r7,lr} diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index 328b45f49..44d8f179d 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -455,7 +455,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_CHECKSUM); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -470,7 +470,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_MARKINGS); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9); size = 1; break; case 17: @@ -710,3 +710,220 @@ void sub_811EC10(void) } dp01_tbl3_exec_completed(); } + +void sub_811EC68(u8 a) +{ + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gUnknown_02023A60[gUnknown_02024A60][3]; + struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gUnknown_02023A60[gUnknown_02024A60][3]; + s32 i; + + switch (gUnknown_02023A60[gUnknown_02024A60][1]) + { + case 0: + { + u8 iv; + + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + for (i = 0; i < 4; i++) + { + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + } + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + iv = battlePokemon->hpIV; + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + iv = battlePokemon->attackIV; + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + iv = battlePokemon->defenseIV; + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + iv = battlePokemon->speedIV; + SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + iv = battlePokemon->spAttackIV; + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + iv = battlePokemon->spDefenseIV; + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + } + break; + case 1: + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 2: + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 3: + for (i = 0; i < 4; i++) + { + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + } + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); + break; + case 4: + case 5: + case 6: + case 7: + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 8: + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gUnknown_02023A60[gUnknown_02024A60][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gUnknown_02023A60[gUnknown_02024A60][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gUnknown_02023A60[gUnknown_02024A60][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gUnknown_02023A60[gUnknown_02024A60][7]); + break; + case 9: + case 10: + case 11: + case 12: + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 17: + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 18: + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 19: + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 20: + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 21: + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 22: + SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 23: + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 24: + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 25: + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 26: + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 27: + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 28: + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 29: + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 30: + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 31: + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][8]); + break; + case 32: + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 33: + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 34: + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 35: + SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 36: + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 37: + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 38: + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 39: + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 40: + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 41: + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 42: + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 43: + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 44: + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 45: + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 46: + SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 47: + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 48: + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 49: + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 50: + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 51: + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 52: + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 53: + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 54: + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 55: + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 56: + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 57: + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 58: + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + case 59: + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + break; + } + sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); +} |