From 4fc735db9aa2be69a54eabc4bcfef6a5d946516a Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Wed, 24 Jun 2015 18:39:26 -0400 Subject: [PATCH] RenX.Core: * Building health is now set to 0 when a building is destroyed. * Added isPassworded() function to Server. * Improved appearance of Building Bars. RenX.IRCJoin: * Removed unusable variables. --- Release/Plugins/RenX.Core.lib | Bin 128368 -> 128666 bytes RenX.Core/RenX_Server.cpp | 16 +++++++++ RenX.Core/RenX_Server.h | 10 +++++- RenX.Core/RenX_Tags.cpp | 24 ++++++++++---- RenX.IRCJoin/RenX_IRCJoin.cpp | 60 ++++++++++++++++------------------ RenX.IRCJoin/RenX_IRCJoin.h | 8 +++-- 6 files changed, 76 insertions(+), 42 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 325f671f8d982cdcae21dd4e6f24e80ba39106e5..0e5fb8be085110fc2fdf981586db521ad89a46f5 100644 GIT binary patch delta 14010 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 WKj1Qcfi4d`fxHk1QzIU5f&T`CjA#7- diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index 914794c..e03994a 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -597,6 +597,11 @@ time_t RenX::Server::getDelay() const return RenX::Server::delay; } +bool RenX::Server::isPassworded() const +{ + return RenX::Server::passworded; +} + const Jupiter::ReadableString &RenX::Server::getPassword() const { return RenX::Server::pass; @@ -1403,6 +1408,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) buff.shiftRight(1); this->port = static_cast(buff.getToken(1, RenX::DelimC).asUnsignedInt(10)); this->serverName = buff.getToken(3, RenX::DelimC); + this->passworded = buff.getToken(5, RenX::DelimC).asBool(); this->map = buff.getToken(7, RenX::DelimC); buff.shiftLeft(1); } @@ -1816,6 +1822,16 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) break; case RenX::ObjectType::Building: player->buildingKills++; + { + auto internalsStr = "_Internals"_jrs; + RenX::BuildingInfo *building; + if (objectName.findi(internalsStr) != Jupiter::INVALID_INDEX) + objectName.truncate(internalsStr.size()); + building = RenX::Server::getBuildingByName(objectName); + if (building != nullptr) + building->health = 0.0; + } + break; case RenX::ObjectType::Defence: player->defenceKills++; diff --git a/RenX.Core/RenX_Server.h b/RenX.Core/RenX_Server.h index 9101623..d56b640 100644 --- a/RenX.Core/RenX_Server.h +++ b/RenX.Core/RenX_Server.h @@ -580,7 +580,14 @@ namespace RenX time_t getDelay() const; /** - * @brief Fetches the password of a server. + * @brief Checks if the server has a game password. + * + * @return True if the game is passworded, false otherwise. + */ + bool isPassworded() const; + + /** + * @brief Fetches the RCON password of a server. * * @return String containing the password of the server. */ @@ -806,6 +813,7 @@ namespace RenX /** Tracking variables */ bool connected = false; bool seamless = false; + bool passworded = false; bool needsCList = false; bool silenceParts = false; bool silenceJoins = false; diff --git a/RenX.Core/RenX_Tags.cpp b/RenX.Core/RenX_Tags.cpp index 07d308e..84ad5dd 100644 --- a/RenX.Core/RenX_Tags.cpp +++ b/RenX.Core/RenX_Tags.cpp @@ -56,7 +56,7 @@ TagsImp::TagsImp() this->uniqueTag = STRING_LITERAL_AS_REFERENCE("\0\0\0\0\0\0"); const Jupiter::ReadableString &configSection = Jupiter::IRC::Client::Config->get(STRING_LITERAL_AS_REFERENCE("RenX"), STRING_LITERAL_AS_REFERENCE("TagDefinitions"), STRING_LITERAL_AS_REFERENCE("RenX.Tags")); - TagsImp::bar_width = Jupiter::IRC::Client::Config->getInt(configSection, STRING_LITERAL_AS_REFERENCE("BarWidth"), 20); + TagsImp::bar_width = Jupiter::IRC::Client::Config->getInt(configSection, STRING_LITERAL_AS_REFERENCE("BarWidth"), 19); /** Global formats */ this->dateFmt = Jupiter::IRC::Client::Config->get(configSection, STRING_LITERAL_AS_REFERENCE("DateFormat"), STRING_LITERAL_AS_REFERENCE("%A, %B %d, %Y")); @@ -289,17 +289,27 @@ Jupiter::StringS TagsImp::get_building_health_bar(const RenX::BuildingInfo *buil Jupiter::String r(TagsImp::bar_width); if (greenBars != 0) { - r = IRCCOLOR "09,09"; + r = IRCCOLOR "02,09"; do - r += " "; + { + if (index % 2 == 0) + r += '/'; + else + r += ' '; + } while (++index != greenBars); - if (greenBars == TagsImp::bar_width) + if (index == TagsImp::bar_width) return r += IRCNORMAL; } - r += IRCCOLOR "04,04"; + r += IRCCOLOR "02,04"; do - r += " "; - while (++greenBars != TagsImp::bar_width); + { + if (index % 2 == 0) + r += '\\'; + else + r += ' '; + } + while (++index != TagsImp::bar_width); return r += IRCNORMAL; } diff --git a/RenX.IRCJoin/RenX_IRCJoin.cpp b/RenX.IRCJoin/RenX_IRCJoin.cpp index 237d05a..3e7d7a1 100644 --- a/RenX.IRCJoin/RenX_IRCJoin.cpp +++ b/RenX.IRCJoin/RenX_IRCJoin.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014 Justin James. + * Copyright (C) 2014-2015 Justin James. * * This license must be preserved. * Any applications, libraries, or code which make any use of any @@ -27,8 +27,6 @@ void RenX_IRCJoinPlugin::init() RenX_IRCJoinPlugin::publicOnly = Jupiter::IRC::Client::Config->getBool(this->getName(), STRING_LITERAL_AS_REFERENCE("PublicOnly"), true); RenX_IRCJoinPlugin::joinMsgAlways = Jupiter::IRC::Client::Config->getBool(this->getName(), STRING_LITERAL_AS_REFERENCE("Join.MsgAlways"), false); RenX_IRCJoinPlugin::partMsgAlways = Jupiter::IRC::Client::Config->getBool(this->getName(), STRING_LITERAL_AS_REFERENCE("Part.MsgAlways"), false); - RenX_IRCJoinPlugin::minAccessJoinMessage = Jupiter::IRC::Client::Config->getInt(this->getName(), STRING_LITERAL_AS_REFERENCE("Join.MinAccess"), 0); - RenX_IRCJoinPlugin::maxAccessJoinMessage = Jupiter::IRC::Client::Config->getInt(this->getName(), STRING_LITERAL_AS_REFERENCE("Join.MaxAccess"), -1); RenX_IRCJoinPlugin::minAccessPartMessage = Jupiter::IRC::Client::Config->getInt(this->getName(), STRING_LITERAL_AS_REFERENCE("Part.MinAccess"), 0); RenX_IRCJoinPlugin::maxAccessPartMessage = Jupiter::IRC::Client::Config->getInt(this->getName(), STRING_LITERAL_AS_REFERENCE("Part.MaxAccess"), -1); RenX_IRCJoinPlugin::nameTag = Jupiter::IRC::Client::Config->get(this->getName(), STRING_LITERAL_AS_REFERENCE("NameTag"), STRING_LITERAL_AS_REFERENCE("{NAME}")); @@ -41,13 +39,10 @@ void RenX_IRCJoinPlugin::init() void RenX_IRCJoinPlugin::OnJoin(Jupiter::IRC::Client *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick) { - int access = source->getAccessLevel(channel, nick); - - if (access >= RenX_IRCJoinPlugin::minAccessJoinMessage && (RenX_IRCJoinPlugin::maxAccessJoinMessage == -1 || access <= RenX_IRCJoinPlugin::maxAccessJoinMessage)) + if (RenX_IRCJoinPlugin::joinFmt.isNotEmpty()) { RenX::Server *server; int type = source->getChannel(channel)->getType(); - Jupiter::String msg = RenX_IRCJoinPlugin::joinFmt; msg.replace(RenX_IRCJoinPlugin::nameTag, nick); msg.replace(RenX_IRCJoinPlugin::chanTag, channel); @@ -70,34 +65,37 @@ void RenX_IRCJoinPlugin::OnJoin(Jupiter::IRC::Client *source, const Jupiter::Rea void RenX_IRCJoinPlugin::OnPart(Jupiter::IRC::Client *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick, const Jupiter::ReadableString &reason) { - int access = source->getAccessLevel(channel, nick); - - if (access >= RenX_IRCJoinPlugin::minAccessPartMessage && (RenX_IRCJoinPlugin::maxAccessPartMessage == -1 || access <= RenX_IRCJoinPlugin::maxAccessPartMessage)) + if (RenX_IRCJoinPlugin::partFmt.isNotEmpty()) { - RenX::Server *server; - int type = source->getChannel(channel)->getType(); + int access = source->getAccessLevel(channel, nick); - Jupiter::String msg; - if (reason.isEmpty()) - msg = RenX_IRCJoinPlugin::partFmtNoReason; - else - msg = RenX_IRCJoinPlugin::partFmt; - msg.replace(RenX_IRCJoinPlugin::nameTag, nick); - msg.replace(RenX_IRCJoinPlugin::chanTag, channel); - msg.replace(RenX_IRCJoinPlugin::partReasonTag, reason); - - auto checkType = [&]() + if (access >= RenX_IRCJoinPlugin::minAccessPartMessage && (RenX_IRCJoinPlugin::maxAccessPartMessage == -1 || access <= RenX_IRCJoinPlugin::maxAccessPartMessage)) { - if (this->publicOnly) - return server->isPublicLogChanType(type); + RenX::Server *server; + int type = source->getChannel(channel)->getType(); + + Jupiter::String msg; + if (reason.isEmpty()) + msg = RenX_IRCJoinPlugin::partFmtNoReason; else - return server->isLogChanType(type); - }; - for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) - { - server = RenX::getCore()->getServer(i); - if (checkType() && (RenX_IRCJoinPlugin::partMsgAlways || server->players.size() != 0)) - server->sendMessage(msg); + msg = RenX_IRCJoinPlugin::partFmt; + msg.replace(RenX_IRCJoinPlugin::nameTag, nick); + msg.replace(RenX_IRCJoinPlugin::chanTag, channel); + msg.replace(RenX_IRCJoinPlugin::partReasonTag, reason); + + auto checkType = [&]() + { + if (this->publicOnly) + return server->isPublicLogChanType(type); + else + return server->isLogChanType(type); + }; + for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) + { + server = RenX::getCore()->getServer(i); + if (checkType() && (RenX_IRCJoinPlugin::partMsgAlways || server->players.size() != 0)) + server->sendMessage(msg); + } } } } diff --git a/RenX.IRCJoin/RenX_IRCJoin.h b/RenX.IRCJoin/RenX_IRCJoin.h index 444509a..adaf7d6 100644 --- a/RenX.IRCJoin/RenX_IRCJoin.h +++ b/RenX.IRCJoin/RenX_IRCJoin.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014 Justin James. + * Copyright (C) 2014-2015 Justin James. * * This license must be preserved. * Any applications, libraries, or code which make any use of any @@ -33,11 +33,11 @@ public: // Jupiter::Plugin private: void init(); + + // Config Variables bool publicOnly; bool joinMsgAlways; bool partMsgAlways; - int minAccessJoinMessage; - int maxAccessJoinMessage; int minAccessPartMessage; int maxAccessPartMessage; Jupiter::StringS nameTag; @@ -46,6 +46,8 @@ private: Jupiter::StringS joinFmt; Jupiter::StringS partFmt; Jupiter::StringS partFmtNoReason; + + // Internal Variables STRING_LITERAL_AS_NAMED_REFERENCE(name, "RenX.IRCJoin"); };