src/proto2/Network.cc
author terom
Thu, 20 Nov 2008 19:25:56 +0000
branchno-netsession
changeset 36 785d220fc6b7
parent 35 e21cfda0edde
child 37 ed2957490bbf
permissions -rw-r--r--
...
35
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     1
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     2
#include "Network.hh"
36
terom
parents: 35
diff changeset
     3
#include "NetworkAddress.hh"
35
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     4
#include "Engine.hh"
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     5
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     6
void writeVector (CL_NetPacket &pkt, const Vector &vec) {
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     7
    pkt.output.write_float32(vec.x);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     8
    pkt.output.write_float32(vec.y);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
     9
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    10
/*
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    11
    int32_t x = vec.x * COORDINATE_MAX / MAP_WIDTH;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    12
    int32_t y = vec.y * COORDINATE_MAX / MAP_HEIGHT;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    13
    
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    14
    Engine::log(DEBUG, "network.write_vector") 
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    15
        << "vec=" << vec << " -> x=" << x << ", y=" << y;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    16
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    17
    pkt.output.write_int32(x);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    18
    pkt.output.write_int32(y);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    19
*/    
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    20
}
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    21
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    22
Vector readVector (CL_NetPacket &pkt) {
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    23
    float fx = pkt.input.read_float32();
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    24
    float fy = pkt.input.read_float32();
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    25
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    26
    Vector vec(fx, fy);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    27
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    28
/*    
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    29
    int32_t x = pkt.input.read_int32();
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    30
    int32_t y = pkt.input.read_int32();
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    31
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    32
    float fx = x * MAP_WIDTH / COORDINATE_MAX;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    33
    float fy = y * MAP_HEIGHT / COORDINATE_MAX;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    34
    
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    35
    Vector vec(fx, fy);
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    36
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    37
    Engine::log(DEBUG, "network.read_vector") << "x=" << x << ", y=" << y << " -> " << vec;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    38
*/    
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    39
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    40
    return vec;
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    41
}
e21cfda0edde Merge from at r31:36
terom
parents:
diff changeset
    42
36
terom
parents: 35
diff changeset
    43
std::ostream& operator<< (std::ostream &s, const NetworkAddress &addr) {
terom
parents: 35
diff changeset
    44
    s << "[" << addr.get_address() << ":" << addr.get_port() << "]";
terom
parents: 35
diff changeset
    45
terom
parents: 35
diff changeset
    46
    return s;
terom
parents: 35
diff changeset
    47
terom
parents: 35
diff changeset
    48
}