mod body; mod push_solve; mod face_crawler; mod model; pub mod physics; // Physics bug fixes can easily desync all bots. // // When replaying a bot, use the exact physics version which it was recorded with. // // When validating a new bot, ignore the version and use the latest version, // and overwrite the version in the file. // // Compatible physics versions should be determined // empirically at development time via leaderboard resimulation. // // Compatible physics versions should result in an identical leaderboard state, // or the only bots which fail are ones exploiting a surgically patched bug. #[derive(Clone,Copy,Hash,Debug,id::Id,Eq,PartialEq,Ord,PartialOrd)] pub struct PhysicsVersion(u32); pub const VERSION:PhysicsVersion=PhysicsVersion(0); const LATEST_COMPATIBLE_VERSION:[u32;1+VERSION.0 as usize]=const{ let compat=[0]; let mut input_version=0; while input_versionResult{ if (version as usize)