Rev 390 | Rev 467 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 390 | Rev 466 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | FFX (Filters Unlimited) file format |
1 | FFX (Filters Unlimited) file format |
2 | =================================== |
2 | =================================== |
3 | 3 | ||
4 | FFXFile_V10 = { |
4 | FFXFile = { |
5 | String fileVersion // "FFX1.0" |
5 | String fileVersion // "FFX1.0" or "FFX1.1" or "FFX1.2" |
6 | String title |
6 | String title |
7 | String category |
7 | String category |
8 | String author |
8 | String author |
9 | String copyright |
9 | String copyright |
10 | String[5] channels // I (Intro), R, G, B, A |
10 | String[5] channels // I (Intro), R (Red), G (Green), B (Blue), A (Alpha) |
11 | SliderInfo[8] sliders |
11 | SliderInfo[8] sliders |
12 | int32_t gradientIndex |
12 | int32_t gradientIndex |
13 | } |
- | |
14 | - | ||
15 | FFXFile_V11 = { |
- | |
16 | String fileVersion // "FFX1.1" |
- | |
17 | String title |
- | |
18 | String category |
- | |
19 | String author |
- | |
20 | String copyright |
- | |
21 | String[5] channels // I (Intro), R, G, B, A |
- | |
22 | SliderInfo[8] sliders |
- | |
23 | int32_t gradientIndex |
- | |
24 | int32_t numPresets // new in FFX 1.1 |
- | |
25 | Preset[] presets // new in FFX 1.1 |
- | |
26 | } |
- | |
27 | - | ||
28 | FFXFile_V12 = { |
- | |
29 | String fileVersion // "FFX1.2" |
- | |
30 | String title |
- | |
31 | String category |
- | |
32 | String author |
- | |
33 | String copyright |
- | |
34 | String[5] channels // I (Intro), R, G, B, A |
- | |
35 | SliderInfo[8] sliders // Slider names prefix: {C} = Checkbox, {S} or none = Slider |
- | |
36 | int32_t gradientIndex |
- | |
37 | int32_t bitmapInfoSize // new in FFX 1.2 |
13 | int32_t bitmapInfoSize // only in FFX >= 1.2, otherwise not present |
38 | BitmapInfo bitmapInfo // new in FFX 1.2 |
14 | BitmapInfo bitmapInfo // only in FFX >= 1.2, otherwise not present |
39 | int32_t numPresets // new in FFX 1.1 |
15 | int32_t numPresets // only in FFX >= 1.1, otherwise not present |
40 | Preset[] presets // new in FFX 1.1 |
16 | Preset[] presets // only in FFX >= 1.1, otherwise not present |
41 | } |
17 | } |
42 | 18 | ||
43 | BitmapInfo = { |
19 | BitmapInfo = { |
44 | char[] szFilesize // human readable file size (numeric string) with NUL terminator |
20 | char[] szFilesize // human readable file size (numeric string) with NUL terminator |
45 | char[] szUnknown // Always 1 NUL character? |
21 | char[] szUnknown // TODO: ??? Always 1 NUL character? |
46 | char[] jpgData |
22 | char[] jpgData |
47 | } |
23 | } |
48 | 24 | ||
49 | String = { |
25 | String = { |
50 | int32_t length |
26 | int32_t length |
51 | char[] value |
27 | char[] value |
52 | } |
28 | } |
53 | 29 | ||
54 | SliderInfo = { |
30 | SliderInfo = { |
55 | int32_t nameLength |
31 | int32_t nameLength |
- | 32 | char[] name // In FFX >= 1.2: Slider can have names prefixes: |
|
56 | char[] name |
33 | // {C} = Checkbox |
- | 34 | // {S} or none = Slider |
|
57 | byte enabled |
35 | byte enabled |
58 | int32_t initialValue |
36 | int32_t initialValue |
59 | } |
37 | } |
60 | 38 | ||
61 | Preset = { |
39 | Preset = { |