diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-09-23 22:56:31 -0500 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-09-23 22:56:31 -0500 |
commit | cd050a5e7d66e28485a5b4e57ecdfb3d8c5f1e3c (patch) | |
tree | e58bcc0d5f4ab0d01173e0cc5cb104f02436f43d | |
parent | a808cea8ea805c504192d517d863326c660acfc2 (diff) |
found more MonsterParameter funcs that weren't in the split and decomped a few of them
-rw-r--r-- | asm/code_80521D0.s | 1811 | ||||
-rw-r--r-- | asm/pokemon.s | 1775 | ||||
-rw-r--r-- | include/pokemon.h | 44 | ||||
-rwxr-xr-x | ld_script.txt | 2 | ||||
-rw-r--r-- | src/pokemon.c | 23 |
5 files changed, 1800 insertions, 1855 deletions
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 353a421..ac93e6b 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -116461,1815 +116461,4 @@ sub_808CDB0: _0808CDBC: .4byte gUnknown_8107544 thumb_func_end sub_808CDB0 - thumb_func_start LoadMonsterParameters -LoadMonsterParameters: - push {lr} - ldr r1, _0808CDE4 - ldr r0, _0808CDE8 - str r0, [r1] - ldr r0, _0808CDEC - ldr r1, _0808CDF0 - bl OpenFileAndGetFileDataPtr - ldr r1, _0808CDF4 - str r0, [r1] - ldr r1, _0808CDF8 - ldr r0, [r0, 0x4] - str r0, [r1] - ldr r1, _0808CDFC - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0808CDE4: .4byte gUnknown_203B45C -_0808CDE8: .4byte gUnknown_202F400 -_0808CDEC: .4byte gUnknown_81075F4 -_0808CDF0: .4byte gUnknown_8300500 -_0808CDF4: .4byte gMonsterParametersFile -_0808CDF8: .4byte gMonsterParameters -_0808CDFC: .4byte gUnknown_20384E8 - thumb_func_end LoadMonsterParameters - - thumb_func_start sub_808CE00 -sub_808CE00: - ldr r0, _0808CE04 - bx lr - .align 2, 0 -_0808CE04: .4byte gUnknown_202F400 - thumb_func_end sub_808CE00 - - thumb_func_start sub_808CE08 -sub_808CE08: - push {r4-r7,lr} - ldr r4, _0808CE60 - movs r3, 0 - movs r1, 0 - ldr r2, _0808CE64 -_0808CE12: - ldr r0, [r4] - adds r0, r1 - strh r3, [r0] - adds r1, 0x58 - subs r2, 0x1 - cmp r2, 0 - bne _0808CE12 - ldr r5, _0808CE60 - ldr r4, _0808CE68 - movs r3, 0 - movs r1, 0 - movs r2, 0x3 -_0808CE2A: - ldr r0, [r5] - adds r0, r1 - adds r0, r4 - strh r3, [r0] - adds r1, 0x64 - subs r2, 0x1 - cmp r2, 0 - bge _0808CE2A - ldr r7, _0808CE60 - ldr r6, _0808CE6C - movs r4, 0 - movs r3, 0 - ldr r5, _0808CE70 - movs r2, 0x3 -_0808CE46: - ldr r0, [r7] - adds r0, r3 - adds r1, r0, r6 - strh r4, [r1] - adds r0, r5 - strh r4, [r0] - adds r3, 0x58 - subs r2, 0x1 - cmp r2, 0 - bge _0808CE46 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808CE60: .4byte gUnknown_203B45C -_0808CE64: .4byte 0x0000019d -_0808CE68: .4byte 0x00008df8 -_0808CE6C: .4byte 0x00008f90 -_0808CE70: .4byte 0x00008f88 - thumb_func_end sub_808CE08 - - thumb_func_start sub_808CE74 -sub_808CE74: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x6C - mov r8, r2 - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 24 - mov r2, sp - movs r0, 0x3 - strh r0, [r2] - cmp r1, 0 - beq _0808CE9C - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x2] - movs r0, 0x40 - b _0808CEA4 -_0808CE9C: - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x2] - movs r0, 0x41 -_0808CEA4: - strb r0, [r1, 0x4] - mov r0, sp - movs r6, 0 - movs r5, 0x1 - strb r5, [r0, 0x3] - adds r0, r7, 0 - bl sub_808DBC0 - mov r1, sp - movs r4, 0 - strh r0, [r1, 0x16] - adds r0, r7, 0 - movs r1, 0 - bl sub_808DC28 - mov r1, sp - strb r0, [r1, 0x18] - adds r0, r7, 0 - movs r1, 0x1 - bl sub_808DC28 - mov r1, sp - strb r0, [r1, 0x19] - adds r0, r7, 0 - movs r1, 0 - bl sub_808DC48 - mov r1, sp - strb r0, [r1, 0x1A] - adds r0, r7, 0 - movs r1, 0x1 - bl sub_808DC48 - mov r1, sp - strb r0, [r1, 0x1B] - mov r0, sp - strh r5, [r0, 0x14] - strb r4, [r0, 0xC] - strb r4, [r0, 0x10] - add r0, sp, 0x20 - movs r1, 0 - bl sub_808EC94 - mov r0, sp - strh r7, [r0, 0x8] - add r0, sp, 0x28 - strb r4, [r0] - adds r0, 0x1 - strb r4, [r0] - str r6, [sp, 0x1C] - add r0, sp, 0x24 - strb r4, [r0] - mov r0, sp - strb r4, [r0, 0x5] - add r0, sp, 0x2C - adds r1, r7, 0 - bl sub_808E490 - mov r0, r8 - cmp r0, 0 - bne _0808CF5C - add r4, sp, 0x58 - adds r0, r4, 0 - adds r1, r7, 0 - bl sub_808D8BC - add r0, sp, 0x4C - adds r1, r4, 0 - movs r2, 0xA - bl sub_8092310 - lsls r4, r7, 3 - b _0808CF72 -_0808CF36: - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - mov r1, sp - movs r2, 0x58 - bl memcpy - ldr r0, _0808CF58 - ldr r0, [r0] - adds r0, r4 - mov r5, r9 - strb r5, [r0] - adds r0, r7, 0 - bl sub_80980B4 - b _0808CFB8 - .align 2, 0 -_0808CF58: .4byte gUnknown_203B468 -_0808CF5C: - movs r2, 0 - lsls r4, r7, 3 - add r3, sp, 0x4C -_0808CF62: - adds r0, r3, r2 - mov r5, r8 - adds r1, r5, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0808CF62 -_0808CF72: - ldr r0, _0808CFC8 - ldr r1, [r0] - adds r0, r4, r7 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x16] - mov r10, r0 - movs r5, 0 - ldr r0, _0808CFCC - mov r8, r0 - movs r1, 0x1 - mov r9, r1 -_0808CF8A: - movs r0, 0x58 - adds r6, r5, 0 - muls r6, r0 - mov r1, r8 - ldr r0, [r1] - adds r0, r6, r0 - ldrb r1, [r0] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _0808CFAE - adds r0, r5, 0 - bl sub_80923D4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r10 - beq _0808CF36 -_0808CFAE: - adds r5, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - ble _0808CF8A -_0808CFB8: - add sp, 0x6C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808CFC8: .4byte gMonsterParameters -_0808CFCC: .4byte gUnknown_203B45C - thumb_func_end sub_808CE74 - - thumb_func_start sub_808CFD0 -sub_808CFD0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r0, 0 - mov r10, r2 - adds r4, r3, 0 - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0 - movs r0, 0 - mov r8, r0 - movs r0, 0x1 - movs r6, 0x1 - strh r6, [r7] - strb r5, [r7, 0x2] - strb r0, [r7, 0x3] - mov r0, r9 - bl sub_808DBC0 - strh r0, [r7, 0x16] - mov r0, r9 - movs r1, 0 - bl sub_808DC28 - strb r0, [r7, 0x18] - mov r0, r9 - movs r1, 0x1 - bl sub_808DC28 - strb r0, [r7, 0x19] - mov r0, r9 - movs r1, 0 - bl sub_808DC48 - strb r0, [r7, 0x1A] - mov r0, r9 - movs r1, 0x1 - bl sub_808DC48 - strb r0, [r7, 0x1B] - mov r1, r9 - strh r1, [r7, 0x8] - adds r0, r7, 0 - adds r0, 0x28 - adds r1, r4, 0 - bl sub_8090B08 - mov r4, r8 - str r4, [r7, 0x1C] - adds r0, r7, 0 - adds r0, 0x24 - strb r5, [r0] - strh r6, [r7, 0x14] - ldr r1, [sp, 0x34] - ldr r0, [r1] - str r0, [r7, 0x4] - strb r5, [r7, 0xC] - strb r5, [r7, 0x10] - adds r0, r7, 0 - adds r0, 0x20 - movs r1, 0 - bl sub_808EC94 - ldr r4, [sp, 0x38] - cmp r4, 0 - beq _0808D08C - movs r0, 0x4C - adds r0, r7 - mov r8, r0 - adds r5, r4, 0 - adds r4, r7, 0 - adds r4, 0x2C - movs r6, 0x3 -_0808D06E: - ldrh r0, [r5] - cmp r0, 0 - beq _0808D07E - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8092AD4 - b _0808D080 -_0808D07E: - strb r0, [r4] -_0808D080: - adds r5, 0x2 - adds r4, 0x8 - subs r6, 0x1 - cmp r6, 0 - bge _0808D06E - b _0808D09A -_0808D08C: - adds r0, r7, 0 - adds r0, 0x2C - mov r1, r9 - bl sub_808E490 - adds r7, 0x4C - mov r8, r7 -_0808D09A: - mov r1, r10 - cmp r1, 0 - bne _0808D0B4 - mov r0, sp - mov r1, r9 - bl sub_808D8BC - mov r0, r8 - mov r1, sp - movs r2, 0xA - bl sub_8092310 - b _0808D0C8 -_0808D0B4: - movs r2, 0 - mov r3, r8 -_0808D0B8: - adds r0, r3, r2 - mov r4, r10 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0808D0B8 -_0808D0C8: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808CFD0 - - thumb_func_start sub_808D0D8 -sub_808D0D8: - push {r4-r7,lr} - adds r7, r0, 0 - movs r6, 0 - movs r4, 0x1 - strb r4, [r7, 0x3] - movs r1, 0x8 - ldrsh r0, [r7, r1] - bl sub_808DBC0 - movs r5, 0 - strh r0, [r7, 0x16] - movs r2, 0x8 - ldrsh r0, [r7, r2] - movs r1, 0 - bl sub_808DC28 - strb r0, [r7, 0x18] - movs r1, 0x8 - ldrsh r0, [r7, r1] - movs r1, 0x1 - bl sub_808DC28 - strb r0, [r7, 0x19] - movs r2, 0x8 - ldrsh r0, [r7, r2] - movs r1, 0 - bl sub_808DC48 - strb r0, [r7, 0x1A] - movs r1, 0x8 - ldrsh r0, [r7, r1] - movs r1, 0x1 - bl sub_808DC48 - strb r0, [r7, 0x1B] - str r6, [r7, 0x1C] - adds r0, r7, 0 - adds r0, 0x24 - strb r5, [r0] - strh r4, [r7, 0x14] - subs r0, 0x4 - movs r1, 0 - bl sub_808EC94 - adds r0, r7, 0 - adds r0, 0x2C - movs r2, 0x8 - ldrsh r1, [r7, r2] - bl sub_808E490 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808D0D8 - - thumb_func_start sub_808D144 -sub_808D144: - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - movs r4, 0 - movs r0, 0x1 - strh r0, [r5] - strb r4, [r5, 0x2] - ldrh r0, [r7, 0x16] - strb r0, [r5, 0x3] - ldrh r0, [r7, 0x14] - strh r0, [r5, 0x16] - ldrh r0, [r7, 0x1A] - strb r0, [r5, 0x18] - ldrh r0, [r7, 0x1C] - strb r0, [r5, 0x19] - ldrh r0, [r7, 0x1E] - strb r0, [r5, 0x1A] - ldrh r0, [r7, 0x20] - strb r0, [r5, 0x1B] - ldrh r0, [r7, 0x4] - strh r0, [r5, 0x8] - adds r0, r5, 0 - adds r0, 0x28 - ldrb r1, [r7, 0x6] - bl sub_8090B08 - ldr r0, [r7, 0x24] - str r0, [r5, 0x1C] - adds r0, r5, 0 - adds r0, 0x24 - strb r4, [r0] - ldrh r0, [r7, 0x18] - strh r0, [r5, 0x14] - ldr r0, [r7, 0x8] - str r0, [r5, 0x4] - strb r4, [r5, 0xC] - strb r4, [r5, 0x10] - adds r0, r5, 0 - adds r0, 0x20 - movs r1, 0 - bl sub_808EC94 - movs r6, 0 - adds r4, r5, 0 - adds r4, 0x2C -_0808D19E: - lsls r1, r6, 1 - adds r0, r7, 0 - adds r0, 0xC - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _0808D1B4 - adds r0, r4, 0 - bl sub_8092AD4 - b _0808D1B6 -_0808D1B4: - strb r1, [r4] -_0808D1B6: - adds r4, 0x8 - adds r6, 0x1 - cmp r6, 0x3 - ble _0808D19E - movs r6, 0 - adds r3, r5, 0 - adds r3, 0x4C - ldr r2, [r7] -_0808D1C6: - adds r0, r3, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x9 - ble _0808D1C6 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808D144 - - thumb_func_start sub_808D1DC -sub_808D1DC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - movs r2, 0x8 - ldrsh r1, [r0, r2] - ldr r0, _0808D204 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r6, [r0, 0x16] - ldr r0, _0808D208 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _0808D238 - b _0808D268 - .align 2, 0 -_0808D204: .4byte gMonsterParameters -_0808D208: .4byte gUnknown_203B468 -_0808D20C: - ldr r0, [r7] - adds r0, r5 - mov r1, r8 - movs r2, 0x58 - bl memcpy - ldr r1, [r7] - adds r1, r5 - ldrh r2, [r1] - ldr r0, _0808D234 - ands r0, r2 - strh r0, [r1] - mov r1, r8 - movs r2, 0x8 - ldrsh r0, [r1, r2] - bl sub_80980B4 - ldr r0, [r7] - adds r0, r5 - b _0808D26A - .align 2, 0 -_0808D234: .4byte 0x0000bfff -_0808D238: - movs r4, 0 - ldr r7, _0808D274 -_0808D23C: - movs r0, 0x58 - adds r5, r4, 0 - muls r5, r0 - ldr r0, [r7] - adds r0, r5, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0808D25E - adds r0, r4, 0 - bl sub_80923D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0808D20C -_0808D25E: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D23C -_0808D268: - movs r0, 0 -_0808D26A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808D274: .4byte gUnknown_203B45C - thumb_func_end sub_808D1DC - - thumb_func_start sub_808D278 -sub_808D278: - push {r4-r7,lr} - lsls r0, 16 - asrs r0, 16 - ldr r1, _0808D29C - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r6, [r1, 0x16] - ldr r0, _0808D2A0 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _0808D2AA - b _0808D2DA - .align 2, 0 -_0808D29C: .4byte gMonsterParameters -_0808D2A0: .4byte gUnknown_203B468 -_0808D2A4: - ldr r0, [r7] - adds r0, r5 - b _0808D2DC -_0808D2AA: - movs r4, 0 - ldr r7, _0808D2E4 -_0808D2AE: - movs r0, 0x58 - adds r5, r4, 0 - muls r5, r0 - ldr r0, [r7] - adds r0, r5, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0808D2D0 - adds r0, r4, 0 - bl sub_80923D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0808D2A4 -_0808D2D0: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D2AE -_0808D2DA: - movs r0, 0 -_0808D2DC: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808D2E4: .4byte gUnknown_203B45C - thumb_func_end sub_808D278 - - thumb_func_start sub_808D2E8 -sub_808D2E8: - push {r4-r6,lr} - sub sp, 0x60 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - ldr r0, [sp, 0x70] - lsls r4, 16 - asrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - str r3, [sp] - str r0, [sp, 0x4] - add r0, sp, 0x8 - adds r1, r4, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_808CFD0 - add r0, sp, 0x8 - bl sub_808D1DC - add sp, 0x60 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808D2E8 - - thumb_func_start sub_808D31C -sub_808D31C: - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _0808D338 - movs r2, 0 - ldrb r0, [r1, 0x4] - cmp r0, 0x41 - bne _0808D330 - movs r2, 0x1 -_0808D330: - adds r0, r2, 0 - cmp r0, 0 - bne _0808D338 - strh r0, [r1] -_0808D338: - pop {r0} - bx r0 - thumb_func_end sub_808D31C - - thumb_func_start sub_808D33C -sub_808D33C: - push {r4,lr} - movs r3, 0 - ldr r0, _0808D360 - ldr r4, [r0] -_0808D344: - movs r0, 0x58 - muls r0, r3 - adds r2, r0, r4 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D364 - ldrb r0, [r2, 0x2] - cmp r0, 0 - beq _0808D364 - adds r0, r2, 0 - b _0808D370 - .align 2, 0 -_0808D360: .4byte gUnknown_203B45C -_0808D364: - adds r3, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - ble _0808D344 - movs r0, 0 -_0808D370: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808D33C - - thumb_func_start sub_808D378 -sub_808D378: - push {r4,lr} - movs r3, 0 - ldr r0, _0808D3A4 - ldr r4, [r0] -_0808D380: - movs r0, 0x58 - muls r0, r3 - adds r2, r0, r4 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D3A8 - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D39A - movs r1, 0x1 -_0808D39A: - cmp r1, 0 - beq _0808D3A8 - adds r0, r2, 0 - b _0808D3B4 - .align 2, 0 -_0808D3A4: .4byte gUnknown_203B45C -_0808D3A8: - adds r3, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - ble _0808D380 - movs r0, 0 -_0808D3B4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808D378 - - thumb_func_start sub_808D3BC -sub_808D3BC: - push {r4-r6,lr} - movs r4, 0 - ldr r0, _0808D3E0 - ldr r2, [r0] - adds r3, r2, 0 - movs r6, 0x1 - movs r5, 0xCE - lsls r5, 1 -_0808D3CC: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D3E4 - ldrb r0, [r2, 0x4] - cmp r0, 0x40 - bne _0808D3E4 - adds r0, r3, 0 - b _0808D3F0 - .align 2, 0 -_0808D3E0: .4byte gUnknown_203B45C -_0808D3E4: - adds r2, 0x58 - adds r3, 0x58 - adds r4, 0x1 - cmp r4, r5 - ble _0808D3CC - movs r0, 0 -_0808D3F0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808D3BC - - thumb_func_start sub_808D3F8 -sub_808D3F8: - push {r4-r6,lr} - movs r4, 0 - ldr r0, _0808D41C - ldr r2, [r0] - adds r3, r2, 0 - movs r6, 0x1 - movs r5, 0xCE - lsls r5, 1 -_0808D408: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D420 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D420 - adds r0, r3, 0 - b _0808D42C - .align 2, 0 -_0808D41C: .4byte gUnknown_203B45C -_0808D420: - adds r2, 0x58 - adds r3, 0x58 - adds r4, 0x1 - cmp r4, r5 - ble _0808D408 - movs r0, 0 -_0808D42C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808D3F8 - - thumb_func_start sub_808D434 -sub_808D434: - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - asrs r5, r0, 16 - ldr r0, _0808D468 - ldr r2, [r0] - movs r4, 0 - movs r3, 0 - movs r0, 0x1 - mov r12, r0 - movs r7, 0xCE - lsls r7, 1 -_0808D44C: - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - cmp r0, 0 - beq _0808D46E - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, r5 - bne _0808D46E - cmp r4, r6 - bne _0808D46C - adds r0, r2, 0 - b _0808D478 - .align 2, 0 -_0808D468: .4byte gUnknown_203B45C -_0808D46C: - adds r4, 0x1 -_0808D46E: - adds r3, 0x1 - adds r2, 0x58 - cmp r3, r7 - ble _0808D44C - movs r0, 0 -_0808D478: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D434 - - thumb_func_start sub_808D480 -sub_808D480: - push {r4,r5,lr} - ldr r0, _0808D4A8 - ldr r2, [r0] - movs r4, 0 - movs r5, 0x1 - ldr r3, _0808D4AC -_0808D48C: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D498 - adds r4, 0x1 -_0808D498: - subs r3, 0x1 - adds r2, 0x58 - cmp r3, 0 - bne _0808D48C - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808D4A8: .4byte gUnknown_203B45C -_0808D4AC: .4byte 0x0000019d - thumb_func_end sub_808D480 - - thumb_func_start sub_808D4B0 -sub_808D4B0: - push {r4-r6,lr} - ldr r0, _0808D4F8 - ldr r2, [r0] - movs r5, 0 - movs r4, 0 - ldr r6, _0808D4FC -_0808D4BC: - ldrh r3, [r2] - lsrs r0, r3, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D4E4 - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D4E4 - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D4D8 - movs r1, 0x1 -_0808D4D8: - cmp r1, 0 - bne _0808D4E4 - movs r5, 0x1 - adds r0, r6, 0 - ands r0, r3 - strh r0, [r2] -_0808D4E4: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D4BC - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808D4F8: .4byte gUnknown_203B45C -_0808D4FC: .4byte 0x0000fffd - thumb_func_end sub_808D4B0 - - thumb_func_start sub_808D500 -sub_808D500: - push {r4-r6,lr} - ldr r0, _0808D53C - ldr r2, [r0] - movs r5, 0 - movs r4, 0 - ldr r6, _0808D540 -_0808D50C: - ldrh r3, [r2] - lsrs r0, r3, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D526 - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D526 - movs r5, 0x1 - adds r0, r6, 0 - ands r0, r3 - strh r0, [r2] -_0808D526: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D50C - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808D53C: .4byte gUnknown_203B45C -_0808D540: .4byte 0x0000fffd - thumb_func_end sub_808D500 - - thumb_func_start sub_808D544 -sub_808D544: - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _0808D57C - ldr r3, [r0] - movs r5, 0 - movs r2, 0 - movs r7, 0x1 - movs r6, 0xCE - lsls r6, 1 - adds r1, r4, 0 -_0808D558: - ldrh r0, [r3] - lsrs r0, 1 - ands r0, r7 - cmp r0, 0 - beq _0808D56C - cmp r4, 0 - beq _0808D568 - str r2, [r1] -_0808D568: - adds r1, 0x4 - adds r5, 0x1 -_0808D56C: - adds r2, 0x1 - adds r3, 0x58 - cmp r2, r6 - ble _0808D558 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808D57C: .4byte gUnknown_203B45C - thumb_func_end sub_808D544 - - thumb_func_start sub_808D580 -sub_808D580: - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, _0808D5AC - ldr r2, [r0] - movs r5, 0 - movs r4, 0 - mov r12, r0 - adds r3, r6, 0 -_0808D590: - ldrb r0, [r2, 0x2] - cmp r0, 0 - beq _0808D5B0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D5B0 - cmp r6, 0 - beq _0808D5B0 - str r4, [r3] - adds r5, 0x1 - b _0808D5BC - .align 2, 0 -_0808D5AC: .4byte gUnknown_203B45C -_0808D5B0: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D590 -_0808D5BC: - mov r0, r12 - ldr r2, [r0] - movs r4, 0 - lsls r0, r5, 2 - adds r7, r0, r6 -_0808D5C6: - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D5D0 - movs r1, 0x1 -_0808D5D0: - cmp r1, 0 - beq _0808D5F8 - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D5F8 - ldrh r1, [r2] - lsrs r0, r1, 1 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0808D5F8 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D5F8 - cmp r6, 0 - beq _0808D5F8 - str r4, [r7] - adds r5, 0x1 - b _0808D604 -_0808D5F8: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D5C6 -_0808D604: - mov r0, r12 - ldr r2, [r0] - movs r4, 0 - movs r3, 0x1 - lsls r0, r5, 2 - adds r7, r0, r6 -_0808D610: - ldrh r1, [r2] - lsrs r0, r1, 1 - ands r0, r3 - cmp r0, 0 - beq _0808D63E - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D63E - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D63E - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D632 - movs r1, 0x1 -_0808D632: - cmp r1, 0 - bne _0808D63E - cmp r6, 0 - beq _0808D63E - stm r7!, {r4} - adds r5, 0x1 -_0808D63E: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D610 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D580 - - thumb_func_start sub_808D654 -sub_808D654: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _0808D6A0 - ldr r2, [r0] - movs r6, 0 - movs r4, 0 - adds r3, r5, 0 -_0808D662: - ldrh r0, [r2] - lsrs r0, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D68C - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D68C - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _0808D67E - movs r1, 0x1 -_0808D67E: - cmp r1, 0 - bne _0808D68C - cmp r5, 0 - beq _0808D688 - str r4, [r3] -_0808D688: - adds r3, 0x4 - adds r6, 0x1 -_0808D68C: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D662 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808D6A0: .4byte gUnknown_203B45C - thumb_func_end sub_808D654 - - thumb_func_start sub_808D6A4 -sub_808D6A4: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _0808D6E4 - ldr r2, [r0] - movs r6, 0 - movs r4, 0 - adds r3, r5, 0 -_0808D6B2: - ldrh r0, [r2] - lsrs r0, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808D6CE - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0808D6CE - cmp r5, 0 - beq _0808D6CA - str r4, [r3] -_0808D6CA: - adds r3, 0x4 - adds r6, 0x1 -_0808D6CE: - adds r4, 0x1 - adds r2, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D6B2 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808D6E4: .4byte gUnknown_203B45C - thumb_func_end sub_808D6A4 - - thumb_func_start sub_808D6E8 -sub_808D6E8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - movs r5, 0 - movs r4, 0 - ldr r0, _0808D740 - mov r8, r0 - movs r6, 0x1 -_0808D6FA: - movs r0, 0x58 - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldr r0, [r2] - adds r2, r0, r1 - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0808D728 - lsrs r0, r1, 1 - ands r0, r6 - cmp r0, 0 - beq _0808D728 - movs r1, 0x8 - ldrsh r0, [r2, r1] - bl sub_808DACC - lsls r0, 24 - lsrs r0, 24 - adds r5, r0 - adds r7, 0x1 -_0808D728: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D6FA - cmp r5, 0x5 - bgt _0808D744 - cmp r7, 0x3 - bgt _0808D744 - movs r0, 0x1 - b _0808D746 - .align 2, 0 -_0808D740: .4byte gUnknown_203B45C -_0808D744: - movs r0, 0 -_0808D746: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D6E8 - - thumb_func_start sub_808D750 -sub_808D750: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - movs r6, 0 - movs r5, 0 - movs r4, 0 - ldr r0, _0808D7C8 - mov r9, r0 - movs r7, 0x1 -_0808D76A: - movs r0, 0x58 - adds r1, r4, 0 - muls r1, r0 - mov r2, r9 - ldr r0, [r2] - adds r1, r0, r1 - ldrh r2, [r1] - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - beq _0808D798 - lsrs r0, r2, 1 - ands r0, r7 - cmp r0, 0 - beq _0808D798 - movs r2, 0x8 - ldrsh r0, [r1, r2] - bl sub_808DACC - lsls r0, 24 - lsrs r0, 24 - adds r5, r0 - adds r6, 0x1 -_0808D798: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0808D76A - cmp r6, 0x3 - bgt _0808D7CC - ldr r2, _0808D7C8 - movs r0, 0x58 - mov r1, r8 - muls r1, r0 - ldr r0, [r2] - adds r1, r0, r1 - movs r2, 0x8 - ldrsh r0, [r1, r2] - bl sub_808DACC - lsls r0, 24 - lsrs r0, 24 - adds r5, r0 - cmp r5, 0x6 - bgt _0808D7CC - movs r0, 0x1 - b _0808D7CE - .align 2, 0 -_0808D7C8: .4byte gUnknown_203B45C -_0808D7CC: - movs r0, 0 -_0808D7CE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D750 - - thumb_func_start sub_808D7DC -sub_808D7DC: - lsls r0, 16 - asrs r0, 16 - ldr r3, _0808D7FC - movs r2, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - adds r2, r0, 0 - adds r2, 0x28 - ldrb r2, [r2] - strb r2, [r1] - adds r0, 0x29 - ldrb r0, [r0] - strb r0, [r1, 0x1] - bx lr - .align 2, 0 -_0808D7FC: .4byte gUnknown_203B45C - thumb_func_end sub_808D7DC - - thumb_func_start sub_808D800 -sub_808D800: - lsls r0, 16 - asrs r0, 16 - ldr r3, _0808D820 - movs r2, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - ldrb r3, [r1] - adds r2, r0, 0 - adds r2, 0x28 - strb r3, [r2] - ldrb r1, [r1, 0x1] - adds r0, 0x29 - strb r1, [r0] - bx lr - .align 2, 0 -_0808D820: .4byte gUnknown_203B45C - thumb_func_end sub_808D800 - - thumb_func_start sub_808D824 -sub_808D824: - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_808D994 - adds r1, r0, 0 - mov r0, sp - bl sub_80922F4 - movs r2, 0 - adds r4, 0x4C -_0808D83E: - adds r0, r4, r2 - mov r3, sp - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0808D850 - movs r0, 0 - b _0808D85C -_0808D850: - cmp r0, 0 - beq _0808D85A - adds r2, 0x1 - cmp r2, 0x9 - ble _0808D83E -_0808D85A: - movs r0, 0x1 -_0808D85C: - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808D824 - - thumb_func_start sub_808D864 -sub_808D864: - push {r4-r7,lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - ldr r2, _0808D8A0 - movs r3, 0x58 - muls r0, r3 - ldr r2, [r2] - adds r0, r2, r0 - adds r6, r0, 0 - adds r6, 0x4C - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r5, r2, 0 - adds r5, 0x4C - movs r7, 0 -_0808D888: - ldrb r0, [r6] - bl sub_8092280 - adds r4, r0, 0 - ldrb r0, [r5] - bl sub_8092280 - cmp r4, r0 - ble _0808D8A4 - movs r0, 0x1 - b _0808D8B4 - .align 2, 0 -_0808D8A0: .4byte gUnknown_203B45C -_0808D8A4: - cmp r4, r0 - blt _0808D8B2 - adds r6, 0x1 - adds r5, 0x1 - adds r7, 0x1 - cmp r7, 0x9 - ble _0808D888 -_0808D8B2: - movs r0, 0 -_0808D8B4: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D864 - - thumb_func_start sub_808D8BC -sub_808D8BC: - push {lr} - lsls r1, 16 - asrs r1, 16 - ldr r2, _0808D8DC - ldr r3, [r2] - lsls r2, r1, 3 - adds r2, r1 - lsls r2, 3 - adds r2, r3 - ldr r1, [r2] - movs r2, 0x14 - bl strncpy - pop {r0} - bx r0 - .align 2, 0 -_0808D8DC: .4byte gMonsterParameters - thumb_func_end sub_808D8BC - - thumb_func_start sub_808D8E0 -sub_808D8E0: - push {r4,lr} - lsls r3, r1, 16 - asrs r3, 16 - ldr r1, _0808D900 - ldr r2, _0808D904 - ldr r4, [r2] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 3 - adds r2, r4 - ldr r2, [r2] - bl sub_800D158 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D900: .4byte gUnknown_8107600 -_0808D904: .4byte gMonsterParameters - thumb_func_end sub_808D8E0 - - thumb_func_start sub_808D908 -sub_808D908: - push {r4,lr} - lsls r3, r1, 16 - asrs r3, 16 - ldr r1, _0808D928 - ldr r2, _0808D92C - ldr r4, [r2] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 3 - adds r2, r4 - ldr r2, [r2] - bl sub_800D158 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D928: .4byte gUnknown_8107608 -_0808D92C: .4byte gMonsterParameters - thumb_func_end sub_808D908 - - thumb_func_start sub_808D930 -sub_808D930: - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 16 - asrs r6, r1, 16 - adds r0, r6, 0 - bl sub_808E770 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC9 - bne _0808D970 - ldr r5, _0808D968 - movs r0, 0xC9 - bl sub_808D994 - adds r4, r0, 0 - adds r0, r6, 0 - bl sub_808E8C8 - ldr r1, _0808D96C - adds r0, r1 - ldrb r3, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_800D158 - b _0808D986 - .align 2, 0 -_0808D968: .4byte gUnknown_8107630 -_0808D96C: .4byte gUnknown_8107610 -_0808D970: - ldr r1, _0808D98C - ldr r0, _0808D990 - ldr r2, [r0] - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 3 - adds r0, r2 - ldr r2, [r0] - adds r0, r7, 0 - bl sub_800D158 -_0808D986: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808D98C: .4byte gUnknown_8107638 -_0808D990: .4byte gMonsterParameters - thumb_func_end sub_808D930 - - thumb_func_start sub_808D994 -sub_808D994: - lsls r0, 16 - asrs r0, 16 - ldr r1, _0808D9A8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, [r1] - bx lr - .align 2, 0 -_0808D9A8: .4byte gMonsterParameters - thumb_func_end sub_808D994 - - thumb_func_start sub_808D9AC -sub_808D9AC: - push {r4,r5,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r2, 0 - adds r1, 0x4C - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - cmp r4, 0 - bne _0808D9C4 - movs r4, 0x5 -_0808D9C4: - ldr r1, _0808D9D8 - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, sp - bl sub_800D158 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808D9D8: .4byte gUnknown_810763C - thumb_func_end sub_808D9AC - - thumb_func_start sub_808D9DC -sub_808D9DC: - push {r4,r5,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r2, 0 - adds r1, 0x58 - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - cmp r4, 0 - bne _0808D9F4 - movs r4, 0x6 -_0808D9F4: - ldr r1, _0808DA08 - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, sp - bl sub_800D158 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808DA08: .4byte gUnknown_810763C - thumb_func_end sub_808D9DC - - thumb_func_start sub_808DA0C -sub_808DA0C: - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r1, 0x58 - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - ldr r1, _0808DA30 - adds r0, r4, 0 - mov r2, sp - bl sub_800D158 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DA30: .4byte gUnknown_8107638 - thumb_func_end sub_808DA0C - - thumb_func_start sub_808DA34 -sub_808DA34: - push {lr} - adds r1, 0x4C - movs r2, 0xA - bl sub_80922B4 - pop {r0} - bx r0 - thumb_func_end sub_808DA34 - - thumb_func_start sub_808DA44 -sub_808DA44: - push {r4-r6,lr} - sub sp, 0x30 - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r2, 0xC - bls _0808DAA0 - mov r1, sp - ldr r0, _0808DA98 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0808DA92 - mov r1, sp - add r3, sp, 0x48 -_0808DA76: - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r4 - bne _0808DA84 - ldr r0, [r1, 0x4] - cmp r0, r2 - beq _0808DA9C -_0808DA84: - adds r1, 0x8 - cmp r1, r3 - bgt _0808DA92 - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _0808DA76 -_0808DA92: - movs r0, 0 - b _0808DAA6 - .align 2, 0 -_0808DA98: .4byte gUnknown_8107654 -_0808DA9C: - movs r0, 0x1 - b _0808DAA6 -_0808DAA0: - ldr r0, _0808DAB0 - adds r0, r2, r0 - ldrb r0, [r0] -_0808DAA6: - add sp, 0x30 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808DAB0: .4byte gUnknown_8107645 - thumb_func_end sub_808DA44 - .align 2,0 @ Don't pad with nop diff --git a/asm/pokemon.s b/asm/pokemon.s index 600a73c..edb5334 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -4,6 +4,1781 @@ .syntax unified .text + + thumb_func_start sub_808CE08 +sub_808CE08: + push {r4-r7,lr} + ldr r4, _0808CE60 + movs r3, 0 + movs r1, 0 + ldr r2, _0808CE64 +_0808CE12: + ldr r0, [r4] + adds r0, r1 + strh r3, [r0] + adds r1, 0x58 + subs r2, 0x1 + cmp r2, 0 + bne _0808CE12 + ldr r5, _0808CE60 + ldr r4, _0808CE68 + movs r3, 0 + movs r1, 0 + movs r2, 0x3 +_0808CE2A: + ldr r0, [r5] + adds r0, r1 + adds r0, r4 + strh r3, [r0] + adds r1, 0x64 + subs r2, 0x1 + cmp r2, 0 + bge _0808CE2A + ldr r7, _0808CE60 + ldr r6, _0808CE6C + movs r4, 0 + movs r3, 0 + ldr r5, _0808CE70 + movs r2, 0x3 +_0808CE46: + ldr r0, [r7] + adds r0, r3 + adds r1, r0, r6 + strh r4, [r1] + adds r0, r5 + strh r4, [r0] + adds r3, 0x58 + subs r2, 0x1 + cmp r2, 0 + bge _0808CE46 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0808CE60: .4byte gUnknown_203B45C +_0808CE64: .4byte 0x0000019d +_0808CE68: .4byte 0x00008df8 +_0808CE6C: .4byte 0x00008f90 +_0808CE70: .4byte 0x00008f88 + thumb_func_end sub_808CE08 + + thumb_func_start sub_808CE74 +sub_808CE74: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x6C + mov r8, r2 + lsls r0, 16 + asrs r7, r0, 16 + lsls r1, 24 + mov r2, sp + movs r0, 0x3 + strh r0, [r2] + cmp r1, 0 + beq _0808CE9C + mov r1, sp + movs r0, 0x1 + strb r0, [r1, 0x2] + movs r0, 0x40 + b _0808CEA4 +_0808CE9C: + mov r1, sp + movs r0, 0 + strb r0, [r1, 0x2] + movs r0, 0x41 +_0808CEA4: + strb r0, [r1, 0x4] + mov r0, sp + movs r6, 0 + movs r5, 0x1 + strb r5, [r0, 0x3] + adds r0, r7, 0 + bl sub_808DBC0 + mov r1, sp + movs r4, 0 + strh r0, [r1, 0x16] + adds r0, r7, 0 + movs r1, 0 + bl sub_808DC28 + mov r1, sp + strb r0, [r1, 0x18] + adds r0, r7, 0 + movs r1, 0x1 + bl sub_808DC28 + mov r1, sp + strb r0, [r1, 0x19] + adds r0, r7, 0 + movs r1, 0 + bl sub_808DC48 + mov r1, sp + strb r0, [r1, 0x1A] + adds r0, r7, 0 + movs r1, 0x1 + bl sub_808DC48 + mov r1, sp + strb r0, [r1, 0x1B] + mov r0, sp + strh r5, [r0, 0x14] + strb r4, [r0, 0xC] + strb r4, [r0, 0x10] + add r0, sp, 0x20 + movs r1, 0 + bl sub_808EC94 + mov r0, sp + strh r7, [r0, 0x8] + add r0, sp, 0x28 + strb r4, [r0] + adds r0, 0x1 + strb r4, [r0] + str r6, [sp, 0x1C] + add r0, sp, 0x24 + strb r4, [r0] + mov r0, sp + strb r4, [r0, 0x5] + add r0, sp, 0x2C + adds r1, r7, 0 + bl sub_808E490 + mov r0, r8 + cmp r0, 0 + bne _0808CF5C + add r4, sp, 0x58 + adds r0, r4, 0 + adds r1, r7, 0 + bl sub_808D8BC + add r0, sp, 0x4C + adds r1, r4, 0 + movs r2, 0xA + bl sub_8092310 + lsls r4, r7, 3 + b _0808CF72 +_0808CF36: + mov r1, r8 + ldr r0, [r1] + adds r0, r6 + mov r1, sp + movs r2, 0x58 + bl memcpy + ldr r0, _0808CF58 + ldr r0, [r0] + adds r0, r4 + mov r5, r9 + strb r5, [r0] + adds r0, r7, 0 + bl sub_80980B4 + b _0808CFB8 + .align 2, 0 +_0808CF58: .4byte gUnknown_203B468 +_0808CF5C: + movs r2, 0 + lsls r4, r7, 3 + add r3, sp, 0x4C +_0808CF62: + adds r0, r3, r2 + mov r5, r8 + adds r1, r5, r2 + ldrb r1, [r1] + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x9 + ble _0808CF62 +_0808CF72: + ldr r0, _0808CFC8 + ldr r1, [r0] + adds r0, r4, r7 + lsls r0, 3 + adds r0, r1 + ldrb r0, [r0, 0x16] + mov r10, r0 + movs r5, 0 + ldr r0, _0808CFCC + mov r8, r0 + movs r1, 0x1 + mov r9, r1 +_0808CF8A: + movs r0, 0x58 + adds r6, r5, 0 + muls r6, r0 + mov r1, r8 + ldr r0, [r1] + adds r0, r6, r0 + ldrb r1, [r0] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _0808CFAE + adds r0, r5, 0 + bl sub_80923D4 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r10 + beq _0808CF36 +_0808CFAE: + adds r5, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r5, r0 + ble _0808CF8A +_0808CFB8: + add sp, 0x6C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0808CFC8: .4byte gMonsterParameters +_0808CFCC: .4byte gUnknown_203B45C + thumb_func_end sub_808CE74 + + thumb_func_start sub_808CFD0 +sub_808CFD0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + adds r7, r0, 0 + mov r10, r2 + adds r4, r3, 0 + lsls r1, 16 + asrs r1, 16 + mov r9, r1 + lsls r4, 24 + lsrs r4, 24 + movs r5, 0 + movs r0, 0 + mov r8, r0 + movs r0, 0x1 + movs r6, 0x1 + strh r6, [r7] + strb r5, [r7, 0x2] + strb r0, [r7, 0x3] + mov r0, r9 + bl sub_808DBC0 + strh r0, [r7, 0x16] + mov r0, r9 + movs r1, 0 + bl sub_808DC28 + strb r0, [r7, 0x18] + mov r0, r9 + movs r1, 0x1 + bl sub_808DC28 + strb r0, [r7, 0x19] + mov r0, r9 + movs r1, 0 + bl sub_808DC48 + strb r0, [r7, 0x1A] + mov r0, r9 + movs r1, 0x1 + bl sub_808DC48 + strb r0, [r7, 0x1B] + mov r1, r9 + strh r1, [r7, 0x8] + adds r0, r7, 0 + adds r0, 0x28 + adds r1, r4, 0 + bl sub_8090B08 + mov r4, r8 + str r4, [r7, 0x1C] + adds r0, r7, 0 + adds r0, 0x24 + strb r5, [r0] + strh r6, [r7, 0x14] + ldr r1, [sp, 0x34] + ldr r0, [r1] + str r0, [r7, 0x4] + strb r5, [r7, 0xC] + strb r5, [r7, 0x10] + adds r0, r7, 0 + adds r0, 0x20 + movs r1, 0 + bl sub_808EC94 + ldr r4, [sp, 0x38] + cmp r4, 0 + beq _0808D08C + movs r0, 0x4C + adds r0, r7 + mov r8, r0 + adds r5, r4, 0 + adds r4, r7, 0 + adds r4, 0x2C + movs r6, 0x3 +_0808D06E: + ldrh r0, [r5] + cmp r0, 0 + beq _0808D07E + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8092AD4 + b _0808D080 +_0808D07E: + strb r0, [r4] +_0808D080: + adds r5, 0x2 + adds r4, 0x8 + subs r6, 0x1 + cmp r6, 0 + bge _0808D06E + b _0808D09A +_0808D08C: + adds r0, r7, 0 + adds r0, 0x2C + mov r1, r9 + bl sub_808E490 + adds r7, 0x4C + mov r8, r7 +_0808D09A: + mov r1, r10 + cmp r1, 0 + bne _0808D0B4 + mov r0, sp + mov r1, r9 + bl sub_808D8BC + mov r0, r8 + mov r1, sp + movs r2, 0xA + bl sub_8092310 + b _0808D0C8 +_0808D0B4: + movs r2, 0 + mov r3, r8 +_0808D0B8: + adds r0, r3, r2 + mov r4, r10 + adds r1, r4, r2 + ldrb r1, [r1] + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x9 + ble _0808D0B8 +_0808D0C8: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_808CFD0 + + thumb_func_start sub_808D0D8 +sub_808D0D8: + push {r4-r7,lr} + adds r7, r0, 0 + movs r6, 0 + movs r4, 0x1 + strb r4, [r7, 0x3] + movs r1, 0x8 + ldrsh r0, [r7, r1] + bl sub_808DBC0 + movs r5, 0 + strh r0, [r7, 0x16] + movs r2, 0x8 + ldrsh r0, [r7, r2] + movs r1, 0 + bl sub_808DC28 + strb r0, [r7, 0x18] + movs r1, 0x8 + ldrsh r0, [r7, r1] + movs r1, 0x1 + bl sub_808DC28 + strb r0, [r7, 0x19] + movs r2, 0x8 + ldrsh r0, [r7, r2] + movs r1, 0 + bl sub_808DC48 + strb r0, [r7, 0x1A] + movs r1, 0x8 + ldrsh r0, [r7, r1] + movs r1, 0x1 + bl sub_808DC48 + strb r0, [r7, 0x1B] + str r6, [r7, 0x1C] + adds r0, r7, 0 + adds r0, 0x24 + strb r5, [r0] + strh r4, [r7, 0x14] + subs r0, 0x4 + movs r1, 0 + bl sub_808EC94 + adds r0, r7, 0 + adds r0, 0x2C + movs r2, 0x8 + ldrsh r1, [r7, r2] + bl sub_808E490 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_808D0D8 + + thumb_func_start sub_808D144 +sub_808D144: + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + movs r4, 0 + movs r0, 0x1 + strh r0, [r5] + strb r4, [r5, 0x2] + ldrh r0, [r7, 0x16] + strb r0, [r5, 0x3] + ldrh r0, [r7, 0x14] + strh r0, [r5, 0x16] + ldrh r0, [r7, 0x1A] + strb r0, [r5, 0x18] + ldrh r0, [r7, 0x1C] + strb r0, [r5, 0x19] + ldrh r0, [r7, 0x1E] + strb r0, [r5, 0x1A] + ldrh r0, [r7, 0x20] + strb r0, [r5, 0x1B] + ldrh r0, [r7, 0x4] + strh r0, [r5, 0x8] + adds r0, r5, 0 + adds r0, 0x28 + ldrb r1, [r7, 0x6] + bl sub_8090B08 + ldr r0, [r7, 0x24] + str r0, [r5, 0x1C] + adds r0, r5, 0 + adds r0, 0x24 + strb r4, [r0] + ldrh r0, [r7, 0x18] + strh r0, [r5, 0x14] + ldr r0, [r7, 0x8] + str r0, [r5, 0x4] + strb r4, [r5, 0xC] + strb r4, [r5, 0x10] + adds r0, r5, 0 + adds r0, 0x20 + movs r1, 0 + bl sub_808EC94 + movs r6, 0 + adds r4, r5, 0 + adds r4, 0x2C +_0808D19E: + lsls r1, r6, 1 + adds r0, r7, 0 + adds r0, 0xC + adds r0, r1 + ldrh r1, [r0] + cmp r1, 0 + beq _0808D1B4 + adds r0, r4, 0 + bl sub_8092AD4 + b _0808D1B6 +_0808D1B4: + strb r1, [r4] +_0808D1B6: + adds r4, 0x8 + adds r6, 0x1 + cmp r6, 0x3 + ble _0808D19E + movs r6, 0 + adds r3, r5, 0 + adds r3, 0x4C + ldr r2, [r7] +_0808D1C6: + adds r0, r3, r6 + adds r1, r2, r6 + ldrb r1, [r1] + strb r1, [r0] + adds r6, 0x1 + cmp r6, 0x9 + ble _0808D1C6 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_808D144 + + thumb_func_start sub_808D1DC +sub_808D1DC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r8, r0 + movs r2, 0x8 + ldrsh r1, [r0, r2] + ldr r0, _0808D204 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrb r6, [r0, 0x16] + ldr r0, _0808D208 + ldr r0, [r0] + adds r0, r6 + ldrb r0, [r0] + cmp r0, 0 + bne _0808D238 + b _0808D268 + .align 2, 0 +_0808D204: .4byte gMonsterParameters +_0808D208: .4byte gUnknown_203B468 +_0808D20C: + ldr r0, [r7] + adds r0, r5 + mov r1, r8 + movs r2, 0x58 + bl memcpy + ldr r1, [r7] + adds r1, r5 + ldrh r2, [r1] + ldr r0, _0808D234 + ands r0, r2 + strh r0, [r1] + mov r1, r8 + movs r2, 0x8 + ldrsh r0, [r1, r2] + bl sub_80980B4 + ldr r0, [r7] + adds r0, r5 + b _0808D26A + .align 2, 0 +_0808D234: .4byte 0x0000bfff +_0808D238: + movs r4, 0 + ldr r7, _0808D274 +_0808D23C: + movs r0, 0x58 + adds r5, r4, 0 + muls r5, r0 + ldr r0, [r7] + adds r0, r5, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0808D25E + adds r0, r4, 0 + bl sub_80923D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, r6 + beq _0808D20C +_0808D25E: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D23C +_0808D268: + movs r0, 0 +_0808D26A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0808D274: .4byte gUnknown_203B45C + thumb_func_end sub_808D1DC + + thumb_func_start sub_808D278 +sub_808D278: + push {r4-r7,lr} + lsls r0, 16 + asrs r0, 16 + ldr r1, _0808D29C + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r6, [r1, 0x16] + ldr r0, _0808D2A0 + ldr r0, [r0] + adds r0, r6 + ldrb r0, [r0] + cmp r0, 0 + bne _0808D2AA + b _0808D2DA + .align 2, 0 +_0808D29C: .4byte gMonsterParameters +_0808D2A0: .4byte gUnknown_203B468 +_0808D2A4: + ldr r0, [r7] + adds r0, r5 + b _0808D2DC +_0808D2AA: + movs r4, 0 + ldr r7, _0808D2E4 +_0808D2AE: + movs r0, 0x58 + adds r5, r4, 0 + muls r5, r0 + ldr r0, [r7] + adds r0, r5, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0808D2D0 + adds r0, r4, 0 + bl sub_80923D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, r6 + beq _0808D2A4 +_0808D2D0: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D2AE +_0808D2DA: + movs r0, 0 +_0808D2DC: + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0808D2E4: .4byte gUnknown_203B45C + thumb_func_end sub_808D278 + + thumb_func_start sub_808D2E8 +sub_808D2E8: + push {r4-r6,lr} + sub sp, 0x60 + adds r4, r0, 0 + adds r6, r1, 0 + adds r5, r2, 0 + ldr r0, [sp, 0x70] + lsls r4, 16 + asrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + str r3, [sp] + str r0, [sp, 0x4] + add r0, sp, 0x8 + adds r1, r4, 0 + adds r2, r6, 0 + adds r3, r5, 0 + bl sub_808CFD0 + add r0, sp, 0x8 + bl sub_808D1DC + add sp, 0x60 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_808D2E8 + + thumb_func_start sub_808D31C +sub_808D31C: + push {lr} + adds r1, r0, 0 + ldrb r0, [r1, 0x2] + cmp r0, 0 + bne _0808D338 + movs r2, 0 + ldrb r0, [r1, 0x4] + cmp r0, 0x41 + bne _0808D330 + movs r2, 0x1 +_0808D330: + adds r0, r2, 0 + cmp r0, 0 + bne _0808D338 + strh r0, [r1] +_0808D338: + pop {r0} + bx r0 + thumb_func_end sub_808D31C + + thumb_func_start sub_808D33C +sub_808D33C: + push {r4,lr} + movs r3, 0 + ldr r0, _0808D360 + ldr r4, [r0] +_0808D344: + movs r0, 0x58 + muls r0, r3 + adds r2, r0, r4 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D364 + ldrb r0, [r2, 0x2] + cmp r0, 0 + beq _0808D364 + adds r0, r2, 0 + b _0808D370 + .align 2, 0 +_0808D360: .4byte gUnknown_203B45C +_0808D364: + adds r3, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r3, r0 + ble _0808D344 + movs r0, 0 +_0808D370: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_808D33C + + thumb_func_start sub_808D378 +sub_808D378: + push {r4,lr} + movs r3, 0 + ldr r0, _0808D3A4 + ldr r4, [r0] +_0808D380: + movs r0, 0x58 + muls r0, r3 + adds r2, r0, r4 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D3A8 + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D39A + movs r1, 0x1 +_0808D39A: + cmp r1, 0 + beq _0808D3A8 + adds r0, r2, 0 + b _0808D3B4 + .align 2, 0 +_0808D3A4: .4byte gUnknown_203B45C +_0808D3A8: + adds r3, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r3, r0 + ble _0808D380 + movs r0, 0 +_0808D3B4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_808D378 + + thumb_func_start sub_808D3BC +sub_808D3BC: + push {r4-r6,lr} + movs r4, 0 + ldr r0, _0808D3E0 + ldr r2, [r0] + adds r3, r2, 0 + movs r6, 0x1 + movs r5, 0xCE + lsls r5, 1 +_0808D3CC: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D3E4 + ldrb r0, [r2, 0x4] + cmp r0, 0x40 + bne _0808D3E4 + adds r0, r3, 0 + b _0808D3F0 + .align 2, 0 +_0808D3E0: .4byte gUnknown_203B45C +_0808D3E4: + adds r2, 0x58 + adds r3, 0x58 + adds r4, 0x1 + cmp r4, r5 + ble _0808D3CC + movs r0, 0 +_0808D3F0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_808D3BC + + thumb_func_start sub_808D3F8 +sub_808D3F8: + push {r4-r6,lr} + movs r4, 0 + ldr r0, _0808D41C + ldr r2, [r0] + adds r3, r2, 0 + movs r6, 0x1 + movs r5, 0xCE + lsls r5, 1 +_0808D408: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D420 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D420 + adds r0, r3, 0 + b _0808D42C + .align 2, 0 +_0808D41C: .4byte gUnknown_203B45C +_0808D420: + adds r2, 0x58 + adds r3, 0x58 + adds r4, 0x1 + cmp r4, r5 + ble _0808D408 + movs r0, 0 +_0808D42C: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_808D3F8 + + thumb_func_start sub_808D434 +sub_808D434: + push {r4-r7,lr} + adds r6, r1, 0 + lsls r0, 16 + asrs r5, r0, 16 + ldr r0, _0808D468 + ldr r2, [r0] + movs r4, 0 + movs r3, 0 + movs r0, 0x1 + mov r12, r0 + movs r7, 0xCE + lsls r7, 1 +_0808D44C: + ldrb r1, [r2] + mov r0, r12 + ands r0, r1 + cmp r0, 0 + beq _0808D46E + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, r5 + bne _0808D46E + cmp r4, r6 + bne _0808D46C + adds r0, r2, 0 + b _0808D478 + .align 2, 0 +_0808D468: .4byte gUnknown_203B45C +_0808D46C: + adds r4, 0x1 +_0808D46E: + adds r3, 0x1 + adds r2, 0x58 + cmp r3, r7 + ble _0808D44C + movs r0, 0 +_0808D478: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808D434 + + thumb_func_start sub_808D480 +sub_808D480: + push {r4,r5,lr} + ldr r0, _0808D4A8 + ldr r2, [r0] + movs r4, 0 + movs r5, 0x1 + ldr r3, _0808D4AC +_0808D48C: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D498 + adds r4, 0x1 +_0808D498: + subs r3, 0x1 + adds r2, 0x58 + cmp r3, 0 + bne _0808D48C + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0808D4A8: .4byte gUnknown_203B45C +_0808D4AC: .4byte 0x0000019d + thumb_func_end sub_808D480 + + thumb_func_start sub_808D4B0 +sub_808D4B0: + push {r4-r6,lr} + ldr r0, _0808D4F8 + ldr r2, [r0] + movs r5, 0 + movs r4, 0 + ldr r6, _0808D4FC +_0808D4BC: + ldrh r3, [r2] + lsrs r0, r3, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D4E4 + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D4E4 + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D4D8 + movs r1, 0x1 +_0808D4D8: + cmp r1, 0 + bne _0808D4E4 + movs r5, 0x1 + adds r0, r6, 0 + ands r0, r3 + strh r0, [r2] +_0808D4E4: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D4BC + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808D4F8: .4byte gUnknown_203B45C +_0808D4FC: .4byte 0x0000fffd + thumb_func_end sub_808D4B0 + + thumb_func_start sub_808D500 +sub_808D500: + push {r4-r6,lr} + ldr r0, _0808D53C + ldr r2, [r0] + movs r5, 0 + movs r4, 0 + ldr r6, _0808D540 +_0808D50C: + ldrh r3, [r2] + lsrs r0, r3, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D526 + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D526 + movs r5, 0x1 + adds r0, r6, 0 + ands r0, r3 + strh r0, [r2] +_0808D526: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D50C + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808D53C: .4byte gUnknown_203B45C +_0808D540: .4byte 0x0000fffd + thumb_func_end sub_808D500 + + thumb_func_start sub_808D544 +sub_808D544: + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, _0808D57C + ldr r3, [r0] + movs r5, 0 + movs r2, 0 + movs r7, 0x1 + movs r6, 0xCE + lsls r6, 1 + adds r1, r4, 0 +_0808D558: + ldrh r0, [r3] + lsrs r0, 1 + ands r0, r7 + cmp r0, 0 + beq _0808D56C + cmp r4, 0 + beq _0808D568 + str r2, [r1] +_0808D568: + adds r1, 0x4 + adds r5, 0x1 +_0808D56C: + adds r2, 0x1 + adds r3, 0x58 + cmp r2, r6 + ble _0808D558 + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0808D57C: .4byte gUnknown_203B45C + thumb_func_end sub_808D544 + + thumb_func_start sub_808D580 +sub_808D580: + push {r4-r7,lr} + adds r6, r0, 0 + ldr r0, _0808D5AC + ldr r2, [r0] + movs r5, 0 + movs r4, 0 + mov r12, r0 + adds r3, r6, 0 +_0808D590: + ldrb r0, [r2, 0x2] + cmp r0, 0 + beq _0808D5B0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D5B0 + cmp r6, 0 + beq _0808D5B0 + str r4, [r3] + adds r5, 0x1 + b _0808D5BC + .align 2, 0 +_0808D5AC: .4byte gUnknown_203B45C +_0808D5B0: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D590 +_0808D5BC: + mov r0, r12 + ldr r2, [r0] + movs r4, 0 + lsls r0, r5, 2 + adds r7, r0, r6 +_0808D5C6: + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D5D0 + movs r1, 0x1 +_0808D5D0: + cmp r1, 0 + beq _0808D5F8 + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D5F8 + ldrh r1, [r2] + lsrs r0, r1, 1 + movs r3, 0x1 + ands r0, r3 + cmp r0, 0 + beq _0808D5F8 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D5F8 + cmp r6, 0 + beq _0808D5F8 + str r4, [r7] + adds r5, 0x1 + b _0808D604 +_0808D5F8: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D5C6 +_0808D604: + mov r0, r12 + ldr r2, [r0] + movs r4, 0 + movs r3, 0x1 + lsls r0, r5, 2 + adds r7, r0, r6 +_0808D610: + ldrh r1, [r2] + lsrs r0, r1, 1 + ands r0, r3 + cmp r0, 0 + beq _0808D63E + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D63E + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D63E + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D632 + movs r1, 0x1 +_0808D632: + cmp r1, 0 + bne _0808D63E + cmp r6, 0 + beq _0808D63E + stm r7!, {r4} + adds r5, 0x1 +_0808D63E: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D610 + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808D580 + + thumb_func_start sub_808D654 +sub_808D654: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _0808D6A0 + ldr r2, [r0] + movs r6, 0 + movs r4, 0 + adds r3, r5, 0 +_0808D662: + ldrh r0, [r2] + lsrs r0, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D68C + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D68C + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _0808D67E + movs r1, 0x1 +_0808D67E: + cmp r1, 0 + bne _0808D68C + cmp r5, 0 + beq _0808D688 + str r4, [r3] +_0808D688: + adds r3, 0x4 + adds r6, 0x1 +_0808D68C: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D662 + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808D6A0: .4byte gUnknown_203B45C + thumb_func_end sub_808D654 + + thumb_func_start sub_808D6A4 +sub_808D6A4: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _0808D6E4 + ldr r2, [r0] + movs r6, 0 + movs r4, 0 + adds r3, r5, 0 +_0808D6B2: + ldrh r0, [r2] + lsrs r0, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808D6CE + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _0808D6CE + cmp r5, 0 + beq _0808D6CA + str r4, [r3] +_0808D6CA: + adds r3, 0x4 + adds r6, 0x1 +_0808D6CE: + adds r4, 0x1 + adds r2, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D6B2 + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808D6E4: .4byte gUnknown_203B45C + thumb_func_end sub_808D6A4 + + thumb_func_start sub_808D6E8 +sub_808D6E8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r7, 0 + movs r5, 0 + movs r4, 0 + ldr r0, _0808D740 + mov r8, r0 + movs r6, 0x1 +_0808D6FA: + movs r0, 0x58 + adds r1, r4, 0 + muls r1, r0 + mov r2, r8 + ldr r0, [r2] + adds r2, r0, r1 + ldrh r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0808D728 + lsrs r0, r1, 1 + ands r0, r6 + cmp r0, 0 + beq _0808D728 + movs r1, 0x8 + ldrsh r0, [r2, r1] + bl sub_808DACC + lsls r0, 24 + lsrs r0, 24 + adds r5, r0 + adds r7, 0x1 +_0808D728: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D6FA + cmp r5, 0x5 + bgt _0808D744 + cmp r7, 0x3 + bgt _0808D744 + movs r0, 0x1 + b _0808D746 + .align 2, 0 +_0808D740: .4byte gUnknown_203B45C +_0808D744: + movs r0, 0 +_0808D746: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808D6E8 + + thumb_func_start sub_808D750 +sub_808D750: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 16 + asrs r0, 16 + mov r8, r0 + movs r6, 0 + movs r5, 0 + movs r4, 0 + ldr r0, _0808D7C8 + mov r9, r0 + movs r7, 0x1 +_0808D76A: + movs r0, 0x58 + adds r1, r4, 0 + muls r1, r0 + mov r2, r9 + ldr r0, [r2] + adds r1, r0, r1 + ldrh r2, [r1] + adds r0, r7, 0 + ands r0, r2 + cmp r0, 0 + beq _0808D798 + lsrs r0, r2, 1 + ands r0, r7 + cmp r0, 0 + beq _0808D798 + movs r2, 0x8 + ldrsh r0, [r1, r2] + bl sub_808DACC + lsls r0, 24 + lsrs r0, 24 + adds r5, r0 + adds r6, 0x1 +_0808D798: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0808D76A + cmp r6, 0x3 + bgt _0808D7CC + ldr r2, _0808D7C8 + movs r0, 0x58 + mov r1, r8 + muls r1, r0 + ldr r0, [r2] + adds r1, r0, r1 + movs r2, 0x8 + ldrsh r0, [r1, r2] + bl sub_808DACC + lsls r0, 24 + lsrs r0, 24 + adds r5, r0 + cmp r5, 0x6 + bgt _0808D7CC + movs r0, 0x1 + b _0808D7CE + .align 2, 0 +_0808D7C8: .4byte gUnknown_203B45C +_0808D7CC: + movs r0, 0 +_0808D7CE: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808D750 + + thumb_func_start sub_808D7DC +sub_808D7DC: + lsls r0, 16 + asrs r0, 16 + ldr r3, _0808D7FC + movs r2, 0x58 + muls r2, r0 + ldr r0, [r3] + adds r0, r2 + adds r2, r0, 0 + adds r2, 0x28 + ldrb r2, [r2] + strb r2, [r1] + adds r0, 0x29 + ldrb r0, [r0] + strb r0, [r1, 0x1] + bx lr + .align 2, 0 +_0808D7FC: .4byte gUnknown_203B45C + thumb_func_end sub_808D7DC + + thumb_func_start sub_808D800 +sub_808D800: + lsls r0, 16 + asrs r0, 16 + ldr r3, _0808D820 + movs r2, 0x58 + muls r2, r0 + ldr r0, [r3] + adds r0, r2 + ldrb r3, [r1] + adds r2, r0, 0 + adds r2, 0x28 + strb r3, [r2] + ldrb r1, [r1, 0x1] + adds r0, 0x29 + strb r1, [r0] + bx lr + .align 2, 0 +_0808D820: .4byte gUnknown_203B45C + thumb_func_end sub_808D800 + + thumb_func_start sub_808D824 +sub_808D824: + push {r4,lr} + sub sp, 0x14 + adds r4, r0, 0 + movs r1, 0x8 + ldrsh r0, [r4, r1] + bl sub_808D994 + adds r1, r0, 0 + mov r0, sp + bl sub_80922F4 + movs r2, 0 + adds r4, 0x4C +_0808D83E: + adds r0, r4, r2 + mov r3, sp + adds r1, r3, r2 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + beq _0808D850 + movs r0, 0 + b _0808D85C +_0808D850: + cmp r0, 0 + beq _0808D85A + adds r2, 0x1 + cmp r2, 0x9 + ble _0808D83E +_0808D85A: + movs r0, 0x1 +_0808D85C: + add sp, 0x14 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_808D824 + + thumb_func_start sub_808D864 +sub_808D864: + push {r4-r7,lr} + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + ldr r2, _0808D8A0 + movs r3, 0x58 + muls r0, r3 + ldr r2, [r2] + adds r0, r2, r0 + adds r6, r0, 0 + adds r6, 0x4C + adds r0, r1, 0 + muls r0, r3 + adds r2, r0 + adds r5, r2, 0 + adds r5, 0x4C + movs r7, 0 +_0808D888: + ldrb r0, [r6] + bl sub_8092280 + adds r4, r0, 0 + ldrb r0, [r5] + bl sub_8092280 + cmp r4, r0 + ble _0808D8A4 + movs r0, 0x1 + b _0808D8B4 + .align 2, 0 +_0808D8A0: .4byte gUnknown_203B45C +_0808D8A4: + cmp r4, r0 + blt _0808D8B2 + adds r6, 0x1 + adds r5, 0x1 + adds r7, 0x1 + cmp r7, 0x9 + ble _0808D888 +_0808D8B2: + movs r0, 0 +_0808D8B4: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808D864 + + thumb_func_start sub_808D8BC +sub_808D8BC: + push {lr} + lsls r1, 16 + asrs r1, 16 + ldr r2, _0808D8DC + ldr r3, [r2] + lsls r2, r1, 3 + adds r2, r1 + lsls r2, 3 + adds r2, r3 + ldr r1, [r2] + movs r2, 0x14 + bl strncpy + pop {r0} + bx r0 + .align 2, 0 +_0808D8DC: .4byte gMonsterParameters + thumb_func_end sub_808D8BC + + thumb_func_start sub_808D8E0 +sub_808D8E0: + push {r4,lr} + lsls r3, r1, 16 + asrs r3, 16 + ldr r1, _0808D900 + ldr r2, _0808D904 + ldr r4, [r2] + lsls r2, r3, 3 + adds r2, r3 + lsls r2, 3 + adds r2, r4 + ldr r2, [r2] + bl sub_800D158 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0808D900: .4byte gUnknown_8107600 +_0808D904: .4byte gMonsterParameters + thumb_func_end sub_808D8E0 + + thumb_func_start sub_808D908 +sub_808D908: + push {r4,lr} + lsls r3, r1, 16 + asrs r3, 16 + ldr r1, _0808D928 + ldr r2, _0808D92C + ldr r4, [r2] + lsls r2, r3, 3 + adds r2, r3 + lsls r2, 3 + adds r2, r4 + ldr r2, [r2] + bl sub_800D158 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0808D928: .4byte gUnknown_8107608 +_0808D92C: .4byte gMonsterParameters + thumb_func_end sub_808D908 + + thumb_func_start sub_808D930 +sub_808D930: + push {r4-r7,lr} + adds r7, r0, 0 + lsls r1, 16 + asrs r6, r1, 16 + adds r0, r6, 0 + bl sub_808E770 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC9 + bne _0808D970 + ldr r5, _0808D968 + movs r0, 0xC9 + bl sub_808D994 + adds r4, r0, 0 + adds r0, r6, 0 + bl sub_808E8C8 + ldr r1, _0808D96C + adds r0, r1 + ldrb r3, [r0] + adds r0, r7, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_800D158 + b _0808D986 + .align 2, 0 +_0808D968: .4byte gUnknown_8107630 +_0808D96C: .4byte gUnknown_8107610 +_0808D970: + ldr r1, _0808D98C + ldr r0, _0808D990 + ldr r2, [r0] + lsls r0, r6, 3 + adds r0, r6 + lsls r0, 3 + adds r0, r2 + ldr r2, [r0] + adds r0, r7, 0 + bl sub_800D158 +_0808D986: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0808D98C: .4byte gUnknown_8107638 +_0808D990: .4byte gMonsterParameters + thumb_func_end sub_808D930 + + thumb_func_start sub_808D994 +sub_808D994: + lsls r0, 16 + asrs r0, 16 + ldr r1, _0808D9A8 + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, [r1] + bx lr + .align 2, 0 +_0808D9A8: .4byte gMonsterParameters + thumb_func_end sub_808D994 + + thumb_func_start sub_808D9AC +sub_808D9AC: + push {r4,r5,lr} + sub sp, 0x14 + adds r5, r0, 0 + adds r4, r2, 0 + adds r1, 0x4C + mov r0, sp + movs r2, 0xA + bl sub_80922B4 + cmp r4, 0 + bne _0808D9C4 + movs r4, 0x5 +_0808D9C4: + ldr r1, _0808D9D8 + adds r0, r5, 0 + adds r2, r4, 0 + mov r3, sp + bl sub_800D158 + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0808D9D8: .4byte gUnknown_810763C + thumb_func_end sub_808D9AC + + thumb_func_start sub_808D9DC +sub_808D9DC: + push {r4,r5,lr} + sub sp, 0x14 + adds r5, r0, 0 + adds r4, r2, 0 + adds r1, 0x58 + mov r0, sp + movs r2, 0xA + bl sub_80922B4 + cmp r4, 0 + bne _0808D9F4 + movs r4, 0x6 +_0808D9F4: + ldr r1, _0808DA08 + adds r0, r5, 0 + adds r2, r4, 0 + mov r3, sp + bl sub_800D158 + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0808DA08: .4byte gUnknown_810763C + thumb_func_end sub_808D9DC + + thumb_func_start sub_808DA0C +sub_808DA0C: + push {r4,lr} + sub sp, 0x14 + adds r4, r0, 0 + adds r1, 0x58 + mov r0, sp + movs r2, 0xA + bl sub_80922B4 + ldr r1, _0808DA30 + adds r0, r4, 0 + mov r2, sp + bl sub_800D158 + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0808DA30: .4byte gUnknown_8107638 + thumb_func_end sub_808DA0C + + thumb_func_start sub_808DA34 +sub_808DA34: + push {lr} + adds r1, 0x4C + movs r2, 0xA + bl sub_80922B4 + pop {r0} + bx r0 + thumb_func_end sub_808DA34 + + thumb_func_start sub_808DA44 +sub_808DA44: + push {r4-r6,lr} + sub sp, 0x30 + lsls r0, 16 + asrs r4, r0, 16 + lsls r1, 24 + lsrs r2, r1, 24 + cmp r2, 0xC + bls _0808DAA0 + mov r1, sp + ldr r0, _0808DA98 + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _0808DA92 + mov r1, sp + add r3, sp, 0x48 +_0808DA76: + movs r5, 0 + ldrsh r0, [r1, r5] + cmp r0, r4 + bne _0808DA84 + ldr r0, [r1, 0x4] + cmp r0, r2 + beq _0808DA9C +_0808DA84: + adds r1, 0x8 + cmp r1, r3 + bgt _0808DA92 + movs r6, 0 + ldrsh r0, [r1, r6] + cmp r0, 0 + bne _0808DA76 +_0808DA92: + movs r0, 0 + b _0808DAA6 + .align 2, 0 +_0808DA98: .4byte gUnknown_8107654 +_0808DA9C: + movs r0, 0x1 + b _0808DAA6 +_0808DAA0: + ldr r0, _0808DAB0 + adds r0, r2, r0 + ldrb r0, [r0] +_0808DAA6: + add sp, 0x30 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808DAB0: .4byte gUnknown_8107645 + thumb_func_end sub_808DA44 + thumb_func_start sub_808DAB4 sub_808DAB4: lsls r0, 16 diff --git a/include/pokemon.h b/include/pokemon.h index 864b611..fba7199 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -3,49 +3,7 @@ struct gPokemon { - /* 0x0 */ u32 species; // pointer to string - /* 0x4 */ u32 category; // pointer to string - /* 0x8 */ u8 palette; // between 0 - 12 - /* 0x9 */ u8 size; // between 0x01 - 0x06 - /* 0xA */ u8 unk0; - /* 0xB */ u8 unk1; - /* 0xC */ s32 speed; - /* 0x10 */ u16 dial_sprite; - /* 0x12 */ u8 unk2; - /* 0x13 */ u8 type_1; // between 0x00 - 0x11 - /* 0x14 */ u8 type_2; // between 0x00 - 0x11 - /* 0x15 */ u8 walkable_tiles; // between 0x00 - 0x05 - /* 0x16 */ u8 friend_area; // 0x00 - 0x39 - /* 0x17 */ u8 ability_1; // between 0x00 - 0x4C - /* 0x18 */ u8 ability_2; // between 0x00 - 0x4C - /* 0x19 */ u8 shadow_size; // between 0x0 - 0x2 - /* 0x1A */ u8 unk3; - /* 0x1B */ u8 unk4; - /* 0x1C */ bool8 isMoving; - /* 0x1D */ u8 unk5; - /* 0x1E */ u16 base_hp; - /* 0x20 */ u16 base_exp; - /* 0x22 */ u16 unk6; - /* 0x24 */ u16 base_att; - /* 0x26 */ u16 base_sp_att; - /* 0x28 */ u16 base_def; - /* 0x2A */ u16 base_sp_def; - /* 0x2C */ u16 lowkick_dmg; - /* 0x2E */ u16 sizeorb_dmg; - /* 0x30 */ u8 unk7; - /* 0x31 */ u8 unk8; - /* 0x32 */ u8 unk9; - /* 0x33 */ bool8 unk10; - /* 0x34 */ u16 prior_evolution; - /* 0x36 */ u16 evol_type; - /* 0x38 */ u16 evol_need1; - /* 0x3A */ u16 evol_need2; - /* 0x3C */ u16 dexNum; - /* 0x3E */ u8 internalNum; - /* 0x40 */ u16 base_recruit; - /* 0x42 */ u16 unk11; - /* 0x44 */ u16 alphaNum; - /* 0x46 */ u16 parentNum; + /* 0x0 */ u8* unk0; }; #endif // POKEMON_H diff --git a/ld_script.txt b/ld_script.txt index 1ffd769..4705b5d 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -77,8 +77,8 @@ SECTIONS { asm/code_8012A18.o(.text); src/code_80521D0.o(.text); asm/code_80521D0.o(.text); - asm/pokemon.o(.text); src/pokemon.o(.text); + asm/pokemon.o(.text); asm/code_808DAB4.o(.text); src/dungeon.o(.text); asm/code_809017C.o(.text); diff --git a/src/pokemon.c b/src/pokemon.c index 40606df..ae2b801 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1,2 +1,25 @@ #include "global.h" #include "pokemon.h" +#include "file_system.h" + +extern u32 *gUnknown_203B45C; +extern u32 gUnknown_202F400; +extern struct FileArchive gUnknown_8300500; +extern const char gUnknown_81075F4; +extern struct OpenedFile *gMonsterParametersFile; +extern u16 gUnknown_20384E8; +extern struct gPokemon gMonsterParameters; + +void LoadMonsterParameters(void) +{ + gUnknown_203B45C = &gUnknown_202F400; + gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gUnknown_8300500); + gMonsterParameters.unk0 = gMonsterParametersFile->data; + gUnknown_20384E8 = 0; +} + +u32 *sub_808CE00(void) +{ + return &gUnknown_202F400; + +} |