the great :retab
authorterom
Sun, 09 Nov 2008 20:40:46 +0000
changeset 24 b81cb670e6b2
parent 23 8d802b573cf0
child 25 af75a1894a32
the great :retab
src/proto2/Application.cc
src/proto2/Dimension.cc
src/proto2/Dimension.hh
src/proto2/Engine.cc
src/proto2/Engine.hh
src/proto2/GameState.hh
src/proto2/Logger.cc
src/proto2/Logger.hh
src/proto2/Network.hh
src/proto2/NetworkClient.cc
src/proto2/NetworkClient.hh
src/proto2/NetworkServer.cc
src/proto2/NetworkServer.hh
src/proto2/Protocol.hh
--- a/src/proto2/Application.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Application.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -8,109 +8,109 @@
 #include <ClanLib/application.h>
 
 class ArgumentError : public std::exception {
-	private:
-		const char *message;
-	
-	public:
-		ArgumentError (const std::string &message) : message(message.c_str()) { }
+    private:
+        const char *message;
+    
+    public:
+        ArgumentError (const std::string &message) : message(message.c_str()) { }
 
-		virtual const char* what() const throw() {
-			return message;
-		}
+        virtual const char* what() const throw() {
+            return message;
+        }
 };
 
 class Main : public CL_ClanApplication {
-	private:
-		// arguments
-		CL_CommandLine args;
-
-		std::string arg_port;
-		bool arg_dedicated;
-		std::string arg_connect;
-
-		void parse_args (int argc, char **argv) {
-			// set up the options
-			args.add_option('p', "port", "PORT", "set network port used", true);
-			args.add_option('D', "dedicated", "", "act as a network server", true);
-			args.add_option('c', "connect", "SERVERHOST", "act as a network client", true);
-
-			// set defaults
-			arg_port = NETWORK_PORT_STR;
-			arg_dedicated = false;
-			arg_connect = "";
-			
-			try {
-				// parse args
-				args.parse_args(argc, argv);
-			} catch (CL_Error &e) {
-				throw ArgumentError(e.message);
-			}
-
-			while (args.next()) {
-				switch (args.get_key()) {
-					case 'p':
-						arg_port = args.get_argument();
-						break;
-
-					case 'D':
-						arg_dedicated = true;
-						break;
-
-					case 'c':
-						arg_connect = args.get_argument();
-						break;
-
-					case CL_CommandLine::REST_ARG:
-						throw ArgumentError(args.get_argument());
-
-					default:
-						throw ArgumentError(std::string(1, (char) args.get_key()));
+    private:
+        // arguments
+        CL_CommandLine args;
 
-				}
-			}
-			
-			// check for valid combinations of arugments
-			if (arg_dedicated && !arg_connect.empty())
-				throw ArgumentError("-D and -c are mutually exclusive");
-			
-			if (!arg_dedicated && arg_connect.empty())
-				throw ArgumentError("nothing to do");
-		}
+        std::string arg_port;
+        bool arg_dedicated;
+        std::string arg_connect;
 
-	public:
-		virtual int main (int argc, char **argv) {
-			// initialize core
-			CL_SetupCore setup_core;
-			
-			try {
-				// parse arugments
-				parse_args(argc, argv);
-				
-				// run engine based on args
-				if (arg_dedicated) {
-					Engine::runNetworkServer(arg_port);
+        void parse_args (int argc, char **argv) {
+            // set up the options
+            args.add_option('p', "port", "PORT", "set network port used", true);
+            args.add_option('D', "dedicated", "", "act as a network server", true);
+            args.add_option('c', "connect", "SERVERHOST", "act as a network client", true);
 
-				} else if (!arg_connect.empty()) {
-					Engine::runNetworkClient(arg_connect, arg_port);
-				
-				} else
-					assert(false);
-				
-				// succesful return
-				return 0;
-			
-			} catch (ArgumentError &e) {
-				std::cerr << e.what() << std::endl;
-				args.print_help();
+            // set defaults
+            arg_port = NETWORK_PORT_STR;
+            arg_dedicated = false;
+            arg_connect = "";
+            
+            try {
+                // parse args
+                args.parse_args(argc, argv);
+            } catch (CL_Error &e) {
+                throw ArgumentError(e.message);
+            }
 
-				// XXX: handle --help
-				return 1;
+            while (args.next()) {
+                switch (args.get_key()) {
+                    case 'p':
+                        arg_port = args.get_argument();
+                        break;
 
-			} catch (std::exception &e) {
-				std::cerr << e.what() << std::endl;
+                    case 'D':
+                        arg_dedicated = true;
+                        break;
 
-				return 1;
-			}
-		}
+                    case 'c':
+                        arg_connect = args.get_argument();
+                        break;
+
+                    case CL_CommandLine::REST_ARG:
+                        throw ArgumentError(args.get_argument());
+
+                    default:
+                        throw ArgumentError(std::string(1, (char) args.get_key()));
+
+                }
+            }
+            
+            // check for valid combinations of arugments
+            if (arg_dedicated && !arg_connect.empty())
+                throw ArgumentError("-D and -c are mutually exclusive");
+            
+            if (!arg_dedicated && arg_connect.empty())
+                throw ArgumentError("nothing to do");
+        }
+
+    public:
+        virtual int main (int argc, char **argv) {
+            // initialize core
+            CL_SetupCore setup_core;
+            
+            try {
+                // parse arugments
+                parse_args(argc, argv);
+                
+                // run engine based on args
+                if (arg_dedicated) {
+                    Engine::runNetworkServer(arg_port);
+
+                } else if (!arg_connect.empty()) {
+                    Engine::runNetworkClient(arg_connect, arg_port);
+                
+                } else
+                    assert(false);
+                
+                // succesful return
+                return 0;
+            
+            } catch (ArgumentError &e) {
+                std::cerr << e.what() << std::endl;
+                args.print_help();
+
+                // XXX: handle --help
+                return 1;
+
+            } catch (std::exception &e) {
+                std::cerr << e.what() << std::endl;
+
+                return 1;
+            }
+        }
 } app;
 
