src/proto2/Network.hh
author terom
Mon, 10 Nov 2008 18:21:23 +0000
branchno-netsession
changeset 32 2ff929186c90
parent 25 af75a1894a32
child 35 e21cfda0edde
permissions -rw-r--r--
write some mode code...
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 {
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    10
    protected:
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    11
        GameState &state;
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    12
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    13
        CL_SlotContainer slots;
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    14
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    15
        // constructor
32
2ff929186c90 write some mode code...
terom
parents: 25
diff changeset
    16
        NetworkCore (GameState &state) : state(state) { }
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    17
};
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    18
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    19
enum NetworkMessage {
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    20
    NETMSG_PACKET_INVALID   = 0x00,
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    21
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    22
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    23
     * You have joined the game:
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    24
     *
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    25
     *  uint32_t x
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    26
     *  uint32_t y
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    27
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    28
    NETMSG_SERVER_HELLO = 0x0100,
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    29
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    30
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    31
     * New client has connected to server:
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    32
     *
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    33
     *  uint32_t x
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    34
     *  uint32_t y
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    35
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    36
    NETMSG_PLAYER_JOIN  = 0x0101,
22
b70d30e1b0fe all the network code is now there, although it doesn't quite work
terom
parents: 21
diff changeset
    37
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    38
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    39
     * Client has left server:
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    40
     *
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    41
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    42
    NETMSG_PLAYER_QUIT  = 0x0102,
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    43
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    44
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    45
     * Client has moved
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    46
     *
25
af75a1894a32 simple proto *almost* works
terom
parents: 24
diff changeset
    47
     *  int32_t dx
af75a1894a32 simple proto *almost* works
terom
parents: 24
diff changeset
    48
     *  int32_t dy
24
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    49
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    50
    NETMSG_CLIENT_MOVE  = 0x0201,
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    51
    
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    52
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    53
     * Initial player info
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    54
     *
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    55
     *  uint32_t x
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    56
     *  uint32_t y
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    57
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    58
    NETMSG_PLAYER_INFO  = 0x0300,
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    59
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    60
    /*
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    61
     * Player position update
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    62
     *
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    63
     *  uint32_t x
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    64
     *  uint32_t y
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    65
     */
b81cb670e6b2 the great :retab
terom
parents: 22
diff changeset
    66
    NETMSG_PLAYER_POSITION  = 0x0301,
5
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    67
};
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    68
617813994ab1 move proto/p2 -> src/proto2
terom
parents:
diff changeset
    69
#endif