Subversion Repositories filter_foundry

Rev

Rev 390 | Rev 467 | 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 = {
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 = {
20
        char[]         szFilesize         // human readable file size (numeric string) with NUL terminator
466 daniel-mar 21
        char[]         szUnknown          // TODO: ??? Always 1 NUL character?
390 daniel-mar 22
        char[]         jpgData
23
    }
24
 
378 daniel-mar 25
    String = {
26
        int32_t        length
27
        char[]         value
28
    }
29
 
30
    SliderInfo = {
31
        int32_t        nameLength
466 daniel-mar 32
        char[]         name               // In FFX >= 1.2: Slider can have names prefixes:
33
                                          // {C} = Checkbox
34
                                          // {S} or none = Slider
378 daniel-mar 35
        byte           enabled
36
        int32_t        initialValue
37
    }
38
 
39
    Preset = {
40
        String         name
41
        int32_t[8]     sliderPosition
42
        int32_t        gradientIndex
43
        int32_t        unknown1           // TODO: ??? Is usually 0x0000006e (110) for FFX 1.1 and 0x0000006b (107) for FFX 1.2
44
        int32_t        unknown2           // TODO: ??? Is usually 0x00000053 (94)
45
        int32_t        jpegThumbnailLength
46
        byte[]         jpegThumbnailData
47
    }