diff --git a/src/client/game/demonware/servers/lobby_server.cpp b/src/client/game/demonware/servers/lobby_server.cpp index 7d813acc..98c2dd73 100644 --- a/src/client/game/demonware/servers/lobby_server.cpp +++ b/src/client/game/demonware/servers/lobby_server.cpp @@ -19,6 +19,8 @@ namespace demonware this->register_service(); this->register_service(); this->register_service(); + this->register_service(); + this->register_service(); this->register_service(); this->register_service(); this->register_service(); diff --git a/src/client/game/demonware/services.hpp b/src/client/game/demonware/services.hpp index 019da1fd..d8017ecf 100644 --- a/src/client/game/demonware/services.hpp +++ b/src/client/game/demonware/services.hpp @@ -14,6 +14,7 @@ #include "services/bdStorage.hpp" // 10 #include "services/bdTitleUtilities.hpp" // 12 #include "services/bdBandwidthTest.hpp" // 18 +#include "services/bdStats2.hpp" // 19 #include "services/bdCounter.hpp" // 23 #include "services/bdDML.hpp" // 27 #include "services/bdGroup.hpp" // 28 @@ -31,6 +32,7 @@ #include "services/bdMarketplace.hpp" // 80 #include "services/bdLeague.hpp" // 81 #include "services/bdLeague2.hpp" // 82 +#include "services/bdStats3.hpp" // 91 #include "services/bdPublisherVariables.hpp"// 95 // AccountLinking // 86 #include "services/bdPresence.hpp" //103 diff --git a/src/client/game/demonware/services/bdStats.cpp b/src/client/game/demonware/services/bdStats.cpp index d01b5709..607545f8 100644 --- a/src/client/game/demonware/services/bdStats.cpp +++ b/src/client/game/demonware/services/bdStats.cpp @@ -5,14 +5,29 @@ namespace demonware { bdStats::bdStats() : service(4, "bdStats") { - this->register_task(1, &bdStats::unk1); + this->register_task(1, &bdStats::writeStats); + this->register_task(2, &bdStats::deleteStats); this->register_task(3, &bdStats::unk3); // leaderboards - this->register_task(4, &bdStats::unk4); - this->register_task(8, &bdStats::unk8); - this->register_task(11, &bdStats::unk11); + this->register_task(4, &bdStats::readStatsByRank); + this->register_task(5, &bdStats::readStatsByPivot); + this->register_task(6, &bdStats::readStatsByRating); + this->register_task(7, &bdStats::readStatsByMultipleRanks); + this->register_task(8, &bdStats::readExternalTitleStats); + this->register_task(10, &bdStats::readExternalTitleNamedStats); + this->register_task(11, &bdStats::readStatsByLeaderboardIDsAndEntityIDs); + this->register_task(12, &bdStats::readStatsByMultipleRatings); + this->register_task(13, &bdStats::readStatsByEntityID); + this->register_task(14, &bdStats::writeServerValidatedStats); } - void bdStats::unk1(service_server* server, byte_buffer* /*buffer*/) const + void bdStats::writeStats(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::deleteStats(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); @@ -26,21 +41,70 @@ namespace demonware reply->send(); } - void bdStats::unk4(service_server* server, byte_buffer* /*buffer*/) const + void bdStats::readStatsByRank(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdStats::unk8(service_server* server, byte_buffer* /*buffer*/) const + void bdStats::readStatsByPivot(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdStats::unk11(service_server* server, byte_buffer* /*buffer*/) const + void bdStats::readStatsByRating(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readStatsByMultipleRanks(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readExternalTitleStats(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readExternalTitleNamedStats(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readStatsByLeaderboardIDsAndEntityIDs(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readStatsByMultipleRatings(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::readStatsByEntityID(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats::writeServerValidatedStats(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); diff --git a/src/client/game/demonware/services/bdStats.hpp b/src/client/game/demonware/services/bdStats.hpp index e84a6436..86165775 100644 --- a/src/client/game/demonware/services/bdStats.hpp +++ b/src/client/game/demonware/services/bdStats.hpp @@ -8,10 +8,18 @@ namespace demonware bdStats(); private: - void unk1(service_server* server, byte_buffer* buffer) const; + void writeStats(service_server* server, byte_buffer* buffer) const; + void deleteStats(service_server* server, byte_buffer* buffer) const; void unk3(service_server* server, byte_buffer* buffer) const; - void unk4(service_server* server, byte_buffer* buffer) const; - void unk8(service_server* server, byte_buffer* buffer) const; - void unk11(service_server* server, byte_buffer* buffer) const; + void readStatsByRank(service_server* server, byte_buffer* buffer) const; + void readStatsByPivot(service_server* server, byte_buffer* buffer) const; + void readStatsByRating(service_server* server, byte_buffer* buffer) const; + void readStatsByMultipleRanks(service_server* server, byte_buffer* buffer) const; + void readExternalTitleStats(service_server* server, byte_buffer* buffer) const; + void readExternalTitleNamedStats(service_server* server, byte_buffer* buffer) const; + void readStatsByLeaderboardIDsAndEntityIDs(service_server* server, byte_buffer* buffer) const; + void readStatsByMultipleRatings(service_server* server, byte_buffer* buffer) const; + void readStatsByEntityID(service_server* server, byte_buffer* buffer) const; + void writeServerValidatedStats(service_server* server, byte_buffer* buffer) const; }; } diff --git a/src/client/game/demonware/services/bdStats2.cpp b/src/client/game/demonware/services/bdStats2.cpp new file mode 100644 index 00000000..f3f1786a --- /dev/null +++ b/src/client/game/demonware/services/bdStats2.cpp @@ -0,0 +1,25 @@ +#include +#include "../services.hpp" + +namespace demonware +{ + bdStats2::bdStats2() : service(19, "bdStats") + { + this->register_task(1, &bdStats2::startArbitratedSession); + this->register_task(2, &bdStats2::writeArbitratedStats); + } + + void bdStats2::startArbitratedSession(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats2::writeArbitratedStats(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } +} \ No newline at end of file diff --git a/src/client/game/demonware/services/bdStats2.hpp b/src/client/game/demonware/services/bdStats2.hpp new file mode 100644 index 00000000..74c08932 --- /dev/null +++ b/src/client/game/demonware/services/bdStats2.hpp @@ -0,0 +1,14 @@ +#pragma once + +namespace demonware +{ + class bdStats2 final : public service + { + public: + bdStats2(); + + private: + void startArbitratedSession(service_server* server, byte_buffer* buffer) const; + void writeArbitratedStats(service_server* server, byte_buffer* buffer) const; + }; +} \ No newline at end of file diff --git a/src/client/game/demonware/services/bdStats3.cpp b/src/client/game/demonware/services/bdStats3.cpp new file mode 100644 index 00000000..fe9efd4b --- /dev/null +++ b/src/client/game/demonware/services/bdStats3.cpp @@ -0,0 +1,65 @@ +#include +#include "../services.hpp" + +namespace demonware +{ + bdStats3::bdStats3() : service(91, "bdStats") + { + this->register_task(1, &bdStats3::deleteCSFileStats); + this->register_task(3, &bdStats3::readStatsByEntityID); + this->register_task(4, &bdStats3::readStatsByRank); + this->register_task(5, &bdStats3::readStatsByPivot); + this->register_task(6, &bdStats3::readStatsByRating); + this->register_task(7, &bdStats3::readStatsByMultipleRanks); + this->register_task(11, &bdStats3::readStatsByLeaderboardIDsAndEntityIDs); + } + + void bdStats3::deleteCSFileStats(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByEntityID(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByRank(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByPivot(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByRating(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByMultipleRanks(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdStats3::readStatsByLeaderboardIDsAndEntityIDs(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } +} \ No newline at end of file diff --git a/src/client/game/demonware/services/bdStats3.hpp b/src/client/game/demonware/services/bdStats3.hpp new file mode 100644 index 00000000..efeb5831 --- /dev/null +++ b/src/client/game/demonware/services/bdStats3.hpp @@ -0,0 +1,19 @@ +#pragma once + +namespace demonware +{ + class bdStats3 final : public service + { + public: + bdStats3(); + + private: + void deleteCSFileStats(service_server* server, byte_buffer* buffer) const; + void readStatsByEntityID(service_server* server, byte_buffer* buffer) const; + void readStatsByRank(service_server* server, byte_buffer* buffer) const; + void readStatsByPivot(service_server* server, byte_buffer* buffer) const; + void readStatsByRating(service_server* server, byte_buffer* buffer) const; + void readStatsByMultipleRanks(service_server* server, byte_buffer* buffer) const; + void readStatsByLeaderboardIDsAndEntityIDs(service_server* server, byte_buffer* buffer) const; + }; +} \ No newline at end of file