Hammered out server-side issues, read more
* Removed the client-only code from CharacterData, including the .cpp file * Removed CombatManager and EnemyManager instanciation
This commit is contained in:
@@ -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
|
||||
@@ -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 <string>
|
||||
#include <cmath>
|
||||
|
||||
//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
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
struct ClientData {
|
||||
IPaddress address = {0,0};
|
||||
//TODO: ping system?
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 <stdexcept>
|
||||
@@ -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<SerialPacket*>(&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
|
||||
//-------------------------
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user