### Initialize Ubi.com GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals.html Initializes the Ubi.com GameService SDK. This function is essential for starting the SDK's operations and should be called before any other SDK functions. It typically handles setup and resource allocation. ```C RegServerLibrary_Initialize(); ``` -------------------------------- ### Start Match Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals.html Initiates the process of starting a game match. This function is called when a match is ready to begin, signaling to the game service to allocate resources and prepare for player engagement. ```C RegServerSend_MatchStart(); ``` -------------------------------- ### Start Login Engine Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Starts the login engine with optional parameters for maximum posting and operational delays. This function initiates the process of authenticating the user and establishing a connection to the game servers. ```C++ GSbool __stdcall Login_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800); ``` -------------------------------- ### C: Receive Start Game Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSLobbyCB_8h.html Receives the status of a request to start a game. It includes parameters for type, reason, group ID, and lobby server ID. ```C typedef GSvoid(*CBLobbyRcv_StartGameReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID); ``` -------------------------------- ### Start Match Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/RegServerLibrary_8h-source.html Signals the lobby server that a match has started. An optional mode parameter can be provided. ```C++ GSbool __stdcall RegServerSend_MatchStart( GSuint uiMode = 0 ); ``` -------------------------------- ### Notify Match Started - C Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h.html Informs the lobby server that a player has started a match. Requires the lobby ID and room ID. ```C GSbool MSClient_MatchStarted(GSint iLobbyID, GSint iRoomID) ``` -------------------------------- ### Set Match Started Callback - C Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h.html Sets the callback function for when a match has started. Takes a function pointer as an argument. ```C GSbool MSClient_FixMatchStartedCB([MSClient_MatchStartedCB](MSClientLibrary_8h.html#a10) fFunction) ``` -------------------------------- ### C: Receive Start Match Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSLobbyCB_8h.html Receives the status of a request to start a match. It includes parameters for type, reason, group ID, and lobby server ID. ```C typedef GSvoid(*CBLobbyRcv_StartMatchReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID); ``` -------------------------------- ### Handle Match Started Event Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html This function is triggered when a match starts. It accepts a callback function to handle the match started event. ```C++ GSbool __stdcall LobbyFix_MatchStarted(CBLobbyRcv_MatchStarted fMatchStarted); ``` -------------------------------- ### Start Match Reply Handler Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Processes the reply after initiating a match start. It requires a pointer to a CBLobbyRcv_StartMatchReply structure. ```C++ GSbool __stdcall LobbyFix_StartMatchReply( CBLobbyRcv_StartMatchReply fStartMatchReply); ``` -------------------------------- ### Notify Match Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h-source.html Informs the game server that a match has officially started. This function is typically called after players have joined and the game is ready to begin. ```C++ GSbool __stdcall MSClient_MatchStarted(GSint iLobbyID, GSint iRoomID); ``` -------------------------------- ### MSClient_MatchStarted Function Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/globals.html Function to indicate that a match has started. This is part of the Ubi.com GameService SDK. ```C MSClient_MatchStarted() : [MSClientLibrary.h](MSClientLibrary_8h.html#a12) ``` -------------------------------- ### Player Match Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Notifies the lobby that a player has started a match. It includes the group ID and lobby server ID. ```C++ GSbool __stdcall LobbySend_PlayerMatchStarted(GSint iGroupID, GSint iLobbyServerID); ``` -------------------------------- ### Notify Match Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Informs the game service that a match has started. Requires lobby and room IDs to identify the specific match. ```C++ GSbool MatchStarted(GSint iLobbyID,GSint iRoomID); ``` -------------------------------- ### Process Lobby Server Match Start Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals_type.html Callback function to handle the reply when a match is initiated on the lobby server. Used for starting game sessions. ```C++ CBRegServerRcv_LobbyServerMatchStartReply ``` -------------------------------- ### Farcry Lobby: Start Match Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Handles the reply after attempting to start a match. It includes type, reason, group ID, and lobby server ID. ```C GSvoid LobbyRcv_StartMatchReply(GSubyte ucType, GSint iReason, GSint iGroupID, GSint iLobbySrvID){}; ``` -------------------------------- ### Handle Lobby Server Match Start Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/RegServerLib_8h-source.html Processes the reply from the lobby server indicating that a match has started. This function prepares the client for the upcoming game session. ```C++ GSvoid RegServerRcv_LobbyServerMatchStartReply( GSuchar ucType, clDataList* pDataMessage ); ``` -------------------------------- ### Win32 Project Setup with Bink SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Instructions for setting up a Win32 project to use the Bink SDK. This involves including the correct C source file and linking the Bink for Windows import library. ```C #include "BinkW32.LIB" // Include appropriate C source file (e.g., ExamW32.C) ``` -------------------------------- ### Create Account - C Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h.html Creates a new user account on the master server. Requires server IP, port, version, and user credentials including name, password, and contact information. ```C GSbool MSClient_CreateAccount(const GSchar *szMasterServerIP, GSushort usMasterServerPort, const GSchar *szVersion, const GSchar *szNickName, const GSchar *szPassword, const GSchar *szFirstName, const GSchar *szLastName, const GSchar *szEmail, const GSchar *szCountry) ``` -------------------------------- ### Open BinkBuffer Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/BinkBufferOpen.html Example of how to open a BinkBuffer using the BinkBufferOpen function. This is a common starting point for video playback using the Bink SDK. ```C bink_buf = BinkBufferOpen( ourwind, bink->Width, bink->Height, BINKBUFFERAUTO ); ``` -------------------------------- ### DirectDraw Example (ExamDDP.C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example player utilizing DirectDraw for Bink video playback. This code is contained within the ExamDDP.C file. ```C // Code for ExamDDP.C demonstrating DirectDraw usage ``` -------------------------------- ### BinkBuffer API Example (ExamW32.C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example player demonstrating the usage of the BinkBuffer API. This snippet would typically be found within the ExamW32.C file. ```C // Code for ExamW32.C demonstrating BinkBuffer API ``` -------------------------------- ### Bink Alpha Plane with OpenGL Example (ExamAlph.C + GLRAD3D.C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example demonstrating the use of a Bink alpha plane with OpenGL. This requires linking with the GLRAD3D.C file. ```C // Code for ExamAlph.C and GLRAD3D.C for OpenGL alpha plane example ``` -------------------------------- ### Initialize MSClient Function Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h-source.html Initializes the MSClient with master server details, username, password, and version. Returns a boolean indicating success. ```C++ GSbool __stdcall MSClient_Initialize(const GSchar *szMasterServerIP, GSushort usMasterServerPort, const GSchar *szUserName, const GSchar *szPassword, const GSchar *szVersion); ``` -------------------------------- ### Bink Alpha Plane with Direct3D 7 Example (ExamAlph.C + DX7RAD3D.CPP) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example demonstrating a Bink alpha plane with Direct3D 7. This requires linking with the DX7RAD3D.CPP file. ```C++ // Code for ExamAlph.C and DX7RAD3D.CPP for Direct3D 7 alpha plane example ``` -------------------------------- ### Engine and Server Initialization Functions Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals_func.html Contains functions for initializing and uninitializing the game engine and server components. These are fundamental for setting up and tearing down the game service environment. ```C++ RegServer_Engine(); RegServerLibrary_Initialize(); RegServerLibrary_Uninitialize(); ``` -------------------------------- ### Bink Alpha Plane with Direct3D 8 Example (ExamAlph.C + DX8RAD3D.CPP) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example showcasing a Bink alpha plane with Direct3D 8. This involves linking with the DX8RAD3D.CPP file. ```C++ // Code for ExamAlph.C and DX8RAD3D.CPP for Direct3D 8 alpha plane example ``` -------------------------------- ### Create Account Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Creates a new user account on the master server. Requires master server IP and port, version, nickname, password, and personal details. ```C++ GSbool CreateAccount(const GSchar *szMasterServerIP, GSushort usMasterServerPort,const GSchar* szVersion, const GSchar* szNickName,const GSchar* szPassword, const GSchar* szFirstName,const GSchar* szLastName, const GSchar* szEmail,const GSchar* szCountry); ``` -------------------------------- ### Initialize and Uninitialize GSClientLibrary in C++ Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/globals.html Provides functions for initializing and uninitializing the GSClientLibrary. These are essential for setting up and tearing down the client-side library resources. ```C++ GSClientLibrary_Initialize() ``` ```C++ GSClientLibrary_Uninitialize() ``` -------------------------------- ### Miles Sound System and BinkBuffer API Example (ExamMSS.C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for Win32.html Example player showcasing the integration of the Miles Sound System with the BinkBuffer API. This code is part of the ExamMSS.C file. ```C // Code for ExamMSS.C demonstrating Miles Sound System and BinkBuffer API ``` -------------------------------- ### Farcry: Lobby Send Start Match Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h.html Notifies the lobby server that the player is ready to start a match, with an optional mode parameter. This function is part of the LobbySend module. ```C++ GSbool LobbySend_StartMatch(GSint iGroupID, GSint iLobbyServerID, GSuint uiMode=0) ``` -------------------------------- ### Xbox Bink Alpha Plane Example (C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for th19saaa.html Illustrates using a Bink alpha plane with Direct3D for video playback on the Xbox. This example also depends on the XBXRAD3D.CPP file for Direct3D integration. ```C // For an example of using a Bink alpha plane with [Direct3D](Direct3D.html), see the "ExamXAlf.C" file. // This example uses our simple Direct3D wrapper, so be sure to also add the "XBXRAD3D.CPP" file to your project. ``` -------------------------------- ### Initialization and Uninitialization Functions Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/globals_func.html Handles the initialization and uninitialization of the GameService client. These functions are necessary for setting up and tearing down the SDK's resources. ```C MSClient_Initialize() MSClient_Uninitialize() MSClient_FixInitFinishedCB() ``` -------------------------------- ### Xbox Bink Direct3D Texture Example (C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for th19saaa.html Shows how to use a YUV Direct3D texture to display Bink video on the Xbox. This example requires the XBXRAD3D.CPP file for Direct3D wrapper functionality. ```C // For an example of using a YUV Direct3D texture to display the Bink video, see the "ExamXTex.C" file. // This example uses our simple Direct3D wrapper, so be sure to also add the "XBXRAD3D.CPP" file to your project. ``` -------------------------------- ### Initialize MSClientClass Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Initializes the MSClientClass with master server details, user credentials, and version information. This is a crucial step before interacting with the game service. ```C++ GSbool Initialize(const GSchar *szMasterServerIP, GSushort usMasterServerPort,const GSchar *szUserName, const GSchar *szPassword, const GSchar *szVersion); ``` -------------------------------- ### Build Bink Player Examples on MacOS Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for MacOS.html Steps to build Bink Player examples on MacOS using CodeWarrior. This involves creating a new project, adding source files ('player.c', 'player.r', 'playerbinary.rsrc'), including 'carbon.h' for Carbon projects, and linking the appropriate Bink library ('BinkClassicLibrary', 'BinkCarbonLibrary', or 'libBinkMachO.dylib'). ```C #include "player.c" #include "player.r" #include "playerbinary.rsrc" // For Carbon projects, also include "carbon.h" // Link with BinkClassicLibrary, BinkCarbonLibrary, or libBinkMachO.dylib ``` -------------------------------- ### Initialize GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-cdkey/doc-api/globals.html Initializes the Ubi.com GameService SDK. This function is essential before using any other SDK functions. It typically sets up internal structures and prepares the service for operation. ```C++ GSCDKey_Initialize(); ``` -------------------------------- ### Xbox Bink Overlay Example (C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for th19saaa.html Demonstrates using an overlay to display Bink video on the Xbox. This is the recommended method for quick and simple video playback integration into games. ```C // For an example of using an overlay to display the Bink video, see the "ExamXbox.C" file. // This is the best way to get simple video playback into your game quickly. ``` -------------------------------- ### Create Game Account Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h-source.html Creates a new user account for the game. Requires master server details, version, and personal/login information. ```C++ GSbool __stdcall MSClient_CreateAccount(const GSchar *szMasterServerIP, GSUshort usMasterServerPort, const GSchar* szVersion, const GSchar* szNickName, const GSchar* szPassword, const GSchar* szFirstName, const GSchar* szLastName, const GSchar* szEmail, const GSchar* szCountry); ``` -------------------------------- ### Receive Lobby Server Match Start Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals.html Processes the reply from a match start request. This callback function is called after initiating a match, indicating whether the match start was successful or if there were any issues. ```C CBRegServerRcv_LobbyServerMatchStartReply(); ``` -------------------------------- ### GameService Client Library Initialization (C++) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/globals_func.html Functions for initializing and uninitializing the GameService client library. It also includes a utility function to retrieve the local IP address. ```C++ GSClientLibrary_Initialize(); GSClientLibrary_Uninitialize(); GSGetLocalIPAddress(); ``` -------------------------------- ### C: Receive Game Started Notification Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSLobbyCB_8h.html Receives a notification that a game has started. It includes parameters for group ID, lobby server ID, game data, its size, IP address, alternate IP address, and port. ```C typedef GSvoid(*CBLobbyRcv_GameStarted)(GSint iGroupID, GSint iLobbyServerID, GSvoid *vpGameData, GSint iSize, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPort); ``` -------------------------------- ### Xbox Bink Direct to Back Buffer Example (C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for th19saaa.html Details how to have Bink copy video directly onto the Direct3D back buffer on the Xbox. While functional, using overlays is generally preferred over this method. ```C // For an example of having Bink copy directly onto the Direct3D back buffer, see the "ExamXbb.C" file. // Overlays are almost always preferable to this option, however. ``` -------------------------------- ### LadderQuery: Initialize Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h.html Initializes the ladder query service. Requires a locale string as input. ```C++ GSbool [LadderQuery_Initialize](group__group6__1.html#a0) (GSchar *szLocale) ``` -------------------------------- ### MSClient_MatchStartedCB Callback Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/globals_type.html Callback function triggered when a match has started. Defined in MSClientLibrary.h. ```C typedef void (*MSClient_MatchStartedCB)(int, int, void*); ``` -------------------------------- ### Fix Lobby Server Match Start Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/globals.html Handles the reply received after attempting to start a match on the lobby server. This function may apply fixes or adjustments based on the success or failure of the match start. ```C RegServerFix_LobbyServerMatchStartReply(); ``` -------------------------------- ### Initialize Ladder Query Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientClass_8h-source.html Functions to initialize and uninitialize the ladder query system, and to start the ladder engine. ```C++ GSbool LadderQuery_Initialize(GSchar *szLocale); GSbool LadderQuery_Uninitialize(); GSbool LadderQuery_Engine(GSuint uiMaxPostingDelay = 500,GSuint uiMaxsOperationalDelay = 800); ``` -------------------------------- ### Simple Connection Management Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/files.html Handles basic connection functionalities for the GameService SDK. The code for this is in SimpleConnect.h. ```C++ // Code for SimpleConnect.h would go here ``` -------------------------------- ### Bink Alpha Plane Playback Examples (C++) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Changes.html Provides example code for playing Bink alpha planes using Direct3D (DXALPHA.CPP) and OpenGL (GLALPHA.C). These examples demonstrate how to integrate alpha channel playback within Bink video files. ```cpp // DXALPHA.CPP - Direct3D alpha plane playback example // GLALPHA.C - OpenGL alpha plane playback example ``` -------------------------------- ### Initialize Sockets for Different Platforms Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/files.html Provides functions for initializing and loading/unloading the socket library across various platforms. Implementation is in InitSockets.h. ```C // Code for InitSockets.h would go here ``` -------------------------------- ### Handle Game Started Notification in C++ Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html This function, LobbyFix_GameStarted, is called when the game has officially started. It's crucial for initializing game-specific logic and ensuring all participants are synchronized. The function receives a CBLobbyRcv_GameStarted structure containing relevant game start information. ```C++ GSbool __stdcall LobbyFix_GameStarted(CBLobbyRcv_GameStarted fGameStarted); ``` -------------------------------- ### Initialize GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/group__group2.html Initializes the GameService library with master server details, username, and password. This is a prerequisite for most other SDK functions. ```C++ GSbool MSClient_Initialize(const GSchar *szMasterServerIP, GSushort usMasterServerPort, const GSchar *szUserName, const GSchar *szPassword, const GSchar *szVersion) ``` -------------------------------- ### Handle Game Start Reply in C++ Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html This function, LobbyFix_GameStartReply, is designed to process the reply received after attempting to start a game. It likely handles the confirmation or denial of the game start request and updates the lobby state accordingly. It depends on the CBLobbyRcv_StartGameReply structure for input. ```C++ GSbool __stdcall LobbyFix_GameStartReply( CBLobbyRcv_StartGameReply fStartGameReply); ``` -------------------------------- ### Bink GameCube: Alpha Videos and Texture Rendering (ExamNAlf.C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/BinkSDK/htmlhelp/Bink Examples for th43an3m.html Illustrates using Bink with alpha videos and rendering the resulting textures to the screen. This example also utilizes the simple 3D wrapper (NGCRAD3D.C) and requires a small alpha test movie. ```C /* * For an example of using Bink with alpha videos and then render the textures to the screen, see the "ExamNAlf.C" file. * This example also uses our simple 3D wrapper, so be sure to also add the "NGCRAD3D.C" file to your project. * You can download a small alpha test movie from our ftp-site. */ // Include necessary headers, Bink library functions, and NGCRAD3D.C int main() { // Bink initialization, alpha video handling, and rendering code for ExamNAlf.C return 0; } ``` -------------------------------- ### Initialize Ubi.com GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-cdkey/doc-api/globals_func.html Initializes the Ubi.com GameService SDK. This function is essential before calling other SDK functions. It likely sets up internal structures and connections required for game service operations. ```C++ GSCDKey_Initialize(); ``` -------------------------------- ### Initialize Game Server Connection Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/group__group2.html Initializes the library by connecting to and logging onto the Ubi.com network. A callback function MSClient_InitFinishedCB is invoked upon completion. ```C++ GSbool MSClient_Initialize( const GSchar * _szMasterServerIP_, GSushort _usMasterServerPort_, const GSchar * _szUserName_, const GSchar * _szPassword_, const GSchar * _szVersion_ ) ``` -------------------------------- ### Manage Friend Engine and Login in C++ Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/globals.html Handles the initialization of the friends engine and login processes. It includes functions for starting and managing the friend-related functionalities. ```C++ Friends_Engine() ``` ```C++ FriendsFix_LoginResult() ``` ```C++ FriendsSend_Connect() ``` ```C++ FriendsSend_Login() ``` -------------------------------- ### Register Server Fix: Lobby Server Match Start Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/RegServerLibrary_8h-source.html Registers a fix function to handle the reply for a lobby server match start event. This function is crucial for managing game session initiation and requires a specific callback for the lobby server match start reply. ```C++ GSvoid __stdcall RegServerFix_LobbyServerMatchStartReply(CBRegServerRcv_LobbyServerMatchStartReply fLobbyServerMatchStartReply ); ``` -------------------------------- ### Login and Connection Functions Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/globals_func.html Handles user login, connection management, account creation, and related operations. This includes functions for connecting to the login server, creating accounts, and managing user sessions. ```C++ Login_Engine() LoginFix_JoinWaitModuleResult() LoginFix_LoginAccountCreationResult() LoginFix_LoginDisconnection() LoginFix_LoginRouterResult() LoginFix_LoginWaitModuleResult() LoginFix_ModifyUserResult() LoginFix_PlayerInfo() LoginFix_RequestMOTD() LoginFix_SystemPage() LoginSend_Connect() LoginSend_CreateAccount() LoginSend_Disconnect() LoginSend_JoinWaitModule() LoginSend_LoginRouter() LoginSend_LoginWaitModule() LoginSend_ModifyAccount() LoginSend_PlayerInfo() LoginSend_RequestMOTD() LoginSend_Sleep() LoginSend_WakeUp() ``` -------------------------------- ### Skybox Texture Template Example Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/ResourceCompilerImage/readme.txt Example of setting the texture template to 'skybox_texture'. This likely configures the project to use a skybox texture. ```configuration template=skybox_texture ``` -------------------------------- ### Initialize GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/group__Functions.html Initializes the GameService library and logs into the GSRouter. This function returns, and a callback (MSClient_InitFinishedCB) is invoked upon completion of the login process. It requires the master server IP, port, username, password, and client version. ```C++ GSbool MSClient_Initialize(const GSchar *szMasterServerIP, GSushort usMasterServerPort, const GSchar *szUserName, const GSchar *szPassword, const GSchar *szVersion) ``` -------------------------------- ### Request Match Start Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/group__LobbyServerFunctions.html Signals to the lobby-server that the game server intends to start a match. An optional mode parameter can be provided. ```C++ GSbool RegServerSend_MatchStart ( GSuint uiMode = 0 ); ``` -------------------------------- ### Create Player Account Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h.html Creates a new player account with specified details including version, username, password, name, email, and country. ```C++ GSbool LoginSend_CreateAccount(const GSchar *szVersion, const GSchar *szUsername, const GSchar *szPassword, const GSchar *szFirstName, const GSchar *szLastName, const GSchar *szEmail, const GSchar *szCountry); ``` -------------------------------- ### Farcry Lobby: Match Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Notifies that a match has started. It includes group ID, lobby server ID, and the match ID. ```C GSvoid LobbyRcv_MatchStarted(GSint iGroupID, GSint iLobbyServerID, GSuint uiMatchID); ``` -------------------------------- ### Initialize CD Key Library Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-cdkey/doc-api/group__group1.html Initializes the CD key library, returning a handle for future operations. The specified port is reserved for library communication and is freed upon uninitialization. Initialization fails if the port is already in use. ```C++ GShandle GSCDKey_Initialize(GSushort usPort) ``` -------------------------------- ### Initialize GameService Client Library Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Initializes the GameService client library. This function must be called before any other GameService functions. It sets up the necessary internal structures and resources for the library to operate. ```C++ GSbool __stdcall GSClientLibrary_Initialize(); ``` -------------------------------- ### Register Match Started Callback Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group4__2.html Sets the function name for the match started callback. This is triggered when a match officially begins. ```C GSbool LobbyFix_MatchStarted(CBLobbyRcv_MatchStarted fMatchStarted) ``` -------------------------------- ### Run Client Engine Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Starts the main client engine loop, processing events and network messages. Allows configuration of posting and operational delays. ```C++ GSbool Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800); ``` -------------------------------- ### Game Start Notification Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h.html Informs the lobby server that a game has started. Requires group ID and lobby server ID. ```C++ GSbool LobbySend_GameStart(GSint iGroupID, GSint iLobbyServerID); ``` -------------------------------- ### Initialize PKC (C) Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/GSCryptoInterface_8h-source.html Initializes the Public Key Cryptography (PKC) module with a specified algorithm. Returns a handle to the initialized PKC context. ```C GShandle __stdcall InitializePKC(GSCRYPTO_PKC_ALGO eAlgo); ``` -------------------------------- ### Notify Match Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/group__group2.html Informs the lobby server that a player has started a match. Requires lobby ID and room ID. ```C++ GSbool MSClient_MatchStarted(GSint iLobbyID, GSint iRoomID) ``` -------------------------------- ### Initialize Sockets Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/globals.html Initializes the game service sockets and provides functions to set connection timeouts and test socket functionality. ```C++ InitializeSockets() InitializeSockets_SetOnConnectTimeout() InitializeSockets_Test() ``` -------------------------------- ### Connect to Login Server Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Establishes a connection to the login server at the specified address and port. This is a prerequisite for the login process. Ensure the server address and port are correct. ```C++ GSbool __stdcall LoginSend_Connect(const GSchar* szAddress, GSushort usPort); ``` -------------------------------- ### Start Match Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Initiates a game match within a lobby. It requires the group ID, lobby server ID, and an optional mode parameter. ```C++ GSbool __stdcall LobbySend_StartMatch(GSint iGroupID, GSint iLobbyServerID, GSuint uiMode = 0 ); ``` -------------------------------- ### Receive Match Started Message Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group__LobbyCB.html Handles messages indicating that a match has started. It includes the group ID, lobby server ID, and the match ID. ```C typedef GSvoid(*CBLobbyRcv_MatchStarted)(GSint iGroupID, GSint iLobbyServerID, GSuint uiMatchID); ``` -------------------------------- ### LadderQuery: Start Result Entry Enumeration Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Initiates the process of iterating through the entries of a query result. It allows specifying a starting entry index for the enumeration. ```C++ GSbool __stdcall LadderQuery_StartResultEntryEnumeration(GSuint uiRequestID, GSuint uiStartEntry = 0); ``` -------------------------------- ### RemoteAlgorithm: Initialise Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h-source.html Initializes the remote algorithm engine, likely preparing it for operation. Requires the name of the game or context for initialization. ```C++ GSRESULT __stdcall RemoteAlgorithm_Initialise(const GSchar * szGameName); ``` -------------------------------- ### C++ LoginFix_SystemPage Callback Setup Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group1__2.html Configures the callback function for system pages. This function takes a pointer to a CBLoginRcv_SystemPage function and returns a GSbool indicating the operation's success. ```C++ GSbool LoginFix_SystemPage( CBLoginRcv_SystemPage _fSystemPage ) ``` -------------------------------- ### Indicate Readiness to Start Match Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group4__1.html Notifies the lobby server that the player or team is ready to start a match. This is a signal to proceed with the game. ```C++ GSbool LobbySend_StartMatch(GSint iGroupID, GSint iLobbyServerID, GSuint uiMode = 0); ``` -------------------------------- ### Register Start Match Reply Callback Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group4__2.html Sets the function name for the start match reply callback. This handles the response after initiating a match. ```C GSbool LobbyFix_StartMatchReply(CBLobbyRcv_StartMatchReply fStartMatchReply) ``` -------------------------------- ### Initialize Sockets Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/globals_func.html Initializes network sockets for game services. This includes setting up the necessary structures and potentially configuring connection timeouts. ```C++ InitializeSockets(); InitializeSockets_SetOnConnectTimeout(); InitializeSockets_Test(); ``` -------------------------------- ### GSLadderQueryCB.h - Ubi.com GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/files.html Header file containing callback functions for the ladder query service within the Ubi.com GameService SDK. ```C++ // Source code for GSLadderQueryCB.h not provided in the input. ``` -------------------------------- ### Register MSClient Match Started Callback Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientLibrary_8h-source.html Registers a callback function to be notified when a match has started. This is crucial for game state management and initiating match-related logic. ```C++ GSbool __stdcall MSClient_FixMatchStartedCB(MSClient_MatchStartedCB fFunction); ``` -------------------------------- ### Crypto Initialization Functions Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-common/doc-api/globals.html Contains functions for initializing various cryptographic components like ciphers, hash algorithms, and public-key cryptography. ```C++ InitializeCipher() InitializeCrypto() InitializeHash() InitializePKC() ``` -------------------------------- ### Farcry Lobby: Start Game Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Processes the reply after attempting to start a game. It includes type, reason, group ID, and lobby server ID. ```C GSvoid LobbyRcv_StartGameReply(GSubyte ucType, GSint iReason, GSint iGroupID, GSint iLobbySrvID){}; ``` -------------------------------- ### Initialize Farcry Library Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/RegServerLibrary_8h-source.html Initializes the Farcry library. This function must be called before any other library functions. ```C GSbool __stdcall RegServerLibrary_Initialize(); ``` -------------------------------- ### Lobby Server Match Start Reply Handler Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/group__FixFunctions.html Handles the callback for when a lobby server match starts. This function is triggered by the RegServerFix_LobbyServerMatchStartReply event. ```C++ GSvoid RegServerFix_LobbyServerMatchStartReply( [CBRegServerRcv_LobbyServerMatchStartReply](RegServerLibrary_8h.html#a9) _fLobbyServerMatchStartReply_ ) ``` -------------------------------- ### MSClient_Initialize Function Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/globals.html Function to initialize the GameService client. This is part of the Ubi.com GameService SDK. ```C MSClient_Initialize() : [MSClientLibrary.h](MSClientLibrary_8h.html#a0) ``` -------------------------------- ### Receive Start Game Reply Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group__LobbyCB.html Handles the reply after initiating the start of a game. It includes the message type, reason, group ID, and lobby server ID. ```C typedef GSvoid(*CBLobbyRcv_StartGameReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID); ``` -------------------------------- ### GSClientLibrary.h - Ubi.com GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/files.html Header file for the GSClientLibrary, providing available functions for basic ubi.com services usage. ```C++ // Source code for GSClientLibrary.h not provided in the input. ``` -------------------------------- ### Farcry Lobby: Game Started Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-msclient/doc-api/MSClientClass_8h-source.html Notifies that a game has started. It includes group ID, lobby server ID, game data, size, IP addresses, and port. ```C GSvoid LobbyRcv_GameStarted(GSint iGroupID, GSint iLobbyServerID, GSvoid *vpGameData, GSint iSize, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPort); ``` -------------------------------- ### RegServerLibrary.h Source - Ubi.com GameService SDK Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/files.html Provides the main header file for the RegServerLibrary, which is part of the Ubi.com GameService SDK. ```C++ // Placeholder for RegServerLibrary.h source code ``` -------------------------------- ### PSSend: Login Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/GSClientLibrary_8h.html Logs into the persistent storage service. This function initiates the connection to the storage system. ```C++ GSbool [PSSend_Login](group__group5__1.html#a0) () ``` -------------------------------- ### Notify Game Start Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-base/doc-api/group__group4__1.html Informs the lobby server that a game has officially started. This might trigger specific server-side logic related to game progression. ```C++ GSbool LobbySend_GameStart(GSint iGroupID, GSint iLobbyServerID); ``` -------------------------------- ### Initialize RegServerLibrary Source: https://github.com/ugozapad/farcry/blob/main/SourceCode/Ubisoft.com/GSServices/sdks/gs-sdk-regserver/doc-api/RegServerLibrary_8h.html Initializes the RegServerLibrary. Returns a boolean indicating success or failure. ```C GSbool RegServerLibrary_Initialize(); Initialize the libary. ```