diff --git a/client/lobby.hpp b/client/lobby.hpp index 76b9b91..d19a7cc 100644 --- a/client/lobby.hpp +++ b/client/lobby.hpp @@ -23,9 +23,12 @@ #define LOBBY_HPP_ #include "base_scene.hpp" + #include "utilities.hpp" #include "defines.hpp" #include "singleton.hpp" + +#include "server_entry.hpp" #include "packet_type.hpp" #include "network_queue.hpp" #include "information_manager.hpp" @@ -39,11 +42,6 @@ #include #include -struct ServerEntry { - std::string name; - IPaddress address; -}; - class Lobby : public BaseScene { public: //Public access members diff --git a/libs/common/client_entry.hpp b/libs/common/client_entry.hpp new file mode 100644 index 0000000..d2dc41d --- /dev/null +++ b/libs/common/client_entry.hpp @@ -0,0 +1,31 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef CLIENTENTRY_HPP_ +#define CLIENTENTRY_HPP_ + +struct ClientEntry { + int index; + int channel; + int playerIndex; +}; + +#endif diff --git a/libs/common/player_entry.hpp b/libs/common/player_entry.hpp new file mode 100644 index 0000000..389bdeb --- /dev/null +++ b/libs/common/player_entry.hpp @@ -0,0 +1,38 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef PLAYERENTRY_HPP_ +#define PLAYERENTRY_HPP_ + +#include "vector2.hpp" + +#include + +struct PlayerEntry { + int index; + int clientIndex; + std::string handle; + std::string avatar; + Vector2 position; + Vector2 motion; +}; + +#endif diff --git a/libs/common/server_entry.hpp b/libs/common/server_entry.hpp new file mode 100644 index 0000000..baf6499 --- /dev/null +++ b/libs/common/server_entry.hpp @@ -0,0 +1,34 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef SERVERENTRY_HPP_ +#define SERVERENTRY_HPP_ + +#include "SDL_net/SDL_net.h" + +#include + +struct ServerEntry { + std::string name; + IPaddress address; +}; + +#endif diff --git a/server/server_application.cpp b/server/server_application.cpp index d8ee983..a52c232 100644 --- a/server/server_application.cpp +++ b/server/server_application.cpp @@ -115,9 +115,7 @@ void ServerApplication::Quit() { //------------------------- void ServerApplication::UpdateWorld(double delta) { - for (auto it : players) { - it.second.Update(delta); - } + // } //------------------------- @@ -186,7 +184,7 @@ void ServerApplication::HandleConnection(JoinRequest& request) { return; } //create the containers - ClientData client = { uniqueIndex++ }; + ClientEntry client = { uniqueIndex++ }; //bind the address client.channel = netUtil->Bind(&request.meta.address); diff --git a/server/server_application.hpp b/server/server_application.hpp index 02c849e..67a9b5c 100644 --- a/server/server_application.hpp +++ b/server/server_application.hpp @@ -27,6 +27,9 @@ #include "singleton.hpp" #include "network_queue.hpp" +#include "client_entry.hpp" +#include "player_entry.hpp" + #include "config_Utility.hpp" #include "udp_network_utility.hpp" #include "vector2.hpp" @@ -40,25 +43,6 @@ //lazy typedef std::chrono::high_resolution_clock Clock; -struct ClientData { - int index; - int channel; - int playerIndex; -}; - -struct PlayerData { - int index; - int clientIndex; - std::string handle; - std::string avatar; - Vector2 position; - Vector2 motion; - - void Update(double delta) { - position += motion * delta; - } -}; - class ServerApplication { public: ServerApplication(); @@ -85,8 +69,8 @@ private: //members Clock::time_point lastTick = Clock::now(); - std::map clients; - std::map players; + std::map clients; + std::map players; bool running = false;