diff --git a/Cargo.lock b/Cargo.lock index a4e37a2..149cd18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3390,7 +3390,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "physis" version = "0.5.0" -source = "git+https://github.com/redstrate/physis#0c6383c3cc02d6526edd13f68573ca42720cf969" +source = "git+https://github.com/redstrate/physis#06a9e5f4d8772f52b49373cddef993e676a6cc3b" dependencies = [ "binrw", "bitflags 2.9.1", diff --git a/src/bin/kawari-world.rs b/src/bin/kawari-world.rs index 93b4b64..e9eac6e 100644 --- a/src/bin/kawari-world.rs +++ b/src/bin/kawari-world.rs @@ -721,16 +721,15 @@ async fn client_loop( // find the pop range on the other side let mut game_data = game_data.lock().unwrap(); let new_zone = Zone::load(&mut game_data, exit_box.territory_type); - let (destination_object, _) = new_zone - .find_pop_range(exit_box.destination_instance_id) - .unwrap(); - - // set the exit position - connection.exit_position = Some(Position { - x: destination_object.transform.translation[0], - y: destination_object.transform.translation[1], - z: destination_object.transform.translation[2], - }); + if let Some((destination_object, _)) = new_zone + .find_pop_range(exit_box.destination_instance_id) { + // set the exit position + connection.exit_position = Some(Position { + x: destination_object.transform.translation[0], + y: destination_object.transform.translation[1], + z: destination_object.transform.translation[2], + }); + } new_territory = exit_box.territory_type; } diff --git a/src/world/zone.rs b/src/world/zone.rs index e216faf..2d38b5d 100644 --- a/src/world/zone.rs +++ b/src/world/zone.rs @@ -46,6 +46,7 @@ impl Zone { let bg_path = row.Bg().into_string().unwrap(); let path = format!("bg/{}.lvb", &bg_path); + tracing::info!("Loading {}", path); let lgb_file = game_data.resource.read(&path).unwrap(); let lgb = Lvb::from_existing(&lgb_file).unwrap();