Files
mk64/behaviour__utils_8inc_8c_source.html
T

372 lines
69 KiB
HTML

<!-- HTML header for doxygen 1.10.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Mario Kart 64: src/cpu_vehicles_camera_path/behaviour_utils.inc.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<link href="docs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Mario Kart 64
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('behaviour__utils_8inc_8c_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">behaviour_utils.inc.c</div></div>
</div><!--header-->
<div class="contents">
<a href="behaviour__utils_8inc_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="foldopen" id="foldopen00001" data-start="{" data-end="}">
<div class="line"><a id="l00001" name="l00001"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#ac842533b23b073d73ad370538493ac1c"> 1</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#ac842533b23b073d73ad370538493ac1c">copy_courses_cpu_behaviour</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> <a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> i;</div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_enumvalue" href="course_8h.html#acf250ad4ca05ca435a61203c41d4ca88ab491e3c35f36dc6baccdb5ca3a2eff60">NUM_COURSES</a> - 1; i++) {</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a33edc5bb155ee66b2314104325acc24b">gCoursesCPUBehaviour</a>[i] = <a class="code hl_define" href="course_8h.html#a84b12559bab31d0177083793adf75d47">GET_COURSE_AIBehaviour</a>;</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> }</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span>}</div>
</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="foldopen" id="foldopen00008" data-start="{" data-end="}">
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#af0f75cc5bf2a6b39d7585017667a3a14"> 8</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a135ec35ea5dd53f5ceaeda9e3ca8eb41">reset_cpu_behaviour_none</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerIndex) {</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a>[playerIndex] = 0;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a42a88184f2b8728efbea46d07aec1c86">gPreviousCPUBehaviourId</a>[playerIndex] = 0;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af5976b9ca9c2a43d43414de90b17207a">CPU_BEHAVIOUR_STATE_NONE</a>;</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span>}</div>
</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="foldopen" id="foldopen00014" data-start="{" data-end="}">
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#a170b40eb753c743c926ab9ab4434f528"> 14</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a8c0f6d25932c46807c96532f6c573973">reset_cpu_behaviour</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerIndex) {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a>[playerIndex] = 0;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a42a88184f2b8728efbea46d07aec1c86">gPreviousCPUBehaviourId</a>[playerIndex] = 0;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a>;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>}</div>
</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="}">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#abd13ed6549b8df543160b950df820e57"> 20</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a7d4379ffdd4db1e7806e0bc1afefb732">cpu_behaviour_start</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerId, <a class="code hl_struct" href="structPlayer.html">Player</a>* player) {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <a class="code hl_typedef" href="ultratypes_8h.html#aa0b167025ed1eead1300bc4dbdfb230e">u16</a> playerPathPoint;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <a class="code hl_typedef" href="ultratypes_8h.html#a4cb19f4a3324cfe0938ddfbfabaa825b">s16</a> pathPointStart;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <a class="code hl_typedef" href="ultratypes_8h.html#a4cb19f4a3324cfe0938ddfbfabaa825b">s16</a> pathPointEnd;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> behaviourType;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_define" href="macros_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> <a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> <a class="code hl_struct" href="structtest.html">test</a>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a> = &amp;<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a33edc5bb155ee66b2314104325acc24b">gCoursesCPUBehaviour</a>[<a class="code hl_variable" href="code__800029B0_8c.html#a0b35aa576b8ad5250674993b72300f0d">gCurrentCourseId</a>][<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a>[playerId]];</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> playerPathPoint = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aecaedcf25130d660c6c5885cb92f3259">gNearestPathPointByPlayerId</a>[playerId];</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> pathPointStart = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a>-&gt;<a class="code hl_variable" href="structCPUBehaviour.html#ab3ab2b38bf26b94b5afc767e49001377">pathPointStart</a>;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> pathPointEnd = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a>-&gt;<a class="code hl_variable" href="structCPUBehaviour.html#aee8504f6e1fd7bdfd6fcee09a60d5a8a">pathPointEnd</a>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> behaviourType = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a>-&gt;<a class="code hl_variable" href="structCPUBehaviour.html#a2b6e60afea1b51e6ba89ee0c5f630e1a">type</a>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> ((pathPointStart == -1) &amp;&amp; (pathPointEnd == -1)) {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a> = &amp;<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a33edc5bb155ee66b2314104325acc24b">gCoursesCPUBehaviour</a>[<a class="code hl_variable" href="code__800029B0_8c.html#a0b35aa576b8ad5250674993b72300f0d">gCurrentCourseId</a>][0];</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a135ec35ea5dd53f5ceaeda9e3ca8eb41">reset_cpu_behaviour_none</a>(playerId);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> }</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">if</span> ((<a class="code hl_typedef" href="ultratypes_8h.html#a10e94b422ef0c20dcdec20d31a1f5049">u32</a>) playerPathPoint == (<a class="code hl_typedef" href="ultratypes_8h.html#a10e94b422ef0c20dcdec20d31a1f5049">u32</a>) pathPointStart) {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerId] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600ad0c5facc43bc602cebf4b1c6faa918e7">CPU_BEHAVIOUR_STATE_RUNNING</a>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a42a88184f2b8728efbea46d07aec1c86">gPreviousCPUBehaviourId</a>[playerId] = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a>[playerId];</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a>[playerId]++;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">switch</span> (behaviourType) {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeb5f7b5b58ae8f68fa759763ae08f931">BEHAVIOUR_1</a>:</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#adddd70b91e3b42a9442d161cd0f4bfa9">func_80011EC0</a>(playerId, player, player-&gt;<a class="code hl_variable" href="structPlayer.html#a158ceae0180ebdfcae67d78ff7725d7c">steerPosition</a> &gt;&gt; 16, playerPathPoint);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa7076771cdbc3bc9c52fe70c1a9ff6a7a">BEHAVIOUR_HOP</a>:</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_function" href="player__controller_8c.html#a18310e219722897138fbd737acb37331">kart_hop</a>(player);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> player-&gt;<a class="code hl_variable" href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">effects</a> &amp;= ~DRIFTING_EFFECT;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerId] = 0;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa189d288ea1c3f9ec803ae4f8d973707d">BEHAVIOUR_DRIVE_CENTER</a>:</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a>[playerId].<a class="code hl_variable" href="structTrackPositionFactorInstruction.html#a46784a36fc904e298d2b043a334ae27a">target</a> = 0.0f;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caab7f84ebc6390d012b167a79fbb750dc1">BEHAVIOUR_DRIVE_LEFT</a>:</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a>[playerId].<a class="code hl_variable" href="structTrackPositionFactorInstruction.html#a46784a36fc904e298d2b043a334ae27a">target</a> = -0.6f;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa504d1e29a9b22b0d229e711901234374">BEHAVIOUR_DRIVE_OUTER</a>:</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a>[playerId].<a class="code hl_variable" href="structTrackPositionFactorInstruction.html#a46784a36fc904e298d2b043a334ae27a">target</a> = 0.6f;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa112a7b0ef26213b5fc5716d1fff53aa1">BEHAVIOUR_NORMAL_SPEED</a>:</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ac02249ac8d87ac92aee391984bc8d937">gSpeedCPUBehaviour</a>[playerId] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ad400aa70b82965338c9024b13d7df718">SPEED_CPU_BEHAVIOUR_NORMAL</a>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa0025d8495a0cd1057b3732e3ab0feadc">BEHAVIOUR_FAST_SPEED</a>:</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ac02249ac8d87ac92aee391984bc8d937">gSpeedCPUBehaviour</a>[playerId] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a23f07102ce2af3d8f7cea33054f22373">SPEED_CPU_BEHAVIOUR_FAST</a>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc155f60d230d03926fb31444025398">BEHAVIOUR_SLOW_SPEED</a>:</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ac02249ac8d87ac92aee391984bc8d937">gSpeedCPUBehaviour</a>[playerId] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a878853c83e5fa17adb93e1ae1c37a61d">SPEED_CPU_BEHAVIOUR_SLOW</a>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc89471059d0316076cadb1bd30b67f">BEHAVIOUR_MAX_SPEED</a>:</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ac02249ac8d87ac92aee391984bc8d937">gSpeedCPUBehaviour</a>[playerId] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a881a4e96cb0453cb4d8cf1d15c79bce6">SPEED_CPU_BEHAVIOUR_MAX</a>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa731ead61eccb358ff204c9a9730202ef">BEHAVIOUR_9</a>:</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a725fc244c17cc7765892601297bae124">D_801633F8</a>[playerId] = 1;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c5ae9fdd1842f56215de4c2274fd56b">D_801631E0</a>[playerId] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_variable" href="main_8c.html#a5f24aafa500466dbf1a7154ff7041fc2">gPlayers</a>[playerId].<a class="code hl_variable" href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">effects</a> &amp;= ~LOST_RACE_EFFECT;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeea56db11e4b7755a26abe628fcf4f2e">BEHAVIOUR_10</a>:</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a725fc244c17cc7765892601297bae124">D_801633F8</a>[playerId] = 0;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> }</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> }</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span>}</div>
</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="foldopen" id="foldopen00086" data-start="{" data-end="}">
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#a30d6d5bf076d9e2f04f722f0ea704e89"> 86</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a070706cc9cd2596af688aee1bc6008e3">cpu_behaviour_end</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerIndex, <a class="code hl_struct" href="structPlayer.html">Player</a>* player) {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_typedef" href="ultratypes_8h.html#aa0b167025ed1eead1300bc4dbdfb230e">u16</a> nearestPathPoint;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_typedef" href="ultratypes_8h.html#a10e94b422ef0c20dcdec20d31a1f5049">u32</a> pathPointEnd;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> behaviourType;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a> = &amp;<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a33edc5bb155ee66b2314104325acc24b">gCoursesCPUBehaviour</a>[<a class="code hl_variable" href="code__800029B0_8c.html#a0b35aa576b8ad5250674993b72300f0d">gCurrentCourseId</a>][<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a42a88184f2b8728efbea46d07aec1c86">gPreviousCPUBehaviourId</a>[playerIndex]];</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> nearestPathPoint = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aecaedcf25130d660c6c5885cb92f3259">gNearestPathPointByPlayerId</a>[playerIndex];</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> behaviourType = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a>-&gt;<a class="code hl_variable" href="structCPUBehaviour.html#a2b6e60afea1b51e6ba89ee0c5f630e1a">type</a>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> pathPointEnd = <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a>-&gt;<a class="code hl_variable" href="structCPUBehaviour.html#aee8504f6e1fd7bdfd6fcee09a60d5a8a">pathPointEnd</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (nearestPathPoint &gt;= pathPointEnd) {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">switch</span> (behaviourType) {</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeb5f7b5b58ae8f68fa759763ae08f931">BEHAVIOUR_1</a>:</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> player-&gt;<a class="code hl_variable" href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">effects</a> &amp;= ~DRIFTING_EFFECT;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = 0;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a>;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa189d288ea1c3f9ec803ae4f8d973707d">BEHAVIOUR_DRIVE_CENTER</a>:</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caab7f84ebc6390d012b167a79fbb750dc1">BEHAVIOUR_DRIVE_LEFT</a>:</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa504d1e29a9b22b0d229e711901234374">BEHAVIOUR_DRIVE_OUTER</a>:</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a>[playerIndex].<a class="code hl_variable" href="structTrackPositionFactorInstruction.html#a46784a36fc904e298d2b043a334ae27a">target</a> =</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a>[playerIndex].<a class="code hl_variable" href="structTrackPositionFactorInstruction.html#a5f25add966a6ce37f6d287f2a4d483f2">unkC</a>;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa7076771cdbc3bc9c52fe70c1a9ff6a7a">BEHAVIOUR_HOP</a>:</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa112a7b0ef26213b5fc5716d1fff53aa1">BEHAVIOUR_NORMAL_SPEED</a>:</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa0025d8495a0cd1057b3732e3ab0feadc">BEHAVIOUR_FAST_SPEED</a>:</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc155f60d230d03926fb31444025398">BEHAVIOUR_SLOW_SPEED</a>:</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa731ead61eccb358ff204c9a9730202ef">BEHAVIOUR_9</a>:</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeea56db11e4b7755a26abe628fcf4f2e">BEHAVIOUR_10</a>:</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc89471059d0316076cadb1bd30b67f">BEHAVIOUR_MAX_SPEED</a>:</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex] = <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> }</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="foldopen" id="foldopen00124" data-start="{" data-end="}">
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="cpu__vehicles__camera__path_8h.html#a2242f1441fabdded8d5b955aabbba1de"> 124</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a4cea2df9312572136addade60019bd64">cpu_behaviour</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerIndex) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_struct" href="structPlayer.html">Player</a>* player = <a class="code hl_variable" href="main_8c.html#a0204a9efe5c4b5e5ce5153086a5ccb49">gPlayerOne</a> + playerIndex;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a>[playerIndex]) {</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af5976b9ca9c2a43d43414de90b17207a">CPU_BEHAVIOUR_STATE_NONE</a>:</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a>:</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a7d4379ffdd4db1e7806e0bc1afefb732">cpu_behaviour_start</a>(playerIndex, player);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600ad0c5facc43bc602cebf4b1c6faa918e7">CPU_BEHAVIOUR_STATE_RUNNING</a>:</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#a070706cc9cd2596af688aee1bc6008e3">cpu_behaviour_end</a>(playerIndex, player);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span>}</div>
</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="foldopen" id="foldopen00139" data-start="{" data-end="}">
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="behaviour__utils_8inc_8c.html#adddd70b91e3b42a9442d161cd0f4bfa9"> 139</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="behaviour__utils_8inc_8c.html#adddd70b91e3b42a9442d161cd0f4bfa9">func_80011EC0</a>(<a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> playerIndex, <a class="code hl_struct" href="structPlayer.html">Player</a>* player, <a class="code hl_typedef" href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a> arg2, <a class="code hl_define" href="macros_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> <a class="code hl_typedef" href="ultratypes_8h.html#aa0b167025ed1eead1300bc4dbdfb230e">u16</a> arg3) {</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> ((((player-&gt;<a class="code hl_variable" href="structPlayer.html#a1eb7b22cb98924aa32fa909b969dee34">speed</a> / 18.0f) * 216.0f) &gt;= 45.0f) &amp;&amp; (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] == 0)) {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a32a4cc475021eafe1324a16a38dfdfc9">gCurrentTrackSectionTypesPath</a>[<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#acfb8266e8b457b6fb4913ae20e6237d8">sSomeNearestPathPoint</a>]) {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89da8eed2bfb653b7f5f95657b28ab366f8c">RIGHT_LEANING_CURVE</a>:</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89daa35d9f5783edccc7753e19721692bbd5">RIGHT_CURVE</a>:</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> ((arg2 &gt;= -9) &amp;&amp; (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ab9a08adea1b239abb03302598011ba3c">D_80162FF8</a>[playerIndex] == 0)) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a9827e1032dc364b34fdfc8bcd1addecf">gTrackPositionFactor</a>[playerIndex] &gt; -0.8) &amp;&amp; (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a9827e1032dc364b34fdfc8bcd1addecf">gTrackPositionFactor</a>[playerIndex] &lt; 0.5)) {</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <a class="code hl_function" href="player__controller_8c.html#a18310e219722897138fbd737acb37331">kart_hop</a>(player);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> player-&gt;<a class="code hl_variable" href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">effects</a> |= <a class="code hl_define" href="defines_8h.html#a3e226e3ad50d318aa0e7dfa1be372961">DRIFTING_EFFECT</a>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = 1;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> }</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = 2;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89dab5c5d7a2a9e6ac3dbd71a1fe516573c0">LEFT_LEANING_CURVE</a>:</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89dafa0e3907521055cd83cf20036d2d1d0c">LEFT_CURVE</a>:</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> ((arg2 &lt; 0xA) &amp;&amp; (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#ab9a08adea1b239abb03302598011ba3c">D_80162FF8</a>[playerIndex] == 0)) {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a9827e1032dc364b34fdfc8bcd1addecf">gTrackPositionFactor</a>[playerIndex] &gt; -0.5) &amp;&amp; (<a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a9827e1032dc364b34fdfc8bcd1addecf">gTrackPositionFactor</a>[playerIndex] &lt; 0.8)) {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_function" href="player__controller_8c.html#a18310e219722897138fbd737acb37331">kart_hop</a>(player);</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> player-&gt;<a class="code hl_variable" href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">effects</a> |= <a class="code hl_define" href="defines_8h.html#a3e226e3ad50d318aa0e7dfa1be372961">DRIFTING_EFFECT</a>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = -1;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> }</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = -2;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> }</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <a class="code hl_variable" href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a>[playerIndex] = 3;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> }</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span>}</div>
</div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_a070706cc9cd2596af688aee1bc6008e3"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#a070706cc9cd2596af688aee1bc6008e3">cpu_behaviour_end</a></div><div class="ttdeci">void cpu_behaviour_end(s32 playerIndex, Player *player)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:86</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_a135ec35ea5dd53f5ceaeda9e3ca8eb41"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#a135ec35ea5dd53f5ceaeda9e3ca8eb41">reset_cpu_behaviour_none</a></div><div class="ttdeci">void reset_cpu_behaviour_none(s32 playerIndex)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:8</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_a4cea2df9312572136addade60019bd64"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#a4cea2df9312572136addade60019bd64">cpu_behaviour</a></div><div class="ttdeci">void cpu_behaviour(s32 playerIndex)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:124</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_a7d4379ffdd4db1e7806e0bc1afefb732"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#a7d4379ffdd4db1e7806e0bc1afefb732">cpu_behaviour_start</a></div><div class="ttdeci">void cpu_behaviour_start(s32 playerId, Player *player)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:20</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_a8c0f6d25932c46807c96532f6c573973"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#a8c0f6d25932c46807c96532f6c573973">reset_cpu_behaviour</a></div><div class="ttdeci">void reset_cpu_behaviour(s32 playerIndex)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:14</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_ac842533b23b073d73ad370538493ac1c"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#ac842533b23b073d73ad370538493ac1c">copy_courses_cpu_behaviour</a></div><div class="ttdeci">void copy_courses_cpu_behaviour(void)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:1</div></div>
<div class="ttc" id="abehaviour__utils_8inc_8c_html_adddd70b91e3b42a9442d161cd0f4bfa9"><div class="ttname"><a href="behaviour__utils_8inc_8c.html#adddd70b91e3b42a9442d161cd0f4bfa9">func_80011EC0</a></div><div class="ttdeci">void func_80011EC0(s32 playerIndex, Player *player, s32 arg2, UNUSED u16 arg3)</div><div class="ttdef"><b>Definition</b> behaviour_utils.inc.c:139</div></div>
<div class="ttc" id="acode__800029B0_8c_html_a0b35aa576b8ad5250674993b72300f0d"><div class="ttname"><a href="code__800029B0_8c.html#a0b35aa576b8ad5250674993b72300f0d">gCurrentCourseId</a></div><div class="ttdeci">s16 gCurrentCourseId</div><div class="ttdef"><b>Definition</b> code_800029B0.c:30</div></div>
<div class="ttc" id="acourse_8h_html_a84b12559bab31d0177083793adf75d47"><div class="ttname"><a href="course_8h.html#a84b12559bab31d0177083793adf75d47">GET_COURSE_AIBehaviour</a></div><div class="ttdeci">#define GET_COURSE_AIBehaviour</div><div class="ttdef"><b>Definition</b> course.h:99</div></div>
<div class="ttc" id="acourse_8h_html_acf250ad4ca05ca435a61203c41d4ca88ab491e3c35f36dc6baccdb5ca3a2eff60"><div class="ttname"><a href="course_8h.html#acf250ad4ca05ca435a61203c41d4ca88ab491e3c35f36dc6baccdb5ca3a2eff60">NUM_COURSES</a></div><div class="ttdeci">@ NUM_COURSES</div><div class="ttdef"><b>Definition</b> course.h:52</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a0a6e5a88fce863407a257fc9b36b7b61"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a0a6e5a88fce863407a257fc9b36b7b61">gCurrentCPUBehaviourId</a></div><div class="ttdeci">u16 gCurrentCPUBehaviourId[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:96</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a32a4cc475021eafe1324a16a38dfdfc9"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a32a4cc475021eafe1324a16a38dfdfc9">gCurrentTrackSectionTypesPath</a></div><div class="ttdeci">s16 * gCurrentTrackSectionTypesPath</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:84</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a33edc5bb155ee66b2314104325acc24b"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a33edc5bb155ee66b2314104325acc24b">gCoursesCPUBehaviour</a></div><div class="ttdeci">CPUBehaviour * gCoursesCPUBehaviour[NUM_COURSES - 1]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:40</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a3c1658a14159bd59a303abc25c9a92b6"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a3c1658a14159bd59a303abc25c9a92b6">sCurrentCPUBehaviour</a></div><div class="ttdeci">CPUBehaviour * sCurrentCPUBehaviour</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:95</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a3c5ae9fdd1842f56215de4c2274fd56b"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a3c5ae9fdd1842f56215de4c2274fd56b">D_801631E0</a></div><div class="ttdeci">u16 D_801631E0[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:86</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a42a88184f2b8728efbea46d07aec1c86"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a42a88184f2b8728efbea46d07aec1c86">gPreviousCPUBehaviourId</a></div><div class="ttdeci">u16 gPreviousCPUBehaviourId[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:97</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a725fc244c17cc7765892601297bae124"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a725fc244c17cc7765892601297bae124">D_801633F8</a></div><div class="ttdeci">s16 D_801633F8[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:114</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a7c377bbf4bea776ff4a28243c5d9c3f5"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a7c377bbf4bea776ff4a28243c5d9c3f5">cpu_BehaviourState</a></div><div class="ttdeci">u16 cpu_BehaviourState[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:98</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a8c51ca1c76c0a4143f5745aecd815846"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a8c51ca1c76c0a4143f5745aecd815846">D_801630E8</a></div><div class="ttdeci">s16 D_801630E8[10]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:73</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_a9827e1032dc364b34fdfc8bcd1addecf"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#a9827e1032dc364b34fdfc8bcd1addecf">gTrackPositionFactor</a></div><div class="ttdeci">f32 gTrackPositionFactor[10]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:68</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_aac8b4e0ad644b9e076f3064194db473a"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#aac8b4e0ad644b9e076f3064194db473a">gPlayerTrackPositionFactorInstruction</a></div><div class="ttdeci">TrackPositionFactorInstruction gPlayerTrackPositionFactorInstruction[10]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:137</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_ab9a08adea1b239abb03302598011ba3c"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#ab9a08adea1b239abb03302598011ba3c">D_80162FF8</a></div><div class="ttdeci">s16 D_80162FF8[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:64</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_ac02249ac8d87ac92aee391984bc8d937"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#ac02249ac8d87ac92aee391984bc8d937">gSpeedCPUBehaviour</a></div><div class="ttdeci">u16 gSpeedCPUBehaviour[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:105</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_acfb8266e8b457b6fb4913ae20e6237d8"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#acfb8266e8b457b6fb4913ae20e6237d8">sSomeNearestPathPoint</a></div><div class="ttdeci">s16 sSomeNearestPathPoint</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:55</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8c_html_aecaedcf25130d660c6c5885cb92f3259"><div class="ttname"><a href="cpu__vehicles__camera__path_8c.html#aecaedcf25130d660c6c5885cb92f3259">gNearestPathPointByPlayerId</a></div><div class="ttdeci">u16 gNearestPathPointByPlayerId[12]</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.c:163</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_ab04a0655cd1e3bcac5e8f48c18df1a57a23f07102ce2af3d8f7cea33054f22373"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a23f07102ce2af3d8f7cea33054f22373">SPEED_CPU_BEHAVIOUR_FAST</a></div><div class="ttdeci">@ SPEED_CPU_BEHAVIOUR_FAST</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:345</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_ab04a0655cd1e3bcac5e8f48c18df1a57a878853c83e5fa17adb93e1ae1c37a61d"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a878853c83e5fa17adb93e1ae1c37a61d">SPEED_CPU_BEHAVIOUR_SLOW</a></div><div class="ttdeci">@ SPEED_CPU_BEHAVIOUR_SLOW</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:345</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_ab04a0655cd1e3bcac5e8f48c18df1a57a881a4e96cb0453cb4d8cf1d15c79bce6"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a881a4e96cb0453cb4d8cf1d15c79bce6">SPEED_CPU_BEHAVIOUR_MAX</a></div><div class="ttdeci">@ SPEED_CPU_BEHAVIOUR_MAX</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:345</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_ab04a0655cd1e3bcac5e8f48c18df1a57ad400aa70b82965338c9024b13d7df718"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ad400aa70b82965338c9024b13d7df718">SPEED_CPU_BEHAVIOUR_NORMAL</a></div><div class="ttdeci">@ SPEED_CPU_BEHAVIOUR_NORMAL</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:345</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_abed82baf7f470b522273a3e37c24c600ad0c5facc43bc602cebf4b1c6faa918e7"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600ad0c5facc43bc602cebf4b1c6faa918e7">CPU_BEHAVIOUR_STATE_RUNNING</a></div><div class="ttdeci">@ CPU_BEHAVIOUR_STATE_RUNNING</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:336</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_abed82baf7f470b522273a3e37c24c600af5976b9ca9c2a43d43414de90b17207a"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af5976b9ca9c2a43d43414de90b17207a">CPU_BEHAVIOUR_STATE_NONE</a></div><div class="ttdeci">@ CPU_BEHAVIOUR_STATE_NONE</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:336</div></div>
<div class="ttc" id="acpu__vehicles__camera__path_8h_html_abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9"><div class="ttname"><a href="cpu__vehicles__camera__path_8h.html#abed82baf7f470b522273a3e37c24c600af9587afde6f483ebedf1d49071e3c3c9">CPU_BEHAVIOUR_STATE_START</a></div><div class="ttdeci">@ CPU_BEHAVIOUR_STATE_START</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:336</div></div>
<div class="ttc" id="adefines_8h_html_a3e226e3ad50d318aa0e7dfa1be372961"><div class="ttname"><a href="defines_8h.html#a3e226e3ad50d318aa0e7dfa1be372961">DRIFTING_EFFECT</a></div><div class="ttdeci">#define DRIFTING_EFFECT</div><div class="ttdef"><b>Definition</b> defines.h:446</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa0025d8495a0cd1057b3732e3ab0feadc"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa0025d8495a0cd1057b3732e3ab0feadc">BEHAVIOUR_FAST_SPEED</a></div><div class="ttdeci">@ BEHAVIOUR_FAST_SPEED</div><div class="ttdef"><b>Definition</b> defines.h:310</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa112a7b0ef26213b5fc5716d1fff53aa1"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa112a7b0ef26213b5fc5716d1fff53aa1">BEHAVIOUR_NORMAL_SPEED</a></div><div class="ttdeci">@ BEHAVIOUR_NORMAL_SPEED</div><div class="ttdef"><b>Definition</b> defines.h:309</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa189d288ea1c3f9ec803ae4f8d973707d"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa189d288ea1c3f9ec803ae4f8d973707d">BEHAVIOUR_DRIVE_CENTER</a></div><div class="ttdeci">@ BEHAVIOUR_DRIVE_CENTER</div><div class="ttdef"><b>Definition</b> defines.h:306</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa3cc155f60d230d03926fb31444025398"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc155f60d230d03926fb31444025398">BEHAVIOUR_SLOW_SPEED</a></div><div class="ttdeci">@ BEHAVIOUR_SLOW_SPEED</div><div class="ttdef"><b>Definition</b> defines.h:311</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa3cc89471059d0316076cadb1bd30b67f"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa3cc89471059d0316076cadb1bd30b67f">BEHAVIOUR_MAX_SPEED</a></div><div class="ttdeci">@ BEHAVIOUR_MAX_SPEED</div><div class="ttdef"><b>Definition</b> defines.h:314</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa504d1e29a9b22b0d229e711901234374"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa504d1e29a9b22b0d229e711901234374">BEHAVIOUR_DRIVE_OUTER</a></div><div class="ttdeci">@ BEHAVIOUR_DRIVE_OUTER</div><div class="ttdef"><b>Definition</b> defines.h:308</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa7076771cdbc3bc9c52fe70c1a9ff6a7a"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa7076771cdbc3bc9c52fe70c1a9ff6a7a">BEHAVIOUR_HOP</a></div><div class="ttdeci">@ BEHAVIOUR_HOP</div><div class="ttdef"><b>Definition</b> defines.h:305</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caa731ead61eccb358ff204c9a9730202ef"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caa731ead61eccb358ff204c9a9730202ef">BEHAVIOUR_9</a></div><div class="ttdeci">@ BEHAVIOUR_9</div><div class="ttdef"><b>Definition</b> defines.h:312</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caab7f84ebc6390d012b167a79fbb750dc1"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caab7f84ebc6390d012b167a79fbb750dc1">BEHAVIOUR_DRIVE_LEFT</a></div><div class="ttdeci">@ BEHAVIOUR_DRIVE_LEFT</div><div class="ttdef"><b>Definition</b> defines.h:307</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caaeb5f7b5b58ae8f68fa759763ae08f931"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeb5f7b5b58ae8f68fa759763ae08f931">BEHAVIOUR_1</a></div><div class="ttdeci">@ BEHAVIOUR_1</div><div class="ttdef"><b>Definition</b> defines.h:304</div></div>
<div class="ttc" id="adefines_8h_html_aaed8d6b54476ff414af55dd4f0b397caaeea56db11e4b7755a26abe628fcf4f2e"><div class="ttname"><a href="defines_8h.html#aaed8d6b54476ff414af55dd4f0b397caaeea56db11e4b7755a26abe628fcf4f2e">BEHAVIOUR_10</a></div><div class="ttdeci">@ BEHAVIOUR_10</div><div class="ttdef"><b>Definition</b> defines.h:313</div></div>
<div class="ttc" id="amacros_8h_html_addf5ec070e9499d36b7f2009ce736076"><div class="ttname"><a href="macros_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a></div><div class="ttdeci">#define UNUSED</div><div class="ttdef"><b>Definition</b> macros.h:23</div></div>
<div class="ttc" id="amain_8c_html_a0204a9efe5c4b5e5ce5153086a5ccb49"><div class="ttname"><a href="main_8c.html#a0204a9efe5c4b5e5ce5153086a5ccb49">gPlayerOne</a></div><div class="ttdeci">Player * gPlayerOne</div><div class="ttdef"><b>Definition</b> main.c:69</div></div>
<div class="ttc" id="amain_8c_html_a5f24aafa500466dbf1a7154ff7041fc2"><div class="ttname"><a href="main_8c.html#a5f24aafa500466dbf1a7154ff7041fc2">gPlayers</a></div><div class="ttdeci">Player gPlayers[NUM_PLAYERS]</div><div class="ttdef"><b>Definition</b> main.c:68</div></div>
<div class="ttc" id="apath_8h_html_a2970898e8a43ce21e1cc510d49f1b89da8eed2bfb653b7f5f95657b28ab366f8c"><div class="ttname"><a href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89da8eed2bfb653b7f5f95657b28ab366f8c">RIGHT_LEANING_CURVE</a></div><div class="ttdeci">@ RIGHT_LEANING_CURVE</div><div class="ttdef"><b>Definition</b> path.h:14</div></div>
<div class="ttc" id="apath_8h_html_a2970898e8a43ce21e1cc510d49f1b89daa35d9f5783edccc7753e19721692bbd5"><div class="ttname"><a href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89daa35d9f5783edccc7753e19721692bbd5">RIGHT_CURVE</a></div><div class="ttdeci">@ RIGHT_CURVE</div><div class="ttdef"><b>Definition</b> path.h:16</div></div>
<div class="ttc" id="apath_8h_html_a2970898e8a43ce21e1cc510d49f1b89dab5c5d7a2a9e6ac3dbd71a1fe516573c0"><div class="ttname"><a href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89dab5c5d7a2a9e6ac3dbd71a1fe516573c0">LEFT_LEANING_CURVE</a></div><div class="ttdeci">@ LEFT_LEANING_CURVE</div><div class="ttdef"><b>Definition</b> path.h:15</div></div>
<div class="ttc" id="apath_8h_html_a2970898e8a43ce21e1cc510d49f1b89dafa0e3907521055cd83cf20036d2d1d0c"><div class="ttname"><a href="path_8h.html#a2970898e8a43ce21e1cc510d49f1b89dafa0e3907521055cd83cf20036d2d1d0c">LEFT_CURVE</a></div><div class="ttdeci">@ LEFT_CURVE</div><div class="ttdef"><b>Definition</b> path.h:17</div></div>
<div class="ttc" id="aplayer__controller_8c_html_a18310e219722897138fbd737acb37331"><div class="ttname"><a href="player__controller_8c.html#a18310e219722897138fbd737acb37331">kart_hop</a></div><div class="ttdeci">void kart_hop(Player *player)</div><div class="ttdef"><b>Definition</b> player_controller.c:1192</div></div>
<div class="ttc" id="astructCPUBehaviour_html_a2b6e60afea1b51e6ba89ee0c5f630e1a"><div class="ttname"><a href="structCPUBehaviour.html#a2b6e60afea1b51e6ba89ee0c5f630e1a">CPUBehaviour::type</a></div><div class="ttdeci">s32 type</div><div class="ttdef"><b>Definition</b> common_structs.h:32</div></div>
<div class="ttc" id="astructCPUBehaviour_html_ab3ab2b38bf26b94b5afc767e49001377"><div class="ttname"><a href="structCPUBehaviour.html#ab3ab2b38bf26b94b5afc767e49001377">CPUBehaviour::pathPointStart</a></div><div class="ttdeci">s16 pathPointStart</div><div class="ttdef"><b>Definition</b> common_structs.h:30</div></div>
<div class="ttc" id="astructCPUBehaviour_html_aee8504f6e1fd7bdfd6fcee09a60d5a8a"><div class="ttname"><a href="structCPUBehaviour.html#aee8504f6e1fd7bdfd6fcee09a60d5a8a">CPUBehaviour::pathPointEnd</a></div><div class="ttdeci">s16 pathPointEnd</div><div class="ttdef"><b>Definition</b> common_structs.h:31</div></div>
<div class="ttc" id="astructPlayer_html"><div class="ttname"><a href="structPlayer.html">Player</a></div><div class="ttdef"><b>Definition</b> common_structs.h:249</div></div>
<div class="ttc" id="astructPlayer_html_a158ceae0180ebdfcae67d78ff7725d7c"><div class="ttname"><a href="structPlayer.html#a158ceae0180ebdfcae67d78ff7725d7c">Player::steerPosition</a></div><div class="ttdeci">s32 steerPosition</div><div class="ttdef"><b>Definition</b> common_structs.h:278</div></div>
<div class="ttc" id="astructPlayer_html_a1eb7b22cb98924aa32fa909b969dee34"><div class="ttname"><a href="structPlayer.html#a1eb7b22cb98924aa32fa909b969dee34">Player::speed</a></div><div class="ttdeci">f32 speed</div><div class="ttdef"><b>Definition</b> common_structs.h:284</div></div>
<div class="ttc" id="astructPlayer_html_a43ea00ff8972384bcc7da1733b73e0ab"><div class="ttname"><a href="structPlayer.html#a43ea00ff8972384bcc7da1733b73e0ab">Player::effects</a></div><div class="ttdeci">u32 effects</div><div class="ttdef"><b>Definition</b> common_structs.h:298</div></div>
<div class="ttc" id="astructTrackPositionFactorInstruction_html_a46784a36fc904e298d2b043a334ae27a"><div class="ttname"><a href="structTrackPositionFactorInstruction.html#a46784a36fc904e298d2b043a334ae27a">TrackPositionFactorInstruction::target</a></div><div class="ttdeci">f32 target</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:23</div></div>
<div class="ttc" id="astructTrackPositionFactorInstruction_html_a5f25add966a6ce37f6d287f2a4d483f2"><div class="ttname"><a href="structTrackPositionFactorInstruction.html#a5f25add966a6ce37f6d287f2a4d483f2">TrackPositionFactorInstruction::unkC</a></div><div class="ttdeci">f32 unkC</div><div class="ttdef"><b>Definition</b> cpu_vehicles_camera_path.h:25</div></div>
<div class="ttc" id="astructtest_html"><div class="ttname"><a href="structtest.html">test</a></div><div class="ttdef"><b>Definition</b> actors.c:1474</div></div>
<div class="ttc" id="aultratypes_8h_html_a0ce6887c26c1c49ad3be5710dd42bfd6"><div class="ttname"><a href="ultratypes_8h.html#a0ce6887c26c1c49ad3be5710dd42bfd6">s32</a></div><div class="ttdeci">signed int s32</div><div class="ttdef"><b>Definition</b> ultratypes.h:15</div></div>
<div class="ttc" id="aultratypes_8h_html_a10e94b422ef0c20dcdec20d31a1f5049"><div class="ttname"><a href="ultratypes_8h.html#a10e94b422ef0c20dcdec20d31a1f5049">u32</a></div><div class="ttdeci">unsigned int u32</div><div class="ttdef"><b>Definition</b> ultratypes.h:16</div></div>
<div class="ttc" id="aultratypes_8h_html_a4cb19f4a3324cfe0938ddfbfabaa825b"><div class="ttname"><a href="ultratypes_8h.html#a4cb19f4a3324cfe0938ddfbfabaa825b">s16</a></div><div class="ttdeci">signed short int s16</div><div class="ttdef"><b>Definition</b> ultratypes.h:13</div></div>
<div class="ttc" id="aultratypes_8h_html_aa0b167025ed1eead1300bc4dbdfb230e"><div class="ttname"><a href="ultratypes_8h.html#aa0b167025ed1eead1300bc4dbdfb230e">u16</a></div><div class="ttdeci">unsigned short int u16</div><div class="ttdef"><b>Definition</b> ultratypes.h:14</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_72c854563151c03d70502837e3d52982.html">cpu_vehicles_camera_path</a></li><li class="navelem"><a class="el" href="behaviour__utils_8inc_8c.html">behaviour_utils.inc.c</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
</ul>
</div>
</body>
</html>