mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 10:37:41 -04:00
Merge pull request #105 from dpogue/netbase
pnNetBase refactor --HG-- rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbError.h => Sources/Plasma/NucleusLib/pnNetBase/pnNbError.h rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbKeys.cpp => Sources/Plasma/NucleusLib/pnNetBase/pnNbKeys.cpp rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbKeys.h => Sources/Plasma/NucleusLib/pnNetBase/pnNbKeys.h rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbProtocol.h => Sources/Plasma/NucleusLib/pnNetBase/pnNbProtocol.h rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbSrvs.cpp => Sources/Plasma/NucleusLib/pnNetBase/pnNbSrvs.cpp rename : Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbSrvs.h => Sources/Plasma/NucleusLib/pnNetBase/pnNbSrvs.h
This commit is contained in:
@ -8,12 +8,14 @@ set(pfConsoleCore_SOURCES
|
||||
pfConsoleCommandsCore.cpp
|
||||
pfConsoleContext.cpp
|
||||
pfConsoleEngine.cpp
|
||||
pfUtilBase64.cpp
|
||||
)
|
||||
|
||||
set(pfConsoleCore_HEADERS
|
||||
pfConsoleCmd.h
|
||||
pfConsoleContext.h
|
||||
pfConsoleEngine.h
|
||||
pfUtilBase64.h
|
||||
)
|
||||
|
||||
add_library(pfConsoleCore STATIC ${pfConsoleCore_SOURCES} ${pfConsoleCore_HEADERS})
|
||||
|
@ -46,7 +46,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "pfConsoleCmd.h"
|
||||
#include "pnNetBase/Pch.h"
|
||||
#include "pnNetBase/pnNetBase.h"
|
||||
#include "pfUtilBase64.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
177
Sources/Plasma/FeatureLib/pfConsoleCore/pfUtilBase64.cpp
Normal file
177
Sources/Plasma/FeatureLib/pfConsoleCore/pfUtilBase64.cpp
Normal file
@ -0,0 +1,177 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "pfUtilBase64.h"
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Private
|
||||
*
|
||||
***/
|
||||
|
||||
static const char kEncode64[] = {
|
||||
// 0000000000111111111122222222223333333333444444444455555555556666
|
||||
// 0123456789012345678901234567890123456789012345678901234567890123
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||||
};
|
||||
|
||||
// Note that the decode table contains one special entry:
|
||||
// The '-' character (0x2d) maps to 63 just like '/' (0x2f)
|
||||
// so that URLs will work with Base64Decode when we implement them.
|
||||
#define kTerminator 127
|
||||
#define xx kTerminator
|
||||
static const char kDecode64[] = {
|
||||
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,62,xx,63,xx,63,
|
||||
52,53,54,55,56,57,58,59,60,61,xx,xx,xx,xx,xx,xx,
|
||||
xx, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,
|
||||
15,16,17,18,19,20,21,22,23,24,25,xx,xx,xx,xx,xx,
|
||||
xx,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
|
||||
41,42,43,44,45,46,47,48,49,50,51,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,
|
||||
};
|
||||
#undef xx
|
||||
|
||||
static const char kFillchar = '=';
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Exports
|
||||
*
|
||||
***/
|
||||
|
||||
//============================================================================
|
||||
unsigned Base64Encode (
|
||||
unsigned srcChars,
|
||||
const byte srcData[],
|
||||
unsigned dstChars,
|
||||
char * dstData
|
||||
) {
|
||||
ASSERT(srcData);
|
||||
ASSERT(dstChars >= Base64EncodeSize(srcChars));
|
||||
ASSERT(dstData);
|
||||
|
||||
const char * dstBase = dstData;
|
||||
const byte * srcTerm = srcData + srcChars;
|
||||
for (;;) switch (srcTerm - srcData) {
|
||||
case 0:
|
||||
*dstData++ = 0;
|
||||
return dstData - dstBase;
|
||||
|
||||
case 1:
|
||||
*dstData++ = kEncode64[ ((srcData[0] >> 2) & 0x3f) ];
|
||||
*dstData++ = kEncode64[ ((srcData[0] << 4) & 0x30) ];
|
||||
*dstData++ = kFillchar;
|
||||
*dstData++ = kFillchar;
|
||||
*dstData++ = 0;
|
||||
return dstData - dstBase;
|
||||
|
||||
case 2:
|
||||
*dstData++ = kEncode64[ ((srcData[0] >> 2) & 0x3f) ];
|
||||
*dstData++ = kEncode64[ ((srcData[0] << 4) & 0x30) + ((srcData[1] >> 4) & 0x0f) ];
|
||||
*dstData++ = kEncode64[ ((srcData[1] << 2) & 0x3c) ];
|
||||
*dstData++ = kFillchar;
|
||||
*dstData++ = 0;
|
||||
return dstData - dstBase;
|
||||
|
||||
default:
|
||||
*dstData++ = kEncode64[ ((srcData[0] >> 2) & 0x3f) ];
|
||||
*dstData++ = kEncode64[ ((srcData[0] << 4) & 0x30) + ((srcData[1] >> 4) & 0x0f) ];
|
||||
*dstData++ = kEncode64[ ((srcData[1] << 2) & 0x3c) + ((srcData[2] >> 6) & 0x03) ];
|
||||
*dstData++ = kEncode64[ (srcData[2] & 0x3f) ];
|
||||
srcData += 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
unsigned Base64Decode (
|
||||
unsigned srcChars,
|
||||
const char srcData[],
|
||||
unsigned dstChars,
|
||||
byte * dstData
|
||||
) {
|
||||
ASSERT(srcData);
|
||||
ASSERT(dstChars >= Base64DecodeSize(srcChars, srcData));
|
||||
ASSERT(dstData);
|
||||
|
||||
const byte * dstBase = dstData;
|
||||
const char * srcTerm = srcData + srcChars;
|
||||
while (srcTerm - srcData >= 4) {
|
||||
|
||||
*dstData++ = (byte) (
|
||||
(kDecode64[srcData[0]] << 2 & 0xfc)
|
||||
+(kDecode64[srcData[1]] >> 4 & 0x03)
|
||||
);
|
||||
|
||||
if (kDecode64[srcData[2]] == kTerminator)
|
||||
break;
|
||||
|
||||
*dstData++ = (byte) (
|
||||
(kDecode64[srcData[1]] << 4 & 0xf0)
|
||||
+(kDecode64[srcData[2]] >> 2 & 0x0f)
|
||||
);
|
||||
|
||||
if (kDecode64[srcData[3]] == kTerminator)
|
||||
break;
|
||||
|
||||
*dstData++ = (byte) (
|
||||
(kDecode64[srcData[2]] << 6 & 0xc0)
|
||||
+(kDecode64[srcData[3]])
|
||||
);
|
||||
|
||||
srcData += 4;
|
||||
}
|
||||
|
||||
return dstData - dstBase;
|
||||
}
|
@ -39,22 +39,42 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifndef pfUtilBase64_inc
|
||||
#define pfUtilBase64_inc
|
||||
|
||||
#include "hsTypes.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbAllIncludes.h
|
||||
*
|
||||
* Base64 Codec API
|
||||
*
|
||||
***/
|
||||
|
||||
#ifndef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBALLINCLUDES_H
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBALLINCLUDES_H
|
||||
const unsigned kBase64EncodeBlock = 4;
|
||||
const unsigned kBase64EncodeMultiple = 3;
|
||||
|
||||
inline unsigned Base64EncodeSize (unsigned srcChars) {
|
||||
return (srcChars + kBase64EncodeMultiple - 1) / kBase64EncodeMultiple
|
||||
* kBase64EncodeBlock;
|
||||
}
|
||||
unsigned Base64Encode (
|
||||
unsigned srcChars,
|
||||
const byte srcData[],
|
||||
unsigned dstChars,
|
||||
char * dstData
|
||||
);
|
||||
|
||||
#include "pnProduct/pnProduct.h"
|
||||
inline unsigned Base64DecodeSize (unsigned srcChars, const char srcData[]) {
|
||||
return srcChars * kBase64EncodeMultiple / kBase64EncodeBlock
|
||||
- ((srcChars >= 1 && srcData[srcChars - 1] == '=') ? 1 : 0)
|
||||
- ((srcChars >= 2 && srcData[srcChars - 2] == '=') ? 1 : 0);
|
||||
}
|
||||
unsigned Base64Decode (
|
||||
unsigned srcChars,
|
||||
const char srcData[],
|
||||
unsigned dstChars,
|
||||
byte * dstData
|
||||
);
|
||||
|
||||
#include "../pnNbConst.h"
|
||||
#include "pnNbError.h"
|
||||
#include "pnNbKeys.h"
|
||||
#include "pnNbProtocol.h"
|
||||
#include "pnNbSrvs.h"
|
||||
|
||||
#endif // PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBALLINCLUDES_H
|
||||
#endif //pnUtilBase64_inc
|
@ -2,26 +2,22 @@ include_directories("../../CoreLib")
|
||||
include_directories("../../NucleusLib")
|
||||
|
||||
set(pnNetBase_HEADERS
|
||||
Intern.h
|
||||
Pch.h
|
||||
pnNbConst.h
|
||||
pnNbError.h
|
||||
pnNbKeys.h
|
||||
pnNbProtocol.h
|
||||
pnNbSrvs.h
|
||||
pnNetBase.h
|
||||
)
|
||||
|
||||
set(pnNetBase_PRIVATE
|
||||
Private/pnNbAllIncludes.h
|
||||
Private/pnNbEchoMsgs.h
|
||||
Private/pnNbError.h
|
||||
Private/pnNbError.cpp
|
||||
Private/pnNbProtocol.h
|
||||
Private/pnNbProtocol.cpp
|
||||
Private/pnNbSrvs.h
|
||||
Private/pnNbSrvs.cpp
|
||||
Private/pnNbKeys.h
|
||||
Private/pnNbKeys.cpp
|
||||
set(pnNetBase_SOURCES
|
||||
pnNbError.cpp
|
||||
pnNbKeys.cpp
|
||||
pnNbProtocol.cpp
|
||||
pnNbSrvs.cpp
|
||||
)
|
||||
|
||||
add_library(pnNetBase STATIC ${pnNetBase_HEADERS} ${pnNetBase_PRIVATE})
|
||||
add_library(pnNetBase STATIC ${pnNetBase_HEADERS} ${pnNetBase_SOURCES})
|
||||
|
||||
source_group("Header Files" FILES ${pnNetBase_HEADERS})
|
||||
source_group("Private" FILES ${pnNetBase_PRIVATE})
|
||||
source_group("Source Files" FILES ${pnNetBase_SOURCES})
|
||||
|
@ -1,54 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Intern.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_INTERN_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Intern.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_INTERN_H
|
||||
|
||||
|
||||
#include "Private/pnNbAllIncludes.h"
|
@ -1,57 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Pch.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PCH_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Pch.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PCH_H
|
||||
|
||||
|
||||
#include "pnUtils/pnUtils.h"
|
||||
#include "pnProduct/pnProduct.h"
|
||||
|
||||
#include "Private/pnNbAllIncludes.h"
|
@ -1,41 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
@ -1,51 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbAges.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBAGES_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbAges.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBAGES_H
|
@ -1,169 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbEchoMsgs.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBECHOMSGS_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbEchoMsgs.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBECHOMSGS_H
|
||||
|
||||
|
||||
//============================================================================
|
||||
// Begin Echo server data types
|
||||
//============================================================================
|
||||
namespace Echo {
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* @@@: Shared data types for echo server/client demo
|
||||
*
|
||||
***/
|
||||
|
||||
|
||||
const unsigned kEchoMsgFlagBroadcast = 1<<0;
|
||||
const unsigned kEchoMsgFlagEchoBack = 1<<1;
|
||||
|
||||
|
||||
enum EEchoNetBufferType {
|
||||
kEchoNetBufferInvalidType,
|
||||
kEchoNetBufferMsg,
|
||||
kNumEchoNetBufferTypes
|
||||
};
|
||||
|
||||
enum EEchoMsgType {
|
||||
kEchoInvalidMsgType,
|
||||
kEchoJoinRequestMsg,
|
||||
kEchoJoinReplyMsg,
|
||||
kEchoPlayerJoinedMsg,
|
||||
kEchoPlayerLeftMsg,
|
||||
kEchoChatMsg,
|
||||
kEchoGameDataBufferMsg,
|
||||
kNumEchoMsgTypes
|
||||
};
|
||||
COMPILER_ASSERT(kNumEchoMsgTypes < (byte)-1);
|
||||
|
||||
|
||||
//============================================================================
|
||||
// Begin packed data structures
|
||||
//============================================================================
|
||||
#include <pshpack1.h>
|
||||
|
||||
struct EchoMsg {
|
||||
EchoMsg (const EEchoMsgType & type, unsigned flags = 0)
|
||||
: type((byte)type)
|
||||
, flags(flags)
|
||||
{ }
|
||||
|
||||
byte type;
|
||||
dword flags;
|
||||
};
|
||||
|
||||
struct EchoJoinRequestMsg : EchoMsg {
|
||||
EchoJoinRequestMsg ()
|
||||
: EchoMsg(kEchoJoinRequestMsg)
|
||||
{ }
|
||||
|
||||
wchar playerName[64];
|
||||
};
|
||||
|
||||
struct EchoJoinReplyMsg : EchoMsg {
|
||||
EchoJoinReplyMsg ()
|
||||
: EchoMsg(kEchoJoinReplyMsg)
|
||||
{ }
|
||||
|
||||
dword playerId;
|
||||
};
|
||||
|
||||
struct EchoPlayerJoinedMsg : EchoMsg {
|
||||
EchoPlayerJoinedMsg ()
|
||||
: EchoMsg(kEchoPlayerJoinedMsg, kEchoMsgFlagBroadcast)
|
||||
{ }
|
||||
|
||||
dword playerId;
|
||||
wchar playerName[64];
|
||||
};
|
||||
|
||||
struct EchoPlayerLeftMsg : EchoMsg {
|
||||
EchoPlayerLeftMsg ()
|
||||
: EchoMsg(kEchoPlayerLeftMsg, kEchoMsgFlagBroadcast)
|
||||
{ }
|
||||
|
||||
dword playerId;
|
||||
};
|
||||
|
||||
struct EchoChatMsg : EchoMsg {
|
||||
EchoChatMsg ()
|
||||
: EchoMsg(kEchoChatMsg, kEchoMsgFlagBroadcast|kEchoMsgFlagEchoBack)
|
||||
{ }
|
||||
|
||||
dword fromPlayerId;
|
||||
dword msgChars;
|
||||
wchar msgBuffer[1]; // [msgChars], actually
|
||||
// no more fields after variable length allocation
|
||||
};
|
||||
|
||||
struct EchoGameDataBufferMsg : EchoMsg {
|
||||
EchoGameDataBufferMsg ()
|
||||
: EchoMsg(kEchoGameDataBufferMsg, kEchoMsgFlagBroadcast|kEchoMsgFlagEchoBack)
|
||||
{ }
|
||||
|
||||
dword fromPlayerId;
|
||||
dword bufferBytes;
|
||||
byte bufferData[1]; // [bufferBytes], actually
|
||||
// no more fields after variable length allocation
|
||||
};
|
||||
|
||||
//============================================================================
|
||||
// End packed data structures
|
||||
//============================================================================
|
||||
#include <poppack.h>
|
||||
|
||||
|
||||
//============================================================================
|
||||
// End Echo server data types
|
||||
//============================================================================
|
||||
} using namespace Echo;
|
@ -39,17 +39,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/pnNbConst.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PNNBCONST_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/pnNbConst.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PNNBCONST_H
|
||||
|
||||
#ifndef pnNbConst_inc
|
||||
#define pnNbConst_inc
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -166,3 +158,5 @@ enum EScoreTimePeriods {
|
||||
kScoreTimePeriodMonth,
|
||||
kScoreTimePeriodDay
|
||||
};
|
||||
|
||||
#endif //pnNbConst_inc
|
||||
|
@ -39,14 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbError.cpp
|
||||
*
|
||||
***/
|
||||
|
||||
#include "../Pch.h"
|
||||
#pragma hdrstop
|
||||
#include "pnNbError.h"
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -60,7 +54,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// in release clients because they are not localized
|
||||
const wchar * NetErrorToString (ENetError code) {
|
||||
|
||||
static wchar * s_errors[] = {
|
||||
static const wchar* s_errors[] = {
|
||||
L"Success", // kNetSuccess
|
||||
L"Internal Error", // kNetErrInternalError
|
||||
L"No Response From Server", // kNetErrTimeout
|
||||
@ -127,66 +121,64 @@ const wchar * NetErrorToString (ENetError code) {
|
||||
// in release clients because they are not localized
|
||||
const wchar * NetErrorAsString (ENetError code) {
|
||||
|
||||
#define ERROR_STRING(e) L#e
|
||||
static wchar * s_errors[] = {
|
||||
ERROR_STRING(kNetSuccess),
|
||||
ERROR_STRING(kNetErrInternalError),
|
||||
ERROR_STRING(kNetErrTimeout),
|
||||
ERROR_STRING(kNetErrBadServerData),
|
||||
ERROR_STRING(kNetErrAgeNotFound),
|
||||
ERROR_STRING(kNetErrConnectFailed),
|
||||
ERROR_STRING(kNetErrDisconnected),
|
||||
ERROR_STRING(kNetErrFileNotFound),
|
||||
ERROR_STRING(kNetErrOldBuildId),
|
||||
ERROR_STRING(kNetErrRemoteShutdown),
|
||||
ERROR_STRING(kNetErrTimeoutOdbc),
|
||||
ERROR_STRING(kNetErrAccountAlreadyExists),
|
||||
ERROR_STRING(kNetErrPlayerAlreadyExists),
|
||||
ERROR_STRING(kNetErrAccountNotFound),
|
||||
ERROR_STRING(kNetErrPlayerNotFound),
|
||||
ERROR_STRING(kNetErrInvalidParameter),
|
||||
ERROR_STRING(kNetErrNameLookupFailed),
|
||||
ERROR_STRING(kNetErrLoggedInElsewhere),
|
||||
ERROR_STRING(kNetErrVaultNodeNotFound),
|
||||
ERROR_STRING(kNetErrMaxPlayersOnAcct),
|
||||
ERROR_STRING(kNetErrAuthenticationFailed),
|
||||
ERROR_STRING(kNetErrStateObjectNotFound),
|
||||
ERROR_STRING(kNetErrLoginDenied),
|
||||
ERROR_STRING(kNetErrCircularReference),
|
||||
ERROR_STRING(kNetErrAccountNotActivated),
|
||||
ERROR_STRING(kNetErrKeyAlreadyUsed),
|
||||
ERROR_STRING(kNetErrKeyNotFound),
|
||||
ERROR_STRING(kNetErrActivationCodeNotFound),
|
||||
ERROR_STRING(kNetErrPlayerNameInvalid),
|
||||
ERROR_STRING(kNetErrNotSupported),
|
||||
ERROR_STRING(kNetErrServiceForbidden),
|
||||
ERROR_STRING(kNetErrAuthTokenTooOld),
|
||||
ERROR_STRING(kNetErrMustUseGameTapClient),
|
||||
ERROR_STRING(kNetErrTooManyFailedLogins),
|
||||
ERROR_STRING(kNetErrGameTapConnectionFailed),
|
||||
ERROR_STRING(kNetErrGTTooManyAuthOptions),
|
||||
ERROR_STRING(kNetErrGTMissingParameter),
|
||||
ERROR_STRING(kNetErrGTServerError),
|
||||
ERROR_STRING(kNetErrAccountBanned),
|
||||
ERROR_STRING(kNetErrKickedByCCR),
|
||||
ERROR_STRING(kNetErrScoreWrongType),
|
||||
ERROR_STRING(kNetErrScoreNotEnoughPoints),
|
||||
ERROR_STRING(kNetErrScoreAlreadyExists),
|
||||
ERROR_STRING(kNetErrScoreNoDataFound),
|
||||
ERROR_STRING(kNetErrInviteNoMatchingPlayer),
|
||||
ERROR_STRING(kNetErrInviteTooManyHoods),
|
||||
ERROR_STRING(kNetErrNeedToPay),
|
||||
ERROR_STRING(kNetErrServerBusy),
|
||||
ERROR_STRING(kNetErrVaultNodeAccessViolation),
|
||||
static const wchar* s_errors[] = {
|
||||
L"kNetSuccess",
|
||||
L"kNetErrInternalError",
|
||||
L"kNetErrTimeout",
|
||||
L"kNetErrBadServerData",
|
||||
L"kNetErrAgeNotFound",
|
||||
L"kNetErrConnectFailed",
|
||||
L"kNetErrDisconnected",
|
||||
L"kNetErrFileNotFound",
|
||||
L"kNetErrOldBuildId",
|
||||
L"kNetErrRemoteShutdown",
|
||||
L"kNetErrTimeoutOdbc",
|
||||
L"kNetErrAccountAlreadyExists",
|
||||
L"kNetErrPlayerAlreadyExists",
|
||||
L"kNetErrAccountNotFound",
|
||||
L"kNetErrPlayerNotFound",
|
||||
L"kNetErrInvalidParameter",
|
||||
L"kNetErrNameLookupFailed",
|
||||
L"kNetErrLoggedInElsewhere",
|
||||
L"kNetErrVaultNodeNotFound",
|
||||
L"kNetErrMaxPlayersOnAcct",
|
||||
L"kNetErrAuthenticationFailed",
|
||||
L"kNetErrStateObjectNotFound",
|
||||
L"kNetErrLoginDenied",
|
||||
L"kNetErrCircularReference",
|
||||
L"kNetErrAccountNotActivated",
|
||||
L"kNetErrKeyAlreadyUsed",
|
||||
L"kNetErrKeyNotFound",
|
||||
L"kNetErrActivationCodeNotFound",
|
||||
L"kNetErrPlayerNameInvalid",
|
||||
L"kNetErrNotSupported",
|
||||
L"kNetErrServiceForbidden",
|
||||
L"kNetErrAuthTokenTooOld",
|
||||
L"kNetErrMustUseGameTapClient",
|
||||
L"kNetErrTooManyFailedLogins",
|
||||
L"kNetErrGameTapConnectionFailed",
|
||||
L"kNetErrGTTooManyAuthOptions",
|
||||
L"kNetErrGTMissingParameter",
|
||||
L"kNetErrGTServerError",
|
||||
L"kNetErrAccountBanned",
|
||||
L"kNetErrKickedByCCR",
|
||||
L"kNetErrScoreWrongType",
|
||||
L"kNetErrScoreNotEnoughPoints",
|
||||
L"kNetErrScoreAlreadyExists",
|
||||
L"kNetErrScoreNoDataFound",
|
||||
L"kNetErrInviteNoMatchingPlayer",
|
||||
L"kNetErrInviteTooManyHoods",
|
||||
L"kNetErrNeedToPay",
|
||||
L"kNetErrServerBusy",
|
||||
L"kNetErrVaultNodeAccessViolation",
|
||||
};
|
||||
COMPILER_ASSERT(arrsize(s_errors) == kNumNetErrors);
|
||||
|
||||
if ((unsigned)code >= arrsize(s_errors)) {
|
||||
if (code == kNetPending)
|
||||
return ERROR_STRING(kNetPending);
|
||||
return L"kNetPending";
|
||||
return L"ErrUnknown";
|
||||
}
|
||||
#undef ERROR_STRING
|
||||
|
||||
return s_errors[code];
|
||||
}
|
@ -39,17 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbError.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBERROR_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbError.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBERROR_H
|
||||
#ifndef pnNbError_inc
|
||||
#define pnNbError_inc
|
||||
|
||||
#include "hsTypes.h"
|
||||
#include "pnNbConst.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -130,3 +125,5 @@ enum ENetError {
|
||||
|
||||
const wchar * NetErrorToString (ENetError code); // user-friendly string
|
||||
const wchar * NetErrorAsString (ENetError code); // string version of enum identifier
|
||||
|
||||
#endif // pnNbError_inc
|
@ -39,14 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbKeys.cpp
|
||||
*
|
||||
***/
|
||||
|
||||
#include "../Pch.h"
|
||||
#pragma hdrstop
|
||||
#include "pnNbKeys.h"
|
||||
|
||||
// Auth Server
|
||||
byte kAuthDhNData[kNetDiffieHellmanKeyBits / 8] = {0};
|
@ -39,16 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbKeys.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBKEYS_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbKeys.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBKEYS_H
|
||||
#ifndef pnNbKeys_inc
|
||||
#define pnNbKeys_inc
|
||||
|
||||
#include "hsTypes.h"
|
||||
#include "pnNbConst.h"
|
||||
|
||||
// Auth Server
|
||||
static const unsigned kAuthDhGValue = 41;
|
||||
@ -69,3 +65,5 @@ extern byte kGameDhXData[kNetDiffieHellmanKeyBits / 8];
|
||||
static const unsigned kGateKeeperDhGValue = 4;
|
||||
extern byte kGateKeeperDhNData[kNetDiffieHellmanKeyBits / 8];
|
||||
extern byte kGateKeeperDhXData[kNetDiffieHellmanKeyBits / 8];
|
||||
|
||||
#endif // pnNbKeys_inc
|
@ -39,14 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbProtocol.cpp
|
||||
*
|
||||
***/
|
||||
|
||||
#include "../Pch.h"
|
||||
#pragma hdrstop
|
||||
#include "pnNbProtocol.h"
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -58,31 +52,29 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
//============================================================================
|
||||
const wchar * NetProtocolToString (ENetProtocol protocol) {
|
||||
|
||||
#define PROTOCOL_STRING(p) { p, L#p }
|
||||
static struct { ENetProtocol protocol; const wchar *name; } s_protocols[] = {
|
||||
PROTOCOL_STRING(kNetProtocolNil),
|
||||
{ kNetProtocolNil, L"kNetProtocolNil" },
|
||||
|
||||
// For test applications
|
||||
PROTOCOL_STRING(kNetProtocolDebug),
|
||||
{ kNetProtocolDebug, L"kNetProtocolDebug" },
|
||||
|
||||
// Client connections
|
||||
{ kNetProtocolCli2Csr, L"GateKeeper Server" },
|
||||
{ kNetProtocolCli2Csr, L"Csr Server" },
|
||||
{ kNetProtocolCli2Auth, L"Auth Server" },
|
||||
{ kNetProtocolCli2Game, L"Game Server" },
|
||||
{ kNetProtocolCli2File, L"File Server" },
|
||||
PROTOCOL_STRING(kNetProtocolCli2Unused_01),
|
||||
{ kNetProtocolCli2Csr, L"GateKeeper Server" },
|
||||
{ kNetProtocolCli2Csr, L"Csr Server" },
|
||||
{ kNetProtocolCli2Auth, L"Auth Server" },
|
||||
{ kNetProtocolCli2Game, L"Game Server" },
|
||||
{ kNetProtocolCli2File, L"File Server" },
|
||||
{ kNetProtocolCli2Unused_01, L"kNetProtocolCli2Unused_01" },
|
||||
|
||||
// Server connections
|
||||
PROTOCOL_STRING(kNetProtocolSrvConn),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2Mcp),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2Vault),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2Db),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2State),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2Log),
|
||||
PROTOCOL_STRING(kNetProtocolSrv2Score),
|
||||
{ kNetProtocolSrvConn, L"kNetProtocolSrvConn" },
|
||||
{ kNetProtocolSrv2Mcp, L"kNetProtocolSrv2Mcp" },
|
||||
{ kNetProtocolSrv2Vault, L"kNetProtocolSrv2Vault" },
|
||||
{ kNetProtocolSrv2Db, L"kNetProtocolSrv2Db" },
|
||||
{ kNetProtocolSrv2State, L"kNetProtocolSrv2State" },
|
||||
{ kNetProtocolSrv2Log, L"kNetProtocolSrv2Log" },
|
||||
{ kNetProtocolSrv2Score, L"kNetProtocolSrv2Score" },
|
||||
};
|
||||
#undef PROTOCOL_STRING
|
||||
|
||||
for (unsigned i = 0; i < arrsize(s_protocols); ++i)
|
||||
if (s_protocols[i].protocol == protocol)
|
@ -39,17 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbProtocol.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBPROTOCOL_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbProtocol.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBPROTOCOL_H
|
||||
#ifndef pnNbProtocol_inc
|
||||
#define pnNbProtocol_inc
|
||||
|
||||
#include "hsTypes.h"
|
||||
#include "pnNbConst.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -90,3 +85,5 @@ enum ENetProtocol {
|
||||
// cannot enforce this since the protocol values are not
|
||||
// numerically sequential.
|
||||
const wchar * NetProtocolToString (ENetProtocol protocol);
|
||||
|
||||
#endif // pnNbProtocol_inc
|
@ -39,14 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbSrvs.cpp
|
||||
*
|
||||
***/
|
||||
|
||||
#include "../Pch.h"
|
||||
#pragma hdrstop
|
||||
#include "pnNbSrvs.h"
|
||||
|
||||
#if !HS_BUILD_FOR_WIN32
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -97,7 +95,7 @@ unsigned GetAuthSrvHostnames (const wchar *** addrs) {
|
||||
//============================================================================
|
||||
void SetAuthSrvHostname (const wchar addr[]) {
|
||||
|
||||
StrCopy(s_authAddrConsole, addr, arrsize(s_authAddrConsole));
|
||||
wcsncpy(s_authAddrConsole, addr, arrsize(s_authAddrConsole));
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
@ -112,7 +110,7 @@ unsigned GetFileSrvHostnames (const wchar *** addrs) {
|
||||
//============================================================================
|
||||
void SetFileSrvHostname (const wchar addr[]) {
|
||||
|
||||
StrCopy(s_fileAddrConsole, addr, arrsize(s_fileAddrConsole));
|
||||
wcsncpy(s_fileAddrConsole, addr, arrsize(s_fileAddrConsole));
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
@ -127,7 +125,7 @@ unsigned GetCsrSrvHostnames (const wchar *** addrs) {
|
||||
//============================================================================
|
||||
void SetCsrSrvHostname (const wchar addr[]) {
|
||||
|
||||
StrCopy(s_csrAddrConsole, addr, arrsize(s_csrAddrConsole));
|
||||
wcsncpy(s_csrAddrConsole, addr, arrsize(s_csrAddrConsole));
|
||||
}
|
||||
|
||||
|
||||
@ -142,7 +140,7 @@ unsigned GetGateKeeperSrvHostnames (const wchar *** addrs) {
|
||||
|
||||
//============================================================================
|
||||
void SetGateKeeperSrvHostname (const wchar addr[]) {
|
||||
StrCopy(s_gateKeeperAddrConsole, addr, arrsize(s_gateKeeperAddrConsole));
|
||||
wcsncpy(s_gateKeeperAddrConsole, addr, arrsize(s_gateKeeperAddrConsole));
|
||||
}
|
||||
|
||||
|
||||
@ -160,7 +158,7 @@ const wchar *GetServerStatusUrl () {
|
||||
|
||||
//============================================================================
|
||||
void SetServerStatusUrl (const wchar url[]) {
|
||||
StrCopy(s_serverStatusUrl, url, arrsize(s_serverStatusUrl));
|
||||
wcsncpy(s_serverStatusUrl, url, arrsize(s_serverStatusUrl));
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
@ -170,7 +168,7 @@ const wchar *GetServerSignupUrl () {
|
||||
|
||||
//============================================================================
|
||||
void SetServerSignupUrl (const wchar url[]) {
|
||||
StrCopy(s_serverSignupUrl, url, arrsize(s_serverSignupUrl));
|
||||
wcsncpy(s_serverSignupUrl, url, arrsize(s_serverSignupUrl));
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
@ -180,5 +178,5 @@ const wchar *GetServerDisplayName () {
|
||||
|
||||
//============================================================================
|
||||
void SetServerDisplayName (const wchar name[]) {
|
||||
StrCopy(s_serverName, name, arrsize(s_serverName));
|
||||
wcsncpy(s_serverName, name, arrsize(s_serverName));
|
||||
}
|
@ -39,17 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbSrvs.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBSRVS_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/Private/pnNbSrvs.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PRIVATE_PNNBSRVS_H
|
||||
#ifndef pnNbSrvs_inc
|
||||
#define pnNbSrvs_inc
|
||||
|
||||
#include "hsTypes.h"
|
||||
#include "pnNbConst.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -109,3 +104,5 @@ void SetServerSignupUrl (const wchar url[]);
|
||||
|
||||
const wchar *GetServerDisplayName ();
|
||||
void SetServerDisplayName (const wchar name[]);
|
||||
|
||||
#endif // pnNbSrvs_inc
|
@ -39,23 +39,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetBase/pnNetBase.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifndef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PNNETBASE_H
|
||||
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PNNETBASE_H
|
||||
#ifndef pnNetBase_inc
|
||||
#define pnNetBase_inc
|
||||
|
||||
#include "pnNbConst.h"
|
||||
#include "pnNbError.h"
|
||||
#include "pnNbKeys.h"
|
||||
#include "pnNbProtocol.h"
|
||||
#include "pnNbSrvs.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Module includes
|
||||
*
|
||||
***/
|
||||
|
||||
#include "Private/pnNbAllIncludes.h"
|
||||
|
||||
|
||||
#endif // PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETBASE_PNNETBASE_H
|
||||
#endif // pnNetBase_inc
|
||||
|
Reference in New Issue
Block a user