Input File - EverestAPI/CelesteTAS-EverestInterop GitHub Wiki

Unlike other TAS editors, CelesteTAS simply reads a text file where each line indices what inputs should be pressed. The format is quite simple:

(Frames),(Actions)

That means a line like 123,R,J means the TAS should hold Right (R) and Jump (J) for 123 frames (see Available Actions).

Understanding how Inputs are read

It is important to consider that a TAS file specifies what inputs should be held down at any specific point in time. It does not indicate what inputs should be pressed!

Given the following example:

1,R,J
1,R,J

one might think this means that jump is pressed twice, however this only means that on the first frame both Right and Jump are held down, and on the second frame, both are still just held down. It is equivalent to just writing 2,R,J.

Only the change in the holding state is considered a press/release, so to achieve two jumps, one would have to write:

1,R,J
1,R
1,R,J

Or even better, using the 2nd Jump input:

1,R,J
1,R,K

Writing Inputs

The only requirement to write a TAS is a text editor and following the format described above. However it is strongly recommended to use the purpose-built TAS-Editor Celeste Studio, as it provides numerous useful features and quality-of-life improvements for writing a TAS. Refer to the Quick Start Guide on how to get everything set up and running.

Available Actions

  • R = Right
  • L = Left
  • U = Up
  • D = Down
  • J = Jump / Confirm
  • K = Jump Bind 2
  • X = Dash / Talk / Cancel
  • C = Dash Bind 2 / Cancel Bind 2
  • Z = Crouch Dash
  • V = Crouch Dash Bind 2
  • G = Grab
  • H = Grab Bind 2
  • S = Pause
  • Q = Quick Restart
  • F = Analog
    • Format: F,(Angle),(Optional Magnitude) (default magnitude is 1)
    • Example 32,F,29.5
    • Use AnalogMode Command to change how angle is interpreted
  • O = Confirm Bind 2
  • N = Journal / Talk Bind 2
  • A = Dash Only Directional Modifier
    • Format: A(Direction)
    • Example: 15,R,X,ALU
    • Generally used to manipulate camera with Bino Control Storage
  • M = Move Only Directional Modifier
    • Format: M(Direction)
    • Example: 15,X,AL,MR
  • P = Custom Button Press Modifier
    • Format: P(Button)
    • Example: 15,R,PE after binding Set, CommunalHelper.DeployElytra, E at the beginning
    • Allows pressing modded inputs after binding them to a button with a Set Command

Special Inputs

Among regular button inputs, there are also special inputs to improve the TASing experience and make the file more readable: Refer to the respective linked page for more detailed information

  • Comments: Any line starting with # is ignored by the tools and can be used to write out thoughts, suggestions, etc. to other people (or your later self) reading the file.
  • Commands: Perform special actions, either transforming the played inputs or interacting with the game directly.
  • Breakpoints: Easy way to quickly get back to the relevant part of the TAS, you currently are working on
⚠️ **GitHub.com Fallback** ⚠️