diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-14 02:05:32 -0500 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-14 02:05:32 -0500 |
commit | 74f4ece9184fc388528a775bd31f2cd4d3efe626 (patch) | |
tree | 8379a9ac382295c74a0aa8cbd714e6a236cdefd4 | |
parent | e0f8841fbd434c06bba7471566629e197b896957 (diff) |
up to ContestAICmd_unk_67
-rw-r--r-- | asm/contest_ai.s | 768 | ||||
-rwxr-xr-x | src/contest_ai.c | 205 |
2 files changed, 205 insertions, 768 deletions
diff --git a/asm/contest_ai.s b/asm/contest_ai.s index dc102c346..e0d733c90 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -5,774 +5,6 @@ .text - thumb_func_start ContestAICmd_check_can_participate -ContestAICmd_check_can_participate: @ 812A0BC - push {lr} - ldr r0, _0812A0DC @ =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8128A7C - lsls r0, 24 - lsrs r0, 24 - bl Contest_IsMonsTurnDisabled - lsls r0, 24 - cmp r0, 0 - beq _0812A0E4 - ldr r1, _0812A0E0 @ =gSharedMem + 0x192E4 - movs r0, 0 - b _0812A0E8 - .align 2, 0 -_0812A0DC: .4byte gAIScriptPtr -_0812A0E0: .4byte gSharedMem + 0x192E4 -_0812A0E4: - ldr r1, _0812A0F8 @ =gSharedMem + 0x192E4 - movs r0, 0x1 -_0812A0E8: - strh r0, [r1, 0x18] - ldr r1, _0812A0FC @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812A0F8: .4byte gSharedMem + 0x192E4 -_0812A0FC: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_check_can_participate - - thumb_func_start ContestAICmd_unk_54 -ContestAICmd_unk_54: @ 812A100 - push {lr} - bl ContestAICmd_check_can_participate - ldr r0, _0812A12C @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812A134 - ldr r3, _0812A130 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A13C - .align 2, 0 -_0812A12C: .4byte gSharedMem + 0x192E4 -_0812A130: .4byte gAIScriptPtr -_0812A134: - ldr r1, _0812A140 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A13C: - pop {r0} - bx r0 - .align 2, 0 -_0812A140: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_54 - - thumb_func_start ContestAICmd_unk_55 -ContestAICmd_unk_55: @ 812A144 - push {lr} - bl ContestAICmd_check_can_participate - ldr r0, _0812A170 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812A178 - ldr r3, _0812A174 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A180 - .align 2, 0 -_0812A170: .4byte gSharedMem + 0x192E4 -_0812A174: .4byte gAIScriptPtr -_0812A178: - ldr r1, _0812A184 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A180: - pop {r0} - bx r0 - .align 2, 0 -_0812A184: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_55 - - thumb_func_start ContestAICmd_get_val_812A188 -ContestAICmd_get_val_812A188: @ 812A188 - push {r4,lr} - ldr r4, _0812A1BC @ =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8128A7C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0812A1C0 @ =gSharedMem + 0x192E4 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r0, r2, 0 - subs r0, 0x84 - adds r1, r0 - ldrb r0, [r1, 0x15] - lsls r0, 28 - lsrs r0, 31 - strh r0, [r2, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A1BC: .4byte gAIScriptPtr -_0812A1C0: .4byte gSharedMem + 0x192E4 - thumb_func_end ContestAICmd_get_val_812A188 - - thumb_func_start ContestAICmd_unk_57 -ContestAICmd_unk_57: @ 812A1C4 - push {lr} - bl ContestAICmd_get_val_812A188 - ldr r0, _0812A1F0 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812A1F8 - ldr r3, _0812A1F4 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A200 - .align 2, 0 -_0812A1F0: .4byte gSharedMem + 0x192E4 -_0812A1F4: .4byte gAIScriptPtr -_0812A1F8: - ldr r1, _0812A204 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A200: - pop {r0} - bx r0 - .align 2, 0 -_0812A204: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_57 - - thumb_func_start ContestAICmd_unk_58 -ContestAICmd_unk_58: @ 812A208 - push {lr} - bl ContestAICmd_get_val_812A188 - ldr r0, _0812A234 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812A23C - ldr r3, _0812A238 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A244 - .align 2, 0 -_0812A234: .4byte gSharedMem + 0x192E4 -_0812A238: .4byte gAIScriptPtr -_0812A23C: - ldr r1, _0812A248 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A244: - pop {r0} - bx r0 - .align 2, 0 -_0812A248: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_58 - - thumb_func_start ContestAICmd_unk_59 -ContestAICmd_unk_59: @ 812A24C - push {r4,r5,lr} - ldr r5, _0812A28C @ =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8128A7C - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0812A290 @ =gSharedMem + 0x192E4 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, r3, 0 - subs r4, 0x84 - adds r1, r4 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r1, 0x4] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r3, 0x18] - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812A28C: .4byte gAIScriptPtr -_0812A290: .4byte gSharedMem + 0x192E4 - thumb_func_end ContestAICmd_unk_59 - - thumb_func_start ContestAICmd_unk_5A -ContestAICmd_unk_5A: @ 812A294 - push {lr} - bl ContestAICmd_unk_59 - ldr r0, _0812A2C0 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0812A2C8 - ldr r3, _0812A2C4 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A2D0 - .align 2, 0 -_0812A2C0: .4byte gSharedMem + 0x192E4 -_0812A2C4: .4byte gAIScriptPtr -_0812A2C8: - ldr r1, _0812A2D4 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A2D0: - pop {r0} - bx r0 - .align 2, 0 -_0812A2D4: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_5A - - thumb_func_start ContestAICmd_unk_5B -ContestAICmd_unk_5B: @ 812A2D8 - push {lr} - bl ContestAICmd_unk_59 - ldr r0, _0812A304 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _0812A30C - ldr r3, _0812A308 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A314 - .align 2, 0 -_0812A304: .4byte gSharedMem + 0x192E4 -_0812A308: .4byte gAIScriptPtr -_0812A30C: - ldr r1, _0812A318 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A314: - pop {r0} - bx r0 - .align 2, 0 -_0812A318: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_5B - - thumb_func_start ContestAICmd_unk_5C -ContestAICmd_unk_5C: @ 812A31C - push {lr} - bl ContestAICmd_unk_59 - ldr r0, _0812A348 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812A350 - ldr r3, _0812A34C @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A358 - .align 2, 0 -_0812A348: .4byte gSharedMem + 0x192E4 -_0812A34C: .4byte gAIScriptPtr -_0812A350: - ldr r1, _0812A35C @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A358: - pop {r0} - bx r0 - .align 2, 0 -_0812A35C: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_5C - - thumb_func_start ContestAICmd_unk_5D -ContestAICmd_unk_5D: @ 812A360 - push {lr} - bl ContestAICmd_unk_59 - ldr r0, _0812A38C @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812A394 - ldr r3, _0812A390 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A39C - .align 2, 0 -_0812A38C: .4byte gSharedMem + 0x192E4 -_0812A390: .4byte gAIScriptPtr -_0812A394: - ldr r1, _0812A3A0 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A39C: - pop {r0} - bx r0 - .align 2, 0 -_0812A3A0: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_5D - - thumb_func_start ContestAICmd_unk_5E -ContestAICmd_unk_5E: @ 812A3A4 - push {r4,lr} - ldr r4, _0812A3D8 @ =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8128A7C - lsls r0, 24 - ldr r3, _0812A3DC @ =gSharedMem + 0x192E4 - ldr r2, _0812A3E0 @ =gUnknown_02038670 - lsrs r0, 23 - adds r0, r2 - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A3D8: .4byte gAIScriptPtr -_0812A3DC: .4byte gSharedMem + 0x192E4 -_0812A3E0: .4byte gUnknown_02038670 - thumb_func_end ContestAICmd_unk_5E - - thumb_func_start ContestAICmd_unk_5F -ContestAICmd_unk_5F: @ 812A3E4 - push {lr} - bl ContestAICmd_unk_5E - ldr r0, _0812A410 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0812A418 - ldr r3, _0812A414 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A420 - .align 2, 0 -_0812A410: .4byte gSharedMem + 0x192E4 -_0812A414: .4byte gAIScriptPtr -_0812A418: - ldr r1, _0812A424 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A420: - pop {r0} - bx r0 - .align 2, 0 -_0812A424: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_5F - - thumb_func_start ContestAICmd_unk_60 -ContestAICmd_unk_60: @ 812A428 - push {lr} - bl ContestAICmd_unk_5E - ldr r0, _0812A454 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _0812A45C - ldr r3, _0812A458 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A464 - .align 2, 0 -_0812A454: .4byte gSharedMem + 0x192E4 -_0812A458: .4byte gAIScriptPtr -_0812A45C: - ldr r1, _0812A468 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A464: - pop {r0} - bx r0 - .align 2, 0 -_0812A468: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_60 - - thumb_func_start ContestAICmd_unk_61 -ContestAICmd_unk_61: @ 812A46C - push {lr} - bl ContestAICmd_unk_5E - ldr r0, _0812A498 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812A4A0 - ldr r3, _0812A49C @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A4A8 - .align 2, 0 -_0812A498: .4byte gSharedMem + 0x192E4 -_0812A49C: .4byte gAIScriptPtr -_0812A4A0: - ldr r1, _0812A4AC @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A4A8: - pop {r0} - bx r0 - .align 2, 0 -_0812A4AC: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_61 - - thumb_func_start ContestAICmd_unk_62 -ContestAICmd_unk_62: @ 812A4B0 - push {lr} - bl ContestAICmd_unk_5E - ldr r0, _0812A4DC @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812A4E4 - ldr r3, _0812A4E0 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A4EC - .align 2, 0 -_0812A4DC: .4byte gSharedMem + 0x192E4 -_0812A4E0: .4byte gAIScriptPtr -_0812A4E4: - ldr r1, _0812A4F0 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0812A4EC: - pop {r0} - bx r0 - .align 2, 0 -_0812A4F0: .4byte gAIScriptPtr - thumb_func_end ContestAICmd_unk_62 - - thumb_func_start ContestAICmd_unk_63 -ContestAICmd_unk_63: @ 812A4F4 - push {r4,lr} - ldr r4, _0812A52C @ =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8128A7C - lsls r0, 24 - ldr r3, [r4] - ldrb r1, [r3, 0x2] - ldr r2, _0812A530 @ =gSharedMem + 0x19204 - lsrs r0, 23 - lsls r1, 3 - adds r0, r1 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldrh r0, [r0] - adds r2, 0xE0 - ldr r1, _0812A534 @ =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A52C: .4byte gAIScriptPtr -_0812A530: .4byte gSharedMem + 0x19204 -_0812A534: .4byte gContestMoves - thumb_func_end ContestAICmd_unk_63 - - thumb_func_start ContestAICmd_unk_64 -ContestAICmd_unk_64: @ 812A538 - push {lr} - bl ContestAICmd_unk_63 - ldr r0, _0812A568 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, _0812A56C @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0812A570 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A574 - .align 2, 0 -_0812A568: .4byte gSharedMem + 0x192E4 -_0812A56C: .4byte gAIScriptPtr -_0812A570: - adds r0, r2, 0x5 - str r0, [r3] -_0812A574: - pop {r0} - bx r0 - thumb_func_end ContestAICmd_unk_64 - - thumb_func_start ContestAICmd_unk_65 -ContestAICmd_unk_65: @ 812A578 - push {lr} - bl ContestAICmd_unk_63 - ldr r0, _0812A5A8 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, _0812A5AC @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0812A5B0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A5B4 - .align 2, 0 -_0812A5A8: .4byte gSharedMem + 0x192E4 -_0812A5AC: .4byte gAIScriptPtr -_0812A5B0: - adds r0, r2, 0x5 - str r0, [r3] -_0812A5B4: - pop {r0} - bx r0 - thumb_func_end ContestAICmd_unk_65 - - thumb_func_start ContestAICmd_unk_66 -ContestAICmd_unk_66: @ 812A5B8 - push {lr} - bl ContestAICmd_unk_63 - ldr r0, _0812A5E8 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, _0812A5EC @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _0812A5F0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A5F4 - .align 2, 0 -_0812A5E8: .4byte gSharedMem + 0x192E4 -_0812A5EC: .4byte gAIScriptPtr -_0812A5F0: - adds r0, r2, 0x5 - str r0, [r3] -_0812A5F4: - pop {r0} - bx r0 - thumb_func_end ContestAICmd_unk_66 - - thumb_func_start ContestAICmd_unk_67 -ContestAICmd_unk_67: @ 812A5F8 - push {lr} - bl ContestAICmd_unk_63 - ldr r0, _0812A628 @ =gSharedMem + 0x192E4 - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, _0812A62C @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0812A630 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0812A634 - .align 2, 0 -_0812A628: .4byte gSharedMem + 0x192E4 -_0812A62C: .4byte gAIScriptPtr -_0812A630: - adds r0, r2, 0x5 - str r0, [r3] -_0812A634: - pop {r0} - bx r0 - thumb_func_end ContestAICmd_unk_67 - thumb_func_start ContestAICmd_unk_68 ContestAICmd_unk_68: @ 812A638 push {r4,lr} diff --git a/src/contest_ai.c b/src/contest_ai.c index 7c704be0a..037564a9b 100755 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -6,6 +6,7 @@ extern u8 AreMovesContestCombo(u16, u16); extern bool8 sub_8128A7C(u8); extern bool8 sub_80B214C(u8); +extern bool8 Contest_IsMonsTurnDisabled(u8); enum { @@ -975,3 +976,207 @@ void ContestAICmd_unk_52(void) else gAIScriptPtr += 5; } + +void ContestAICmd_check_can_participate(void) +{ + if(Contest_IsMonsTurnDisabled(sub_8128A7C(gAIScriptPtr[1]))) + eContestAI->scriptResult = FALSE; + else + eContestAI->scriptResult = TRUE; + + gAIScriptPtr += 2; +} + +void ContestAICmd_unk_54(void) +{ + ContestAICmd_check_can_participate(); + + if((s16)eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_55(void) +{ + ContestAICmd_check_can_participate(); + + if((s16)eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_get_val_812A188(void) +{ + u8 var = sub_8128A7C(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk15_3; + gAIScriptPtr += 2; +} + +void ContestAICmd_unk_57(void) +{ + ContestAICmd_get_val_812A188(); + + if((s16)eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_58(void) +{ + ContestAICmd_get_val_812A188(); + + if((s16)eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_59(void) +{ + u8 var = sub_8128A7C(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->unk41].unk4; + gAIScriptPtr += 2; +} + +void ContestAICmd_unk_5A(void) +{ + ContestAICmd_unk_59(); + + if((s16)eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_5B(void) +{ + ContestAICmd_unk_59(); + + if((s16)eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_5C(void) +{ + ContestAICmd_unk_59(); + + if((s16)eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_5D(void) +{ + ContestAICmd_unk_59(); + + if((s16)eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_5E(void) +{ + u8 var = sub_8128A7C(gAIScriptPtr[1]); + + eContestAI->scriptResult = gUnknown_02038670[var] - gUnknown_02038670[eContestAI->unk41]; + gAIScriptPtr += 2; +} + +void ContestAICmd_unk_5F(void) +{ + ContestAICmd_unk_5E(); + + if((s16)eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_60(void) +{ + ContestAICmd_unk_5E(); + + if((s16)eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_61(void) +{ + ContestAICmd_unk_5E(); + + if((s16)eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_62(void) +{ + ContestAICmd_unk_5E(); + + if((s16)eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +void ContestAICmd_unk_63(void) +{ + u8 var = sub_8128A7C(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 3; +} + +void ContestAICmd_unk_64(void) +{ + ContestAICmd_unk_63(); + + if((s16)eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +void ContestAICmd_unk_65(void) +{ + ContestAICmd_unk_63(); + + if((s16)eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +void ContestAICmd_unk_66(void) +{ + ContestAICmd_unk_63(); + + if((s16)eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +void ContestAICmd_unk_67(void) +{ + ContestAICmd_unk_63(); + + if((s16)eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} |