Merge plus changed getposition to return a reference

This commit is contained in:
KimLS
2015-01-24 11:48:06 -08:00
19 changed files with 2173 additions and 2213 deletions
-34
View File
@@ -335,7 +335,6 @@ Client::~Client() {
m_tradeskill_object = nullptr;
}
ChangeSQLLog(nullptr);
if(IsDueling() && GetDuelTarget() != 0) {
Entity* entity = entity_list.GetID(GetDuelTarget());
if(entity != nullptr && entity->IsClient()) {
@@ -3484,37 +3483,6 @@ void Client::Insight(uint32 t_id)
Message(0,"Your target is a level %i %s. It appears %s and %s for its level. It seems %s",who->GetLevel(),GetEQClassName(who->GetClass(),1),dmg,hitpoints,resists);
}
void Client::ChangeSQLLog(const char *file) {
if(SQL_log != nullptr) {
fclose(SQL_log);
SQL_log = nullptr;
}
if(file != nullptr) {
if(strstr(file, "..") != nullptr) {
Message(13, ".. is forbibben in SQL log file names.");
return;
}
char buf[512];
snprintf(buf, 511, "%s%s", SQL_LOG_PATH, file);
buf[511] = '\0';
SQL_log = fopen(buf, "a");
if(SQL_log == nullptr) {
Message(13, "Unable to open SQL log file: %s\n", strerror(errno));
}
}
}
void Client::LogSQL(const char *fmt, ...) {
if(SQL_log == nullptr)
return;
va_list argptr;
va_start(argptr, fmt);
vfprintf(SQL_log, fmt, argptr );
fputc('\n', SQL_log);
va_end(argptr);
}
void Client::GetGroupAAs(GroupLeadershipAA_Struct *into) const {
memcpy(into, &m_pp.leader_abilities.group, sizeof(GroupLeadershipAA_Struct));
}
@@ -8265,10 +8233,8 @@ std::string Client::TextLink::GenerateLink()
m_Link = "<LINKER ERROR>";
Log.Out(Logs::General, Logs::Error, "TextLink::GenerateLink() failed to generate a useable text link (LinkType: %i, Lengths: {link: %u, body: %u, text: %u})",
m_LinkType, m_Link.length(), m_LinkBody.length(), m_LinkText.length());
#if EQDEBUG >= 5
Log.Out(Logs::General, Logs::Error, ">> LinkBody: %s", m_LinkBody.c_str());
Log.Out(Logs::General, Logs::Error, ">> LinkText: %s", m_LinkText.c_str());
#endif
}
return m_Link;
-2
View File
@@ -914,8 +914,6 @@ public:
void SendZoneFlagInfo(Client *to) const;
void LoadZoneFlags();
void ChangeSQLLog(const char *file);
void LogSQL(const char *fmt, ...);
bool CanFish();
void GoFish();
void ForageItem(bool guarantee = false);
+1085 -930
View File
File diff suppressed because it is too large Load Diff
+984 -1112
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -258,7 +258,6 @@ void command_undye(Client *c, const Seperator *sep);
void command_undyeme(Client *c, const Seperator *sep);
void command_hp(Client *c, const Seperator *sep);
void command_ginfo(Client *c, const Seperator *sep);
void command_logsql(Client *c, const Seperator *sep);
void command_qglobal(Client *c, const Seperator *sep);
void command_path(Client *c, const Seperator *sep);
void command_ginfo(Client *c, const Seperator *sep);
@@ -325,7 +324,7 @@ void command_shownumhits(Client *c, const Seperator *sep);
void command_tune(Client *c, const Seperator *sep);
void command_logtest(Client *c, const Seperator *sep);
void command_logs(Client *c, const Seperator *sep);
#ifdef EQPROFILE
void command_profiledump(Client *c, const Seperator *sep);
void command_profilereset(Client *c, const Seperator *sep);
+2 -4
View File
@@ -560,10 +560,8 @@ public:
// Audit trade
void LogTrade();
// Debug only method
#if (EQDEBUG >= 9)
void DumpTrade();
#endif
void DumpTrade();
public:
// Object state
+1 -1
View File
@@ -29,7 +29,7 @@ public:
char* GetDoorName() { return door_name; }
uint32 GetDoorParam() { return door_param; }
int GetInvertState() { return invert_state; }
const glm::vec4 GetPosition() const{ return m_Position; }
const glm::vec4& GetPosition() const{ return m_Position; }
int GetIncline() { return incline; }
bool triggered;
void SetOpenState(bool st) { isopen = st; }
+1 -1
View File
@@ -399,7 +399,7 @@ public:
((static_cast<float>(cur_mana) / max_mana) * 100); }
virtual int32 CalcMaxMana();
uint32 GetNPCTypeID() const { return npctype_id; }
inline const glm::vec4 GetPosition() const { return m_Position; }
inline const glm::vec4& GetPosition() const { return m_Position; }
inline const float GetX() const { return m_Position.x; }
inline const float GetY() const { return m_Position.y; }
inline const float GetZ() const { return m_Position.z; }
-19
View File
@@ -1013,7 +1013,6 @@ uint32 ZoneDatabase::CreateNewNPCCommand(const char* zone, uint32 zone_version,C
}
if(client)
client->LogSQL(query.c_str());
query = StringFormat("INSERT INTO spawngroup (id, name) VALUES(%i, '%s-%s')", 0, zone, spawn->GetName());
auto results = QueryDatabase(query);
@@ -1023,7 +1022,6 @@ uint32 ZoneDatabase::CreateNewNPCCommand(const char* zone, uint32 zone_version,C
uint32 spawngroupid = results.LastInsertedID();
if(client)
client->LogSQL(query.c_str());
query = StringFormat("INSERT INTO spawn2 (zone, version, x, y, z, respawntime, heading, spawngroupID) "
"VALUES('%s', %u, %f, %f, %f, %i, %f, %i)",
@@ -1035,7 +1033,6 @@ uint32 ZoneDatabase::CreateNewNPCCommand(const char* zone, uint32 zone_version,C
}
if(client)
client->LogSQL(query.c_str());
query = StringFormat("INSERT INTO spawnentry (spawngroupID, npcID, chance) VALUES(%i, %i, %i)",
spawngroupid, npc_type_id, 100);
@@ -1045,7 +1042,6 @@ uint32 ZoneDatabase::CreateNewNPCCommand(const char* zone, uint32 zone_version,C
}
if(client)
client->LogSQL(query.c_str());
return true;
}
@@ -1061,9 +1057,6 @@ uint32 ZoneDatabase::AddNewNPCSpawnGroupCommand(const char* zone, uint32 zone_ve
}
last_insert_id = results.LastInsertedID();
if(client)
client->LogSQL(query.c_str());
uint32 respawntime = 0;
uint32 spawnid = 0;
if (respawnTime)
@@ -1084,7 +1077,6 @@ uint32 ZoneDatabase::AddNewNPCSpawnGroupCommand(const char* zone, uint32 zone_ve
spawnid = results.LastInsertedID();
if(client)
client->LogSQL(query.c_str());
query = StringFormat("INSERT INTO spawnentry (spawngroupID, npcID, chance) VALUES(%i, %i, %i)",
last_insert_id, spawn->GetNPCTypeID(), 100);
@@ -1094,7 +1086,6 @@ uint32 ZoneDatabase::AddNewNPCSpawnGroupCommand(const char* zone, uint32 zone_ve
}
if(client)
client->LogSQL(query.c_str());
return spawnid;
}
@@ -1110,7 +1101,6 @@ uint32 ZoneDatabase::UpdateNPCTypeAppearance(Client *client, NPC* spawn) {
spawn->MerchantType, spawn->GetNPCTypeID());
auto results = QueryDatabase(query);
if (!results.Success() && client)
client->LogSQL(query.c_str());
return results.Success() == true? 1: 0;
}
@@ -1141,7 +1131,6 @@ uint32 ZoneDatabase::DeleteSpawnLeaveInNPCTypeTable(const char* zone, Client *cl
return 0;
if(client)
client->LogSQL(query.c_str());
query = StringFormat("DELETE FROM spawngroup WHERE id = '%i'", spawngroupID);
results = QueryDatabase(query);
@@ -1149,7 +1138,6 @@ uint32 ZoneDatabase::DeleteSpawnLeaveInNPCTypeTable(const char* zone, Client *cl
return 0;
if(client)
client->LogSQL(query.c_str());
query = StringFormat("DELETE FROM spawnentry WHERE spawngroupID = '%i'", spawngroupID);
results = QueryDatabase(query);
@@ -1157,7 +1145,6 @@ uint32 ZoneDatabase::DeleteSpawnLeaveInNPCTypeTable(const char* zone, Client *cl
return 0;
if(client)
client->LogSQL(query.c_str());
return 1;
}
@@ -1191,7 +1178,6 @@ uint32 ZoneDatabase::DeleteSpawnRemoveFromNPCTypeTable(const char* zone, uint32
return 0;
if(client)
client->LogSQL(query.c_str());
query = StringFormat("DELETE FROM spawngroup WHERE id = '%i'", spawngroupID);
results = QueryDatabase(query);
@@ -1199,7 +1185,6 @@ uint32 ZoneDatabase::DeleteSpawnRemoveFromNPCTypeTable(const char* zone, uint32
return 0;
if(client)
client->LogSQL(query.c_str());
query = StringFormat("DELETE FROM spawnentry WHERE spawngroupID = '%i'", spawngroupID);
results = QueryDatabase(query);
@@ -1207,7 +1192,6 @@ uint32 ZoneDatabase::DeleteSpawnRemoveFromNPCTypeTable(const char* zone, uint32
return 0;
if(client)
client->LogSQL(query.c_str());
query = StringFormat("DELETE FROM npc_types WHERE id = '%i'", spawn->GetNPCTypeID());
results = QueryDatabase(query);
@@ -1215,7 +1199,6 @@ uint32 ZoneDatabase::DeleteSpawnRemoveFromNPCTypeTable(const char* zone, uint32
return 0;
if(client)
client->LogSQL(query.c_str());
return 1;
}
@@ -1232,7 +1215,6 @@ uint32 ZoneDatabase::AddSpawnFromSpawnGroup(const char* zone, uint32 zone_versi
return 0;
if(client)
client->LogSQL(query.c_str());
return 1;
}
@@ -1257,7 +1239,6 @@ uint32 ZoneDatabase::AddNPCTypes(const char* zone, uint32 zone_version, Client *
npc_type_id = results.LastInsertedID();
if(client)
client->LogSQL(query.c_str());
if(client)
client->Message(0, "%s npc_type ID %i created successfully!", numberlessName, npc_type_id);
-1
View File
@@ -428,7 +428,6 @@ bool ZoneDatabase::CreateSpawn2(Client *client, uint32 spawngroup, const char* z
return false;
if(client)
client->LogSQL(query.c_str());
return true;
}
+3 -3
View File
@@ -148,7 +148,7 @@ bool Mob::CastSpell(uint16 spell_id, uint16 target_id, uint16 slot,
uint32 timer, uint32 timer_duration, uint32 type, int16 *resist_adjust)
{
Log.Out(Logs::Detail, Logs::Spells, "CastSpell called for spell %s (%d) on entity %d, slot %d, time %d, mana %d, from item slot %d",
spells[spell_id].name, spell_id, target_id, slot, cast_time, mana_cost, (item_slot==0xFFFFFFFF)?999:item_slot);
(IsValidSpell(spell_id))?spells[spell_id].name:"UNKNOWN SPELL", spell_id, target_id, slot, cast_time, mana_cost, (item_slot==0xFFFFFFFF)?999:item_slot);
if(casting_spell_id == spell_id)
ZeroCastingVars();
@@ -1116,11 +1116,11 @@ void Mob::CastedSpellFinished(uint16 spell_id, uint32 target_id, uint16 slot,
break;
default: // some non-instrument component. Let it go, but record it in the log
Log.Out(Logs::Detail, Logs::Spells, "Something odd happened: Song %d required component %s", spell_id, component);
Log.Out(Logs::Detail, Logs::Spells, "Something odd happened: Song %d required component %d", spell_id, component);
}
if(!HasInstrument) { // if the instrument is missing, log it and interrupt the song
Log.Out(Logs::Detail, Logs::Spells, "Song %d: Canceled. Missing required instrument %s", spell_id, component);
Log.Out(Logs::Detail, Logs::Spells, "Song %d: Canceled. Missing required instrument %d", spell_id, component);
if(c->GetGM())
c->Message(0, "Your GM status allows you to finish casting even though you're missing a required instrument.");
else {
+7 -7
View File
@@ -292,11 +292,11 @@ void Trade::LogTrade()
}
}
#if (EQDEBUG >= 9)
void Trade::DumpTrade()
{
Mob* with = With();
Log.Out(Logs::General, Logs::None, "Dumping trade data: '%s' in TradeState %i with '%s'",
Log.Out(Logs::Detail, Logs::Trading, "Dumping trade data: '%s' in TradeState %i with '%s'",
this->owner->GetName(), state, ((with==nullptr)?"(null)":with->GetName()));
if (!owner->IsClient())
@@ -307,7 +307,7 @@ void Trade::DumpTrade()
const ItemInst* inst = trader->GetInv().GetItem(i);
if (inst) {
Log.Out(Logs::General, Logs::None, "Item %i (Charges=%i, Slot=%i, IsBag=%s)",
Log.Out(Logs::Detail, Logs::Trading, "Item %i (Charges=%i, Slot=%i, IsBag=%s)",
inst->GetItem()->ID, inst->GetCharges(),
i, ((inst->IsType(ItemClassContainer)) ? "True" : "False"));
@@ -315,7 +315,7 @@ void Trade::DumpTrade()
for (uint8 j = SUB_BEGIN; j < EmuConstants::ITEM_CONTAINER_SIZE; j++) {
inst = trader->GetInv().GetItem(i, j);
if (inst) {
Log.Out(Logs::General, Logs::None, "\tBagItem %i (Charges=%i, Slot=%i)",
Log.Out(Logs::Detail, Logs::Trading, "\tBagItem %i (Charges=%i, Slot=%i)",
inst->GetItem()->ID, inst->GetCharges(),
Inventory::CalcSlotId(i, j));
}
@@ -324,9 +324,9 @@ void Trade::DumpTrade()
}
}
Log.Out(Logs::General, Logs::None, "\tpp:%i, gp:%i, sp:%i, cp:%i", pp, gp, sp, cp);
Log.Out(Logs::Detail, Logs::Trading, "\tpp:%i, gp:%i, sp:%i, cp:%i", pp, gp, sp, cp);
}
#endif
void Client::ResetTrade() {
AddMoneyToPP(trade->cp, trade->sp, trade->gp, trade->pp, true);
@@ -588,7 +588,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st
break;
if (partial_inst->GetID() != inst->GetID()) {
Log.Out(Logs::Detail, Logs::None, "[CLIENT] Client::ResetTrade() - an incompatible location reference was returned by Inventory::FindFreeSlotForTradeItem()");
Log.Out(Logs::Detail, Logs::Trading, "[CLIENT] Client::ResetTrade() - an incompatible location reference was returned by Inventory::FindFreeSlotForTradeItem()");
break;
}
-9
View File
@@ -1092,9 +1092,6 @@ void ZoneDatabase::AssignGrid(Client *client, const glm::vec2& location, uint32
return;
}
if(client)
client->LogSQL(query.c_str());
if (!fuzzy)
{
client->Message(0, "Grid assign: spawn2 id = %d updated - exact match", spawn2id);
@@ -1146,9 +1143,6 @@ void ZoneDatabase::AddWP(Client *client, uint32 gridid, uint32 wpnum, const glm:
if (!results.Success()) {
return;
}
if(client)
client->LogSQL(query.c_str());
}
@@ -1171,9 +1165,6 @@ void ZoneDatabase::DeleteWaypoint(Client *client, uint32 grid_num, uint32 wp_num
if(!results.Success()) {
return;
}
if(client)
client->LogSQL(query.c_str());
}
+4 -4
View File
@@ -258,15 +258,15 @@ public:
LinkedList<NPC_Emote_Struct*> NPCEmoteList;
void LoadTickItems();
uint32 GetSpawnKillCount(uint32 in_spawnid);
void UpdateHotzone();
void LoadTickItems();
uint32 GetSpawnKillCount(uint32 in_spawnid);
void UpdateHotzone();
std::unordered_map<int, item_tick_struct> tick_items;
// random object that provides random values for the zone
EQEmu::Random random;
static void GMSayHookCallBackProcess(uint16 log_category, std::string& message){ entity_list.MessageStatus(0, 80, Log.GetGMSayColorFromCategory(log_category), "%s", message.c_str()); }
static void GMSayHookCallBackProcess(uint16 log_category, const std::string& message){ entity_list.MessageStatus(0, 80, Log.GetGMSayColorFromCategory(log_category), "%s", message.c_str()); }
//MODDING HOOKS
void mod_init();