--- a/src/proto2/Dimension.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Dimension.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -1,14 +1,14 @@
 #include "Dimension.hh"
 
 std::ostream& operator<< (std::ostream &s, const Coordinate &c) {
-	s << "(" << c.x << ", " << c.y << ")";
+    s << "(" << c.x << ", " << c.y << ")";
 
-	return s;
+    return s;
 }
 
 std::ostream& operator<< (std::ostream &s, const PositionDelta &c) {
-	s << "(" << c.dx << ", " << c.dy << ")";
+    s << "(" << c.dx << ", " << c.dy << ")";
 
-	return s;
+    return s;
 }
 
--- a/src/proto2/Dimension.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Dimension.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -4,44 +4,44 @@
 #include <iostream>
 
 class Dimension {
-	public:
-		uint32_t width;
-		uint32_t height;
+    public:
+        uint32_t width;
+        uint32_t height;
 
-		Dimension (uint32_t width, uint32_t height) : width(width), height(height) { }
+        Dimension (uint32_t width, uint32_t height) : width(width), height(height) { }
 };
 
 class PositionDelta {
-	public:
-		uint32_t dx;
-		uint32_t dy;
+    public:
+        uint32_t dx;
+        uint32_t dy;
 
-		PositionDelta (uint32_t dx, uint32_t dy) : dx(dx), dy(dy) { }
+        PositionDelta (uint32_t dx, uint32_t dy) : dx(dx), dy(dy) { }
 };
 
 class Coordinate {
-	public:
-		uint32_t x;
-		uint32_t y;
-
-		Coordinate (uint32_t x, uint32_t y) : x(x), y(y) { }
-
-		Coordinate &operator+= (const PositionDelta &d) {
-			this->x += d.dx;
-			this->y += d.dy;
+    public:
+        uint32_t x;
+        uint32_t y;
 
-			return *this;
-		}
+        Coordinate (uint32_t x, uint32_t y) : x(x), y(y) { }
 
-		uint32_t scaledX() {
-			// Scale the coordinate so that it 
-			// matches the pixel resolution
-			return this->x/1;
-		}
+        Coordinate &operator+= (const PositionDelta &d) {
+            this->x += d.dx;
+            this->y += d.dy;
 
-		uint32_t scaledY() {
-			return this->y/1;
-		}
+            return *this;
+        }
+
+        uint32_t scaledX() {
+            // Scale the coordinate so that it 
+            // matches the pixel resolution
+            return this->x/1;
+        }
+
+        uint32_t scaledY() {
+            return this->y/1;
+        }
 };
 
 std::ostream& operator<< (std::ostream &s, const Coordinate &c);
--- a/src/proto2/Engine.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Engine.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -11,65 +11,65 @@
 }
 
 void Engine::runNetworkServer (const std::string &listen_port) {
-	// the engine
-	Engine engine;
-	
-	// setup network
-	CL_SetupNetwork setup_network;
+    // the engine
+    Engine engine;
+    
+    // setup network
+    CL_SetupNetwork setup_network;
 
-	try {
-		// create the server
-		engine.net_server = new NetworkServer(engine.game_state, listen_port);
+    try {
+        // create the server
+        engine.net_server = new NetworkServer(engine.game_state, listen_port);
 
-		// run the main loop
-		engine.main_loop();
-	
-	} catch (CL_Error &e) {
-		std::cerr << "NetworkServer::main: CL_Error:" << e.message << std::endl;
+        // run the main loop
+        engine.main_loop();
+    
+    } catch (CL_Error &e) {
+        std::cerr << "NetworkServer::main: CL_Error:" << e.message << std::endl;
 
-		throw;
-	}
+        throw;
+    }
 }
 
 void Engine::runNetworkClient (const std::string &connect_host, const std::string &connect_port) {
-	// the engine
-	Engine engine;
-	
-	// setup network
-	CL_SetupNetwork setup_network;
-
-	// connect_to
-	CL_IPAddress connect_addr(connect_host, connect_port);
+    // the engine
+    Engine engine;
+    
+    // setup network
+    CL_SetupNetwork setup_network;
 
-	try {
-		// create the server
-		engine.net_client = new NetworkClient(engine.game_state, connect_addr);
+    // connect_to
+    CL_IPAddress connect_addr(connect_host, connect_port);
 
-		// run the main loop
-		engine.main_loop();
-	
-	} catch (CL_Error &e) {
-		std::cerr << "NetworkServer::main: CL_Error:" << e.message << std::endl;
+    try {
+        // create the server
+        engine.net_client = new NetworkClient(engine.game_state, connect_addr);
 
-		throw;
-	}
+        // run the main loop
+        engine.main_loop();
+    
+    } catch (CL_Error &e) {
+        std::cerr << "NetworkServer::main: CL_Error:" << e.message << std::endl;
+
+        throw;
+    }
 
 }
 
 void Engine::main_loop (void) {
-	while (is_running) {
-		// this does.... magical things
-		CL_System::keep_alive();
+    while (is_running) {
+        // this does.... magical things
+        CL_System::keep_alive();
 
-		// if I can't find some better way to do this in ClanLib by next thursday, then it f*%!ing sucks
-		// ideally, we should be able to have a main loop that does timed waits on I/O, fufilling some set of timers
-		// but as far as I can tell, ClanLib doesn't have anything like that
-		CL_System::sleep(100);
+        // if I can't find some better way to do this in ClanLib by next thursday, then it f*%!ing sucks
+        // ideally, we should be able to have a main loop that does timed waits on I/O, fufilling some set of timers
+        // but as far as I can tell, ClanLib doesn't have anything like that
+        CL_System::sleep(100);
 
-	}
+    }
 }
 
 Logger Engine::log (enum LogLevel level, const char *type) {
-	return Logger(level <= WARN ? std::cerr : std::cout, level, type);
+    return Logger(level <= WARN ? std::cerr : std::cout, level, type);
 }
 
