Skip to content

Instantly share code, notes, and snippets.

@cl1ents
Created January 30, 2026 13:14
Show Gist options
  • Select an option

  • Save cl1ents/020f67746e0985b708e07d9b7de73ac5 to your computer and use it in GitHub Desktop.

Select an option

Save cl1ents/020f67746e0985b708e07d9b7de73ac5 to your computer and use it in GitHub Desktop.
Roblox FloatCurve.ValuesAndTimes hex pattern
enum KeyInterpolationMode: u8 { // https://create.roblox.com/docs/reference/engine/enums/KeyInterpolationMode
Constant = 0,
Linear = 1,
Cubic = 2
};
enum TangentSetMode: u8 { // Internal, I'm not sure how this works
NoTangentSet = 0,
LeftTangentSet = 1,
RightTangentSet = 2,
BothTangentsSet = 3,
};
struct FloatCurveValueKey {
KeyInterpolationMode interpolation;
TangentSetMode tangentSetMode;
float value;
float tangentLeft;
float tangentRight;
};
struct FloatCurveValuesEncoding {
u32 valuesVersion; // Current is 2
u32 keyCount;
FloatCurveValueKey keys[keyCount];
};
struct TimeCurveEncoding {
u32 timesVersion; // Current is 1
u32 timeCount;
u32 timeTicks[timeCount]; // 2400 ticks == 1.0s
};
struct FloatCurve_ValuesAndTimes {
FloatCurveValuesEncoding values;
TimeCurveEncoding times;
};
FloatCurve_ValuesAndTimes ValuesAndTimes @ 0x0;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment