CTR Pia  4.11.3
Game Communication Engine
settings.h
1 /*---------------------------------------------------------------------------*
2  Project: Pia
3  File: settings.h
4 
5  Copyright Nintendo. All rights reserved.
6 
7  These coded instructions, statements, and computer programs contain
8  proprietary information of Nintendo of America Inc. and/or Nintendo
9  Company Ltd., and are protected by Federal copyright law. They may
10  not be disclosed to third parties or copied or duplicated in any form,
11  in whole or in part, without the prior written consent of Nintendo.
12  *---------------------------------------------------------------------------*/
13 
14 
15 #pragma once
16 
17 
18 #define NN_PIA_PLATFORM_WIN (1)
19 #define NN_PIA_PLATFORM_CTR (2)
20 #define NN_PIA_PLATFORM_CAFE (3)
21 #define NN_PIA_PLATFORM_NIN_WIN (4)
22 
23 #define NN_PIA_BUILD_DEBUG (1)
24 #define NN_PIA_BUILD_DEVELOP (2)
25 #define NN_PIA_BUILD_RELEASE (3)
26 
27 #if defined(WIN32)
28 #if PIA_PLATFORM_NIN_WIN
29 #define NN_PIA_PLATFORM NN_PIA_PLATFORM_NIN_WIN
30 #else
31 #define NN_PIA_PLATFORM NN_PIA_PLATFORM_WIN
32 #endif
33 
34 #if defined(PIA_BUILD_TARGET_DEBUG)
35 #define NN_PIA_BUILD NN_PIA_BUILD_DEBUG
36 #elif defined(PIA_BUILD_TARGET_DEVELOP)
37 #define NN_PIA_BUILD NN_PIA_BUILD_DEVELOP
38 #elif defined(PIA_BUILD_TARGET_RELEASE)
39 #define NN_PIA_BUILD NN_PIA_BUILD_RELEASE
40 #else
41 #error "PIA_BUILD_TARGET_XXX is not defined."
42 #endif
43 
44 #elif defined(NN_PLATFORM_CTR)
45 
46 #define NN_PIA_PLATFORM NN_PIA_PLATFORM_CTR
47 
48 #if defined(NN_BUILD_NOOPT)
49 #define NN_PIA_BUILD NN_PIA_BUILD_DEBUG
50 #elif defined(NN_BUILD_VERBOSE)
51 #define NN_PIA_BUILD NN_PIA_BUILD_DEVELOP
52 #else
53 #define NN_PIA_BUILD NN_PIA_BUILD_RELEASE
54 #endif
55 
56 #elif defined(PLATFORM) && (PLATFORM == CAFE)
57 
58 #define NN_PIA_PLATFORM NN_PIA_PLATFORM_CAFE
59 
60 //n1769 <tt>PIA_BUILD_TARGET_*</tt> macros are defined according to the <tt>commondefs.mk</tt> file of the build system.
61 //
62 #if defined(PIA_BUILD_TARGET_DEBUG)
63 #define NN_PIA_BUILD NN_PIA_BUILD_DEBUG
64 #elif defined(PIA_BUILD_TARGET_DEVELOP)
65 #define NN_PIA_BUILD NN_PIA_BUILD_DEVELOP
66 #elif defined(PIA_BUILD_TARGET_RELEASE)
67 #define NN_PIA_BUILD NN_PIA_BUILD_RELEASE
68 #else
69 #error "PIA_BUILD_TARGET_XXX is not defined."
70 #endif
71 
72 #else
73 #error "This platform is not supported."
74 #endif
75 
76 
77 #define NN_PIA_CTR (NN_PIA_PLATFORM == NN_PIA_PLATFORM_CTR)
78 #define NN_PIA_WIN (NN_PIA_PLATFORM == NN_PIA_PLATFORM_WIN)
79 #define NN_PIA_CAFE (NN_PIA_PLATFORM == NN_PIA_PLATFORM_CAFE)
80 #define NN_PIA_NIN_WIN (NN_PIA_PLATFORM == NN_PIA_PLATFORM_NIN_WIN)
81 
82 #define NN_PIA_DEBUG (NN_PIA_BUILD == NN_PIA_BUILD_DEBUG)
83 #define NN_PIA_DEVELOP (NN_PIA_BUILD == NN_PIA_BUILD_DEVELOP)
84 #define NN_PIA_RELEASE (NN_PIA_BUILD == NN_PIA_BUILD_RELEASE)
85 
86 #define NN_PIA_UNDER_DEBUG (NN_PIA_BUILD <= NN_PIA_BUILD_DEBUG)
87 #define NN_PIA_UNDER_DEVELOP (NN_PIA_BUILD <= NN_PIA_BUILD_DEVELOP)
88 
89 #define NN_PIA_ENABLE_TRACE (NN_PIA_UNDER_DEVELOP)
90 #define NN_PIA_ENABLE_ASSERT (NN_PIA_UNDER_DEVELOP)
91 
92 #if defined(NN_PLATFORM_CTR)
93 //n2788: Macro to switch NEX libraries for library development.
94 #ifndef NN_PIA_NEX_3
95 #define NN_PIA_NEX_3 1
96 #endif
97 //n1872: Macro to enable or disable <tt>MultiUnitHeap</tt> in NEX. (It is enabled only when <tt>NN_PIA_NEX_3=0</tt>.)
98 #define NN_PIA_EXPERIMENT_UNUSE_NEX_MULTIUNITHEAP 0
99 #else
100 //n1872: Use NEX3 on platforms other than CTR.
101 #define NN_PIA_NEX_3 1
102 #define NN_PIA_EXPERIMENT_UNUSE_NEX_MULTIUNITHEAP 1
103 #endif
104 
105 #define NN_PIA_EXPERIMENT_SHARE_CONNECTION_INFO_EARLY 1
106 
107 #if NN_PIA_UNDER_DEVELOP
108 #define NN_PIA_ENABLE_FEEDBACK 0
109 #define NN_PIA_ENABLE_GATEWAY 0
110 #else
111 #define NN_PIA_ENABLE_FEEDBACK 0
112 #define NN_PIA_ENABLE_GATEWAY 0
113 #endif
114 
115 #define NN_PIA_EXPERIMENT_RELAY_CONNECTION_TOPOLOGY 1
116 
117 #define NN_PIA_EXPERIMENT_HM_MULTI_CANDIDATE 1
118 
119 #define NN_PIA_ENABLE_NAT_TRAVERSAL_TIME_OPTIMIZATION 1
120 #define NN_PIA_ENABLE_EACH_NAT_TRAVERSAL_TIMEOUT 1
121 
122 #define NN_PIA_ENABLE_TRANSPORT_CONNECTION_DIRECTION 1
123 
124 #define NN_PIA_NEX_NEW_FEATURE_FOR_MATCHMAKE 1
125 
126 #define NN_PIA_ENABLE_MATCHMAKE_REFEREE 0
127 
128 #define NN_PIA_EXPERIMENT_USE_PRINT_HOOK 1
129 
130 #define NN_PIA_EXPERIMENT_HANDSHAKE_CHECK 1 // n1769 Set to <tt>1</tt> when configuring to abandon any received data while the handshake between stations cannot yet be confirmed.
131 
132 #define NN_PIA_EXPERIMENT_BAND_WIDTH_CHECK 1
133 
134 #define NN_PIA_EXPERIMENT_OC_PACKET_V2 1