diff --git a/src/client/game/demonware/servers/lobby_server.cpp b/src/client/game/demonware/servers/lobby_server.cpp index 7f32110f..7d813acc 100644 --- a/src/client/game/demonware/servers/lobby_server.cpp +++ b/src/client/game/demonware/servers/lobby_server.cpp @@ -13,9 +13,10 @@ 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(); 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 53c296eb..019da1fd 100644 --- a/src/client/game/demonware/services.hpp +++ b/src/client/game/demonware/services.hpp @@ -14,9 +14,9 @@ #include "services/bdStorage.hpp" // 10 #include "services/bdTitleUtilities.hpp" // 12 #include "services/bdBandwidthTest.hpp" // 18 -#include "services/bdCounters.hpp" // 23 +#include "services/bdCounter.hpp" // 23 #include "services/bdDML.hpp" // 27 -#include "services/bdGroups.hpp" // 28 +#include "services/bdGroup.hpp" // 28 //#include "services/bdCMail.hpp" // 29 #include "services/bdFacebook.hpp" // 36 #include "services/bdAnticheat.hpp" // 38 diff --git a/src/client/game/demonware/services/bdAnticheat.cpp b/src/client/game/demonware/services/bdAnticheat.cpp index 9d69e186..86f7f9f5 100644 --- a/src/client/game/demonware/services/bdAnticheat.cpp +++ b/src/client/game/demonware/services/bdAnticheat.cpp @@ -5,18 +5,34 @@ namespace demonware { bdAnticheat::bdAnticheat() : service(38, "bdAnticheat") { - this->register_task(2, &bdAnticheat::unk2); - this->register_task(4, &bdAnticheat::report_console_details); + this->register_task(2, &bdAnticheat::answerChallenges); + this->register_task(3, &bdAnticheat::reportConsoleID); + this->register_task(4, &bdAnticheat::reportConsoleDetails); + this->register_task(5, &bdAnticheat::answerTOTPChallenge); } - void bdAnticheat::unk2(service_server* server, byte_buffer* /*buffer*/) const + void bdAnticheat::answerChallenges(service_server* server, byte_buffer* /*buffer*/) const { // TODO: Read data as soon as needed auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdAnticheat::report_console_details(service_server* server, byte_buffer* /*buffer*/) const + void bdAnticheat::reportConsoleID(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: Read data as soon as needed + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdAnticheat::reportConsoleDetails(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: Read data as soon as needed + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdAnticheat::answerTOTPChallenge(service_server* server, byte_buffer* /*buffer*/) const { // TODO: Read data as soon as needed auto reply = server->create_reply(this->task_id()); diff --git a/src/client/game/demonware/services/bdAnticheat.hpp b/src/client/game/demonware/services/bdAnticheat.hpp index 0e65bc2d..7fbe0f9c 100644 --- a/src/client/game/demonware/services/bdAnticheat.hpp +++ b/src/client/game/demonware/services/bdAnticheat.hpp @@ -8,7 +8,9 @@ namespace demonware bdAnticheat(); private: - void unk2(service_server* server, byte_buffer* buffer) const; - void report_console_details(service_server* server, byte_buffer* buffer) const; + void answerChallenges(service_server* server, byte_buffer* buffer) const; + void reportConsoleID(service_server* server, byte_buffer* buffer) const; + void reportConsoleDetails(service_server* server, byte_buffer* buffer) const; + void answerTOTPChallenge(service_server* server, byte_buffer* buffer) const; }; } diff --git a/src/client/game/demonware/services/bdCounter.cpp b/src/client/game/demonware/services/bdCounter.cpp new file mode 100644 index 00000000..ee190ade --- /dev/null +++ b/src/client/game/demonware/services/bdCounter.cpp @@ -0,0 +1,25 @@ +#include +#include "../services.hpp" + +namespace demonware +{ + bdCounter::bdCounter() : service(23, "bdCounter") + { + this->register_task(1, &bdCounter::incrementCounters); + this->register_task(2, &bdCounter::getCounterTotals); + } + + void bdCounter::incrementCounters(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdCounter::getCounterTotals(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } +} diff --git a/src/client/game/demonware/services/bdCounter.hpp b/src/client/game/demonware/services/bdCounter.hpp new file mode 100644 index 00000000..ef5553fa --- /dev/null +++ b/src/client/game/demonware/services/bdCounter.hpp @@ -0,0 +1,14 @@ +#pragma once + +namespace demonware +{ + class bdCounter final : public service + { + public: + bdCounter(); + + private: + void incrementCounters(service_server* server, byte_buffer* buffer) const; + void getCounterTotals(service_server* server, byte_buffer* buffer) const; + }; +} diff --git a/src/client/game/demonware/services/bdCounters.cpp b/src/client/game/demonware/services/bdCounters.cpp deleted file mode 100644 index 70aa8736..00000000 --- a/src/client/game/demonware/services/bdCounters.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include "../services.hpp" - -namespace demonware -{ - bdCounters::bdCounters() : service(23, "bdCounters") - { - this->register_task(1, &bdCounters::unk1); - this->register_task(2, &bdCounters::unk2); - } - - void bdCounters::unk1(service_server* server, byte_buffer* /*buffer*/) const - { - // TODO: - auto reply = server->create_reply(this->task_id()); - reply->send(); - } - - void bdCounters::unk2(service_server* server, byte_buffer* /*buffer*/) const - { - // TODO: - auto reply = server->create_reply(this->task_id()); - reply->send(); - } -} diff --git a/src/client/game/demonware/services/bdCounters.hpp b/src/client/game/demonware/services/bdCounters.hpp deleted file mode 100644 index cc6a6932..00000000 --- a/src/client/game/demonware/services/bdCounters.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -namespace demonware -{ - class bdCounters final : public service - { - public: - bdCounters(); - - private: - void unk1(service_server* server, byte_buffer* buffer) const; - void unk2(service_server* server, byte_buffer* buffer) const; - }; -} diff --git a/src/client/game/demonware/services/bdDML.cpp b/src/client/game/demonware/services/bdDML.cpp index 75e18ca4..d2a9da4c 100644 --- a/src/client/game/demonware/services/bdDML.cpp +++ b/src/client/game/demonware/services/bdDML.cpp @@ -5,10 +5,20 @@ namespace demonware { bdDML::bdDML() : service(27, "bdDML") { - this->register_task(2, &bdDML::get_user_raw_data); + this->register_task(1, &bdDML::recordIP); + this->register_task(2, &bdDML::getUserData); + this->register_task(3, &bdDML::getUserHierarchicalData); + this->register_task(4, &bdDML::getUsersLastLogonData); } - void bdDML::get_user_raw_data(service_server* server, byte_buffer* /*buffer*/) const + void bdDML::recordIP(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdDML::getUserData(service_server* server, byte_buffer* /*buffer*/) const { auto result = new bdDMLRawData; result->country_code = "US"; @@ -25,4 +35,18 @@ namespace demonware reply->add(result); reply->send(); } + + void bdDML::getUserHierarchicalData(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdDML::getUsersLastLogonData(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } } diff --git a/src/client/game/demonware/services/bdDML.hpp b/src/client/game/demonware/services/bdDML.hpp index 08faa594..ac4c2abb 100644 --- a/src/client/game/demonware/services/bdDML.hpp +++ b/src/client/game/demonware/services/bdDML.hpp @@ -8,6 +8,9 @@ namespace demonware bdDML(); private: - void get_user_raw_data(service_server* server, byte_buffer* buffer) const; + void recordIP(service_server* server, byte_buffer* buffer) const; + void getUserData(service_server* server, byte_buffer* buffer) const; + void getUserHierarchicalData(service_server* server, byte_buffer* buffer) const; + void getUsersLastLogonData(service_server* server, byte_buffer* buffer) const; }; } diff --git a/src/client/game/demonware/services/bdEventLog.cpp b/src/client/game/demonware/services/bdEventLog.cpp index c6eaa2b7..8aa4127a 100644 --- a/src/client/game/demonware/services/bdEventLog.cpp +++ b/src/client/game/demonware/services/bdEventLog.cpp @@ -5,10 +5,42 @@ namespace demonware { bdEventLog::bdEventLog() : service(67, "bdEventLog") { - this->register_task(6, &bdEventLog::unk6); + this->register_task(1, &bdEventLog::recordEvent); + this->register_task(2, &bdEventLog::recordEventBin); + this->register_task(3, &bdEventLog::recordEvents); + this->register_task(4, &bdEventLog::recordEventsBin); + this->register_task(6, &bdEventLog::initializeFiltering); } - void bdEventLog::unk6(service_server* server, byte_buffer* /*buffer*/) const + void bdEventLog::recordEvent(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdEventLog::recordEventBin(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdEventLog::recordEvents(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdEventLog::recordEventsBin(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdEventLog::initializeFiltering(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); diff --git a/src/client/game/demonware/services/bdEventLog.hpp b/src/client/game/demonware/services/bdEventLog.hpp index ade4912d..b9083e5d 100644 --- a/src/client/game/demonware/services/bdEventLog.hpp +++ b/src/client/game/demonware/services/bdEventLog.hpp @@ -8,6 +8,10 @@ namespace demonware bdEventLog(); private: - void unk6(service_server* server, byte_buffer* buffer) const; + void recordEvent(service_server* server, byte_buffer* buffer) const; + void recordEventBin(service_server* server, byte_buffer* buffer) const; + void recordEvents(service_server* server, byte_buffer* buffer) const; + void recordEventsBin(service_server* server, byte_buffer* buffer) const; + void initializeFiltering(service_server* server, byte_buffer* buffer) const; }; } diff --git a/src/client/game/demonware/services/bdFacebook.cpp b/src/client/game/demonware/services/bdFacebook.cpp index ffa1c5b9..ff01d58e 100644 --- a/src/client/game/demonware/services/bdFacebook.cpp +++ b/src/client/game/demonware/services/bdFacebook.cpp @@ -5,34 +5,106 @@ namespace demonware { bdFacebook::bdFacebook() : service(36, "bdFacebook") { - this->register_task(1, &bdFacebook::unk1); - this->register_task(3, &bdFacebook::unk3); - this->register_task(7, &bdFacebook::unk7); - this->register_task(8, &bdFacebook::unk8); + this->register_task(1, &bdFacebook::registerAccount); + this->register_task(2, &bdFacebook::post); + this->register_task(3, &bdFacebook::unregisterAccount); + this->register_task(5, &bdFacebook::isRegistered); + this->register_task(6, &bdFacebook::getInfo); + this->register_task(7, &bdFacebook::getRegisteredAccounts); + this->register_task(8, &bdFacebook::getFriends); + this->register_task(9, &bdFacebook::getProfilePictures); + this->register_task(10, &bdFacebook::uploadPhoto); + this->register_task(11, &bdFacebook::registerToken); + this->register_task(12, &bdFacebook::uploadVideo); + this->register_task(13, &bdFacebook::getFriendsByID); + this->register_task(14, &bdFacebook::setLikeStatus); } - void bdFacebook::unk1(service_server* server, byte_buffer* /*buffer*/) const + void bdFacebook::registerAccount(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdFacebook::unk3(service_server* server, byte_buffer* /*buffer*/) const + void bdFacebook::post(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdFacebook::unk7(service_server* server, byte_buffer* /*buffer*/) const + void bdFacebook::unregisterAccount(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); reply->send(); } - void bdFacebook::unk8(service_server* server, byte_buffer* /*buffer*/) const + void bdFacebook::isRegistered(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::getInfo(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::getRegisteredAccounts(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::getFriends(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::getProfilePictures(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::uploadPhoto(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::registerToken(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::uploadVideo(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::getFriendsByID(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdFacebook::setLikeStatus(service_server* server, byte_buffer* /*buffer*/) const { // TODO: auto reply = server->create_reply(this->task_id()); diff --git a/src/client/game/demonware/services/bdFacebook.hpp b/src/client/game/demonware/services/bdFacebook.hpp index dc12339a..419cca1d 100644 --- a/src/client/game/demonware/services/bdFacebook.hpp +++ b/src/client/game/demonware/services/bdFacebook.hpp @@ -8,9 +8,18 @@ namespace demonware bdFacebook(); private: - void unk1(service_server* server, byte_buffer* buffer) const; - void unk3(service_server* server, byte_buffer* buffer) const; - void unk7(service_server* server, byte_buffer* buffer) const; - void unk8(service_server* server, byte_buffer* buffer) const; + void registerAccount(service_server* server, byte_buffer* buffer) const; + void post(service_server* server, byte_buffer* buffer) const; + void unregisterAccount(service_server* server, byte_buffer* buffer) const; + void isRegistered(service_server* server, byte_buffer* buffer) const; + void getInfo(service_server* server, byte_buffer* buffer) const; + void getRegisteredAccounts(service_server* server, byte_buffer* buffer) const; + void getFriends(service_server* server, byte_buffer* buffer) const; + void getProfilePictures(service_server* server, byte_buffer* buffer) const; + void uploadPhoto(service_server* server, byte_buffer* buffer) const; + void registerToken(service_server* server, byte_buffer* buffer) const; + void uploadVideo(service_server* server, byte_buffer* buffer) const; + void getFriendsByID(service_server* server, byte_buffer* buffer) const; + void setLikeStatus(service_server* server, byte_buffer* buffer) const; }; } diff --git a/src/client/game/demonware/services/bdGroup.cpp b/src/client/game/demonware/services/bdGroup.cpp new file mode 100644 index 00000000..195d38f0 --- /dev/null +++ b/src/client/game/demonware/services/bdGroup.cpp @@ -0,0 +1,41 @@ +#include +#include "../services.hpp" + +namespace demonware +{ + bdGroup::bdGroup() : service(28, "bdGroup") + { + this->register_task(1, &bdGroup::setGroups); + this->register_task(2, &bdGroup::setGroupsForEntity); + this->register_task(3, &bdGroup::getEntityGroups); + this->register_task(4, &bdGroup::getGroupCounts); + } + + void bdGroup::setGroups(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdGroup::setGroupsForEntity(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdGroup::getEntityGroups(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } + + void bdGroup::getGroupCounts(service_server* server, byte_buffer* /*buffer*/) const + { + // TODO: + auto reply = server->create_reply(this->task_id()); + reply->send(); + } +} diff --git a/src/client/game/demonware/services/bdGroup.hpp b/src/client/game/demonware/services/bdGroup.hpp new file mode 100644 index 00000000..8810f257 --- /dev/null +++ b/src/client/game/demonware/services/bdGroup.hpp @@ -0,0 +1,16 @@ +#pragma once + +namespace demonware +{ + class bdGroup final : public service + { + public: + bdGroup(); + + private: + void setGroups(service_server* server, byte_buffer* buffer) const; + void setGroupsForEntity(service_server* server, byte_buffer* buffer) const; + void getEntityGroups(service_server* server, byte_buffer* buffer) const; + void getGroupCounts(service_server* server, byte_buffer* buffer) const; + }; +} diff --git a/src/client/game/demonware/services/bdGroups.cpp b/src/client/game/demonware/services/bdGroups.cpp deleted file mode 100644 index 116d5e7e..00000000 --- a/src/client/game/demonware/services/bdGroups.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include "../services.hpp" - -namespace demonware -{ - bdGroups::bdGroups() : service(28, "bdGroup") - { - this->register_task(1, &bdGroups::set_groups); - this->register_task(4, &bdGroups::unk4); - } - - void bdGroups::set_groups(service_server* server, byte_buffer* /*buffer*/) const - { - // TODO: - auto reply = server->create_reply(this->task_id()); - reply->send(); - } - - void bdGroups::unk4(service_server* server, byte_buffer* /*buffer*/) const - { - // TODO: - auto reply = server->create_reply(this->task_id()); - reply->send(); - } -} diff --git a/src/client/game/demonware/services/bdGroups.hpp b/src/client/game/demonware/services/bdGroups.hpp deleted file mode 100644 index ff42f1cf..00000000 --- a/src/client/game/demonware/services/bdGroups.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -namespace demonware -{ - class bdGroups final : public service - { - public: - bdGroups(); - - private: - void set_groups(service_server* server, byte_buffer* buffer) const; - void unk4(service_server* server, byte_buffer* buffer) const; - }; -}