bios netplay patch

This commit is contained in:
Alex Vanderveen
2026-08-10 23:20:30 -04:00
parent 91d683d87d
commit 4e8900e6fe
3 changed files with 0 additions and 49 deletions
-8
View File
@@ -141,22 +141,14 @@ Settle rule (same for both):
OpenBIOS.
Every peer applies that session BIOS before boot. Mixed BIOSes are invalid for
<<<<<<< HEAD
rollback (kernel RAM layout differs).
=======
rollback (kernel RAM layout differs). If the session settles to SCPH-1001 but a
peer has no validated dump, that peer **aborts the launch** rather than silently
falling back to OpenBIOS (which would desync immediately).
>>>>>>> fca7047 (bios hotfix)
Session BIOS is **ephemeral**: it affects only that match’s runtime boot. It
does **not** rewrite `bios.cfg`, `settings.toml`, or the launcher Settings BIOS
row. Soft-return shows the player’s durable preference again; the next Start
<<<<<<< HEAD
re-settles from `bios_offer` as usual.
=======
re-settles from offers as usual.
>>>>>>> fca7047 (bios hotfix)
## Why both are compiled in
-5
View File
@@ -132,14 +132,9 @@ SCPH-1001, and whether OpenBIOS is selected) — online on ready, LAN on JOIN.
At Start the host freezes one session BIOS (`openbios` or `scph1001`) via
`match_caps.session_bios` (online) or the `MOTK1 START` line (LAN). The session
uses OpenBIOS unless every seated peer can run SCPH-1001 and nobody selected
<<<<<<< HEAD
OpenBIOS. That choice boots the match only — it does not change each peer’s
saved BIOS preference. See `docs/BIOS_SELECTION.md` (Netplay lobby settle).
=======
OpenBIOS. Peers that cannot apply a settled SCPH-1001 abort instead of falling
back. That choice boots the match only — it does not change each peer’s saved
BIOS preference. See `docs/BIOS_SELECTION.md` (Netplay lobby settle).
>>>>>>> fca7047 (bios hotfix)
---
-36
View File
@@ -10895,31 +10895,6 @@ int main(int argc, char** argv) {
/* Match BIOS settle (lobby bios_offer → session_bios).
* Ephemeral for this boot only — seed / bios.cfg keep
* the player's offline preference. */
<<<<<<< HEAD
if (resolve_match_session_bios_path(
caps->session_bios,
seed.has_bios_path ? seed.bios_path
: std::filesystem::path{},
ls.bios_path, argv[0],
&match_session_bios_path)) {
match_session_bios_set = true;
if (std::strcmp(caps->session_bios, "scph1001") == 0 &&
match_session_bios_path.empty()) {
std::fprintf(stderr,
"psxrecomp: session BIOS scph1001 settled but no "
"dump found — falling back to OpenBIOS\n");
} else if (match_session_bios_path.empty()) {
std::fprintf(stdout,
"psxrecomp: netplay session BIOS = OpenBIOS "
"(match only; preference unchanged)\n");
} else {
std::fprintf(stdout,
"psxrecomp: netplay session BIOS = SCPH-1001 "
"(%s; match only; preference unchanged)\n",
match_session_bios_path.string().c_str());
}
}
=======
if (caps->session_bios[0])
ae_np_set_session_bios_token(caps->session_bios);
}
@@ -10956,7 +10931,6 @@ int main(int argc, char** argv) {
"psxrecomp: netplay session BIOS = SCPH-1001 "
"(%s; match only; preference unchanged)\n",
match_session_bios_path.string().c_str());
>>>>>>> fca7047 (bios hotfix)
}
}
#endif
@@ -12597,15 +12571,6 @@ soft_return_lobby:
}
if (net_cfg.enabled) {
const PsxLobbyMatchCaps* caps = psx_lobby_match_caps();
<<<<<<< HEAD
std::filesystem::path session_path;
if (caps && caps->valid &&
resolve_match_session_bios_path(
caps->session_bios,
ls.bios_path[0] ? std::filesystem::path(ls.bios_path)
: std::filesystem::path{},
ls.bios_path, argv[0], &session_path)) {
=======
if (caps && caps->valid && caps->session_bios[0])
ae_np_set_session_bios_token(caps->session_bios);
std::filesystem::path session_path;
@@ -12623,7 +12588,6 @@ soft_return_lobby:
SDL_Quit();
return 1;
}
>>>>>>> fca7047 (bios hotfix)
if (session_path.empty()) {
std::filesystem::path ob =
resolve_bios_path(PSX_BUNDLED_BIOS_PATH, argv[0]);