--- a/src/proto2/Engine.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Engine.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -5,28 +5,29 @@
 #include "Logger.hh"
 
 class Engine {
-	private:
-		// game state
-		GameState game_state;
-		
-		// network server/client
-		NetworkServer *net_server;
-		NetworkClient *net_client;
+    private:
+        // game state
+        GameState game_state;
+        
+        // network server/client
+        NetworkServer *net_server;
+        NetworkClient *net_client;
 
-		// to exit the mainloop
-		bool is_running;
-		
-		// default constructor
-		Engine (void);
+        // to exit the mainloop
+        bool is_running;
+        
+        // default constructor
+        Engine (void);
 
-	public:
-		static void runNetworkServer (const std::string &listen_port);
-		static void runNetworkClient (const std::string &connect_host, const std::string &connect_port);
-		
-		static Logger log (enum LogLevel level, const char *type);
+    public:
+        static void runNetworkServer (const std::string &listen_port);
+        static void runNetworkClient (const std::string &connect_host, const std::string &connect_port);
+        
+                // logging utility
+        static Logger log (enum LogLevel level, const char *type);
 
-	private:
-		void main_loop (void);
+    private:
+        void main_loop (void);
 
 };
 
--- a/src/proto2/GameState.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/GameState.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -7,8 +7,8 @@
 #include <stdexcept>
 
 enum PlayerType {
-	PLAYER_LOCAL,
-	PLAYER_REMOTE
+    PLAYER_LOCAL,
+    PLAYER_REMOTE
 };
 
 #define PLAYER_DIM_W 10
@@ -17,79 +17,79 @@
 #define MAP_DIM_H 640
 
 class Player {
-	protected:
-		Coordinate position;
-
-	public:
-
-		Player(Coordinate c, bool visible) : position(c), dimensions(PLAYER_DIM_W, PLAYER_DIM_H), visible(visible) {}
+    protected:
+        Coordinate position;
 
-		PlayerType type;
-		Dimension dimensions;
-		bool visible;
+    public:
 
-		Coordinate getPosition (void) const {
-			return this->position;
-		}
-	
-	protected:
-		void updatePosition (Coordinate p) {
-			this->position = p;
-		}
+        Player(Coordinate c, bool visible) : position(c), dimensions(PLAYER_DIM_W, PLAYER_DIM_H), visible(visible) {}
+
+        PlayerType type;
+        Dimension dimensions;
+        bool visible;
+
+        Coordinate getPosition (void) const {
+            return this->position;
+        }
+    
+    protected:
+        void updatePosition (Coordinate p) {
+            this->position = p;
+        }
 
 };
 
 class LocalPlayer : public Player {
-	protected:
-		LocalPlayer (Coordinate c, bool visible) : Player(c, visible) { }
-	
-	public:
-		virtual void move (PositionDelta d) {
-			this->position += d;
-		}
+    protected:
+        LocalPlayer (Coordinate c, bool visible) : Player(c, visible) { }
+    
+    public:
+        virtual void move (PositionDelta d) {
+            this->position += d;
+        }
 };
 
 class RemotePlayer : public Player {
-	protected:
-		RemotePlayer (Coordinate c, bool visible) : Player(c, visible) { }
+    protected:
+        RemotePlayer (Coordinate c, bool visible) : Player(c, visible) { }
 
 };
 
 class GameState {
-	public:
-		Dimension map_dimensions;
-		std::list<Player*> player_list;
-
-		// only one local player is supported
-		LocalPlayer *local_player;
-
-		GameState (void) : map_dimensions(MAP_DIM_W, MAP_DIM_H), local_player(NULL) {
-
-		}
+    public:
+        Dimension map_dimensions;
+        std::list<Player*> player_list;
 
-		LocalPlayer &getLocalPlayer (void) {
-			if (!local_player)
-				throw std::logic_error("getLocalPlayer called with no local player");
-			
-			return *local_player;
-		}
-		
-		void newLocalPlayer (LocalPlayer *player) {
-			if (local_player)
-				throw std::logic_error("newLocalPlayer called even though we already have a local player");
+        // only one local player is supported
+        LocalPlayer *local_player;
 
-			player_list.push_back(player);
-
-			local_player = player;
-		}
+        GameState (void) : map_dimensions(MAP_DIM_W, MAP_DIM_H), local_player(NULL) {
 
-		void newRemotePlayer (RemotePlayer *player) {
-			player_list.push_back(player);
-		}
+        }
 
-		void removePlayer (Player *player) {
-			player_list.remove(player);
-		}
+        LocalPlayer &getLocalPlayer (void) {
+            if (!local_player)
+                throw std::logic_error("getLocalPlayer called with no local player");
+            
+            return *local_player;
+        }
+        
+        void newLocalPlayer (LocalPlayer *player) {
+            if (local_player)
+                throw std::logic_error("newLocalPlayer called even though we already have a local player");
+
+            player_list.push_back(player);
+
+            local_player = player;
+        }
+
+        void newRemotePlayer (RemotePlayer *player) {
+            player_list.push_back(player);
+        }
+
+        void removePlayer (Player *player) {
+            player_list.remove(player);
+        }
 };
 
 #endif
