Rev 466 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
378 | daniel-mar | 1 | FFX (Filters Unlimited) file format |
2 | =================================== |
||
3 | |||
466 | daniel-mar | 4 | FFXFile = { |
467 | daniel-mar | 5 | String fileVersion // "FFX1.0", or "FFX1.1", or "FFX1.2" |
378 | daniel-mar | 6 | String title |
7 | String category |
||
8 | String author |
||
9 | String copyright |
||
466 | daniel-mar | 10 | String[5] channels // I (Intro), R (Red), G (Green), B (Blue), A (Alpha) |
378 | daniel-mar | 11 | SliderInfo[8] sliders |
12 | int32_t gradientIndex |
||
466 | daniel-mar | 13 | int32_t bitmapInfoSize // only in FFX >= 1.2, otherwise not present |
14 | BitmapInfo bitmapInfo // only in FFX >= 1.2, otherwise not present |
||
15 | int32_t numPresets // only in FFX >= 1.1, otherwise not present |
||
16 | Preset[] presets // only in FFX >= 1.1, otherwise not present |
||
378 | daniel-mar | 17 | } |
18 | |||
390 | daniel-mar | 19 | BitmapInfo = { |
467 | daniel-mar | 20 | char[7] szFilesize // human-readable filesize in decimal notation (numeric string) with NUL terminator(s) |
390 | daniel-mar | 21 | char[] jpgData |
22 | } |
||
23 | |||
378 | daniel-mar | 24 | String = { |
25 | int32_t length |
||
26 | char[] value |
||
27 | } |
||
28 | |||
29 | SliderInfo = { |
||
30 | int32_t nameLength |
||
466 | daniel-mar | 31 | char[] name // In FFX >= 1.2: Slider can have names prefixes: |
32 | // {C} = Checkbox |
||
33 | // {S} or none = Slider |
||
378 | daniel-mar | 34 | byte enabled |
35 | int32_t initialValue |
||
36 | } |
||
37 | |||
38 | Preset = { |
||
39 | String name |
||
40 | int32_t[8] sliderPosition |
||
41 | int32_t gradientIndex |
||
467 | daniel-mar | 42 | int32_t jpegThumbnailWidth |
43 | int32_t jpegThumbnailHeight |
||
378 | daniel-mar | 44 | int32_t jpegThumbnailLength |
45 | byte[] jpegThumbnailData |
||
46 | } |