From 6e2722777b7e6f6b0eab0fed16fb6c78cc9097c7 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Thu, 16 Oct 2014 23:07:32 -0400 Subject: [PATCH] Added RenX_OnPlayerCreate() and RenX_OnPlayerDelete() events. --- Release/Plugins/RenX.Core.lib | Bin 54854 -> 55790 bytes RenX.Core/RenX_Plugin.cpp | 10 ++++++++++ RenX.Core/RenX_Plugin.h | 4 ++++ RenX.Core/RenX_Server.cpp | 6 ++++++ 4 files changed, 20 insertions(+) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 7aeaa2e4faddfa4266f3e33c6e06f0f7a1d15f1c..7815143cf9242c9d0c2cc5d6f92f989ee78429f3 100644 GIT binary patch delta 6840 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 delta 6489 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 T;{3(af`-N~n;$eUE{^^KUW}`S diff --git a/RenX.Core/RenX_Plugin.cpp b/RenX.Core/RenX_Plugin.cpp index e6f2274..0f65f32 100644 --- a/RenX.Core/RenX_Plugin.cpp +++ b/RenX.Core/RenX_Plugin.cpp @@ -35,6 +35,16 @@ RenX::Plugin::~Plugin() } } +void RenX::Plugin::RenX_OnPlayerCreate(Server *, const RenX::PlayerInfo *) +{ + return; +} + +void RenX::Plugin::RenX_OnPlayerDelete(Server *, const RenX::PlayerInfo *) +{ + return; +} + void RenX::Plugin::RenX_OnJoin(Server *, const RenX::PlayerInfo *) { return; diff --git a/RenX.Core/RenX_Plugin.h b/RenX.Core/RenX_Plugin.h index de1e174..8fb7ecf 100644 --- a/RenX.Core/RenX_Plugin.h +++ b/RenX.Core/RenX_Plugin.h @@ -37,6 +37,10 @@ namespace RenX class RENX_API Plugin : public Jupiter::Plugin { public: + /** Non-RCON RenX logs */ + virtual void RenX_OnPlayerCreate(Server *server, const PlayerInfo *player); + virtual void RenX_OnPlayerDelete(Server *server, const PlayerInfo *player); + /** Player type logs */ virtual void RenX_OnJoin(Server *server, const PlayerInfo *player); virtual void RenX_OnPart(Server *server, const PlayerInfo *player); diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index bd0c03a..fd91508 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -254,6 +254,9 @@ bool RenX::Server::removePlayer(int id) if (node->data->id == id) { RenX::PlayerInfo *p = RenX::Server::players.remove(node); + Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnPlayerDelete(this, p); delete p; return true; } @@ -479,6 +482,9 @@ inline RenX::PlayerInfo *getPlayerOrAdd(RenX::Server *server, const Jupiter::Rea r->isBot = isBot; r->joinTime = time(nullptr); if (id != 0) server->players.add(r); + Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnPlayerCreate(server, r); } else if (r->name.size() == 0) r->name = name; r->team = team;