Skip to main content

Module cs2_collision

Module cs2_collision 

Source
Expand description

CS2 Collision file format support.

CS2 Collision files (.cs2.collision) define collision meshes for 3D models in Total War games. These files contain triangular mesh data used for physics collision detection and pathfinding.

§File Format

CS2 Collision files are binary files containing:

  • Magic number and version header
  • Overall bounding box
  • One or more named collision meshes with vertices and triangles
  • Triangle adjacency information for efficient collision queries

§Supported Versions

  • Version 0
  • Version 11
  • Version 13
  • Version 20
  • Version 21

§File Contents

  • Bounding Box: Overall bounds containing all collision meshes
  • Collision3d Objects: Named collision meshes with triangle data
  • Triangle Adjacency: Edge connectivity for fast neighbor queries

§Usage

use rpfm_lib::files::cs2_collision::Cs2Collision;
use rpfm_lib::files::Decodeable;

// Decode from binary data
let collision = Cs2Collision::decode(&mut data, &None)?;

// Access collision meshes
for mesh in collision.collisions_3d() {
    println!("Mesh: {} ({} vertices, {} triangles)",
        mesh.name(),
        mesh.vertices().len(),
        mesh.triangles().len()
    );
}

§File Location

These files are typically found at:

  • rigidmodels/buildings/*/*.cs2.collision

Structs§

Collision3d
A named 3D collision mesh with vertices and triangles.
CollisionTriangle
A collision triangle with vertex indices and edge adjacency information.
Cs2Collision
Represents a CS2 Collision file decoded in memory.

Constants§

EXTENSION
File extension for CS2 Collision files.