This commit is contained in:
Quaternions 2025-01-09 18:28:15 -08:00
parent 273e915f67
commit 498c628280

View File

@ -1,6 +1,6 @@
// session represents the non-hardware state of the client. // session represents the non-hardware state of the client.
// Ideally it is a deterministic state which is atomically updated by instructions, same as the simulation state. // Ideally it is a deterministic state which is atomically updated by instructions, same as the simulation state.
use strafesnet_common::physics::Time as PhysicsTime; use strafesnet_common::physics::{Instruction as PhysicsInputInstruction,Time as PhysicsTime};
use strafesnet_common::timer::{Scaled,Timer}; use strafesnet_common::timer::{Scaled,Timer};
use strafesnet_common::physics::TimeInner as PhysicsTimeInner; use strafesnet_common::physics::TimeInner as PhysicsTimeInner;
use strafesnet_common::session::TimeInner as SessionTimeInner; use strafesnet_common::session::TimeInner as SessionTimeInner;
@ -16,9 +16,15 @@ pub struct Simulation{
physics:crate::physics::PhysicsContext, physics:crate::physics::PhysicsContext,
} }
pub struct Replay{
instruction:Vec<PhysicsInputInstruction>,
simulation:Simulation,
}
pub struct SessionState{ pub struct SessionState{
user_settings:crate::settings::UserSettings, user_settings:crate::settings::UserSettings,
mouse_interpolator:crate::mouse_interpolator::MouseInterpolator, mouse_interpolator:crate::mouse_interpolator::MouseInterpolator,
//gui:GuiState //gui:GuiState
simulation:Simulation, simulation:Simulation,
replays:Vec<Replay>,
} }