IODV

An IODV is an **I**nstruments **O**f **D**estruction **V**ehicle file.

This is basically a save file for each vehicle in the game, both official "Showcase" vehicles, and custom user created ones.

IODV files are essentially CSV (Comma separated value) files.

IODV's contain XYZ coordinates, and per-object settings

A (simple) example file:

```
{"version":0,"num_parts":9,"unlocked":false,"name":"3x3 6way base","mass":3350,"been_loaded":false,"cost":4850,"parts":[{"pos":{"x":0.0,"y":32.0,"z":-4.0},"rot":{"x":0.0,"y":0.0,"z":0.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":4.0,"y":32.0,"z":-4.000000476837158},"rot":{"x":0.0,"y":270.0,"z":0.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":-4.0,"y":32.0,"z":-4.000000476837158},"rot":{"x":-2.0355550198972866e-13,"y":89.99999237060547,"z":180.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":4.000000953674316,"y":32.0,"z":-4.76837158203125e-7},"rot":{"x":0.0,"y":180.0,"z":0.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":-4.000000476837158,"y":32.0,"z":-4.76837158203125e-7},"rot":{"x":0.000005008956122765085,"y":180.0,"z":180.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":4.000001907348633,"y":32.0,"z":3.999999523162842},"rot":{"x":0.0,"y":180.0,"z":0.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":-4.000001430511475,"y":32.0,"z":3.999999523162842},"rot":{"x":0.000005008956122765085,"y":180.0,"z":180.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":0.0000016689300537109376,"y":32.0,"z":4.0},"rot":{"x":0.0,"y":90.0,"z":0.0},"type":7,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0},{"pos":{"x":0.0,"y":32.0,"z":0.0},"rot":{"x":0.0,"y":0.0,"z":0.0},"type":22,"button1_idx":-1,"button2_idx":-1,"button3_idx":-1,"button4_idx":-1,"rot_degrees":0,"segments":0,"delay_amt":0.0,"button_dir":1.0,"button_invert":false,"button_activate":0,"reinforce":false,"slider_speed":10,"angle_limit_lo":1.0,"angle_limit_hi":1.0,"return_to_center":false,"tex_slot":0}],"textures":[0,1,3,14],"control_kc":[119,115,100,97,101,113,116,114,103,102,121,104,273,274,275,276],"control_ict":[16,15,4,3,19,20,21,22,14,13,11,12,1,2,18,17],"control_c_idx":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}
```