Subversion Repositories filter_foundry

Rev

Rev 378 | Rev 467 | 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
    }