Rev 378 | Rev 466 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
FFX (Filters Unlimited) file format
===================================
FFXFile_V10 = {
String fileVersion // "FFX1.0"
String title
String category
String author
String copyright
String[5] channels // I (Intro), R, G, B, A
SliderInfo[8] sliders
int32_t gradientIndex
}
FFXFile_V11 = {
String fileVersion // "FFX1.1"
String title
String category
String author
String copyright
String[5] channels // I (Intro), R, G, B, A
SliderInfo[8] sliders
int32_t gradientIndex
int32_t numPresets // new in FFX 1.1
Preset[] presets // new in FFX 1.1
}
FFXFile_V12 = {
String fileVersion // "FFX1.2"
String title
String category
String author
String copyright
String[5] channels // I (Intro), R, G, B, A
SliderInfo[8] sliders // Slider names prefix: {C} = Checkbox, {S} or none = Slider
int32_t gradientIndex
int32_t bitmapInfoSize // new in FFX 1.2
BitmapInfo bitmapInfo // new in FFX 1.2
int32_t numPresets // new in FFX 1.1
Preset[] presets // new in FFX 1.1
}
BitmapInfo = {
char[] szFilesize // human readable file size (numeric string) with NUL terminator
char[] szUnknown // Always 1 NUL character?
char[] jpgData
}
String = {
int32_t length
char[] value
}
SliderInfo = {
int32_t nameLength
char[] name
byte enabled
int32_t initialValue
}
Preset = {
String name
int32_t[8] sliderPosition
int32_t gradientIndex
int32_t unknown1 // TODO: ??? Is usually 0x0000006e (110) for FFX 1.1 and 0x0000006b (107) for FFX 1.2
int32_t unknown2 // TODO: ??? Is usually 0x00000053 (94)
int32_t jpegThumbnailLength
byte[] jpegThumbnailData
}