From 1a2d5c17722d7f4317b03cea6bf02fd1d4b5cfce Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Tue, 26 Dec 2023 09:49:14 -0800 Subject: [PATCH] rename GC_EP3_TRIAL_EDITION to GC_EP3_NTE --- src/Channel.cc | 2 +- src/ChoiceSearch.cc | 2 +- src/Client.cc | 2 +- src/Episode3/Server.cc | 4 +- src/ItemCreator.cc | 2 +- src/Lobby.cc | 4 +- src/Main.cc | 4 +- src/PSOProtocol.cc | 14 +- src/ProxyCommands.cc | 40 ++-- src/ProxyServer.cc | 4 +- src/Quest.cc | 6 +- src/QuestScript.cc | 12 +- src/ReceiveCommands.cc | 28 +-- src/ReceiveSubcommands.cc | 6 +- src/ReplaySession.cc | 6 +- src/SendCommands.cc | 40 ++-- src/ServerState.cc | 8 +- src/Version.cc | 16 +- src/Version.hh | 12 +- src/WordSelectTable.cc | 4 +- system/quests/retrieval/q058-gc-e.bin.txt | 28 +-- ...pisode3TrialEditionLobbySmokeTest.test.txt | 210 +++++++++--------- 22 files changed, 228 insertions(+), 226 deletions(-) diff --git a/src/Channel.cc b/src/Channel.cc index 164cf210..028aafcb 100644 --- a/src/Channel.cc +++ b/src/Channel.cc @@ -271,7 +271,7 @@ void Channel::send(uint16_t cmd, uint32_t flag, const std::vector CHOICE_SEARCH_CATEGORIES({ case Version::GC_V3: case Version::XB_V3: return (choice_id == 0x0004); - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return (choice_id == 0x0005); case Version::BB_V4: diff --git a/src/Client.cc b/src/Client.cc index 8fda3b0c..5619ecfe 100644 --- a/src/Client.cc +++ b/src/Client.cc @@ -47,7 +47,7 @@ void Client::Config::set_flags_for_version(Version version, int64_t sub_version) break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: break; case Version::XB_V3: diff --git a/src/Episode3/Server.cc b/src/Episode3/Server.cc index fef9049c..ccfabe7f 100644 --- a/src/Episode3/Server.cc +++ b/src/Episode3/Server.cc @@ -267,7 +267,7 @@ void Server::send_commands_for_joining_spectator(Channel& ch) const { if (this->last_chosen_map) { string data = this->prepare_6xB6x41_map_definition( - this->last_chosen_map, ch.language, (ch.version == Version::GC_EP3_TRIAL_EDITION)); + this->last_chosen_map, ch.language, (ch.version == Version::GC_EP3_NTE)); this->log().info("Sending %c version of map %08" PRIX32, char_for_language_code(ch.language), this->last_chosen_map->map_number); ch.send(0x6C, 0x00, data); } @@ -2349,7 +2349,7 @@ void Server::send_6xB6x41_to_all_clients() const { } if (map_commands_by_language[c->language()].empty()) { map_commands_by_language[c->language()] = this->prepare_6xB6x41_map_definition( - this->last_chosen_map, c->language(), (l->base_version == Version::GC_EP3_TRIAL_EDITION)); + this->last_chosen_map, c->language(), (l->base_version == Version::GC_EP3_NTE)); } this->log().info("Sending %c version of map %08" PRIX32, char_for_language_code(c->language()), this->last_chosen_map->map_number); send_command(c, 0x6C, 0x00, map_commands_by_language[c->language()]); diff --git a/src/ItemCreator.cc b/src/ItemCreator.cc index 1f90ba79..66d1480e 100644 --- a/src/ItemCreator.cc +++ b/src/ItemCreator.cc @@ -815,7 +815,7 @@ void ItemCreator::generate_unit_stars_tables() { case Version::BB_PATCH: case Version::GC_NTE: throw logic_error("unknown parameters for version"); - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: throw logic_error("ItemCreator cannot be created for Episode 3 games"); case Version::DC_NTE: diff --git a/src/Lobby.cc b/src/Lobby.cc index 22c1ac63..23b37a54 100644 --- a/src/Lobby.cc +++ b/src/Lobby.cc @@ -206,7 +206,7 @@ void Lobby::create_item_creator() { switch (this->base_version) { case Version::PC_PATCH: case Version::BB_PATCH: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: throw runtime_error("cannot create item creator for this base version"); case Version::DC_NTE: @@ -366,7 +366,7 @@ void Lobby::create_ep3_server() { this->log.info("Recreating Episode 3 server state"); } auto tourn = this->tournament_match ? this->tournament_match->tournament.lock() : nullptr; - bool is_trial = this->base_version == Version::GC_EP3_TRIAL_EDITION; + bool is_trial = this->base_version == Version::GC_EP3_NTE; Episode3::Server::Options options = { .card_index = is_trial ? s->ep3_card_index_trial : s->ep3_card_index, .map_index = s->ep3_map_index, diff --git a/src/Main.cc b/src/Main.cc index 0fc9ade8..57983975 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -113,7 +113,7 @@ Version get_cli_version(Arguments& args, Version default_value = Version::UNKNOW } else if (args.get("xb")) { return Version::XB_V3; } else if (args.get("ep3-trial")) { - return Version::GC_EP3_TRIAL_EDITION; + return Version::GC_EP3_NTE; } else if (args.get("ep3")) { return Version::GC_EP3; } else if (args.get("bb")) { @@ -382,7 +382,7 @@ static void a_encrypt_decrypt_fn(Arguments& args) { break; case Version::GC_V3: case Version::XB_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: crypt = make_shared(stoul(seed, nullptr, 16)); break; diff --git a/src/PSOProtocol.cc b/src/PSOProtocol.cc index 2fe085b8..1f0b05ee 100644 --- a/src/PSOProtocol.cc +++ b/src/PSOProtocol.cc @@ -31,7 +31,7 @@ uint16_t PSOCommandHeader::command(Version version) const { return this->dc.command; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->gc.command; case Version::XB_V3: @@ -59,7 +59,7 @@ void PSOCommandHeader::set_command(Version version, uint16_t command) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: this->gc.command = command; break; @@ -88,7 +88,7 @@ uint16_t PSOCommandHeader::size(Version version) const { return this->dc.size; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->gc.size; case Version::XB_V3: @@ -116,7 +116,7 @@ void PSOCommandHeader::set_size(Version version, uint32_t size) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: this->gc.size = size; break; @@ -145,7 +145,7 @@ uint32_t PSOCommandHeader::flag(Version version) const { return this->dc.flag; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->gc.flag; case Version::XB_V3: @@ -173,7 +173,7 @@ void PSOCommandHeader::set_flag(Version version, uint32_t flag) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: this->gc.flag = flag; break; @@ -218,7 +218,7 @@ std::string prepend_command_header( case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { PSOCommandHeaderDCV3 header; diff --git a/src/ProxyCommands.cc b/src/ProxyCommands.cc index af4178de..8cd3b45e 100644 --- a/src/ProxyCommands.cc +++ b/src/ProxyCommands.cc @@ -353,7 +353,7 @@ static HandlerResult S_V123P_02_17( break; case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: if (command == 0x17) { C_VerifyLicense_V3_DB cmd; @@ -1105,8 +1105,8 @@ static HandlerResult C_GXB_61(shared_ptr ses, uint16 pd = reinterpret_cast(&ep3_pd); } else { if (is_ep3(ses->version())) { - ses->log.info("Version changed to GC_EP3_TRIAL_EDITION"); - ses->set_version(Version::GC_EP3_TRIAL_EDITION); + ses->log.info("Version changed to GC_EP3_NTE"); + ses->set_version(Version::GC_EP3_NTE); } pd = &check_size_t(data, 0xFFFF); } @@ -1785,7 +1785,7 @@ static HandlerResult C_V123_A0_A1(shared_ptr ses, ui // Indexed as [command][version][is_from_client] static on_command_t handlers[0x100][14][2] = { // clang-format off -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 00 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 01 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}}, /* 02 */ {{S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {nullptr, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {S_V123P_02_17, nullptr}, {nullptr, nullptr}}, @@ -1802,7 +1802,7 @@ static on_command_t handlers[0x100][14][2] = { /* 0D */ {{nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 0E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* 0F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 10 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 11 */ {{nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* 12 */ {{nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, @@ -1819,7 +1819,7 @@ static on_command_t handlers[0x100][14][2] = { /* 1D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}, {S_1D, C_1D}}, /* 1E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 1F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 20 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 21 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 22 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_B_22, nullptr}}, @@ -1836,7 +1836,7 @@ static on_command_t handlers[0x100][14][2] = { /* 2D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 2E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 2F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 30 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 31 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 32 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -1853,7 +1853,7 @@ static on_command_t handlers[0x100][14][2] = { /* 3D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 3E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 3F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 40 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}, {S_invalid, C_40}}, /* 41 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_P_41, nullptr}, {S_P_41, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_DGX_41, nullptr}, {S_B_41, nullptr}}, /* 42 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -1870,7 +1870,7 @@ static on_command_t handlers[0x100][14][2] = { /* 4D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 4E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 4F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 50 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 51 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 52 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -1887,7 +1887,7 @@ static on_command_t handlers[0x100][14][2] = { /* 5D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 5E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 5F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 60 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_P_6x}, {S_6x, C_P_6x}, {S_6x, C_D_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_X_6x}, {S_6x, C_B_6x}}, /* 61 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, C_GXB_61}, {S_invalid, C_GXB_61}, {S_invalid, C_GXB_61}, {S_invalid, C_GXB_61}, {S_invalid, C_GXB_61}}, /* 62 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_P_6x}, {S_6x, C_P_6x}, {S_6x, C_D_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_X_6x}, {S_6x, C_B_6x}}, @@ -1904,7 +1904,7 @@ static on_command_t handlers[0x100][14][2] = { /* 6D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_D_6x}, {S_6x, C_P_6x}, {S_6x, C_P_6x}, {S_6x, C_D_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_G_6x}, {S_6x, C_X_6x}, {S_6x, C_B_6x}}, /* 6E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 6F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 70 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 71 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 72 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -1921,7 +1921,7 @@ static on_command_t handlers[0x100][14][2] = { /* 7D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 7E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 7F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 80 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* 81 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_P_81, C_P_81}, {S_P_81, C_P_81}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_DGX_81, C_DGX_81}, {S_B_81, C_B_81}}, /* 82 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -1938,7 +1938,7 @@ static on_command_t handlers[0x100][14][2] = { /* 8D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 8E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 8F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* 90 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* 91 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* 92 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, @@ -1955,7 +1955,7 @@ static on_command_t handlers[0x100][14][2] = { /* 9D */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 9E */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, C_G_9E}, {S_invalid, C_G_9E}, {S_invalid, C_G_9E}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* 9F */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* A0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, nullptr}}, /* A1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1},{nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, C_V123_A0_A1}, {nullptr, nullptr}}, /* A2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, @@ -1972,7 +1972,7 @@ static on_command_t handlers[0x100][14][2] = { /* AD */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* AE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* AF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* B0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* B1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}, {S_B1, nullptr}}, /* B2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_B2, nullptr}, {S_B2, nullptr}, {S_B2, nullptr}, {S_B2, nullptr}, {S_B2, nullptr}}, @@ -1989,7 +1989,7 @@ static on_command_t handlers[0x100][14][2] = { /* BD */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* BE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* BF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* C0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* C1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* C2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -2006,7 +2006,7 @@ static on_command_t handlers[0x100][14][2] = { /* CD */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* CE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* CF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* D0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* D1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}}, /* D2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -2023,7 +2023,7 @@ static on_command_t handlers[0x100][14][2] = { /* DD */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* DE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* DF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* E0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* E1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* E2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, @@ -2040,7 +2040,7 @@ static on_command_t handlers[0x100][14][2] = { /* ED */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* EE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* EF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_G_EF, nullptr}, {S_G_EF, nullptr}, {S_G_EF, nullptr}, {S_invalid, nullptr}, {S_B_EF, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C /* F0 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}}, /* F1 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* F2 */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, @@ -2057,7 +2057,7 @@ static on_command_t handlers[0x100][14][2] = { /* FD */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* FE */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, /* FF */ {{S_invalid, nullptr}, {S_invalid, nullptr}, {nullptr, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}, {S_invalid, nullptr}}, -// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_TRIAL_EDITION C S_GC_EP3 C S_XB_V3 C S_BB_V4 C +// CMD S_PC_PATCH C S_BB_PATCH C S_DC_NTE C S_DC_V1_12_2000_PROTO C S_DC_V1 C S_DC_V2 C S_PC_NTE C S_PC_V2 C S_GC_NTE C S_GC_V3 C S_GC_EP3_NTE C S_GC_EP3 C S_XB_V3 C S_BB_V4 C // clang-format on }; diff --git a/src/ProxyServer.cc b/src/ProxyServer.cc index 31090eca..a905a18a 100644 --- a/src/ProxyServer.cc +++ b/src/ProxyServer.cc @@ -181,7 +181,7 @@ void ProxyServer::on_client_connect( case Version::PC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { uint32_t server_key = random_object(); @@ -324,7 +324,7 @@ void ProxyServer::UnlinkedSession::on_input(Channel& ch, uint16_t command, uint3 } case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: // We should only get a 9E while the session is unlinked if (command == 0x9E) { diff --git a/src/Quest.cc b/src/Quest.cc index cc897ef0..e4633848 100644 --- a/src/Quest.cc +++ b/src/Quest.cc @@ -274,7 +274,7 @@ VersionedQuest::VersionedQuest( break; } - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { // Note: This codepath handles Episode 3 download quests, which are not // the same as Episode 3 quest scripts. The latter are only used offline @@ -602,7 +602,7 @@ QuestIndex::QuestIndex( {"pc", Version::PC_V2}, {"gcn", Version::GC_NTE}, {"gc", Version::GC_V3}, - {"gc3t", Version::GC_EP3_TRIAL_EDITION}, + {"gc3t", Version::GC_EP3_NTE}, {"gc3", Version::GC_EP3}, {"xb", Version::XB_V3}, {"bb", Version::BB_V4}, @@ -1292,7 +1292,7 @@ string encode_qst_file( break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: for (const auto& it : files) { add_open_file_command_t(w, name, it.first, xb_filename, quest_number, it.second->size(), is_dlq_encoded); diff --git a/src/QuestScript.cc b/src/QuestScript.cc index e266878c..0f446117 100644 --- a/src/QuestScript.cc +++ b/src/QuestScript.cc @@ -199,7 +199,7 @@ static constexpr uint16_t F_PC_NTE = 0x0040; // Version::PC_NTE static constexpr uint16_t F_PC_V2 = 0x0080; // Version::PC_V2 static constexpr uint16_t F_GC_NTE = 0x0100; // Version::GC_NTE static constexpr uint16_t F_GC_V3 = 0x0200; // Version::GC_V3 -static constexpr uint16_t F_GC_EP3TE = 0x0400; // Version::GC_EP3_TRIAL_EDITION +static constexpr uint16_t F_GC_EP3TE = 0x0400; // Version::GC_EP3_NTE static constexpr uint16_t F_GC_EP3 = 0x0800; // Version::GC_EP3 static constexpr uint16_t F_XB_V3 = 0x1000; // Version::XB_V3 static constexpr uint16_t F_BB_V4 = 0x2000; // Version::BB_V4 @@ -214,7 +214,7 @@ static_assert(F_PC_NTE == v_flag(Version::PC_NTE)); static_assert(F_PC_V2 == v_flag(Version::PC_V2)); static_assert(F_GC_NTE == v_flag(Version::GC_NTE)); static_assert(F_GC_V3 == v_flag(Version::GC_V3)); -static_assert(F_GC_EP3TE == v_flag(Version::GC_EP3_TRIAL_EDITION)); +static_assert(F_GC_EP3TE == v_flag(Version::GC_EP3_NTE)); static_assert(F_GC_EP3 == v_flag(Version::GC_EP3)); static_assert(F_XB_V3 == v_flag(Version::XB_V3)); static_assert(F_BB_V4 == v_flag(Version::BB_V4)); @@ -948,7 +948,7 @@ std::string disassemble_quest_script(const void* data, size_t size, Version vers } case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { const auto& header = r.get(); @@ -1617,7 +1617,7 @@ Episode find_quest_episode_from_script(const void* data, size_t size, Version ve return Episode::EP1; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { const auto& header = r.get(); @@ -1971,7 +1971,7 @@ std::string assemble_quest_script(const std::string& text) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: code_w.write(quest_language ? tt_utf8_to_8859(text) : tt_utf8_to_sjis(text)); @@ -2245,7 +2245,7 @@ std::string assemble_quest_script(const std::string& text) { } case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { PSOQuestHeaderGC header; diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index 4384258e..09699ea2 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -708,7 +708,7 @@ static void on_9A(shared_ptr c, uint16_t, uint32_t, string& data) { } case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { serial_number = stoul(cmd.serial_number.decode(), nullptr, 16); l = s->license_index->verify_gc(serial_number, cmd.access_key.decode()); @@ -777,7 +777,7 @@ static void on_9C(shared_ptr c, uint16_t, uint32_t, string& data) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: l = s->license_index->verify_gc(serial_number, cmd.access_key.decode(), cmd.password.decode()); break; @@ -916,7 +916,7 @@ static void on_9D_9E(shared_ptr c, uint16_t command, uint32_t, string& d break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: serial_number = stoul(base_cmd->serial_number.decode(), nullptr, 16); l = s->license_index->verify_gc(serial_number, base_cmd->access_key.decode()); @@ -1145,7 +1145,7 @@ static void on_93_BB(shared_ptr c, uint16_t, uint32_t, string& data) { static void on_9F(shared_ptr c, uint16_t, uint32_t, string& data) { switch (c->version()) { case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { const auto& cmd = check_size_t(data); c->config.parse_from(cmd.data); @@ -2948,7 +2948,7 @@ static void on_61_98(shared_ptr c, uint16_t command, uint32_t flag, stri } case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { const C_CharacterData_V3_61_98* cmd; @@ -2964,8 +2964,8 @@ static void on_61_98(shared_ptr c, uint16_t command, uint32_t flag, stri } } else { if (is_ep3(c->version())) { - c->channel.version = Version::GC_EP3_TRIAL_EDITION; - c->log.info("Game version changed to GC_EP3_TRIAL_EDITION"); + c->channel.version = Version::GC_EP3_NTE; + c->log.info("Game version changed to GC_EP3_NTE"); c->config.clear_flag(Client::Flag::ENCRYPTED_SEND_FUNCTION_CALL); if (c->config.specific_version == 0x33000000) { c->config.specific_version = 0x33534A54; // 3SJT @@ -3705,7 +3705,7 @@ static void on_C3(shared_ptr c, uint16_t, uint32_t, string& data) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: on_choice_search_t(c, cmd); @@ -3732,7 +3732,7 @@ static void on_81(shared_ptr c, uint16_t, uint32_t, string& data) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { const auto& cmd = check_size_t(data); @@ -3970,8 +3970,8 @@ shared_ptr create_game_generic( game->allow_version(Version::XB_V3); } break; - case Version::GC_EP3_TRIAL_EDITION: - game->allow_version(Version::GC_EP3_TRIAL_EDITION); + case Version::GC_EP3_NTE: + game->allow_version(Version::GC_EP3_NTE); break; case Version::GC_EP3: game->allow_version(Version::GC_EP3); @@ -4057,7 +4057,7 @@ shared_ptr create_game_generic( game->allowed_drop_modes = s->allowed_drop_modes_v3_normal; } break; - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: game->set_drop_mode(Lobby::DropMode::DISABLED); game->allowed_drop_modes = (1 << static_cast(game->drop_mode)); @@ -5382,7 +5382,7 @@ static void check_unlicensed_command(Version version, uint8_t command) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: // See comment in the DC case above for why DC commands are included here. if (command != 0x88 && // DC NTE @@ -5443,7 +5443,7 @@ void on_command_with_header(shared_ptr c, const string& data) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { auto& header = check_size_t(data, 0xFFFF); diff --git a/src/ReceiveSubcommands.cc b/src/ReceiveSubcommands.cc index cc9fded9..d509f273 100644 --- a/src/ReceiveSubcommands.cc +++ b/src/ReceiveSubcommands.cc @@ -451,7 +451,7 @@ static void on_sync_joining_player_disp_and_inventory( break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: gc_cmd = &check_size_t(data, size); base = &gc_cmd->base; @@ -543,7 +543,7 @@ static void on_sync_joining_player_disp_and_inventory( case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: if (gc_cmd) { transcode_inventory_items(gc_cmd); @@ -748,7 +748,7 @@ static void on_send_guild_card(shared_ptr c, uint8_t command, uint8_t fl } case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { const auto& cmd = check_size_t(data, size); c->character(true, false)->guild_card.description.encode(cmd.guild_card.description.decode(c->language()), c->language()); diff --git a/src/ReplaySession.cc b/src/ReplaySession.cc index 409fc9c4..34970593 100644 --- a/src/ReplaySession.cc +++ b/src/ReplaySession.cc @@ -152,7 +152,7 @@ void ReplaySession::check_for_password(shared_ptr ev) const { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { const auto& header = check_size_t(ev->data, 0xFFFF); @@ -246,7 +246,7 @@ void ReplaySession::apply_default_mask(shared_ptr ev) { case Version::PC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { uint8_t command; @@ -737,7 +737,7 @@ void ReplaySession::on_command_received( case Version::PC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: if (command == 0x02 || command == 0x17 || command == 0x91 || command == 0x9B) { diff --git a/src/SendCommands.cc b/src/SendCommands.cc index b9483963..987cae7b 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -134,7 +134,7 @@ void send_command_with_header(Channel& ch, const void* data, size_t size) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: send_command_with_header_t(ch, data, size); @@ -187,7 +187,7 @@ void send_server_init_dc_pc_v3(shared_ptr c, uint8_t flags) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { auto det_crypt = make_shared( client_key, v2_crypt_initial_client_commands, v3_crypt_initial_client_commands); @@ -264,7 +264,7 @@ void send_server_init(shared_ptr c, uint8_t flags) { case Version::PC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: send_server_init_dc_pc_v3(c, flags); @@ -301,7 +301,7 @@ void send_update_client_config(shared_ptr c, bool always_send) { } case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: { c->config.set_flag(Client::Flag::HAS_GUILD_CARD_NUMBER); @@ -763,7 +763,7 @@ void send_message_box(shared_ptr c, const string& text) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: case Version::BB_V4: @@ -962,7 +962,7 @@ void send_simple_mail(shared_ptr c, uint32_t from_guild_card_number, con case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: send_simple_mail_t(c, from_guild_card_number, from_name, text); @@ -1032,7 +1032,7 @@ void send_choice_search_choices(shared_ptr c) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: send_choice_search_choices_t(c); @@ -1094,7 +1094,7 @@ void send_card_search_result( case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: send_card_search_result_t(c, result, result_lobby); @@ -1211,7 +1211,7 @@ void send_guild_card( break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_guild_card_dc_pc_gc_t( ch, guild_card_number, name, description, language, section_id, char_class); @@ -1287,7 +1287,7 @@ void send_menu_t(shared_ptr c, shared_ptr menu, bool is_info is_visible &= !(item.flags & MenuItem::Flag::INVISIBLE_ON_GC_NTE); [[fallthrough]]; case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: is_visible &= !(item.flags & MenuItem::Flag::INVISIBLE_ON_GC); break; @@ -1521,7 +1521,7 @@ void send_quest_menu( case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_quest_menu_t(c, quests, is_download_menu); break; @@ -1552,7 +1552,7 @@ void send_quest_categories_menu( case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_quest_categories_menu_t(c, quest_index, menu_type, episode); break; @@ -1868,7 +1868,7 @@ void send_join_game(shared_ptr c, shared_ptr l) { send_command_t(c, 0x64, player_count, cmd); break; } - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: { S_JoinGame_GC_Ep3_64 cmd; size_t player_count = populate_v3_cmd(cmd); @@ -1940,7 +1940,7 @@ void send_join_lobby_t(shared_ptr c, shared_ptr l, shared_ptrversion()) { - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: if ((lobby_type > 0x14) && (lobby_type < 0xE9)) { lobby_type = l->block - 1; @@ -2126,7 +2126,7 @@ void send_join_lobby(shared_ptr c, shared_ptr l) { break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_join_lobby_t(c, l); break; @@ -2166,7 +2166,7 @@ void send_player_join_notification(shared_ptr c, break; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_join_lobby_t(c, l, joining_client); break; @@ -2669,7 +2669,7 @@ void send_quest_function_call(shared_ptr c, uint16_t function_id) { void send_ep3_card_list_update(shared_ptr c) { if (!c->config.check_flag(Client::Flag::HAS_EP3_CARD_DEFS)) { auto s = c->require_server_state(); - const auto& data = (c->version() == Version::GC_EP3_TRIAL_EDITION) + const auto& data = (c->version() == Version::GC_EP3_NTE) ? s->ep3_card_index_trial->get_compressed_definitions() : s->ep3_card_index->get_compressed_definitions(); @@ -2743,7 +2743,7 @@ void send_ep3_set_context_token(shared_ptr c, uint32_t context_token) { void send_ep3_confirm_tournament_entry( shared_ptr c, shared_ptr tourn) { - if (c->version() == Version::GC_EP3_TRIAL_EDITION) { + if (c->version() == Version::GC_EP3_NTE) { throw runtime_error("cannot send tournament entry command to Episode 3 Trial Edition client"); } @@ -3314,7 +3314,7 @@ void send_open_quest_file( case Version::PC_NTE: case Version::PC_V2: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: send_open_quest_file_t(c, quest_name, filename, xb_filename, contents->size(), quest_number, type); break; @@ -3434,7 +3434,7 @@ void send_ep3_card_auction(shared_ptr l) { distribution_size += e.probability; } - auto card_index = (l->base_version == Version::GC_EP3_TRIAL_EDITION) + auto card_index = (l->base_version == Version::GC_EP3_NTE) ? s->ep3_card_index_trial : s->ep3_card_index; diff --git a/src/ServerState.cc b/src/ServerState.cc index 5e6e2776..54ff645e 100644 --- a/src/ServerState.cc +++ b/src/ServerState.cc @@ -111,7 +111,7 @@ void ServerState::init() { l->allow_version(Version::XB_V3); l->allow_version(Version::BB_V4); } - l->allow_version(Version::GC_EP3_TRIAL_EDITION); + l->allow_version(Version::GC_EP3_NTE); l->allow_version(Version::GC_EP3); l->block = x + 1; @@ -394,7 +394,7 @@ shared_ptr ServerState::proxy_destinations_menu_for_version(Version return this->proxy_destinations_menu_pc; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->proxy_destinations_menu_gc; case Version::XB_V3: @@ -416,7 +416,7 @@ const vector>& ServerState::proxy_destinations_for_versio case Version::PC_V2: return this->proxy_destinations_pc; case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->proxy_destinations_gc; case Version::XB_V3: @@ -437,7 +437,7 @@ shared_ptr ServerState::item_parameter_table_for_versi return this->item_parameter_table_v2; case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: case Version::XB_V3: return this->item_parameter_table_v3; diff --git a/src/Version.cc b/src/Version.cc index d16816e5..ccee11a1 100644 --- a/src/Version.cc +++ b/src/Version.cc @@ -20,7 +20,7 @@ const char* login_port_name_for_version(Version v) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return "console-login"; case Version::PC_NTE: @@ -47,7 +47,7 @@ const char* lobby_port_name_for_version(Version v) { case Version::DC_V2: case Version::GC_NTE: case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return "console-lobby"; case Version::PC_NTE: @@ -75,7 +75,7 @@ const char* proxy_port_name_for_version(Version v) { case Version::GC_NTE: return "dc-proxy"; case Version::GC_V3: - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return "gc-proxy"; case Version::PC_NTE: @@ -113,8 +113,8 @@ const char* name_for_enum(Version v) { return "GC_NTE"; case Version::GC_V3: return "GC_V3"; - case Version::GC_EP3_TRIAL_EDITION: - return "GC_EP3_TRIAL_EDITION"; + case Version::GC_EP3_NTE: + return "GC_EP3_NTE"; case Version::GC_EP3: return "GC_EP3"; case Version::XB_V3: @@ -148,8 +148,8 @@ Version enum_for_name(const char* name) { return Version::GC_NTE; } else if (!strcmp(name, "GC_V3") || !strcasecmp(name, "gc")) { return Version::GC_V3; - } else if (!strcmp(name, "GC_EP3_TRIAL_EDITION")) { - return Version::GC_EP3_TRIAL_EDITION; + } else if (!strcmp(name, "GC_EP3_NTE")) { + return Version::GC_EP3_NTE; } else if (!strcmp(name, "GC_EP3")) { return Version::GC_EP3; } else if (!strcmp(name, "XB_V3") || !strcasecmp(name, "xb")) { @@ -228,7 +228,7 @@ uint32_t default_specific_version_for_version(Version version, int64_t sub_versi return 0x33000000; } throw logic_error("this should be impossible"); - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: return 0x33534A54; // 3SJT case Version::GC_EP3: switch (sub_version) { diff --git a/src/Version.hh b/src/Version.hh index 64d3a220..1c848db0 100644 --- a/src/Version.hh +++ b/src/Version.hh @@ -17,7 +17,7 @@ enum class Version { PC_V2 = 7, GC_NTE = 8, GC_V3 = 9, - GC_EP3_TRIAL_EDITION = 10, + GC_EP3_NTE = 10, GC_EP3 = 11, XB_V3 = 12, BB_V4 = 13, @@ -46,7 +46,7 @@ inline bool is_v1_or_v2(Version version) { } inline bool is_v3(Version version) { return (version == Version::GC_V3) || - (version == Version::GC_EP3_TRIAL_EDITION) || + (version == Version::GC_EP3_NTE) || (version == Version::GC_EP3) || (version == Version::XB_V3); } @@ -55,7 +55,7 @@ inline bool is_v4(Version version) { } inline bool is_ep3(Version version) { - return (version == Version::GC_EP3_TRIAL_EDITION) || (version == Version::GC_EP3); + return (version == Version::GC_EP3_NTE) || (version == Version::GC_EP3); } inline bool is_dc(Version version) { @@ -67,14 +67,14 @@ inline bool is_dc(Version version) { inline bool is_gc(Version version) { return (version == Version::GC_NTE) || (version == Version::GC_V3) || - (version == Version::GC_EP3_TRIAL_EDITION) || + (version == Version::GC_EP3_NTE) || (version == Version::GC_EP3); } inline bool is_big_endian(Version version) { return (version == Version::GC_NTE) || (version == Version::GC_V3) || - (version == Version::GC_EP3_TRIAL_EDITION) || + (version == Version::GC_EP3_NTE) || (version == Version::GC_EP3); } inline bool uses_v2_encryption(Version version) { @@ -89,7 +89,7 @@ inline bool uses_v2_encryption(Version version) { } inline bool uses_v3_encryption(Version version) { return (version == Version::GC_V3) || - (version == Version::GC_EP3_TRIAL_EDITION) || + (version == Version::GC_EP3_NTE) || (version == Version::GC_EP3) || (version == Version::XB_V3); } diff --git a/src/WordSelectTable.cc b/src/WordSelectTable.cc index 919d3902..ae986cb4 100644 --- a/src/WordSelectTable.cc +++ b/src/WordSelectTable.cc @@ -60,7 +60,7 @@ uint16_t WordSelectTable::Token::value_for_version(Version version) const { // TODO: Which index does GC_NTE use? Here we presume it's the same as GC, // but this may not be true return this->gc_value; - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: return this->ep3_value; case Version::BB_V4: @@ -93,7 +93,7 @@ WordSelectMessage WordSelectTable::translate( // but this may not be true index = &this->gc_index; break; - case Version::GC_EP3_TRIAL_EDITION: + case Version::GC_EP3_NTE: case Version::GC_EP3: index = &this->ep3_index; break; diff --git a/system/quests/retrieval/q058-gc-e.bin.txt b/system/quests/retrieval/q058-gc-e.bin.txt index a5e90f95..1a76b536 100755 --- a/system/quests/retrieval/q058-gc-e.bin.txt +++ b/system/quests/retrieval/q058-gc-e.bin.txt @@ -7,12 +7,11 @@ // The .version directive specifies which version of the game the quest is for. // The values are DC_NTE, DC_V1_11_2000_PROTOTYPE, DC_V1, DC_V2, PC_V2, GC_NTE, -// GC_V3, GC_EP3_TRIAL_EDITION, GC_EP3, XB_V3, and BB_V4. This determines which -// set of opcodes to use during compilation, and also specifies the header -// format and string encoding. This does not affect where the quest appears in -// menus, so for versions that use the same opcodes, headers, and string -// encodings, it is OK to use a symbolic link (hence q058-xb-e.bin.txt is a link -// to this file). +// GC_V3, GC_EP3_NTE, GC_EP3, XB_V3, and BB_V4. This determines which set of +// opcodes to use during compilation, and also specifies the header format and +// string encoding. This does not affect where the quest appears in menus, so +// for versions that use the same opcodes, headers, and string encodings, it is +// OK to use a symbolic link (hence q058-xb-e.bin.txt is a link to this file). .version GC_V3 // The .quest_num directive specifies the internal number of the quest. This @@ -26,7 +25,8 @@ // The .language field specifies the internal language of the quest. On console // versions (DC, GC, and XB), this affects how strings are encoded - Japanese -// uses Shift-JIS and other languages use ISO8859. The language values are: +// uses Shift-JIS and other languages use ISO8859. (On PC V2 and BB, UTF-16 is +// used for strings in all languages.) The language values are: // 0 = Japanese // 1 = English // 2 = German @@ -38,7 +38,8 @@ .language 1 // The .episode directive specifies the quest's episode. The server ignores this -// if a set_episode or set_episode2 opcode is present in the start function. +// if a set_episode or set_episode2 opcode is present in the code following the +// start label. .episode Episode1 // These directives specify the quest's name, short description, and long @@ -51,7 +52,7 @@ .long_desc "Client: Hopkins, hunter\nQuest:\n My weapon was taken\n from me when I was\n fighting a Dragon.\nReward: ??? Meseta\n\n\n" // On BB, quests may specify a maximum number of players with this directive. If -// not specified, the default is 4. +// not given, the default is 4. On non-BB versions, this directive is ignored. // .max_players 4 // On BB, quests may be joinable while in progress. This directive enables that @@ -73,10 +74,11 @@ // hello_symbol_chat: // .data 28000000 FFFF 0D00 FFFF FFFF 05 18 1D 00 05 28 1D 01 36 20 2A 00 3C 00 32 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 02 FF 00 00 02 FF 00 00 02 FF 00 00 02 FF 00 00 02 // There is also a directive for including a large number of zero bytes: +// lots_of_zeroes: // .zero 0x400 // 1024 bytes of zeroes -// Every quest must have a start function; this is the main thread that starts -// when the quest begins. The start label implicitly has a number of zero. +// Every quest must have a start label; this is the main thread that starts when +// the quest begins. The start label is always assigned number 0. start: gget 0x0091, r252 set_floor_handler 0, floor_handler_pioneer_2 @@ -143,12 +145,12 @@ floor_handler_pioneer_2_not_first_time: thread_stg show_mission_complete_if_needed ret -label00CA: +label00CA@0x00CA: clear r50 set r51 ret -label00CB: +label00CB@0x00CB: clear r51 set r50 ret diff --git a/tests/GC-Episode3TrialEditionLobbySmokeTest.test.txt b/tests/GC-Episode3TrialEditionLobbySmokeTest.test.txt index 56a48cc8..656e586b 100644 --- a/tests/GC-Episode3TrialEditionLobbySmokeTest.test.txt +++ b/tests/GC-Episode3TrialEditionLobbySmokeTest.test.txt @@ -189,8 +189,8 @@ I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (version=GC_EP3 comma 0650 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0670 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -I 25793 2023-11-24 23:03:38 - [C-4] Game version changed to GC_EP3_TRIAL_EDITION -I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_TRIAL_EDITION command=B8 flag=00) +I 25793 2023-11-24 23:03:38 - [C-4] Game version changed to GC_EP3_NTE +I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_NTE command=B8 flag=00) 0000 | B8 00 44 79 3A 79 00 00 21 00 FF 01 3A FC F8 FF | Dy:y ! : 0010 | 40 03 F7 C6 FC EA FC E8 D8 FC EB 40 FF 09 01 8F | @ @ 0020 | 02 03 05 06 F8 D5 02 30 FE 18 08 FC 09 B5 FF 04 | 0 @@ -2132,19 +2132,19 @@ I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_TRIAL_ED 7920 | C2 73 40 BF 71 75 59 C0 FF 0D FC FF AD BB D5 48 | s@ quY H 7930 | FE 1F 3B 88 FA EF 7C EF 02 55 B6 71 59 F8 FF 09 | ; | U qY 7940 | 00 00 00 00 | -I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_TRIAL_EDITION command=04 flag=00) +I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_NTE command=04 flag=00) 0000 | 04 00 2C 00 00 00 01 00 11 11 11 11 32 AC 99 83 | , 2 0010 | 54 4A 53 33 00 81 00 4A 20 00 04 00 00 00 00 00 | TJS3 J` 0020 | 00 00 00 00 00 00 FF FF 80 FF FF FF | -I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=99 flag=00) +I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=99 flag=00) 0000 | 99 00 04 00 | -I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=D6 flag=00) +I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=D6 flag=00) 0000 | D6 00 04 00 | -I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_TRIAL_EDITION command=04 flag=00) +I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (version=GC_EP3_NTE command=04 flag=00) 0000 | 04 00 2C 00 00 00 01 00 11 11 11 11 32 AC 99 83 | , 2 0010 | 54 4A 53 33 00 81 00 48 20 00 04 00 00 00 00 00 | TJS3 J` 0020 | 00 00 00 00 00 00 FF FF 80 FF FF FF | -I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=07 flag=08) +I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=07 flag=08) 0000 | 07 06 C8 00 11 00 00 11 FF FF FF FF 04 00 41 6C | Al 0010 | 65 78 61 6E 64 72 69 61 00 00 00 00 00 00 00 00 | exandria 0020 | 11 00 00 11 11 22 22 11 04 0F 47 6F 20 74 6F 20 | "" Go to @@ -2158,32 +2158,32 @@ I 25793 2023-11-24 23:03:38 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_T 00A0 | 6E 65 63 74 00 00 00 00 00 00 00 00 11 00 00 11 | nect 00B0 | 11 99 99 11 04 0F 43 6C 65 61 72 20 6C 69 63 65 | Clear lice 00C0 | 6E 73 65 00 00 00 00 00 | nse -I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=B8 flag=00) +I 25793 2023-11-24 23:03:38 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=B8 flag=00) 0000 | B8 00 04 00 | -I 25793 2023-11-24 23:03:40 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=09 flag=00) +I 25793 2023-11-24 23:03:40 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=09 flag=00) 0000 | 09 00 0C 00 11 00 00 11 11 22 22 11 | "" -I 25793 2023-11-24 23:03:40 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=11 flag=00) +I 25793 2023-11-24 23:03:40 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=11 flag=00) 0000 | 11 00 4C 00 00 00 00 00 00 00 00 00 09 43 36 30 | L C60 0010 | 09 43 37 20 70 6C 61 79 65 72 73 20 6F 6E 6C 69 | C7 players onli 0020 | 6E 65 0A 09 43 36 30 09 43 37 20 67 61 6D 65 73 | ne C60 C7 games 0030 | 0A 09 43 36 30 09 43 37 20 63 6F 6D 70 61 74 69 | C60 C7 compati 0040 | 62 6C 65 20 67 61 6D 65 73 00 00 00 | ble games -I 25793 2023-11-24 23:03:41 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=10 flag=00) +I 25793 2023-11-24 23:03:41 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=10 flag=00) 0000 | 10 00 0C 00 11 00 00 11 11 22 22 11 | "" -I 25793 2023-11-24 23:03:41 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=97 flag=01) +I 25793 2023-11-24 23:03:41 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=97 flag=01) 0000 | 97 01 04 00 | -I 25793 2023-11-24 23:03:41 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=04 flag=00) +I 25793 2023-11-24 23:03:41 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=04 flag=00) 0000 | 04 00 2C 00 00 00 01 00 11 11 11 11 32 AC 99 83 | , 2 0010 | 54 4A 53 33 00 81 00 4C 20 00 00 00 00 00 00 00 | TJS3 L` 0020 | 00 00 00 00 00 00 FF FF 80 FF FF FF | -I 25793 2023-11-24 23:03:42 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=B1 flag=00) +I 25793 2023-11-24 23:03:42 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=B1 flag=00) 0000 | B1 00 04 00 | -I 25793 2023-11-24 23:03:42 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=B1 flag=00) +I 25793 2023-11-24 23:03:42 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=B1 flag=00) 0000 | B1 00 1C 00 32 30 32 33 3A 31 31 3A 32 35 3A 20 | 2023:11:25: 0010 | 30 37 3A 30 33 3A 34 32 2E 30 30 30 | 07:03:42.000 -I 25793 2023-11-24 23:03:43 - [Commands] Received from C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=99 flag=00) +I 25793 2023-11-24 23:03:43 - [Commands] Received from C-4 (Tali) (version=GC_EP3_NTE command=99 flag=00) 0000 | 99 00 04 00 | -I 25793 2023-11-24 23:03:43 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_TRIAL_EDITION command=19 flag=00) +I 25793 2023-11-24 23:03:43 - [Commands] Sending to C-4 (Tali) (version=GC_EP3_NTE command=19 flag=00) 0000 | 19 00 0C 00 23 23 23 23 F6 13 00 00 | #### I 25793 2023-11-24 23:03:43 - [IPStackSimulator] Client closed TCP connection 44+23232323232A0414 (10.0.1.5:1044 -> 35.35.35.35:9002) I 25793 2023-11-24 23:03:43 - [Server] Client disconnected: C-4 on virtual connection 0x1025044d0 @@ -2359,12 +2359,12 @@ I 25793 2023-11-24 23:03:44 - [Commands] Received from C-5 (version=GC_EP3 comma 0650 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0670 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -I 25793 2023-11-24 23:03:44 - [C-5] Game version changed to GC_EP3_TRIAL_EDITION -I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=C5 flag=01) +I 25793 2023-11-24 23:03:44 - [C-5] Game version changed to GC_EP3_NTE +I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=C5 flag=01) 0000 | 04 00 2C 00 00 00 01 00 11 11 11 11 32 AC 99 83 | , 2 0010 | 54 4A 53 33 00 81 00 4C 20 00 00 00 00 00 00 00 | TJS3 L` 0020 | 00 00 00 00 00 00 FF FF 80 FF FF FF | -I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=C5 flag=01) +I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=C5 flag=01) 0000 | C5 01 20 01 00 00 00 00 FF 7F 00 00 00 00 00 00 | 0010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | @@ -2383,7 +2383,7 @@ I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_T 00F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0100 | 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 | 0110 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=67 flag=01) +I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=67 flag=01) 0000 | 67 01 4C 04 00 00 01 0F 10 00 00 00 00 00 00 00 | g L 0010 | 00 00 01 00 11 11 11 11 7F 00 00 01 00 00 00 00 | 0020 | 54 61 6C 69 00 00 00 00 00 00 00 00 00 00 00 00 | Tali @@ -2453,183 +2453,183 @@ I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_T 0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0430 | 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF | 0440 | FF FF FF FF FF FF FF FF FF FF FF FF | -I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=04 flag=00) +I 25793 2023-11-24 23:03:44 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=04 flag=00) 0000 | 04 00 2C 00 00 00 01 00 11 11 11 11 32 AC 99 83 | , 2 0010 | 54 4A 53 33 00 83 00 4C 20 00 00 00 00 00 00 00 | TJS3 L` 0020 | 00 00 00 00 00 00 FF FF 80 FF FF FF | -I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 1C 00 3F 06 00 00 00 00 00 00 0F 00 FF FF | ` ? 0010 | B2 84 1C BF 00 00 00 00 53 88 BA C2 | S -I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 0C 00 1F 02 00 00 0F 00 00 00 | ` -I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:45 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 08 00 23 01 00 00 | ` # -I 25793 2023-11-24 23:03:45 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=88 flag=01) +I 25793 2023-11-24 23:03:45 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=88 flag=01) 0000 | 88 01 10 00 00 00 01 00 11 11 11 11 00 00 00 00 | -I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 EA 6F A1 40 BD 37 AF C2 | ` @ o @ 7 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 6F 06 31 41 08 0F A5 C2 | ` @ o 1A 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 A5 F5 8F 41 29 11 9D C2 | ` @ A) 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:48 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 CE D4 AA 41 9A 85 8E C2 | ` B A -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 E4 39 CB 41 70 F6 81 C2 | ` B 9 Ap -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 56 90 E8 41 48 C2 69 C2 | ` B V AH i -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 1B 05 03 42 EE A0 4F C2 | ` B B O -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 57 C7 11 42 93 82 35 C2 | ` B W B 5 -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 0A 88 20 42 5B 63 1B C2 | ` B B[c -I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:49 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 2B 49 2F 42 62 44 01 C2 | ` B +I/BbD -I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 4C 0A 3E 42 D2 4A CE C1 | ` B L >B J -I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 6D CB 4C 42 DC 0C 9A C1 | ` B m LB -I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:50 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 DD 3C 43 42 D2 BE 3F C1 | ` B ; sB -I 25793 2023-11-24 23:03:58 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:58 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 42 03 00 00 B0 97 0C BF B5 B5 55 42 | ` B UB -I 25793 2023-11-24 23:03:58 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:58 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 1C 00 3E 06 00 00 00 00 96 88 0F 00 00 00 | ` > 0010 | CF F4 E1 BE 00 00 B5 B4 AB A9 57 42 | WB -I 25793 2023-11-24 23:03:59 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:59 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 46 84 05 C0 B3 58 38 42 | ` @ F X8B 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:03:59 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:03:59 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 66 89 6E C0 E3 06 19 42 | ` @ f n B 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 14 00 40 04 00 00 B5 01 A5 C0 D0 3B FB 41 | ` @ ; A 0010 | 00 00 00 00 | -I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 1C 00 3E 06 00 00 00 00 66 88 0F 00 00 00 | ` > f 0010 | F9 97 7B C0 00 00 B5 B4 6C 1C 15 42 | { l B -I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:00 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 52 03 00 00 00 00 00 00 66 88 FF FF | ` R f -I 25793 2023-11-24 23:04:03 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=E6 flag=00) +I 25793 2023-11-24 23:04:03 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=E6 flag=00) 0000 | E6 00 04 00 | -I 25793 2023-11-24 23:04:03 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=E6 flag=00) +I 25793 2023-11-24 23:04:03 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=E6 flag=00) 0000 | E6 00 20 00 44 00 00 44 00 00 00 00 00 00 41 6C | D D Al 0010 | 65 78 61 6E 64 72 69 61 00 00 00 00 00 00 00 04 | exandria -I 25793 2023-11-24 23:04:05 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:05 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 52 03 00 00 00 00 00 00 66 88 FF FF | ` R f -I 25793 2023-11-24 23:04:05 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:05 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 1C 00 3F 06 00 00 00 00 66 88 0F 00 00 00 | ` ? f 0010 | F9 97 7B C0 00 00 13 B5 6C 1C 15 42 | { l B -I 25793 2023-11-24 23:04:06 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=60 flag=00) +I 25793 2023-11-24 23:04:06 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=60 flag=00) 0000 | 60 00 10 00 52 03 00 00 00 00 00 00 66 88 FF FF | ` R f -I 25793 2023-11-24 23:04:08 - [Commands] Received from C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=A0 flag=00) +I 25793 2023-11-24 23:04:08 - [Commands] Received from C-5 (Tali) (version=GC_EP3_NTE command=A0 flag=00) 0000 | A0 00 1C 00 00 00 01 00 11 11 11 11 00 00 00 00 | 0010 | 00 00 00 00 00 00 00 00 00 00 00 00 | -I 25793 2023-11-24 23:04:08 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=69 flag=00) +I 25793 2023-11-24 23:04:08 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=69 flag=00) 0000 | 69 00 08 00 00 00 01 00 | i -I 25793 2023-11-24 23:04:08 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_TRIAL_EDITION command=19 flag=00) +I 25793 2023-11-24 23:04:08 - [Commands] Sending to C-5 (Tali) (version=GC_EP3_NTE command=19 flag=00) 0000 | 19 00 0C 00 23 23 23 23 EC 13 00 00 | #### I 25793 2023-11-24 23:04:08 - [IPStackSimulator] Client closed TCP connection 44+2323232313EF0415 (10.0.1.5:1045 -> 35.35.35.35:5103) I 25793 2023-11-24 23:04:08 - [IPStackSimulator] Client opened TCP connection 44+2323232313EC0416 (10.0.1.5:1046 -> 35.35.35.35:5100) (acked_server_seq=655F9802, next_client_seq=20A7C1D9) @@ -2823,8 +2823,8 @@ I 25793 2023-11-24 23:04:08 - [Commands] Received from C-6 (version=GC_EP3 comma 0650 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0670 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -I 25793 2023-11-24 23:04:08 - [C-6] Game version changed to GC_EP3_TRIAL_EDITION -I 25793 2023-11-24 23:04:09 - [Commands] Received from C-6 (Tali) (version=GC_EP3_TRIAL_EDITION command=10 flag=00) +I 25793 2023-11-24 23:04:08 - [C-6] Game version changed to GC_EP3_NTE +I 25793 2023-11-24 23:04:09 - [Commands] Received from C-6 (Tali) (version=GC_EP3_NTE command=10 flag=00) 0000 | 10 00 0C 00 11 00 00 11 11 88 88 11 | I 25793 2023-11-24 23:04:09 - [Server] Client disconnected: C-6 on virtual connection 0x1024042b0 I 25793 2023-11-24 23:04:09 - [IPStackSimulator] Server closed TCP connection 44+2323232313EC0416 (10.0.1.5:1046 -> 35.35.35.35:5100)