src/proto2/Network.hh
author terom
Sat, 08 Nov 2008 20:34:14 +0000
changeset 22 b70d30e1b0fe
parent 21 32c6cc55256a
child 24 b81cb670e6b2
permissions -rw-r--r--
all the network code is now there, although it doesn't quite work
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
     1
#ifndef NETWORK_HH
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
     2
#define NETWORK_HH
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
     3
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
     4
#include "NetworkConfig.hh"
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
     5
#include "GameState.hh"
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
     6
13
3fbb927c6a27 fix broken includes
terom
parents: 8
diff changeset
     7
#include <ClanLib/network.h>
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
     8
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
     9
class NetworkCore {
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    10
	protected:
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
    11
		GameState &state;
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    12
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
    13
		CL_SlotContainer slots;
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    14
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
    15
		CL_NetSession netsession;
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    16
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    17
		CL_NetObject_Controller netobjs;
21
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
    18
		
32c6cc55256a change proto2 network code to use CL_NetSession
terom
parents: 15
diff changeset
    19
		// constructor
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    20
		NetworkCore (GameState &state) : state(state), netsession(NETWORK_APP_NAME), netobjs(&netsession, NETWORK_NETOBJ_CHAN) { }
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    21
};
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    23
enum NetworkMessage {
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    24
	NETMSG_PACKET_INVALID	= 0x00,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    25
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    26
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    27
	 * You have joined the game:
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    28
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    29
	 * 	uint32_t x
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    30
	 * 	uint32_t y
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    31
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    32
	NETMSG_SERVER_HELLO	= 0x0100,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    33
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    34
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    35
	 * New client has connected to server:
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    36
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    37
	 * 	uint32_t x
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    38
	 * 	uint32_t y
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    39
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    40
	NETMSG_PLAYER_JOIN	= 0x0101,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    41
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    42
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    43
	 * Client has left server:
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    44
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    45
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    46
	NETMSG_PLAYER_QUIT	= 0x0102,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    47
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    48
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    49
	 * Client has moved
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    50
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    51
	 * 	uint32_t dx
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    52
	 * 	uint32_t dy
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    53
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    54
	NETMSG_CLIENT_MOVE	= 0x0201,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    55
	
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    56
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    57
	 * Initial player info
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    58
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    59
	 * 	uint32_t x
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    60
	 * 	uint32_t y
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    61
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    62
	NETMSG_PLAYER_INFO	= 0x0300,
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    63
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    64
	/*
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    65
	 * Player position update
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    66
	 *
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    67
	 * 	uint32_t x
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    68
	 * 	uint32_t y
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    69
	 */
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    70
	NETMSG_PLAYER_POSITION	= 0x0301,
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    71
};
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    72
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    73
#endif