From cea74074719323b8f454860fa2199a03034270b8 Mon Sep 17 00:00:00 2001 From: Joseph Davies Date: Sun, 23 Oct 2011 21:09:38 -0700 Subject: [PATCH] Remove pnUtEndian and update pnNcCli for renamed endian functions. --- .../Plasma/NucleusLib/pnNetCli/pnNcCli.cpp | 30 +-- .../Plasma/NucleusLib/pnUtils/CMakeLists.txt | 2 - .../pnUtils/Private/pnUtAllIncludes.h | 1 - .../NucleusLib/pnUtils/Private/pnUtEndian.cpp | 146 -------------- .../NucleusLib/pnUtils/Private/pnUtEndian.h | 189 ------------------ 5 files changed, 15 insertions(+), 353 deletions(-) delete mode 100644 Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.cpp delete mode 100644 Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.h diff --git a/Sources/Plasma/NucleusLib/pnNetCli/pnNcCli.cpp b/Sources/Plasma/NucleusLib/pnNetCli/pnNcCli.cpp index 275f6def..63137468 100644 --- a/Sources/Plasma/NucleusLib/pnNetCli/pnNcCli.cpp +++ b/Sources/Plasma/NucleusLib/pnNetCli/pnNcCli.cpp @@ -280,7 +280,7 @@ static void BufferedSendData ( ASSERT(fieldCount-1 == sendMsg->msg.count); // insert messageId into command stream - const word msgId = hsSWAP16((word)msg[0]); + const word msgId = hsToLE16((word)msg[0]); AddToSendBuffer(cli, sizeof(word), (const void*)&msgId); ++msg; ASSERT_MSG_VALID(msg < msgEnd); @@ -303,11 +303,11 @@ static void BufferedSendData ( if (cmd->size == sizeof(byte)) { *(byte*)temp = *(byte*)msg; } else if (cmd->size == sizeof(word)) { - *(word*)temp = hsSWAP16(*(word*)msg); + *(word*)temp = hsToLE16(*(word*)msg); } else if (cmd->size == sizeof(dword)) { - *(dword*)temp = hsSWAP32(*(dword*)msg); + *(dword*)temp = hsToLE32(*(dword*)msg); } else if (cmd->size == sizeof(qword)) { - *(qword*)temp = hsSWAP64(*(qword*)msg); + *(qword*)temp = hsToLE64(*(qword*)msg); } } else @@ -317,11 +317,11 @@ static void BufferedSendData ( if (cmd->size == sizeof(byte)) { ((byte*)temp)[i] = ((byte*)*msg)[i]; } else if (cmd->size == sizeof(word)) { - ((word*)temp)[i] = hsSWAP16(((word*)*msg)[i]); + ((word*)temp)[i] = hsToLE16(((word*)*msg)[i]); } else if (cmd->size == sizeof(dword)) { - ((dword*)temp)[i] = hsSWAP32(((dword*)*msg)[i]); + ((dword*)temp)[i] = hsToLE32(((dword*)*msg)[i]); } else if (cmd->size == sizeof(qword)) { - ((qword*)temp)[i] = hsSWAP64(((qword*)*msg)[i]); + ((qword*)temp)[i] = hsToLE64(((qword*)*msg)[i]); } } } @@ -350,7 +350,7 @@ static void BufferedSendData ( const word length = (word) StrLen((const wchar *) *msg); ASSERT_MSG_VALID(length < cmd->count); // Write actual string length - word size = hsSWAP16(length); + word size = hsToLE16(length); AddToSendBuffer(cli, sizeof(word), (const void*)&size); // Write string data AddToSendBuffer(cli, length * sizeof(wchar), (const void *) *msg); @@ -370,7 +370,7 @@ static void BufferedSendData ( // remember the element size varSize = cmd->size; // write the actual element count - varCount = hsSWAP32((dword)*msg); + varCount = hsToLE32((dword)*msg); AddToSendBuffer(cli, sizeof(dword), (const void*)&varCount); } break; @@ -412,7 +412,7 @@ static bool DispatchData (NetCli * cli, void * param) { if (!cli->input.Get(sizeof(msgId), &msgId)) goto NEED_MORE_DATA; - msgId = hsSWAP16(msgId); + msgId = hsToLE16(msgId); if (nil == (cli->recvMsg = NetMsgChannelFindRecvMessage(cli->channel, msgId))) goto ERR_NO_HANDLER; @@ -453,11 +453,11 @@ static bool DispatchData (NetCli * cli, void * param) { // This is so screwed up >.< for (int i = 0; i < count; i++) { if (cli->recvField->size == sizeof(word)) { - ((word*)data)[i] = hsSWAP16(((word*)data)[i]); + ((word*)data)[i] = hsToLE16(((word*)data)[i]); } else if (cli->recvField->size == sizeof(dword)) { - ((dword*)data)[i] = hsSWAP32(((dword*)data)[i]); + ((dword*)data)[i] = hsToLE32(((dword*)data)[i]); } else if (cli->recvField->size == sizeof(qword)) { - ((qword*)data)[i] = hsSWAP64(((qword*)data)[i]); + ((qword*)data)[i] = hsToLE64(((qword*)data)[i]); } } @@ -507,7 +507,7 @@ static bool DispatchData (NetCli * cli, void * param) { } // Byte-swap value - dword val = hsSWAP32(*(dword*)data); + dword val = hsToLE32(*(dword*)data); // Prepare to read var-length field cli->recvFieldBytes = val * cli->recvField->size; @@ -537,7 +537,7 @@ static bool DispatchData (NetCli * cli, void * param) { word length; if (!cli->input.Get(sizeof(word), &length)) goto NEED_MORE_DATA; - cli->recvFieldBytes = hsSWAP16(length) * sizeof(wchar); + cli->recvFieldBytes = hsToLE16(length) * sizeof(wchar); // Validate size. Use >= instead of > to leave room for the NULL terminator. if (cli->recvFieldBytes >= cli->recvField->count * cli->recvField->size) diff --git a/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt b/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt index 7caf3e34..6820ede5 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt +++ b/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt @@ -22,8 +22,6 @@ set(pnUtils_PRIVATE Private/pnUtCoreLib.h Private/pnUtCrypt.h Private/pnUtCrypt.cpp - Private/pnUtEndian.h - Private/pnUtEndian.cpp Private/pnUtHash.h Private/pnUtHash.cpp Private/pnUtList.h diff --git a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAllIncludes.h b/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAllIncludes.h index 6f414890..b3b1cffa 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAllIncludes.h +++ b/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAllIncludes.h @@ -69,7 +69,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnUtCmd.h" #include "pnUtMisc.h" #include "pnUtCrypt.h" -#include "pnUtEndian.h" #include "pnUtSpareList.h" #include "pnUtSubst.h" #include "pnUtRand.h" diff --git a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.cpp b/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.cpp deleted file mode 100644 index df6a2e53..00000000 --- a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.cpp +++ /dev/null @@ -1,146 +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 . - -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/pnUtils/Private/pnUtEndian.cpp -* -***/ - -#include "../Pch.h" -#pragma hdrstop - - -/***************************************************************************** -* -* Big endian functions -* -***/ - -#ifdef BIG_ENDIAN - -//=========================================================================== -void EndianConvert (word * array, unsigned count) { - for (; count--; ++array) - *array = Endian(*array); -} - -//=========================================================================== -void EndianConvert (dword * array, unsigned count) { - for (; count--; ++array) - *array = Endian(*array); -} - -//=========================================================================== -void EndianConvert (qword * array, unsigned count) { - for (; count--; ++array) - *array = Endian(*array); -} - -//============================================================================ -void EndianConvert (byte * data, unsigned elemCount, unsigned elemBytes) { - switch (elemBytes) { - case sizeof(byte): - break; - - case sizeof(word): - EndianConvert((word *)data, elemCount); - break; - - case sizeof(dword): - EndianConvert((dword *)data, elemCount); - break; - - case sizeof(qword): - EndianConvert((qword *)data, elemCount); - break; - - DEFAULT_FATAL(elemBytes); - } -} - -//=========================================================================== -void EndianCopy (unsigned * dst, const word src[], unsigned count) { - for (; count--; ++src, ++dst) - *dst = (unsigned)Endian(*src); -} - -//=========================================================================== -void EndianCopy (unsigned * dst, const dword src[], unsigned count) { - for (; count--; ++src, ++dst) - *dst = (unsigned)Endian(*src); -} - -//=========================================================================== -void EndianCopy (unsigned * dst, const qword src[], unsigned count) { - for (; count--; ++src, ++dst) - *dst = (unsigned)Endian(*src); -} - -//============================================================================ -void EndianCopy ( - void * dst, - const byte src[], - unsigned elemCount, - unsigned elemBytes -) { - switch (elemBytes) { - case sizeof(byte): - MemCopy(dst, src, elemCount); - break; - - case sizeof(word): - EndianCopy((word *)dst, (const word *)src, elemCount); - break; - - case sizeof(dword): - EndianCopy((dword *)dst, (const dword *)src, elemCount); - break; - - case sizeof(qword): - EndianCopy((qword *)dst, (const qword *)src, elemCount); - break; - - DEFAULT_FATAL(elemBytes); - } -} - -#endif // BIG_ENDIAN diff --git a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.h b/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.h deleted file mode 100644 index 55de2e35..00000000 --- a/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.h +++ /dev/null @@ -1,189 +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 . - -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/pnUtils/Private/pnUtEndian.h -* -***/ - -#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILS_PRIVATE_PNUTENDIAN_H -#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtEndian.h included more than once" -#endif -#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILS_PRIVATE_PNUTENDIAN_H - -// NOTE: Because we predominantly run on little-endian CPUs, we don't -// convert to "network order" when sending integers across the network -// (tcp uses big-endian regardless of underlying hardware) and instead -// use little-endian as the "native" language of our network messages. - - -/***************************************************************************** -* -* Little endian functions -* -***/ - -#ifdef LITTLE_ENDIAN - -//============================================================================ -inline word Endian (word value) { return value; } -inline dword Endian (dword value) { return value; } -inline qword Endian (qword value) { return value; } - -//=========================================================================== -inline void EndianConvert ( - word * array, - unsigned count -) { - return; -} - -//=========================================================================== -inline void EndianConvert ( - dword * array, - unsigned count -) { - return; -} - -//=========================================================================== -inline void EndianConvert ( - qword * array, - unsigned count -) { - return; -} - -//=========================================================================== -inline void EndianConvert ( - byte * data, - unsigned elemCount, - unsigned elemBytes -) { - return; -} - -//=========================================================================== -inline void EndianCopy ( - word * dst, - const word src[], - unsigned count -) { - MemCopy(dst, src, count * sizeof(word)); -} - -//=========================================================================== -inline void EndianCopy ( - dword * dst, - const dword src[], - unsigned count -) { - MemCopy(dst, src, count * sizeof(dword)); -} - -//=========================================================================== -inline void EndianCopy ( - qword * dst, - const qword src[], - unsigned count -) { - MemCopy(dst, src, count * sizeof(qword)); -} - -//=========================================================================== -inline void EndianCopy ( - void * dst, - const byte src[], - unsigned elemCount, - unsigned elemBytes -) { - MemCopy(dst, src, elemCount * elemBytes); -} - - - -#endif // LITTLE_ENDIAN - - -/***************************************************************************** -* -* Big endian functions -* -***/ - -#ifdef BIG_ENDIAN - -//=========================================================================== -inline word Endian (word value) { - return (value >> 8) | (value << 8); -} - -//=========================================================================== -inline dword Endian (dword value) { - return ((value) << 24) | - ((value & 0x0000ff00) << 8) | - ((value & 0x00ff0000) >> 8) | - ((value) >> 24); -} - -//=========================================================================== -inline qword Endian (qword value) { - return ((value) << 56) | - ((value & 0x000000000000ff00) << 40) | - ((value & 0x0000000000ff0000) << 24) | - ((value & 0x00000000ff000000) << 8) | - ((value & 0x000000ff00000000) >> 8) | - ((value & 0x0000ff0000000000) >> 24) | - ((value & 0x00ff000000000000) >> 40) | - ((value) >> 56); -} - -void EndianConvert (word * array, unsigned count); -void EndianConvert (dword * array, unsigned count); -void EndianConvert (qword * array, unsigned count); -void EndianConvert (byte * data, unsigned elemCount, unsigned elemBytes); -void EndianCopy (word * dst, const word src[], unsigned count); -void EndianCopy (dword * dst, const dword src[], unsigned count); -void EndianCopy (qword * dst, const dword src[], unsigned count); -void EndianCopy (void * dst, const byte src[], unsigned elemCount, unsigned elemBytes); - -#endif