--- a/src/proto2/Logger.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Logger.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -2,39 +2,39 @@
 #include "Logger.hh"
 
 Logger::Logger (std::ostream &stream, enum LogLevel level, const char *module) : stream(stream), level(level), module(module) {
-	const char *l;
+    const char *l;
 
-	switch (level) {
-		case FATAL: l = "FATAL"; break;
-		case ERROR: l = "ERROR"; break;
-		case WARN: l = "WARN"; break;
-		case INFO: l = "INFO"; break;
-		case DEBUG: l = "DEBUG"; break;
-		default: l = "???"; break;
-	};
+    switch (level) {
+        case FATAL: l = "FATAL"; break;
+        case ERROR: l = "ERROR"; break;
+        case WARN: l = "WARN"; break;
+        case INFO: l = "INFO"; break;
+        case DEBUG: l = "DEBUG"; break;
+        default: l = "???"; break;
+    };
 
-	stream << l << " [" << module << "] ";
+    stream << l << " [" << module << "] ";
 }
 
 Logger::~Logger (void) {
-	stream << std::endl;
+    stream << std::endl;
 }
 
 std::ostream& operator<< (std::ostream &s, CL_NetComputer &c) {
-	s << "[" << c.get_address().get_address() << ":" << c.get_address().get_port() << "]";
+    s << "[" << c.get_address().get_address() << ":" << c.get_address().get_port() << "]";
 
-	return s;
+    return s;
 }
 
 std::ostream& operator<< (std::ostream &s, CL_NetObject_Server &obj) {
-	s << "%" << obj.get_obj_id();
+    s << "%" << obj.get_obj_id();
 
-	return s;
+    return s;
 }
 
 std::ostream& operator<< (std::ostream &s, CL_NetObject_Client &obj) {
-	s << "%" << obj.get_obj_id();
+    s << "%" << obj.get_obj_id();
 
-	return s;
+    return s;
 }
 
--- a/src/proto2/Logger.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Logger.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -6,30 +6,30 @@
 #include <iostream>
 
 enum LogLevel {
-	FATAL,
-	ERROR,
-	WARN,
-	INFO,
-	DEBUG,
+    FATAL,
+    ERROR,
+    WARN,
+    INFO,
+    DEBUG,
 };
 
 class Logger {
-	private:
-		std::ostream &stream;
-		enum LogLevel level;
-		const char *module;
+    private:
+        std::ostream &stream;
+        enum LogLevel level;
+        const char *module;
 
-	public:
-		Logger (std::ostream &stream, enum LogLevel level, const char *module);
+    public:
+        Logger (std::ostream &stream, enum LogLevel level, const char *module);
 
-		template <typename T> Logger& operator<< (T &val) {
-			stream << val;
+        template <typename T> Logger& operator<< (T &val) {
+            stream << val;
 
-			return *this;
-		}
+            return *this;
+        }
 
 
-		~Logger (void);
+        ~Logger (void);
 };
 
 std::ostream& operator<< (std::ostream &s, CL_NetComputer &c);
--- a/src/proto2/Network.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/Network.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -7,67 +7,67 @@
 #include <ClanLib/network.h>
 
 class NetworkCore {
-	protected:
-		GameState &state;
-
-		CL_SlotContainer slots;
+    protected:
+        GameState &state;
 
-		CL_NetSession netsession;
+        CL_SlotContainer slots;
 
-		CL_NetObject_Controller netobjs;
-		
-		// constructor
-		NetworkCore (GameState &state) : state(state), netsession(NETWORK_APP_NAME), netobjs(&netsession, NETWORK_NETOBJ_CHAN) { }
+        CL_NetSession netsession;
+
+        CL_NetObject_Controller netobjs;
+        
+        // constructor
+        NetworkCore (GameState &state) : state(state), netsession(NETWORK_APP_NAME), netobjs(&netsession, NETWORK_NETOBJ_CHAN) { }
 };
 
 enum NetworkMessage {
-	NETMSG_PACKET_INVALID	= 0x00,
-
-	/*
-	 * You have joined the game:
-	 *
-	 * 	uint32_t x
-	 * 	uint32_t y
-	 */
-	NETMSG_SERVER_HELLO	= 0x0100,
-
-	/*
-	 * New client has connected to server:
-	 *
-	 * 	uint32_t x
-	 * 	uint32_t y
-	 */
-	NETMSG_PLAYER_JOIN	= 0x0101,
+    NETMSG_PACKET_INVALID   = 0x00,
 
-	/*
-	 * Client has left server:
-	 *
-	 */
-	NETMSG_PLAYER_QUIT	= 0x0102,
+    /*
+     * You have joined the game:
+     *
+     *  uint32_t x
+     *  uint32_t y
+     */
+    NETMSG_SERVER_HELLO = 0x0100,
 
-	/*
-	 * Client has moved
-	 *
-	 * 	uint32_t dx
-	 * 	uint32_t dy
-	 */
-	NETMSG_CLIENT_MOVE	= 0x0201,
-	
-	/*
-	 * Initial player info
-	 *
-	 * 	uint32_t x
-	 * 	uint32_t y
-	 */
-	NETMSG_PLAYER_INFO	= 0x0300,
+    /*
+     * New client has connected to server:
+     *
+     *  uint32_t x
+     *  uint32_t y
+     */
+    NETMSG_PLAYER_JOIN  = 0x0101,
 
-	/*
-	 * Player position update
-	 *
-	 * 	uint32_t x
-	 * 	uint32_t y
-	 */
-	NETMSG_PLAYER_POSITION	= 0x0301,
+    /*
+     * Client has left server:
+     *
+     */
+    NETMSG_PLAYER_QUIT  = 0x0102,
+
+    /*
+     * Client has moved
+     *
+     *  uint32_t dx
+     *  uint32_t dy
+     */
+    NETMSG_CLIENT_MOVE  = 0x0201,
+    
+    /*
+     * Initial player info
+     *
+     *  uint32_t x
+     *  uint32_t y
+     */
+    NETMSG_PLAYER_INFO  = 0x0300,
+
+    /*
+     * Player position update
+     *
+     *  uint32_t x
+     *  uint32_t y
+     */
+    NETMSG_PLAYER_POSITION  = 0x0301,
 };
 
 #endif
