mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 15:13:16 +00:00
Make my_id not return an Option
This commit is contained in:
parent
17103adc97
commit
959e7fc88e
3 changed files with 18 additions and 28 deletions
|
@ -1233,7 +1233,7 @@ fn add_per_status_ui(
|
|||
fn peer_role(peer: net::omni::OmniPeerId, netman: &Arc<net::NetManager>) -> String {
|
||||
if peer == netman.peer.host_id() {
|
||||
tr("player_host")
|
||||
} else if Some(peer) == netman.peer.my_id() {
|
||||
} else if peer == netman.peer.my_id() {
|
||||
tr("player_me")
|
||||
} else {
|
||||
tr("player_player")
|
||||
|
|
|
@ -209,17 +209,7 @@ impl NetManager {
|
|||
socket.listen(1)?;
|
||||
socket.set_nonblocking(true)?;
|
||||
let local_server: TcpListener = socket.into();
|
||||
for _ in 1..3 {
|
||||
if self.peer.my_id().is_none() {
|
||||
info!("Waiting on my_id...");
|
||||
thread::sleep(Duration::from_millis(100));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if self.peer.my_id().is_none() {
|
||||
std::process::exit(1)
|
||||
}
|
||||
|
||||
let is_host = self.is_host();
|
||||
info!("Is host: {is_host}");
|
||||
let mut state = NetInnerState {
|
||||
|
@ -227,14 +217,14 @@ impl NetManager {
|
|||
recorder: None,
|
||||
world: WorldManager::new(
|
||||
is_host,
|
||||
self.peer.my_id().unwrap(),
|
||||
self.peer.my_id(),
|
||||
self.init_settings.save_state.clone(),
|
||||
),
|
||||
};
|
||||
let mut last_iter = Instant::now();
|
||||
// Create appearance files for local player.
|
||||
create_player_png(
|
||||
self.peer.my_id().unwrap(),
|
||||
self.peer.my_id(),
|
||||
&self.init_settings.mod_path,
|
||||
&self.init_settings.player_path,
|
||||
&self.init_settings.player_png_desc,
|
||||
|
@ -251,10 +241,7 @@ impl NetManager {
|
|||
for id in self.peer.iter_peer_ids() {
|
||||
self.send(id, &NetMsg::EndRun, Reliability::Reliable);
|
||||
}
|
||||
state.try_ws_write(ws_encode_proxy(
|
||||
"end_run",
|
||||
self.peer.my_id().unwrap().to_string(),
|
||||
));
|
||||
state.try_ws_write(ws_encode_proxy("end_run", self.peer.my_id().to_string()));
|
||||
self.end_run(&mut state);
|
||||
self.end_run.store(false, atomic::Ordering::Relaxed);
|
||||
}
|
||||
|
@ -287,7 +274,7 @@ impl NetManager {
|
|||
omni::OmniNetworkEvent::PeerConnected(id) => {
|
||||
self.broadcast(&NetMsg::Welcome, Reliability::Reliable);
|
||||
info!("Peer connected {id}");
|
||||
if self.peer.my_id() == Some(self.peer.host_id()) {
|
||||
if self.peer.my_id() == self.peer.host_id() {
|
||||
info!("Sending start game message");
|
||||
self.send(
|
||||
id,
|
||||
|
@ -297,7 +284,7 @@ impl NetManager {
|
|||
Reliability::Reliable,
|
||||
);
|
||||
}
|
||||
if id != self.peer.my_id().unwrap() {
|
||||
if id != self.peer.my_id() {
|
||||
// Create temporary appearance files for new player.
|
||||
create_player_png(
|
||||
id,
|
||||
|
@ -332,7 +319,7 @@ impl NetManager {
|
|||
NetMsg::Welcome => {}
|
||||
NetMsg::EndRun => state.try_ws_write(ws_encode_proxy(
|
||||
"end_run",
|
||||
self.peer.my_id().unwrap().to_string(),
|
||||
self.peer.my_id().to_string(),
|
||||
)),
|
||||
NetMsg::StartGame { settings } => {
|
||||
*self.settings.lock().unwrap() = settings;
|
||||
|
@ -436,8 +423,8 @@ impl NetManager {
|
|||
|
||||
let settings = self.settings.lock().unwrap();
|
||||
state.try_ws_write(ws_encode_proxy("seed", settings.seed));
|
||||
let value = self.peer.my_id().expect("Has peer id at this point");
|
||||
state.try_ws_write(ws_encode_proxy("peer_id", format!("{:016x}", value.0)));
|
||||
let my_id = self.peer.my_id();
|
||||
state.try_ws_write(ws_encode_proxy("peer_id", format!("{:016x}", my_id.0)));
|
||||
state.try_ws_write(ws_encode_proxy(
|
||||
"host_id",
|
||||
format!("{:016x}", self.peer.host_id().0),
|
||||
|
|
|
@ -92,7 +92,7 @@ impl PeerVariant {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pub(crate) fn flush(&self) {
|
||||
if let PeerVariant::Steam(p) = self {
|
||||
p.flush()
|
||||
|
@ -113,10 +113,13 @@ impl PeerVariant {
|
|||
}
|
||||
}
|
||||
|
||||
pub(crate) fn my_id(&self) -> Option<OmniPeerId> {
|
||||
pub(crate) fn my_id(&self) -> OmniPeerId {
|
||||
match self {
|
||||
PeerVariant::Tangled(p) => p.my_id().map(OmniPeerId::from),
|
||||
PeerVariant::Steam(p) => Some(p.my_id().into()),
|
||||
PeerVariant::Tangled(p) => p
|
||||
.my_id()
|
||||
.map(OmniPeerId::from)
|
||||
.expect("Peer id to be available"),
|
||||
PeerVariant::Steam(p) => p.my_id().into(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -161,7 +164,7 @@ impl PeerVariant {
|
|||
|
||||
pub fn is_host(&self) -> bool {
|
||||
match self {
|
||||
PeerVariant::Tangled(_) => Some(self.host_id()) == self.my_id(),
|
||||
PeerVariant::Tangled(_) => self.host_id() == self.my_id(),
|
||||
PeerVariant::Steam(p) => p.is_host(),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue