Kawe Mazidjatari b3a68ed095 Add EABase, EAThread and DirtySDK to R5sdk
DirtySDK (EA's Dirty Sockets library) will be used for the LiveAPI implementation, and depends on: EABase, EAThread.
2024-04-05 18:29:03 +02:00

241 lines
4.7 KiB
C

/*H*************************************************************************************************/
/*!
\File libstat.c
\Description
This sample links in all DirtySock EE code, so that the linker-generated map file may
be used to estimate DirtySock EE code size.
\Notes
None.
\Copyright
Copyright (c) Tiburon Entertainment / Electronic Arts 2004. ALL RIGHTS RESERVED.
\Version 1.0 02/02/04 (JLB) First Version
*/
/*************************************************************************************************H*/
/*** Include files *********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "DirtySDK/platform.h"
// dirtysock includes
#include "DirtySDK/game/connapi.h"
#include "DirtySDK/dirtysock.h"
#include "DirtySDK/dirtysock/dirtymem.h"
#include "DirtySDK/dirtysock/netconn.h"
#include "DirtySDK/graph/dirtygif.h"
#include "DirtySDK/graph/dirtygraph.h"
#include "DirtySDK/graph/dirtyjpg.h"
// crypt includes
#include "DirtySDK/crypt/cryptarc4.h"
#include "DirtySDK/crypt/cryptmd5.h"
#include "DirtySDK/crypt/cryptrsa.h"
#include "DirtySDK/crypt/cryptsha1.h"
// lobby includes
#include "DirtySDK/util/base64.h"
#include "DirtySDK/util/utf8.h"
// netgame includes
#include "DirtySDK/game/netgamedist.h"
#include "DirtySDK/game/netgamedistserv.h"
#include "DirtySDK/game/netgamelink.h"
#include "DirtySDK/game/netgameutil.h"
// proto includes
#include "DirtySDK/proto/protohttp.h"
#include "DirtySDK/proto/protomangle.h"
#include "DirtySDK/proto/protoname.h"
#include "DirtySDK/proto/protostream.h"
#include "DirtySDK/proto/protoupnp.h"
// voip includes
#include "DirtySDK/voip/voip.h"
#include "DirtySDK/voip/voiptunnel.h"
// xml includes
#include "DirtySDK/xml/xmlformat.h"
#include "DirtySDK/xml/xmlparse.h"
/*** Defines ***************************************************************************/
/*** Macros ****************************************************************************/
/*** Type Definitions ******************************************************************/
/*** Function Prototypes ***************************************************************/
/*** Variables *************************************************************************/
// Private variables
// Public variables
/*** Public Functions ******************************************************************/
/*
Required alloc/free functions
*/
#ifndef DIRTYCODE_DLL
void *DirtyMemAlloc(int32_t iSize, int32_t iMemModule, int32_t iMemGroup, void *pMemGroupUserData)
{
return(malloc(iSize));
}
void DirtyMemFree(void *pMem, int32_t iMemModule, int32_t iMemGroup, void *pMemGroupUserData)
{
free(pMem);
}
#endif
/*
init routines - the following routines are provided to make sure the modules
link into the application
*/
/*
main routine
*/
static void _CryptModules(void)
{
// cryptarc4
CryptArc4Init(NULL, NULL, 0, 0);
// cryptmd5
CryptMD5Init(NULL);
// cryptrsa
CryptRSAInit(NULL, NULL, 0, NULL, 0);
// cryptsha1
CryptSha1Init(NULL);
}
static void _DirtysockModules(void)
{
// dirtylibps2
NetTick();
//dirtygif
DirtyGifIdentify(NULL, 0);
//dirtygraph
DirtyGraphCreate();
//dirtyjpg
DirtyJpgCreate();
// netconn/netconnps2
NetConnMAC();
// Proto Includes
// protohttp
ProtoHttpCreate(0);
// protomangle
ProtoMangleCreate("", 0, "", "");
// protoname
ProtoNameAsync("", 0);
// protostream
ProtoStreamCreate(0);
// protoupnp
ProtoUpnpStatus(NULL, 0, NULL, 0);
}
static void _NetgameModules(void)
{
// netgamelink-e
NetGameLinkCreate(NULL, 0, 0);
// netgameutil-e
NetGameUtilCreate();
// netgamedist
NetGameDistCreate(NULL, NULL, NULL, NULL, 0, 0);
// netgamedistserv
NetGameDistServCreate(0, 0);
//connapi
ConnApiGetClientList(NULL);
}
static void _LobbyModules(void)
{
// base64
Base64Encode(0, NULL, NULL);
// lobbyutf8
Utf8Strip(NULL, 0, NULL);
}
static void _XmlModules(void)
{
// xmlformat
XmlInit(NULL, 0, 0);
// xmlparse
XmlSkip(NULL);
}
static void _ContribModules(void)
{
// voip
VoipStartup(1, 0);
//voiptunnel
VoipTunnelCreate(0, 0, 0);
}
int main(int32_t argc, char *argv[])
{
// pull in crypt modules
_CryptModules();
// pull in DirtySock modules
_DirtysockModules();
// pull in lobby modules
_LobbyModules();
// pull in netgame modules
_NetgameModules();
// pull in xml modules
_XmlModules();
// pull in contrib modules
_ContribModules();
// done
return(0);
}