align proxy boost gates with upstream cleanup

align proxy boost gates with upstream cleanup
This commit is contained in:
James Osborne
2026-05-19 16:13:01 -04:00
committed by GitHub
14 changed files with 22 additions and 27 deletions
+6 -8
View File
@@ -2817,7 +2817,8 @@ static asio::awaitable<void> on_10_main_menu(shared_ptr<Client> c, uint32_t item
send_message_box(c, "$C6This ship option is only for Blue Burst."); send_message_box(c, "$C6This ship option is only for Blue Burst.");
break; break;
} }
if ((c->listener_port == 19145) || (c->listener_port == 19146)) { if ((c->listener_port == 12000) || (c->listener_port == 12001) ||
(c->listener_port == 19145) || (c->listener_port == 19146)) {
c->selected_blueballz_tier = -1; c->selected_blueballz_tier = -1;
co_await send_auto_patches_if_needed(c); co_await send_auto_patches_if_needed(c);
co_await enable_save_if_needed(c); co_await enable_save_if_needed(c);
@@ -2827,7 +2828,7 @@ static asio::awaitable<void> on_10_main_menu(shared_ptr<Client> c, uint32_t item
} }
break; break;
} }
send_reconnect(c, s->connect_address_for_client(c), 19145); send_reconnect(c, s->connect_address_for_client(c), 12000);
break; break;
} }
@@ -3120,21 +3121,18 @@ static asio::awaitable<void> on_10_proxy_destinations(shared_ptr<Client> c, uint
c->channel->disconnect(); c->channel->disconnect();
} else { } else {
// PSO Peeps: boosted clients may not enter Vanilla/Hardcore. // PSO Peeps: boosted clients may not enter Vanilla/Hardcore.
// PC v2 receives boosted BattleParams via the patch server. DC/GC can be // DC/GC can be boosted either by old boosted-disc listener ports or by
// boosted either by old boosted-disc listener ports or by the PSO Peeps XP // PSO Peeps XP client-function patches, which set HAS_PSO_PEEPS_XP_PATCH.
// client-function patch, which sets HAS_PSO_PEEPS_XP_PATCH.
const bool is_vanilla_or_hardcore_dest = const bool is_vanilla_or_hardcore_dest =
(dest->second == 19203 || dest->second == 19230 || dest->second == 19530); (dest->second == 19203 || dest->second == 19230 || dest->second == 19530);
const bool is_boosted_disc = const bool is_boosted_disc =
(c->listener_port == 9105 || c->listener_port == 9110 || (c->listener_port == 9105 || c->listener_port == 9110 ||
c->listener_port == 9201 || c->listener_port == 9202 ||
c->listener_port == 19105 || c->listener_port == 19110); c->listener_port == 19105 || c->listener_port == 19110);
const bool is_pc_v2_boosted = (c->version() == Version::PC_V2);
const bool has_psopeeps_xp_patch = const bool has_psopeeps_xp_patch =
c->check_flag(Client::Flag::HAS_PSO_PEEPS_XP_PATCH); c->check_flag(Client::Flag::HAS_PSO_PEEPS_XP_PATCH);
if (is_vanilla_or_hardcore_dest && if (is_vanilla_or_hardcore_dest &&
(is_boosted_disc || is_pc_v2_boosted || has_psopeeps_xp_patch)) { (is_boosted_disc || has_psopeeps_xp_patch)) {
send_message_box(c, send_message_box(c,
"$C6Vanilla and Hardcore are not available\n" "$C6Vanilla and Hardcore are not available\n"
"while boosted XP is active.\n\n" "while boosted XP is active.\n\n"
+4 -19
View File
@@ -2487,25 +2487,10 @@ static asio::awaitable<void> on_pick_up_item_generic(
// TODO: Figure out what the actual max range is; 30 is an overestimate // TODO: Figure out what the actual max range is; 30 is an overestimate
double dist2 = fi->pos.dist2(c->pos); double dist2 = fi->pos.dist2(c->pos);
if (dist2 > 900.0) { if (dist2 > 900.0) {
const bool allow_dcv2_falz_pickup_distance_recovery = l->log.warning_f("Player {} requests to pick up {:08X}, but it is too far away (dist2={})",
is_request && client_id, item_id, dist2);
(c->version() == Version::DC_V2) && l->add_item(floor, fi);
(l->episode == Episode::EP1) && co_return;
(floor == 0x0E) &&
(fi->from_obj == nullptr) &&
(fi->from_ene == nullptr) &&
fi->visible_to_client(c->lobby_client_id);
if (allow_dcv2_falz_pickup_distance_recovery) {
l->log.warning_f(
"DC V2 Falz floor item pickup distance recovery: Player {} picking up {:08X}; dist2={} item_floor={} player_floor={}",
client_id, item_id, dist2, static_cast<uint64_t>(floor), static_cast<uint64_t>(c->floor));
} else {
l->log.warning_f("Player {} requests to pick up {:08X}, but it is too far away (dist2={})",
client_id, item_id, dist2);
l->add_item(floor, fi);
co_return;
}
} }
try { try {
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsV2EXP5xDC" .meta key="PsoPeepsV2EXP5xDC"
.meta name="V2 5x" .meta name="V2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 EXP" .meta description="Dreamcast V2 EXP"
.versions 2OEF .versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled" .meta key="PsoPeepsV2EXP_enabled"
.meta name="10x XP" .meta name="10x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)." .meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF .versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled" .meta key="PsoPeepsV2EXP_enabled"
.meta name="5x XP" .meta name="5x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)." .meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF .versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP1EXP10x" .meta key="PsoPeepsEP1EXP10x"
.meta name="EP1 10x" .meta name="EP1 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP1 enemy EXP\nto 10x for GC crossplay" .meta description="Sets EP1 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2 3OJ5 .versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP1EXP5x" .meta key="PsoPeepsEP1EXP5x"
.meta name="EP1 5x" .meta name="EP1 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP1 enemy EXP\nto 5x for GC crossplay" .meta description="Sets EP1 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2 3OJ5 .versions 3OE2 3OJ5
@@ -1,5 +1,6 @@
.meta key="PsoPeepsEP2EXP10x" .meta key="PsoPeepsEP2EXP10x"
.meta name="EP2 10x" .meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2 3OJ5 .versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP2EXP10xJP" .meta key="PsoPeepsEP2EXP10xJP"
.meta name="EP2 10x" .meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OJ5 .versions 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP2EXP10xUS" .meta key="PsoPeepsEP2EXP10xUS"
.meta name="EP2 10x" .meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2 .versions 3OE2
@@ -1,5 +1,6 @@
.meta key="PsoPeepsEP2EXP5x" .meta key="PsoPeepsEP2EXP5x"
.meta name="EP2 5x" .meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2 3OJ5 .versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP2EXP5xJP" .meta key="PsoPeepsEP2EXP5xJP"
.meta name="EP2 5x" .meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OJ5 .versions 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsEP2EXP5xUS" .meta key="PsoPeepsEP2EXP5xUS"
.meta name="EP2 5x" .meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay" .meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2 .versions 3OE2
@@ -1,6 +1,7 @@
.meta visibility="menu" .meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled" .meta key="PsoPeepsV2EXP_enabled"
.meta name="10x XP" .meta name="10x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)." .meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF .versions 2OEF