netplay: input transforms stay per player online; rollback rows carry rx/ry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Shokunin
2026-10-06 19:37:35 -07:00
parent d54bf48068
commit 6f62f560bf
10 changed files with 124 additions and 11 deletions
+9 -1
View File
@@ -1409,7 +1409,7 @@ std::vector<std::string> mod_runtime_netplay_view_features(const ModResolution&
for (const ModResolution::Plugin& p : plan.plugins) {
const std::string key = p.package_id + "/" + p.feature_id;
auto it = ok.find(key);
const bool good = p.netplay_local_view;
const bool good = p.netplay_local_view || p.netplay_input;
ok[key] = it == ok.end() ? good : (it->second && good);
}
for (const ModResolution::Write& w : plan.writes)
@@ -1428,6 +1428,14 @@ std::vector<std::string> mod_runtime_netplay_view_features(const ModResolution&
return out;
}
bool mod_runtime_netplay_input_active() {
const RuntimeMods& s = state();
if (!s.netplay_view_plan || !s.plan.ok) return false;
for (const ModResolution::Plugin& p : s.plan.plugins)
if (p.netplay_input) return true;
return false;
}
bool mod_runtime_netplay_view_active() {
const RuntimeMods& s = state();
return s.netplay_view_plan && s.plan.ok && !s.plan.plugins.empty();