Hi,
Two weeks ago, I started working on reverse engineering the FFE file format, because the functionality to load and write is currently not available in Wine: http://wiki.winehq.org/ForceFeedbackSummerOfCode2005Summary " Missing functionality: - Reading and writing FF effects to files (IDirectInputDevice8::WriteEffectToFile and IDirectInputDevice8::EnumEffectsInFile) have not been implemented. They are stored in a RIFF file, the details of which are undocumented. Given the nature of RIFF, it should be relatively simple (albeit time-consuming) to determine the exact format of the effect files. "
So I wrote a Python program that can read and validate FFE files, based on my assumption of the file format structure. In the Python file: - I tried to maximally expose the relation of the FFE file contents and the RIFF structure. - Every single bit in the FFE file will be tested/validated, and the program will throw a 'Warning' when something odd/against my assumptions, occurred with the file of interest. I did not yet implement write functionality in the Python file, but it should not be difficult (~inverse operation of read). For the CustomForce effect, my assumptions are hypothetical: there was no way to test it, because: - I did not find any file containing such effect - I couldn't create such file, because FEdit.exe does not support CustomForce effects to be created.
This should be a starting point to implement these read and write stubs in Wine. I don't have time to do that now, so, maybe someone else is interested to do so?
Any feedback is welcome,
Best regards, Elias