This package is the expanded communication library for CTR and includes functions for peer-to-peer communication, matchmaking, and ranking.
For the revision history of this library, see document/manual/history.html
.
For a summary of changes from CTR-NEX 2.7.3, see document/manual/difference_from_nex_2_x.html
.
The CTR-SDK must be installed to build CTR-NEX.
CTR-SDK | CTR-SDK 11.0.0 |
Expand this package in a directory whose name includes neither spaces nor Japanese characters.
The following environment variables must be set to build the sample demo.
CTRSDK_ROOT
CTRNEX_ROOT
SetupCTR.wsf
to run setup. The executed directory is set as the environment variable CTRNEX_ROOT
.
Set the following path as the include path, and include nex.h
.
$(CTRNEX_ROOT)\include
Link the libraries in the following path according to the build target.
$(CTRNEX_ROOT)\libraries
For the latest information, including information about bugs identified after the release, see the Technical Information section of the Nintendo Developer Portal.
include
libraries
Sample
bin
Documentation
Run omake
in $(CTRNEX_ROOT)/Sample
.
You need the lib_demo
library to build the sample.
To build the lib_demo
library, run omake
in SampleDemos/common
of the sample demo package that was published together with the CTR-SDK.
In the sample program code, wide characters strings are written by wrapping the string in the _T
macro (for example, _T("foo")
).
MemoryManager:SetBasicMemoryFunctions
function.
Next, call the GlobalVariables::AcquireInstance
function to create the global variables used by the library.
GlobalVariables::ReleaseInstance
function to free the global variables used by this library.
NetZ
InitializationInitDOClasses
function generated by the DDL compiler by using the NetZ::SetDOClassInitializationCallback
function. No special action is required if you do not use the user DO feature.
HostMigrationExtension
HostMigrationCallback
. Normally, specify the MatchMakingClient::StaticUpdateSessionHost
function or the MatchmakingClient::StaticUpdateSessionHostWithOwner
function.
nn::nex::NetZ::SetDOClassInitializationCallback
was not used, such as when there were three or more units and host migration extension was not used. For this reason, there is no communication compatibility with CTR-NEX 3.1. The following revisions are recommended to connect CTR-NEX 3.1 to CTR-NEX 3.2 or later.
void InitDOClassesFix() { nn::nex::DOCoreDDLDeclarations::Register(); nn::nex::OnlineCoreDDLDeclarations::Register(); } // Before constructing NetZ. nn::nex::NetZ::SetDOClassInitializationCallback(&InitDOClassesFix);In some cases, such as when the master is already up, you must use the following code after CTR-NEX 3.2 to communicate with unrevised CTR-NEX 3.1.
#include <NetZ/src/Core/SessionClock/SessionClockExtension.h> void InitDOClasses() { nn::nex::SessionClockExtDDLDeclarations::Register(); nn::nex::DOCoreDDLDeclarations::Register(); } // Before constructing NetZ, you need the following: nn::nex::NetZ::SetDOClassInitializationCallback(&InitDOClasses);However, the problem cannot be fixed with this implementation.
noopt
, verbose
, release
) as the build type (debug, development, or release) of the application using NEX.
NN_BUILD_VERBOSE
, NN_BUILD_DEVELOPMENT
, NN_BUILD_DEBUG
, or NN_BUILD_NOOPT
.NN_BUILD_RELEASE
, NN_BUILD_DEBUG
, or NN_BUILD_NOOPT
.NN_BUILD_RELEASE
or NN_BUILD_DEVELOPMENT
.
fast
build of the library. Contact Nintendo if you need the small build of the library.
new
.qVector<T>::reserve
in several locations.qVector<T>::reserve
template inherits from the std::vector<T>::reserve
template, which itself calls _RW::__rw_throw
, such that the static initializer calls new
.
This library includes software developed by Quazal Technologies Inc.
However, direct all requests for support and queries concerning this library to Nintendo.
CONFIDENTIAL