Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/network/PacketGenerator.cc @ 199

Last change on this file since 199 was 199, checked in by dumenim, 16 years ago

Packet Decoder/Generator und PacketManager, generates and decodes packets send and receved by enet

File size: 1.4 KB
Line 
1#include "PacketManager.h"
2#include "enet/enet.h"
3#include <iostream>
4#include <list>
5#include <string>
6#include <cstring>
7
8using namespace std;
9using namespace network;
10
11PacketGenerator::PacketGenerator() {}
12
13ENetPacket* PacketGenerator::acknowledgement( int state, int reliable )
14{
15        cout << "generating new acknowledgement" << endl;
16        ack* ackreq = new ack;
17        ackreq->id = ACK;
18        ackreq->a = state;
19       
20        ENetPacket *packet = enet_packet_create( ackreq , sizeof( *ackreq ), reliable );
21       
22        return packet;
23}
24
25ENetPacket* PacketGenerator::mousem( double x, double y, int reliable )
26{
27        cout << "generating new mouse" << endl;
28        mouse* mousemove = new mouse;
29        mousemove->id = MOUSE;
30        mousemove->x = x;
31        mousemove->y = y;
32       
33        ENetPacket *packet = enet_packet_create( mousemove , sizeof( *mousemove ), reliable );
34       
35        return packet;
36}
37
38ENetPacket* PacketGenerator::keystrike( char press, int reliable )
39{
40        cout << "generating new keyboard" << endl;
41        keyboard* key = new keyboard;
42        key->id = KEYBOARD;
43        key->press = press;
44       
45        ENetPacket *packet = enet_packet_create( key , sizeof( *key ), reliable );
46       
47        return packet;
48}
49
50ENetPacket* PacketGenerator::chatMessage( const char* message, int reliable )
51{
52        int* trans = new int[sizeof(int) + strlen(message) + 1];
53        *trans = CHAT;
54        memcpy( &trans[1], (const void*)message, strlen( message ) + 1);
55        ENetPacket *packet = enet_packet_create( trans , sizeof( int ) + strlen( message ) + 1, reliable );
56       
57        return packet;
58}
59
Note: See TracBrowser for help on using the repository browser.