General Pipeline Flow
Haptic Folders
Haptic folder: A haptic folder contains a configuration file and haptic files. The folder name will be used as Game_ID.
Configuration file: This file details links between External_effect_ID given by Chroma dll and haptic events. There is a single configuration file per haptic folder. Its extension is .config.
Note: Using this configuration file, each external effect could trigger multiple haptic events on targets defined in the file. This allows the user/designer to mod the haptic effects without having to recompile the whole game.Haptic files: Each haptic file contains a haptic effect which can be used though the configuration file. Their extensions are .haps and they can be created using Haptic Composer.
Example folder structure:
Synesthesia/HapticFolders/MechWarrior5/
├── haptic.config
├── footsteps.haps
├── shot.haps
├── explosion.haps
External Commands
Command Formalism
The Chroma dll must be able to ask the Synestesia process to load, unload, play or stop haptic effects. Therefore, a formalism was put in place for this purpose.
General formalism:
[COMMAND ID];[ARGUMENT_1];[ARGUMENT_2];…;[ARGUMENT_X]
Commands | Command id | Argument 1 | Argument 2 |
---|---|---|---|
Load game haptic effects | load | Game_ID | |
Unload game haptic effects | unload | Game_ID | |
Activate game configuration | active | Game_ID | |
Play haptic event | play | External_Command_ID | Effect_length (optional) |
Stop haptic event | stop | External_Command_ID |