mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 09:06:46 +00:00
[C++20] Enable C++20 + Fixes + FMT 9.1 (#2664)
* [CPP] Enable and build compliance with cpp20 * Windows build fix * bump fmt version * Updated fmt to 9.1, updated cmake minimum and verified preprocessor stuff works. * Missing : * Fix warning: top-level comma expression in array subscript is deprecated * Fix warning: top-level comma expression in array subscript is deprecated Co-authored-by: KimLS <KimLS@peqtgc.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
|
||||
|
||||
SET(world_sources
|
||||
adventure.cpp
|
||||
|
||||
+1
-1
@@ -989,7 +989,7 @@ bool Client::HandleDeleteCharacterPacket(const EQApplicationPacket *app) {
|
||||
|
||||
uint32 char_acct_id = database.GetAccountIDByChar((char*)app->pBuffer);
|
||||
if(char_acct_id == GetAccountID()) {
|
||||
LogInfo("Delete character: [{}]", app->pBuffer);
|
||||
LogInfo("Delete character: [{}]", (const char*)app->pBuffer);
|
||||
database.DeleteCharacter((char *)app->pBuffer);
|
||||
SendCharInfo();
|
||||
}
|
||||
|
||||
+23
-26
@@ -319,7 +319,7 @@ void ClientList::SendCLEList(const int16& admin, const char* to, WorldTCPConnect
|
||||
strcpy(newline, "\r\n");
|
||||
else
|
||||
strcpy(newline, "^");
|
||||
fmt::memory_buffer out;
|
||||
std::vector<char> out;
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()) {
|
||||
@@ -328,22 +328,21 @@ void ClientList::SendCLEList(const int16& admin, const char* to, WorldTCPConnect
|
||||
struct in_addr in;
|
||||
in.s_addr = cle->GetIP();
|
||||
if (addnewline) {
|
||||
fmt::format_to(out, newline);
|
||||
fmt::format_to(std::back_inserter(out), fmt::runtime(newline));
|
||||
}
|
||||
fmt::format_to(out, "ID: {} Acc# {} AccName: {} IP: {}", cle->GetID(), cle->AccountID(), cle->AccountName(), inet_ntoa(in));
|
||||
fmt::format_to(out, "{} Stale: {} Online: {} Admin: {}", newline, cle->GetStaleCounter(), cle->Online(), cle->Admin());
|
||||
fmt::format_to(std::back_inserter(out), "ID: {} Acc# {} AccName: {} IP: {}", cle->GetID(), cle->AccountID(), cle->AccountName(), inet_ntoa(in));
|
||||
fmt::format_to(std::back_inserter(out), "{} Stale: {} Online: {} Admin: {}", newline, cle->GetStaleCounter(), cle->Online(), cle->Admin());
|
||||
if (cle->LSID())
|
||||
fmt::format_to(out, "{} LSID: {} LSName: {} WorldAdmin: {}", newline, cle->LSID(), cle->LSName(), cle->WorldAdmin());
|
||||
fmt::format_to(std::back_inserter(out), "{} LSID: {} LSName: {} WorldAdmin: {}", newline, cle->LSID(), cle->LSName(), cle->WorldAdmin());
|
||||
if (cle->CharID())
|
||||
fmt:format_to(out, "{} CharID: {} CharName: {} Zone: {} ({})", newline, cle->CharID(), cle->name(), ZoneName(cle->zone()), cle->zone());
|
||||
fmt::format_to(std::back_inserter(out), "{} CharID: {} CharName: {} Zone: {} ({})", newline, cle->CharID(), cle->name(), ZoneName(cle->zone()), cle->zone());
|
||||
if (out.size() >= 3072) {
|
||||
auto output = fmt::to_string(out);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
addnewline = false;
|
||||
out.clear();
|
||||
@@ -355,14 +354,13 @@ void ClientList::SendCLEList(const int16& admin, const char* to, WorldTCPConnect
|
||||
iterator.Advance();
|
||||
x++;
|
||||
}
|
||||
fmt::format_to(out, "{}{} CLEs in memory. {} CLEs listed. numplayers = {}.", newline, x, y, numplayers);
|
||||
auto output = fmt::to_string(out);
|
||||
fmt::format_to(std::back_inserter(out), "{}{} CLEs in memory. {} CLEs listed. numplayers = {}.", newline, x, y, numplayers);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1061,12 +1059,12 @@ void ClientList::ConsoleSendWhoAll(const char* to, int16 admin, Who_All_Struct*
|
||||
if (whom)
|
||||
whomlen = strlen(whom->whom);
|
||||
|
||||
fmt::memory_buffer out;
|
||||
fmt::format_to(out, "Players on server:");
|
||||
std::vector<char> out;
|
||||
fmt::format_to(std::back_inserter(out), "Players on server:");
|
||||
if (connection->IsConsole())
|
||||
fmt::format_to(out, "\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "\r\n");
|
||||
else
|
||||
fmt::format_to(out, "\n");
|
||||
fmt::format_to(std::back_inserter(out), "\n");
|
||||
iterator.Reset();
|
||||
while (iterator.MoreElements()) {
|
||||
cle = iterator.GetData();
|
||||
@@ -1162,23 +1160,22 @@ void ClientList::ConsoleSendWhoAll(const char* to, int16 admin, Who_All_Struct*
|
||||
else
|
||||
sprintf(line, " %s[%i %s] %s (%s)%s zone: %s%s%s", tmpgm, cle->level(), GetClassIDName(cle->class_(), cle->level()), cle->name(), GetRaceIDName(cle->race()), tmpguild, tmpZone, LFG, accinfo);
|
||||
|
||||
fmt::format_to(out, line);
|
||||
fmt::format_to(std::back_inserter(out), fmt::runtime(line));
|
||||
if (out.size() >= 3584) {
|
||||
auto output = fmt::to_string(out);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
out.clear();
|
||||
}
|
||||
else {
|
||||
if (connection->IsConsole())
|
||||
fmt::format_to(out, "\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "\r\n");
|
||||
else
|
||||
fmt::format_to(out, "\n");
|
||||
fmt::format_to(std::back_inserter(out), "\n");
|
||||
}
|
||||
x++;
|
||||
if (x >= 20 && admin < AccountStatus::QuestTroupe)
|
||||
@@ -1188,24 +1185,24 @@ void ClientList::ConsoleSendWhoAll(const char* to, int16 admin, Who_All_Struct*
|
||||
}
|
||||
|
||||
if (x >= 20 && admin < AccountStatus::QuestTroupe)
|
||||
fmt::format_to(out, "too many results...20 players shown");
|
||||
fmt::format_to(std::back_inserter(out), "too many results...20 players shown");
|
||||
else
|
||||
fmt::format_to(out, "{} players online", x);
|
||||
fmt::format_to(std::back_inserter(out), "{} players online", x);
|
||||
if (admin >= AccountStatus::GMAdmin && (whom == 0 || whom->gmlookup != 0xFFFF)) {
|
||||
if (connection->IsConsole())
|
||||
fmt::format_to(out, "\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "\r\n");
|
||||
else
|
||||
fmt::format_to(out, "\n");
|
||||
fmt::format_to(std::back_inserter(out), "\n");
|
||||
|
||||
//console_list.SendConsoleWho(connection, to, admin, &output, &outsize, &outlen);
|
||||
}
|
||||
auto output = fmt::to_string(out);
|
||||
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,9 +60,8 @@ void ExpeditionDatabase::PurgeExpiredExpeditions()
|
||||
|
||||
if (!expedition_ids.empty())
|
||||
{
|
||||
auto joined_expedition_ids = fmt::join(expedition_ids, ",");
|
||||
ExpeditionsRepository::DeleteWhere(database, fmt::format("id IN ({})", joined_expedition_ids));
|
||||
ExpeditionLockoutsRepository::DeleteWhere(database, fmt::format("expedition_id IN ({})", joined_expedition_ids));
|
||||
ExpeditionsRepository::DeleteWhere(database, fmt::format("id IN ({})", fmt::join(expedition_ids, ",")));
|
||||
ExpeditionLockoutsRepository::DeleteWhere(database, fmt::format("expedition_id IN ({})", fmt::join(expedition_ids, ",")));
|
||||
DynamicZoneMembersRepository::RemoveAllMembers(database, dynamic_zone_ids);
|
||||
}
|
||||
}
|
||||
|
||||
+17
-20
@@ -311,19 +311,19 @@ void ZSList::SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* con
|
||||
strcpy(locked, "No");
|
||||
}
|
||||
|
||||
fmt::memory_buffer out;
|
||||
std::vector<char> out;
|
||||
|
||||
if (connection->IsConsole()) {
|
||||
fmt::format_to(out, "World Locked: {}\r\n", locked);
|
||||
fmt::format_to(std::back_inserter(out), "World Locked: {}\r\n", locked);
|
||||
}
|
||||
else {
|
||||
fmt::format_to(out, "World Locked: {}^", locked);
|
||||
fmt::format_to(std::back_inserter(out), "World Locked: {}^", locked);
|
||||
}
|
||||
if (connection->IsConsole()) {
|
||||
fmt::format_to(out, "Zoneservers online:\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "Zoneservers online:\r\n");
|
||||
}
|
||||
else {
|
||||
fmt::format_to(out, "Zoneservers online:^");
|
||||
fmt::format_to(std::back_inserter(out), "Zoneservers online:^");
|
||||
}
|
||||
|
||||
int v = 0, w = 0, x = 0, y = 0, z = 0;
|
||||
@@ -363,7 +363,7 @@ void ZSList::SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* con
|
||||
zone_data_string[0] = 0;
|
||||
}
|
||||
|
||||
fmt::format_to(out,
|
||||
fmt::format_to(std::back_inserter(out),
|
||||
"#{:<3} :: {} :: {}:{:<5} :: {:2} :: {}:{} :: {} :: ({})",
|
||||
zone_server_data->GetID(),
|
||||
is_static_string,
|
||||
@@ -377,21 +377,20 @@ void ZSList::SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* con
|
||||
);
|
||||
|
||||
if (out.size() >= 3584) {
|
||||
auto output = fmt::to_string(out);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
out.clear();
|
||||
}
|
||||
else {
|
||||
if (connection->IsConsole())
|
||||
fmt::format_to(out, "\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "\r\n");
|
||||
else
|
||||
fmt::format_to(out, "^");
|
||||
fmt::format_to(std::back_inserter(out), "^");
|
||||
}
|
||||
x++;
|
||||
}
|
||||
@@ -400,24 +399,23 @@ void ZSList::SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* con
|
||||
strcpy(zone_data_string, zone_server_data->GetZoneName());
|
||||
else
|
||||
zone_data_string[0] = 0;
|
||||
fmt::format_to(out, " #{} {} {}", zone_server_data->GetID(), is_static_string, zone_data_string);
|
||||
fmt::format_to(std::back_inserter(out), " #{} {} {}", zone_server_data->GetID(), is_static_string, zone_data_string);
|
||||
if (out.size() >= 3584) {
|
||||
auto output = fmt::to_string(out);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
out.clear();
|
||||
}
|
||||
else {
|
||||
if (connection->IsConsole()) {
|
||||
fmt::format_to(out, "\r\n");
|
||||
fmt::format_to(std::back_inserter(out), "\r\n");
|
||||
}
|
||||
else {
|
||||
fmt::format_to(out, "^");
|
||||
fmt::format_to(std::back_inserter(out), "^");
|
||||
}
|
||||
}
|
||||
x++;
|
||||
@@ -427,21 +425,20 @@ void ZSList::SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* con
|
||||
}
|
||||
|
||||
if (connection->IsConsole()) {
|
||||
fmt::format_to(out, "{} servers listed. {} servers online.\r\n", x, y);
|
||||
fmt::format_to(std::back_inserter(out), "{} servers listed. {} servers online.\r\n", x, y);
|
||||
}
|
||||
else {
|
||||
fmt::format_to(out, "{} servers listed. {} servers online.^", x, y);
|
||||
fmt::format_to(std::back_inserter(out), "{} servers listed. {} servers online.^", x, y);
|
||||
}
|
||||
|
||||
fmt::format_to(out, "{} zones are static zones, {} zones are booted zones, {} zones available.", z, w, v);
|
||||
fmt::format_to(std::back_inserter(out), "{} zones are static zones, {} zones are booted zones, {} zones available.", z, w, v);
|
||||
|
||||
auto output = fmt::to_string(out);
|
||||
connection->SendEmoteMessageRaw(
|
||||
to,
|
||||
0,
|
||||
AccountStatus::Player,
|
||||
Chat::NPCQuestSay,
|
||||
output.c_str()
|
||||
out.data()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user