allow changing amount of chunks loaded in as host, only load in extra chunks as host

This commit is contained in:
bgkillas 2024-08-25 08:55:49 -04:00
parent ebb66dfb0a
commit 56533c5406
4 changed files with 11 additions and 3 deletions

View file

@ -68,6 +68,7 @@ pub struct GameSettings {
world_sync_interval: u32,
game_mode: GameMode,
friendly_fire: bool,
chunk_target: u32,
enemy_sync_interval: u32,
progress: Vec<String>,
}
@ -86,6 +87,7 @@ impl Default for GameSettings {
world_sync_interval: 2,
game_mode: GameMode::SharedHealth,
friendly_fire: false,
chunk_target: 32,
enemy_sync_interval: 2,
progress: Vec::new(),
}
@ -621,6 +623,9 @@ impl App {
ui.label(tr("connect_settings_seed"));
ui.add(DragValue::new(&mut game_settings.seed));
});
ui.add_space(10.0);
ui.label("Amount of chunks host has loaded at once, synced enemies and physics objects need to be loaded in by host to be rendered by clients");
ui.add(Slider::new(&mut game_settings.chunk_target, 1..=64));
if game_settings.world_sync_version == 2 {
ui.add_space(10.0);
ui.label(tr("World-will-be-synced-every-this-many-frames"));
@ -1099,4 +1104,4 @@ fn peer_role(peer: net::omni::OmniPeerId, netman: &Arc<net::NetManager>) -> Stri
} else {
tr("player_player")
}
}
}

View file

@ -430,6 +430,7 @@ impl NetManager {
state.try_ws_write_option("world_sync_interval", settings.world_sync_interval);
state.try_ws_write_option("game_mode", settings.game_mode);
state.try_ws_write_option("friendly_fire", settings.friendly_fire);
state.try_ws_write_option("chunk_target", settings.chunk_target);
state.try_ws_write_option("enemy_sync_interval", settings.enemy_sync_interval);
let progress = settings.progress.join(",");
state.try_ws_write_option("progress", progress.as_str());