Struct ggrs::SyncTestSession [−][src]
pub struct SyncTestSession { /* fields omitted */ }
Expand description
During a SyncTestSession
, GGRS will simulate a rollback every frame and resimulate the last n states, where n is the given check distance.
The resimulated checksums will be compared with the original checksums and report if there was a mismatch.
Implementations
pub fn advance_frame(
&mut self,
player_handle: PlayerHandle,
input: &[u8]
) -> Result<Vec<GGRSRequest>, GGRSError>
pub fn advance_frame(
&mut self,
player_handle: PlayerHandle,
input: &[u8]
) -> Result<Vec<GGRSRequest>, GGRSError>
In a sync test, this will advance the state by a single frame and afterwards rollback check_distance
amount of frames,
resimulate and compare checksums with the original states. Returns an order-sensitive Vec<GGRSRequest>
.
You should fulfill all requests in the exact order they are provided. Failure to do so will cause panics later.
Errors
- Returns
InvalidHandle
if the provided player handle is higher than the number of players. - Returns
MismatchedChecksumError
if checksums don’t match after resimulation.
pub fn set_frame_delay(
&mut self,
frame_delay: u32,
player_handle: PlayerHandle
) -> Result<(), GGRSError>
pub fn set_frame_delay(
&mut self,
frame_delay: u32,
player_handle: PlayerHandle
) -> Result<(), GGRSError>
Change the amount of frames GGRS will delay the inputs for a player.
Errors
Returns InvalidHandle
if the provided player handle is higher than the number of players.
Returns InvalidRequest
if the provided player handle refers to a remote player.