summaryrefslogtreecommitdiff
path: root/src/net/ea/messageout.cpp
diff options
context:
space:
mode:
authorBertram <yohanndotferreiraatorange.fr>2010-04-16 13:58:56 +0200
committerBertram <yohanndotferreiraatorange.fr>2010-04-17 12:03:44 +0200
commit3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5 (patch)
tree5737c40d37a7b87897b9dc9b422198b28a18b13a /src/net/ea/messageout.cpp
parent924760c45e0f1aa1105e192bd83d6a4ce2c80f81 (diff)
downloadmana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.gz
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.bz2
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.xz
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.zip
Changed eAthena protocol name to TmwAthena and changed the config files accordingly.
This makes room for the actual eAthena protocol future inclusion.
Diffstat (limited to 'src/net/ea/messageout.cpp')
-rw-r--r--src/net/ea/messageout.cpp128
1 files changed, 0 insertions, 128 deletions
diff --git a/src/net/ea/messageout.cpp b/src/net/ea/messageout.cpp
deleted file mode 100644
index 844580a9..00000000
--- a/src/net/ea/messageout.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana Client.
- *
- * 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 2 of the License, or
- * 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/>.
- */
-
-#include "net/ea/messageout.h"
-
-#include "net/ea/network.h"
-
-#include <SDL.h>
-#include <SDL_endian.h>
-
-#include <cstring>
-#include <string>
-
-namespace EAthena {
-
-MessageOut::MessageOut(short id):
- Net::MessageOut(id)
-{
- mNetwork = EAthena::Network::instance();
- mData = mNetwork->mOutBuffer + mNetwork->mOutSize;
- writeInt16(id);
-}
-
-void MessageOut::expand(size_t bytes)
-{
- mNetwork->mOutSize += bytes;
-}
-
-void MessageOut::writeInt16(Sint16 value)
-{
- expand(2);
-#if SDL_BYTEORDER == SDL_BIG_ENDIAN
- Sint16 swap=SDL_Swap16(value);
- memcpy(mData + mPos, &swap, sizeof(Sint16));
-#else
- memcpy(mData + mPos, &value, sizeof(Sint16));
-#endif
- mPos += 2;
-}
-
-void MessageOut::writeInt32(Sint32 value)
-{
- expand(4);
-#if SDL_BYTEORDER == SDL_BIG_ENDIAN
- Sint32 swap=SDL_Swap32(value);
- memcpy(mData + mPos, &swap, sizeof(Sint32));
-#else
- memcpy(mData + mPos, &value, sizeof(Sint32));
-#endif
- mPos += 4;
-}
-
-#define LOBYTE(w) ((unsigned char)(w))
-#define HIBYTE(w) ((unsigned char)(((unsigned short)(w)) >> 8))
-
-void MessageOut::writeCoordinates(unsigned short x, unsigned short y,
- unsigned char direction)
-{
- char *data = mData + mPos;
- mNetwork->mOutSize += 3;
- mPos += 3;
-
- short temp;
- temp = x;
- temp <<= 6;
- data[0] = 0;
- data[1] = 1;
- data[2] = 2;
- data[0] = HIBYTE(temp);
- data[1] = (unsigned char) temp;
- temp = y;
- temp <<= 4;
- data[1] |= HIBYTE(temp);
- data[2] = LOBYTE(temp);
-
- // Translate direction to eAthena format
- switch (direction)
- {
- case 1:
- direction = 0;
- break;
- case 3:
- direction = 1;
- break;
- case 2:
- direction = 2;
- break;
- case 6:
- direction = 3;
- break;
- case 4:
- direction = 4;
- break;
- case 12:
- direction = 5;
- break;
- case 8:
- direction = 6;
- break;
- case 9:
- direction = 7;
- break;
- default:
- // OOPSIE! Impossible or unknown
- direction = (unsigned char) -1;
- }
- data[2] |= direction;
-}
-
-} // namespace EAthena