Subversion Repositories filter_foundry

Rev

Rev 466 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 466 Rev 467
Line 1... Line 1...
1
FFX (Filters Unlimited) file format
1
FFX (Filters Unlimited) file format
2
===================================
2
===================================
3
    
3
    
4
    FFXFile = {
4
    FFXFile = {
5
        String         fileVersion        // "FFX1.0" or "FFX1.1" or "FFX1.2"
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 (Red), G (Green), B (Blue), A (Alpha)
10
        String[5]      channels           // I (Intro), R (Red), G (Green), B (Blue), A (Alpha)
Line 15... Line 15...
15
        int32_t        numPresets         // only in FFX >= 1.1, 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
16
        Preset[]       presets            // only in FFX >= 1.1, otherwise not present
17
    }
17
    }
18
    
18
    
19
    BitmapInfo = {
19
    BitmapInfo = {
20
        char[]         szFilesize         // human readable file size (numeric string) with NUL terminator
20
        char[7]        szFilesize         // human-readable filesize in decimal notation (numeric string) with NUL terminator(s)
21
        char[]         szUnknown          // TODO: ??? Always 1 NUL character?
-
 
22
        char[]         jpgData
21
        char[]         jpgData
23
    }
22
    }
24
    
23
    
25
    String = {
24
    String = {
26
        int32_t        length
25
        int32_t        length
Line 38... Line 37...
38
    
37
    
39
    Preset = {
38
    Preset = {
40
        String         name
39
        String         name
41
        int32_t[8]     sliderPosition
40
        int32_t[8]     sliderPosition
42
        int32_t        gradientIndex
41
        int32_t        gradientIndex
43
        int32_t        unknown1           // TODO: ??? Is usually 0x0000006e (110) for FFX 1.1 and 0x0000006b (107) for FFX 1.2
42
        int32_t        jpegThumbnailWidth
44
        int32_t        unknown2           // TODO: ??? Is usually 0x00000053 (94)
43
        int32_t        jpegThumbnailHeight
45
        int32_t        jpegThumbnailLength
44
        int32_t        jpegThumbnailLength
46
        byte[]         jpegThumbnailData
45
        byte[]         jpegThumbnailData
47
    }
46
    }