update proxy options
This commit is contained in:
@@ -94,6 +94,7 @@ public:
|
||||
PROXY_BLANK_NAME_ENABLED = 0x0000400000000000,
|
||||
PROXY_BLOCK_FUNCTION_CALLS = 0x0000800000000000,
|
||||
PROXY_EP3_UNMASK_WHISPERS = 0x0008000000000000,
|
||||
PROXY_VIRTUAL_CLIENT = 0x0400000000000000,
|
||||
// clang-format on
|
||||
};
|
||||
enum class ItemDropNotificationMode {
|
||||
|
||||
+8
-7
@@ -80,13 +80,14 @@ constexpr uint32_t SWITCH_ASSIST = 0xAA0707AA;
|
||||
constexpr uint32_t BLOCK_EVENTS = 0xAA0808AA;
|
||||
constexpr uint32_t BLOCK_PATCHES = 0xAA0909AA;
|
||||
constexpr uint32_t SAVE_FILES = 0xAA0A0AAA;
|
||||
constexpr uint32_t RED_NAME = 0xAA0B0BAA;
|
||||
constexpr uint32_t BLANK_NAME = 0xAA0C0CAA;
|
||||
constexpr uint32_t SUPPRESS_LOGIN = 0xAA0D0DAA;
|
||||
constexpr uint32_t SKIP_CARD = 0xAA0E0EAA;
|
||||
constexpr uint32_t EP3_INFINITE_MESETA = 0xAA0F0FAA;
|
||||
constexpr uint32_t EP3_INFINITE_TIME = 0xAA1010AA;
|
||||
constexpr uint32_t EP3_UNMASK_WHISPERS = 0xAA1111AA;
|
||||
constexpr uint32_t VIRTUAL_CLIENT = 0xAA0B0BAA;
|
||||
constexpr uint32_t RED_NAME = 0xAA0C0CAA;
|
||||
constexpr uint32_t BLANK_NAME = 0xAA0D0DAA;
|
||||
constexpr uint32_t SUPPRESS_LOGIN = 0xAA0E0EAA;
|
||||
constexpr uint32_t SKIP_CARD = 0xAA0F0FAA;
|
||||
constexpr uint32_t EP3_INFINITE_MESETA = 0xAA1010AA;
|
||||
constexpr uint32_t EP3_INFINITE_TIME = 0xAA1111AA;
|
||||
constexpr uint32_t EP3_UNMASK_WHISPERS = 0xAA1212AA;
|
||||
} // namespace ProxyOptionsMenuItemID
|
||||
|
||||
namespace TeamRewardMenuItemID {
|
||||
|
||||
@@ -169,7 +169,7 @@ static HandlerResult S_G_9A(shared_ptr<ProxyServer::LinkedSession> ses, uint16_t
|
||||
}
|
||||
cmd.unused1 = 0;
|
||||
cmd.unused2 = 0;
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.is_extended = (ses->remote_guild_card_number < 0) ? 1 : 0;
|
||||
cmd.language = ses->language();
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32 "", ses->login->account->account_id));
|
||||
@@ -275,7 +275,7 @@ static HandlerResult S_V123P_02_17(
|
||||
}
|
||||
cmd.unknown_a1 = 0;
|
||||
cmd.unknown_a2 = 0;
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.is_extended = 0;
|
||||
cmd.language = ses->language();
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32 "", ses->login->account->account_id));
|
||||
@@ -313,7 +313,7 @@ static HandlerResult S_V123P_02_17(
|
||||
cmd.player_tag = 0x00010000;
|
||||
cmd.guild_card_number = ses->remote_guild_card_number;
|
||||
}
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32 "", ses->login->account->account_id));
|
||||
cmd.access_key.encode(*access_key);
|
||||
if (ses->version() != Version::GC_NTE) {
|
||||
@@ -337,7 +337,7 @@ static HandlerResult S_V123P_02_17(
|
||||
}
|
||||
cmd.unused1 = 0;
|
||||
cmd.unused2 = 0;
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.is_extended = 0;
|
||||
cmd.language = ses->language();
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32 "", ses->login->account->account_id));
|
||||
@@ -367,7 +367,7 @@ static HandlerResult S_V123P_02_17(
|
||||
C_VerifyAccount_V3_DB cmd;
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32 "", ses->login->account->account_id));
|
||||
cmd.access_key.encode(ses->login->gc_license->access_key);
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.serial_number2 = cmd.serial_number;
|
||||
cmd.access_key2 = cmd.access_key;
|
||||
cmd.password.encode(ses->login->gc_license->password);
|
||||
@@ -396,7 +396,7 @@ static HandlerResult S_V123P_02_17(
|
||||
cmd.guild_card_number = guild_card_number;
|
||||
cmd.unused1 = 0;
|
||||
cmd.unused2 = 0;
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.is_extended = 0;
|
||||
cmd.language = ses->language();
|
||||
cmd.serial_number.encode(string_printf("%08" PRIX32, fake_serial_number));
|
||||
@@ -432,7 +432,7 @@ static HandlerResult S_V123P_02_17(
|
||||
}
|
||||
cmd.unused1 = 0;
|
||||
cmd.unused2 = 0;
|
||||
cmd.sub_version = ses->sub_version;
|
||||
cmd.sub_version = ses->effective_sub_version();
|
||||
cmd.is_extended = (ses->remote_guild_card_number < 0) ? 1 : 0;
|
||||
cmd.language = ses->language();
|
||||
cmd.serial_number.encode(ses->login->xb_license->gamertag);
|
||||
|
||||
@@ -160,6 +160,11 @@ public:
|
||||
inline uint8_t language() const {
|
||||
return this->client_channel.language;
|
||||
}
|
||||
inline uint32_t effective_sub_version() const {
|
||||
return this->config.check_flag(Client::Flag::PROXY_VIRTUAL_CLIENT)
|
||||
? default_sub_version_for_version(this->version())
|
||||
: this->sub_version;
|
||||
}
|
||||
void set_version(Version v);
|
||||
|
||||
void resume(
|
||||
|
||||
@@ -103,6 +103,8 @@ static shared_ptr<const Menu> proxy_options_menu_for_client(shared_ptr<const Cli
|
||||
"Save files", "Save local copies of\nfiles from the\nremote server\n(quests, etc.)");
|
||||
}
|
||||
if (s->proxy_enable_login_options) {
|
||||
add_flag_option(ProxyOptionsMenuItemID::VIRTUAL_CLIENT, Client::Flag::PROXY_VIRTUAL_CLIENT,
|
||||
"Virtual client", "");
|
||||
add_flag_option(ProxyOptionsMenuItemID::RED_NAME, Client::Flag::PROXY_RED_NAME_ENABLED,
|
||||
"Red name", "Set the colors\nof your name and\nChallenge Mode\nrank to red");
|
||||
add_flag_option(ProxyOptionsMenuItemID::BLANK_NAME, Client::Flag::PROXY_BLANK_NAME_ENABLED,
|
||||
@@ -2371,6 +2373,9 @@ static void on_10(shared_ptr<Client> c, uint16_t, uint32_t, string& data) {
|
||||
case ProxyOptionsMenuItemID::SAVE_FILES:
|
||||
c->config.toggle_flag(Client::Flag::PROXY_SAVE_FILES);
|
||||
goto resend_proxy_options_menu;
|
||||
case ProxyOptionsMenuItemID::VIRTUAL_CLIENT:
|
||||
c->config.toggle_flag(Client::Flag::PROXY_VIRTUAL_CLIENT);
|
||||
goto resend_proxy_options_menu;
|
||||
case ProxyOptionsMenuItemID::RED_NAME:
|
||||
c->config.toggle_flag(Client::Flag::PROXY_RED_NAME_ENABLED);
|
||||
goto resend_proxy_options_menu;
|
||||
|
||||
Reference in New Issue
Block a user