diff --git a/server/barriers/barrier_api.cpp b/server/barriers/barrier_api.cpp index f4c41cc..506d10a 100644 --- a/server/barriers/barrier_api.cpp +++ b/server/barriers/barrier_api.cpp @@ -52,15 +52,17 @@ static int getTag(lua_State* L) { return 1; } -static int setInstance(lua_State* L) { +/* +static int setBattleIndex(lua_State* L) { BarrierData* barrier = static_cast(lua_touserdata(L, 1)); - barrier->SetInstanceIndex(lua_tointeger(L, 2)); + barrier->SetBattleIndex(lua_tointeger(L, 2)); return 0; } +*/ -static int getInstance(lua_State* L) { +static int getBattleIndex(lua_State* L) { BarrierData* barrier = static_cast(lua_touserdata(L, 1)); - lua_pushinteger(L, barrier->GetInstanceIndex()); + lua_pushinteger(L, barrier->GetBattleIndex()); return 1; } @@ -81,9 +83,8 @@ static const luaL_Reg barrierLib[] = { {"GetScript", getScript}, {"SetTag", setTag}, {"GetTag", getTag}, - //NOTE: Why is the instance mutable? - {"SetInstance", setInstance}, - {"GetInstance", getInstance}, +// {"SetBattleIndex", setBattleIndex}, + {"GetBattleIndex", getBattleIndex}, {"SetStatus", setStatus}, {"GetStatus", getStatus}, {nullptr, nullptr} diff --git a/server/barriers/barrier_data.cpp b/server/barriers/barrier_data.cpp index 3fa222a..aa6362f 100644 --- a/server/barriers/barrier_data.cpp +++ b/server/barriers/barrier_data.cpp @@ -28,7 +28,7 @@ BarrierData::BarrierData(int i): Entity::Entity("barrier") { - instanceIndex = i; + battleIndex = i; memset(status, 0, sizeof(int) * 8); SetBounds({ @@ -85,12 +85,12 @@ std::string BarrierData::GetTag(std::string key) { return tags[key]; } -int BarrierData::SetInstanceIndex(int i) { - return instanceIndex = i; +int BarrierData::SetBattleIndex(int i) { + return battleIndex = i; } -int BarrierData::GetInstanceIndex() const { - return instanceIndex; +int BarrierData::GetBattleIndex() const { + return battleIndex; } int BarrierData::SetStatus(int k, int v) { diff --git a/server/barriers/barrier_data.hpp b/server/barriers/barrier_data.hpp index ae78f4e..fb8fd23 100644 --- a/server/barriers/barrier_data.hpp +++ b/server/barriers/barrier_data.hpp @@ -31,7 +31,7 @@ class BarrierData: public Entity { public: - BarrierData(int instanceIndex); + BarrierData(int battleIndex); ~BarrierData(); int Update(lua_State*); @@ -43,8 +43,8 @@ public: std::string SetTag(std::string key, std::string value); std::string GetTag(std::string key); - int SetInstanceIndex(int i); - int GetInstanceIndex() const; + int SetBattleIndex(int i); + int GetBattleIndex() const; int SetStatus(int k, int v); int GetStatus(int k); @@ -55,7 +55,7 @@ private: int scriptRef = LUA_NOREF; std::map tags; - int instanceIndex; + int battleIndex; int status[8]; }; \ No newline at end of file diff --git a/server/combat/combat_instance.cpp b/server/battles/battle.cpp similarity index 70% rename from server/combat/combat_instance.cpp rename to server/battles/battle.cpp index b7d661c..63cd2a7 100644 --- a/server/combat/combat_instance.cpp +++ b/server/battles/battle.cpp @@ -19,33 +19,33 @@ * 3. This notice may not be removed or altered from any source * distribution. */ -#include "combat_instance.hpp" +#include "battle.hpp" -CombatInstance::CombatInstance() { +Battle::Battle() { // } -CombatInstance::~CombatInstance() { +Battle::~Battle() { // } -void CombatInstance::Update() { +void Battle::Update() { // } //accessors and mutators -void CombatInstance::PushCharacter(CharacterData* const characterData) { +void Battle::PushCharacter(CharacterData* const characterData) { // } -void CombatInstance::PopCharacter(CharacterData* const characterData) { +void Battle::PopCharacter(CharacterData* const characterData) { // } -void CombatInstance::PushCreature(CreatureData* const creatureData) { +void Battle::PushCreature(CreatureData* const creatureData) { // } -void CombatInstance::PopCreature(CreatureData* const creatureData) { +void Battle::PopCreature(CreatureData* const creatureData) { // } diff --git a/server/combat/combat_instance.hpp b/server/battles/battle.hpp similarity index 95% rename from server/combat/combat_instance.hpp rename to server/battles/battle.hpp index c2e94db..9061951 100644 --- a/server/combat/combat_instance.hpp +++ b/server/battles/battle.hpp @@ -26,10 +26,10 @@ #include -class CombatInstance { +class Battle { public: - CombatInstance(); - ~CombatInstance(); + Battle(); + ~Battle(); void Update(); diff --git a/server/combat/combat_instance_manager.cpp b/server/battles/battle_manager.cpp similarity index 60% rename from server/combat/combat_instance_manager.cpp rename to server/battles/battle_manager.cpp index af3df50..eaf282e 100644 --- a/server/combat/combat_instance_manager.cpp +++ b/server/battles/battle_manager.cpp @@ -19,26 +19,26 @@ * 3. This notice may not be removed or altered from any source * distribution. */ -#include "combat_instance_manager.hpp" +#include "battle_manager.hpp" -CombatInstanceManager::CombatInstanceManager() { +BattleManager::BattleManager() { //EMPTY } -CombatInstanceManager::~CombatInstanceManager() { +BattleManager::~BattleManager() { UnloadAll(); } //arg: a list of combats to be updated in the clients -void CombatInstanceManager::Update() { +void BattleManager::Update() { for (auto& it : elementMap) { it.second.Update(); } } -int CombatInstanceManager::Create() { +int BattleManager::Create() { //implicitly create the new object - elementMap.emplace( std::pair(counter, CombatInstance()) ); + elementMap.emplace( std::pair(counter, Battle()) ); //TODO: do various things like saving to the database return counter++; @@ -46,16 +46,16 @@ int CombatInstanceManager::Create() { //TODO: (1) combat load, save -void CombatInstanceManager::Unload(int uid) { +void BattleManager::Unload(int uid) { elementMap.erase(uid); } -void CombatInstanceManager::UnloadAll() { +void BattleManager::UnloadAll() { elementMap.clear(); } -void CombatInstanceManager::UnloadIf(std::function)> fn) { - std::map::iterator it = elementMap.begin(); +void BattleManager::UnloadIf(std::function)> fn) { + std::map::iterator it = elementMap.begin(); while (it != elementMap.end()) { if (fn(*it)) { it = elementMap.erase(it); @@ -66,8 +66,8 @@ void CombatInstanceManager::UnloadIf(std::function::iterator it = elementMap.find(uid); +Battle* BattleManager::Find(int uid) { + std::map::iterator it = elementMap.find(uid); if (it == elementMap.end()) { return nullptr; @@ -76,26 +76,26 @@ CombatInstance* CombatInstanceManager::Find(int uid) { return &it->second; } -int CombatInstanceManager::GetLoadedCount() { +int BattleManager::GetLoadedCount() { return elementMap.size(); } -std::map* CombatInstanceManager::GetContainer() { +std::map* BattleManager::GetContainer() { return &elementMap; } -lua_State* CombatInstanceManager::SetLuaState(lua_State* L) { +lua_State* BattleManager::SetLuaState(lua_State* L) { return lua = L; } -lua_State* CombatInstanceManager::GetLuaState() { +lua_State* BattleManager::GetLuaState() { return lua; } -sqlite3* CombatInstanceManager::SetDatabase(sqlite3* db) { +sqlite3* BattleManager::SetDatabase(sqlite3* db) { return database = db; } -sqlite3* CombatInstanceManager::GetDatabase() { +sqlite3* BattleManager::GetDatabase() { return database; } diff --git a/server/combat/combat_instance_manager.hpp b/server/battles/battle_manager.hpp similarity index 81% rename from server/combat/combat_instance_manager.hpp rename to server/battles/battle_manager.hpp index badd495..09faa59 100644 --- a/server/combat/combat_instance_manager.hpp +++ b/server/battles/battle_manager.hpp @@ -21,7 +21,7 @@ */ #pragma once -#include "combat_instance.hpp" +#include "battle.hpp" #include "lua.hpp" #include "sqlite3.h" @@ -29,10 +29,10 @@ #include #include -class CombatInstanceManager { +class BattleManager { public: - CombatInstanceManager(); - ~CombatInstanceManager(); + BattleManager(); + ~BattleManager(); //common public methods void Update(); @@ -41,12 +41,12 @@ public: void Unload(int uid); void UnloadAll(); - void UnloadIf(std::function)> fn); + void UnloadIf(std::function)> fn); //accessors & mutators - CombatInstance* Find(int uid); + Battle* Find(int uid); int GetLoadedCount(); - std::map* GetContainer(); + std::map* GetContainer(); //hooks lua_State* SetLuaState(lua_State* L); @@ -56,7 +56,7 @@ public: private: //members - std::map elementMap; + std::map elementMap; int counter = 0; lua_State* lua = nullptr; sqlite3* database = nullptr; diff --git a/server/combat/makefile b/server/battles/makefile similarity index 100% rename from server/combat/makefile rename to server/battles/makefile diff --git a/server/characters/makefile b/server/characters/makefile index a606e12..624661c 100644 --- a/server/characters/makefile +++ b/server/characters/makefile @@ -1,5 +1,5 @@ #config -INCLUDES+=. .. ../barriers ../combat ../creatures ../entities ../monsters ../inventory ../rooms ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities +INCLUDES+=. .. ../barriers ../battles ../creatures ../entities ../monsters ../inventory ../rooms ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities LIBS+= CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES)) diff --git a/server/makefile b/server/makefile index 553aecf..9968c92 100644 --- a/server/makefile +++ b/server/makefile @@ -1,5 +1,5 @@ #include directories -INCLUDES+=. accounts barriers characters clients combat creatures entities inventory rooms triggers ../common/debugging ../common/gameplay ../common/map ../common/network ../common/network/packet_types ../common/utilities +INCLUDES+=. accounts barriers battles characters clients creatures entities inventory rooms triggers ../common/debugging ../common/gameplay ../common/map ../common/network ../common/network/packet_types ../common/utilities #libraries #the order of the $(LIBS) is important, at least for MinGW @@ -31,9 +31,9 @@ OUT=$(addprefix $(OUTDIR)/,server) all: $(OBJ) $(OUT) $(MAKE) -C accounts $(MAKE) -C barriers + $(MAKE) -C battles $(MAKE) -C characters $(MAKE) -C clients - $(MAKE) -C combat $(MAKE) -C creatures $(MAKE) -C entities $(MAKE) -C inventory diff --git a/server/rooms/makefile b/server/rooms/makefile index 99dfa02..e1170a5 100644 --- a/server/rooms/makefile +++ b/server/rooms/makefile @@ -1,5 +1,5 @@ #config -INCLUDES+=. .. ../barriers ../characters ../combat ../creatures ../entities ../inventory ../monsters ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities +INCLUDES+=. .. ../barriers ../battles ../characters ../creatures ../entities ../inventory ../monsters ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities LIBS+= CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES)) diff --git a/server/rooms/room_data.cpp b/server/rooms/room_data.cpp index e642aa9..d552229 100644 --- a/server/rooms/room_data.cpp +++ b/server/rooms/room_data.cpp @@ -38,17 +38,17 @@ * characterList .UpdateAll() * creatureMgr .Update(updateAll) * barrierMgr .Update(updateAll) - * combatMgr .Update(updateAll) + * battleMgr .Update(updateAll) * * creatureMgr .SendUpdates() * barrierMgr .SendUpdates() - * //combatMgr .SendUpdates() //TODO: incomplete + * //battleMgr .SendUpdates() //TODO: incomplete * * triggerMgr .Compare(characterList) * * if (a character collides with a creature) * barrierMgr .Create() - * combatMgr .Create() + * battleMgr .Create() * * barrierMgr .Send() * @@ -111,8 +111,8 @@ void RoomData::RunFrameUpdates(bool updateAll) { creatureMgr.Update(&creatureList, updateAll); barrierMgr.Update(&barrierList, updateAll); - //update the combat instances - combatInstanceMgr.Update(); + //update the battles + battleMgr.Update(); //send the creature updates for (auto& it : creatureList) { @@ -132,7 +132,7 @@ void RoomData::RunFrameUpdates(bool updateAll) { pumpPacketProximity(reinterpret_cast(&packet), roomIndex, it.second->GetOrigin(), INFLUENCE_RADIUS); } - //TODO: send the combat instance updates + //TODO: send the battle updates } void RoomData::RunFrameTriggers() { @@ -159,8 +159,8 @@ void RoomData::RunFrameCharacterCreatureCollisions() { BoundingBox creatureBox = creatureIt.second.GetBounds() + creatureIt.second.GetOrigin(); if (characterBox.CheckOverlap(creatureBox)) { - //create the barrier and instance - int barrierIndex = barrierMgr.Create(combatInstanceMgr.Create()); //link the barrier to an instance + //create the barrier and battle + int barrierIndex = barrierMgr.Create(battleMgr.Create()); //link the barrier to a battle BarrierData* barrierData = barrierMgr.Find(barrierIndex); barrierData->SetRoomIndex(roomIndex); barrierData->SetOrigin({ @@ -203,11 +203,11 @@ void RoomData::RunFrameCharacterBarrierCollisions() { BoundingBox barrierBox = barrierIt.second.GetBounds() + barrierIt.second.GetOrigin(); if (characterBox.CheckOverlap(barrierBox)) { - //TODO: (0) actually move the character to an instance - CombatInstance* instance = combatInstanceMgr.Find(barrierIt.second.GetInstanceIndex()); + //TODO: (0) actually move the character to a battle + Battle* battle = battleMgr.Find(barrierIt.second.GetBattleIndex()); - //DEBUG: output barrierIndex, instanceIndex - std::cout << barrierIt.first << "\t" << barrierIt.second.GetInstanceIndex() << std::endl; + //DEBUG: output barrierIndex, battleIndex + std::cout << barrierIt.first << "\t" << barrierIt.second.GetBattleIndex() << std::endl; //only confirm one barrier per character break; diff --git a/server/rooms/room_data.hpp b/server/rooms/room_data.hpp index 91179e5..ccac6ca 100644 --- a/server/rooms/room_data.hpp +++ b/server/rooms/room_data.hpp @@ -23,7 +23,7 @@ #include "barrier_manager.hpp" #include "character_data.hpp" -#include "combat_instance_manager.hpp" +#include "battle_manager.hpp" #include "creature_manager.hpp" #include "region_pager_lua.hpp" #include "trigger_manager.hpp" @@ -89,7 +89,7 @@ private: int roomIndex = 0; BarrierManager barrierMgr; std::list characterList; - CombatInstanceManager combatInstanceMgr; + BattleManager battleMgr; CreatureManager creatureMgr; RegionPagerLua pager; TriggerManager triggerMgr;