--- a/src/proto2/NetworkClient.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/NetworkClient.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -4,144 +4,144 @@
 #include "Logger.hh"
 
 NetworkClient::NetworkClient (GameState &state, const CL_IPAddress &connect_to) : 
-	NetworkCore(state), server(netsession.connect(connect_to)) {
-	
-	// connect slots
-	slots.connect(netobjs.sig_create_object(), this, &NetworkClient::on_create_object);
+    NetworkCore(state), server(netsession.connect(connect_to)) {
+    
+    // connect slots
+    slots.connect(netobjs.sig_create_object(), this, &NetworkClient::on_create_object);
 
-	// XXX: sig_disconnected
+    // XXX: sig_disconnected
 }
 
 void NetworkClient::on_create_object (CL_NetObject_Client &obj, int msg_type, CL_NetPacket &pkt) {
-	switch (msg_type) {
-		case NETMSG_SERVER_HELLO:
-			on_server_hello(obj, pkt);
-
-			break;
-		
-		case NETMSG_PLAYER_INFO:
-			on_player_info(obj, pkt);
+    switch (msg_type) {
+        case NETMSG_SERVER_HELLO:
+            on_server_hello(obj, pkt);
 
-			break;
-		
-		case NETMSG_PLAYER_JOIN:
-			on_player_join(obj, pkt);
+            break;
+        
+        case NETMSG_PLAYER_INFO:
+            on_player_info(obj, pkt);
 
-			break;
+            break;
+        
+        case NETMSG_PLAYER_JOIN:
+            on_player_join(obj, pkt);
 
-		default:
-			Engine::log(WARN, "client.on_create_object") << "unknown msg_type=" << msg_type << " for obj=" << obj;
-	}
+            break;
+
+        default:
+            Engine::log(WARN, "client.on_create_object") << "unknown msg_type=" << msg_type << " for obj=" << obj;
+    }
 }
-		
+        
 void NetworkClient::on_server_hello (CL_NetObject_Client &obj, CL_NetPacket &pkt) {
-	// read the packet
-	uint32_t x = pkt.input.read_uint32();
-	uint32_t y = pkt.input.read_uint32();
+    // read the packet
+    uint32_t x = pkt.input.read_uint32();
+    uint32_t y = pkt.input.read_uint32();
 
-	Coordinate initial_position(x, y);
-	
-	Engine::log(INFO, "client.on_server_hello") << "obj=" << obj << ", pos=" << initial_position;
+    Coordinate initial_position(x, y);
+    
+    Engine::log(INFO, "client.on_server_hello") << "obj=" << obj << ", pos=" << initial_position;
 
-	// create the LocalPlayer object
-	NetworkClientLocalPlayer *player = new NetworkClientLocalPlayer(*this, obj, initial_position);
+    // create the LocalPlayer object
+    NetworkClientLocalPlayer *player = new NetworkClientLocalPlayer(*this, obj, initial_position);
 
-	// inform state
-	state.newLocalPlayer(player);
+    // inform state
+    state.newLocalPlayer(player);
 }
-		
+        
 void NetworkClient::on_player_info (CL_NetObject_Client &obj, CL_NetPacket &pkt) {
-	// read the packet
-	uint32_t x = pkt.input.read_uint32();
-	uint32_t y = pkt.input.read_uint32();
-	
-	Coordinate initial_position(x, y);
-	
-	Engine::log(INFO, "client.on_player_info") << "obj=" << obj << ", pos=" << initial_position;
+    // read the packet
+    uint32_t x = pkt.input.read_uint32();
+    uint32_t y = pkt.input.read_uint32();
+    
+    Coordinate initial_position(x, y);
+    
+    Engine::log(INFO, "client.on_player_info") << "obj=" << obj << ", pos=" << initial_position;
 
-	// create the LocalPlayer object
-	NetworkClientRemotePlayer *player = new NetworkClientRemotePlayer(*this, obj, initial_position);
+    // create the LocalPlayer object
+    NetworkClientRemotePlayer *player = new NetworkClientRemotePlayer(*this, obj, initial_position);
 
-	// inform state
-	state.newRemotePlayer(player);
+    // inform state
+    state.newRemotePlayer(player);
 
 }
-		
+        
 void NetworkClient::on_player_join (CL_NetObject_Client &obj, CL_NetPacket &pkt) {
-	// read the packet
-	uint32_t x = pkt.input.read_uint32();
-	uint32_t y = pkt.input.read_uint32();
-	
-	Coordinate initial_position(x, y);
-	
-	Engine::log(INFO, "client.on_player_join") << "obj=" << obj << ", pos=" << initial_position;
-	
-	// create the RemotePlayer object
-	NetworkClientRemotePlayer *player = new NetworkClientRemotePlayer(*this, obj, initial_position);
+    // read the packet
+    uint32_t x = pkt.input.read_uint32();
+    uint32_t y = pkt.input.read_uint32();
+    
+    Coordinate initial_position(x, y);
+    
+    Engine::log(INFO, "client.on_player_join") << "obj=" << obj << ", pos=" << initial_position;
+    
+    // create the RemotePlayer object
+    NetworkClientRemotePlayer *player = new NetworkClientRemotePlayer(*this, obj, initial_position);
 
-	// inform state
-	state.newRemotePlayer(player);
+    // inform state
+    state.newRemotePlayer(player);
 }
-		
+        
 void NetworkClient::player_quit (NetworkClientRemotePlayer *player) {
-	// inform state
-	state.removePlayer(player);
+    // inform state
+    state.removePlayer(player);
 
-	// delete
-	// XXX: leak because deleting the slot while it's being called breaks ClanLib
-	//	delete player;
+    // delete
+    // XXX: leak because deleting the slot while it's being called breaks ClanLib
+    //  delete player;
 }
 
 NetworkClientLocalPlayer::NetworkClientLocalPlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position) :
