diff --git a/client/character_data.hpp b/client/character_data.hpp index ec8f12d..8756346 100644 --- a/client/character_data.hpp +++ b/client/character_data.hpp @@ -34,7 +34,7 @@ #include #include -//TODO: encapsulate this +//TODO: encapsulate this and the server version struct CharacterData { //metadata int owner; diff --git a/common/ui/menu_bar.hpp b/common/ui/menu_bar.hpp index fdaf45c..e4dd392 100644 --- a/common/ui/menu_bar.hpp +++ b/common/ui/menu_bar.hpp @@ -36,6 +36,7 @@ * This class needs a rewrite. */ +//TODO: This thing is fucking terrible, fix it and the button class class MenuBar { public: MenuBar() = default; diff --git a/server/characters/character_data.cpp b/server/characters/character_data.cpp deleted file mode 100644 index 9824c79..0000000 --- a/server/characters/character_data.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright: (c) Kayne Ruse 2014 - * - * 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. -*/ -#include "character_data.hpp" - -void CharacterData::Update(double delta) { - if (motion.x && motion.y) { - origin += motion * delta * CHARACTER_WALKING_MOD; - } - else if (motion != 0) { - origin += motion * delta; - } -#ifdef GRAPHICS - sprite.Update(delta); -#endif -} - -#ifdef GRAPHICS - -void CharacterData::DrawTo(SDL_Surface* const dest, int camX, int camY) { - sprite.DrawTo(dest, origin.x - camX, origin.y - camY); -} - -void CharacterData::CorrectSprite() { - //NOTE: These must correspond to the sprite sheet in use - if (motion.y > 0) { - sprite.SetYIndex(0); - } - else if (motion.y < 0) { - sprite.SetYIndex(1); - } - else if (motion.x > 0) { - sprite.SetYIndex(3); - } - else if (motion.x < 0) { - sprite.SetYIndex(2); - } - - //animation - if (motion != 0) { - sprite.SetDelay(0.1); - } - else { - sprite.SetDelay(0); - sprite.SetXIndex(0); - } -} - -#endif \ No newline at end of file diff --git a/server/characters/character_data.hpp b/server/characters/character_data.hpp index fd9f553..5650e36 100644 --- a/server/characters/character_data.hpp +++ b/server/characters/character_data.hpp @@ -22,26 +22,15 @@ #ifndef CHARACTERDATA_HPP_ #define CHARACTERDATA_HPP_ +//components +#include "character_defines.hpp" #include "vector2.hpp" #include "statistics.hpp" -//graphics -#ifdef GRAPHICS - #include "sprite_sheet.hpp" -#endif - //std namespace #include #include -//the speeds that the characters move -constexpr double CHARACTER_WALKING_SPEED = 140.0; -constexpr double CHARACTER_WALKING_MOD = 1.0/sqrt(2.0); - -//the bounding boxes for the characters -constexpr double CHARACTER_BOUNDS_WIDTH = 32.0; -constexpr double CHARACTER_BOUNDS_HEIGHT = 32.0; - struct CharacterData { //metadata int owner; @@ -58,19 +47,8 @@ struct CharacterData { //TODO: gameplay components: equipment, items, buffs, debuffs - //methods - void Update(double delta); -#ifdef GRAPHICS - void DrawTo(SDL_Surface* const, int camX, int camY); - void CorrectSprite(); -#endif - //active gameplay members //NOTE: these are lost when unloaded -#ifdef GRAPHICS - Vector2 bounds = {0.0,0.0}; - SpriteSheet sprite; -#endif bool inCombat = false; int atbGauge = 0; //TODO: stored command diff --git a/server/client_data.hpp b/server/client_data.hpp index 7410b08..4a9c5bc 100644 --- a/server/client_data.hpp +++ b/server/client_data.hpp @@ -26,6 +26,7 @@ struct ClientData { IPaddress address = {0,0}; + //TODO: ping system? }; #endif diff --git a/server/rooms/room_manager.cpp b/server/rooms/room_manager.cpp index 81e83a5..5560050 100644 --- a/server/rooms/room_manager.cpp +++ b/server/rooms/room_manager.cpp @@ -75,6 +75,7 @@ void RoomManager::UnloadRoom(int uid) { RoomData* RoomManager::GetRoom(int uid) { return FindRoom(uid); + //TODO: expand this to auto-create the room } RoomData* RoomManager::FindRoom(int uid) { diff --git a/server/server_application.cpp b/server/server_application.cpp index 7396cda..0a4ebc0 100644 --- a/server/server_application.cpp +++ b/server/server_application.cpp @@ -21,8 +21,11 @@ */ #include "server_application.hpp" -#include "sql_utility.hpp" +//for PACKET_BUFFER_SIZE #include "serial.hpp" + +//utility functions +#include "sql_utility.hpp" #include "utility.hpp" #include @@ -80,9 +83,7 @@ void ServerApplication::Init(int argc, char** argv) { accountMgr.SetDatabase(database); characterMgr.SetDatabase(database); - combatMgr.SetLuaState(luaState); roomMgr.SetLuaState(luaState); - enemyMgr.SetLuaState(luaState); std::cout << "Internal managers set" << std::endl; @@ -355,12 +356,6 @@ void ServerApplication::HandleRegionRequest(RegionPacket* const argPacket) { network.SendTo(&argPacket->srcAddress, static_cast(&newPacket)); } -//------------------------- -//combat management -//------------------------- - -//TODO: combat management - //------------------------- //Character Management //------------------------- @@ -439,12 +434,6 @@ void ServerApplication::HandleCharacterUpdate(CharacterPacket* const argPacket) PumpPacket(argPacket); } -//------------------------- -//enemy management -//------------------------- - -//TODO: enemy management - //------------------------- //mismanagement //------------------------- diff --git a/server/server_application.hpp b/server/server_application.hpp index ca2129b..c5d0c1d 100644 --- a/server/server_application.hpp +++ b/server/server_application.hpp @@ -22,12 +22,10 @@ #ifndef SERVERAPPLICATION_HPP_ #define SERVERAPPLICATION_HPP_ -//server specific stuff +//server specific stuff, mostly managers +#include "client_data.hpp" #include "account_manager.hpp" #include "character_manager.hpp" -#include "client_data.hpp" -#include "combat_manager.hpp" -#include "enemy_manager.hpp" #include "room_manager.hpp" //common utilities @@ -67,17 +65,11 @@ private: //map management void HandleRegionRequest(RegionPacket* const); - //combat management - //TODO: combat management - //character management void HandleCharacterNew(CharacterPacket* const); void HandleCharacterDelete(CharacterPacket* const); void HandleCharacterUpdate(CharacterPacket* const); - //enemy management - //TODO: enemy management - //mismanagement void HandleSynchronize(ClientPacket* const); @@ -99,8 +91,6 @@ private: //managers AccountManager accountMgr; CharacterManager characterMgr; - CombatManager combatMgr; - EnemyManager enemyMgr; RoomManager roomMgr; //misc