79 lines
5.7 KiB
HTML
79 lines
5.7 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
|
|
<TITLE>Preprocessor directives</TITLE>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
|
|
<link href="RaknetManual.css" rel="stylesheet" type="text/css">
|
|
<meta name="title" content="RakNet - Advanced multiplayer game networking API">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff" LINK="#003399" vlink="#003399" alink="#003399" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0"">
|
|
<span style="background-color: rgb(255, 255, 255);"><img src="RakNet_Icon_Final-copy.jpg" alt="Oculus VR, Inc." width="150" height="150"></span><BR>
|
|
<BR>
|
|
|
|
<table width="100%" border="0"><tr><td bgcolor="#2c5d92" class="RakNetWhiteHeader">
|
|
<img src="spacer.gif" width="8" height="1">Preprocessor directives</td>
|
|
</tr></table>
|
|
<TABLE BORDER="0" CELLPADDING="10" CELLSPACING="0" WIDTH="100%"><TR>
|
|
<TD>
|
|
<p>Define any of these values in RakNetDefinesOverrides.h to override. These are the defaults as set in RakNetDefines.h. Also see NativeFeatureIncludes.h to not compile in features you do not use.</p>
|
|
<p class="RakNetCode">/// Define __GET_TIME_64BIT to have RakNet::TimeMS use a 64, rather than 32 bit value. A 32 bit value will overflow after about 5 weeks.<br>
|
|
/// However, this doubles the bandwidth use for sending times, so don't do it unless you have a reason to.<br>
|
|
/// Comment out if you are using the iPod Touch TG. See http://www.jenkinssoftware.com/forum/index.php?topic=2717.0<br>
|
|
/// This must be the same on all systems, or they won't connect<br>
|
|
#define __GET_TIME_64BIT 1</p>
|
|
<p class="RakNetCode">// Define _FILE_AND_LINE_ to "",0 if you want to strip out file and line info for memory tracking from the EXE<br>
|
|
#define _FILE_AND_LINE_ __FILE__,__LINE__</p>
|
|
<p class="RakNetCode">/// Define __BITSTREAM_NATIVE_END to NOT support endian swapping in the BitStream class. This is faster and is what you should use<br>
|
|
/// unless you actually plan to have different endianness systems connect to each other<br>
|
|
/// Enabled by default.<br>
|
|
// #define __BITSTREAM_NATIVE_END</p>
|
|
<p class="RakNetCode">/// Maximum (stack) size to use with _alloca before using new and delete instead.<br>
|
|
#define MAX_ALLOCA_STACK_ALLOCATION 1048576</p>
|
|
<p class="RakNetCode">// Use WaitForSingleObject instead of sleep.<br>
|
|
// Defining it plays nicer with other systems, and uses less CPU, but gives worse RakNet performance<br>
|
|
// Undefining it uses more CPU time, but is more responsive and faster.<br>
|
|
#define USE_WAIT_FOR_MULTIPLE_EVENTS</p>
|
|
<p class="RakNetCode">/// Uncomment to use RakMemoryOverride for custom memory tracking<br>
|
|
/// See RakMemoryOverride.h. <br>
|
|
#define _USE_RAK_MEMORY_OVERRIDE 0</p>
|
|
<p class="RakNetCode">/// If defined, OpenSSL is enabled for the class TCPInterface<br>
|
|
/// This is necessary to use the SendEmail class with Google POP servers<br>
|
|
/// Note that OpenSSL carries its own license restrictions that you should be aware of. If you don't agree, don't enable this define<br>
|
|
/// This also requires that you enable header search paths to DependentExtensions\openssl-0.9.8g<br>
|
|
#define OPEN_SSL_CLIENT_SUPPORT 0</p>
|
|
<p class="RakNetCode">/// Threshold at which to do a malloc / free rather than pushing data onto a fixed stack for the bitstream class<br>
|
|
/// Arbitrary size, just picking something likely to be larger than most packets<br>
|
|
#define BITSTREAM_STACK_ALLOCATION_SIZE 256</p>
|
|
<p class="RakNetCode">// Redefine if you want to disable or change the target for debug RAKNET_DEBUG_PRINTF<br>
|
|
#define RAKNET_DEBUG_PRINTF printf</p>
|
|
<p class="RakNetCode">// Maximum number of local IP addresses supported<br>
|
|
#define MAXIMUM_NUMBER_OF_INTERNAL_IDS 10</p>
|
|
<p class="RakNetCode">/// This controls the amount of memory used per connection. If more than this many datagrams are sent without an ack, then the ack has no effect<br>
|
|
#define DATAGRAM_MESSAGE_ID_ARRAY_LENGTH 512</p>
|
|
<p class="RakNetCode">/// This is the maximum number of reliable user messages that can be on the wire at a time<br>
|
|
#define RESEND_BUFFER_ARRAY_LENGTH 512<br>
|
|
#define RESEND_BUFFER_ARRAY_MASK 511</p>
|
|
<p class="RakNetCode">/// Uncomment if you want to link in the DLMalloc library to use with RakMemoryOverride<br>
|
|
// #define _LINK_DL_MALLOC</p>
|
|
<p class="RakNetCode">/// Workaround for http://support.microsoft.com/kb/274323<br>
|
|
/// If two calls between RakNet::GetTime() happen farther apart than this time in microseconds, this delta will be returned instead<br>
|
|
/// Note: This will cause ID_TIMESTAMP to be temporarily inaccurate if you set a breakpoint that pauses the UpdateNetworkLoop() thread in RakPeer<br>
|
|
/// Define in RakNetDefinesOverrides.h to enable (non-zero) or disable (0)<br>
|
|
#define GET_TIME_SPIKE_LIMIT 0</p>
|
|
<p class="RakNetCode">// Use sliding window congestion control instead of ping based congestion control<br>
|
|
#define USE_SLIDING_WINDOW_CONGESTION_CONTROL 1</p>
|
|
<p><span class="RakNetCode">// When a large message is arriving, preallocate the memory for the entire block<br>
|
|
// This results in large messages not taking up time to reassembly with memcpy, but is vulnerable to attackers causing the host to run out of memory<br>
|
|
#define PREALLOCATE_LARGE_MESSAGES 0<br>
|
|
</span> </p></TD></TR></TABLE>
|
|
<table width="100%" border="0"><tr><td bgcolor="#2c5d92" class="RakNetWhiteHeader">
|
|
<img src="spacer.gif" width="8" height="1">See Also</td>
|
|
</tr></table>
|
|
<TABLE BORDER="0" CELLPADDING="10" CELLSPACING="0" WIDTH="100%"><TR><TD>
|
|
|
|
<A HREF="index.html">Index</A><BR>
|
|
|
|
</TD></TR></TABLE>
|
|
</BODY>
|
|
</HTML>
|