-	LocalPlayer(initial_position, true), client(client), obj(obj) {
-	
-	// receive messages
-	slots.connect(obj.sig_received_message(NETMSG_PLAYER_POSITION), this, &NetworkClientLocalPlayer::on_position);
+    LocalPlayer(initial_position, true), client(client), obj(obj) {
+    
+    // receive messages
+    slots.connect(obj.sig_received_message(NETMSG_PLAYER_POSITION), this, &NetworkClientLocalPlayer::on_position);
 }
-		
+        
 void NetworkClientLocalPlayer::move (PositionDelta d) {
-	CL_NetPacket pkt;
-	pkt.output.write_uint32(d.dx);
-	pkt.output.write_uint32(d.dy);
+    CL_NetPacket pkt;
+    pkt.output.write_uint32(d.dx);
+    pkt.output.write_uint32(d.dy);
 
-	obj.send(NETMSG_CLIENT_MOVE, pkt, false);
+    obj.send(NETMSG_CLIENT_MOVE, pkt, false);
 }
-		
+        
 void NetworkClientLocalPlayer::on_position (CL_NetPacket &pkt) {
-	uint32_t x = pkt.input.read_uint32();
-	uint32_t y = pkt.input.read_uint32();
-
-	Coordinate pos (x, y);
+    uint32_t x = pkt.input.read_uint32();
+    uint32_t y = pkt.input.read_uint32();
 
-	Engine::log(INFO, "client_player.on_position") << "obj=" << obj << ", pos=" << pos;
-	
-	updatePosition(pos);
+    Coordinate pos (x, y);
+
+    Engine::log(INFO, "client_player.on_position") << "obj=" << obj << ", pos=" << pos;
+    
+    updatePosition(pos);
 }
-		
+        
 NetworkClientRemotePlayer::NetworkClientRemotePlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position) :
-	RemotePlayer(initial_position, true), client(client), obj(obj) {
-	
-	// receive messages
-	slots.connect(obj.sig_received_message(NETMSG_PLAYER_POSITION), this, &NetworkClientRemotePlayer::on_position);
-	slots.connect(obj.sig_received_message(NETMSG_PLAYER_QUIT), this, &NetworkClientRemotePlayer::on_quit);
+    RemotePlayer(initial_position, true), client(client), obj(obj) {
+    
+    // receive messages
+    slots.connect(obj.sig_received_message(NETMSG_PLAYER_POSITION), this, &NetworkClientRemotePlayer::on_position);
+    slots.connect(obj.sig_received_message(NETMSG_PLAYER_QUIT), this, &NetworkClientRemotePlayer::on_quit);
 }
 
 void NetworkClientRemotePlayer::on_position (CL_NetPacket &pkt) {
-	uint32_t x = pkt.input.read_uint32();
-	uint32_t y = pkt.input.read_uint32();
-	
-	Coordinate pos (x, y);
+    uint32_t x = pkt.input.read_uint32();
+    uint32_t y = pkt.input.read_uint32();
+    
+    Coordinate pos (x, y);
 
-	Engine::log(INFO, "client_player.on_position") << "obj=" << obj << ", pos=" << pos;
-	
-	updatePosition(pos);
+    Engine::log(INFO, "client_player.on_position") << "obj=" << obj << ", pos=" << pos;
+    
+    updatePosition(pos);
 }
 
 void NetworkClientRemotePlayer::on_quit (CL_NetPacket &pkt) {
-	// pkt is empty
-	(void) pkt;
+    // pkt is empty
+    (void) pkt;
 
-	Engine::log(INFO, "client_player.on_quit") << "obj=" << obj;
+    Engine::log(INFO, "client_player.on_quit") << "obj=" << obj;
 
-	client.player_quit(this);
+    client.player_quit(this);
 }
--- a/src/proto2/NetworkClient.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/NetworkClient.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -8,55 +8,55 @@
 class NetworkClientRemotePlayer;
 
 class NetworkClient : public NetworkCore {
-	private:
-		CL_NetComputer server;
-		
-	public:
-		NetworkClient (GameState &state, const CL_IPAddress &connect_to);
+    private:
+        CL_NetComputer server;
+        
+    public:
+        NetworkClient (GameState &state, const CL_IPAddress &connect_to);
 
-	private:
-		void on_create_object (CL_NetObject_Client &obj, int msg_type, CL_NetPacket &pkt);
+    private:
+        void on_create_object (CL_NetObject_Client &obj, int msg_type, CL_NetPacket &pkt);
 
-		void on_server_hello (CL_NetObject_Client &obj, CL_NetPacket &pkt);
-		void on_player_info (CL_NetObject_Client &obj, CL_NetPacket &pkt);
-		void on_player_join (CL_NetObject_Client &obj, CL_NetPacket &pkt);
-	
-	public:
-		void player_quit (NetworkClientRemotePlayer *player);
+        void on_server_hello (CL_NetObject_Client &obj, CL_NetPacket &pkt);
+        void on_player_info (CL_NetObject_Client &obj, CL_NetPacket &pkt);
+        void on_player_join (CL_NetObject_Client &obj, CL_NetPacket &pkt);
+    
+    public:
+        void player_quit (NetworkClientRemotePlayer *player);
 };
 
 class NetworkClientLocalPlayer : public LocalPlayer {
-	private:
-		NetworkClient &client;
-
-		CL_SlotContainer slots;
-
-		CL_NetObject_Client obj;
+    private:
+        NetworkClient &client;
 
-	public:
-		NetworkClientLocalPlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position);
-		
-		virtual void move (PositionDelta d);
-	
-	private:
-		void on_position (CL_NetPacket &pkt);
+        CL_SlotContainer slots;
+
+        CL_NetObject_Client obj;
+
+    public:
+        NetworkClientLocalPlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position);
+        
+        virtual void move (PositionDelta d);
+    
+    private:
+        void on_position (CL_NetPacket &pkt);
 };
 
 class NetworkClientRemotePlayer : public RemotePlayer {
-	private:
-		NetworkClient &client;
-		
-		CL_SlotContainer slots;
-
-		CL_NetObject_Client obj;
+    private:
+        NetworkClient &client;
+        
+        CL_SlotContainer slots;
 
-	public:
-		NetworkClientRemotePlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position);
-	
-	private:
-		void on_position (CL_NetPacket &pkt);
+        CL_NetObject_Client obj;
 
