#bot #game #geode

slc_oxide

A tiny and fast replay format for Geometry Dash

1 unstable release

new 0.1.0 Mar 26, 2025

#1092 in Network programming

MIT license

18KB
378 lines

slc replay format

A tiny and incredibly fast replay format for Geometry Dash.

Documentation

For documentation, please refer to the original slc repo.

Example

struct ReplayMeta {
  pub seed: u64
}

let mut replay = Replay::<ReplayMeta>::new(
  240.0, 
  ReplayMeta { 
    seed: 1234 
  }
);

// OR

let mut replay = Replay::<()>::new(240.0, ()); // For no meta

// Set tps by directly changing the value
replay.tps = 480.0;

// Add inputs using the `add_input` function
replay.add_input(200, InputData::Player(PlayerData {
  button: 1,
  hold: true,
  player_2: false
}));

// Other input types
replay.add_input(400, InputData::Death);
replay.add_input(600, InputData::TPS(480.0));

// Save the replay
let file = File::open("replay.slc")?;
let bw = BufWriter::new(file); // RECOMMENDED!
replay.write(bw)?;

lib.rs:

Rust port of the slc replay format for Geometry Dash.

Provides a compact and fast replay format to use for bots and converters. Silicate's official format.

Dependencies

~220–660KB
~15K SLoC