demonware experiments
This commit is contained in:
parent
e21e593b8e
commit
02aa669ad9
@ -38,37 +38,39 @@ namespace demonware
|
||||
}
|
||||
};
|
||||
|
||||
class bdFileInfo final : public bdTaskResult
|
||||
struct bdFileInfo final : public bdTaskResult
|
||||
{
|
||||
public:
|
||||
uint64_t file_id;
|
||||
uint32_t create_time;
|
||||
uint32_t modified_time;
|
||||
bool priv;
|
||||
bool visibility;
|
||||
uint64_t owner_id;
|
||||
std::string filename;
|
||||
uint32_t file_size;
|
||||
std::string checksum;
|
||||
|
||||
void serialize(byte_buffer* buffer) override
|
||||
void serialize(byte_buffer* data) override
|
||||
{
|
||||
buffer->write_uint32(this->file_size);
|
||||
buffer->write_uint64(this->file_id);
|
||||
buffer->write_uint32(this->create_time);
|
||||
buffer->write_uint32(this->modified_time);
|
||||
buffer->write_bool(this->priv);
|
||||
buffer->write_uint64(this->owner_id);
|
||||
buffer->write_string(this->filename);
|
||||
data->write_uint32(file_size);
|
||||
data->write_uint64(file_id);
|
||||
data->write_uint32(create_time);
|
||||
data->write_uint32(modified_time);
|
||||
data->write_bool(visibility);
|
||||
data->write_uint64(owner_id);
|
||||
data->write_string(filename);
|
||||
data->write_string(checksum);
|
||||
}
|
||||
|
||||
void deserialize(byte_buffer* buffer) override
|
||||
void deserialize(byte_buffer* data) override
|
||||
{
|
||||
buffer->read_uint32(&this->file_size);
|
||||
buffer->read_uint64(&this->file_id);
|
||||
buffer->read_uint32(&this->create_time);
|
||||
buffer->read_uint32(&this->modified_time);
|
||||
buffer->read_bool(&this->priv);
|
||||
buffer->read_uint64(&this->owner_id);
|
||||
buffer->read_string(&this->filename);
|
||||
data->read_uint32(&file_size);
|
||||
data->read_uint64(&file_id);
|
||||
data->read_uint32(&create_time);
|
||||
data->read_uint32(&modified_time);
|
||||
data->read_bool(&visibility);
|
||||
data->read_uint64(&owner_id);
|
||||
data->read_string(&filename);
|
||||
data->read_string(&checksum);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -12,6 +12,7 @@ namespace demonware
|
||||
{
|
||||
this->register_service<bdAnticheat>();
|
||||
this->register_service<bdBandwidthTest>();
|
||||
this->register_service<bdCMail>();
|
||||
this->register_service<bdContentStreaming>();
|
||||
this->register_service<bdCounter>();
|
||||
this->register_service<bdDML>();
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include "services/bdCounter.hpp" // 23
|
||||
#include "services/bdDML.hpp" // 27
|
||||
#include "services/bdGroup.hpp" // 28
|
||||
//#include "services/bdCMail.hpp" // 29
|
||||
#include "services/bdCMail.hpp" // 29
|
||||
#include "services/bdFacebook.hpp" // 36
|
||||
#include "services/bdAnticheat.hpp" // 38
|
||||
#include "services/bdContentStreaming.hpp" // 50
|
||||
|
@ -9,6 +9,7 @@ namespace demonware
|
||||
this->register_task(3, &bdAnticheat::reportConsoleID);
|
||||
this->register_task(4, &bdAnticheat::reportConsoleDetails);
|
||||
this->register_task(5, &bdAnticheat::answerTOTPChallenge);
|
||||
this->register_task(6, &bdAnticheat::unk6);
|
||||
}
|
||||
|
||||
void bdAnticheat::answerChallenges(service_server* server, byte_buffer* /*buffer*/) const
|
||||
@ -38,4 +39,11 @@ namespace demonware
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
|
||||
void bdAnticheat::unk6(service_server* server, byte_buffer* /*buffer*/) const
|
||||
{
|
||||
// TODO: Read data as soon as needed
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
}
|
||||
|
@ -12,5 +12,6 @@ namespace demonware
|
||||
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;
|
||||
void unk6(service_server* server, byte_buffer* buffer) const;
|
||||
};
|
||||
}
|
||||
|
17
src/client/game/demonware/services/bdCMail.cpp
Normal file
17
src/client/game/demonware/services/bdCMail.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
#include <std_include.hpp>
|
||||
#include "../services.hpp"
|
||||
|
||||
namespace demonware
|
||||
{
|
||||
bdCMail::bdCMail() : service(29, "bdCMail")
|
||||
{
|
||||
this->register_task(10, &bdCMail::unk10);
|
||||
}
|
||||
|
||||
void bdCMail::unk10(service_server* server, byte_buffer* /*buffer*/) const
|
||||
{
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
}
|
13
src/client/game/demonware/services/bdCMail.hpp
Normal file
13
src/client/game/demonware/services/bdCMail.hpp
Normal file
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
namespace demonware
|
||||
{
|
||||
class bdCMail final : public service
|
||||
{
|
||||
public:
|
||||
bdCMail();
|
||||
|
||||
private:
|
||||
void unk10(service_server* server, byte_buffer* buffer) const;
|
||||
};
|
||||
}
|
@ -7,6 +7,7 @@ namespace demonware
|
||||
{
|
||||
this->register_task(1, &bdMarketingComms::getMessages);
|
||||
this->register_task(4, &bdMarketingComms::reportFullMessagesViewed);
|
||||
this->register_task(6, &bdMarketingComms::reportFullMessagesViewed);
|
||||
}
|
||||
|
||||
void bdMarketingComms::getMessages(service_server* server, byte_buffer* /*buffer*/) const
|
||||
@ -22,4 +23,11 @@ namespace demonware
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
|
||||
void bdMarketingComms::unk6(service_server* server, byte_buffer* /*buffer*/) const
|
||||
{
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
}
|
||||
|
@ -10,5 +10,6 @@ namespace demonware
|
||||
private:
|
||||
void getMessages(service_server* server, byte_buffer* buffer) const;
|
||||
void reportFullMessagesViewed(service_server* server, byte_buffer* buffer) const;
|
||||
void unk6(service_server* server, byte_buffer* buffer) const;
|
||||
};
|
||||
}
|
||||
|
@ -11,8 +11,10 @@ namespace demonware
|
||||
//this->register_task(43, &bdMarketplace::purchaseOnSteamInitialize); // COD POINTS purchase ?
|
||||
this->register_task(49, &bdMarketplace::getExpiredInventoryItems);
|
||||
this->register_task(60, &bdMarketplace::steamProcessDurable);
|
||||
this->register_task(85, &bdMarketplace::unk85);
|
||||
this->register_task(122, &bdMarketplace::purchaseSkus);
|
||||
this->register_task(130, &bdMarketplace::getBalance);
|
||||
this->register_task(132, &bdMarketplace::getBalanceV2);
|
||||
this->register_task(165, &bdMarketplace::getInventoryPaginated);
|
||||
this->register_task(193, &bdMarketplace::putPlayersInventoryItems);
|
||||
this->register_task(232, &bdMarketplace::getEntitlements);
|
||||
@ -46,6 +48,13 @@ namespace demonware
|
||||
reply->send();
|
||||
}
|
||||
|
||||
void bdMarketplace::unk85(service_server* server, byte_buffer* /*buffer*/) const
|
||||
{
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
|
||||
void bdMarketplace::purchaseSkus(service_server* server, byte_buffer* buffer) const
|
||||
{
|
||||
// TODO:
|
||||
@ -57,7 +66,13 @@ namespace demonware
|
||||
{
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
|
||||
void bdMarketplace::getBalanceV2(service_server* server, byte_buffer* buffer) const
|
||||
{
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
}
|
||||
|
||||
|
@ -12,8 +12,10 @@ namespace demonware
|
||||
void purchaseOnSteamInitialize(service_server* server, byte_buffer* buffer) const;
|
||||
void getExpiredInventoryItems(service_server* server, byte_buffer* buffer) const;
|
||||
void steamProcessDurable(service_server* server, byte_buffer* buffer) const;
|
||||
void unk85(service_server* server, byte_buffer* buffer) const;
|
||||
void purchaseSkus(service_server* server, byte_buffer* buffer) const;
|
||||
void getBalance(service_server* server, byte_buffer* buffer) const;
|
||||
void getBalanceV2(service_server* server, byte_buffer* buffer) const;
|
||||
void getInventoryPaginated(service_server* server, byte_buffer* buffer) const;
|
||||
void putPlayersInventoryItems(service_server* server, byte_buffer* buffer) const;
|
||||
void getEntitlements(service_server* server, byte_buffer* buffer) const;
|
||||
|
@ -66,6 +66,10 @@ namespace demonware
|
||||
|
||||
void bdStorage::list_publisher_files(service_server* server, byte_buffer* buffer)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
utils::io::write_file("demonware/bdStorage/list_publisher_files", buffer->get_buffer());
|
||||
#endif
|
||||
|
||||
uint32_t date;
|
||||
uint16_t num_results, offset;
|
||||
std::string unk, filename, data;
|
||||
@ -92,7 +96,8 @@ namespace demonware
|
||||
info->modified_time = info->create_time;
|
||||
info->file_size = uint32_t(data.size());
|
||||
info->owner_id = 0;
|
||||
info->priv = false;
|
||||
info->visibility = false;
|
||||
info->checksum = "f5f1fb4ddd2d85e2ed9a28b3204125ec";
|
||||
|
||||
reply->add(info);
|
||||
}
|
||||
@ -102,6 +107,10 @@ namespace demonware
|
||||
|
||||
void bdStorage::get_publisher_file(service_server* server, byte_buffer* buffer)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
utils::io::write_file("demonware/bdStorage/get_publisher_file", buffer->get_buffer());
|
||||
#endif
|
||||
|
||||
std::string unk, filename;
|
||||
buffer->read_string(&unk);
|
||||
buffer->read_string(&filename);
|
||||
@ -135,6 +144,10 @@ namespace demonware
|
||||
|
||||
void bdStorage::set_user_file(service_server* server, byte_buffer* buffer) const
|
||||
{
|
||||
#ifdef DEBUG
|
||||
utils::io::write_file("demonware/bdStorage/set_user_file", buffer->get_buffer());
|
||||
#endif
|
||||
|
||||
uint64_t owner;
|
||||
uint32_t numfiles;
|
||||
std::string game, platform;
|
||||
@ -183,21 +196,30 @@ namespace demonware
|
||||
|
||||
void bdStorage::get_user_file(service_server* server, byte_buffer* buffer) const
|
||||
{
|
||||
uint32_t unk32_0;
|
||||
uint32_t numfiles, count = 0;
|
||||
uint64_t owner;
|
||||
std::string game, platform;
|
||||
#ifdef DEBUG
|
||||
utils::io::write_file("demonware/bdStorage/get_user_file", buffer->get_buffer());
|
||||
#endif
|
||||
|
||||
std::string platform;
|
||||
uint32_t numunk;
|
||||
uint32_t numfiles;
|
||||
uint64_t owner = 0;
|
||||
std::string game;
|
||||
|
||||
buffer->read_string(&game);
|
||||
buffer->read_uint32(&unk32_0);
|
||||
buffer->read_uint64(&owner);
|
||||
buffer->read_string(&platform);
|
||||
buffer->read_uint64(&owner);
|
||||
buffer->read_string(&platform);
|
||||
buffer->read_uint32(&numunk);
|
||||
|
||||
for (uint32_t i = 0; i < numunk; i++)
|
||||
{
|
||||
buffer->read_uint64(&owner);
|
||||
buffer->read_string(&game);
|
||||
}
|
||||
|
||||
buffer->read_uint32(&numfiles);
|
||||
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
|
||||
uint32_t count = 0;
|
||||
for (uint32_t i = 0; i < numfiles; i++)
|
||||
{
|
||||
std::string filename, data;
|
||||
@ -239,6 +261,10 @@ namespace demonware
|
||||
|
||||
void bdStorage::unk12(service_server* server, byte_buffer* buffer) const
|
||||
{
|
||||
#ifdef DEBUG
|
||||
utils::io::write_file("demonware/bdStorage/unk12", buffer->get_buffer());
|
||||
#endif
|
||||
|
||||
// TODO:
|
||||
auto reply = server->create_reply(this->task_id());
|
||||
reply->send();
|
||||
|
Loading…
Reference in New Issue
Block a user