diff options
Diffstat (limited to 'Doc/doxygen/html/_net_game_8cpp_source.html')
-rw-r--r-- | Doc/doxygen/html/_net_game_8cpp_source.html | 447 |
1 files changed, 447 insertions, 0 deletions
diff --git a/Doc/doxygen/html/_net_game_8cpp_source.html b/Doc/doxygen/html/_net_game_8cpp_source.html new file mode 100644 index 0000000..a11804b --- /dev/null +++ b/Doc/doxygen/html/_net_game_8cpp_source.html @@ -0,0 +1,447 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<title>Starshatter_Open: D:/SRC/StarshatterSVN/Stars45/NetGame.cpp 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> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { searchBox.OnSelectItem(0); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</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 style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">Starshatter_Open + </div> + <div id="projectbrief">Open source Starshatter engine</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.1 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('_net_game_8cpp.html','');}); +</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)"> +<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Macros</a></div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">NetGame.cpp</div> </div> +</div><!--header--> +<div class="contents"> +<a href="_net_game_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* Project Starshatter 4.5</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> Destroyer Studios LLC</span></div> +<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> Copyright © 1997-2004. All Rights Reserved.</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"></span></div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> SUBSYSTEM: Stars.exe</span></div> +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> FILE: NetGame.cpp</span></div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> AUTHOR: John DiCamillo</span></div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"></span></div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> OVERVIEW</span></div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> ========</span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> Network Game Manager class</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">*/</span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="_mem_debug_8h.html">MemDebug.h</a>"</span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="_net_game_8h.html">NetGame.h</a>"</span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="_net_game_client_8h.html">NetGameClient.h</a>"</span></div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="_net_game_server_8h.html">NetGameServer.h</a>"</span></div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="_net_client_config_8h.html">NetClientConfig.h</a>"</span></div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="_net_server_config_8h.html">NetServerConfig.h</a>"</span></div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="_net_player_8h.html">NetPlayer.h</a>"</span></div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="_net_msg_8h.html">NetMsg.h</a>"</span></div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="_net_data_8h.html">NetData.h</a>"</span></div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="_net_layer_8h.html">NetLayer.h</a>"</span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="_player_8h.html">Player.h</a>"</span></div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="_ship_8h.html">Ship.h</a>"</span></div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="_ship_design_8h.html">ShipDesign.h</a>"</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="_sim_8h.html">Sim.h</a>"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="_element_8h.html">Element.h</a>"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="_h_u_d_view_8h.html">HUDView.h</a>"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="_net_host_8h.html">NetHost.h</a>"</span></div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="_game_8h.html">Game.h</a>"</span></div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="_light_8h.html">Light.h</a>"</span></div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="_net_game_8cpp.html#a7d2fbc737b32c8b6a120fafe89d02c26"> 40</a></span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="_net_game_8cpp.html#a7d2fbc737b32c8b6a120fafe89d02c26">MAX_NET_FPS</a> = 20;</div> +<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="_net_game_8cpp.html#a1c0f08f915d828b1b53bdeb087472dba"> 41</a></span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="_net_game_8cpp.html#a1c0f08f915d828b1b53bdeb087472dba">MIN_NET_FRAME</a> = 1000 / <a class="code" href="_net_game_8cpp.html#a7d2fbc737b32c8b6a120fafe89d02c26">MAX_NET_FPS</a>;</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div> +<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="_net_game_8cpp.html#a78a146870f548f5dc62ac27586d73199"> 43</a></span> <span class="keyword">const</span> DWORD <a class="code" href="_net_game_8cpp.html#a78a146870f548f5dc62ac27586d73199">SHIP_ID_START</a> = 0x0010;</div> +<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5"> 44</a></span> <span class="keyword">const</span> DWORD <a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5">SHOT_ID_START</a> = 0x0400;</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <a class="code" href="class_net_game.html">NetGame</a>* netgame = 0;</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> DWORD ship_id_key = <a class="code" href="_net_game_8cpp.html#a78a146870f548f5dc62ac27586d73199">SHIP_ID_START</a>;</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> DWORD shot_id_key = <a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5">SHOT_ID_START</a>;</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">long</span> start_time = 0;</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="class_net_game.html#acfdc0631fe49ce07b733455c8ff75ffe"> 55</a></span> <a class="code" href="class_net_game.html#acfdc0631fe49ce07b733455c8ff75ffe">NetGame::NetGame</a>()</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> : objid(0), netid(0), link(0), local_player(0), last_send_time(0), active(true)</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  netgame = <span class="keyword">this</span>;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a> = <a class="code" href="class_sim.html#a14b48a472bca6d04230c789fc4beab4c">Sim::GetSim</a>();</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  ship_id_key = <a class="code" href="_net_game_8cpp.html#a78a146870f548f5dc62ac27586d73199">SHIP_ID_START</a>;</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  shot_id_key = <a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5">SHOT_ID_START</a>;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>)</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="class_net_game.html#af8247efcf6192ca0774f151cfe3a6e98">local_player</a> = <a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>-><a class="code" href="class_sim.html#a77c21538f4c452ea5ae3d2f8af689893">GetPlayerShip</a>();</div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="class_player.html">Player</a>* player = <a class="code" href="class_player.html#aa4c0f94d8f2d2f78ce0fffca33f8ed4d">Player::GetCurrentPlayer</a>();</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">if</span> (player) {</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="class_net_game.html#ab56fdf075552f315cd06fd53a0ee6727">player_name</a> = player-><a class="code" href="class_player.html#a3f92a5e94e3a9b057dd7ea46fa57692d">Name</a>();</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="class_net_game.html#a6fffe5033d0a52d7a2d40560cc44346a">player_pass</a> = player-><a class="code" href="class_player.html#a9f8b504259947df12443282b988c3ede">Password</a>();</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  start_time = <a class="code" href="class_net_layer.html#a4d18e3ca2eb352fedaf84a638c0a34c0">NetLayer::GetUTC</a>();</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> +<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="class_net_game.html#a3115fa6325fe2edd96d638fb1c4b3860"> 76</a></span> <a class="code" href="class_net_game.html#a3115fa6325fe2edd96d638fb1c4b3860">NetGame::~NetGame</a>()</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  netgame = 0;</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="class_net_game.html#af8247efcf6192ca0774f151cfe3a6e98">local_player</a> = 0;</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>.<a class="code" href="class_list.html#a2c39145db843e6fc3fe5e835cd52b68d">destroy</a>();</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>) {</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">double</span> delta = fabs((<span class="keywordtype">double</span>)(<a class="code" href="class_net_layer.html#a4d18e3ca2eb352fedaf84a638c0a34c0">NetLayer::GetUTC</a>() - start_time));</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordtype">double</span> bandwidth = 10.0 * (<a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a374d5594ab81a30949688bfab04ba738">GetBytesSent</a>() + <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a299e0038b304d6ea384f637f25ca29b5">GetBytesRecv</a>()) / delta;</div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">double</span> recvrate = <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#ad500bc04443ea59917ada68aaee22fe0">GetPacketsRecv</a>() / delta;</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">"NetGame Stats\n-------------\n"</span>);</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" packets sent %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#ae4d7d6e1459333fb6e7ed5d868333fb4">GetPacketsSent</a>());</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" packets recv %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#ad500bc04443ea59917ada68aaee22fe0">GetPacketsRecv</a>());</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" bytes sent %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a374d5594ab81a30949688bfab04ba738">GetBytesSent</a>());</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" bytes recv %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a299e0038b304d6ea384f637f25ca29b5">GetBytesRecv</a>());</div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" retries %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#ac45a06e3c063928220466a2d7fc85b21">GetRetries</a>());</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" drops %d\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a4351115f3ebe556b9b65c6b184ee5f5e">GetDrops</a>());</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" avg lag %d msec\n"</span>, <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#aab0d4134ef7701c734784150c5f4ab2b">GetLag</a>());</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" time %d sec\n"</span>, (<span class="keywordtype">int</span>) delta);</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" bandwidth %d bps\n"</span>, (<span class="keywordtype">int</span>) bandwidth);</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="_list_8inl.html#a76779b0ba1af4da2cfb8cf309b39372b">Print</a>(<span class="stringliteral">" packet rate %d pps in\n\n"</span>, (<span class="keywordtype">int</span>) recvrate);</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">delete</span> <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>;</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <a class="code" href="class_net_game.html">NetGame</a>*</div> +<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="class_net_game.html#ab7c11a5b2969088fe0e2919a87410344"> 106</a></span> <a class="code" href="class_net_game.html#ab7c11a5b2969088fe0e2919a87410344">NetGame::Create</a>()</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (!netgame) {</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_server_config.html#a6f52824e507f3360958ba5f56661a548">NetServerConfig::GetInstance</a>())</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  netgame = <span class="keyword">new</span>(__FILE__,__LINE__) <a class="code" href="class_net_game_server.html">NetGameServer</a>;</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="class_net_client_config.html#a4d0ea1f095cff30ec51a26d13dedf21f">NetClientConfig::GetInstance</a>() && <a class="code" href="class_net_game.html#a019dbd91861b01d0ca35cef0e1f4066e">NetClientConfig::GetInstance</a>()->GetSelectedServer())</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  netgame = <span class="keyword">new</span>(__FILE__,__LINE__) <a class="code" href="class_net_game_client.html">NetGameClient</a>;</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> netgame;</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <a class="code" href="class_net_game.html">NetGame</a>*</div> +<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="class_net_game.html#a019dbd91861b01d0ca35cef0e1f4066e"> 120</a></span> <a class="code" href="class_net_game.html#a019dbd91861b01d0ca35cef0e1f4066e">NetGame::GetInstance</a>()</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> netgame;</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> DWORD</div> +<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="class_net_game.html#a57d88712c75f8979cbd3ecc8f8fc3e80"> 126</a></span> <a class="code" href="class_net_game.html#a57d88712c75f8979cbd3ecc8f8fc3e80">NetGame::GetObjID</a>()<span class="keyword"> const</span></div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword"></span>{</div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#af8247efcf6192ca0774f151cfe3a6e98">local_player</a>)</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <a class="code" href="class_net_game.html#af8247efcf6192ca0774f151cfe3a6e98">local_player</a>-><a class="code" href="class_sim_object.html#adb8e82281f413545f6330530488fac03">GetObjID</a>();</div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> DWORD</div> +<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="class_net_game.html#a7d351b0c53c95d4899728befff3fc85f"> 135</a></span> <a class="code" href="class_net_game.html#a7d351b0c53c95d4899728befff3fc85f">NetGame::GetNextObjID</a>(<span class="keywordtype">int</span> type)</div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span> (type == <a class="code" href="class_net_game.html#acd66d53db98b82cc7ed6f0176f55554fa7f27621c48410be2e9d78a3aa3908997">SHIP</a>) {</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span> (ship_id_key >= <a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5">SHOT_ID_START</a>)</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  ship_id_key = <a class="code" href="_net_game_8cpp.html#a78a146870f548f5dc62ac27586d73199">SHIP_ID_START</a>;</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> ship_id_key++;</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="class_net_game.html#acd66d53db98b82cc7ed6f0176f55554fa6a71ad2223dc39e7a87f9d824bf485ce">SHOT</a>) {</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">if</span> (shot_id_key >= 0xFFFE)</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  shot_id_key = <a class="code" href="_net_game_8cpp.html#a36a586f282394da15b638144d39662e5">SHOT_ID_START</a>;</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> shot_id_key++;</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="class_net_game.html#a6b063c69e1e0fabf4f6e6a4857cb9e3a"> 157</a></span> <a class="code" href="class_net_game.html#a6b063c69e1e0fabf4f6e6a4857cb9e3a">NetGame::ExecFrame</a>()</div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> {</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="class_net_game.html#abbdf29e8fd456502c198726d1ca95591">Send</a>();</div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="class_net_game.html#a187ced3862da66ea8b80e6777ded8983">Recv</a>();</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="class_net_game.html#a187ced3862da66ea8b80e6777ded8983"> 164</a></span> <a class="code" href="class_net_game.html#a187ced3862da66ea8b80e6777ded8983">NetGame::Recv</a>()</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="class_net_msg.html">NetMsg</a>* msg = <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a4918a359dabca3862612557ea70aeacf">GetMessage</a>();</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">while</span> (msg) {</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#ad87f38d5a1e0664fd8c9bbdbba023149">active</a>) {</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// For Debug Convenience:</span></div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// NetPlayer* player = FindPlayerByNetID(msg->NetID());</span></div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">switch</span> (msg-><a class="code" href="class_net_msg.html#a672f9875b0c7adf3eb1adf579cd40269">Type</a>()) {</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#ae4a3c91b5759e77a579a0e4ca13fa64a">NET_JOIN_REQUEST</a>: <a class="code" href="class_net_game.html#a9d7757f9b636fe3e7ad5e6eef3bbb793">DoJoinRequest</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a8ab10f8725bc9a6042570161719e806f">NET_JOIN_ANNOUNCE</a>: <a class="code" href="class_net_game.html#a67a3514a0980581a54bbba313bd4dd90">DoJoinAnnounce</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a40e02f28932b865e63013dc62f0f91ec">NET_QUIT_REQUEST</a>: <a class="code" href="class_net_game.html#a800b9d77ed061df188a13fa081877937">DoQuitRequest</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a4c5bf11cce536471836c3fb57b3b7a56">NET_QUIT_ANNOUNCE</a>: <a class="code" href="class_net_game.html#a77663ca346bbcf4e15abe4a6d3d0e7e2">DoQuitAnnounce</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#afe425526b3f2ecb43ac12cfa90dadc77">NET_GAME_OVER</a>: <a class="code" href="class_net_game.html#ab67fffcf12322c4b52c8daaade9bda89">DoGameOver</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#adf20ed2ca97ba2149e2594ba87b7ba4d">NET_DISCONNECT</a>: <a class="code" href="class_net_game.html#a667f88972fe1b137a5ef9be7585d67e2">DoDisconnect</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a39a872cc4290e40e72b1837f8b2c1f3d">NET_OBJ_LOC</a>: <a class="code" href="class_net_game.html#a9f9bfbabdf59debeea22e90a588c7518">DoObjLoc</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#ad66a3c31f898f7b908ff51283071552a">NET_OBJ_DAMAGE</a>: <a class="code" href="class_net_game.html#ab043084d315d15cca9ee54902f82cd4a">DoObjDamage</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a59450c950870bcea5617ad44651ed5d4">NET_OBJ_KILL</a>: <a class="code" href="class_net_game.html#a78b3878e0d2a74b214018acae4b5b9aa">DoObjKill</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a6d3f9cb822abc618eb85d7c200baef7d">NET_OBJ_SPAWN</a>: <a class="code" href="class_net_game.html#a3996a0ceed1c40c42012d70c6ee5c259">DoObjSpawn</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a47a62a39897fe073e2d5811501dfa628">NET_OBJ_HYPER</a>: <a class="code" href="class_net_game.html#a8d76c2c2128348b826dddcf61d69b5e6">DoObjHyper</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a4a27824ef319bcc68e237a68af5fbe03">NET_OBJ_TARGET</a>: <a class="code" href="class_net_game.html#a4c6d6743f5e9260df69e3969d08dc682">DoObjTarget</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#aee2a3f9ae20d803b0ccd5c14a46c184b">NET_OBJ_EMCON</a>: <a class="code" href="class_net_game.html#aa6b7e390b1d9461fa8eca874758bff31">DoObjEmcon</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#af9d1d46ee4c07b048defdc679a7df166">NET_SYS_DAMAGE</a>: <a class="code" href="class_net_game.html#a14d046d46f774ce73569f749cf20dbc8">DoSysDamage</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a1336dabb66ee08739e49dbd68202a8b6">NET_SYS_STATUS</a>: <a class="code" href="class_net_game.html#a6da5c3df7cdd264911502552f27f18e9">DoSysStatus</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a52a1cd4902bda7ae3c3e42c258f8d423">NET_ELEM_CREATE</a>: <a class="code" href="class_net_game.html#abd4d3d908f8d03fee1e5da628dd9a3b1">DoElemCreate</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#adec9f4bfeea61a2acf10e97df923a35c">NET_ELEM_REQUEST</a>: <a class="code" href="class_net_game.html#aea6fb2e09eb58d00f894b758afd9294a">DoElemRequest</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#afa0dedb968705a36dd6854daf45b20ef">NET_SHIP_LAUNCH</a>: <a class="code" href="class_net_game.html#aa7749e8e655d07d0d4c3eebd64932ac1">DoShipLaunch</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a2308a479df69846578f266314e4bac88">NET_NAV_DATA</a>: <a class="code" href="class_net_game.html#a570989abc48c40abadd19637cc740f16">DoNavData</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a6144313ca5a8a23a88ea65085f615281">NET_NAV_DELETE</a>: <a class="code" href="class_net_game.html#a8f887ffb79513579a930c69b94d20434">DoNavDelete</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a1153479d5f2ac3c63f7864b520c20cf7">NET_WEP_TRIGGER</a>: <a class="code" href="class_net_game.html#ad4499e5f3fc4f4194b91de65a54115bf">DoWepTrigger</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a27335642b1d7cdc8b1355898be71046a">NET_WEP_RELEASE</a>: <a class="code" href="class_net_game.html#a545f7f7744fbba6559b005ea5bc942a7">DoWepRelease</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#aced569b57292238e3a753da5be75972c">NET_WEP_DESTROY</a>: <a class="code" href="class_net_game.html#afc4643fea7d88b4953ab3912a44b48b6">DoWepDestroy</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#a49168caf16162eb508b7ca88121567f8">NET_COMM_MESSAGE</a>: <a class="code" href="class_net_game.html#ad3097131b795a07d2ccde9e85ac2eff4">DoCommMsg</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#adfa334a1c13e328fff9a8ece34663dbb">NET_CHAT_MESSAGE</a>: <a class="code" href="class_net_game.html#a18d72e8ecce83425b9077c1e52ffc4d0">DoChatMsg</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> <a class="code" href="_net_data_8h.html#acd76e795075052ac38e2ae00d24ff094">NET_SELF_DESTRUCT</a>: <a class="code" href="class_net_game.html#ac6832e2f832c271d63d608e7f6d96b99">DoSelfDestruct</a>(msg); <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  }</div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keyword">delete</span> msg;</div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  msg = <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a4918a359dabca3862612557ea70aeacf">GetMessage</a>();</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="class_net_game.html#abbdf29e8fd456502c198726d1ca95591"> 215</a></span> <a class="code" href="class_net_game.html#abbdf29e8fd456502c198726d1ca95591">NetGame::Send</a>()</div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> {</div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span></div> +<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="class_net_game.html#aeece1ae418e6437f9c28640ceaf1d606"> 220</a></span> <a class="code" href="class_net_game.html#aeece1ae418e6437f9c28640ceaf1d606">NetGame::NumPlayers</a>()</div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (netgame) {</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordtype">int</span> num_players = netgame-><a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>();</div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">if</span> (netgame-><a class="code" href="class_net_game.html#af8247efcf6192ca0774f151cfe3a6e98">local_player</a>)</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  num_players++;</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> num_players;</div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <a class="code" href="class_net_player.html">NetPlayer</a>*</div> +<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="class_net_game.html#a16fe658bc69ac58a6b30fb03d3bb4734"> 235</a></span> <a class="code" href="class_net_game.html#a16fe658bc69ac58a6b30fb03d3bb4734">NetGame::FindPlayerByName</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)</div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); i++) {</div> +<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="class_net_player.html">NetPlayer</a>* p = <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>[i];</div> +<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (!strcmp(p-><a class="code" href="class_net_player.html#a094025f4b34577807a4494797ef35932">Name</a>(), name))</div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> p;</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <a class="code" href="class_net_player.html">NetPlayer</a>*</div> +<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="class_net_game.html#a705d9accd06a59a46d996ba5d2e08f74"> 248</a></span> <a class="code" href="class_net_game.html#a705d9accd06a59a46d996ba5d2e08f74">NetGame::FindPlayerByNetID</a>(DWORD netid)</div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); i++) {</div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="class_net_player.html">NetPlayer</a>* p = <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>[i];</div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">if</span> (p-><a class="code" href="class_net_player.html#a76a930a9e64955885f55d69f655c751c">GetNetID</a>() == <a class="code" href="class_net_game.html#a2405fcd10a4e1216986015a27cf09e60">netid</a>)</div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> p;</div> +<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div> +<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="class_net_player.html">NetPlayer</a>*</div> +<div class="line"><a name="l00261"></a><span class="lineno"><a class="code" href="class_net_game.html#a02f1618e65e3904011a4ac09225f6d7c"> 261</a></span> <a class="code" href="class_net_game.html#a02f1618e65e3904011a4ac09225f6d7c">NetGame::FindPlayerByObjID</a>(DWORD objid)</div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); i++) {</div> +<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="class_net_player.html">NetPlayer</a>* p = <a class="code" href="class_net_game.html#a00f8bad7ebe8d46c06f9f69b3fa43baa">players</a>[i];</div> +<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span> (p-><a class="code" href="class_net_player.html#ace57c9775482657142c3c496a78479c2">GetObjID</a>() == <a class="code" href="class_net_game.html#a3e093be2529342af7580b7340b2fdd8c">objid</a>)</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">return</span> p;</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  }</div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div> +<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="class_ship.html">Ship</a>*</div> +<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="class_net_game.html#a38c34e04f4d3db5baaa8b5e5f8363d16"> 274</a></span> <a class="code" href="class_net_game.html#a38c34e04f4d3db5baaa8b5e5f8363d16">NetGame::FindShipByObjID</a>(DWORD objid)</div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>)</div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> <a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>-><a class="code" href="class_sim.html#a0081d1286f843dab6066112b0d12633c">FindShipByObjID</a>(objid);</div> +<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div> +<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <a class="code" href="class_shot.html">Shot</a>*</div> +<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="class_net_game.html#ae713005c73017da3ff312c46d6041596"> 283</a></span> <a class="code" href="class_net_game.html#ae713005c73017da3ff312c46d6041596">NetGame::FindShotByObjID</a>(DWORD objid)</div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">if</span> (<a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>)</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> <a class="code" href="class_net_game.html#ad076068157c4a021e002236e7c4a9e34">sim</a>-><a class="code" href="class_sim.html#a1054a038ce068b384e3ae99d0bbf4d36">FindShotByObjID</a>(objid);</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="class_net_peer.html">NetPeer</a>*</div> +<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="class_net_game.html#a84773e355ed380dc7effba79ca6879cc"> 292</a></span> <a class="code" href="class_net_game.html#a84773e355ed380dc7effba79ca6879cc">NetGame::GetPeer</a>(<a class="code" href="class_net_player.html">NetPlayer</a>* player)</div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> {</div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span> (player && <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>) {</div> +<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> <a class="code" href="class_net_game.html#acaac19c34a06e30a9af470b6b6de9515">link</a>-><a class="code" href="class_net_link.html#a9400d3840da43a59782b27dc0dd58a18">FindPeer</a>(player-><a class="code" href="class_net_player.html#a76a930a9e64955885f55d69f655c751c">GetNetID</a>());</div> +<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div> +<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div> +<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div> +<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00304"></a><span class="lineno"><a class="code" href="class_net_game.html#abf318344d20f745ad5f38696a9d298a2"> 304</a></span> <a class="code" href="class_net_game.html#abf318344d20f745ad5f38696a9d298a2">NetGame::Respawn</a>(DWORD objid, <a class="code" href="class_ship.html">Ship</a>* spawn)</div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div> +<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">bool</span></div> +<div class="line"><a name="l00311"></a><span class="lineno"><a class="code" href="class_net_game.html#a0560a25c61d20efd80fd100dfff84c3d"> 311</a></span> <a class="code" href="class_net_game.html#a0560a25c61d20efd80fd100dfff84c3d">NetGame::IsNetGame</a>()</div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> {</div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> netgame != 0;</div> +<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div> +<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div> +<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">bool</span></div> +<div class="line"><a name="l00317"></a><span class="lineno"><a class="code" href="class_net_game.html#a6dcf404427c9aa0677ec4c89f1a3a45f"> 317</a></span> <a class="code" href="class_net_game.html#a6dcf404427c9aa0677ec4c89f1a3a45f">NetGame::IsNetGameClient</a>()</div> +<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div> +<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">if</span> (netgame)</div> +<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> netgame-><a class="code" href="class_net_game.html#a6652b891ef344542ae83f2216ee06df2">IsClient</a>();</div> +<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> +<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">bool</span></div> +<div class="line"><a name="l00325"></a><span class="lineno"><a class="code" href="class_net_game.html#a2ac6b5464eaa714356192a7c27d5c30c"> 325</a></span> <a class="code" href="class_net_game.html#a2ac6b5464eaa714356192a7c27d5c30c">NetGame::IsNetGameServer</a>()</div> +<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> {</div> +<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">if</span> (netgame)</div> +<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> netgame-><a class="code" href="class_net_game.html#a7443c31527828b7952444a8b3769c0fe">IsServer</a>();</div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> +<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</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_ea1b58c809a5070716d7c602998a95b0.html">Stars45</a></li><li class="navelem"><a class="el" href="_net_game_8cpp.html">NetGame.cpp</a></li> + <li class="footer">Generated on Thu May 31 2012 16:31:13 for Starshatter_Open by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li> + </ul> +</div> +</body> +</html> |