pub struct Cs2Parsed { /* private fields */ }Expand description
Represents a CS2 Parsed file decoded in memory.
Contains all gameplay logic data for a building model, including unit placement, pathfinding, collision, and various building-specific behaviors.
§Fields
version- File format version (0, 8-13, 18, 20, or 21)ui_flag- Flag position shown on minimapbounding_box- Overall bounds (not present in v20 onwards)int_1- Unknown fieldpieces- List of building pieces with destruction states
§Examples
ⓘ
let parsed = Cs2Parsed::decode(&mut data, &None)?;
println!("Version: {}", parsed.version());
println!("Pieces: {}", parsed.pieces().len());Implementations§
Source§impl Cs2Parsed
impl Cs2Parsed
Sourcepub fn migrate_game(&mut self, game: &GameInfo) -> Result<()>
pub fn migrate_game(&mut self, game: &GameInfo) -> Result<()>
Migrates this CS2 Parsed file to be compatible with a specific game.
Converts the file version to the maximum version supported by the target game. Games generally support all previous format versions, so migration only occurs if the current file version is newer than the game’s maximum supported version.
§Arguments
game- Target game information containing maximum supported version
§Returns
Ok(())- Migration successful or not neededErr(RLibError::GameDoesntSupportCs2Migration)- Game doesn’t support CS2 files
§Examples
ⓘ
let mut parsed = Cs2Parsed::decode(&mut data, &None)?;
parsed.migrate_game(&game_info)?;
// File is now compatible with the target gameTrait Implementations§
Source§impl Decodeable for Cs2Parsed
impl Decodeable for Cs2Parsed
Source§impl<'de> Deserialize<'de> for Cs2Parsed
impl<'de> Deserialize<'de> for Cs2Parsed
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encodeable for Cs2Parsed
impl Encodeable for Cs2Parsed
Source§fn encode<W: WriteBytes>(
&mut self,
buffer: &mut W,
_extra_data: &Option<EncodeableExtraData<'_>>,
) -> Result<()>
fn encode<W: WriteBytes>( &mut self, buffer: &mut W, _extra_data: &Option<EncodeableExtraData<'_>>, ) -> Result<()>
Encodes the implementing type into binary data. Read more
impl StructuralPartialEq for Cs2Parsed
Auto Trait Implementations§
impl Freeze for Cs2Parsed
impl RefUnwindSafe for Cs2Parsed
impl Send for Cs2Parsed
impl Sync for Cs2Parsed
impl Unpin for Cs2Parsed
impl UnsafeUnpin for Cs2Parsed
impl UnwindSafe for Cs2Parsed
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.