summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2018-01-14 02:05:32 -0500
committerProjectRevoTPP <projectrevotpp@hotmail.com>2018-01-14 02:05:32 -0500
commit74f4ece9184fc388528a775bd31f2cd4d3efe626 (patch)
tree8379a9ac382295c74a0aa8cbd714e6a236cdefd4
parente0f8841fbd434c06bba7471566629e197b896957 (diff)
up to ContestAICmd_unk_67
-rw-r--r--asm/contest_ai.s768
-rwxr-xr-xsrc/contest_ai.c205
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;
+}