Renamed CombatInstance to Battle, for clarity

This commit is contained in:
2016-07-11 10:14:07 +10:00
parent 69a13c5ed6
commit 6d8d7963a1
13 changed files with 72 additions and 71 deletions
+8 -7
View File
@@ -52,15 +52,17 @@ static int getTag(lua_State* L) {
return 1; return 1;
} }
static int setInstance(lua_State* L) { /*
static int setBattleIndex(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1)); BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
barrier->SetInstanceIndex(lua_tointeger(L, 2)); barrier->SetBattleIndex(lua_tointeger(L, 2));
return 0; return 0;
} }
*/
static int getInstance(lua_State* L) { static int getBattleIndex(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1)); BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
lua_pushinteger(L, barrier->GetInstanceIndex()); lua_pushinteger(L, barrier->GetBattleIndex());
return 1; return 1;
} }
@@ -81,9 +83,8 @@ static const luaL_Reg barrierLib[] = {
{"GetScript", getScript}, {"GetScript", getScript},
{"SetTag", setTag}, {"SetTag", setTag},
{"GetTag", getTag}, {"GetTag", getTag},
//NOTE: Why is the instance mutable? // {"SetBattleIndex", setBattleIndex},
{"SetInstance", setInstance}, {"GetBattleIndex", getBattleIndex},
{"GetInstance", getInstance},
{"SetStatus", setStatus}, {"SetStatus", setStatus},
{"GetStatus", getStatus}, {"GetStatus", getStatus},
{nullptr, nullptr} {nullptr, nullptr}
+5 -5
View File
@@ -28,7 +28,7 @@
BarrierData::BarrierData(int i): BarrierData::BarrierData(int i):
Entity::Entity("barrier") Entity::Entity("barrier")
{ {
instanceIndex = i; battleIndex = i;
memset(status, 0, sizeof(int) * 8); memset(status, 0, sizeof(int) * 8);
SetBounds({ SetBounds({
@@ -85,12 +85,12 @@ std::string BarrierData::GetTag(std::string key) {
return tags[key]; return tags[key];
} }
int BarrierData::SetInstanceIndex(int i) { int BarrierData::SetBattleIndex(int i) {
return instanceIndex = i; return battleIndex = i;
} }
int BarrierData::GetInstanceIndex() const { int BarrierData::GetBattleIndex() const {
return instanceIndex; return battleIndex;
} }
int BarrierData::SetStatus(int k, int v) { int BarrierData::SetStatus(int k, int v) {
+4 -4
View File
@@ -31,7 +31,7 @@
class BarrierData: public Entity { class BarrierData: public Entity {
public: public:
BarrierData(int instanceIndex); BarrierData(int battleIndex);
~BarrierData(); ~BarrierData();
int Update(lua_State*); int Update(lua_State*);
@@ -43,8 +43,8 @@ public:
std::string SetTag(std::string key, std::string value); std::string SetTag(std::string key, std::string value);
std::string GetTag(std::string key); std::string GetTag(std::string key);
int SetInstanceIndex(int i); int SetBattleIndex(int i);
int GetInstanceIndex() const; int GetBattleIndex() const;
int SetStatus(int k, int v); int SetStatus(int k, int v);
int GetStatus(int k); int GetStatus(int k);
@@ -55,7 +55,7 @@ private:
int scriptRef = LUA_NOREF; int scriptRef = LUA_NOREF;
std::map<std::string, std::string> tags; std::map<std::string, std::string> tags;
int instanceIndex; int battleIndex;
int status[8]; int status[8];
}; };
@@ -19,33 +19,33 @@
* 3. This notice may not be removed or altered from any source * 3. This notice may not be removed or altered from any source
* distribution. * 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 //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) {
// //
} }
@@ -26,10 +26,10 @@
#include <functional> #include <functional>
class CombatInstance { class Battle {
public: public:
CombatInstance(); Battle();
~CombatInstance(); ~Battle();
void Update(); void Update();
@@ -19,26 +19,26 @@
* 3. This notice may not be removed or altered from any source * 3. This notice may not be removed or altered from any source
* distribution. * distribution.
*/ */
#include "combat_instance_manager.hpp" #include "battle_manager.hpp"
CombatInstanceManager::CombatInstanceManager() { BattleManager::BattleManager() {
//EMPTY //EMPTY
} }
CombatInstanceManager::~CombatInstanceManager() { BattleManager::~BattleManager() {
UnloadAll(); UnloadAll();
} }
//arg: a list of combats to be updated in the clients //arg: a list of combats to be updated in the clients
void CombatInstanceManager::Update() { void BattleManager::Update() {
for (auto& it : elementMap) { for (auto& it : elementMap) {
it.second.Update(); it.second.Update();
} }
} }
int CombatInstanceManager::Create() { int BattleManager::Create() {
//implicitly create the new object //implicitly create the new object
elementMap.emplace( std::pair<int, CombatInstance>(counter, CombatInstance()) ); elementMap.emplace( std::pair<int, Battle>(counter, Battle()) );
//TODO: do various things like saving to the database //TODO: do various things like saving to the database
return counter++; return counter++;
@@ -46,16 +46,16 @@ int CombatInstanceManager::Create() {
//TODO: (1) combat load, save //TODO: (1) combat load, save
void CombatInstanceManager::Unload(int uid) { void BattleManager::Unload(int uid) {
elementMap.erase(uid); elementMap.erase(uid);
} }
void CombatInstanceManager::UnloadAll() { void BattleManager::UnloadAll() {
elementMap.clear(); elementMap.clear();
} }
void CombatInstanceManager::UnloadIf(std::function<bool(std::pair<const int, CombatInstance const&>)> fn) { void BattleManager::UnloadIf(std::function<bool(std::pair<const int, Battle const&>)> fn) {
std::map<int, CombatInstance>::iterator it = elementMap.begin(); std::map<int, Battle>::iterator it = elementMap.begin();
while (it != elementMap.end()) { while (it != elementMap.end()) {
if (fn(*it)) { if (fn(*it)) {
it = elementMap.erase(it); it = elementMap.erase(it);
@@ -66,8 +66,8 @@ void CombatInstanceManager::UnloadIf(std::function<bool(std::pair<const int, Com
} }
} }
CombatInstance* CombatInstanceManager::Find(int uid) { Battle* BattleManager::Find(int uid) {
std::map<int, CombatInstance>::iterator it = elementMap.find(uid); std::map<int, Battle>::iterator it = elementMap.find(uid);
if (it == elementMap.end()) { if (it == elementMap.end()) {
return nullptr; return nullptr;
@@ -76,26 +76,26 @@ CombatInstance* CombatInstanceManager::Find(int uid) {
return &it->second; return &it->second;
} }
int CombatInstanceManager::GetLoadedCount() { int BattleManager::GetLoadedCount() {
return elementMap.size(); return elementMap.size();
} }
std::map<int, CombatInstance>* CombatInstanceManager::GetContainer() { std::map<int, Battle>* BattleManager::GetContainer() {
return &elementMap; return &elementMap;
} }
lua_State* CombatInstanceManager::SetLuaState(lua_State* L) { lua_State* BattleManager::SetLuaState(lua_State* L) {
return lua = L; return lua = L;
} }
lua_State* CombatInstanceManager::GetLuaState() { lua_State* BattleManager::GetLuaState() {
return lua; return lua;
} }
sqlite3* CombatInstanceManager::SetDatabase(sqlite3* db) { sqlite3* BattleManager::SetDatabase(sqlite3* db) {
return database = db; return database = db;
} }
sqlite3* CombatInstanceManager::GetDatabase() { sqlite3* BattleManager::GetDatabase() {
return database; return database;
} }
@@ -21,7 +21,7 @@
*/ */
#pragma once #pragma once
#include "combat_instance.hpp" #include "battle.hpp"
#include "lua.hpp" #include "lua.hpp"
#include "sqlite3.h" #include "sqlite3.h"
@@ -29,10 +29,10 @@
#include <algorithm> #include <algorithm>
#include <map> #include <map>
class CombatInstanceManager { class BattleManager {
public: public:
CombatInstanceManager(); BattleManager();
~CombatInstanceManager(); ~BattleManager();
//common public methods //common public methods
void Update(); void Update();
@@ -41,12 +41,12 @@ public:
void Unload(int uid); void Unload(int uid);
void UnloadAll(); void UnloadAll();
void UnloadIf(std::function<bool(std::pair<const int, CombatInstance const&>)> fn); void UnloadIf(std::function<bool(std::pair<const int, Battle const&>)> fn);
//accessors & mutators //accessors & mutators
CombatInstance* Find(int uid); Battle* Find(int uid);
int GetLoadedCount(); int GetLoadedCount();
std::map<int, CombatInstance>* GetContainer(); std::map<int, Battle>* GetContainer();
//hooks //hooks
lua_State* SetLuaState(lua_State* L); lua_State* SetLuaState(lua_State* L);
@@ -56,7 +56,7 @@ public:
private: private:
//members //members
std::map<int, CombatInstance> elementMap; std::map<int, Battle> elementMap;
int counter = 0; int counter = 0;
lua_State* lua = nullptr; lua_State* lua = nullptr;
sqlite3* database = nullptr; sqlite3* database = nullptr;
+1 -1
View File
@@ -1,5 +1,5 @@
#config #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+= LIBS+=
CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES)) CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES))
+2 -2
View File
@@ -1,5 +1,5 @@
#include directories #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 #libraries
#the order of the $(LIBS) is important, at least for MinGW #the order of the $(LIBS) is important, at least for MinGW
@@ -31,9 +31,9 @@ OUT=$(addprefix $(OUTDIR)/,server)
all: $(OBJ) $(OUT) all: $(OBJ) $(OUT)
$(MAKE) -C accounts $(MAKE) -C accounts
$(MAKE) -C barriers $(MAKE) -C barriers
$(MAKE) -C battles
$(MAKE) -C characters $(MAKE) -C characters
$(MAKE) -C clients $(MAKE) -C clients
$(MAKE) -C combat
$(MAKE) -C creatures $(MAKE) -C creatures
$(MAKE) -C entities $(MAKE) -C entities
$(MAKE) -C inventory $(MAKE) -C inventory
+1 -1
View File
@@ -1,5 +1,5 @@
#config #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+= LIBS+=
CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES)) CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES))
+12 -12
View File
@@ -38,17 +38,17 @@
* characterList .UpdateAll() * characterList .UpdateAll()
* creatureMgr .Update(updateAll) * creatureMgr .Update(updateAll)
* barrierMgr .Update(updateAll) * barrierMgr .Update(updateAll)
* combatMgr .Update(updateAll) * battleMgr .Update(updateAll)
* *
* creatureMgr .SendUpdates() * creatureMgr .SendUpdates()
* barrierMgr .SendUpdates() * barrierMgr .SendUpdates()
* //combatMgr .SendUpdates() //TODO: incomplete * //battleMgr .SendUpdates() //TODO: incomplete
* *
* triggerMgr .Compare(characterList) * triggerMgr .Compare(characterList)
* *
* if (a character collides with a creature) * if (a character collides with a creature)
* barrierMgr .Create() * barrierMgr .Create()
* combatMgr .Create() * battleMgr .Create()
* *
* barrierMgr .Send() * barrierMgr .Send()
* *
@@ -111,8 +111,8 @@ void RoomData::RunFrameUpdates(bool updateAll) {
creatureMgr.Update(&creatureList, updateAll); creatureMgr.Update(&creatureList, updateAll);
barrierMgr.Update(&barrierList, updateAll); barrierMgr.Update(&barrierList, updateAll);
//update the combat instances //update the battles
combatInstanceMgr.Update(); battleMgr.Update();
//send the creature updates //send the creature updates
for (auto& it : creatureList) { for (auto& it : creatureList) {
@@ -132,7 +132,7 @@ void RoomData::RunFrameUpdates(bool updateAll) {
pumpPacketProximity(reinterpret_cast<SerialPacket*>(&packet), roomIndex, it.second->GetOrigin(), INFLUENCE_RADIUS); pumpPacketProximity(reinterpret_cast<SerialPacket*>(&packet), roomIndex, it.second->GetOrigin(), INFLUENCE_RADIUS);
} }
//TODO: send the combat instance updates //TODO: send the battle updates
} }
void RoomData::RunFrameTriggers() { void RoomData::RunFrameTriggers() {
@@ -159,8 +159,8 @@ void RoomData::RunFrameCharacterCreatureCollisions() {
BoundingBox creatureBox = creatureIt.second.GetBounds() + creatureIt.second.GetOrigin(); BoundingBox creatureBox = creatureIt.second.GetBounds() + creatureIt.second.GetOrigin();
if (characterBox.CheckOverlap(creatureBox)) { if (characterBox.CheckOverlap(creatureBox)) {
//create the barrier and instance //create the barrier and battle
int barrierIndex = barrierMgr.Create(combatInstanceMgr.Create()); //link the barrier to an instance int barrierIndex = barrierMgr.Create(battleMgr.Create()); //link the barrier to a battle
BarrierData* barrierData = barrierMgr.Find(barrierIndex); BarrierData* barrierData = barrierMgr.Find(barrierIndex);
barrierData->SetRoomIndex(roomIndex); barrierData->SetRoomIndex(roomIndex);
barrierData->SetOrigin({ barrierData->SetOrigin({
@@ -203,11 +203,11 @@ void RoomData::RunFrameCharacterBarrierCollisions() {
BoundingBox barrierBox = barrierIt.second.GetBounds() + barrierIt.second.GetOrigin(); BoundingBox barrierBox = barrierIt.second.GetBounds() + barrierIt.second.GetOrigin();
if (characterBox.CheckOverlap(barrierBox)) { if (characterBox.CheckOverlap(barrierBox)) {
//TODO: (0) actually move the character to an instance //TODO: (0) actually move the character to a battle
CombatInstance* instance = combatInstanceMgr.Find(barrierIt.second.GetInstanceIndex()); Battle* battle = battleMgr.Find(barrierIt.second.GetBattleIndex());
//DEBUG: output barrierIndex, instanceIndex //DEBUG: output barrierIndex, battleIndex
std::cout << barrierIt.first << "\t" << barrierIt.second.GetInstanceIndex() << std::endl; std::cout << barrierIt.first << "\t" << barrierIt.second.GetBattleIndex() << std::endl;
//only confirm one barrier per character //only confirm one barrier per character
break; break;
+2 -2
View File
@@ -23,7 +23,7 @@
#include "barrier_manager.hpp" #include "barrier_manager.hpp"
#include "character_data.hpp" #include "character_data.hpp"
#include "combat_instance_manager.hpp" #include "battle_manager.hpp"
#include "creature_manager.hpp" #include "creature_manager.hpp"
#include "region_pager_lua.hpp" #include "region_pager_lua.hpp"
#include "trigger_manager.hpp" #include "trigger_manager.hpp"
@@ -89,7 +89,7 @@ private:
int roomIndex = 0; int roomIndex = 0;
BarrierManager barrierMgr; BarrierManager barrierMgr;
std::list<CharacterData*> characterList; std::list<CharacterData*> characterList;
CombatInstanceManager combatInstanceMgr; BattleManager battleMgr;
CreatureManager creatureMgr; CreatureManager creatureMgr;
RegionPagerLua pager; RegionPagerLua pager;
TriggerManager triggerMgr; TriggerManager triggerMgr;