-		void on_quit (CL_NetPacket &pkt);
+    public:
+        NetworkClientRemotePlayer (NetworkClient &client, CL_NetObject_Client &obj, Coordinate initial_position);
+    
+    private:
+        void on_position (CL_NetPacket &pkt);
+
+        void on_quit (CL_NetPacket &pkt);
 };
 
 #endif
--- a/src/proto2/NetworkServer.cc	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/NetworkServer.cc	Sun Nov 09 20:40:46 2008 +0000
@@ -5,119 +5,119 @@
 #include <cassert>
 
 NetworkServer::NetworkServer (GameState &state, const std::string &listen_port) : 
-	NetworkCore(state), pid_pool(0) {
-	
-	// connect slots
-	slots.connect(netsession.sig_computer_connected(), this, &NetworkServer::on_connect);
-	slots.connect(netsession.sig_computer_disconnected(), this, &NetworkServer::on_disconnect);
-	
-	// and then we listen
-	netsession.start_listen(listen_port);
+    NetworkCore(state), pid_pool(0) {
+    
+    // connect slots
+    slots.connect(netsession.sig_computer_connected(), this, &NetworkServer::on_connect);
+    slots.connect(netsession.sig_computer_disconnected(), this, &NetworkServer::on_disconnect);
+    
+    // and then we listen
+    netsession.start_listen(listen_port);
 
-	Engine::log(INFO, "server") << "running, listen_port=" << listen_port;
+    Engine::log(INFO, "server") << "running, listen_port=" << listen_port;
 }
 
 void NetworkServer::on_connect (CL_NetComputer &computer) {
-	// assign a pid
-	uint16_t pid = ++pid_pool;
-	
-	// create the player object (it logs it)
-	NetworkServerPlayer *player = new NetworkServerPlayer(*this, computer, pid);
-	
-	// map computer to it
-	players[computer] = player;
+    // assign a pid
+    uint16_t pid = ++pid_pool;
+    
+    // create the player object (it logs it)
+    NetworkServerPlayer *player = new NetworkServerPlayer(*this, computer, pid);
+    
+    // map computer to it
+    players[computer] = player;
 
-	// add to GameState
-	state.newRemotePlayer(player);
+    // add to GameState
+    state.newRemotePlayer(player);
 }
 
 void NetworkServer::on_disconnect (CL_NetComputer &computer) {
-	NetworkServerPlayer *player = players[computer];
-	
-	// remove from players
-	players.erase(computer);
-
-	// remove from state
-	state.removePlayer(player);
-
-	// remove from game
-	player->disconnected();
-
-	// delete
-	delete player;
-}
-		
-NetworkServerPlayer::NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid) : 
-	RemotePlayer(Coordinate(0, 0), true), server(server), computer(computer), obj(&server.netobjs), pid(pid) {
-	
-	// log
-	Engine::log(INFO, "server_player.connected") << "computer=" << computer << ", obj=" << obj;
+    NetworkServerPlayer *player = players[computer];
+    
+    // remove from players
+    players.erase(computer);
 
-	// messages
-	slots.connect(obj.sig_received_message(NETMSG_CLIENT_MOVE), this, &NetworkServerPlayer::on_move);	
-
-	// the initial NETMSG_PLAYER_HELLO
-	CL_NetPacket hello_pkt;
-	hello_pkt.output.write_uint32(position.x);
-	hello_pkt.output.write_uint32(position.y);
-
-	obj.send(computer, NETMSG_SERVER_HELLO, hello_pkt, true);
+    // remove from state
+    state.removePlayer(player);
 
-	// send other player objects
-	for (std::map<CL_NetComputer, NetworkServerPlayer*>::iterator it = server.players.begin(); it != server.players.end(); it++) {
-		NetworkServerPlayer *player = it->second;
-		CL_NetPacket player_pkt;
-		
-		// player is not in players list yet
-		assert(player != this);
+    // remove from game
+    player->disconnected();
 
-		player_pkt.output.write_uint32(player->position.x);
-		player_pkt.output.write_uint32(player->position.y);
+    // delete
+    delete player;
+}
+        
+NetworkServerPlayer::NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid) : 
+    RemotePlayer(Coordinate(0, 0), true), server(server), computer(computer), obj(&server.netobjs), pid(pid) {
+    
+    // log
+    Engine::log(INFO, "server_player.connected") << "computer=" << computer << ", obj=" << obj;
 
-		player->obj.send(computer, NETMSG_PLAYER_INFO, player_pkt, true);
-	}
+    // messages
+    slots.connect(obj.sig_received_message(NETMSG_CLIENT_MOVE), this, &NetworkServerPlayer::on_move);   
+
+    // the initial NETMSG_PLAYER_HELLO
+    CL_NetPacket hello_pkt;
+    hello_pkt.output.write_uint32(position.x);
+    hello_pkt.output.write_uint32(position.y);
+
+    obj.send(computer, NETMSG_SERVER_HELLO, hello_pkt, true);
+
+    // send other player objects
+    for (std::map<CL_NetComputer, NetworkServerPlayer*>::iterator it = server.players.begin(); it != server.players.end(); it++) {
+        NetworkServerPlayer *player = it->second;
+        CL_NetPacket player_pkt;
+        
+        // player is not in players list yet
+        assert(player != this);
+
+        player_pkt.output.write_uint32(player->position.x);
+        player_pkt.output.write_uint32(player->position.y);
+
+        player->obj.send(computer, NETMSG_PLAYER_INFO, player_pkt, true);
+    }
 
 
-	// broadcast NETMSG_PLAYER_JOIN to all clients
-	obj.send(server.netsession.get_all(), NETMSG_PLAYER_JOIN, hello_pkt, true);
+    // broadcast NETMSG_PLAYER_JOIN to all clients
+    obj.send(server.netsession.get_all(), NETMSG_PLAYER_JOIN, hello_pkt, true);
 }
 
 void NetworkServerPlayer::disconnected (void) {
-	CL_NetPacket pkt;
-	
-	Engine::log(INFO, "server_player.disconnected") << "computer=" << computer << ", obj=" << obj;
+    CL_NetPacket pkt;
+    
+    Engine::log(INFO, "server_player.disconnected") << "computer=" << computer << ", obj=" << obj;
 
-	obj.send(server.netsession.get_all(), NETMSG_PLAYER_QUIT, pkt, true);
+    obj.send(server.netsession.get_all(), NETMSG_PLAYER_QUIT, pkt, true);
 }
 
 void NetworkServerPlayer::on_move (CL_NetComputer &from, CL_NetPacket &pkt) {
-	// sanity-check
-	if (!(from == computer))
-		return;
-	
-	// read packet
-	uint32_t dx = pkt.input.read_uint32();
-	uint32_t dy = pkt.input.read_uint32();
-
-	// movement delta
-	PositionDelta delta(dx, dy);
-
-	Engine::log(INFO, "server_player.on_move") << "obj=" << obj << ", old_pos=" << position << ", delta=" << delta;
+    // sanity-check
+    if (!(from == computer))
+        return;
+    
+    // read packet
+    uint32_t dx = pkt.input.read_uint32();
+    uint32_t dy = pkt.input.read_uint32();
 
-	// apply movement
-	position += delta;
+    // movement delta
+    PositionDelta delta(dx, dy);
 
-	// send position update
-	send_position_update();
+    Engine::log(INFO, "server_player.on_move") << "obj=" << obj << ", old_pos=" << position << ", delta=" << delta;
+
+    // apply movement
+    position += delta;
+
+    // send position update
+    send_position_update();
 }
