--- a/src/proto2/CMakeLists.txt Tue Nov 04 22:29:18 2008 +0000
+++ b/src/proto2/CMakeLists.txt Wed Nov 05 20:39:44 2008 +0000
@@ -22,8 +22,8 @@
# Assumes the project generates only one executable. If you need more, you'll need to alter
# the script and replace ${PROJECT_SHORT_NAME} by executable name.
-add_executable("${PROJECT_SHORT_NAME}/proto2" ${SOURCES})
-target_link_libraries("${PROJECT_SHORT_NAME}/proto2" ${LIBS})
-install(TARGETS "${PROJECT_SHORT_NAME}/proto2" DESTINATION bin)
+add_executable("${PROJECT_SHORT_NAME}-p2" ${SOURCES})
+target_link_libraries("${PROJECT_SHORT_NAME}-p2" ${LIBS})
+install(TARGETS "${PROJECT_SHORT_NAME}-p2" DESTINATION bin)
--- a/src/proto2/GameState.hh Tue Nov 04 22:29:18 2008 +0000
+++ b/src/proto2/GameState.hh Wed Nov 05 20:39:44 2008 +0000
@@ -47,6 +47,10 @@
Dimension map_dimensions;
std::list<Player> player_list;
+ GameState (void) : map_dimensions(800, 640) {
+
+ }
+
LocalPlayer &getLocalPlayer (void) {
// XXX: jotain
}
--- a/src/proto2/Network.hh Tue Nov 04 22:29:18 2008 +0000
+++ b/src/proto2/Network.hh Wed Nov 05 20:39:44 2008 +0000
@@ -3,8 +3,8 @@
#include <ClanLib/Network/socket.h>
-#define NETWORK_PORT_STR "9338"
-#define NETWORK_PACKET_MAX 1280
+const uint16_t NETWORK_PORT = 9338;
+const uint16_t NETWORK_PACKET_MAX = 1280;
class NetworkBase {
protected:
--- a/src/proto2/NetworkServer.cc Tue Nov 04 22:29:18 2008 +0000
+++ b/src/proto2/NetworkServer.cc Wed Nov 05 20:39:44 2008 +0000
@@ -2,6 +2,8 @@
#include <iostream>
+#include <ClanLib/network.h>
+
NetworkServer::NetworkServer (GameState *state, const CL_IPAddress &listen_ip) : NetworkBase(), state(state) {
socket.bind(listen_ip);
socket.listen(NETWORK_SERVER_BACKLOG);
@@ -10,17 +12,17 @@
listener.add_trigger(socket.get_read_trigger());
// bind slot for recv
- slot_on_recv = socket.sig_read_triggered.connect(this, &NetworkServer::_onRecv);
+ slot_on_recv = socket.sig_read_triggered().connect(this, &NetworkServer::_onRecv);
}
-static NetworkServer *NetworkServer::newServer (void) {
+NetworkServer *NetworkServer::newServer (void) {
GameState *state = new GameState(/* XXX */);
- CL_IPAddress listen_ip(NETWORK_PORT_STR);
+ CL_IPAddress listen_ip(NETWORK_PORT);
return new NetworkServer(state, listen_ip);
}
-void run (void) {
+void NetworkServer::run (void) {
bool isRunning = true;
while (isRunning) {
@@ -32,10 +34,10 @@
void NetworkServer::_onRecv (void) {
char buf[NETWORK_PACKET_MAX];
- CL_Socket src;
+ CL_IPAddress src;
int ret;
- ret = socket.recv(buf, NETWORK_PACKET_MAX, src);
+ ret = socket.recv((void*) buf, NETWORK_PACKET_MAX, src);
std::cout << src.get_address() << ":" << src.get_port() << " <- " << std::string(buf, NETWORK_PACKET_MAX) << std::endl;
}
@@ -44,10 +46,6 @@
}
-void NetworkServerClient::_onRecv (void) {
-
-}
-
void runNetworkServer (void) {
NetworkServer *server = NULL;
@@ -56,6 +54,11 @@
}
int main (int argc, char **argv) {
+ // setup ClanLib components
+ CL_SetupCore setup_core;
+ CL_SetupNetwork setup_network;
+
+ // create the gamestate and run the server
runNetworkServer();
return 0;