summaryrefslogtreecommitdiff
path: root/src/net/protocol.cpp
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2005-09-17 13:51:37 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2005-09-17 13:51:37 +0000
commite846d4502b59a1a3b8d658a37ae5b5ce4aa1c00c (patch)
tree8feb8b51d731057412a59aeddbbe83b75b09912a /src/net/protocol.cpp
parent3bfcee0d9c033a46fe1b13795d89909c8fb6a239 (diff)
downloadmana-client-e846d4502b59a1a3b8d658a37ae5b5ce4aa1c00c.tar.gz
mana-client-e846d4502b59a1a3b8d658a37ae5b5ce4aa1c00c.tar.bz2
mana-client-e846d4502b59a1a3b8d658a37ae5b5ce4aa1c00c.tar.xz
mana-client-e846d4502b59a1a3b8d658a37ae5b5ce4aa1c00c.zip
Completed transition to use MessageOut.
Diffstat (limited to 'src/net/protocol.cpp')
-rw-r--r--src/net/protocol.cpp40
1 files changed, 18 insertions, 22 deletions
diff --git a/src/net/protocol.cpp b/src/net/protocol.cpp
index 5a1ed9c5..2e4089d4 100644
--- a/src/net/protocol.cpp
+++ b/src/net/protocol.cpp
@@ -24,6 +24,7 @@
#include "protocol.h"
#include "messagein.h"
+#include "messageout.h"
#include "network.h"
#include "../being.h"
@@ -78,12 +79,13 @@ void map_start()
}
// Send login infos
- writeWord(0, 0x0072);
- writeLong(2, account_ID);
- writeLong(6, char_ID);
- writeLong(10, session_ID1);
- writeLong(14, session_ID2);
- writeByte(18, sex);
+ MessageOut outMsg;
+ outMsg.writeShort(0x0072);
+ outMsg.writeLong(account_ID);
+ outMsg.writeLong(char_ID);
+ outMsg.writeLong(session_ID1);
+ outMsg.writeLong(session_ID2);
+ outMsg.writeByte(sex);
writeSet(19);
// Skip a mysterious 4 bytes
@@ -113,34 +115,28 @@ void map_start()
skip(msg.getLength());
// Send "map loaded"
- writeWord(0, 0x007d);
+ // TODO: be able to reuse the same msg
+ MessageOut newMsg;
+ newMsg.writeShort(0x007d);
writeSet(2);
- flush();
}
void walk(unsigned short x, unsigned short y, unsigned char direction)
{
char temp[3];
+ MessageOut outMsg;
set_coordinates(temp, x, y, direction);
- writeWord(0, 0x0085);
- memcpy(writePointer(2), temp, 3);
+ outMsg.writeShort(0x0085);
+ outMsg.writeString(temp, 3);
writeSet(5);
}
-void speak(char *speech)
-{
- int len = (int)strlen(speech);
- writeWord(0, 0x008c);
- writeWord(2, len + 4);
- memcpy(writePointer(4), speech, len);
- writeSet(len + 4);
-}
-
void action(char type, int id)
{
- writeWord(0, 0x0089);
- writeLong(2, id);
- writeByte(6, type);
+ MessageOut outMsg;
+ outMsg.writeShort(0x0089);
+ outMsg.writeLong(id);
+ outMsg.writeByte(type);
writeSet(7);
}