-		
+        
 void NetworkServerPlayer::send_position_update (void) {
-	CL_NetPacket pkt;
-	pkt.output.write_uint32(position.x);
-	pkt.output.write_uint32(position.y);
+    CL_NetPacket pkt;
+    pkt.output.write_uint32(position.x);
+    pkt.output.write_uint32(position.y);
 
-	Engine::log(INFO, "server_player.send_position_update") << "obj=" << obj << " -> " << position;
+    Engine::log(INFO, "server_player.send_position_update") << "obj=" << obj << " -> " << position;
 
-	obj.send(server.netsession.get_all(), NETMSG_PLAYER_POSITION, pkt, false);
+    obj.send(server.netsession.get_all(), NETMSG_PLAYER_POSITION, pkt, false);
 }
 
--- a/src/proto2/NetworkServer.hh	Sat Nov 08 21:25:56 2008 +0000
+++ b/src/proto2/NetworkServer.hh	Sun Nov 09 20:40:46 2008 +0000
@@ -12,43 +12,43 @@
 class NetworkServerPlayer;
 
 class NetworkServer : public NetworkCore {
-	friend class NetworkServerPlayer;
-
-	private:
-		uint16_t pid_pool;
-	
-	public:
-		std::map<CL_NetComputer, NetworkServerPlayer*> players;
+    friend class NetworkServerPlayer;
 
-	public:
-		NetworkServer (GameState &state, const std::string &listen_port);
+    private:
+        uint16_t pid_pool;
+    
+    public:
+        std::map<CL_NetComputer, NetworkServerPlayer*> players;
 
-	private:
-		void on_connect (CL_NetComputer &computer);
-		void on_disconnect (CL_NetComputer &computer);
+    public:
+        NetworkServer (GameState &state, const std::string &listen_port);
 
-	
+    private:
+        void on_connect (CL_NetComputer &computer);
+        void on_disconnect (CL_NetComputer &computer);
+
+    
 };
 
 class NetworkServerPlayer : public RemotePlayer {
-	private:
-		NetworkServer &server;
-		CL_NetComputer &computer;
-		CL_NetObject_Server obj;
-
-		CL_SlotContainer slots;
+    private:
+        NetworkServer &server;
+        CL_NetComputer &computer;
+        CL_NetObject_Server obj;
 
-		uint16_t pid;
-		
-	public:
-		NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid);
+        CL_SlotContainer slots;
 
-		void disconnected (void);
+        uint16_t pid;
+        
+    public:
+        NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid);
 
-	private:
-		void on_move (CL_NetComputer &from, CL_NetPacket &pkt);
+        void disconnected (void);
 
-		void send_position_update (void);
+    private:
+        void on_move (CL_NetComputer &from, CL_NetPacket &pkt);
+
+        void send_position_update (void);
 };
 
 #endif
--- a/src/proto2/Protocol.hh	Sat Nov 08 21:25:56 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-#ifndef PROTOCOL_HH
-#define PROTOCOL_HH
-
-#endif