The .shk format stores controller haptic feedback (vibration/rumble) commands with timing information.
| Offset | Type | Name | Description |
|---|---|---|---|
| 0x00 | UInt32 | NameHash | Hash of the resource name. |
| 0x04 | Int16 | Version | Format version. |
| 0x06 | Int16 | CommandCount | Number of haptic feedback commands. |
| 0x08 | Byte[4] | Padding | Unused. |
Each command entry is 4 bytes long. Located immediately after the header.
| Offset | Type | Name | Description |
|---|---|---|---|
| 0x00 | UInt16 | TimeOffset | Timing offset in milliseconds. |
| 0x02 | UInt8 | MotorID | Motor/actuator identifier. |
| 0x03 | UInt8 | ActuatorValue | Motor intensity/intensity value (0-255 range typical). |