From 2b66867af1975759dc7acfb3bbc2c9063ffa4353 Mon Sep 17 00:00:00 2001 From: coco875 <59367621+coco875@users.noreply.github.com> Date: Sat, 6 Apr 2024 19:35:13 +0200 Subject: [PATCH] Rename cpu behaviour related symbols (#586) * Rename cpu related symbols --- .../code_80005FD0/func_8000929C.s | 2 +- .../code_80005FD0/func_80009B60.s | 12 +- ...strategy.s => kart_ai_use_item_strategy.s} | 6 +- enhancements/flycam.patch | 4 +- include/defines.h | 4 +- src/actors/kiwano_fruit/update.inc.c | 2 +- src/code_80005FD0.c | 226 +++---- src/code_80005FD0.h | 43 +- src/code_80086E70.c | 6 +- src/common_textures.h | 59 +- src/data/common_textures.c | 420 ++++++------- src/data/path_spawn_data.c | 34 +- src/data/path_spawn_data.h | 6 +- src/effects.c | 10 +- src/main.h | 4 +- src/player_controller.c | 210 +++---- src/player_controller.h | 154 ++--- src/racing/actors.c | 4 +- src/racing/race_logic.c | 10 +- src/render_objects.c | 4 +- src/spawn_players.c | 186 +++--- src/spawn_players.h | 2 +- src/staff_ghosts.c | 4 +- src/update_objects.c | 8 +- src/update_objects.h | 2 +- tools/doxygen_syms.md | 592 +++++++++--------- 26 files changed, 1030 insertions(+), 984 deletions(-) rename asm/non_matchings/code_80005FD0/{cpu_use_item_strategy.s => kart_ai_use_item_strategy.s} (99%) diff --git a/asm/non_matchings/code_80005FD0/func_8000929C.s b/asm/non_matchings/code_80005FD0/func_8000929C.s index 55de240b7a..934d47fbf6 100644 --- a/asm/non_matchings/code_80005FD0/func_8000929C.s +++ b/asm/non_matchings/code_80005FD0/func_8000929C.s @@ -235,7 +235,7 @@ glabel func_8000929C /* 00A1E4 800095E4 AFA70030 */ sw $a3, 0x30($sp) /* 00A1E8 800095E8 0C0023CE */ jal func_80008F38 /* 00A1EC 800095EC AFA40050 */ sw $a0, 0x50($sp) -/* 00A1F0 800095F0 0C0046B9 */ jal func_80011AE4 +/* 00A1F0 800095F0 0C0046B9 */ jal reset_kart_ai_behaviour /* 00A1F4 800095F4 8FA40050 */ lw $a0, 0x50($sp) /* 00A1F8 800095F8 8FA40050 */ lw $a0, 0x50($sp) /* 00A1FC 800095FC 3C0F8016 */ lui $t7, %hi(D_8016348C) # $t7, 0x8016 diff --git a/asm/non_matchings/code_80005FD0/func_80009B60.s b/asm/non_matchings/code_80005FD0/func_80009B60.s index 582a97b695..39997cf5f4 100644 --- a/asm/non_matchings/code_80005FD0/func_80009B60.s +++ b/asm/non_matchings/code_80005FD0/func_80009B60.s @@ -26,11 +26,11 @@ glabel D_800ECFC8 glabel func_80009B60 /* 00A760 80009B60 3C0E800E */ lui $t6, %hi(gCurrentCourseId) /* 00A764 80009B64 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 00A768 80009B68 3C01800E */ lui $at, %hi(D_800DCA4C) +/* 00A768 80009B68 3C01800E */ lui $at, %hi(gKartAICourseMaximumWaypointSeparation) /* 00A76C 80009B6C 3C0A8016 */ lui $t2, %hi(D_80163100) # $t2, 0x8016 /* 00A770 80009B70 000E7880 */ sll $t7, $t6, 2 /* 00A774 80009B74 002F0821 */ addu $at, $at, $t7 -/* 00A778 80009B78 C424CA4C */ lwc1 $f4, %lo(D_800DCA4C)($at) +/* 00A778 80009B78 C424CA4C */ lwc1 $f4, %lo(gKartAICourseMaximumWaypointSeparation)($at) /* 00A77C 80009B7C 27BDFF30 */ addiu $sp, $sp, -0xd0 /* 00A780 80009B80 254A3100 */ addiu $t2, %lo(D_80163100) # addiu $t2, $t2, 0x3100 /* 00A784 80009B84 4600218D */ trunc.w.s $f6, $f4 @@ -247,7 +247,7 @@ glabel func_80009B60 /* 00AA98 80009E98 24010014 */ li $at, 20 /* 00AA9C 80009E9C 11610003 */ beq $t3, $at, .L80009EAC /* 00AAA0 80009EA0 00000000 */ nop -/* 00AAA4 80009EA4 0C00478E */ jal func_80011E38 +/* 00AAA4 80009EA4 0C00478E */ jal kart_ai_behaviour /* 00AAA8 80009EA8 8FA400D0 */ lw $a0, 0xd0($sp) .L80009EAC: /* 00AAAC 80009EAC 3C0E8016 */ lui $t6, %hi(D_80163378) # $t6, 0x8016 @@ -257,7 +257,7 @@ glabel func_80009B60 /* 00AABC 80009EBC 318D0001 */ andi $t5, $t4, 1 /* 00AAC0 80009EC0 11ED0003 */ beq $t7, $t5, .L80009ED0 /* 00AAC4 80009EC4 AFAD0030 */ sw $t5, 0x30($sp) -/* 00AAC8 80009EC8 0C006B04 */ jal cpu_use_item_strategy +/* 00AAC8 80009EC8 0C006B04 */ jal kart_ai_use_item_strategy /* 00AACC 80009ECC 01802025 */ move $a0, $t4 .L80009ED0: /* 00AAD0 80009ED0 8FA400D0 */ lw $a0, 0xd0($sp) @@ -1267,10 +1267,10 @@ glabel func_80009B60 .L8000AD5C: /* 00B95C 8000AD5C 8FAA0034 */ lw $t2, 0x34($sp) .L8000AD60: -/* 00B960 8000AD60 3C0D8016 */ lui $t5, %hi(D_801632E8) # 0x8016 +/* 00B960 8000AD60 3C0D8016 */ lui $t5, %hi(gKartAIBehaviourState) # 0x8016 /* 00B964 8000AD64 24010002 */ li $at, 2 /* 00B968 8000AD68 01AA6821 */ addu $t5, $t5, $t2 -/* 00B96C 8000AD6C 95AD32E8 */ lhu $t5, %lo(D_801632E8)($t5) # 0x32e8($t5) +/* 00B96C 8000AD6C 95AD32E8 */ lhu $t5, %lo(gKartAIBehaviourState)($t5) # 0x32e8($t5) /* 00B970 8000AD70 15A10013 */ bne $t5, $at, .L8000ADC0 /* 00B974 8000AD74 3C01800F */ lui $at, %hi(D_800ECFB8) # $at, 0x800f /* 00B978 8000AD78 C424CFB8 */ lwc1 $f4, %lo(D_800ECFB8)($at) diff --git a/asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s b/asm/non_matchings/code_80005FD0/kart_ai_use_item_strategy.s similarity index 99% rename from asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s rename to asm/non_matchings/code_80005FD0/kart_ai_use_item_strategy.s index 823d461ba8..e3eec89923 100644 --- a/asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s +++ b/asm/non_matchings/code_80005FD0/kart_ai_use_item_strategy.s @@ -21,7 +21,7 @@ glabel jpt_800ED4A0 .section .text -glabel cpu_use_item_strategy +glabel kart_ai_use_item_strategy /* 01B810 8001AC10 000478C0 */ sll $t7, $a0, 3 /* 01B814 8001AC14 01E47823 */ subu $t7, $t7, $a0 /* 01B818 8001AC18 000F7900 */ sll $t7, $t7, 4 @@ -96,11 +96,11 @@ glabel L8001ACAC /* 01B928 8001AD28 00032400 */ sll $a0, $v1, 0x10 /* 01B92C 8001AD2C 00046403 */ sra $t4, $a0, 0x10 /* 01B930 8001AD30 01802025 */ move $a0, $t4 -/* 01B934 8001AD34 0C01EBDE */ jal gen_random_item_cpu +/* 01B934 8001AD34 0C01EBDE */ jal kart_ai_gen_random_item /* 01B938 8001AD38 85A50002 */ lh $a1, 2($t5) /* 01B93C 8001AD3C 8FA40030 */ lw $a0, 0x30($sp) /* 01B940 8001AD40 02002825 */ move $a1, $s0 -/* 01B944 8001AD44 0C006ADD */ jal cpu_decisions_branch_item +/* 01B944 8001AD44 0C006ADD */ jal kart_ai_decisions_branch_item /* 01B948 8001AD48 00403025 */ move $a2, $v0 /* 01B94C 8001AD4C 10000003 */ b .L8001AD5C /* 01B950 8001AD50 00000000 */ nop diff --git a/enhancements/flycam.patch b/enhancements/flycam.patch index 2567ca19e6..d233db4a6d 100644 --- a/enhancements/flycam.patch +++ b/enhancements/flycam.patch @@ -159,9 +159,9 @@ index 0000000..5569838 + // Don't use `bool = !bool` here as the game code can swap these on you. + // Which will confuse the code. This forces it to always be correct + if (isFlycam) { -+ player->type |= PLAYER_CPU; ++ player->type |= PLAYER_KART_AI; + } else { -+ player->type &= PLAYER_CPU; ++ player->type &= PLAYER_KART_AI; + } + + gIsHUDVisible = !isFlycam; diff --git a/include/defines.h b/include/defines.h index f84fd92ad6..833c5f53cf 100644 --- a/include/defines.h +++ b/include/defines.h @@ -88,13 +88,13 @@ #define PLAYER_STAGING (1 << 9) // 0x0200 #define PLAYER_UNKNOWN (1 << 10) // 0x0400 // unused ? #define PLAYER_CINEMATIC_MODE (1 << 11) // 0x0800 // Also used to track eliminations in Battle mode. -#define PLAYER_CPU (1 << 12) // 0x1000 +#define PLAYER_KART_AI (1 << 12) // 0x1000 #define PLAYER_START_SEQUENCE (1 << 13) // 0x2000 #define PLAYER_HUMAN (1 << 14) // 0x4000 #define PLAYER_EXISTS (1 << 15) // 0x8000 // Compiles to -0x1000 in diff.py -#define PLAYER_HUMAN_AND_CPU PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_CPU | PLAYER_START_SEQUENCE +#define PLAYER_HUMAN_AND_KART_AI PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_KART_AI | PLAYER_START_SEQUENCE #define ZERO_PLAYERS_SELECTED 0 #define ONE_PLAYERS_SELECTED 1 diff --git a/src/actors/kiwano_fruit/update.inc.c b/src/actors/kiwano_fruit/update.inc.c index 41c94607e0..dd1ba9b31e 100644 --- a/src/actors/kiwano_fruit/update.inc.c +++ b/src/actors/kiwano_fruit/update.inc.c @@ -18,7 +18,7 @@ void update_actor_kiwano_fruit(struct KiwanoFruit *fruit) { s32 nearestWaypoint; player = &gPlayers[fruit->targetPlayer]; - if (((player->type & PLAYER_CPU) != 0) || (player->unk_110.unk34 == 0)) { + if (((player->type & PLAYER_KART_AI) != 0) || (player->unk_110.unk34 == 0)) { fruit->state = 0; return; } diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 87e87345c0..49449daeb0 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -36,7 +36,7 @@ Collision D_80162E70; s16 D_80162EB0; // Possibly a float. s16 D_80162EB2; // possibly [3] -UnkCommonTextureStruct0 *D_80162EB8[20]; +KartAIBehaviour *gCoursesKartAIBehaviour[NUM_COURSES-1]; // more padding? s32 D_80162F08[2]; @@ -91,17 +91,17 @@ u16 D_80163240[12]; u16 D_80163258[12]; u16 D_80163270[12]; s32 D_80163288[10]; -UnkCommonTextureStruct0 *D_801632B0; -u16 D_801632B8[12]; -u16 D_801632D0[12]; -u16 D_801632E8[12]; +KartAIBehaviour *sCurrentKartAIBehaviour; +u16 gCurrentKartAIBehaviourId[12]; +u16 gPreviousKartAIBehaviourId[12]; +u16 gKartAIBehaviourState[12]; s16 D_80163300[12]; u16 D_80163318[12]; u16 D_80163330[10]; u16 D_80163344[2]; u16 D_80163348[2]; u16 D_8016334C[2]; -u16 D_80163350[12]; +u16 gSpeedKartAIBehaviour[12]; s32 D_80163368[4]; s32 D_80163378; s32 D_8016337C; @@ -1111,22 +1111,22 @@ void func_80008424(s32 playerId, f32 arg1, Player *player) { } } else { var_a1 = 1; - switch (D_80163350[playerId]) { /* switch 1; irregular */ - case 1: /* switch 1 */ + switch (gSpeedKartAIBehaviour[playerId]) { /* switch 1; irregular */ + case SPEED_KART_AI_BEHAVIOUR_FAST: /* switch 1 */ player->effects &= ~0x00200000; player_speed(player); break; - case 3: /* switch 1 */ + case SPEED_KART_AI_BEHAVIOUR_MAX: /* switch 1 */ player->effects |= 0x200000; player_speed(player); break; - case 2: /* switch 1 */ + case SPEED_KART_AI_BEHAVIOUR_SLOW: /* switch 1 */ if (((var_f2 / 18.0f) * 216.0f) > 20.0f) { arg1 = 1.6666666f; } var_a1 = 0; break; - case 0: /* switch 1 */ + case SPEED_KART_AI_BEHAVIOUR_NORMAL: /* switch 1 */ default: /* switch 1 */ var_a1 = 0; break; @@ -1521,7 +1521,7 @@ void func_8000929C(s32 playerId, Player *player) { } D_80163240[playerId] = 1; func_80008F38(playerId); - func_80011AE4(playerId); + reset_kart_ai_behaviour(playerId); D_801642D8[playerId].unk_06 = 0; if ((D_8016348C == 0) && !(player->type & 0x800)) { gTimePlayerLastTouchedFinishLine[playerId] = func_80009258(playerId, someTemp0, tempPos2); @@ -1683,7 +1683,7 @@ void func_80009B60(s32 playerId) { f32 athing = 1.5f; player = &gPlayers[playerId]; - if ((s32) D_800DCA4C[gCurrentCourseId] >= 0) { + if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) { D_80163100[playerId] += 1; if (playerId == 0) { D_80163378++; @@ -1736,15 +1736,15 @@ void func_80009B60(s32 playerId) { player->unk_044 &= ~0x0001; } func_8000929C(playerId, player); - if ((gCurrentCourseId != 0x0014) && ((D_80163240[playerId] == 1) || (playerId == 0))) { + if ((gCurrentCourseId != COURSE_AWARD_CEREMONY) && ((D_80163240[playerId] == 1) || (playerId == 0))) { set_places(); } if (player->type & 0x1000) { - if ((D_801630E2 == 1) && (gCurrentCourseId != 0x0014)) { - func_80011E38(playerId); + if ((D_801630E2 == 1) && (gCurrentCourseId != COURSE_AWARD_CEREMONY)) { + kart_ai_behaviour(playerId); } if ((playerId & 1) != (D_80163378 & 1)) { - cpu_use_item_strategy(playerId); + kart_ai_use_item_strategy(playerId); } func_800099EC(playerId, player); D_80162FD0 = 0; @@ -1974,7 +1974,7 @@ void func_80009B60(s32 playerId) { } break; } - if ((D_801632E8[playerId] == 2) && ((D_80163068[playerId] > 0.9f) || (D_80163068[playerId] < -0.9f))) { + if ((gKartAIBehaviourState[playerId] == KART_AI_BEHAVIOUR_STATE_RUNNING) && ((D_80163068[playerId] > 0.9f) || (D_80163068[playerId] < -0.9f))) { D_801630E8[playerId] = 0; player->effects &= ~0x10; } @@ -2194,7 +2194,7 @@ f32 func_8000B874(f32 posX, f32 posZ, u16 waypointIndex, s32 pathIndex) { void func_8000B95C(s32 playerId, u16 waypointIndex, s32 pathIndex) { UNUSED Vec3f pad; D_80163068[playerId] = 0.0f; - if ((s32) D_800DCA4C[gCurrentCourseId] >= 0) { + if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) { if ((gPlayers[playerId].type & 0x8000) != 0) { D_80163068[playerId] = func_8000B874(gPlayers[playerId].pos[0], gPlayers[playerId].pos[2], waypointIndex, pathIndex); } @@ -3553,12 +3553,12 @@ void func_8000F628(void) { D_80163068[i] = 0.0f; D_80163090[i] = 0.0f; var_s5 = &D_801634F8[i]; - var_s5->unkC = D_800DCAA0[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1); + var_s5->unkC = gKartAICourseMinimumWaypointSeparation[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1); var_s5->unk4 = var_s5->unkC; var_s5->unk0 = 0.0f; var_s5->unk8 = 0.015f; - func_80011AB8(i); - D_80163350[i] = 0; + reset_kart_ai_behaviour_none(i); + gSpeedKartAIBehaviour[i] = 0; D_801644F8[i] = 0; D_80163398[i] = 0; D_801633B0[i] = 0; @@ -3658,7 +3658,7 @@ void func_8000F628(void) { } } } - func_80011A5C(); + copy_courses_kart_ai_behaviour(); } // @arg index from 0 to 3. @@ -3678,7 +3678,7 @@ void func_800100F0(s32 pathIndex) { s32 i; // cast required - if ((s32)D_800DCA4C[gCurrentCourseId] >= 0) { + if ((s32)gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) { pathDest = D_80164550[pathIndex]; bInvalidPath = 1; if (gCurrentCourseId != COURSE_AWARD_CEREMONY) { @@ -3729,8 +3729,8 @@ void func_80010218(s32 pathIndex) { TrackWaypoint *var_s1; TrackWaypoint *var_s2; - if (((s32) D_800DCA4C[gCurrentCourseId]) >= 0) { - waypointWidth = D_800DCA4C[gCurrentCourseId]; + if (((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId]) >= 0) { + waypointWidth = gKartAICourseMaximumWaypointSeparation[gCurrentCourseId]; waypoint = &D_80164550[pathIndex][0]; var_s1 = &D_80164560[pathIndex][0]; var_s2 = &D_80164570[pathIndex][0]; @@ -3779,7 +3779,7 @@ f32 func_80010480(s32 pathIndex, u16 waypointIndex) { f32 root2; f32 root1; - if ((s32) D_800DCA4C[gCurrentCourseId] < 0) { + if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] < 0) { return 0.0f; } waypointCount = gWaypointCountByPathIndex[pathIndex]; @@ -3821,7 +3821,7 @@ void func_800107C4(s32 pathIndex) { s32 var_a3; s16 *wut; - if ((s32) D_800DCA4C[gCurrentCourseId] >= 0) { + if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) { var_a3 = gWaypointCountByPathIndex[pathIndex]; var_t4 = &D_80164580[pathIndex][0]; for(var_s0 = 0; var_s0 < var_a3; var_s0++, var_t4++) { @@ -3889,7 +3889,7 @@ void func_80010DBC(s32 pathIndex) { s32 waypointIndex; u16 *angle; - if ((s32) D_800DCA4C[gCurrentCourseId] >= 0) { + if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) { for (angle = &D_80164590[pathIndex][0], waypointIndex = 0; waypointIndex < gWaypointCountByPathIndex[pathIndex]; waypointIndex++, angle++) { *angle = func_80010CB0(pathIndex, waypointIndex); } @@ -4166,121 +4166,121 @@ s32 func_8001168C(PathNoY *pathDest, TrackWaypoint *pathSrc, s32 numWaypoints) { return count; } -void func_80011A5C(void) { +void copy_courses_kart_ai_behaviour(void) { s32 i; - for (i = 0; i < 20; i++) { - D_80162EB8[i] = segmented_to_virtual_dupe_2(D_800DC720[i]); + for (i = 0; i < NUM_COURSES-1; i++) { + gCoursesKartAIBehaviour[i] = segmented_to_virtual_dupe_2(gKartAIBehaviourLUT[i]); } } -void func_80011AB8(s32 index) { - D_801632B8[index] = 0; - D_801632D0[index] = 0; - D_801632E8[index] = 0; +void reset_kart_ai_behaviour_none(s32 playerIndex) { + gCurrentKartAIBehaviourId[playerIndex] = 0; + gPreviousKartAIBehaviourId[playerIndex] = 0; + gKartAIBehaviourState[playerIndex] = KART_AI_BEHAVIOUR_STATE_NONE; } -void func_80011AE4(s32 index) { - D_801632B8[index] = 0; - D_801632D0[index] = 0; - D_801632E8[index] = 1; +void reset_kart_ai_behaviour(s32 playerIndex) { + gCurrentKartAIBehaviourId[playerIndex] = 0; + gPreviousKartAIBehaviourId[playerIndex] = 0; + gKartAIBehaviourState[playerIndex] = KART_AI_BEHAVIOUR_STATE_START; } -void func_80011B14(s32 playerId, Player *player) { - u16 sp2E; - s16 temp_t1; - s16 temp_t2; - s32 temp_t3; +void kart_ai_behaviour_start(s32 playerId, Player *player) { + u16 playerWaypoint; + s16 waypointStart; + s16 waypointEnd; + s32 behaviourType; s32 test; - D_801632B0 = D_80162EB8[gCurrentCourseId] + D_801632B8[playerId]; + sCurrentKartAIBehaviour = &gCoursesKartAIBehaviour[gCurrentCourseId][gCurrentKartAIBehaviourId[playerId]]; - sp2E = gNearestWaypointByPlayerId[playerId]; + playerWaypoint = gNearestWaypointByPlayerId[playerId]; - temp_t1 = D_801632B0->waypointId1; - temp_t2 = D_801632B0->waypointId2; - temp_t3 = D_801632B0->unk4; + waypointStart = sCurrentKartAIBehaviour->waypointStart; + waypointEnd = sCurrentKartAIBehaviour->waypointEnd; + behaviourType = sCurrentKartAIBehaviour->type; - if ((temp_t1 == -1) && (temp_t2 == -1)) { - D_801632B0 = D_80162EB8[gCurrentCourseId]; - func_80011AB8(playerId); + if ((waypointStart == -1) && (waypointEnd == -1)) { + sCurrentKartAIBehaviour = &gCoursesKartAIBehaviour[gCurrentCourseId][0]; + reset_kart_ai_behaviour_none(playerId); return; } - if ((u32)sp2E == temp_t1) { - D_801632E8[playerId] = 2; - D_801632D0[playerId] = D_801632B8[playerId]; - D_801632B8[playerId] += 1; - switch (temp_t3) { - case 1: - func_80011EC0(playerId, player, player->unk_07C >> 0x10, sp2E); + if ((u32)playerWaypoint == waypointStart) { + gKartAIBehaviourState[playerId] = KART_AI_BEHAVIOUR_STATE_RUNNING; + gPreviousKartAIBehaviourId[playerId] = gCurrentKartAIBehaviourId[playerId]; + gCurrentKartAIBehaviourId[playerId]++; + switch (behaviourType) { + case BEHAVIOUR_1: + func_80011EC0(playerId, player, player->unk_07C >> 0x10, playerWaypoint); break; - case 2: - func_8002AA50(player); + case BEHAVIOUR_HOP: + kart_hop(player); player->effects &= ~0x10; D_801630E8[playerId] = 0; break; - case 3: + case BEHAVIOUR_3: D_801634F8[playerId].unk4 = 0.0f; break; - case 4: + case BEHAVIOUR_4: D_801634F8[playerId].unk4 = -0.6f; break; - case 5: + case BEHAVIOUR_5: D_801634F8[playerId].unk4 = 0.6f; break; - case 6: - D_80163350[playerId] = 0; + case BEHAVIOUR_NORMAL_SPEED: + gSpeedKartAIBehaviour[playerId] = SPEED_KART_AI_BEHAVIOUR_NORMAL; break; - case 7: - D_80163350[playerId] = 1; + case BEHAVIOUR_FAST_SPEED: + gSpeedKartAIBehaviour[playerId] = SPEED_KART_AI_BEHAVIOUR_FAST; break; - case 8: - D_80163350[playerId] = 2; + case BEHAVIOUR_SLOW_SPEED: + gSpeedKartAIBehaviour[playerId] = SPEED_KART_AI_BEHAVIOUR_SLOW; break; - case 11: - D_80163350[playerId] = 3; + case BEHAVIOUR_MAX_SPEED: + gSpeedKartAIBehaviour[playerId] = SPEED_KART_AI_BEHAVIOUR_MAX; break; - case 9: + case BEHAVIOUR_9: D_801633F8[playerId] = 1; D_801631E0[playerId] = 0; gPlayers[playerId].effects &= ~0x1000; break; - case 10: + case BEHAVIOUR_10: D_801633F8[playerId] = 0; break; } } } -void func_80011D48(s32 playerIndex, Player *player) { +void kart_ai_behaviour_end(s32 playerIndex, Player *player) { u16 nearestWaypoint; - u32 thing; - s32 temp_a2; + u32 waypointEnd; + s32 behaviourType; - D_801632B0 = &D_80162EB8[gCurrentCourseId][D_801632D0[playerIndex]]; + sCurrentKartAIBehaviour = &gCoursesKartAIBehaviour[gCurrentCourseId][gPreviousKartAIBehaviourId[playerIndex]]; nearestWaypoint = gNearestWaypointByPlayerId[playerIndex]; - temp_a2 = D_801632B0->unk4; - thing = D_801632B0->waypointId2; - if (nearestWaypoint >= thing) { - switch (temp_a2) { - case 1: + behaviourType = sCurrentKartAIBehaviour->type; + waypointEnd = sCurrentKartAIBehaviour->waypointEnd; + if (nearestWaypoint >= waypointEnd) { + switch (behaviourType) { + case BEHAVIOUR_1: player->effects &= ~0x10; D_801630E8[playerIndex] = 0; - D_801632E8[playerIndex] = 1; + gKartAIBehaviourState[playerIndex] = KART_AI_BEHAVIOUR_STATE_START; break; - case 3: - case 4: - case 5: + case BEHAVIOUR_3: + case BEHAVIOUR_4: + case BEHAVIOUR_5: D_801634F8[playerIndex].unk4 = D_801634F8[playerIndex].unkC; - D_801632E8[playerIndex] = 1; + gKartAIBehaviourState[playerIndex] = KART_AI_BEHAVIOUR_STATE_START; break; - case 2: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - D_801632E8[playerIndex] = 1; + case BEHAVIOUR_HOP: + case BEHAVIOUR_NORMAL_SPEED: + case BEHAVIOUR_FAST_SPEED: + case BEHAVIOUR_SLOW_SPEED: + case BEHAVIOUR_9: + case BEHAVIOUR_10: + case BEHAVIOUR_MAX_SPEED: + gKartAIBehaviourState[playerIndex] = KART_AI_BEHAVIOUR_STATE_START; break; default: break; @@ -4288,17 +4288,17 @@ void func_80011D48(s32 playerIndex, Player *player) { } } -void func_80011E38(s32 playerIndex) { +void kart_ai_behaviour(s32 playerIndex) { Player *player = gPlayerOne + playerIndex; - switch(D_801632E8[playerIndex]) { - case 0: + switch(gKartAIBehaviourState[playerIndex]) { + case KART_AI_BEHAVIOUR_STATE_NONE: break; - case 1: - func_80011B14(playerIndex, player); + case KART_AI_BEHAVIOUR_STATE_START: + kart_ai_behaviour_start(playerIndex, player); break; - case 2: - func_80011D48(playerIndex, player); + case KART_AI_BEHAVIOUR_STATE_RUNNING: + kart_ai_behaviour_end(playerIndex, player); break; } } @@ -4310,7 +4310,7 @@ void func_80011EC0(s32 arg0, Player *player, s32 arg2, u16 arg3) { case 2: if ((arg2 >= -9) && (D_80162FF8[arg0] == 0)) { if ((D_80163068[arg0] > -0.8) && (D_80163068[arg0] < 0.5)) { - func_8002AA50(player); + kart_hop(player); player->effects |= 0x10; D_801630E8[arg0] = 1; break; @@ -4322,7 +4322,7 @@ void func_80011EC0(s32 arg0, Player *player, s32 arg2, u16 arg3) { case 3: if ((arg2 < 0xA) && (D_80162FF8[arg0] == 0)) { if ((D_80163068[arg0] > -0.5) && (D_80163068[arg0] < 0.8)) { - func_8002AA50(player); + kart_hop(player); player->effects |= 0x10; D_801630E8[arg0] = -1; break; @@ -5074,7 +5074,7 @@ void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3 f32 spBC; if (((D_801631E0[playerId] != 1) || (( - ((player->type & PLAYER_HUMAN) != 0)) && !(player->type & PLAYER_CPU))) && !(player->effects & 0x01000000)) { + ((player->type & PLAYER_HUMAN) != 0)) && !(player->type & PLAYER_KART_AI))) && !(player->effects & 0x01000000)) { spC4 = player->pos[0]; spC0 = player->pos[1]; @@ -5095,7 +5095,7 @@ void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3 } } } - if ((player->type & PLAYER_HUMAN) && !(player->type & PLAYER_CPU)) { + if ((player->type & PLAYER_HUMAN) && !(player->type & PLAYER_KART_AI)) { if (((temp_f12) > -300.0) && ((temp_f12) < 300.0) && ( (temp_f22 > -20.0)) && (temp_f22 < 20.0) && (((temp_f14) > -300.0)) && ((temp_f14) < 300.0)) { if ((D_801631C8 > 0) && (vehicle->someFlags == 0)) { @@ -6999,7 +6999,7 @@ void func_8001AB00(void) { } } -void cpu_decisions_branch_item(s32 arg0, s16 *arg1, s32 arg2) { +void kart_ai_decisions_branch_item(s32 arg0, s16 *arg1, s32 arg2) { s32 value = -1; switch (arg2) { case ITEM_FAKE_ITEM_BOX: @@ -7044,11 +7044,11 @@ void func_8001ABEC(struct struct_801642D8 *arg0) { } #ifdef NON_MATCHING -// By the looks of this function is probably something like `cpu_player_use_item` +// By the looks of this function is probably something like `kart_ai_use_item_strategy` // The use of several different actor types might make getting a match hard(er), // might have to get creative/ugly with just a single generic `Actor` variable. // https://decomp.me/scratch/FOlbG -void cpu_use_item_strategy(s32 playerId) { +void kart_ai_use_item_strategy(s32 playerId) { s32 var_v0; Player *player; TrackWaypoint *waypoint; @@ -7066,7 +7066,7 @@ void cpu_use_item_strategy(s32 playerId) { case 0: temp_s0->actorIndex = -1; if ((((playerId * 0x14) + 0x64) < D_80164450[playerId]) && (temp_s0->unk_04 >= 0x259) && (temp_s0->unk_06 < 3) && (gLapCountByPlayerId[playerId] < 3)) { - cpu_decisions_branch_item(playerId, &temp_s0->unk_00, gen_random_item_cpu((s16)gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId])); + kart_ai_decisions_branch_item(playerId, &temp_s0->unk_00, kart_ai_gen_random_item((s16)gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId])); } else { func_8001ABE0(playerId, temp_s0); } @@ -7497,7 +7497,7 @@ void cpu_use_item_strategy(s32 playerId) { } } #else -GLOBAL_ASM("asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s") +GLOBAL_ASM("asm/non_matchings/code_80005FD0/kart_ai_use_item_strategy.s") #endif void func_8001BE78(void) { diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index ffa7d4f23e..28adaa2196 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -144,12 +144,12 @@ f32 func_80010FA0(f32, f32, f32, s32, s32); s32 func_80011014(TrackWaypoint *, TrackWaypoint *, s32, s32); s32 process_path_data(TrackWaypoint*, TrackWaypoint*); s32 func_8001168C(PathNoY*, TrackWaypoint*, s32); -void func_80011A5C(void); -void func_80011AB8(s32); -void func_80011AE4(s32); -void func_80011B14(s32, Player*); -void func_80011D48(s32, Player*); -void func_80011E38(s32); +void copy_courses_kart_ai_behaviour(void); +void reset_kart_ai_behaviour_none(s32); +void reset_kart_ai_behaviour(s32); +void kart_ai_behaviour_start(s32, Player*); +void kart_ai_behaviour_end(s32, Player*); +void kart_ai_behaviour(s32); void func_80011EC0(s32, Player*, s32, u16); void func_800120C8(void); @@ -241,10 +241,10 @@ void func_8001A518(s32, s32, s32); void func_8001A588(u16*, Camera*, Player*, s8, s32); void func_8001AAAC(s16, s16, s16); void func_8001AB00(void); -void cpu_decisions_branch_item(s32, s16*, s32); +void kart_ai_decisions_branch_item(s32, s16*, s32); void func_8001ABE0(s32, D_801642D8_entry*); void func_8001ABEC(struct struct_801642D8*); -void cpu_use_item_strategy(s32); +void kart_ai_use_item_strategy(s32); void func_8001BE78(void); @@ -258,7 +258,7 @@ void func_8001C42C(void); extern Collision D_80162E70; extern s16 D_80162EB0; // Possibly a float. extern s16 D_80162EB2; // possibly [3] -extern UnkCommonTextureStruct0 *D_80162EB8[]; +extern KartAIBehaviour *gCoursesKartAIBehaviour[]; extern s16 D_80162F10[]; extern s16 D_80162F50[]; extern Vec3f D_80162FA0; @@ -298,17 +298,32 @@ extern u16 D_80163258[]; extern u16 D_80163270[]; extern s32 D_80163288[]; // Exact pointer type unknown -extern UnkCommonTextureStruct0 *D_801632B0; -extern u16 D_801632B8[]; -extern u16 D_801632D0[]; -extern u16 D_801632E8[]; +extern KartAIBehaviour *sCurrentKartAIBehaviour; +extern u16 gCurrentKartAIBehaviourId[]; +extern u16 gPreviousKartAIBehaviourId[]; +extern u16 gKartAIBehaviourState[]; + +enum { + KART_AI_BEHAVIOUR_STATE_NONE, + KART_AI_BEHAVIOUR_STATE_START, + KART_AI_BEHAVIOUR_STATE_RUNNING, +}; + extern s16 D_80163300[]; extern u16 D_80163318[]; extern u16 D_80163330[]; extern u16 D_80163344[]; extern u16 D_80163348[]; extern u16 D_8016334C[]; -extern u16 D_80163350[]; +extern u16 gSpeedKartAIBehaviour[]; + +enum { + SPEED_KART_AI_BEHAVIOUR_NORMAL, + SPEED_KART_AI_BEHAVIOUR_FAST, + SPEED_KART_AI_BEHAVIOUR_SLOW, + SPEED_KART_AI_BEHAVIOUR_MAX +}; + extern s32 D_80163368[]; extern s32 D_80163378; extern s32 D_8016337C; diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 869fd78d1f..af7e2339d9 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -1041,7 +1041,7 @@ void func_80089474(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 soundB if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } - if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) { + if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_KART_AI) != PLAYER_KART_AI)) { func_800C9060(playerId, soundBits); } } @@ -1051,7 +1051,7 @@ void func_80089538(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 soundB Player *player; player = &gPlayerOne[playerId]; - if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) { + if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_KART_AI) != PLAYER_KART_AI)) { func_800C9060((u8) playerId, soundBits); } } @@ -1109,7 +1109,7 @@ void func_80089820(s32 objectIndex, f32 arg1, f32 arg2, u32 arg3) { if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } - if ((func_8008933C(player, objectIndex, arg1, arg2 * 1.1) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) { + if ((func_8008933C(player, objectIndex, arg1, arg2 * 1.1) >= 4.0) && ((player->type & PLAYER_KART_AI) != PLAYER_KART_AI)) { func_800C9060(var_s1, arg3); } } diff --git a/src/common_textures.h b/src/common_textures.h index 469d6f01f3..b21cc2dd9f 100644 --- a/src/common_textures.h +++ b/src/common_textures.h @@ -5,10 +5,25 @@ #include typedef struct { - /* 0x0 */ s16 waypointId1; - /* 0x2 */ s16 waypointId2; - /* 0x4 */ s32 unk4; -} UnkCommonTextureStruct0; // size = 0x8 + /* 0x0 */ s16 waypointStart; + /* 0x2 */ s16 waypointEnd; + /* 0x4 */ s32 type; +} KartAIBehaviour; // size = 0x8 + +enum { + BEHAVIOUR_NONE = 0, + BEHAVIOUR_1, + BEHAVIOUR_HOP, + BEHAVIOUR_3, + BEHAVIOUR_4, + BEHAVIOUR_5, + BEHAVIOUR_NORMAL_SPEED, + BEHAVIOUR_FAST_SPEED, + BEHAVIOUR_SLOW_SPEED, + BEHAVIOUR_9, + BEHAVIOUR_10, + BEHAVIOUR_MAX_SPEED +}; /** @cond */ @@ -210,7 +225,7 @@ extern Gfx D_0D008108[]; extern Gfx D_0D008120[]; extern Gfx D_0D008138[]; extern u8 common_grand_prix_human_item_curve[][100]; -extern u8 common_grand_prix_cpu_item_curve[][100]; +extern u8 common_grand_prix_kart_ai_item_curve[][100]; extern u8 common_versus_2_player_item_curve[][100]; extern u8 common_versus_3_player_item_curve[][100]; extern u8 common_versus_4_player_item_curve[][100]; @@ -232,23 +247,23 @@ extern Gfx D_0D008E48[]; extern Gfx D_0D008E70[]; extern Mtx D_0D008E98; extern Vtx D_0D008ED8[]; -extern UnkCommonTextureStruct0 D_0D008F18[]; -extern UnkCommonTextureStruct0 D_0D008F28[]; -extern UnkCommonTextureStruct0 D_0D008F80[]; -extern UnkCommonTextureStruct0 D_0D008FB8[]; -extern UnkCommonTextureStruct0 D_0D009058[]; -extern UnkCommonTextureStruct0 D_0D0090B8[]; -extern UnkCommonTextureStruct0 D_0D0090F8[]; -extern UnkCommonTextureStruct0 D_0D009158[]; -extern UnkCommonTextureStruct0 D_0D009188[]; -extern UnkCommonTextureStruct0 D_0D0091E8[]; -extern UnkCommonTextureStruct0 D_0D009210[]; -extern UnkCommonTextureStruct0 D_0D009238[]; -extern UnkCommonTextureStruct0 D_0D009260[]; -extern UnkCommonTextureStruct0 D_0D009280[]; -extern UnkCommonTextureStruct0 D_0D0092C8[]; -extern UnkCommonTextureStruct0 D_0D009310[]; -extern UnkCommonTextureStruct0 D_0D0093C0[]; +extern KartAIBehaviour common_kart_ai_behaviour_battle_courses[]; +extern KartAIBehaviour common_kart_ai_behaviour_mario_raceway[]; +extern KartAIBehaviour common_kart_ai_behaviour_choco_mountain[]; +extern KartAIBehaviour common_kart_ai_behaviour_bowser_castle[]; +extern KartAIBehaviour common_kart_ai_behaviour_banshee_boardwalk[]; +extern KartAIBehaviour common_kart_ai_behaviour_yoshi_valley[]; +extern KartAIBehaviour common_kart_ai_behaviour_frappe_snowland[]; +extern KartAIBehaviour common_kart_ai_behaviour_koopa_beach[]; +extern KartAIBehaviour common_kart_ai_behaviour_royal_raceway[]; +extern KartAIBehaviour common_kart_ai_behaviour_luigi_raceway[]; +extern KartAIBehaviour common_kart_ai_behaviour_moo_moo_farm[]; +extern KartAIBehaviour common_kart_ai_behaviour_toad_turnpike[]; +extern KartAIBehaviour common_kart_ai_behaviour_kalamari_desert[]; +extern KartAIBehaviour common_kart_ai_behaviour_sherbet_land[]; +extern KartAIBehaviour common_kart_ai_behaviour_rainbow_road[]; +extern KartAIBehaviour common_kart_ai_behaviour_wario_stadium[]; +extern KartAIBehaviour common_kart_ai_behaviour_dk_jungle[]; extern f32 D_0D009418[][4]; extern f32 D_0D009568[][4]; extern f32 D_0D0096B8[][4]; diff --git a/src/data/common_textures.c b/src/data/common_textures.c index b67c00d4a2..c4a9fe5a15 100644 --- a/src/data/common_textures.c +++ b/src/data/common_textures.c @@ -1881,7 +1881,7 @@ u8 common_grand_prix_human_item_curve[8][100] = { }, }; -u8 common_grand_prix_cpu_item_curve[8][100] = { +u8 common_grand_prix_kart_ai_item_curve[8][100] = { { ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, ITEM_BANANA, @@ -2257,215 +2257,215 @@ Vtx D_0D008ED8[] = { {{{ -1, 3, -1}, 3, {65535, 3}, {0x00, 0x01, 0x00, 0x00}}}, }; -UnkCommonTextureStruct0 D_0D008F18[] = { - { 1, 3, 2, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D008F28[] = { - { 1, 2, 6, }, - { 11, 30, 1, }, - { 55, 74, 1, }, - { 90, 105, 1, }, - { 139, 155, 1, }, - { 177, 205, 1, }, - { 225, 242, 1, }, - { 292, 313, 1, }, - { 352, 373, 1, }, - { 452, 465, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D008F80[] = { - { 1, 2, 6, }, - { 10, 25, 1, }, - { 190, 210, 1, }, - { 270, 290, 1, }, - { 410, 440, 1, }, - { 540, 550, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D008FB8[] = { - { 1, 2, 6, }, - { 60, 80, 1, }, - { 125, 140, 1, }, - { 170, 185, 1, }, - { 230, 240, 1, }, - { 275, 285, 1, }, - { 310, 320, 1, }, - { 321, 349, 3, }, - { 350, 360, 1, }, - { 385, 415, 1, }, - { 450, 468, 1, }, - { 470, 477, 9, }, - { 480, 485, 11, }, - { 543, 546, 9, }, - { 548, 550, 11, }, - { 565, 568, 2, }, - { 630, 631, 6, }, - { 635, 640, 10, }, - { 645, 655, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009058[] = { - { 1, 2, 6, }, - { 15, 30, 1, }, - { 55, 65, 1, }, - { 125, 150, 1, }, - { 265, 270, 1, }, - { 275, 285, 1, }, - { 305, 320, 2, }, - { 330, 340, 1, }, - { 375, 385, 1, }, - { 547, 570, 1, }, - { 582, 600, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D0090B8[] = { - { 1, 2, 6, }, - { 70, 94, 1, }, - { 120, 133, 1, }, - { 150, 170, 1, }, - { 249, 265, 1, }, - { 360, 395, 1, }, - { 635, 655, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D0090F8[] = { - { 1, 2, 6, }, - { 15, 30, 1, }, - { 41, 63, 1, }, - { 115, 155, 1, }, - { 200, 215, 1, }, - { 240, 241, 9, }, - { 264, 265, 10, }, - { 270, 290, 1, }, - { 345, 375, 1, }, - { 493, 544, 1, }, - { 583, 605, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009158[] = { - { 1, 2, 6, }, - { 75, 100, 1, }, - { 135, 150, 1, }, - { 355, 390, 1, }, - { 505, 525, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009188[] = { - { 1, 2, 6, }, - { 65, 80, 1, }, - { 165, 166, 9, }, - { 180, 210, 1, }, - { 220, 221, 10, }, - { 250, 275, 1, }, - { 360, 380, 1, }, - { 440, 480, 1, }, - { 600, 601, 9, }, - { 689, 690, 10, }, - { 695, 725, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D0091E8[] = { - { 1, 2, 6, }, - { 128, 275, 1, }, - { 320, 345, 1, }, - { 465, 565, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009210[] = { - { 1, 2, 6, }, - { 75, 100, 1, }, - { 175, 210, 1, }, - { 275, 300, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009238[] = { - { 1, 2, 6, }, - { 106, 188, 1, }, - { 220, 386, 1, }, - { 583, 765, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009260[] = { - { 1, 2, 6, }, - { 245, 262, 1, }, - { 585, 606, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009280[] = { - { 1, 2, 6, }, - { 7, 38, 1, }, - { 36, 54, 1, }, - { 129, 150, 1, }, - { 380, 410, 1, }, - { 425, 445, 1, }, - { 456, 500, 1, }, - { 594, 625, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D0092C8[] = { - { 1, 2, 6, }, - { 4, 5, 9, }, - { 129, 130, 10, }, - { 555, 560, 9, }, - { 827, 832, 10, }, - { 810, 845, 1, }, - { 910, 993, 1, }, - { 1390, 1600, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D009310[] = { - { 1, 2, 6, }, - { 80, 120, 1, }, - { 200, 250, 1, }, - { 252, 253, 9, }, - { 273, 295, 1, }, - { 300, 315, 1, }, - { 333, 384, 1, }, - { 400, 401, 10, }, - { 405, 435, 1, }, - { 445, 475, 1, }, - { 485, 525, 1, }, - { 585, 615, 1, }, - { 685, 735, 1, }, - { 783, 820, 1, }, - { 956, 984, 1, }, - { 1005, 1050, 1, }, - { 1063, 1088, 1, }, - { 1130, 1131, 9, }, - { 1169, 1170, 10, }, - { 1195, 1240, 1, }, - { 1262, 1300, 1, }, - { -1, -1, 0, }, -}; - -UnkCommonTextureStruct0 D_0D0093C0[] = { - { 1, 2, 6, }, - { 20, 40, 1, }, - { 190, 191, 9, }, - { 259, 260, 10, }, - { 315, 335, 1, }, - { 353, 370, 1, }, - { 398, 430, 1, }, - { 458, 485, 1, }, - { 510, 535, 1, }, - { 580, 660, 3, }, - { -1, -1, 0, }, +KartAIBehaviour common_kart_ai_behaviour_battle_courses[] = { + { 1, 3, BEHAVIOUR_HOP, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_mario_raceway[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 11, 30, BEHAVIOUR_1, }, + { 55, 74, BEHAVIOUR_1, }, + { 90, 105, BEHAVIOUR_1, }, + { 139, 155, BEHAVIOUR_1, }, + { 177, 205, BEHAVIOUR_1, }, + { 225, 242, BEHAVIOUR_1, }, + { 292, 313, BEHAVIOUR_1, }, + { 352, 373, BEHAVIOUR_1, }, + { 452, 465, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_choco_mountain[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 10, 25, BEHAVIOUR_1, }, + { 190, 210, BEHAVIOUR_1, }, + { 270, 290, BEHAVIOUR_1, }, + { 410, 440, BEHAVIOUR_1, }, + { 540, 550, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_bowser_castle[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 60, 80, BEHAVIOUR_1, }, + { 125, 140, BEHAVIOUR_1, }, + { 170, 185, BEHAVIOUR_1, }, + { 230, 240, BEHAVIOUR_1, }, + { 275, 285, BEHAVIOUR_1, }, + { 310, 320, BEHAVIOUR_1, }, + { 321, 349, BEHAVIOUR_3, }, + { 350, 360, BEHAVIOUR_1, }, + { 385, 415, BEHAVIOUR_1, }, + { 450, 468, BEHAVIOUR_1, }, + { 470, 477, BEHAVIOUR_9, }, + { 480, 485, BEHAVIOUR_MAX_SPEED, }, + { 543, 546, BEHAVIOUR_9, }, + { 548, 550, BEHAVIOUR_MAX_SPEED, }, + { 565, 568, BEHAVIOUR_HOP, }, + { 630, 631, BEHAVIOUR_NORMAL_SPEED, }, + { 635, 640, BEHAVIOUR_10, }, + { 645, 655, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_banshee_boardwalk[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 15, 30, BEHAVIOUR_1, }, + { 55, 65, BEHAVIOUR_1, }, + { 125, 150, BEHAVIOUR_1, }, + { 265, 270, BEHAVIOUR_1, }, + { 275, 285, BEHAVIOUR_1, }, + { 305, 320, BEHAVIOUR_HOP, }, + { 330, 340, BEHAVIOUR_1, }, + { 375, 385, BEHAVIOUR_1, }, + { 547, 570, BEHAVIOUR_1, }, + { 582, 600, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_yoshi_valley[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 70, 94, BEHAVIOUR_1, }, + { 120, 133, BEHAVIOUR_1, }, + { 150, 170, BEHAVIOUR_1, }, + { 249, 265, BEHAVIOUR_1, }, + { 360, 395, BEHAVIOUR_1, }, + { 635, 655, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_frappe_snowland[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 15, 30, BEHAVIOUR_1, }, + { 41, 63, BEHAVIOUR_1, }, + { 115, 155, BEHAVIOUR_1, }, + { 200, 215, BEHAVIOUR_1, }, + { 240, 241, BEHAVIOUR_9, }, + { 264, 265, BEHAVIOUR_10, }, + { 270, 290, BEHAVIOUR_1, }, + { 345, 375, BEHAVIOUR_1, }, + { 493, 544, BEHAVIOUR_1, }, + { 583, 605, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_koopa_beach[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 75, 100, BEHAVIOUR_1, }, + { 135, 150, BEHAVIOUR_1, }, + { 355, 390, BEHAVIOUR_1, }, + { 505, 525, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_royal_raceway[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 65, 80, BEHAVIOUR_1, }, + { 165, 166, BEHAVIOUR_9, }, + { 180, 210, BEHAVIOUR_1, }, + { 220, 221, BEHAVIOUR_10, }, + { 250, 275, BEHAVIOUR_1, }, + { 360, 380, BEHAVIOUR_1, }, + { 440, 480, BEHAVIOUR_1, }, + { 600, 601, BEHAVIOUR_9, }, + { 689, 690, BEHAVIOUR_10, }, + { 695, 725, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_luigi_raceway[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 128, 275, BEHAVIOUR_1, }, + { 320, 345, BEHAVIOUR_1, }, + { 465, 565, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_moo_moo_farm[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 75, 100, BEHAVIOUR_1, }, + { 175, 210, BEHAVIOUR_1, }, + { 275, 300, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_toad_turnpike[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 106, 188, BEHAVIOUR_1, }, + { 220, 386, BEHAVIOUR_1, }, + { 583, 765, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_kalamari_desert[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 245, 262, BEHAVIOUR_1, }, + { 585, 606, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_sherbet_land[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 7, 38, BEHAVIOUR_1, }, + { 36, 54, BEHAVIOUR_1, }, + { 129, 150, BEHAVIOUR_1, }, + { 380, 410, BEHAVIOUR_1, }, + { 425, 445, BEHAVIOUR_1, }, + { 456, 500, BEHAVIOUR_1, }, + { 594, 625, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_rainbow_road[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 4, 5, BEHAVIOUR_9, }, + { 129, 130, BEHAVIOUR_10, }, + { 555, 560, BEHAVIOUR_9, }, + { 827, 832, BEHAVIOUR_10, }, + { 810, 845, BEHAVIOUR_1, }, + { 910, 993, BEHAVIOUR_1, }, + { 1390, 1600, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_wario_stadium[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 80, 120, BEHAVIOUR_1, }, + { 200, 250, BEHAVIOUR_1, }, + { 252, 253, BEHAVIOUR_9, }, + { 273, 295, BEHAVIOUR_1, }, + { 300, 315, BEHAVIOUR_1, }, + { 333, 384, BEHAVIOUR_1, }, + { 400, 401, BEHAVIOUR_10, }, + { 405, 435, BEHAVIOUR_1, }, + { 445, 475, BEHAVIOUR_1, }, + { 485, 525, BEHAVIOUR_1, }, + { 585, 615, BEHAVIOUR_1, }, + { 685, 735, BEHAVIOUR_1, }, + { 783, 820, BEHAVIOUR_1, }, + { 956, 984, BEHAVIOUR_1, }, + { 1005, 1050, BEHAVIOUR_1, }, + { 1063, 1088, BEHAVIOUR_1, }, + { 1130, 1131, BEHAVIOUR_9, }, + { 1169, 1170, BEHAVIOUR_10, }, + { 1195, 1240, BEHAVIOUR_1, }, + { 1262, 1300, BEHAVIOUR_1, }, + { -1, -1, BEHAVIOUR_NONE, }, +}; + +KartAIBehaviour common_kart_ai_behaviour_dk_jungle[] = { + { 1, 2, BEHAVIOUR_NORMAL_SPEED, }, + { 20, 40, BEHAVIOUR_1, }, + { 190, 191, BEHAVIOUR_9, }, + { 259, 260, BEHAVIOUR_10, }, + { 315, 335, BEHAVIOUR_1, }, + { 353, 370, BEHAVIOUR_1, }, + { 398, 430, BEHAVIOUR_1, }, + { 458, 485, BEHAVIOUR_1, }, + { 510, 535, BEHAVIOUR_1, }, + { 580, 660, BEHAVIOUR_3, }, + { -1, -1, BEHAVIOUR_NONE, }, }; // unknown float data diff --git a/src/data/path_spawn_data.c b/src/data/path_spawn_data.c index 8f9f1be68f..6d893603fb 100644 --- a/src/data/path_spawn_data.c +++ b/src/data/path_spawn_data.c @@ -2,13 +2,29 @@ #include "courses/all_course_data.h" #include "ending/ceremony_data.h" -UnkCommonTextureStruct0 *D_800DC720[] = { - D_0D008F28, D_0D008F80, D_0D008FB8, D_0D009058, - D_0D0090B8, D_0D0090F8, D_0D009158, D_0D009188, - D_0D0091E8, D_0D009210, D_0D009238, D_0D009260, - D_0D009280, D_0D0092C8, D_0D009310, D_0D008F18, - D_0D008F18, D_0D008F18, D_0D0093C0, D_0D008F18, - D_0D008F18, NULL, +KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1] = { + common_kart_ai_behaviour_mario_raceway, + common_kart_ai_behaviour_choco_mountain, + common_kart_ai_behaviour_bowser_castle, + common_kart_ai_behaviour_banshee_boardwalk, + common_kart_ai_behaviour_yoshi_valley, + common_kart_ai_behaviour_frappe_snowland, + common_kart_ai_behaviour_koopa_beach, + common_kart_ai_behaviour_royal_raceway, + common_kart_ai_behaviour_luigi_raceway, + common_kart_ai_behaviour_moo_moo_farm, + common_kart_ai_behaviour_toad_turnpike, + common_kart_ai_behaviour_kalamari_desert, + common_kart_ai_behaviour_sherbet_land, + common_kart_ai_behaviour_rainbow_road, + common_kart_ai_behaviour_wario_stadium, + common_kart_ai_behaviour_battle_courses, /* COURSE_BLOCK_FORT */ + common_kart_ai_behaviour_battle_courses, /* COURSE_SKYSCRAPER */ + common_kart_ai_behaviour_battle_courses, /* COURSE_DOUBLE_DECK */ + common_kart_ai_behaviour_dk_jungle, + common_kart_ai_behaviour_battle_courses, /* COURSE_BIG_DONUT */ + common_kart_ai_behaviour_battle_courses, /* COURSE_AWARD_CEREMONY */ + NULL, /* NUM_COURSES */ }; TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 }; @@ -67,7 +83,7 @@ s16 D_800DCA20[] = { 0x0035, 0x0035, 0x0035, 0x0028, 0x0035, 0x0000, }; -f32 D_800DCA4C[] = { +f32 gKartAICourseMaximumWaypointSeparation[] = { 50.0, 35.0, 35.0, 40.0, 35.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, @@ -76,7 +92,7 @@ f32 D_800DCA4C[] = { 40.0, }; -f32 D_800DCAA0[] = { +f32 gKartAICourseMinimumWaypointSeparation[] = { 0.3, 0.3, 0.2, 0.4, 0.0, 0.3, 0.5, 0.4, 0.7, 0.5, 0.5, 0.3, diff --git a/src/data/path_spawn_data.h b/src/data/path_spawn_data.h index eb394c2624..4582390377 100644 --- a/src/data/path_spawn_data.h +++ b/src/data/path_spawn_data.h @@ -15,13 +15,13 @@ struct _struct_D_800DD9D0_0x10 { /* 0x0A */ char padA[6]; }; // size 0x10 -extern UnkCommonTextureStruct0 *D_800DC720[]; +extern KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1]; extern TrackWaypoint nullPath; extern TrackWaypoint *gCoursePathTable[][4]; extern TrackWaypoint *D_800DC8D0[][4]; extern s16 D_800DCA20[]; -extern f32 D_800DCA4C[]; -extern f32 D_800DCAA0[]; +extern f32 gKartAICourseMaximumWaypointSeparation[]; +extern f32 gKartAICourseMinimumWaypointSeparation[]; extern s16 D_800DCAF4[]; extern s16 D_800DCB34[]; extern s16 *D_800DCBB4[]; diff --git a/src/effects.c b/src/effects.c index 9a4fc17a0c..af29bab8d8 100644 --- a/src/effects.c +++ b/src/effects.c @@ -342,7 +342,7 @@ void func_8008C8C4(Player* player, s8 playerId) { if ((gIsPlayerTripleAButtonCombo[playerId] == TRUE) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { player->currentSpeed = (f32) (player->currentSpeed + 100.0f); } - if ((gModeSelection == VERSUS) && ((player->type & PLAYER_CPU) == PLAYER_CPU) && (!gDemoMode) && ((player->unk_0CA & 2) == 0) && (gGPCurrentRaceRankByPlayerId[playerId] != 0)) { + if ((gModeSelection == VERSUS) && ((player->type & PLAYER_KART_AI) == PLAYER_KART_AI) && (!gDemoMode) && ((player->unk_0CA & 2) == 0) && (gGPCurrentRaceRankByPlayerId[playerId] != 0)) { player->soundEffects = (s32) (player->soundEffects | REVERSE_SOUND_EFFECT); } } @@ -1035,7 +1035,7 @@ void apply_reverse_sound_effect(Player *player, s8 arg1) player->unk_0E0 = 0; if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) { - if (((gModeSelection == VERSUS) && ((player->type & PLAYER_CPU) != 0)) && (!gDemoMode)) { + if (((gModeSelection == VERSUS) && ((player->type & PLAYER_KART_AI) != 0)) && (!gDemoMode)) { func_800CA24C(arg1); } @@ -1043,7 +1043,7 @@ void apply_reverse_sound_effect(Player *player, s8 arg1) } func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008005); - if (((gModeSelection == VERSUS) && ((player->type & PLAYER_CPU) != 0)) && (!gDemoMode)) { + if (((gModeSelection == VERSUS) && ((player->type & PLAYER_KART_AI) != 0)) && (!gDemoMode)) { func_800CA24C(arg1); } func_800C9060(arg1, SOUND_ACTION_EXPLOSION); @@ -1884,7 +1884,7 @@ void func_80090970(Player *player, s8 playerId, s8 arg2) { } break; case 1: - if (((player->type & PLAYER_HUMAN) == 0x4000) && ((player->type & PLAYER_CPU) == 0)) { + if (((player->type & PLAYER_HUMAN) == 0x4000) && ((player->type & PLAYER_KART_AI) == 0)) { func_8009E088(playerId, 0xA); } if ((player->unk_0CA & 1) == 1) { @@ -1916,7 +1916,7 @@ void func_80090970(Player *player, s8 playerId, s8 arg2) { break; case 3: D_80165330[playerId] = 0; - if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_CPU) == 0)) { + if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_KART_AI) == 0)) { func_8009E020(playerId, 0x14); } func_80090178(player, playerId, sp44, sp38); diff --git a/src/main.h b/src/main.h index c1fa48de38..eca35b4a5b 100644 --- a/src/main.h +++ b/src/main.h @@ -22,12 +22,12 @@ //! @todo Verify with proper documentation // functions called by mtxShadow multiply by 8 -// 8 CPU Players * 4 real players in coop +// 8 Kart AI Players * 4 real players in coop #define MTX_SHADOW_POOL_SIZE 8 * 4 //! @todo Verify with proper documentation // functions called by mtxKart multiply by 8 -// 8 CPU Players * 4 real players in coop +// 8 Kart AI Players * 4 real players in coop #define MTX_KART_POOL_SIZE 8 * 4 #define MTX_EFFECT_POOL_SIZE 660 diff --git a/src/player_controller.c b/src/player_controller.c index 334f9ea5e2..08b852f685 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -23,310 +23,310 @@ extern s32 D_8018D168; -s16 gCPUforMario[] = { +s16 gKartAIforMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }; -s16 gCPUforLuigi[] = { +s16 gKartAIforLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }; -s16 gCPUforYoshi[] = { +s16 gKartAIforYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }; -s16 gCPUforToad[] = { +s16 gKartAIforToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER, 0 }; -s16 gCPUforDk[] = { +s16 gKartAIforDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER, 0 }; -s16 gCPUforWario[] = { +s16 gKartAIforWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER, 0 }; -s16 gCPUforPeach[] = { +s16 gKartAIforPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER, 0 }; -s16 gCPUforBowser[] = { +s16 gKartAIforBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, 0 }; -s16 *gCPUforPlayer[] = { - gCPUforMario, gCPUforLuigi, gCPUforYoshi, gCPUforToad, - gCPUforDk, gCPUforWario, gCPUforPeach, gCPUforBowser +s16 *gKartAIforPlayer[] = { + gKartAIforMario, gKartAIforLuigi, gKartAIforYoshi, gKartAIforToad, + gKartAIforDk, gKartAIforWario, gKartAIforPeach, gKartAIforBowser }; -s16 gCPUforMarioAndLuigi[] = { +s16 gKartAIforMarioAndLuigi[] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforMarioAndYoshi[] = { +s16 gKartAIforMarioAndYoshi[] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforMarioAndToad[] = { +s16 gKartAIforMarioAndToad[] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforMarioAndDk[] = { +s16 gKartAIforMarioAndDk[] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforMarioAndWario[] = { +s16 gKartAIforMarioAndWario[] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforMarioAndPeach[] = { +s16 gKartAIforMarioAndPeach[] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforMarioAndBowser[] = { +s16 gKartAIforMarioAndBowser[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforLuigiAndMario[] = { +s16 gKartAIforLuigiAndMario[] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforLuigiAndYoshi[] = { +s16 gKartAIforLuigiAndYoshi[] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforLuigiAndToad[] = { +s16 gKartAIforLuigiAndToad[] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforLuigiAndDk[] = { +s16 gKartAIforLuigiAndDk[] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforLuigiAndWario[] = { +s16 gKartAIforLuigiAndWario[] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforLuigiAndPeach[] = { +s16 gKartAIforLuigiAndPeach[] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforLuigiAndBowser[] = { +s16 gKartAIforLuigiAndBowser[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforYoshiAndMario[] = { +s16 gKartAIforYoshiAndMario[] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforYoshiAndLuigi[] = { +s16 gKartAIforYoshiAndLuigi[] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforYoshiAndToad[] = { +s16 gKartAIforYoshiAndToad[] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforYoshiAndDk[] = { +s16 gKartAIforYoshiAndDk[] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforYoshiAndWario[] = { +s16 gKartAIforYoshiAndWario[] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforYoshiAndPeach[] = { +s16 gKartAIforYoshiAndPeach[] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforYoshiAndBowser[] = { +s16 gKartAIforYoshiAndBowser[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforToadAndMario[] = { +s16 gKartAIforToadAndMario[] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforToadAndLuigi[] = { +s16 gKartAIforToadAndLuigi[] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforToadAndYoshi[] = { +s16 gKartAIforToadAndYoshi[] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }; -s16 gCPUforToadAndDk[] = { +s16 gKartAIforToadAndDk[] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }; -s16 gCPUforToadAndWario[] = { +s16 gKartAIforToadAndWario[] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }; -s16 gCPUforToadAndPeach[] = { +s16 gKartAIforToadAndPeach[] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }; -s16 gCPUforToadAndBowser[] = { +s16 gKartAIforToadAndBowser[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }; -s16 gCPUforDkAndMario[] = { +s16 gKartAIforDkAndMario[] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforDkAndLuigi[] = { +s16 gKartAIforDkAndLuigi[] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforDkAndToad[] = { +s16 gKartAIforDkAndToad[] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }; -s16 gCPUforDkAndYoshi[] = { +s16 gKartAIforDkAndYoshi[] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }; -s16 gCPUforDkAndWario[] = { +s16 gKartAIforDkAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }; -s16 gCPUforDkAndPeach[] = { +s16 gKartAIforDkAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }; -s16 gCPUforDkAndBowser[] = { +s16 gKartAIforDkAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }; -s16 gCPUforWarioAndMario[] = { +s16 gKartAIforWarioAndMario[] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforWarioAndLuigi[] = { +s16 gKartAIforWarioAndLuigi[] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforWarioAndYoshi[] = { +s16 gKartAIforWarioAndYoshi[] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }; -s16 gCPUforWarioAndDk[] = { +s16 gKartAIforWarioAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }; -s16 gCPUforWarioAndToad[] = { +s16 gKartAIforWarioAndToad[] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }; -s16 gCPUforWarioAndPeach[] = { +s16 gKartAIforWarioAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }; -s16 gCPUforWarioAndBowser[] = { +s16 gKartAIforWarioAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }; -s16 gCPUforPeachAndMario[] = { +s16 gKartAIforPeachAndMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforPeachAndLuigi[] = { +s16 gKartAIforPeachAndLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforPeachAndYoshi[] = { +s16 gKartAIforPeachAndYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }; -s16 gCPUforPeachAndDk[] = { +s16 gKartAIforPeachAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }; -s16 gCPUforPeachAndWario[] = { +s16 gKartAIforPeachAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }; -s16 gCPUforPeachAndToad[] = { +s16 gKartAIforPeachAndToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }; -s16 gCPUforPeachAndBowser[] = { +s16 gKartAIforPeachAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }; -s16 gCPUforBowserAndMario[] = { +s16 gKartAIforBowserAndMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforBowserAndLuigi[] = { +s16 gKartAIforBowserAndLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforBowserAndYoshi[] = { +s16 gKartAIforBowserAndYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }; -s16 gCPUforBowserAndDk[] = { +s16 gKartAIforBowserAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }; -s16 gCPUforBowserAndWario[] = { +s16 gKartAIforBowserAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }; -s16 gCPUforBowserAndToad[] = { +s16 gKartAIforBowserAndToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }; -s16 gCPUforBowserAndPeach[] = { +s16 gKartAIforBowserAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }; -s16 *gListCPUforMario[] = { - gCPUforMarioAndLuigi, gCPUforMarioAndLuigi, gCPUforMarioAndYoshi, gCPUforMarioAndToad, - gCPUforMarioAndDk, gCPUforMarioAndWario, gCPUforMarioAndPeach, gCPUforMarioAndBowser +s16 *gListKartAIforMario[] = { + gKartAIforMarioAndLuigi, gKartAIforMarioAndLuigi, gKartAIforMarioAndYoshi, gKartAIforMarioAndToad, + gKartAIforMarioAndDk, gKartAIforMarioAndWario, gKartAIforMarioAndPeach, gKartAIforMarioAndBowser }; -s16 *gListCPUforLuigi[] = { - gCPUforLuigiAndMario, gCPUforLuigiAndMario, gCPUforLuigiAndYoshi, gCPUforLuigiAndToad, - gCPUforLuigiAndDk, gCPUforLuigiAndWario, gCPUforLuigiAndPeach, gCPUforLuigiAndBowser +s16 *gListKartAIforLuigi[] = { + gKartAIforLuigiAndMario, gKartAIforLuigiAndMario, gKartAIforLuigiAndYoshi, gKartAIforLuigiAndToad, + gKartAIforLuigiAndDk, gKartAIforLuigiAndWario, gKartAIforLuigiAndPeach, gKartAIforLuigiAndBowser }; -s16 *gListCPUforYoshi[] = { - gCPUforYoshiAndMario, gCPUforYoshiAndLuigi, gCPUforYoshiAndLuigi, gCPUforYoshiAndToad, - gCPUforYoshiAndDk, gCPUforYoshiAndWario, gCPUforYoshiAndPeach, gCPUforYoshiAndBowser +s16 *gListKartAIforYoshi[] = { + gKartAIforYoshiAndMario, gKartAIforYoshiAndLuigi, gKartAIforYoshiAndLuigi, gKartAIforYoshiAndToad, + gKartAIforYoshiAndDk, gKartAIforYoshiAndWario, gKartAIforYoshiAndPeach, gKartAIforYoshiAndBowser }; -s16 *gListCPUforToad[] = { - gCPUforToadAndMario, gCPUforToadAndLuigi, gCPUforToadAndYoshi, gCPUforToadAndYoshi, - gCPUforToadAndDk, gCPUforToadAndWario, gCPUforToadAndPeach, gCPUforToadAndBowser +s16 *gListKartAIforToad[] = { + gKartAIforToadAndMario, gKartAIforToadAndLuigi, gKartAIforToadAndYoshi, gKartAIforToadAndYoshi, + gKartAIforToadAndDk, gKartAIforToadAndWario, gKartAIforToadAndPeach, gKartAIforToadAndBowser }; -s16 *gListCPUforDk[] = { - gCPUforDkAndMario, gCPUforDkAndLuigi, gCPUforDkAndToad, gCPUforDkAndYoshi, - gCPUforDkAndYoshi, gCPUforDkAndWario, gCPUforDkAndPeach, gCPUforDkAndBowser +s16 *gListKartAIforDk[] = { + gKartAIforDkAndMario, gKartAIforDkAndLuigi, gKartAIforDkAndToad, gKartAIforDkAndYoshi, + gKartAIforDkAndYoshi, gKartAIforDkAndWario, gKartAIforDkAndPeach, gKartAIforDkAndBowser }; -s16 *gListCPUforWario[] = { - gCPUforWarioAndMario, gCPUforWarioAndLuigi, gCPUforWarioAndYoshi, gCPUforWarioAndToad, - gCPUforWarioAndDk, gCPUforWarioAndDk, gCPUforWarioAndPeach, gCPUforWarioAndBowser +s16 *gListKartAIforWario[] = { + gKartAIforWarioAndMario, gKartAIforWarioAndLuigi, gKartAIforWarioAndYoshi, gKartAIforWarioAndToad, + gKartAIforWarioAndDk, gKartAIforWarioAndDk, gKartAIforWarioAndPeach, gKartAIforWarioAndBowser }; -s16 *gListCPUforPeach[] = { - gCPUforPeachAndMario, gCPUforPeachAndLuigi, gCPUforPeachAndYoshi, gCPUforPeachAndToad, - gCPUforPeachAndDk, gCPUforPeachAndWario, gCPUforPeachAndDk, gCPUforPeachAndBowser +s16 *gListKartAIforPeach[] = { + gKartAIforPeachAndMario, gKartAIforPeachAndLuigi, gKartAIforPeachAndYoshi, gKartAIforPeachAndToad, + gKartAIforPeachAndDk, gKartAIforPeachAndWario, gKartAIforPeachAndDk, gKartAIforPeachAndBowser }; -s16 *gListCPUforBowser[] = { - gCPUforBowserAndMario, gCPUforBowserAndLuigi, gCPUforBowserAndYoshi, gCPUforBowserAndToad, - gCPUforBowserAndDk, gCPUforBowserAndWario, gCPUforBowserAndPeach, gCPUforBowserAndPeach +s16 *gListKartAIforBowser[] = { + gKartAIforBowserAndMario, gKartAIforBowserAndLuigi, gKartAIforBowserAndYoshi, gKartAIforBowserAndToad, + gKartAIforBowserAndDk, gKartAIforBowserAndWario, gKartAIforBowserAndPeach, gKartAIforBowserAndPeach }; -s16 **gCPUforTwoPlayer[] = { - gListCPUforMario, gListCPUforLuigi, gListCPUforYoshi, gListCPUforToad, - gListCPUforDk, gListCPUforWario, gListCPUforPeach, gListCPUforBowser +s16 **gKartAIforTwoPlayer[] = { + gListKartAIforMario, gListKartAIforLuigi, gListKartAIforYoshi, gListKartAIforToad, + gListKartAIforDk, gListKartAIforWario, gListKartAIforPeach, gListKartAIforBowser }; // func_80027D00 @@ -665,7 +665,7 @@ void func_80028864(Player *player, Camera *camera, s8 arg2, s8 arg3) { func_8002D268(player, camera, arg3, arg2); } } else { - control_cpu_movement(player, camera, arg3, arg2); + control_kart_ai_movement(player, camera, arg3, arg2); } } else if ((player->type & PLAYER_STAGING) == PLAYER_STAGING) { func_8002D028(player, arg2); @@ -1308,7 +1308,7 @@ void func_8002A8A4(Player *player, s8 arg1) { } } -void func_8002AA50(Player *player) { +void kart_hop(Player *player) { player->kartHopJerk = gKartHopJerkTable[player->characterId]; player->kartHopAcceleration = 0.0f; player->kartHopVelocity = gKartHopInitialVelocityTable[player->characterId]; @@ -1504,7 +1504,7 @@ void func_8002B218(Player *player) { for (someIndex = 0; someIndex < 10; someIndex++) { if (player->unk_006 == sp38[someIndex]) { player->effects |= 0x10; - func_8002AA50(player); + kart_hop(player); player->unk_204 = 0; break; } @@ -1957,13 +1957,13 @@ void func_8002C4F8(Player *player, s8 arg1) { } else if ((player->effects & 8) != 8) { player->unk_0CA &= ~0x0100; } - if ((player->type & PLAYER_CPU) && ((func_802ABDF4(player->unk_110.unk3A) != 0) || (player->unk_0CA & 1))) { + if ((player->type & PLAYER_KART_AI) && ((func_802ABDF4(player->unk_110.unk3A) != 0) || (player->unk_0CA & 1))) { if (!(player->unk_0CA & 2) && !(player->unk_0CA & 8) && !(player->effects & 0x1000)) { func_80090778(player); func_80090868(player); } } - if ((player->type & PLAYER_CPU) && (player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8)) { + if ((player->type & PLAYER_KART_AI) && (player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8)) { func_80090778(player); func_80090868(player); } @@ -2460,7 +2460,7 @@ void func_8002D268(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) player->pos[2] = spF4; } player->pos[1] = spF8; - if ((player->type & PLAYER_HUMAN) && (!(player->type & PLAYER_CPU))) { + if ((player->type & PLAYER_HUMAN) && (!(player->type & PLAYER_KART_AI))) { func_8002BB9C(player, &spFC, &spF4, arg2, playerId, sp98); } player->unk_064[0] = sp178[0]; @@ -2752,7 +2752,7 @@ void func_8002E594(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) func_8002C4F8(player, playerId); } -void control_cpu_movement(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) { +void control_kart_ai_movement(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) { Vec3f spF4 = {0.0f, 0.0f, 1.0f}; UNUSED Vec3f spE8 = {0.0f, 0.0f, 0.0f}; Vec3f spDC = {0.0f, 0.0f, 0.0f}; @@ -4604,7 +4604,7 @@ void func_80037BB4(Player *player, Vec3f arg1) { if (((player->effects & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { player->rotation[1] += player->unk_078; } - if (!(player->type & PLAYER_CPU)) { + if (!(player->type & PLAYER_KART_AI)) { if (gModeSelection == BATTLE) { func_800378E8(player, sp20, arg1); } else { @@ -4617,7 +4617,7 @@ void func_80037BB4(Player *player, Vec3f arg1) { if (((player->effects & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { player->rotation[1] += player->unk_078; } - if (!(player->type & PLAYER_CPU)) { + if (!(player->type & PLAYER_KART_AI)) { if (gModeSelection == BATTLE) { func_80037A4C(player, sp20, arg1); } else { @@ -4643,7 +4643,7 @@ void func_80037CFC(Player *player, struct Controller *controller, s8 arg2) { ((player->effects & 2) != 2) && ((player->effects & 0x10) != 0x10) && (controller->buttonPressed & R_TRIG)) { - func_8002AA50(player); + kart_hop(player); if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) { func_800C9060(arg2, 0x19008000); } @@ -4736,7 +4736,7 @@ void func_80037CFC(Player *player, struct Controller *controller, s8 arg2) { void func_800381AC(Player *player, struct Controller *controller, s8 arg2) { if (((player->type & PLAYER_EXISTS) == PLAYER_EXISTS) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && - ((player->type & PLAYER_CPU) != PLAYER_CPU)) { + ((player->type & PLAYER_KART_AI) != PLAYER_KART_AI)) { if ((player->type & PLAYER_START_SEQUENCE) != PLAYER_START_SEQUENCE) { if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) { if (controller->button & A_BUTTON) { diff --git a/src/player_controller.h b/src/player_controller.h index e43cb3f4ff..84cbe74188 100644 --- a/src/player_controller.h +++ b/src/player_controller.h @@ -36,7 +36,7 @@ void func_8002A5F4(Vec3f, f32, Vec3f, f32, f32); void func_8002A704(Player*, s8); void func_8002A79C(Player*, s8); void func_8002A8A4(Player*, s8); -void func_8002AA50(Player*); +void kart_hop(Player*); void func_8002AAC0(Player*); void func_8002AB70(Player*); void func_8002AE20(void); @@ -64,7 +64,7 @@ void func_8002D028(Player*, s8); void func_8002D268(Player*, Camera*, s8, s8); void func_8002E4C4(Player*); -void control_cpu_movement(Player*,Camera*, s8, s8); +void control_kart_ai_movement(Player*,Camera*, s8, s8); void func_8002FCA8(Player*, s8); void func_8002FE84(Player*, f32); @@ -113,81 +113,81 @@ void func_80038C6C(Player*, Camera*, s8, s8); /* This is where I'd put my static data, if I had any */ -extern s16 gCPUforMario[]; -extern s16 gCPUforLuigi[]; -extern s16 gCPUforYoshi[]; -extern s16 gCPUforToad[]; -extern s16 gCPUforDk[]; -extern s16 gCPUforWario[]; -extern s16 gCPUforPeach[]; -extern s16 gCPUforBowser[]; -extern s16 *gCPUforPlayer[]; - -extern s16 gCPUforMarioAndLuigi[]; -extern s16 gCPUforMarioAndYoshi[]; -extern s16 gCPUforMarioAndToad[]; -extern s16 gCPUforMarioAndDk[]; -extern s16 gCPUforMarioAndWario[]; -extern s16 gCPUforMarioAndPeach[]; -extern s16 gCPUforMarioAndBowser[]; -extern s16 gCPUforLuigiAndMario[]; -extern s16 gCPUforLuigiAndYoshi[]; -extern s16 gCPUforLuigiAndToad[]; -extern s16 gCPUforLuigiAndDk[]; -extern s16 gCPUforLuigiAndWario[]; -extern s16 gCPUforLuigiAndPeach[]; -extern s16 gCPUforLuigiAndBowser[]; -extern s16 gCPUforYoshiAndMario[]; -extern s16 gCPUforYoshiAndLuigi[]; -extern s16 gCPUforYoshiAndToad[]; -extern s16 gCPUforYoshiAndDk[]; -extern s16 gCPUforYoshiAndWario[]; -extern s16 gCPUforYoshiAndPeach[]; -extern s16 gCPUforYoshiAndBowser[]; -extern s16 gCPUforToadAndMario[]; -extern s16 gCPUforToadAndLuigi[]; -extern s16 gCPUforToadAndYoshi[]; -extern s16 gCPUforToadAndDk[]; -extern s16 gCPUforToadAndWario[]; -extern s16 gCPUforToadAndPeach[]; -extern s16 gCPUforToadAndBowser[]; -extern s16 gCPUforDkAndMario[]; -extern s16 gCPUforDkAndLuigi[]; -extern s16 gCPUforDkAndToad[]; -extern s16 gCPUforDkAndYoshi[]; -extern s16 gCPUforDkAndWario[]; -extern s16 gCPUforDkAndPeach[]; -extern s16 gCPUforDkAndBowser[]; -extern s16 gCPUforWarioAndMario[]; -extern s16 gCPUforWarioAndLuigi[]; -extern s16 gCPUforWarioAndYoshi[]; -extern s16 gCPUforWarioAndDk[]; -extern s16 gCPUforWarioAndToad[]; -extern s16 gCPUforWarioAndPeach[]; -extern s16 gCPUforWarioAndBowser[]; -extern s16 gCPUforPeachAndMario[]; -extern s16 gCPUforPeachAndLuigi[]; -extern s16 gCPUforPeachAndYoshi[]; -extern s16 gCPUforPeachAndDk[]; -extern s16 gCPUforPeachAndWario[]; -extern s16 gCPUforPeachAndToad[]; -extern s16 gCPUforPeachAndBowser[]; -extern s16 gCPUforBowserAndMario[]; -extern s16 gCPUforBowserAndLuigi[]; -extern s16 gCPUforBowserAndYoshi[]; -extern s16 gCPUforBowserAndDk[]; -extern s16 gCPUforBowserAndWario[]; -extern s16 gCPUforBowserAndToad[]; -extern s16 gCPUforBowserAndPeach[]; -extern s16 *gListCPUforMario[]; -extern s16 *gListCPUforLuigi[]; -extern s16 *gListCPUforYoshi[]; -extern s16 *gListCPUforToad[]; -extern s16 *gListCPUforDk[]; -extern s16 *gListCPUforWario[]; -extern s16 *gListCPUforPeach[]; -extern s16 *gListCPUforBowser[]; -extern s16 **gCPUforTwoPlayer[]; +extern s16 gKartAIforMario[]; +extern s16 gKartAIforLuigi[]; +extern s16 gKartAIforYoshi[]; +extern s16 gKartAIforToad[]; +extern s16 gKartAIforDk[]; +extern s16 gKartAIforWario[]; +extern s16 gKartAIforPeach[]; +extern s16 gKartAIforBowser[]; +extern s16 *gKartAIforPlayer[]; + +extern s16 gKartAIforMarioAndLuigi[]; +extern s16 gKartAIforMarioAndYoshi[]; +extern s16 gKartAIforMarioAndToad[]; +extern s16 gKartAIforMarioAndDk[]; +extern s16 gKartAIforMarioAndWario[]; +extern s16 gKartAIforMarioAndPeach[]; +extern s16 gKartAIforMarioAndBowser[]; +extern s16 gKartAIforLuigiAndMario[]; +extern s16 gKartAIforLuigiAndYoshi[]; +extern s16 gKartAIforLuigiAndToad[]; +extern s16 gKartAIforLuigiAndDk[]; +extern s16 gKartAIforLuigiAndWario[]; +extern s16 gKartAIforLuigiAndPeach[]; +extern s16 gKartAIforLuigiAndBowser[]; +extern s16 gKartAIforYoshiAndMario[]; +extern s16 gKartAIforYoshiAndLuigi[]; +extern s16 gKartAIforYoshiAndToad[]; +extern s16 gKartAIforYoshiAndDk[]; +extern s16 gKartAIforYoshiAndWario[]; +extern s16 gKartAIforYoshiAndPeach[]; +extern s16 gKartAIforYoshiAndBowser[]; +extern s16 gKartAIforToadAndMario[]; +extern s16 gKartAIforToadAndLuigi[]; +extern s16 gKartAIforToadAndYoshi[]; +extern s16 gKartAIforToadAndDk[]; +extern s16 gKartAIforToadAndWario[]; +extern s16 gKartAIforToadAndPeach[]; +extern s16 gKartAIforToadAndBowser[]; +extern s16 gKartAIforDkAndMario[]; +extern s16 gKartAIforDkAndLuigi[]; +extern s16 gKartAIforDkAndToad[]; +extern s16 gKartAIforDkAndYoshi[]; +extern s16 gKartAIforDkAndWario[]; +extern s16 gKartAIforDkAndPeach[]; +extern s16 gKartAIforDkAndBowser[]; +extern s16 gKartAIforWarioAndMario[]; +extern s16 gKartAIforWarioAndLuigi[]; +extern s16 gKartAIforWarioAndYoshi[]; +extern s16 gKartAIforWarioAndDk[]; +extern s16 gKartAIforWarioAndToad[]; +extern s16 gKartAIforWarioAndPeach[]; +extern s16 gKartAIforWarioAndBowser[]; +extern s16 gKartAIforPeachAndMario[]; +extern s16 gKartAIforPeachAndLuigi[]; +extern s16 gKartAIforPeachAndYoshi[]; +extern s16 gKartAIforPeachAndDk[]; +extern s16 gKartAIforPeachAndWario[]; +extern s16 gKartAIforPeachAndToad[]; +extern s16 gKartAIforPeachAndBowser[]; +extern s16 gKartAIforBowserAndMario[]; +extern s16 gKartAIforBowserAndLuigi[]; +extern s16 gKartAIforBowserAndYoshi[]; +extern s16 gKartAIforBowserAndDk[]; +extern s16 gKartAIforBowserAndWario[]; +extern s16 gKartAIforBowserAndToad[]; +extern s16 gKartAIforBowserAndPeach[]; +extern s16 *gListKartAIforMario[]; +extern s16 *gListKartAIforLuigi[]; +extern s16 *gListKartAIforYoshi[]; +extern s16 *gListKartAIforToad[]; +extern s16 *gListKartAIforDk[]; +extern s16 *gListKartAIforWario[]; +extern s16 *gListKartAIforPeach[]; +extern s16 *gListKartAIforBowser[]; +extern s16 **gKartAIforTwoPlayer[]; extern s16 D_801656F0; diff --git a/src/racing/actors.c b/src/racing/actors.c index 8d95c20966..c184914529 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -1626,7 +1626,7 @@ bool collision_yoshi_egg(Player *player, struct YoshiValleyEgg *egg) { func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D)); } else { apply_hit_sound_effect(player, player - gPlayerOne); - if ((gModeSelection == TIME_TRIALS) && ((player->type & PLAYER_CPU) == 0)) { + if ((gModeSelection == TIME_TRIALS) && ((player->type & PLAYER_KART_AI) == 0)) { D_80162DF8 = 1; } } @@ -2138,7 +2138,7 @@ void evaluate_collision_between_player_actor(Player *player, struct Actor *actor if (!(player->effects & BOO_EFFECT) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) { if (query_collision_player_vs_actor_item(player, actor) == COLLISION) { func_800C98B8(actor->pos, actor->velocity, SOUND_ACTION_EXPLOSION); - if ((gModeSelection == TIME_TRIALS) && !(player->type & PLAYER_CPU)) { + if ((gModeSelection == TIME_TRIALS) && !(player->type & PLAYER_KART_AI)) { D_80162DF8 = 1; } if (player->effects & STAR_EFFECT) { diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index c7d1fa35bd..04f8ce945a 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -534,7 +534,7 @@ void func_8028EF28(void) { func_8028EEF0(i); currentPosition = gPlayers[i].currentRank; - gPlayers[i].type |= PLAYER_CPU; + gPlayers[i].type |= PLAYER_KART_AI; if (currentPosition < 4) { D_80150120 = 1; @@ -573,7 +573,7 @@ void func_8028EF28(void) { D_800DC510 = 5; i = gPlayerPositionLUT[1]; gPlayers[i].soundEffects |= 0x200000; - gPlayers[i].type |= PLAYER_CPU; + gPlayers[i].type |= PLAYER_KART_AI; func_800CA118((u8)i); break; case 3: @@ -591,7 +591,7 @@ void func_8028EF28(void) { *(gNmiUnknown2 + i * 3 + 2) = 99; } gPlayers[i].soundEffects |= 0x200000; - gPlayers[i].type |= PLAYER_CPU; + gPlayers[i].type |= PLAYER_KART_AI; func_800CA118((u8)i); } break; @@ -606,7 +606,7 @@ void func_8028EF28(void) { D_800DC510 = 5; i = gPlayerPositionLUT[3]; gPlayers[i].soundEffects |= 0x200000; - gPlayers[i].type |= PLAYER_CPU; + gPlayers[i].type |= PLAYER_KART_AI; func_800CA118((u8)i); } break; @@ -801,7 +801,7 @@ void func_8028F970(void) { struct Controller *controller = &gControllers[i]; if (!(player->type & PLAYER_HUMAN)) { continue; } - if (player->type & PLAYER_CPU) { continue; } + if (player->type & PLAYER_KART_AI) { continue; } if (gActiveScreenMode != SCREEN_MODE_3P_4P_SPLITSCREEN) { if ((controller->buttonPressed & L_TRIG) && !(controller->button & R_TRIG)) { diff --git a/src/render_objects.c b/src/render_objects.c index 8cef03f3c7..bc4a86a58e 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -2373,13 +2373,13 @@ void func_8004F3E4(s32 arg0) { case GRAND_PRIX: for (idx = D_8018D158 - 1; idx >= 0; idx--) { playerId = gGPCurrentRacePlayerIdByRank[idx]; - if ((gPlayerOne + playerId)->type & PLAYER_CPU) { + if ((gPlayerOne + playerId)->type & PLAYER_KART_AI) { func_8004F168(arg0, playerId, 8); } } for (idx = D_8018D158 - 1; idx >= 0; idx--) { playerId = gGPCurrentRacePlayerIdByRank[idx]; - if (((gPlayerOne + playerId)->type & PLAYER_CPU) != PLAYER_CPU) { + if (((gPlayerOne + playerId)->type & PLAYER_KART_AI) != PLAYER_KART_AI) { func_8004F168(arg0, playerId, (gPlayerOne + playerId)->characterId); } } diff --git a/src/spawn_players.c b/src/spawn_players.c index e76677a37f..2c3719357f 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -55,7 +55,7 @@ s32 gCountBChangement[8]; bool gIsPlayerTripleBButtonCombo[8]; s32 gTimerBoostTripleBCombo[8]; -s16 chooseCPUPlayers[7]; +s16 chooseKartAIPlayers[7]; s16 D_8016556E; s16 D_80165570; @@ -495,78 +495,78 @@ void spawn_players_gp_one_player(f32 *arg0, f32 *arg1, f32 arg2) { } while(rand == gCharacterSelections[0]); // Randomize gPlayerTwo - chooseCPUPlayers[0] = rand; + chooseKartAIPlayers[0] = rand; // Chooses arr[0] as a fallback to prevent duplicating characters. // If it doesn't find the if, it will grab the final index as a fallback. for (i = 1; i < 7; i++) { - u16* arr = (u16 *) gCPUforPlayer[gCharacterSelections[0]]; + u16* arr = (u16 *) gKartAIforPlayer[gCharacterSelections[0]]; if (rand == arr[i]) { - chooseCPUPlayers[i] = arr[0]; + chooseKartAIPlayers[i] = arr[0]; } else { - chooseCPUPlayers[i] = arr[i]; + chooseKartAIPlayers[i] = arr[i]; } } } D_8016556E = 0; if (gDemoMode == 1) { - spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]], arg2, 32768.0f, chooseCPUPlayers[0], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerThree, 2, arg0[D_80165270[2]], arg1[D_80165270[2]], arg2, 32768.0f, chooseCPUPlayers[1], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFour, 3, arg0[D_80165270[3]], arg1[D_80165270[3]], arg2, 32768.0f, chooseCPUPlayers[2], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFive, 4, arg0[D_80165270[4]], arg1[D_80165270[4]], arg2, 32768.0f, chooseCPUPlayers[3], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSix, 5, arg0[D_80165270[5]], arg1[D_80165270[5]], arg2, 32768.0f, chooseCPUPlayers[4], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSeven, 6, arg0[D_80165270[6]], arg1[D_80165270[6]], arg2, 32768.0f, chooseCPUPlayers[5], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerEight, 7, arg0[D_80165270[7]], arg1[D_80165270[7]], arg2, 32768.0f, chooseCPUPlayers[6], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]], arg2, 32768.0f, chooseKartAIPlayers[0], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerThree, 2, arg0[D_80165270[2]], arg1[D_80165270[2]], arg2, 32768.0f, chooseKartAIPlayers[1], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFour, 3, arg0[D_80165270[3]], arg1[D_80165270[3]], arg2, 32768.0f, chooseKartAIPlayers[2], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFive, 4, arg0[D_80165270[4]], arg1[D_80165270[4]], arg2, 32768.0f, chooseKartAIPlayers[3], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSix, 5, arg0[D_80165270[5]], arg1[D_80165270[5]], arg2, 32768.0f, chooseKartAIPlayers[4], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSeven, 6, arg0[D_80165270[6]], arg1[D_80165270[6]], arg2, 32768.0f, chooseKartAIPlayers[5], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerEight, 7, arg0[D_80165270[7]], arg1[D_80165270[7]], arg2, 32768.0f, chooseKartAIPlayers[6], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); D_80164A28 = 0; } else { spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]] + 250.0f, arg2, 32768.0f, gCharacterSelections[0], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_HUMAN); - spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[0], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerThree, 2, arg0[D_80165270[3]], arg1[D_80165270[2]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[1], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFour, 3, arg0[D_80165270[2]], arg1[D_80165270[3]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[2], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFive, 4, arg0[D_80165270[5]], arg1[D_80165270[4]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[3], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[D_80165270[4]], arg1[D_80165270[5]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[4], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[D_80165270[7]], arg1[D_80165270[6]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[5], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[D_80165270[6]], arg1[D_80165270[7]] + 250.0f, arg2, 32768.0f, chooseCPUPlayers[6], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[0], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerThree, 2, arg0[D_80165270[3]], arg1[D_80165270[2]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[1], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFour, 3, arg0[D_80165270[2]], arg1[D_80165270[3]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[2], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFive, 4, arg0[D_80165270[5]], arg1[D_80165270[4]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[3], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[D_80165270[4]], arg1[D_80165270[5]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[4], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[D_80165270[7]], arg1[D_80165270[6]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[5], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[D_80165270[6]], arg1[D_80165270[7]] + 250.0f, arg2, 32768.0f, chooseKartAIPlayers[6], PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 1; } func_80039AE4(); } void spawn_players_versus_one_player(f32 *arg0, f32 *arg1, f32 arg2) { - spawn_player(gPlayerFour, 3, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFive, 4, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[4], arg1[4], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[5], arg1[5], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[6], arg1[6], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFour, 3, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFive, 4, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[4], arg1[4], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[5], arg1[5], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[6], arg1[6], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); if (gDemoMode == 1) { - spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); } else if (D_8015F890 != 1) { spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); if (D_80162DD4 == 0) { spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, D_80162DE0, PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_START_SEQUENCE | PLAYER_INVISIBLE_OR_BOMB); } else { - spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); } if (D_80162DD6 == 0) { spawn_player(gPlayerThree, 2, arg0[0], arg1[0], arg2, 32768.0f, D_80162DE4, PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_START_SEQUENCE | PLAYER_INVISIBLE_OR_BOMB); } else { - spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); } } else { spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, D_80162DE8, PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_START_SEQUENCE | PLAYER_INVISIBLE_OR_BOMB); if (D_80162DD8 == 0) { spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, D_80162DE0, PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_START_SEQUENCE | PLAYER_INVISIBLE_OR_BOMB); } else { - spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerTwo, 1, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); } if (D_80162DD6 == 0) { spawn_player(gPlayerThree, 2, arg0[0], arg1[0], arg2, 32768.0f, D_80162DE4, PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_START_SEQUENCE | PLAYER_INVISIBLE_OR_BOMB); } else { - spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); } } D_80164A28 = 0; @@ -587,32 +587,32 @@ void spawn_players_gp_two_player(f32* arg0, f32* arg1, f32 arg2) { if (gCharacterSelections[1] == rand) goto getRand; - chooseCPUPlayers[0] = rand; + chooseKartAIPlayers[0] = rand; for (i = 1; i < 6; i++) { - u16* arr = (u16 *) gCPUforTwoPlayer[gCharacterSelections[0]][gCharacterSelections[1]]; + u16* arr = (u16 *) gKartAIforTwoPlayer[gCharacterSelections[0]][gCharacterSelections[1]]; if (rand == arr[i]) { - chooseCPUPlayers[i] = arr[0]; + chooseKartAIPlayers[i] = arr[0]; } else { - chooseCPUPlayers[i] = arr[i]; + chooseKartAIPlayers[i] = arr[i]; } } } - spawn_player(gPlayerThree, 2, arg0[D_80165270[2]], arg1[D_80165270[2]], arg2, 32768.0f, chooseCPUPlayers[0], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFour, 3, arg0[D_80165270[3]], arg1[D_80165270[3]], arg2, 32768.0f, chooseCPUPlayers[1], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFive, 4, arg0[D_80165270[4]], arg1[D_80165270[4]], arg2, 32768.0f, chooseCPUPlayers[2], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSix, 5, arg0[D_80165270[5]], arg1[D_80165270[5]], arg2, 32768.0f, chooseCPUPlayers[3], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSeven, 6, arg0[D_80165270[6]], arg1[D_80165270[6]], arg2, 32768.0f, chooseCPUPlayers[4], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerEight, 7, arg0[D_80165270[7]], arg1[D_80165270[7]], arg2, 32768.0f, chooseCPUPlayers[5], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerThree, 2, arg0[D_80165270[2]], arg1[D_80165270[2]], arg2, 32768.0f, chooseKartAIPlayers[0], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFour, 3, arg0[D_80165270[3]], arg1[D_80165270[3]], arg2, 32768.0f, chooseKartAIPlayers[1], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFive, 4, arg0[D_80165270[4]], arg1[D_80165270[4]], arg2, 32768.0f, chooseKartAIPlayers[2], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSix, 5, arg0[D_80165270[5]], arg1[D_80165270[5]], arg2, 32768.0f, chooseKartAIPlayers[3], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSeven, 6, arg0[D_80165270[6]], arg1[D_80165270[6]], arg2, 32768.0f, chooseKartAIPlayers[4], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerEight, 7, arg0[D_80165270[7]], arg1[D_80165270[7]], arg2, 32768.0f, chooseKartAIPlayers[5], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); if (gDemoMode == 1) { - spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); + spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); } else { spawn_player(gPlayerOneCopy, 0, arg0[D_80165270[0]], arg1[D_80165270[0]], arg2, 32768.0f, gCharacterSelections[0], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } if (gDemoMode == 1) { - spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]], arg2, 32768.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]], arg2, 32768.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); } else { spawn_player(gPlayerTwo, 1, arg0[D_80165270[1]], arg1[D_80165270[1]], arg2, 32768.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } @@ -622,19 +622,19 @@ void spawn_players_gp_two_player(f32* arg0, f32* arg1, f32 arg2) { } void spawn_players_versus_two_player(f32 *arg0, f32 *arg1, f32 arg2) { - spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFour, 3, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFive, 4, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[4], arg1[4], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[5], arg1[5], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[6], arg1[6], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerThree, 2, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFour, 3, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFive, 4, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[4], arg1[4], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[5], arg1[5], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[6], arg1[6], arg2, 32768.0f, gCharacterSelections[0], PLAYER_START_SEQUENCE | PLAYER_KART_AI); if (gDemoMode == 1) { - spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); + spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); } else { spawn_player(gPlayerOneCopy, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } if (gDemoMode == 1) { - spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_CPU); + spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_KART_AI); } else { spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } @@ -652,10 +652,10 @@ void spawn_players_2p_battle(f32 *arg0, f32 *arg1, f32 arg2) { } spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_START_SEQUENCE | PLAYER_HUMAN); spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[3], PLAYER_START_SEQUENCE | PLAYER_HUMAN); - spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 0; func_80039AE4(); } @@ -665,16 +665,16 @@ void func_8003B318(f32 *arg0, f32 *arg1, f32 arg2) { spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); if (gDemoMode == 1) { - spawn_player(gPlayerOne, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_HUMAN_AND_CPU); + spawn_player(gPlayerOne, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_HUMAN_AND_KART_AI); } - spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, 3, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, 3, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 0; func_80039AE4(); } @@ -689,11 +689,11 @@ void spawn_players_3p_battle(f32 *arg0, f32 *arg1, f32 arg2) { spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 0.0f, gCharacterSelections[1], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, -16384.0f, gCharacterSelections[2], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } - spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, 3, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, 3, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 0; func_80039AE4(); } @@ -704,15 +704,15 @@ void func_8003B870(f32 *arg0, f32 *arg1, f32 arg2) { spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[3], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); if (gDemoMode == 1) { - spawn_player(gPlayerOne, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_HUMAN_AND_CPU); - spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[3], PLAYER_HUMAN_AND_CPU); + spawn_player(gPlayerOne, 0, arg0[0], arg1[0], arg2, 32768.0f, gCharacterSelections[0], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerTwo, 1, arg0[1], arg1[1], arg2, 32768.0f, gCharacterSelections[1], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, 32768.0f, gCharacterSelections[2], PLAYER_HUMAN_AND_KART_AI); + spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 32768.0f, gCharacterSelections[3], PLAYER_HUMAN_AND_KART_AI); } - spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 0; func_80039AE4(); } @@ -729,22 +729,22 @@ void spawn_players_4p_battle(f32 *arg0, f32 *arg1, f32 arg2) { spawn_player(gPlayerThree, 2, arg0[2], arg1[2], arg2, -16384.0f, gCharacterSelections[2], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); spawn_player(gPlayerFour, 3, arg0[3], arg1[3], arg2, 16384.0f, gCharacterSelections[3], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); } - spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_CPU); - spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_CPU); + spawn_player(gPlayerFive, 4, arg0[4], arg1[4], arg2, 32768.0f, 4, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSix, 5, arg0[5], arg1[5], arg2, 32768.0f, 5, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerSeven, 6, arg0[6], arg1[6], arg2, 32768.0f, 6, PLAYER_START_SEQUENCE | PLAYER_KART_AI); + spawn_player(gPlayerEight, 7, arg0[0], arg1[0], arg2, 32768.0f, 7, PLAYER_START_SEQUENCE | PLAYER_KART_AI); D_80164A28 = 0; func_80039AE4(); } void func_8003BE30(void) { - spawn_player(gPlayerOne, 0, -2770.774f, -345.187f, -34.6f, 0.0f, gCharacterIdByGPOverallRank[0], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerTwo, 1, -3691.506f, -6.822f, -6.95f, 36400.0f, gCharacterIdByGPOverallRank[1], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerThree, 2, -3475.028f, -998.485f, -8.059f, 45500.0f, gCharacterIdByGPOverallRank[2], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerOne, 0, -2770.774f, -345.187f, -34.6f, 0.0f, gCharacterIdByGPOverallRank[0], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerTwo, 1, -3691.506f, -6.822f, -6.95f, 36400.0f, gCharacterIdByGPOverallRank[1], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerThree, 2, -3475.028f, -998.485f, -8.059f, 45500.0f, gCharacterIdByGPOverallRank[2], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); if (D_802874D8.unk1D >= 3) { - spawn_player(gPlayerFour, 3, -3025.772f, 110.039f, -23.224f, 28210.0f, D_802874D8.unk1E, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFour, 3, -3025.772f, 110.039f, -23.224f, 28210.0f, D_802874D8.unk1E, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); } else { - spawn_player(gPlayerFour, 3, -3025.772f, 110.039f, -23.224f, 28210.0f, gCharacterIdByGPOverallRank[3], PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFour, 3, -3025.772f, 110.039f, -23.224f, 28210.0f, gCharacterIdByGPOverallRank[3], PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); } spawn_player(gPlayerFive, 4, -2770.774f, -345.187f, -34.6f, 0.0f, 0, 0x7000); spawn_player(gPlayerSix, 5, -3691.506f, -6.822f, -6.95f, 36400.0f, 0, 0x7000); @@ -1048,13 +1048,13 @@ void func_8003C0F0(void) { D_80165230[6] = 150.0f; D_80165230[7] = 170.0f; spawn_player(gPlayerOneCopy, 0, D_80165210[0], D_80165230[0], sp5A, 32768.0f, gCharacterSelections[0], PLAYER_EXISTS | PLAYER_START_SEQUENCE | PLAYER_HUMAN); - spawn_player(gPlayerTwo, 1, D_80165210[1], D_80165230[1], sp5A, 32768.0f, 1, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerThree, 2, D_80165210[2], D_80165230[2], sp5A, 32768.0f, 2, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFour, 3, D_80165210[3], D_80165230[3], sp5A, 32768.0f, 3, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerFive, 4, D_80165210[4], D_80165230[4], sp5A, 32768.0f, 4, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSix, 5, D_80165210[5], D_80165230[5], sp5A, 32768.0f, 5, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerSeven, 6, D_80165210[6], D_80165230[6], sp5A, 32768.0f, 6, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); - spawn_player(gPlayerEight, 7, D_80165210[7], D_80165230[7], sp5A, 32768.0f, 7, PLAYER_EXISTS | PLAYER_CPU | PLAYER_START_SEQUENCE); + spawn_player(gPlayerTwo, 1, D_80165210[1], D_80165230[1], sp5A, 32768.0f, 1, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerThree, 2, D_80165210[2], D_80165230[2], sp5A, 32768.0f, 2, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFour, 3, D_80165210[3], D_80165230[3], sp5A, 32768.0f, 3, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerFive, 4, D_80165210[4], D_80165230[4], sp5A, 32768.0f, 4, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSix, 5, D_80165210[5], D_80165230[5], sp5A, 32768.0f, 5, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerSeven, 6, D_80165210[6], D_80165230[6], sp5A, 32768.0f, 6, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); + spawn_player(gPlayerEight, 7, D_80165210[7], D_80165230[7], sp5A, 32768.0f, 7, PLAYER_EXISTS | PLAYER_KART_AI | PLAYER_START_SEQUENCE); D_80164A28 = 0; break; } diff --git a/src/spawn_players.h b/src/spawn_players.h index d7cae3ad3a..504e2b0571 100644 --- a/src/spawn_players.h +++ b/src/spawn_players.h @@ -50,7 +50,7 @@ extern s32 gFrameSinceLastBCombo[]; extern s32 gCountBChangement[]; extern s32 gIsPlayerTripleBButtonCombo[]; extern s32 gTimerBoostTripleBCombo[]; -extern s16 chooseCPUPlayers[]; +extern s16 chooseKartAIPlayers[]; extern s16 D_8016556E; extern s16 D_80165570; extern s16 D_80165572; diff --git a/src/staff_ghosts.c b/src/staff_ghosts.c index 8fe043e871..ff52c60b35 100644 --- a/src/staff_ghosts.c +++ b/src/staff_ghosts.c @@ -238,7 +238,7 @@ void func_8000546C(void) { s16 phi_v0 = 0; if (D_80162DB0 >= 0x1000) { - gPlayerOne->type = PLAYER_CINEMATIC_MODE | PLAYER_START_SEQUENCE | PLAYER_CPU; + gPlayerOne->type = PLAYER_CINEMATIC_MODE | PLAYER_START_SEQUENCE | PLAYER_KART_AI; return; } @@ -469,7 +469,7 @@ void func_8000599C(void) { // sets player to AI? (unconfirmed) void func_80005AE8(Player *ply) { if (((ply->type & PLAYER_INVISIBLE_OR_BOMB) != 0) && (ply != gPlayerOne)) { - ply->type = PLAYER_CINEMATIC_MODE | PLAYER_START_SEQUENCE | PLAYER_CPU; + ply->type = PLAYER_CINEMATIC_MODE | PLAYER_START_SEQUENCE | PLAYER_KART_AI; } } diff --git a/src/update_objects.c b/src/update_objects.c index d11747c04c..3fc0503f43 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -190,7 +190,7 @@ void func_80072120(s32 *arg0, s32 arg1) { void func_80072180(void) { if (gModeSelection == TIME_TRIALS) { if (((gPlayerOne->type & PLAYER_EXISTS) != 0) && - ((gPlayerOne->type & (PLAYER_INVISIBLE_OR_BOMB | PLAYER_CPU)) == 0)) { + ((gPlayerOne->type & (PLAYER_INVISIBLE_OR_BOMB | PLAYER_KART_AI)) == 0)) { D_80162DF8 = 1; } } @@ -3638,7 +3638,7 @@ u8 gen_random_item(s16 rank, s16 isCpu) curve = segmented_to_virtual((void *) common_grand_prix_human_item_curve); } else { - curve = segmented_to_virtual((void *) common_grand_prix_cpu_item_curve); + curve = segmented_to_virtual((void *) common_grand_prix_kart_ai_item_curve); } randomItem = *((rank * 100) + curve + sRandomItemIndex); } @@ -3649,7 +3649,7 @@ u8 gen_random_item_human(UNUSED s16 arg0, s16 rank) { return gen_random_item(rank, FALSE); } -u8 gen_random_item_cpu(UNUSED s32 arg0, s16 rank) { +u8 kart_ai_gen_random_item(UNUSED s32 arg0, s16 rank) { return gen_random_item(rank, TRUE); } @@ -5469,7 +5469,7 @@ void func_8007F8D8(void) { } if (var_s4 != 0) { for (var_s0 = 0; var_s0 < 4; var_s0++, player++){ - if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_CPU)) { + if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_KART_AI)) { if (func_8007F75C(var_s0) != 0) break; } } diff --git a/src/update_objects.h b/src/update_objects.h index 8900294848..11d3179173 100644 --- a/src/update_objects.h +++ b/src/update_objects.h @@ -202,7 +202,7 @@ void func_8007ABFC(s32, s32); void consume_item(s32); u8 gen_random_item(s16, s16); u8 gen_random_item_human(s16, s16); -u8 gen_random_item_cpu(s32, s16); +u8 kart_ai_gen_random_item(s32, s16); s16 func_8007AFB0(s32, s32); s32 func_8007B040(s32, s32); void func_8007B254(s32, s32); diff --git a/tools/doxygen_syms.md b/tools/doxygen_syms.md index b8d33a8b95..8c8139b360 100644 --- a/tools/doxygen_syms.md +++ b/tools/doxygen_syms.md @@ -166,12 +166,12 @@ Variable Name | Memory Address [func_80011014](@ref func_80011014) | 0x80011014 [process_path_data](@ref process_path_data) | 0x800115F4 [func_8001168C](@ref func_8001168C) | 0x8001168C -[func_80011A5C](@ref func_80011A5C) | 0x80011A5C -[func_80011AB8](@ref func_80011AB8) | 0x80011AB8 -[func_80011AE4](@ref func_80011AE4) | 0x80011AE4 -[func_80011B14](@ref func_80011B14) | 0x80011B14 -[func_80011D48](@ref func_80011D48) | 0x80011D48 -[func_80011E38](@ref func_80011E38) | 0x80011E38 +[copy_courses_kart_ai_behaviour](@ref copy_courses_kart_ai_behaviour) | 0x80011A5C +[reset_kart_ai_behaviour_none](@ref reset_kart_ai_behaviour_none) | 0x80011AB8 +[reset_kart_ai_behaviour](@ref reset_kart_ai_behaviour) | 0x80011AE4 +[kart_ai_behaviour_start](@ref kart_ai_behaviour_start) | 0x80011B14 +[kart_ai_behaviour_end](@ref kart_ai_behaviour_end) | 0x80011D48 +[kart_ai_behaviour](@ref kart_ai_behaviour) | 0x80011E38 [func_80011EC0](@ref func_80011EC0) | 0x80011EC0 [func_800120C8](@ref func_800120C8) | 0x800120C8 [func_80012190](@ref func_80012190) | 0x80012190 @@ -256,10 +256,10 @@ Variable Name | Memory Address [func_8001A588](@ref func_8001A588) | 0x8001A588 [func_8001AAAC](@ref func_8001AAAC) | 0x8001AAAC [func_8001AB00](@ref func_8001AB00) | 0x8001AB00 -[cpu_decisions_branch_item](@ref cpu_decisions_branch_item) | 0x8001AB74 +[kart_ai_decisions_branch_item](@ref kart_ai_decisions_branch_item) | 0x8001AB74 [func_8001ABE0](@ref func_8001ABE0) | 0x8001ABE0 [func_8001ABEC](@ref func_8001ABEC) | 0x8001ABEC -[cpu_use_item_strategy](@ref cpu_use_item_strategy) | 0x8001AC10 +[kart_ai_use_item_strategy](@ref kart_ai_use_item_strategy) | 0x8001AC10 [func_8001BE78](@ref func_8001BE78) | 0x8001BE78 [func_8001C05C](@ref func_8001C05C) | 0x8001C05C [func_8001C14C](@ref func_8001C14C) | 0x8001C14C @@ -362,7 +362,7 @@ Variable Name | Memory Address [func_8002A704](@ref func_8002A704) | 0x8002A704 [func_8002A79C](@ref func_8002A79C) | 0x8002A79C [func_8002A8A4](@ref func_8002A8A4) | 0x8002A8A4 -[func_8002AA50](@ref func_8002AA50) | 0x8002AA50 +[kart_hop](@ref kart_hop) | 0x8002AA50 [func_8002AAC0](@ref func_8002AAC0) | 0x8002AAC0 [func_8002AB70](@ref func_8002AB70) | 0x8002AB70 [func_8002AE20](@ref func_8002AE20) | 0x8002AE20 @@ -388,7 +388,7 @@ Variable Name | Memory Address [func_8002D268](@ref func_8002D268) | 0x8002D268 [func_8002E4C4](@ref func_8002E4C4) | 0x8002E4C4 [func_8002E594](@ref func_8002E594) | 0x8002E594 -[control_cpu_movement](@ref control_cpu_movement) | 0x8002F35C +[control_kart_ai_movement](@ref control_kart_ai_movement) | 0x8002F35C [func_8002F730](@ref func_8002F730) | 0x8002F730 [func_8002FCA8](@ref func_8002FCA8) | 0x8002FCA8 [func_8002FE84](@ref func_8002FE84) | 0x8002FE84 @@ -1405,7 +1405,7 @@ Variable Name | Memory Address [consume_item](@ref consume_item) | 0x8007AC9C [gen_random_item](@ref gen_random_item) | 0x8007ADA8 [gen_random_item_human](@ref gen_random_item_human) | 0x8007AF40 -[gen_random_item_cpu](@ref gen_random_item_cpu) | 0x8007AF78 +[kart_ai_gen_random_item](@ref kart_ai_gen_random_item) | 0x8007AF78 [func_8007AFB0](@ref func_8007AFB0) | 0x8007AFB0 [func_8007B040](@ref func_8007B040) | 0x8007B040 [func_8007B254](@ref func_8007B254) | 0x8007B254 @@ -2583,10 +2583,10 @@ Variable Name | Memory Address [rspF3DBootStart](@ref rspF3DBootStart) | 0x800D8F70 [rspF3DBootEnd](@ref rspF3DBootEnd) | 0x800D9040 [gspF3DEXTextStart](@ref gspF3DEXTextStart) | 0x800D9040 -[gspF3DEXTextEnd](@ref gspF3DEXTextEnd) | 0x800DA420 [gspF3DLXTextStart](@ref gspF3DLXTextStart) | 0x800DA420 -[gspF3DLXTextEnd](@ref gspF3DLXTextEnd) | 0x800DB830 +[gspF3DEXTextEnd](@ref gspF3DEXTextEnd) | 0x800DA420 [rspAspMainStart](@ref rspAspMainStart) | 0x800DB830 +[gspF3DLXTextEnd](@ref gspF3DLXTextEnd) | 0x800DB830 [rspAspMainEnd](@ref rspAspMainEnd) | 0x800DC4A0 [gVblankHandler1](@ref gVblankHandler1) | 0x800DC4A0 [gVblankHandler2](@ref gVblankHandler2) | 0x800DC4A4 @@ -2683,13 +2683,13 @@ Variable Name | Memory Address [sCrashScreenButtonSequence](@ref sCrashScreenButtonSequence) | 0x800DC6FC [D_800DC710](@ref D_800DC710) | 0x800DC710 [D_800DC714](@ref D_800DC714) | 0x800DC714 -[D_800DC720](@ref D_800DC720) | 0x800DC720 +[gKartAIBehaviourLUT](@ref gKartAIBehaviourLUT) | 0x800DC720 [nullPath](@ref nullPath) | 0x800DC778 [gCoursePathTable](@ref gCoursePathTable) | 0x800DC780 [D_800DC8D0](@ref D_800DC8D0) | 0x800DC8D0 [D_800DCA20](@ref D_800DCA20) | 0x800DCA20 -[D_800DCA4C](@ref D_800DCA4C) | 0x800DCA4C -[D_800DCAA0](@ref D_800DCAA0) | 0x800DCAA0 +[gKartAICourseMaximumWaypointSeparation](@ref gKartAICourseMaximumWaypointSeparation) | 0x800DCA4C +[gKartAICourseMinimumWaypointSeparation](@ref gKartAICourseMinimumWaypointSeparation) | 0x800DCAA0 [D_800DCAF4](@ref D_800DCAF4) | 0x800DCAF4 [D_800DCB34](@ref D_800DCB34) | 0x800DCB34 [D_800DCBB4](@ref D_800DCBB4) | 0x800DCBB4 @@ -3017,80 +3017,80 @@ Variable Name | Memory Address [D_800E37B0](@ref D_800E37B0) | 0x800E37B0 [D_800E37D0](@ref D_800E37D0) | 0x800E37D0 [D_800E37F0](@ref D_800E37F0) | 0x800E37F0 -[gCPUforMario](@ref gCPUforMario) | 0x800E3810 -[gCPUforLuigi](@ref gCPUforLuigi) | 0x800E3820 -[gCPUforYoshi](@ref gCPUforYoshi) | 0x800E3830 -[gCPUforToad](@ref gCPUforToad) | 0x800E3840 -[gCPUforDk](@ref gCPUforDk) | 0x800E3850 -[gCPUforWario](@ref gCPUforWario) | 0x800E3860 -[gCPUforPeach](@ref gCPUforPeach) | 0x800E3870 -[gCPUforBowser](@ref gCPUforBowser) | 0x800E3880 -[gCPUforPlayer](@ref gCPUforPlayer) | 0x800E3890 -[gCPUforMarioAndLuigi](@ref gCPUforMarioAndLuigi) | 0x800E38B0 -[gCPUforMarioAndYoshi](@ref gCPUforMarioAndYoshi) | 0x800E38BC -[gCPUforMarioAndToad](@ref gCPUforMarioAndToad) | 0x800E38C8 -[gCPUforMarioAndDk](@ref gCPUforMarioAndDk) | 0x800E38D4 -[gCPUforMarioAndWario](@ref gCPUforMarioAndWario) | 0x800E38E0 -[gCPUforMarioAndPeach](@ref gCPUforMarioAndPeach) | 0x800E38EC -[gCPUforMarioAndBowser](@ref gCPUforMarioAndBowser) | 0x800E38F8 -[gCPUforLuigiAndMario](@ref gCPUforLuigiAndMario) | 0x800E3904 -[gCPUforLuigiAndYoshi](@ref gCPUforLuigiAndYoshi) | 0x800E3910 -[gCPUforLuigiAndToad](@ref gCPUforLuigiAndToad) | 0x800E391C -[gCPUforLuigiAndDk](@ref gCPUforLuigiAndDk) | 0x800E3928 -[gCPUforLuigiAndWario](@ref gCPUforLuigiAndWario) | 0x800E3934 -[gCPUforLuigiAndPeach](@ref gCPUforLuigiAndPeach) | 0x800E3940 -[gCPUforLuigiAndBowser](@ref gCPUforLuigiAndBowser) | 0x800E394C -[gCPUforYoshiAndMario](@ref gCPUforYoshiAndMario) | 0x800E3958 -[gCPUforYoshiAndLuigi](@ref gCPUforYoshiAndLuigi) | 0x800E3964 -[gCPUforYoshiAndToad](@ref gCPUforYoshiAndToad) | 0x800E3970 -[gCPUforYoshiAndDk](@ref gCPUforYoshiAndDk) | 0x800E397C -[gCPUforYoshiAndWario](@ref gCPUforYoshiAndWario) | 0x800E3988 -[gCPUforYoshiAndPeach](@ref gCPUforYoshiAndPeach) | 0x800E3994 -[gCPUforYoshiAndBowser](@ref gCPUforYoshiAndBowser) | 0x800E39A0 -[gCPUforToadAndMario](@ref gCPUforToadAndMario) | 0x800E39AC -[gCPUforToadAndLuigi](@ref gCPUforToadAndLuigi) | 0x800E39B8 -[gCPUforToadAndYoshi](@ref gCPUforToadAndYoshi) | 0x800E39C4 -[gCPUforToadAndDk](@ref gCPUforToadAndDk) | 0x800E39D0 -[gCPUforToadAndWario](@ref gCPUforToadAndWario) | 0x800E39DC -[gCPUforToadAndPeach](@ref gCPUforToadAndPeach) | 0x800E39E8 -[gCPUforToadAndBowser](@ref gCPUforToadAndBowser) | 0x800E39F4 -[gCPUforDkAndMario](@ref gCPUforDkAndMario) | 0x800E3A00 -[gCPUforDkAndLuigi](@ref gCPUforDkAndLuigi) | 0x800E3A0C -[gCPUforDkAndToad](@ref gCPUforDkAndToad) | 0x800E3A18 -[gCPUforDkAndYoshi](@ref gCPUforDkAndYoshi) | 0x800E3A24 -[gCPUforDkAndWario](@ref gCPUforDkAndWario) | 0x800E3A30 -[gCPUforDkAndPeach](@ref gCPUforDkAndPeach) | 0x800E3A3C -[gCPUforDkAndBowser](@ref gCPUforDkAndBowser) | 0x800E3A48 -[gCPUforWarioAndMario](@ref gCPUforWarioAndMario) | 0x800E3A54 -[gCPUforWarioAndLuigi](@ref gCPUforWarioAndLuigi) | 0x800E3A60 -[gCPUforWarioAndYoshi](@ref gCPUforWarioAndYoshi) | 0x800E3A6C -[gCPUforWarioAndDk](@ref gCPUforWarioAndDk) | 0x800E3A78 -[gCPUforWarioAndToad](@ref gCPUforWarioAndToad) | 0x800E3A84 -[gCPUforWarioAndPeach](@ref gCPUforWarioAndPeach) | 0x800E3A90 -[gCPUforWarioAndBowser](@ref gCPUforWarioAndBowser) | 0x800E3A9C -[gCPUforPeachAndMario](@ref gCPUforPeachAndMario) | 0x800E3AA8 -[gCPUforPeachAndLuigi](@ref gCPUforPeachAndLuigi) | 0x800E3AB4 -[gCPUforPeachAndYoshi](@ref gCPUforPeachAndYoshi) | 0x800E3AC0 -[gCPUforPeachAndDk](@ref gCPUforPeachAndDk) | 0x800E3ACC -[gCPUforPeachAndWario](@ref gCPUforPeachAndWario) | 0x800E3AD8 -[gCPUforPeachAndToad](@ref gCPUforPeachAndToad) | 0x800E3AE4 -[gCPUforPeachAndBowser](@ref gCPUforPeachAndBowser) | 0x800E3AF0 -[gCPUforBowserAndMario](@ref gCPUforBowserAndMario) | 0x800E3AFC -[gCPUforBowserAndLuigi](@ref gCPUforBowserAndLuigi) | 0x800E3B08 -[gCPUforBowserAndYoshi](@ref gCPUforBowserAndYoshi) | 0x800E3B14 -[gCPUforBowserAndDk](@ref gCPUforBowserAndDk) | 0x800E3B20 -[gCPUforBowserAndWario](@ref gCPUforBowserAndWario) | 0x800E3B2C -[gCPUforBowserAndToad](@ref gCPUforBowserAndToad) | 0x800E3B38 -[gCPUforBowserAndPeach](@ref gCPUforBowserAndPeach) | 0x800E3B44 -[gListCPUforMario](@ref gListCPUforMario) | 0x800E3B50 -[gListCPUforLuigi](@ref gListCPUforLuigi) | 0x800E3B70 -[gListCPUforYoshi](@ref gListCPUforYoshi) | 0x800E3B90 -[gListCPUforToad](@ref gListCPUforToad) | 0x800E3BB0 -[gListCPUforDk](@ref gListCPUforDk) | 0x800E3BD0 -[gListCPUforWario](@ref gListCPUforWario) | 0x800E3BF0 -[gListCPUforPeach](@ref gListCPUforPeach) | 0x800E3C10 -[gListCPUforBowser](@ref gListCPUforBowser) | 0x800E3C30 -[gCPUforTwoPlayer](@ref gCPUforTwoPlayer) | 0x800E3C50 +[gKartAIforMario](@ref gKartAIforMario) | 0x800E3810 +[gKartAIforLuigi](@ref gKartAIforLuigi) | 0x800E3820 +[gKartAIforYoshi](@ref gKartAIforYoshi) | 0x800E3830 +[gKartAIforToad](@ref gKartAIforToad) | 0x800E3840 +[gKartAIforDk](@ref gKartAIforDk) | 0x800E3850 +[gKartAIforWario](@ref gKartAIforWario) | 0x800E3860 +[gKartAIforPeach](@ref gKartAIforPeach) | 0x800E3870 +[gKartAIforBowser](@ref gKartAIforBowser) | 0x800E3880 +[gKartAIforPlayer](@ref gKartAIforPlayer) | 0x800E3890 +[gKartAIforMarioAndLuigi](@ref gKartAIforMarioAndLuigi) | 0x800E38B0 +[gKartAIforMarioAndYoshi](@ref gKartAIforMarioAndYoshi) | 0x800E38BC +[gKartAIforMarioAndToad](@ref gKartAIforMarioAndToad) | 0x800E38C8 +[gKartAIforMarioAndDk](@ref gKartAIforMarioAndDk) | 0x800E38D4 +[gKartAIforMarioAndWario](@ref gKartAIforMarioAndWario) | 0x800E38E0 +[gKartAIforMarioAndPeach](@ref gKartAIforMarioAndPeach) | 0x800E38EC +[gKartAIforMarioAndBowser](@ref gKartAIforMarioAndBowser) | 0x800E38F8 +[gKartAIforLuigiAndMario](@ref gKartAIforLuigiAndMario) | 0x800E3904 +[gKartAIforLuigiAndYoshi](@ref gKartAIforLuigiAndYoshi) | 0x800E3910 +[gKartAIforLuigiAndToad](@ref gKartAIforLuigiAndToad) | 0x800E391C +[gKartAIforLuigiAndDk](@ref gKartAIforLuigiAndDk) | 0x800E3928 +[gKartAIforLuigiAndWario](@ref gKartAIforLuigiAndWario) | 0x800E3934 +[gKartAIforLuigiAndPeach](@ref gKartAIforLuigiAndPeach) | 0x800E3940 +[gKartAIforLuigiAndBowser](@ref gKartAIforLuigiAndBowser) | 0x800E394C +[gKartAIforYoshiAndMario](@ref gKartAIforYoshiAndMario) | 0x800E3958 +[gKartAIforYoshiAndLuigi](@ref gKartAIforYoshiAndLuigi) | 0x800E3964 +[gKartAIforYoshiAndToad](@ref gKartAIforYoshiAndToad) | 0x800E3970 +[gKartAIforYoshiAndDk](@ref gKartAIforYoshiAndDk) | 0x800E397C +[gKartAIforYoshiAndWario](@ref gKartAIforYoshiAndWario) | 0x800E3988 +[gKartAIforYoshiAndPeach](@ref gKartAIforYoshiAndPeach) | 0x800E3994 +[gKartAIforYoshiAndBowser](@ref gKartAIforYoshiAndBowser) | 0x800E39A0 +[gKartAIforToadAndMario](@ref gKartAIforToadAndMario) | 0x800E39AC +[gKartAIforToadAndLuigi](@ref gKartAIforToadAndLuigi) | 0x800E39B8 +[gKartAIforToadAndYoshi](@ref gKartAIforToadAndYoshi) | 0x800E39C4 +[gKartAIforToadAndDk](@ref gKartAIforToadAndDk) | 0x800E39D0 +[gKartAIforToadAndWario](@ref gKartAIforToadAndWario) | 0x800E39DC +[gKartAIforToadAndPeach](@ref gKartAIforToadAndPeach) | 0x800E39E8 +[gKartAIforToadAndBowser](@ref gKartAIforToadAndBowser) | 0x800E39F4 +[gKartAIforDkAndMario](@ref gKartAIforDkAndMario) | 0x800E3A00 +[gKartAIforDkAndLuigi](@ref gKartAIforDkAndLuigi) | 0x800E3A0C +[gKartAIforDkAndToad](@ref gKartAIforDkAndToad) | 0x800E3A18 +[gKartAIforDkAndYoshi](@ref gKartAIforDkAndYoshi) | 0x800E3A24 +[gKartAIforDkAndWario](@ref gKartAIforDkAndWario) | 0x800E3A30 +[gKartAIforDkAndPeach](@ref gKartAIforDkAndPeach) | 0x800E3A3C +[gKartAIforDkAndBowser](@ref gKartAIforDkAndBowser) | 0x800E3A48 +[gKartAIforWarioAndMario](@ref gKartAIforWarioAndMario) | 0x800E3A54 +[gKartAIforWarioAndLuigi](@ref gKartAIforWarioAndLuigi) | 0x800E3A60 +[gKartAIforWarioAndYoshi](@ref gKartAIforWarioAndYoshi) | 0x800E3A6C +[gKartAIforWarioAndDk](@ref gKartAIforWarioAndDk) | 0x800E3A78 +[gKartAIforWarioAndToad](@ref gKartAIforWarioAndToad) | 0x800E3A84 +[gKartAIforWarioAndPeach](@ref gKartAIforWarioAndPeach) | 0x800E3A90 +[gKartAIforWarioAndBowser](@ref gKartAIforWarioAndBowser) | 0x800E3A9C +[gKartAIforPeachAndMario](@ref gKartAIforPeachAndMario) | 0x800E3AA8 +[gKartAIforPeachAndLuigi](@ref gKartAIforPeachAndLuigi) | 0x800E3AB4 +[gKartAIforPeachAndYoshi](@ref gKartAIforPeachAndYoshi) | 0x800E3AC0 +[gKartAIforPeachAndDk](@ref gKartAIforPeachAndDk) | 0x800E3ACC +[gKartAIforPeachAndWario](@ref gKartAIforPeachAndWario) | 0x800E3AD8 +[gKartAIforPeachAndToad](@ref gKartAIforPeachAndToad) | 0x800E3AE4 +[gKartAIforPeachAndBowser](@ref gKartAIforPeachAndBowser) | 0x800E3AF0 +[gKartAIforBowserAndMario](@ref gKartAIforBowserAndMario) | 0x800E3AFC +[gKartAIforBowserAndLuigi](@ref gKartAIforBowserAndLuigi) | 0x800E3B08 +[gKartAIforBowserAndYoshi](@ref gKartAIforBowserAndYoshi) | 0x800E3B14 +[gKartAIforBowserAndDk](@ref gKartAIforBowserAndDk) | 0x800E3B20 +[gKartAIforBowserAndWario](@ref gKartAIforBowserAndWario) | 0x800E3B2C +[gKartAIforBowserAndToad](@ref gKartAIforBowserAndToad) | 0x800E3B38 +[gKartAIforBowserAndPeach](@ref gKartAIforBowserAndPeach) | 0x800E3B44 +[gListKartAIforMario](@ref gListKartAIforMario) | 0x800E3B50 +[gListKartAIforLuigi](@ref gListKartAIforLuigi) | 0x800E3B70 +[gListKartAIforYoshi](@ref gListKartAIforYoshi) | 0x800E3B90 +[gListKartAIforToad](@ref gListKartAIforToad) | 0x800E3BB0 +[gListKartAIforDk](@ref gListKartAIforDk) | 0x800E3BD0 +[gListKartAIforWario](@ref gListKartAIforWario) | 0x800E3BF0 +[gListKartAIforPeach](@ref gListKartAIforPeach) | 0x800E3C10 +[gListKartAIforBowser](@ref gListKartAIforBowser) | 0x800E3C30 +[gKartAIforTwoPlayer](@ref gKartAIforTwoPlayer) | 0x800E3C50 [D_800E43A0](@ref D_800E43A0) | 0x800E43A0 [D_800E43A4](@ref D_800E43A4) | 0x800E43A4 [D_800E43A8](@ref D_800E43A8) | 0x800E43A8 @@ -3694,8 +3694,8 @@ Variable Name | Memory Address [gspF3DEXDataStart](@ref gspF3DEXDataStart) | 0x800F3D00 [gspF3DEXDataEnd](@ref gspF3DEXDataEnd) | 0x800F4500 [gspF3DLXDataStart](@ref gspF3DLXDataStart) | 0x800F4500 -[rspAspMainDataStart](@ref rspAspMainDataStart) | 0x800F4D00 [gspF3DLXDataEnd](@ref gspF3DLXDataEnd) | 0x800F4D00 +[rspAspMainDataStart](@ref rspAspMainDataStart) | 0x800F4D00 [rspAspMainDataEnd](@ref rspAspMainDataEnd) | 0x800F5000 [sSawtoothWaves](@ref sSawtoothWaves) | 0x800F5000 [sTriangleWaves](@ref sTriangleWaves) | 0x800F5200 @@ -3916,7 +3916,7 @@ Variable Name | Memory Address [D_80162E70](@ref D_80162E70) | 0x80162E70 [D_80162EB0](@ref D_80162EB0) | 0x80162EB0 [D_80162EB2](@ref D_80162EB2) | 0x80162EB2 -[D_80162EB8](@ref D_80162EB8) | 0x80162EB8 +[gCoursesKartAIBehaviour](@ref gCoursesKartAIBehaviour) | 0x80162EB8 [D_80162F08](@ref D_80162F08) | 0x80162F08 [D_80162F10](@ref D_80162F10) | 0x80162F10 [D_80162F50](@ref D_80162F50) | 0x80162F50 @@ -3959,17 +3959,17 @@ Variable Name | Memory Address [D_80163258](@ref D_80163258) | 0x80163258 [D_80163270](@ref D_80163270) | 0x80163270 [D_80163288](@ref D_80163288) | 0x80163288 -[D_801632B0](@ref D_801632B0) | 0x801632B0 -[D_801632B8](@ref D_801632B8) | 0x801632B8 -[D_801632D0](@ref D_801632D0) | 0x801632D0 -[D_801632E8](@ref D_801632E8) | 0x801632E8 +[sCurrentKartAIBehaviour](@ref sCurrentKartAIBehaviour) | 0x801632B0 +[gCurrentKartAIBehaviourId](@ref gCurrentKartAIBehaviourId) | 0x801632B8 +[gPreviousKartAIBehaviourId](@ref gPreviousKartAIBehaviourId) | 0x801632D0 +[gKartAIBehaviourState](@ref gKartAIBehaviourState) | 0x801632E8 [D_80163300](@ref D_80163300) | 0x80163300 [D_80163318](@ref D_80163318) | 0x80163318 [D_80163330](@ref D_80163330) | 0x80163330 [D_80163344](@ref D_80163344) | 0x80163344 [D_80163348](@ref D_80163348) | 0x80163348 [D_8016334C](@ref D_8016334C) | 0x8016334C -[D_80163350](@ref D_80163350) | 0x80163350 +[gSpeedKartAIBehaviour](@ref gSpeedKartAIBehaviour) | 0x80163350 [D_80163368](@ref D_80163368) | 0x80163368 [D_80163378](@ref D_80163378) | 0x80163378 [D_8016337C](@ref D_8016337C) | 0x8016337C @@ -4144,7 +4144,7 @@ Variable Name | Memory Address [gCountBChangement](@ref gCountBChangement) | 0x80165500 [gIsPlayerTripleBButtonCombo](@ref gIsPlayerTripleBButtonCombo) | 0x80165520 [gTimerBoostTripleBCombo](@ref gTimerBoostTripleBCombo) | 0x80165540 -[chooseCPUPlayers](@ref chooseCPUPlayers) | 0x80165560 +[chooseKartAIPlayers](@ref chooseKartAIPlayers) | 0x80165560 [D_8016556E](@ref D_8016556E) | 0x8016556E [D_80165570](@ref D_80165570) | 0x80165570 [D_80165572](@ref D_80165572) | 0x80165572 @@ -18681,66 +18681,66 @@ Variable Name | Memory Address [gCosineTable](@ref gCosineTable) | 0x802BB370 [gArctanTable](@ref gArctanTable) | 0x802BF370 [gTextureMarioFace00](@ref gTextureMarioFace00) | 0x0A000000 -[gTextureMarioFace00_end](@ref gTextureMarioFace00_end) | 0x0A000CD4 [gTextureMarioFace01](@ref gTextureMarioFace01) | 0x0A000CD4 -[gTextureMarioFace01_end](@ref gTextureMarioFace01_end) | 0x0A001994 +[gTextureMarioFace00_end](@ref gTextureMarioFace00_end) | 0x0A000CD4 [gTextureMarioFace02](@ref gTextureMarioFace02) | 0x0A001994 -[gTextureMarioFace02_end](@ref gTextureMarioFace02_end) | 0x0A002650 +[gTextureMarioFace01_end](@ref gTextureMarioFace01_end) | 0x0A001994 [gTextureMarioFace03](@ref gTextureMarioFace03) | 0x0A002650 -[gTextureMarioFace04](@ref gTextureMarioFace04) | 0x0A0032BC +[gTextureMarioFace02_end](@ref gTextureMarioFace02_end) | 0x0A002650 [gTextureMarioFace03_end](@ref gTextureMarioFace03_end) | 0x0A0032BC -[gTextureMarioFace04_end](@ref gTextureMarioFace04_end) | 0x0A003F08 +[gTextureMarioFace04](@ref gTextureMarioFace04) | 0x0A0032BC [gTextureMarioFace05](@ref gTextureMarioFace05) | 0x0A003F08 -[gTextureMarioFace05_end](@ref gTextureMarioFace05_end) | 0x0A004B48 +[gTextureMarioFace04_end](@ref gTextureMarioFace04_end) | 0x0A003F08 [gTextureMarioFace06](@ref gTextureMarioFace06) | 0x0A004B48 +[gTextureMarioFace05_end](@ref gTextureMarioFace05_end) | 0x0A004B48 [gTextureMarioFace07](@ref gTextureMarioFace07) | 0x0A00585C [gTextureMarioFace06_end](@ref gTextureMarioFace06_end) | 0x0A00585C [gTextureMarioFace08](@ref gTextureMarioFace08) | 0x0A006568 [gTextureMarioFace07_end](@ref gTextureMarioFace07_end) | 0x0A006568 -[gTextureMarioFace09](@ref gTextureMarioFace09) | 0x0A00726C [gTextureMarioFace08_end](@ref gTextureMarioFace08_end) | 0x0A00726C -[gTextureMarioFace10](@ref gTextureMarioFace10) | 0x0A007F4C +[gTextureMarioFace09](@ref gTextureMarioFace09) | 0x0A00726C [gTextureMarioFace09_end](@ref gTextureMarioFace09_end) | 0x0A007F4C +[gTextureMarioFace10](@ref gTextureMarioFace10) | 0x0A007F4C [gTextureMarioFace11](@ref gTextureMarioFace11) | 0x0A008C48 [gTextureMarioFace10_end](@ref gTextureMarioFace10_end) | 0x0A008C48 -[gTextureMarioFace12](@ref gTextureMarioFace12) | 0x0A009944 [gTextureMarioFace11_end](@ref gTextureMarioFace11_end) | 0x0A009944 +[gTextureMarioFace12](@ref gTextureMarioFace12) | 0x0A009944 [gTextureMarioFace13](@ref gTextureMarioFace13) | 0x0A00A688 [gTextureMarioFace12_end](@ref gTextureMarioFace12_end) | 0x0A00A688 -[gTextureMarioFace13_end](@ref gTextureMarioFace13_end) | 0x0A00B3DC [gTextureMarioFace14](@ref gTextureMarioFace14) | 0x0A00B3DC -[gTextureMarioFace14_end](@ref gTextureMarioFace14_end) | 0x0A00C180 +[gTextureMarioFace13_end](@ref gTextureMarioFace13_end) | 0x0A00B3DC [gTextureMarioFace15](@ref gTextureMarioFace15) | 0x0A00C180 -[gTextureMarioFace15_end](@ref gTextureMarioFace15_end) | 0x0A00CF20 +[gTextureMarioFace14_end](@ref gTextureMarioFace14_end) | 0x0A00C180 [gTextureMarioFace16](@ref gTextureMarioFace16) | 0x0A00CF20 +[gTextureMarioFace15_end](@ref gTextureMarioFace15_end) | 0x0A00CF20 [gTextureLuigiFace00](@ref gTextureLuigiFace00) | 0x0A00DA64 [gTextureMarioFace16_end](@ref gTextureMarioFace16_end) | 0x0A00DA64 -[gTextureLuigiFace01](@ref gTextureLuigiFace01) | 0x0A00E680 [gTextureLuigiFace00_end](@ref gTextureLuigiFace00_end) | 0x0A00E680 +[gTextureLuigiFace01](@ref gTextureLuigiFace01) | 0x0A00E680 [gTextureLuigiFace01_end](@ref gTextureLuigiFace01_end) | 0x0A00F2A0 [gTextureLuigiFace02](@ref gTextureLuigiFace02) | 0x0A00F2A0 -[gTextureLuigiFace02_end](@ref gTextureLuigiFace02_end) | 0x0A00FEC0 [gTextureLuigiFace03](@ref gTextureLuigiFace03) | 0x0A00FEC0 +[gTextureLuigiFace02_end](@ref gTextureLuigiFace02_end) | 0x0A00FEC0 [gTextureLuigiFace03_end](@ref gTextureLuigiFace03_end) | 0x0A010AA8 [gTextureLuigiFace04](@ref gTextureLuigiFace04) | 0x0A010AA8 -[gTextureLuigiFace04_end](@ref gTextureLuigiFace04_end) | 0x0A011690 [gTextureLuigiFace05](@ref gTextureLuigiFace05) | 0x0A011690 +[gTextureLuigiFace04_end](@ref gTextureLuigiFace04_end) | 0x0A011690 [gTextureLuigiFace06](@ref gTextureLuigiFace06) | 0x0A01225C [gTextureLuigiFace05_end](@ref gTextureLuigiFace05_end) | 0x0A01225C [gTextureLuigiFace06_end](@ref gTextureLuigiFace06_end) | 0x0A012E84 [gTextureLuigiFace07](@ref gTextureLuigiFace07) | 0x0A012E84 -[gTextureLuigiFace08](@ref gTextureLuigiFace08) | 0x0A013AB8 [gTextureLuigiFace07_end](@ref gTextureLuigiFace07_end) | 0x0A013AB8 -[gTextureLuigiFace09](@ref gTextureLuigiFace09) | 0x0A014744 +[gTextureLuigiFace08](@ref gTextureLuigiFace08) | 0x0A013AB8 [gTextureLuigiFace08_end](@ref gTextureLuigiFace08_end) | 0x0A014744 -[gTextureLuigiFace10](@ref gTextureLuigiFace10) | 0x0A0153C4 +[gTextureLuigiFace09](@ref gTextureLuigiFace09) | 0x0A014744 [gTextureLuigiFace09_end](@ref gTextureLuigiFace09_end) | 0x0A0153C4 -[gTextureLuigiFace10_end](@ref gTextureLuigiFace10_end) | 0x0A016054 +[gTextureLuigiFace10](@ref gTextureLuigiFace10) | 0x0A0153C4 [gTextureLuigiFace11](@ref gTextureLuigiFace11) | 0x0A016054 +[gTextureLuigiFace10_end](@ref gTextureLuigiFace10_end) | 0x0A016054 [gTextureLuigiFace11_end](@ref gTextureLuigiFace11_end) | 0x0A016D14 [gTextureLuigiFace12](@ref gTextureLuigiFace12) | 0x0A016D14 -[gTextureLuigiFace12_end](@ref gTextureLuigiFace12_end) | 0x0A017A44 [gTextureLuigiFace13](@ref gTextureLuigiFace13) | 0x0A017A44 +[gTextureLuigiFace12_end](@ref gTextureLuigiFace12_end) | 0x0A017A44 [gTextureLuigiFace14](@ref gTextureLuigiFace14) | 0x0A018770 [gTextureLuigiFace13_end](@ref gTextureLuigiFace13_end) | 0x0A018770 [gTextureLuigiFace15](@ref gTextureLuigiFace15) | 0x0A0194B8 @@ -18749,68 +18749,68 @@ Variable Name | Memory Address [gTextureLuigiFace16](@ref gTextureLuigiFace16) | 0x0A01A20C [gTextureLuigiFace16_end](@ref gTextureLuigiFace16_end) | 0x0A01AC44 [gTexturePeachFace00](@ref gTexturePeachFace00) | 0x0A01AC44 -[gTexturePeachFace00_end](@ref gTexturePeachFace00_end) | 0x0A01BAFC [gTexturePeachFace01](@ref gTexturePeachFace01) | 0x0A01BAFC +[gTexturePeachFace00_end](@ref gTexturePeachFace00_end) | 0x0A01BAFC [gTexturePeachFace01_end](@ref gTexturePeachFace01_end) | 0x0A01C9A8 [gTexturePeachFace02](@ref gTexturePeachFace02) | 0x0A01C9A8 -[gTexturePeachFace02_end](@ref gTexturePeachFace02_end) | 0x0A01D864 [gTexturePeachFace03](@ref gTexturePeachFace03) | 0x0A01D864 +[gTexturePeachFace02_end](@ref gTexturePeachFace02_end) | 0x0A01D864 [gTexturePeachFace04](@ref gTexturePeachFace04) | 0x0A01E71C [gTexturePeachFace03_end](@ref gTexturePeachFace03_end) | 0x0A01E71C -[gTexturePeachFace05](@ref gTexturePeachFace05) | 0x0A01F5A4 [gTexturePeachFace04_end](@ref gTexturePeachFace04_end) | 0x0A01F5A4 -[gTexturePeachFace06](@ref gTexturePeachFace06) | 0x0A020444 +[gTexturePeachFace05](@ref gTexturePeachFace05) | 0x0A01F5A4 [gTexturePeachFace05_end](@ref gTexturePeachFace05_end) | 0x0A020444 -[gTexturePeachFace07](@ref gTexturePeachFace07) | 0x0A02130C +[gTexturePeachFace06](@ref gTexturePeachFace06) | 0x0A020444 [gTexturePeachFace06_end](@ref gTexturePeachFace06_end) | 0x0A02130C -[gTexturePeachFace07_end](@ref gTexturePeachFace07_end) | 0x0A0221FC +[gTexturePeachFace07](@ref gTexturePeachFace07) | 0x0A02130C [gTexturePeachFace08](@ref gTexturePeachFace08) | 0x0A0221FC +[gTexturePeachFace07_end](@ref gTexturePeachFace07_end) | 0x0A0221FC [gTexturePeachFace08_end](@ref gTexturePeachFace08_end) | 0x0A02310C [gTexturePeachFace09](@ref gTexturePeachFace09) | 0x0A02310C [gTexturePeachFace09_end](@ref gTexturePeachFace09_end) | 0x0A0240C0 [gTexturePeachFace10](@ref gTexturePeachFace10) | 0x0A0240C0 -[gTexturePeachFace10_end](@ref gTexturePeachFace10_end) | 0x0A0250A4 [gTexturePeachFace11](@ref gTexturePeachFace11) | 0x0A0250A4 +[gTexturePeachFace10_end](@ref gTexturePeachFace10_end) | 0x0A0250A4 [gTexturePeachFace11_end](@ref gTexturePeachFace11_end) | 0x0A0260F0 [gTexturePeachFace12](@ref gTexturePeachFace12) | 0x0A0260F0 [gTexturePeachFace13](@ref gTexturePeachFace13) | 0x0A027128 [gTexturePeachFace12_end](@ref gTexturePeachFace12_end) | 0x0A027128 -[gTexturePeachFace14](@ref gTexturePeachFace14) | 0x0A02810C [gTexturePeachFace13_end](@ref gTexturePeachFace13_end) | 0x0A02810C -[gTexturePeachFace15](@ref gTexturePeachFace15) | 0x0A0290A0 +[gTexturePeachFace14](@ref gTexturePeachFace14) | 0x0A02810C [gTexturePeachFace14_end](@ref gTexturePeachFace14_end) | 0x0A0290A0 -[gTexturePeachFace15_end](@ref gTexturePeachFace15_end) | 0x0A02A028 +[gTexturePeachFace15](@ref gTexturePeachFace15) | 0x0A0290A0 [gTexturePeachFace16](@ref gTexturePeachFace16) | 0x0A02A028 +[gTexturePeachFace15_end](@ref gTexturePeachFace15_end) | 0x0A02A028 [gTexturePeachFace16_end](@ref gTexturePeachFace16_end) | 0x0A02AED0 [gTextureToadFace00](@ref gTextureToadFace00) | 0x0A02AED0 -[gTextureToadFace00_end](@ref gTextureToadFace00_end) | 0x0A02B88C [gTextureToadFace01](@ref gTextureToadFace01) | 0x0A02B88C +[gTextureToadFace00_end](@ref gTextureToadFace00_end) | 0x0A02B88C [gTextureToadFace02](@ref gTextureToadFace02) | 0x0A02C240 [gTextureToadFace01_end](@ref gTextureToadFace01_end) | 0x0A02C240 [gTextureToadFace02_end](@ref gTextureToadFace02_end) | 0x0A02CBFC [gTextureToadFace03](@ref gTextureToadFace03) | 0x0A02CBFC -[gTextureToadFace03_end](@ref gTextureToadFace03_end) | 0x0A02D5B4 [gTextureToadFace04](@ref gTextureToadFace04) | 0x0A02D5B4 -[gTextureToadFace05](@ref gTextureToadFace05) | 0x0A02DF70 +[gTextureToadFace03_end](@ref gTextureToadFace03_end) | 0x0A02D5B4 [gTextureToadFace04_end](@ref gTextureToadFace04_end) | 0x0A02DF70 +[gTextureToadFace05](@ref gTextureToadFace05) | 0x0A02DF70 [gTextureToadFace06](@ref gTextureToadFace06) | 0x0A02E910 [gTextureToadFace05_end](@ref gTextureToadFace05_end) | 0x0A02E910 [gTextureToadFace06_end](@ref gTextureToadFace06_end) | 0x0A02F2A8 [gTextureToadFace07](@ref gTextureToadFace07) | 0x0A02F2A8 [gTextureToadFace07_end](@ref gTextureToadFace07_end) | 0x0A02FC74 [gTextureToadFace08](@ref gTextureToadFace08) | 0x0A02FC74 -[gTextureToadFace09](@ref gTextureToadFace09) | 0x0A030628 [gTextureToadFace08_end](@ref gTextureToadFace08_end) | 0x0A030628 -[gTextureToadFace10](@ref gTextureToadFace10) | 0x0A031010 +[gTextureToadFace09](@ref gTextureToadFace09) | 0x0A030628 [gTextureToadFace09_end](@ref gTextureToadFace09_end) | 0x0A031010 -[gTextureToadFace11](@ref gTextureToadFace11) | 0x0A031A24 +[gTextureToadFace10](@ref gTextureToadFace10) | 0x0A031010 [gTextureToadFace10_end](@ref gTextureToadFace10_end) | 0x0A031A24 +[gTextureToadFace11](@ref gTextureToadFace11) | 0x0A031A24 [gTextureToadFace12](@ref gTextureToadFace12) | 0x0A03247C [gTextureToadFace11_end](@ref gTextureToadFace11_end) | 0x0A03247C [gTextureToadFace13](@ref gTextureToadFace13) | 0x0A032EDC [gTextureToadFace12_end](@ref gTextureToadFace12_end) | 0x0A032EDC -[gTextureToadFace14](@ref gTextureToadFace14) | 0x0A03395C [gTextureToadFace13_end](@ref gTextureToadFace13_end) | 0x0A03395C +[gTextureToadFace14](@ref gTextureToadFace14) | 0x0A03395C [gTextureToadFace15](@ref gTextureToadFace15) | 0x0A0343D0 [gTextureToadFace14_end](@ref gTextureToadFace14_end) | 0x0A0343D0 [gTextureToadFace15_end](@ref gTextureToadFace15_end) | 0x0A034E30 @@ -18819,94 +18819,94 @@ Variable Name | Memory Address [gTextureToadFace16_end](@ref gTextureToadFace16_end) | 0x0A035794 [gTextureYoshiFace00_end](@ref gTextureYoshiFace00_end) | 0x0A036280 [gTextureYoshiFace01](@ref gTextureYoshiFace01) | 0x0A036280 -[gTextureYoshiFace01_end](@ref gTextureYoshiFace01_end) | 0x0A036D64 [gTextureYoshiFace02](@ref gTextureYoshiFace02) | 0x0A036D64 -[gTextureYoshiFace02_end](@ref gTextureYoshiFace02_end) | 0x0A037844 +[gTextureYoshiFace01_end](@ref gTextureYoshiFace01_end) | 0x0A036D64 [gTextureYoshiFace03](@ref gTextureYoshiFace03) | 0x0A037844 +[gTextureYoshiFace02_end](@ref gTextureYoshiFace02_end) | 0x0A037844 [gTextureYoshiFace04](@ref gTextureYoshiFace04) | 0x0A0382F8 [gTextureYoshiFace03_end](@ref gTextureYoshiFace03_end) | 0x0A0382F8 [gTextureYoshiFace04_end](@ref gTextureYoshiFace04_end) | 0x0A038D68 [gTextureYoshiFace05](@ref gTextureYoshiFace05) | 0x0A038D68 [gTextureYoshiFace05_end](@ref gTextureYoshiFace05_end) | 0x0A0397B0 [gTextureYoshiFace06](@ref gTextureYoshiFace06) | 0x0A0397B0 -[gTextureYoshiFace07](@ref gTextureYoshiFace07) | 0x0A03A2D4 [gTextureYoshiFace06_end](@ref gTextureYoshiFace06_end) | 0x0A03A2D4 -[gTextureYoshiFace08](@ref gTextureYoshiFace08) | 0x0A03AD00 +[gTextureYoshiFace07](@ref gTextureYoshiFace07) | 0x0A03A2D4 [gTextureYoshiFace07_end](@ref gTextureYoshiFace07_end) | 0x0A03AD00 -[gTextureYoshiFace08_end](@ref gTextureYoshiFace08_end) | 0x0A03B6BC +[gTextureYoshiFace08](@ref gTextureYoshiFace08) | 0x0A03AD00 [gTextureYoshiFace09](@ref gTextureYoshiFace09) | 0x0A03B6BC -[gTextureYoshiFace09_end](@ref gTextureYoshiFace09_end) | 0x0A03C068 +[gTextureYoshiFace08_end](@ref gTextureYoshiFace08_end) | 0x0A03B6BC [gTextureYoshiFace10](@ref gTextureYoshiFace10) | 0x0A03C068 -[gTextureYoshiFace10_end](@ref gTextureYoshiFace10_end) | 0x0A03CA28 +[gTextureYoshiFace09_end](@ref gTextureYoshiFace09_end) | 0x0A03C068 [gTextureYoshiFace11](@ref gTextureYoshiFace11) | 0x0A03CA28 -[gTextureYoshiFace12](@ref gTextureYoshiFace12) | 0x0A03D438 +[gTextureYoshiFace10_end](@ref gTextureYoshiFace10_end) | 0x0A03CA28 [gTextureYoshiFace11_end](@ref gTextureYoshiFace11_end) | 0x0A03D438 -[gTextureYoshiFace13](@ref gTextureYoshiFace13) | 0x0A03DE94 +[gTextureYoshiFace12](@ref gTextureYoshiFace12) | 0x0A03D438 [gTextureYoshiFace12_end](@ref gTextureYoshiFace12_end) | 0x0A03DE94 +[gTextureYoshiFace13](@ref gTextureYoshiFace13) | 0x0A03DE94 [gTextureYoshiFace14](@ref gTextureYoshiFace14) | 0x0A03E974 [gTextureYoshiFace13_end](@ref gTextureYoshiFace13_end) | 0x0A03E974 -[gTextureYoshiFace14_end](@ref gTextureYoshiFace14_end) | 0x0A03F47C [gTextureYoshiFace15](@ref gTextureYoshiFace15) | 0x0A03F47C +[gTextureYoshiFace14_end](@ref gTextureYoshiFace14_end) | 0x0A03F47C [gTextureYoshiFace15_end](@ref gTextureYoshiFace15_end) | 0x0A03FF94 [gTextureYoshiFace16](@ref gTextureYoshiFace16) | 0x0A03FF94 [gTextureYoshiFace16_end](@ref gTextureYoshiFace16_end) | 0x0A040ABC [gTextureDkFace00](@ref gTextureDkFace00) | 0x0A040ABC -[gTextureDkFace00_end](@ref gTextureDkFace00_end) | 0x0A0418A8 [gTextureDkFace01](@ref gTextureDkFace01) | 0x0A0418A8 -[gTextureDkFace02](@ref gTextureDkFace02) | 0x0A0426B0 +[gTextureDkFace00_end](@ref gTextureDkFace00_end) | 0x0A0418A8 [gTextureDkFace01_end](@ref gTextureDkFace01_end) | 0x0A0426B0 -[gTextureDkFace03](@ref gTextureDkFace03) | 0x0A043490 +[gTextureDkFace02](@ref gTextureDkFace02) | 0x0A0426B0 [gTextureDkFace02_end](@ref gTextureDkFace02_end) | 0x0A043490 -[gTextureDkFace04](@ref gTextureDkFace04) | 0x0A044240 +[gTextureDkFace03](@ref gTextureDkFace03) | 0x0A043490 [gTextureDkFace03_end](@ref gTextureDkFace03_end) | 0x0A044240 +[gTextureDkFace04](@ref gTextureDkFace04) | 0x0A044240 [gTextureDkFace05](@ref gTextureDkFace05) | 0x0A044FE8 [gTextureDkFace04_end](@ref gTextureDkFace04_end) | 0x0A044FE8 -[gTextureDkFace05_end](@ref gTextureDkFace05_end) | 0x0A045DCC [gTextureDkFace06](@ref gTextureDkFace06) | 0x0A045DCC +[gTextureDkFace05_end](@ref gTextureDkFace05_end) | 0x0A045DCC [gTextureDkFace06_end](@ref gTextureDkFace06_end) | 0x0A046BF8 [gTextureDkFace07](@ref gTextureDkFace07) | 0x0A046BF8 -[gTextureDkFace07_end](@ref gTextureDkFace07_end) | 0x0A047A8C [gTextureDkFace08](@ref gTextureDkFace08) | 0x0A047A8C -[gTextureDkFace08_end](@ref gTextureDkFace08_end) | 0x0A048968 +[gTextureDkFace07_end](@ref gTextureDkFace07_end) | 0x0A047A8C [gTextureDkFace09](@ref gTextureDkFace09) | 0x0A048968 +[gTextureDkFace08_end](@ref gTextureDkFace08_end) | 0x0A048968 [gTextureDkFace10](@ref gTextureDkFace10) | 0x0A0498B0 [gTextureDkFace09_end](@ref gTextureDkFace09_end) | 0x0A0498B0 [gTextureDkFace10_end](@ref gTextureDkFace10_end) | 0x0A04A7E8 [gTextureDkFace11](@ref gTextureDkFace11) | 0x0A04A7E8 -[gTextureDkFace11_end](@ref gTextureDkFace11_end) | 0x0A04B76C [gTextureDkFace12](@ref gTextureDkFace12) | 0x0A04B76C +[gTextureDkFace11_end](@ref gTextureDkFace11_end) | 0x0A04B76C [gTextureDkFace13](@ref gTextureDkFace13) | 0x0A04C770 [gTextureDkFace12_end](@ref gTextureDkFace12_end) | 0x0A04C770 [gTextureDkFace13_end](@ref gTextureDkFace13_end) | 0x0A04D730 [gTextureDkFace14](@ref gTextureDkFace14) | 0x0A04D730 -[gTextureDkFace14_end](@ref gTextureDkFace14_end) | 0x0A04E67C [gTextureDkFace15](@ref gTextureDkFace15) | 0x0A04E67C -[gTextureDkFace16](@ref gTextureDkFace16) | 0x0A04F57C +[gTextureDkFace14_end](@ref gTextureDkFace14_end) | 0x0A04E67C [gTextureDkFace15_end](@ref gTextureDkFace15_end) | 0x0A04F57C -[gTextureDkFace16_end](@ref gTextureDkFace16_end) | 0x0A0504D0 +[gTextureDkFace16](@ref gTextureDkFace16) | 0x0A04F57C [gTextureWarioFace00](@ref gTextureWarioFace00) | 0x0A0504D0 -[gTextureWarioFace01](@ref gTextureWarioFace01) | 0x0A051630 +[gTextureDkFace16_end](@ref gTextureDkFace16_end) | 0x0A0504D0 [gTextureWarioFace00_end](@ref gTextureWarioFace00_end) | 0x0A051630 +[gTextureWarioFace01](@ref gTextureWarioFace01) | 0x0A051630 [gTextureWarioFace01_end](@ref gTextureWarioFace01_end) | 0x0A052774 [gTextureWarioFace02](@ref gTextureWarioFace02) | 0x0A052774 [gTextureWarioFace03](@ref gTextureWarioFace03) | 0x0A0538C8 [gTextureWarioFace02_end](@ref gTextureWarioFace02_end) | 0x0A0538C8 -[gTextureWarioFace04](@ref gTextureWarioFace04) | 0x0A054A30 [gTextureWarioFace03_end](@ref gTextureWarioFace03_end) | 0x0A054A30 +[gTextureWarioFace04](@ref gTextureWarioFace04) | 0x0A054A30 [gTextureWarioFace05](@ref gTextureWarioFace05) | 0x0A055B84 [gTextureWarioFace04_end](@ref gTextureWarioFace04_end) | 0x0A055B84 [gTextureWarioFace05_end](@ref gTextureWarioFace05_end) | 0x0A056CE0 [gTextureWarioFace06](@ref gTextureWarioFace06) | 0x0A056CE0 -[gTextureWarioFace06_end](@ref gTextureWarioFace06_end) | 0x0A057E54 [gTextureWarioFace07](@ref gTextureWarioFace07) | 0x0A057E54 -[gTextureWarioFace07_end](@ref gTextureWarioFace07_end) | 0x0A05902C +[gTextureWarioFace06_end](@ref gTextureWarioFace06_end) | 0x0A057E54 [gTextureWarioFace08](@ref gTextureWarioFace08) | 0x0A05902C +[gTextureWarioFace07_end](@ref gTextureWarioFace07_end) | 0x0A05902C [gTextureWarioFace09](@ref gTextureWarioFace09) | 0x0A05A254 [gTextureWarioFace08_end](@ref gTextureWarioFace08_end) | 0x0A05A254 [gTextureWarioFace09_end](@ref gTextureWarioFace09_end) | 0x0A05B4C0 [gTextureWarioFace10](@ref gTextureWarioFace10) | 0x0A05B4C0 -[gTextureWarioFace11](@ref gTextureWarioFace11) | 0x0A05C7A0 [gTextureWarioFace10_end](@ref gTextureWarioFace10_end) | 0x0A05C7A0 +[gTextureWarioFace11](@ref gTextureWarioFace11) | 0x0A05C7A0 [gTextureWarioFace11_end](@ref gTextureWarioFace11_end) | 0x0A05DAA8 [gTextureWarioFace12](@ref gTextureWarioFace12) | 0x0A05DAA8 [gTextureWarioFace12_end](@ref gTextureWarioFace12_end) | 0x0A05ED8C @@ -18915,34 +18915,34 @@ Variable Name | Memory Address [gTextureWarioFace14](@ref gTextureWarioFace14) | 0x0A0600B0 [gTextureWarioFace14_end](@ref gTextureWarioFace14_end) | 0x0A06139C [gTextureWarioFace15](@ref gTextureWarioFace15) | 0x0A06139C -[gTextureWarioFace16](@ref gTextureWarioFace16) | 0x0A062668 [gTextureWarioFace15_end](@ref gTextureWarioFace15_end) | 0x0A062668 +[gTextureWarioFace16](@ref gTextureWarioFace16) | 0x0A062668 [gTextureWarioFace16_end](@ref gTextureWarioFace16_end) | 0x0A0637E0 [gTextureBowserFace00](@ref gTextureBowserFace00) | 0x0A0637E0 [gTextureBowserFace00_end](@ref gTextureBowserFace00_end) | 0x0A064AC8 [gTextureBowserFace01](@ref gTextureBowserFace01) | 0x0A064AC8 -[gTextureBowserFace01_end](@ref gTextureBowserFace01_end) | 0x0A065D7C [gTextureBowserFace02](@ref gTextureBowserFace02) | 0x0A065D7C -[gTextureBowserFace02_end](@ref gTextureBowserFace02_end) | 0x0A067044 +[gTextureBowserFace01_end](@ref gTextureBowserFace01_end) | 0x0A065D7C [gTextureBowserFace03](@ref gTextureBowserFace03) | 0x0A067044 +[gTextureBowserFace02_end](@ref gTextureBowserFace02_end) | 0x0A067044 [gTextureBowserFace03_end](@ref gTextureBowserFace03_end) | 0x0A068310 [gTextureBowserFace04](@ref gTextureBowserFace04) | 0x0A068310 -[gTextureBowserFace05](@ref gTextureBowserFace05) | 0x0A0695B4 [gTextureBowserFace04_end](@ref gTextureBowserFace04_end) | 0x0A0695B4 +[gTextureBowserFace05](@ref gTextureBowserFace05) | 0x0A0695B4 [gTextureBowserFace06](@ref gTextureBowserFace06) | 0x0A06A840 [gTextureBowserFace05_end](@ref gTextureBowserFace05_end) | 0x0A06A840 -[gTextureBowserFace07](@ref gTextureBowserFace07) | 0x0A06BB1C [gTextureBowserFace06_end](@ref gTextureBowserFace06_end) | 0x0A06BB1C +[gTextureBowserFace07](@ref gTextureBowserFace07) | 0x0A06BB1C [gTextureBowserFace08](@ref gTextureBowserFace08) | 0x0A06CE04 [gTextureBowserFace07_end](@ref gTextureBowserFace07_end) | 0x0A06CE04 -[gTextureBowserFace08_end](@ref gTextureBowserFace08_end) | 0x0A06E0F4 [gTextureBowserFace09](@ref gTextureBowserFace09) | 0x0A06E0F4 +[gTextureBowserFace08_end](@ref gTextureBowserFace08_end) | 0x0A06E0F4 [gTextureBowserFace09_end](@ref gTextureBowserFace09_end) | 0x0A06F410 [gTextureBowserFace10](@ref gTextureBowserFace10) | 0x0A06F410 [gTextureBowserFace10_end](@ref gTextureBowserFace10_end) | 0x0A0706DC [gTextureBowserFace11](@ref gTextureBowserFace11) | 0x0A0706DC -[gTextureBowserFace12](@ref gTextureBowserFace12) | 0x0A071A18 [gTextureBowserFace11_end](@ref gTextureBowserFace11_end) | 0x0A071A18 +[gTextureBowserFace12](@ref gTextureBowserFace12) | 0x0A071A18 [gTextureBowserFace13](@ref gTextureBowserFace13) | 0x0A072DBC [gTextureBowserFace12_end](@ref gTextureBowserFace12_end) | 0x0A072DBC [gTextureBowserFace14](@ref gTextureBowserFace14) | 0x0A074138 @@ -18977,12 +18977,12 @@ Variable Name | Memory Address [gTextureTrophySilver](@ref gTextureTrophySilver) | 0x0A0AEFEC [gTextureTrophySilver_end](@ref gTextureTrophySilver_end) | 0x0A0AF614 [gTextureTrophyBronze](@ref gTextureTrophyBronze) | 0x0A0AF614 -[gTextureTrophyBronze_end](@ref gTextureTrophyBronze_end) | 0x0A0AFC00 [gTextureCupGold](@ref gTextureCupGold) | 0x0A0AFC00 +[gTextureTrophyBronze_end](@ref gTextureTrophyBronze_end) | 0x0A0AFC00 [gTextureCupSilver](@ref gTextureCupSilver) | 0x0A0B058C [gTextureCupGold_end](@ref gTextureCupGold_end) | 0x0A0B058C -[gTextureCupSilver_end](@ref gTextureCupSilver_end) | 0x0A0B0F10 [gTextureCupBronze](@ref gTextureCupBronze) | 0x0A0B0F10 +[gTextureCupSilver_end](@ref gTextureCupSilver_end) | 0x0A0B0F10 [gTextureCupBronze_end](@ref gTextureCupBronze_end) | 0x0A0B17B4 [gTexturePushStartButton](@ref gTexturePushStartButton) | 0x0A0B17B4 [gTextureCopyright1996](@ref gTextureCopyright1996) | 0x0A0B2B94 @@ -18994,16 +18994,16 @@ Variable Name | Memory Address [gTexture7E56E4](@ref gTexture7E56E4) | 0x0A0BBCB4 [gTexture7E56E4_end](@ref gTexture7E56E4_end) | 0x0A0BCE1F [gTextureSmallFont0](@ref gTextureSmallFont0) | 0x0A0BCE20 -[gTextureSmallFont0_end](@ref gTextureSmallFont0_end) | 0x0A0BCEB0 [gTextureSmallFont1](@ref gTextureSmallFont1) | 0x0A0BCEB0 +[gTextureSmallFont0_end](@ref gTextureSmallFont0_end) | 0x0A0BCEB0 [gTextureSmallFont2](@ref gTextureSmallFont2) | 0x0A0BCF08 [gTextureSmallFont1_end](@ref gTextureSmallFont1_end) | 0x0A0BCF08 -[gTextureSmallFont3](@ref gTextureSmallFont3) | 0x0A0BCFA0 [gTextureSmallFont2_end](@ref gTextureSmallFont2_end) | 0x0A0BCFA0 +[gTextureSmallFont3](@ref gTextureSmallFont3) | 0x0A0BCFA0 [gTextureSmallFont3_end](@ref gTextureSmallFont3_end) | 0x0A0BD034 [gTextureSmallFont4](@ref gTextureSmallFont4) | 0x0A0BD034 -[gTextureSmallFont4_end](@ref gTextureSmallFont4_end) | 0x0A0BD0BC [gTextureSmallFont5](@ref gTextureSmallFont5) | 0x0A0BD0BC +[gTextureSmallFont4_end](@ref gTextureSmallFont4_end) | 0x0A0BD0BC [gTextureSmallFont6](@ref gTextureSmallFont6) | 0x0A0BD154 [gTextureSmallFont5_end](@ref gTextureSmallFont5_end) | 0x0A0BD154 [gTextureSmallFont6_end](@ref gTextureSmallFont6_end) | 0x0A0BD1F0 @@ -19012,52 +19012,52 @@ Variable Name | Memory Address [gTextureSmallFont7_end](@ref gTextureSmallFont7_end) | 0x0A0BD260 [gTextureSmallFont9](@ref gTextureSmallFont9) | 0x0A0BD2F0 [gTextureSmallFont8_end](@ref gTextureSmallFont8_end) | 0x0A0BD2F0 -[gTextureN64ControllerPakDataSelect](@ref gTextureN64ControllerPakDataSelect) | 0x0A0BD390 [gTextureSmallFont9_end](@ref gTextureSmallFont9_end) | 0x0A0BD390 -[gTextureEraseDataRecordConfirmation](@ref gTextureEraseDataRecordConfirmation) | 0x0A0BE4B8 +[gTextureN64ControllerPakDataSelect](@ref gTextureN64ControllerPakDataSelect) | 0x0A0BD390 [gTextureN64ControllerPakDataSelect_end](@ref gTextureN64ControllerPakDataSelect_end) | 0x0A0BE4B8 +[gTextureEraseDataRecordConfirmation](@ref gTextureEraseDataRecordConfirmation) | 0x0A0BE4B8 [gTextureEraseDataRecordConfirmation_end](@ref gTextureEraseDataRecordConfirmation_end) | 0x0A0BF4AC [gTextureRecordNotErased](@ref gTextureRecordNotErased) | 0x0A0BF4AC -[gTexturePlaceN64ControllerPakIntoController1](@ref gTexturePlaceN64ControllerPakIntoController1) | 0x0A0BFD7C [gTextureRecordNotErased_end](@ref gTextureRecordNotErased_end) | 0x0A0BFD7C -[gTexturePleaseReinsertOriginalN64ControllerPak](@ref gTexturePleaseReinsertOriginalN64ControllerPak) | 0x0A0C09C8 +[gTexturePlaceN64ControllerPakIntoController1](@ref gTexturePlaceN64ControllerPakIntoController1) | 0x0A0BFD7C [gTexturePlaceN64ControllerPakIntoController1_end](@ref gTexturePlaceN64ControllerPakIntoController1_end) | 0x0A0C09C8 -[gTexturePleaseReinsertOriginalN64ControllerPak_end](@ref gTexturePleaseReinsertOriginalN64ControllerPak_end) | 0x0A0C16A0 +[gTexturePleaseReinsertOriginalN64ControllerPak](@ref gTexturePleaseReinsertOriginalN64ControllerPak) | 0x0A0C09C8 [gTextureErasingSelectedRecord](@ref gTextureErasingSelectedRecord) | 0x0A0C16A0 +[gTexturePleaseReinsertOriginalN64ControllerPak_end](@ref gTexturePleaseReinsertOriginalN64ControllerPak_end) | 0x0A0C16A0 [gTextureSelectRecord](@ref gTextureSelectRecord) | 0x0A0C22A4 [gTextureErasingSelectedRecord_end](@ref gTextureErasingSelectedRecord_end) | 0x0A0C22A4 [gTextureTextEnd](@ref gTextureTextEnd) | 0x0A0C261C [gTextureSelectRecord_end](@ref gTextureSelectRecord_end) | 0x0A0C261C -[gTextureTextEnd_end](@ref gTextureTextEnd_end) | 0x0A0C274C [gTextureTableOfContents](@ref gTextureTableOfContents) | 0x0A0C274C -[gTextureTableOfContents_end](@ref gTextureTableOfContents_end) | 0x0A0C2B78 +[gTextureTextEnd_end](@ref gTextureTextEnd_end) | 0x0A0C274C [gTextureTextHash](@ref gTextureTextHash) | 0x0A0C2B78 +[gTextureTableOfContents_end](@ref gTextureTableOfContents_end) | 0x0A0C2B78 [gTextureTextHash_end](@ref gTextureTextHash_end) | 0x0A0C2BF8 [gTextureTextGameData](@ref gTextureTextGameData) | 0x0A0C2BF8 -[gTextureTextPages](@ref gTextureTextPages) | 0x0A0C2EBC [gTextureTextGameData_end](@ref gTextureTextGameData_end) | 0x0A0C2EBC -[gTextureTextPagesFree](@ref gTextureTextPagesFree) | 0x0A0C307C +[gTextureTextPages](@ref gTextureTextPages) | 0x0A0C2EBC [gTextureTextPages_end](@ref gTextureTextPages_end) | 0x0A0C307C +[gTextureTextPagesFree](@ref gTextureTextPagesFree) | 0x0A0C307C [gTextureTextPagesFree_end](@ref gTextureTextPagesFree_end) | 0x0A0C3340 [gTextureTextErase](@ref gTextureTextErase) | 0x0A0C3340 -[gTextureTextErase_end](@ref gTextureTextErase_end) | 0x0A0C34E0 [gTextureTextQuit](@ref gTextureTextQuit) | 0x0A0C34E0 +[gTextureTextErase_end](@ref gTextureTextErase_end) | 0x0A0C34E0 [gTextureTextQuit_end](@ref gTextureTextQuit_end) | 0x0A0C3628 [gTexture7ED058](@ref gTexture7ED058) | 0x0A0C3628 [gTexture7ED290](@ref gTexture7ED290) | 0x0A0C3860 [gTexture7ED058_end](@ref gTexture7ED058_end) | 0x0A0C3860 [gTexture7ED50C](@ref gTexture7ED50C) | 0x0A0C3ADC [gTexture7ED290_end](@ref gTexture7ED290_end) | 0x0A0C3ADC -[gTexture7ED6A4](@ref gTexture7ED6A4) | 0x0A0C3C74 [gTexture7ED50C_end](@ref gTexture7ED50C_end) | 0x0A0C3C74 -[gTextureTinyFont0](@ref gTextureTinyFont0) | 0x0A0C4004 +[gTexture7ED6A4](@ref gTexture7ED6A4) | 0x0A0C3C74 [gTexture7ED6A4_end](@ref gTexture7ED6A4_end) | 0x0A0C4004 +[gTextureTinyFont0](@ref gTextureTinyFont0) | 0x0A0C4004 [gTextureTinyFont0_end](@ref gTextureTinyFont0_end) | 0x0A0C4078 [gTextureTinyFont1](@ref gTextureTinyFont1) | 0x0A0C4078 [gTextureTinyFont1_end](@ref gTextureTinyFont1_end) | 0x0A0C40C0 [gTextureTinyFont2](@ref gTextureTinyFont2) | 0x0A0C40C0 -[gTextureTinyFont3](@ref gTextureTinyFont3) | 0x0A0C4134 [gTextureTinyFont2_end](@ref gTextureTinyFont2_end) | 0x0A0C4134 +[gTextureTinyFont3](@ref gTextureTinyFont3) | 0x0A0C4134 [gTextureTinyFont3_end](@ref gTextureTinyFont3_end) | 0x0A0C41A4 [gTextureTinyFont4](@ref gTextureTinyFont4) | 0x0A0C41A4 [gTextureTinyFont5](@ref gTextureTinyFont5) | 0x0A0C4200 @@ -19068,70 +19068,70 @@ Variable Name | Memory Address [gTextureTinyFont7](@ref gTextureTinyFont7) | 0x0A0C42E8 [gTextureTinyFont8](@ref gTextureTinyFont8) | 0x0A0C4348 [gTextureTinyFont7_end](@ref gTextureTinyFont7_end) | 0x0A0C4348 -[gTextureTinyFont9](@ref gTextureTinyFont9) | 0x0A0C43C0 [gTextureTinyFont8_end](@ref gTextureTinyFont8_end) | 0x0A0C43C0 -[gTextureTinyFont9_end](@ref gTextureTinyFont9_end) | 0x0A0C4434 +[gTextureTinyFont9](@ref gTextureTinyFont9) | 0x0A0C43C0 [gTextureTinyFontA](@ref gTextureTinyFontA) | 0x0A0C4434 +[gTextureTinyFont9_end](@ref gTextureTinyFont9_end) | 0x0A0C4434 [gTextureTinyFontA_end](@ref gTextureTinyFontA_end) | 0x0A0C44A0 [gTextureTinyFontB](@ref gTextureTinyFontB) | 0x0A0C44A0 [gTextureTinyFontC](@ref gTextureTinyFontC) | 0x0A0C451C [gTextureTinyFontB_end](@ref gTextureTinyFontB_end) | 0x0A0C451C [gTextureTinyFontD](@ref gTextureTinyFontD) | 0x0A0C4590 [gTextureTinyFontC_end](@ref gTextureTinyFontC_end) | 0x0A0C4590 -[gTextureTinyFontE](@ref gTextureTinyFontE) | 0x0A0C4600 [gTextureTinyFontD_end](@ref gTextureTinyFontD_end) | 0x0A0C4600 -[gTextureTinyFontF](@ref gTextureTinyFontF) | 0x0A0C4674 +[gTextureTinyFontE](@ref gTextureTinyFontE) | 0x0A0C4600 [gTextureTinyFontE_end](@ref gTextureTinyFontE_end) | 0x0A0C4674 -[gTextureTinyFontG](@ref gTextureTinyFontG) | 0x0A0C46D8 +[gTextureTinyFontF](@ref gTextureTinyFontF) | 0x0A0C4674 [gTextureTinyFontF_end](@ref gTextureTinyFontF_end) | 0x0A0C46D8 -[gTextureTinyFontH](@ref gTextureTinyFontH) | 0x0A0C474C +[gTextureTinyFontG](@ref gTextureTinyFontG) | 0x0A0C46D8 [gTextureTinyFontG_end](@ref gTextureTinyFontG_end) | 0x0A0C474C -[gTextureTinyFontH_end](@ref gTextureTinyFontH_end) | 0x0A0C47C4 +[gTextureTinyFontH](@ref gTextureTinyFontH) | 0x0A0C474C [gTextureTinyFontI](@ref gTextureTinyFontI) | 0x0A0C47C4 -[gTextureTinyFontI_end](@ref gTextureTinyFontI_end) | 0x0A0C480C +[gTextureTinyFontH_end](@ref gTextureTinyFontH_end) | 0x0A0C47C4 [gTextureTinyFontJ](@ref gTextureTinyFontJ) | 0x0A0C480C +[gTextureTinyFontI_end](@ref gTextureTinyFontI_end) | 0x0A0C480C [gTextureTinyFontK](@ref gTextureTinyFontK) | 0x0A0C4860 [gTextureTinyFontJ_end](@ref gTextureTinyFontJ_end) | 0x0A0C4860 -[gTextureTinyFontL](@ref gTextureTinyFontL) | 0x0A0C48D0 [gTextureTinyFontK_end](@ref gTextureTinyFontK_end) | 0x0A0C48D0 -[gTextureTinyFontM](@ref gTextureTinyFontM) | 0x0A0C491C +[gTextureTinyFontL](@ref gTextureTinyFontL) | 0x0A0C48D0 [gTextureTinyFontL_end](@ref gTextureTinyFontL_end) | 0x0A0C491C -[gTextureTinyFontN](@ref gTextureTinyFontN) | 0x0A0C4998 +[gTextureTinyFontM](@ref gTextureTinyFontM) | 0x0A0C491C [gTextureTinyFontM_end](@ref gTextureTinyFontM_end) | 0x0A0C4998 -[gTextureTinyFontN_end](@ref gTextureTinyFontN_end) | 0x0A0C4A14 +[gTextureTinyFontN](@ref gTextureTinyFontN) | 0x0A0C4998 [gTextureTinyFontO](@ref gTextureTinyFontO) | 0x0A0C4A14 -[gTextureTinyFontP](@ref gTextureTinyFontP) | 0x0A0C4A8C +[gTextureTinyFontN_end](@ref gTextureTinyFontN_end) | 0x0A0C4A14 [gTextureTinyFontO_end](@ref gTextureTinyFontO_end) | 0x0A0C4A8C -[gTextureTinyFontP_end](@ref gTextureTinyFontP_end) | 0x0A0C4AF8 +[gTextureTinyFontP](@ref gTextureTinyFontP) | 0x0A0C4A8C [gTextureTinyFontQ](@ref gTextureTinyFontQ) | 0x0A0C4AF8 +[gTextureTinyFontP_end](@ref gTextureTinyFontP_end) | 0x0A0C4AF8 [gTextureTinyFontQ_end](@ref gTextureTinyFontQ_end) | 0x0A0C4B70 [gTextureTinyFontR](@ref gTextureTinyFontR) | 0x0A0C4B70 [gTextureTinyFontR_end](@ref gTextureTinyFontR_end) | 0x0A0C4BE4 [gTextureTinyFontS](@ref gTextureTinyFontS) | 0x0A0C4BE4 -[gTextureTinyFontS_end](@ref gTextureTinyFontS_end) | 0x0A0C4C54 [gTextureTinyFontT](@ref gTextureTinyFontT) | 0x0A0C4C54 +[gTextureTinyFontS_end](@ref gTextureTinyFontS_end) | 0x0A0C4C54 [gTextureTinyFontU](@ref gTextureTinyFontU) | 0x0A0C4CA8 [gTextureTinyFontT_end](@ref gTextureTinyFontT_end) | 0x0A0C4CA8 -[gTextureTinyFontV](@ref gTextureTinyFontV) | 0x0A0C4D0C [gTextureTinyFontU_end](@ref gTextureTinyFontU_end) | 0x0A0C4D0C +[gTextureTinyFontV](@ref gTextureTinyFontV) | 0x0A0C4D0C [gTextureTinyFontW](@ref gTextureTinyFontW) | 0x0A0C4D6C [gTextureTinyFontV_end](@ref gTextureTinyFontV_end) | 0x0A0C4D6C -[gTextureTinyFontX](@ref gTextureTinyFontX) | 0x0A0C4DE8 [gTextureTinyFontW_end](@ref gTextureTinyFontW_end) | 0x0A0C4DE8 +[gTextureTinyFontX](@ref gTextureTinyFontX) | 0x0A0C4DE8 [gTextureTinyFontX_end](@ref gTextureTinyFontX_end) | 0x0A0C4E54 [gTextureTinyFontY](@ref gTextureTinyFontY) | 0x0A0C4E54 [gTextureTinyFontY_end](@ref gTextureTinyFontY_end) | 0x0A0C4EA4 [gTextureTinyFontZ](@ref gTextureTinyFontZ) | 0x0A0C4EA4 -[gTextureTinyFontExclamationMark](@ref gTextureTinyFontExclamationMark) | 0x0A0C4F0C [gTextureTinyFontZ_end](@ref gTextureTinyFontZ_end) | 0x0A0C4F0C +[gTextureTinyFontExclamationMark](@ref gTextureTinyFontExclamationMark) | 0x0A0C4F0C [gTextureTinyFontDoubleQuote](@ref gTextureTinyFontDoubleQuote) | 0x0A0C4F54 [gTextureTinyFontExclamationMark_end](@ref gTextureTinyFontExclamationMark_end) | 0x0A0C4F54 -[gTextureTinyFontDoubleQuote_end](@ref gTextureTinyFontDoubleQuote_end) | 0x0A0C4F8C [gTextureTinyFontHash](@ref gTextureTinyFontHash) | 0x0A0C4F8C +[gTextureTinyFontDoubleQuote_end](@ref gTextureTinyFontDoubleQuote_end) | 0x0A0C4F8C [gTextureTinyFontHash_end](@ref gTextureTinyFontHash_end) | 0x0A0C4FFC [gTextureTinyFontSingleQuote](@ref gTextureTinyFontSingleQuote) | 0x0A0C4FFC -[gTextureTinyFontAsterisk](@ref gTextureTinyFontAsterisk) | 0x0A0C502C [gTextureTinyFontSingleQuote_end](@ref gTextureTinyFontSingleQuote_end) | 0x0A0C502C +[gTextureTinyFontAsterisk](@ref gTextureTinyFontAsterisk) | 0x0A0C502C [gTextureTinyFontPlus](@ref gTextureTinyFontPlus) | 0x0A0C5098 [gTextureTinyFontAsterisk_end](@ref gTextureTinyFontAsterisk_end) | 0x0A0C5098 [gTextureTinyFontPlus_end](@ref gTextureTinyFontPlus_end) | 0x0A0C50E8 @@ -19142,60 +19142,60 @@ Variable Name | Memory Address [gTextureTinyFontMinus_end](@ref gTextureTinyFontMinus_end) | 0x0A0C514C [gTextureTinyFontForwardSlash](@ref gTextureTinyFontForwardSlash) | 0x0A0C517C [gTextureTinyFontComma_end](@ref gTextureTinyFontComma_end) | 0x0A0C517C -[gTextureTinyFontForwardSlash_end](@ref gTextureTinyFontForwardSlash_end) | 0x0A0C51CC [gTextureTinyFontColon](@ref gTextureTinyFontColon) | 0x0A0C51CC -[gTextureTinyFontColon_end](@ref gTextureTinyFontColon_end) | 0x0A0C5204 +[gTextureTinyFontForwardSlash_end](@ref gTextureTinyFontForwardSlash_end) | 0x0A0C51CC [gTexture7EEC34](@ref gTexture7EEC34) | 0x0A0C5204 -[gTextureTinyFontQuestion](@ref gTextureTinyFontQuestion) | 0x0A0C5254 +[gTextureTinyFontColon_end](@ref gTextureTinyFontColon_end) | 0x0A0C5204 [gTexture7EEC34_end](@ref gTexture7EEC34_end) | 0x0A0C5254 -[gTexture7EECE4](@ref gTexture7EECE4) | 0x0A0C52B4 +[gTextureTinyFontQuestion](@ref gTextureTinyFontQuestion) | 0x0A0C5254 [gTextureTinyFontQuestion_end](@ref gTextureTinyFontQuestion_end) | 0x0A0C52B4 +[gTexture7EECE4](@ref gTexture7EECE4) | 0x0A0C52B4 [gTexture7EECE4_end](@ref gTexture7EECE4_end) | 0x0A0C5344 [gTexture7EED74](@ref gTexture7EED74) | 0x0A0C5344 -[gTexture7EED74_end](@ref gTexture7EED74_end) | 0x0A0C5380 [gTexture7EEDB0](@ref gTexture7EEDB0) | 0x0A0C5380 -[gTexture7EEDB0_end](@ref gTexture7EEDB0_end) | 0x0A0C53B8 +[gTexture7EED74_end](@ref gTexture7EED74_end) | 0x0A0C5380 [gTexture7EEDE8](@ref gTexture7EEDE8) | 0x0A0C53B8 -[gTexture7EEE20](@ref gTexture7EEE20) | 0x0A0C53F0 +[gTexture7EEDB0_end](@ref gTexture7EEDB0_end) | 0x0A0C53B8 [gTexture7EEDE8_end](@ref gTexture7EEDE8_end) | 0x0A0C53F0 +[gTexture7EEE20](@ref gTexture7EEE20) | 0x0A0C53F0 [gTexture7EEE7C](@ref gTexture7EEE7C) | 0x0A0C544C [gTexture7EEE20_end](@ref gTexture7EEE20_end) | 0x0A0C544C -[gTexture7EEE7C_end](@ref gTexture7EEE7C_end) | 0x0A0C54A0 [gTexture7EEED0](@ref gTexture7EEED0) | 0x0A0C54A0 -[gTexture7EEED0_end](@ref gTexture7EEED0_end) | 0x0A0C550C +[gTexture7EEE7C_end](@ref gTexture7EEE7C_end) | 0x0A0C54A0 [gTexture7EEF3C](@ref gTexture7EEF3C) | 0x0A0C550C -[gTexture7EEF90](@ref gTexture7EEF90) | 0x0A0C5560 +[gTexture7EEED0_end](@ref gTexture7EEED0_end) | 0x0A0C550C [gTexture7EEF3C_end](@ref gTexture7EEF3C_end) | 0x0A0C5560 -[gTexture7EEFF4](@ref gTexture7EEFF4) | 0x0A0C55C4 +[gTexture7EEF90](@ref gTexture7EEF90) | 0x0A0C5560 [gTexture7EEF90_end](@ref gTexture7EEF90_end) | 0x0A0C55C4 -[gTexture7EEFF4_end](@ref gTexture7EEFF4_end) | 0x0A0C5628 +[gTexture7EEFF4](@ref gTexture7EEFF4) | 0x0A0C55C4 [gTexture7EF058](@ref gTexture7EF058) | 0x0A0C5628 -[gTexture7EF0B4](@ref gTexture7EF0B4) | 0x0A0C5684 +[gTexture7EEFF4_end](@ref gTexture7EEFF4_end) | 0x0A0C5628 [gTexture7EF058_end](@ref gTexture7EF058_end) | 0x0A0C5684 -[gTexture7EF110](@ref gTexture7EF110) | 0x0A0C56E0 +[gTexture7EF0B4](@ref gTexture7EF0B4) | 0x0A0C5684 [gTexture7EF0B4_end](@ref gTexture7EF0B4_end) | 0x0A0C56E0 +[gTexture7EF110](@ref gTexture7EF110) | 0x0A0C56E0 [gTexture7EF17C](@ref gTexture7EF17C) | 0x0A0C574C [gTexture7EF110_end](@ref gTexture7EF110_end) | 0x0A0C574C -[gTexture7EF1F0](@ref gTexture7EF1F0) | 0x0A0C57C0 [gTexture7EF17C_end](@ref gTexture7EF17C_end) | 0x0A0C57C0 -[gTexture7EF250](@ref gTexture7EF250) | 0x0A0C5820 +[gTexture7EF1F0](@ref gTexture7EF1F0) | 0x0A0C57C0 [gTexture7EF1F0_end](@ref gTexture7EF1F0_end) | 0x0A0C5820 -[gTexture7EF250_end](@ref gTexture7EF250_end) | 0x0A0C5888 +[gTexture7EF250](@ref gTexture7EF250) | 0x0A0C5820 [gTexture7EF2B8](@ref gTexture7EF2B8) | 0x0A0C5888 +[gTexture7EF250_end](@ref gTexture7EF250_end) | 0x0A0C5888 [gTexture7EF314](@ref gTexture7EF314) | 0x0A0C58E4 [gTexture7EF2B8_end](@ref gTexture7EF2B8_end) | 0x0A0C58E4 [gTexture7EF388](@ref gTexture7EF388) | 0x0A0C5958 [gTexture7EF314_end](@ref gTexture7EF314_end) | 0x0A0C5958 [gTexture7EF388_end](@ref gTexture7EF388_end) | 0x0A0C59C8 [gTexture7EF3F8](@ref gTexture7EF3F8) | 0x0A0C59C8 -[gTexture7EF3F8_end](@ref gTexture7EF3F8_end) | 0x0A0C5A40 [gTexture7EF470](@ref gTexture7EF470) | 0x0A0C5A40 -[gTexture7EF4E4](@ref gTexture7EF4E4) | 0x0A0C5AB4 +[gTexture7EF3F8_end](@ref gTexture7EF3F8_end) | 0x0A0C5A40 [gTexture7EF470_end](@ref gTexture7EF470_end) | 0x0A0C5AB4 +[gTexture7EF4E4](@ref gTexture7EF4E4) | 0x0A0C5AB4 [gTexture7EF554](@ref gTexture7EF554) | 0x0A0C5B24 [gTexture7EF4E4_end](@ref gTexture7EF4E4_end) | 0x0A0C5B24 -[gTexture7EF554_end](@ref gTexture7EF554_end) | 0x0A0C5B90 [gTexture7EF5C0](@ref gTexture7EF5C0) | 0x0A0C5B90 +[gTexture7EF554_end](@ref gTexture7EF554_end) | 0x0A0C5B90 [gTexture7EF620](@ref gTexture7EF620) | 0x0A0C5BF0 [gTexture7EF5C0_end](@ref gTexture7EF5C0_end) | 0x0A0C5BF0 [gTexture7EF620_end](@ref gTexture7EF620_end) | 0x0A0C5C64 @@ -19206,20 +19206,20 @@ Variable Name | Memory Address [gTexture7EF77C](@ref gTexture7EF77C) | 0x0A0C5D4C [gTexture7EF7E8](@ref gTexture7EF7E8) | 0x0A0C5DB8 [gTexture7EF77C_end](@ref gTexture7EF77C_end) | 0x0A0C5DB8 -[gTexture7EF7E8_end](@ref gTexture7EF7E8_end) | 0x0A0C5E2C [gTexture7EF85C](@ref gTexture7EF85C) | 0x0A0C5E2C +[gTexture7EF7E8_end](@ref gTexture7EF7E8_end) | 0x0A0C5E2C [gTexture7EF8C8](@ref gTexture7EF8C8) | 0x0A0C5E98 [gTexture7EF85C_end](@ref gTexture7EF85C_end) | 0x0A0C5E98 [gTexture7EF93C](@ref gTexture7EF93C) | 0x0A0C5F0C [gTexture7EF8C8_end](@ref gTexture7EF8C8_end) | 0x0A0C5F0C -[gTexture7EF93C_end](@ref gTexture7EF93C_end) | 0x0A0C5F84 [gTexture7EF9B4](@ref gTexture7EF9B4) | 0x0A0C5F84 -[gTexture7EF9B4_end](@ref gTexture7EF9B4_end) | 0x0A0C5FFC +[gTexture7EF93C_end](@ref gTexture7EF93C_end) | 0x0A0C5F84 [gTexture7EFA2C](@ref gTexture7EFA2C) | 0x0A0C5FFC +[gTexture7EF9B4_end](@ref gTexture7EF9B4_end) | 0x0A0C5FFC [gTexture7EFA2C_end](@ref gTexture7EFA2C_end) | 0x0A0C6078 [gTexture7EFAA8](@ref gTexture7EFAA8) | 0x0A0C6078 -[gTexture7EFB00](@ref gTexture7EFB00) | 0x0A0C60D0 [gTexture7EFAA8_end](@ref gTexture7EFAA8_end) | 0x0A0C60D0 +[gTexture7EFB00](@ref gTexture7EFB00) | 0x0A0C60D0 [gTexture7EFB00_end](@ref gTexture7EFB00_end) | 0x0A0C6134 [gTexture7EFB64](@ref gTexture7EFB64) | 0x0A0C6134 [gTexture7EFB64_end](@ref gTexture7EFB64_end) | 0x0A0C618C @@ -19230,68 +19230,68 @@ Variable Name | Memory Address [gTexture7EFCAC](@ref gTexture7EFCAC) | 0x0A0C627C [gTexture7EFD00](@ref gTexture7EFD00) | 0x0A0C62D0 [gTexture7EFCAC_end](@ref gTexture7EFCAC_end) | 0x0A0C62D0 -[gTexture7EFD00_end](@ref gTexture7EFD00_end) | 0x0A0C6330 [gTexture7EFD60](@ref gTexture7EFD60) | 0x0A0C6330 +[gTexture7EFD00_end](@ref gTexture7EFD00_end) | 0x0A0C6330 [gTexture7EFDD4](@ref gTexture7EFDD4) | 0x0A0C63A4 [gTexture7EFD60_end](@ref gTexture7EFD60_end) | 0x0A0C63A4 [gTexture7EFE48](@ref gTexture7EFE48) | 0x0A0C6418 [gTexture7EFDD4_end](@ref gTexture7EFDD4_end) | 0x0A0C6418 [gTexture7EFE48_end](@ref gTexture7EFE48_end) | 0x0A0C6470 [gTexture7EFEA0](@ref gTexture7EFEA0) | 0x0A0C6470 -[gTexture7EFF2C](@ref gTexture7EFF2C) | 0x0A0C64FC [gTexture7EFEA0_end](@ref gTexture7EFEA0_end) | 0x0A0C64FC -[gTexture7EFF90](@ref gTexture7EFF90) | 0x0A0C6560 +[gTexture7EFF2C](@ref gTexture7EFF2C) | 0x0A0C64FC [gTexture7EFF2C_end](@ref gTexture7EFF2C_end) | 0x0A0C6560 -[gTexture7F0000](@ref gTexture7F0000) | 0x0A0C65D0 +[gTexture7EFF90](@ref gTexture7EFF90) | 0x0A0C6560 [gTexture7EFF90_end](@ref gTexture7EFF90_end) | 0x0A0C65D0 -[gTexture7F0000_end](@ref gTexture7F0000_end) | 0x0A0C663C +[gTexture7F0000](@ref gTexture7F0000) | 0x0A0C65D0 [gTexture7F006C](@ref gTexture7F006C) | 0x0A0C663C +[gTexture7F0000_end](@ref gTexture7F0000_end) | 0x0A0C663C [gTexture7F00D8](@ref gTexture7F00D8) | 0x0A0C66A8 [gTexture7F006C_end](@ref gTexture7F006C_end) | 0x0A0C66A8 [gTexture7F00D8_end](@ref gTexture7F00D8_end) | 0x0A0C6728 [gTexture7F0158](@ref gTexture7F0158) | 0x0A0C6728 [gTexture7F01D0](@ref gTexture7F01D0) | 0x0A0C67A0 [gTexture7F0158_end](@ref gTexture7F0158_end) | 0x0A0C67A0 -[gTexture7F023C](@ref gTexture7F023C) | 0x0A0C680C [gTexture7F01D0_end](@ref gTexture7F01D0_end) | 0x0A0C680C -[gTexture7F02B4](@ref gTexture7F02B4) | 0x0A0C6884 +[gTexture7F023C](@ref gTexture7F023C) | 0x0A0C680C [gTexture7F023C_end](@ref gTexture7F023C_end) | 0x0A0C6884 +[gTexture7F02B4](@ref gTexture7F02B4) | 0x0A0C6884 [gTexture7F02B4_end](@ref gTexture7F02B4_end) | 0x0A0C68FC [gTexture7F032C](@ref gTexture7F032C) | 0x0A0C68FC -[gTexture7F0390](@ref gTexture7F0390) | 0x0A0C6960 [gTexture7F032C_end](@ref gTexture7F032C_end) | 0x0A0C6960 +[gTexture7F0390](@ref gTexture7F0390) | 0x0A0C6960 [gTexture7F0404](@ref gTexture7F0404) | 0x0A0C69D4 [gTexture7F0390_end](@ref gTexture7F0390_end) | 0x0A0C69D4 [gTexture7F0470](@ref gTexture7F0470) | 0x0A0C6A40 [gTexture7F0404_end](@ref gTexture7F0404_end) | 0x0A0C6A40 -[gTexture7F04EC](@ref gTexture7F04EC) | 0x0A0C6ABC [gTexture7F0470_end](@ref gTexture7F0470_end) | 0x0A0C6ABC -[gTexture7F055C](@ref gTexture7F055C) | 0x0A0C6B2C +[gTexture7F04EC](@ref gTexture7F04EC) | 0x0A0C6ABC [gTexture7F04EC_end](@ref gTexture7F04EC_end) | 0x0A0C6B2C -[gTexture7F055C_end](@ref gTexture7F055C_end) | 0x0A0C6BC0 +[gTexture7F055C](@ref gTexture7F055C) | 0x0A0C6B2C [gTexture7F05F0](@ref gTexture7F05F0) | 0x0A0C6BC0 +[gTexture7F055C_end](@ref gTexture7F055C_end) | 0x0A0C6BC0 [gTexture7F0670](@ref gTexture7F0670) | 0x0A0C6C40 [gTexture7F05F0_end](@ref gTexture7F05F0_end) | 0x0A0C6C40 -[gTexture7F0670_end](@ref gTexture7F0670_end) | 0x0A0C6CBC [gTexture7F06EC](@ref gTexture7F06EC) | 0x0A0C6CBC +[gTexture7F0670_end](@ref gTexture7F0670_end) | 0x0A0C6CBC [gTexture7F06EC_end](@ref gTexture7F06EC_end) | 0x0A0C6D38 [gTexture7F0768](@ref gTexture7F0768) | 0x0A0C6D38 -[gTexture7F0768_end](@ref gTexture7F0768_end) | 0x0A0C6DB0 [gTexture7F07E0](@ref gTexture7F07E0) | 0x0A0C6DB0 +[gTexture7F0768_end](@ref gTexture7F0768_end) | 0x0A0C6DB0 [gTexture7F07E0_end](@ref gTexture7F07E0_end) | 0x0A0C6E28 [gTexture7F0858](@ref gTexture7F0858) | 0x0A0C6E28 -[gTexture7F0858_end](@ref gTexture7F0858_end) | 0x0A0C6EA8 [gTexture7F08D8](@ref gTexture7F08D8) | 0x0A0C6EA8 +[gTexture7F0858_end](@ref gTexture7F0858_end) | 0x0A0C6EA8 [gTexture7F0948](@ref gTexture7F0948) | 0x0A0C6F18 [gTexture7F08D8_end](@ref gTexture7F08D8_end) | 0x0A0C6F18 -[gTexture7F09D0](@ref gTexture7F09D0) | 0x0A0C6FA0 [gTexture7F0948_end](@ref gTexture7F0948_end) | 0x0A0C6FA0 +[gTexture7F09D0](@ref gTexture7F09D0) | 0x0A0C6FA0 [gTexture7F09D0_end](@ref gTexture7F09D0_end) | 0x0A0C700C [gTexture7F0A3C](@ref gTexture7F0A3C) | 0x0A0C700C [gTexture7F0A3C_end](@ref gTexture7F0A3C_end) | 0x0A0C708C [gTexture7F0ABC](@ref gTexture7F0ABC) | 0x0A0C708C -[gTexture7F0ABC_end](@ref gTexture7F0ABC_end) | 0x0A0C7104 [gTexture7F0B34](@ref gTexture7F0B34) | 0x0A0C7104 +[gTexture7F0ABC_end](@ref gTexture7F0ABC_end) | 0x0A0C7104 [gTexture7F0B34_end](@ref gTexture7F0B34_end) | 0x0A0C7180 [gTexture7F0BB0](@ref gTexture7F0BB0) | 0x0A0C7180 [gTexture7F0BB0_end](@ref gTexture7F0BB0_end) | 0x0A0C71F4 @@ -19300,24 +19300,24 @@ Variable Name | Memory Address [gTexture7F0C24_end](@ref gTexture7F0C24_end) | 0x0A0C7264 [gTexture7F0C94_end](@ref gTexture7F0C94_end) | 0x0A0C72DC [gTexture7F0D0C](@ref gTexture7F0D0C) | 0x0A0C72DC -[gTexture7F0D0C_end](@ref gTexture7F0D0C_end) | 0x0A0C735C [gTexture7F0D8C](@ref gTexture7F0D8C) | 0x0A0C735C -[gTexture7F0DEC](@ref gTexture7F0DEC) | 0x0A0C73BC +[gTexture7F0D0C_end](@ref gTexture7F0D0C_end) | 0x0A0C735C [gTexture7F0D8C_end](@ref gTexture7F0D8C_end) | 0x0A0C73BC +[gTexture7F0DEC](@ref gTexture7F0DEC) | 0x0A0C73BC [gTexture7F0E5C](@ref gTexture7F0E5C) | 0x0A0C742C [gTexture7F0DEC_end](@ref gTexture7F0DEC_end) | 0x0A0C742C -[gTexture7F0E5C_end](@ref gTexture7F0E5C_end) | 0x0A0C74B4 [gTexture7F0EE4](@ref gTexture7F0EE4) | 0x0A0C74B4 -[gTexture7F0F5C](@ref gTexture7F0F5C) | 0x0A0C752C +[gTexture7F0E5C_end](@ref gTexture7F0E5C_end) | 0x0A0C74B4 [gTexture7F0EE4_end](@ref gTexture7F0EE4_end) | 0x0A0C752C -[gTexture7F0F5C_end](@ref gTexture7F0F5C_end) | 0x0A0C75A8 +[gTexture7F0F5C](@ref gTexture7F0F5C) | 0x0A0C752C [gTexture7F0FD8](@ref gTexture7F0FD8) | 0x0A0C75A8 +[gTexture7F0F5C_end](@ref gTexture7F0F5C_end) | 0x0A0C75A8 [gTexture7F0FD8_end](@ref gTexture7F0FD8_end) | 0x0A0C7608 [gTexture7F1038](@ref gTexture7F1038) | 0x0A0C7608 -[gTexture7F109C](@ref gTexture7F109C) | 0x0A0C766C [gTexture7F1038_end](@ref gTexture7F1038_end) | 0x0A0C766C -[gTexture7F109C_end](@ref gTexture7F109C_end) | 0x0A0C76F4 +[gTexture7F109C](@ref gTexture7F109C) | 0x0A0C766C [gTexture7F1124](@ref gTexture7F1124) | 0x0A0C76F4 +[gTexture7F109C_end](@ref gTexture7F109C_end) | 0x0A0C76F4 [gTexture7F11F4](@ref gTexture7F11F4) | 0x0A0C77C4 [gTexture7F12C4](@ref gTexture7F12C4) | 0x0A0C7894 [gTexture7F1394](@ref gTexture7F1394) | 0x0A0C7964 @@ -19555,54 +19555,54 @@ Variable Name | Memory Address [gTexturePlayerSelect](@ref gTexturePlayerSelect) | 0x0B000000 [gTexturePlayerSelect_end](@ref gTexturePlayerSelect_end) | 0x0B000C00 [gTextureOption](@ref gTextureOption) | 0x0B000C00 -[gTextureNameDK](@ref gTextureNameDK) | 0x0B001500 [gTextureOption_end](@ref gTextureOption_end) | 0x0B001500 -[gTextureNameDK_end](@ref gTextureNameDK_end) | 0x0B001700 +[gTextureNameDK](@ref gTextureNameDK) | 0x0B001500 [gTextureNameToad](@ref gTextureNameToad) | 0x0B001700 +[gTextureNameDK_end](@ref gTextureNameDK_end) | 0x0B001700 [gTextureNameToad_end](@ref gTextureNameToad_end) | 0x0B001900 [gTextureNameBowser](@ref gTextureNameBowser) | 0x0B001900 -[gTextureNameBowser_end](@ref gTextureNameBowser_end) | 0x0B001B00 [gTextureNameLuigi](@ref gTextureNameLuigi) | 0x0B001B00 -[gTextureNameMario](@ref gTextureNameMario) | 0x0B001D00 +[gTextureNameBowser_end](@ref gTextureNameBowser_end) | 0x0B001B00 [gTextureNameLuigi_end](@ref gTextureNameLuigi_end) | 0x0B001D00 -[gTextureNamePeach](@ref gTextureNamePeach) | 0x0B001F00 +[gTextureNameMario](@ref gTextureNameMario) | 0x0B001D00 [gTextureNameMario_end](@ref gTextureNameMario_end) | 0x0B001F00 -[gTextureNameWario](@ref gTextureNameWario) | 0x0B002100 +[gTextureNamePeach](@ref gTextureNamePeach) | 0x0B001F00 [gTextureNamePeach_end](@ref gTextureNamePeach_end) | 0x0B002100 +[gTextureNameWario](@ref gTextureNameWario) | 0x0B002100 [gTextureNameYoshi](@ref gTextureNameYoshi) | 0x0B002300 [gTextureNameWario_end](@ref gTextureNameWario_end) | 0x0B002300 -[gTextureNameYoshi_end](@ref gTextureNameYoshi_end) | 0x0B002500 [gTextureTitleMarioRaceway](@ref gTextureTitleMarioRaceway) | 0x0B002500 +[gTextureNameYoshi_end](@ref gTextureNameYoshi_end) | 0x0B002500 [gTextureTitleChocoMountain](@ref gTextureTitleChocoMountain) | 0x0B002A00 [gTextureTitleMarioRaceway_end](@ref gTextureTitleMarioRaceway_end) | 0x0B002A00 -[gTextureTitleChocoMountain_end](@ref gTextureTitleChocoMountain_end) | 0x0B002F00 [gTextureTitleBowsersCastle](@ref gTextureTitleBowsersCastle) | 0x0B002F00 +[gTextureTitleChocoMountain_end](@ref gTextureTitleChocoMountain_end) | 0x0B002F00 [gTextureTitleBowsersCastle_end](@ref gTextureTitleBowsersCastle_end) | 0x0B003400 [gTextureTitleBansheeBoardwalk](@ref gTextureTitleBansheeBoardwalk) | 0x0B003400 -[gTextureTitleBansheeBoardwalk_end](@ref gTextureTitleBansheeBoardwalk_end) | 0x0B003A00 [gTextureTitleYoshiValley](@ref gTextureTitleYoshiValley) | 0x0B003A00 +[gTextureTitleBansheeBoardwalk_end](@ref gTextureTitleBansheeBoardwalk_end) | 0x0B003A00 [gTextureTitleYoshiValley_end](@ref gTextureTitleYoshiValley_end) | 0x0B003E00 [gTextureTitleFrappeSnowland](@ref gTextureTitleFrappeSnowland) | 0x0B003E00 -[gTextureTitleKoopaTroopaBeach](@ref gTextureTitleKoopaTroopaBeach) | 0x0B004300 [gTextureTitleFrappeSnowland_end](@ref gTextureTitleFrappeSnowland_end) | 0x0B004300 +[gTextureTitleKoopaTroopaBeach](@ref gTextureTitleKoopaTroopaBeach) | 0x0B004300 [gTextureTitleKoopaTroopaBeach_end](@ref gTextureTitleKoopaTroopaBeach_end) | 0x0B004800 [gTextureTitleRoyalRaceway](@ref gTextureTitleRoyalRaceway) | 0x0B004800 [gTextureTitleRoyalRaceway_end](@ref gTextureTitleRoyalRaceway_end) | 0x0B004C00 [gTextureTitleLuigiRaceway](@ref gTextureTitleLuigiRaceway) | 0x0B004C00 [gTextureTitleMooMooFarm](@ref gTextureTitleMooMooFarm) | 0x0B005000 [gTextureTitleLuigiRaceway_end](@ref gTextureTitleLuigiRaceway_end) | 0x0B005000 -[gTextureTitleMooMooFarm_end](@ref gTextureTitleMooMooFarm_end) | 0x0B005400 [gTextureTitleToadsTurnpike](@ref gTextureTitleToadsTurnpike) | 0x0B005400 -[gTextureTitleKalimariDesert](@ref gTextureTitleKalimariDesert) | 0x0B005900 +[gTextureTitleMooMooFarm_end](@ref gTextureTitleMooMooFarm_end) | 0x0B005400 [gTextureTitleToadsTurnpike_end](@ref gTextureTitleToadsTurnpike_end) | 0x0B005900 -[gTextureTitleKalimariDesert_end](@ref gTextureTitleKalimariDesert_end) | 0x0B005D00 +[gTextureTitleKalimariDesert](@ref gTextureTitleKalimariDesert) | 0x0B005900 [gTextureTitleSherbetLand](@ref gTextureTitleSherbetLand) | 0x0B005D00 -[gTextureTitleSherbetLand_end](@ref gTextureTitleSherbetLand_end) | 0x0B006100 +[gTextureTitleKalimariDesert_end](@ref gTextureTitleKalimariDesert_end) | 0x0B005D00 [gTextureTitleRainbowRoad](@ref gTextureTitleRainbowRoad) | 0x0B006100 +[gTextureTitleSherbetLand_end](@ref gTextureTitleSherbetLand_end) | 0x0B006100 [gTextureTitleWarioStadium](@ref gTextureTitleWarioStadium) | 0x0B006500 [gTextureTitleRainbowRoad_end](@ref gTextureTitleRainbowRoad_end) | 0x0B006500 -[gTextureTitleWarioStadium_end](@ref gTextureTitleWarioStadium_end) | 0x0B006A00 [gTextureTitleBlockFort](@ref gTextureTitleBlockFort) | 0x0B006A00 +[gTextureTitleWarioStadium_end](@ref gTextureTitleWarioStadium_end) | 0x0B006A00 [gTextureTitleBlockFort_end](@ref gTextureTitleBlockFort_end) | 0x0B006D00 [gTextureTitleSkyscraper](@ref gTextureTitleSkyscraper) | 0x0B006D00 [gTextureTitleDoubleDeck](@ref gTextureTitleDoubleDeck) | 0x0B007100 @@ -19617,22 +19617,22 @@ Variable Name | Memory Address [gTextureMapSelect_end](@ref gTextureMapSelect_end) | 0x0B008A00 [gTextureMenuMushroomCup](@ref gTextureMenuMushroomCup) | 0x0B008E00 [gTextureMenuFlowerCup_end](@ref gTextureMenuFlowerCup_end) | 0x0B008E00 -[gTextureMenuMushroomCup_end](@ref gTextureMenuMushroomCup_end) | 0x0B009200 [gTextureMenuStarCup](@ref gTextureMenuStarCup) | 0x0B009200 +[gTextureMenuMushroomCup_end](@ref gTextureMenuMushroomCup_end) | 0x0B009200 [gTextureMenuSpecialCup](@ref gTextureMenuSpecialCup) | 0x0B009600 [gTextureMenuStarCup_end](@ref gTextureMenuStarCup_end) | 0x0B009600 [gTextureGameSelect](@ref gTextureGameSelect) | 0x0B009A00 [gTextureMenuSpecialCup_end](@ref gTextureMenuSpecialCup_end) | 0x0B009A00 -[gTextureMenu1PGame](@ref gTextureMenu1PGame) | 0x0B00A600 [gTextureGameSelect_end](@ref gTextureGameSelect_end) | 0x0B00A600 -[gTextureMenu1PGame_end](@ref gTextureMenu1PGame_end) | 0x0B00AB00 +[gTextureMenu1PGame](@ref gTextureMenu1PGame) | 0x0B00A600 [gTextureMenu2PGame](@ref gTextureMenu2PGame) | 0x0B00AB00 -[gTextureMenu3PGame](@ref gTextureMenu3PGame) | 0x0B00B200 +[gTextureMenu1PGame_end](@ref gTextureMenu1PGame_end) | 0x0B00AB00 [gTextureMenu2PGame_end](@ref gTextureMenu2PGame_end) | 0x0B00B200 -[gTextureMenu4PGame](@ref gTextureMenu4PGame) | 0x0B00BC00 +[gTextureMenu3PGame](@ref gTextureMenu3PGame) | 0x0B00B200 [gTextureMenu3PGame_end](@ref gTextureMenu3PGame_end) | 0x0B00BC00 -[gTextureMenu4PGame_end](@ref gTextureMenu4PGame_end) | 0x0B00C700 +[gTextureMenu4PGame](@ref gTextureMenu4PGame) | 0x0B00BC00 [gTextureMenuModeBattle](@ref gTextureMenuModeBattle) | 0x0B00C700 +[gTextureMenu4PGame_end](@ref gTextureMenu4PGame_end) | 0x0B00C700 [gTextureMenuModeTimeTrials](@ref gTextureMenuModeTimeTrials) | 0x0B00CA00 [gTextureMenuModeBattle_end](@ref gTextureMenuModeBattle_end) | 0x0B00CA00 [gTextureMenuModeMarioGP](@ref gTextureMenuModeMarioGP) | 0x0B00CE00 @@ -19643,36 +19643,36 @@ Variable Name | Memory Address [gTextureMenuModeVS_end](@ref gTextureMenuModeVS_end) | 0x0B00D500 [gTextureMenuLOption_end](@ref gTextureMenuLOption_end) | 0x0B00D800 [gTextureMenuRData](@ref gTextureMenuRData) | 0x0B00D800 -[gTextureMenuRData_end](@ref gTextureMenuRData_end) | 0x0B00DB00 [gTextureMenu50cc](@ref gTextureMenu50cc) | 0x0B00DB00 -[gTextureMenu50cc_end](@ref gTextureMenu50cc_end) | 0x0B00DD00 +[gTextureMenuRData_end](@ref gTextureMenuRData_end) | 0x0B00DB00 [gTextureMenu100cc](@ref gTextureMenu100cc) | 0x0B00DD00 -[gTextureMenu150cc](@ref gTextureMenu150cc) | 0x0B00DF00 +[gTextureMenu50cc_end](@ref gTextureMenu50cc_end) | 0x0B00DD00 [gTextureMenu100cc_end](@ref gTextureMenu100cc_end) | 0x0B00DF00 +[gTextureMenu150cc](@ref gTextureMenu150cc) | 0x0B00DF00 [gTextureMenuExtra](@ref gTextureMenuExtra) | 0x0B00E100 [gTextureMenu150cc_end](@ref gTextureMenu150cc_end) | 0x0B00E100 [gTextureMenuWithoutItem](@ref gTextureMenuWithoutItem) | 0x0B00E300 [gTextureMenuExtra_end](@ref gTextureMenuExtra_end) | 0x0B00E300 [gTextureMenuWithoutItem_end](@ref gTextureMenuWithoutItem_end) | 0x0B00E600 [gTextureMenuWithItem](@ref gTextureMenuWithItem) | 0x0B00E600 -[gTextureMenuWithItem_end](@ref gTextureMenuWithItem_end) | 0x0B00E900 [gTextureMenuBegin](@ref gTextureMenuBegin) | 0x0B00E900 +[gTextureMenuWithItem_end](@ref gTextureMenuWithItem_end) | 0x0B00E900 [gTextureMenuGhost](@ref gTextureMenuGhost) | 0x0B00EB00 [gTextureMenuBegin_end](@ref gTextureMenuBegin_end) | 0x0B00EB00 [gTextureMenuData](@ref gTextureMenuData) | 0x0B00ED00 [gTextureMenuGhost_end](@ref gTextureMenuGhost_end) | 0x0B00ED00 [gTextureMenuData_end](@ref gTextureMenuData_end) | 0x0B00EF00 [gTextureMenuOK](@ref gTextureMenuOK) | 0x0B00EF00 -[gTextureBackgroundBlueSky](@ref gTextureBackgroundBlueSky) | 0x0B00F100 [gTextureMenuOK_end](@ref gTextureMenuOK_end) | 0x0B00F100 +[gTextureBackgroundBlueSky](@ref gTextureBackgroundBlueSky) | 0x0B00F100 [gTextureBackgroundBlueSky_end](@ref gTextureBackgroundBlueSky_end) | 0x0B01BF00 [gTextureBackgroundSunset](@ref gTextureBackgroundSunset) | 0x0B01BF00 -[gTextureGreenGoldStripe](@ref gTextureGreenGoldStripe) | 0x0B025300 [gTextureBackgroundSunset_end](@ref gTextureBackgroundSunset_end) | 0x0B025300 -[gTextureGoldStripe](@ref gTextureGoldStripe) | 0x0B025F00 +[gTextureGreenGoldStripe](@ref gTextureGreenGoldStripe) | 0x0B025300 [gTextureGreenGoldStripe_end](@ref gTextureGreenGoldStripe_end) | 0x0B025F00 -[gTextureWhiteStripe](@ref gTextureWhiteStripe) | 0x0B026600 +[gTextureGoldStripe](@ref gTextureGoldStripe) | 0x0B025F00 [gTextureGoldStripe_end](@ref gTextureGoldStripe_end) | 0x0B026600 +[gTextureWhiteStripe](@ref gTextureWhiteStripe) | 0x0B026600 [gTexturePinkBar](@ref gTexturePinkBar) | 0x0B026700 [gTextureWhiteStripe_end](@ref gTextureWhiteStripe_end) | 0x0B026700 [gTexturePinkBar_end](@ref gTexturePinkBar_end) | 0x0B026C00 @@ -19767,64 +19767,64 @@ Variable Name | Memory Address [d_course_big_donut_packed](@ref d_course_big_donut_packed) | 0x0F001B84 [music_sequence_table_header](@ref music_sequence_table_header) | 0x0025FD00 [music_sequence_table](@ref music_sequence_table) | 0x0025FD04 -[music_sequence_table_end](@ref music_sequence_table_end) | 0x0025FE00 [seq_00](@ref seq_00) | 0x0025FE00 +[music_sequence_table_end](@ref music_sequence_table_end) | 0x0025FE00 [seq_01](@ref seq_01) | 0x00262630 [seq_00_end](@ref seq_00_end) | 0x00262630 -[seq_02](@ref seq_02) | 0x00264160 [seq_01_end](@ref seq_01_end) | 0x00264160 +[seq_02](@ref seq_02) | 0x00264160 [seq_02_end](@ref seq_02_end) | 0x00264EC0 [seq_03](@ref seq_03) | 0x00264EC0 [seq_03_end](@ref seq_03_end) | 0x002668D0 [seq_04](@ref seq_04) | 0x002668D0 -[seq_04_end](@ref seq_04_end) | 0x00268570 [seq_05](@ref seq_05) | 0x00268570 +[seq_04_end](@ref seq_04_end) | 0x00268570 [seq_05_end](@ref seq_05_end) | 0x0026A4E0 [seq_06](@ref seq_06) | 0x0026A4E0 -[seq_06_end](@ref seq_06_end) | 0x0026C3C0 [seq_07](@ref seq_07) | 0x0026C3C0 +[seq_06_end](@ref seq_06_end) | 0x0026C3C0 [seq_07_end](@ref seq_07_end) | 0x0026DA90 [seq_08](@ref seq_08) | 0x0026DA90 -[seq_08_end](@ref seq_08_end) | 0x0026FE60 [seq_09](@ref seq_09) | 0x0026FE60 +[seq_08_end](@ref seq_08_end) | 0x0026FE60 [seq_09_end](@ref seq_09_end) | 0x00271660 [seq_0A](@ref seq_0A) | 0x00271660 [seq_0B](@ref seq_0B) | 0x00273140 [seq_0A_end](@ref seq_0A_end) | 0x00273140 [seq_0C](@ref seq_0C) | 0x00273730 [seq_0B_end](@ref seq_0B_end) | 0x00273730 -[seq_0D](@ref seq_0D) | 0x00273B00 [seq_0C_end](@ref seq_0C_end) | 0x00273B00 -[seq_0D_end](@ref seq_0D_end) | 0x00273E60 +[seq_0D](@ref seq_0D) | 0x00273B00 [seq_0E](@ref seq_0E) | 0x00273E60 +[seq_0D_end](@ref seq_0D_end) | 0x00273E60 [seq_0E_end](@ref seq_0E_end) | 0x00274140 [seq_0F](@ref seq_0F) | 0x00274140 [seq_0F_end](@ref seq_0F_end) | 0x00274600 [seq_10](@ref seq_10) | 0x00274600 [seq_10_end](@ref seq_10_end) | 0x00275A10 [seq_11](@ref seq_11) | 0x00275A10 -[seq_11_end](@ref seq_11_end) | 0x002760F0 [seq_12](@ref seq_12) | 0x002760F0 -[seq_13](@ref seq_13) | 0x002793E0 +[seq_11_end](@ref seq_11_end) | 0x002760F0 [seq_12_end](@ref seq_12_end) | 0x002793E0 +[seq_13](@ref seq_13) | 0x002793E0 [seq_14](@ref seq_14) | 0x00279AA0 [seq_13_end](@ref seq_13_end) | 0x00279AA0 [seq_15](@ref seq_15) | 0x00279F50 [seq_14_end](@ref seq_14_end) | 0x00279F50 -[seq_15_end](@ref seq_15_end) | 0x0027B0B0 [seq_16](@ref seq_16) | 0x0027B0B0 -[seq_17](@ref seq_17) | 0x0027B3C0 +[seq_15_end](@ref seq_15_end) | 0x0027B0B0 [seq_16_end](@ref seq_16_end) | 0x0027B3C0 +[seq_17](@ref seq_17) | 0x0027B3C0 [seq_17_end](@ref seq_17_end) | 0x0027C670 [seq_18](@ref seq_18) | 0x0027C670 [seq_19](@ref seq_19) | 0x0027CC70 [seq_18_end](@ref seq_18_end) | 0x0027CC70 -[seq_1A](@ref seq_1A) | 0x0027E350 [seq_19_end](@ref seq_19_end) | 0x0027E350 -[seq_1A_end](@ref seq_1A_end) | 0x0027EE20 +[seq_1A](@ref seq_1A) | 0x0027E350 [seq_1B](@ref seq_1B) | 0x0027EE20 -[seq_1B_end](@ref seq_1B_end) | 0x0027FAA0 +[seq_1A_end](@ref seq_1A_end) | 0x0027EE20 [seq_1C](@ref seq_1C) | 0x0027FAA0 +[seq_1B_end](@ref seq_1B_end) | 0x0027FAA0 [seq_1D](@ref seq_1D) | 0x002821F0 [seq_1C_end](@ref seq_1C_end) | 0x002821F0 [seq_1D_end](@ref seq_1D_end) | 0x00282E70