summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Data/Models/Abdomen.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/AssaultRifle.solidbin3716 -> 0 bytes
-rw-r--r--Data/Models/Block1.solidbin2036 -> 0 bytes
-rw-r--r--Data/Models/Block1collide.solidbin704 -> 0 bytes
-rw-r--r--Data/Models/Block1complete.solidbin1692 -> 0 bytes
-rw-r--r--Data/Models/Block2.solidbin2036 -> 0 bytes
-rw-r--r--Data/Models/Block2collide.solidbin704 -> 0 bytes
-rw-r--r--Data/Models/Block2complete.solidbin1656 -> 0 bytes
-rw-r--r--Data/Models/Block3.solidbin2036 -> 0 bytes
-rw-r--r--Data/Models/Block3collide.solidbin704 -> 0 bytes
-rw-r--r--Data/Models/Block3complete.solidbin1656 -> 0 bytes
-rw-r--r--Data/Models/Block4.solidbin2036 -> 0 bytes
-rw-r--r--Data/Models/Block4collide.solidbin704 -> 0 bytes
-rw-r--r--Data/Models/Block4complete.solidbin1656 -> 0 bytes
-rw-r--r--Data/Models/BlockOcclude.solidbin180 -> 0 bytes
-rw-r--r--Data/Models/Blocksimple.solidbin180 -> 0 bytes
-rw-r--r--Data/Models/Chest.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Foot.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Glockbase.solidbin4072 -> 0 bytes
-rw-r--r--Data/Models/Glockslide.solidbin1668 -> 0 bytes
-rw-r--r--Data/Models/Grenadebase.solidbin1052 -> 0 bytes
-rw-r--r--Data/Models/Grenadepin.solidbin1588 -> 0 bytes
-rw-r--r--Data/Models/Grenadespoon.solidbin860 -> 0 bytes
-rw-r--r--Data/Models/Hand.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Handgunbase.solidbin2080 -> 0 bytes
-rw-r--r--Data/Models/Handgunslide.solidbin1364 -> 0 bytes
-rw-r--r--Data/Models/Head.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Highblock1collide.solidbin532 -> 0 bytes
-rw-r--r--Data/Models/Highblock2collide.solidbin532 -> 0 bytes
-rw-r--r--Data/Models/Highblock3collide.solidbin532 -> 0 bytes
-rw-r--r--Data/Models/Highblock4collide.solidbin532 -> 0 bytes
-rw-r--r--Data/Models/Knife.solidbin4632 -> 0 bytes
-rw-r--r--Data/Models/Lower arm.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Lower leg.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Lowheightcollide.solidbin92 -> 0 bytes
-rw-r--r--Data/Models/Path.solidbin272 -> 0 bytes
-rw-r--r--Data/Models/Shades.solidbin1300 -> 0 bytes
-rw-r--r--Data/Models/Shotgun.solidbin9132 -> 0 bytes
-rw-r--r--Data/Models/Upper arm.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/Upper leg.solidbin236 -> 0 bytes
-rw-r--r--Data/Models/lowsimplecollide1.solidbin792 -> 0 bytes
-rw-r--r--Data/Models/lowsimplecollide2.solidbin792 -> 0 bytes
-rw-r--r--Data/Models/lowsimplecollide3.solidbin792 -> 0 bytes
-rw-r--r--Data/Models/lowsimplecollide4.solidbin792 -> 0 bytes
-rw-r--r--Data/Models/sniperrifle.solidbin4096 -> 0 bytes
-rw-r--r--Data/Models/streetsubdivided2.solidbin10192 -> 0 bytes
-rw-r--r--build.zig2
-rw-r--r--data/animations/aim-assault-rifle/frames/0.tsv (renamed from Data/animations/aim-assault-rifle/frames/0.tsv)0
-rw-r--r--data/animations/aim-assault-rifle/index.tsv (renamed from Data/animations/aim-assault-rifle/index.tsv)0
-rw-r--r--data/animations/aim-grenade/frames/0.tsv (renamed from Data/animations/aim-grenade/frames/0.tsv)0
-rw-r--r--data/animations/aim-grenade/index.tsv (renamed from Data/animations/aim-grenade/index.tsv)0
-rw-r--r--data/animations/aim-pistol/frames/0.tsv (renamed from Data/animations/aim-pistol/frames/0.tsv)0
-rw-r--r--data/animations/aim-pistol/index.tsv (renamed from Data/animations/aim-pistol/index.tsv)0
-rw-r--r--data/animations/aim-sniper-rifle/frames/0.tsv (renamed from Data/animations/aim-sniper-rifle/frames/0.tsv)0
-rw-r--r--data/animations/aim-sniper-rifle/index.tsv (renamed from Data/animations/aim-sniper-rifle/index.tsv)0
-rw-r--r--data/animations/breathe/frames/0.tsv (renamed from Data/animations/breathe/frames/0.tsv)0
-rw-r--r--data/animations/breathe/frames/1.tsv (renamed from Data/animations/breathe/frames/1.tsv)0
-rw-r--r--data/animations/breathe/index.tsv (renamed from Data/animations/breathe/index.tsv)0
-rw-r--r--data/animations/charge-grenade/frames/0.tsv (renamed from Data/animations/charge-grenade/frames/0.tsv)0
-rw-r--r--data/animations/charge-grenade/index.tsv (renamed from Data/animations/charge-grenade/index.tsv)0
-rw-r--r--data/animations/crouch/frames/0.tsv (renamed from Data/animations/crouch/frames/0.tsv)0
-rw-r--r--data/animations/crouch/frames/1.tsv (renamed from Data/animations/crouch/frames/1.tsv)0
-rw-r--r--data/animations/crouch/index.tsv (renamed from Data/animations/crouch/index.tsv)0
-rw-r--r--data/animations/dive/frames/0.tsv (renamed from Data/animations/dive/frames/0.tsv)0
-rw-r--r--data/animations/dive/frames/1.tsv (renamed from Data/animations/dive/frames/1.tsv)0
-rw-r--r--data/animations/dive/frames/2.tsv (renamed from Data/animations/dive/frames/2.tsv)0
-rw-r--r--data/animations/dive/frames/3.tsv (renamed from Data/animations/dive/frames/3.tsv)0
-rw-r--r--data/animations/dive/index.tsv (renamed from Data/animations/dive/index.tsv)0
-rw-r--r--data/animations/get-up-from-back/frames/0.tsv (renamed from Data/animations/get-up-from-back/frames/0.tsv)0
-rw-r--r--data/animations/get-up-from-back/frames/1.tsv (renamed from Data/animations/get-up-from-back/frames/1.tsv)0
-rw-r--r--data/animations/get-up-from-back/frames/2.tsv (renamed from Data/animations/get-up-from-back/frames/2.tsv)0
-rw-r--r--data/animations/get-up-from-back/frames/3.tsv (renamed from Data/animations/get-up-from-back/frames/3.tsv)0
-rw-r--r--data/animations/get-up-from-back/index.tsv (renamed from Data/animations/get-up-from-back/index.tsv)0
-rw-r--r--data/animations/get-up-from-front/frames/0.tsv (renamed from Data/animations/get-up-from-front/frames/0.tsv)0
-rw-r--r--data/animations/get-up-from-front/frames/1.tsv (renamed from Data/animations/get-up-from-front/frames/1.tsv)0
-rw-r--r--data/animations/get-up-from-front/frames/2.tsv (renamed from Data/animations/get-up-from-front/frames/2.tsv)0
-rw-r--r--data/animations/get-up-from-front/index.tsv (renamed from Data/animations/get-up-from-front/index.tsv)0
-rw-r--r--data/animations/hit-rifle/frames/0.tsv (renamed from Data/animations/hit-rifle/frames/0.tsv)0
-rw-r--r--data/animations/hit-rifle/frames/1.tsv (renamed from Data/animations/hit-rifle/frames/1.tsv)0
-rw-r--r--data/animations/hit-rifle/frames/2.tsv (renamed from Data/animations/hit-rifle/frames/2.tsv)0
-rw-r--r--data/animations/hit-rifle/index.tsv (renamed from Data/animations/hit-rifle/index.tsv)0
-rw-r--r--data/animations/hold-rifle/frames/0.tsv (renamed from Data/animations/hold-rifle/frames/0.tsv)0
-rw-r--r--data/animations/hold-rifle/index.tsv (renamed from Data/animations/hold-rifle/index.tsv)0
-rw-r--r--data/animations/munch/frames/0.tsv (renamed from Data/animations/munch/frames/0.tsv)0
-rw-r--r--data/animations/munch/frames/1.tsv (renamed from Data/animations/munch/frames/1.tsv)0
-rw-r--r--data/animations/munch/frames/2.tsv (renamed from Data/animations/munch/frames/2.tsv)0
-rw-r--r--data/animations/munch/frames/3.tsv (renamed from Data/animations/munch/frames/3.tsv)0
-rw-r--r--data/animations/munch/frames/4.tsv (renamed from Data/animations/munch/frames/4.tsv)0
-rw-r--r--data/animations/munch/index.tsv (renamed from Data/animations/munch/index.tsv)0
-rw-r--r--data/animations/run-human/frames/0.tsv (renamed from Data/animations/run-human/frames/0.tsv)0
-rw-r--r--data/animations/run-human/frames/1.tsv (renamed from Data/animations/run-human/frames/1.tsv)0
-rw-r--r--data/animations/run-human/frames/2.tsv (renamed from Data/animations/run-human/frames/2.tsv)0
-rw-r--r--data/animations/run-human/frames/3.tsv (renamed from Data/animations/run-human/frames/3.tsv)0
-rw-r--r--data/animations/run-human/frames/4.tsv (renamed from Data/animations/run-human/frames/4.tsv)0
-rw-r--r--data/animations/run-human/frames/5.tsv (renamed from Data/animations/run-human/frames/5.tsv)0
-rw-r--r--data/animations/run-human/frames/6.tsv (renamed from Data/animations/run-human/frames/6.tsv)0
-rw-r--r--data/animations/run-human/frames/7.tsv (renamed from Data/animations/run-human/frames/7.tsv)0
-rw-r--r--data/animations/run-human/frames/8.tsv (renamed from Data/animations/run-human/frames/8.tsv)0
-rw-r--r--data/animations/run-human/frames/9.tsv (renamed from Data/animations/run-human/frames/9.tsv)0
-rw-r--r--data/animations/run-human/frames/a.tsv (renamed from Data/animations/run-human/frames/a.tsv)0
-rw-r--r--data/animations/run-human/frames/b.tsv (renamed from Data/animations/run-human/frames/b.tsv)0
-rw-r--r--data/animations/run-human/frames/c.tsv (renamed from Data/animations/run-human/frames/c.tsv)0
-rw-r--r--data/animations/run-human/frames/d.tsv (renamed from Data/animations/run-human/frames/d.tsv)0
-rw-r--r--data/animations/run-human/frames/e.tsv (renamed from Data/animations/run-human/frames/e.tsv)0
-rw-r--r--data/animations/run-human/frames/f.tsv (renamed from Data/animations/run-human/frames/f.tsv)0
-rw-r--r--data/animations/run-human/index.tsv (renamed from Data/animations/run-human/index.tsv)0
-rw-r--r--data/animations/run-zombie/frames/0.tsv (renamed from Data/animations/run-zombie/frames/0.tsv)0
-rw-r--r--data/animations/run-zombie/frames/1.tsv (renamed from Data/animations/run-zombie/frames/1.tsv)0
-rw-r--r--data/animations/run-zombie/frames/2.tsv (renamed from Data/animations/run-zombie/frames/2.tsv)0
-rw-r--r--data/animations/run-zombie/frames/3.tsv (renamed from Data/animations/run-zombie/frames/3.tsv)0
-rw-r--r--data/animations/run-zombie/frames/4.tsv (renamed from Data/animations/run-zombie/frames/4.tsv)0
-rw-r--r--data/animations/run-zombie/frames/5.tsv (renamed from Data/animations/run-zombie/frames/5.tsv)0
-rw-r--r--data/animations/run-zombie/frames/6.tsv (renamed from Data/animations/run-zombie/frames/6.tsv)0
-rw-r--r--data/animations/run-zombie/frames/7.tsv (renamed from Data/animations/run-zombie/frames/7.tsv)0
-rw-r--r--data/animations/run-zombie/frames/8.tsv (renamed from Data/animations/run-zombie/frames/8.tsv)0
-rw-r--r--data/animations/run-zombie/frames/9.tsv (renamed from Data/animations/run-zombie/frames/9.tsv)0
-rw-r--r--data/animations/run-zombie/frames/a.tsv (renamed from Data/animations/run-zombie/frames/a.tsv)0
-rw-r--r--data/animations/run-zombie/frames/b.tsv (renamed from Data/animations/run-zombie/frames/b.tsv)0
-rw-r--r--data/animations/run-zombie/frames/c.tsv (renamed from Data/animations/run-zombie/frames/c.tsv)0
-rw-r--r--data/animations/run-zombie/frames/d.tsv (renamed from Data/animations/run-zombie/frames/d.tsv)0
-rw-r--r--data/animations/run-zombie/frames/e.tsv (renamed from Data/animations/run-zombie/frames/e.tsv)0
-rw-r--r--data/animations/run-zombie/frames/f.tsv (renamed from Data/animations/run-zombie/frames/f.tsv)0
-rw-r--r--data/animations/run-zombie/index.tsv (renamed from Data/animations/run-zombie/index.tsv)0
-rw-r--r--data/animations/shot-arm-left/frames/0.tsv (renamed from Data/animations/shot-arm-left/frames/0.tsv)0
-rw-r--r--data/animations/shot-arm-left/frames/1.tsv (renamed from Data/animations/shot-arm-left/frames/1.tsv)0
-rw-r--r--data/animations/shot-arm-left/frames/2.tsv (renamed from Data/animations/shot-arm-left/frames/2.tsv)0
-rw-r--r--data/animations/shot-arm-left/frames/3.tsv (renamed from Data/animations/shot-arm-left/frames/3.tsv)0
-rw-r--r--data/animations/shot-arm-left/index.tsv (renamed from Data/animations/shot-arm-left/index.tsv)0
-rw-r--r--data/animations/shot-arm-right/frames/0.tsv (renamed from Data/animations/shot-arm-right/frames/0.tsv)0
-rw-r--r--data/animations/shot-arm-right/frames/1.tsv (renamed from Data/animations/shot-arm-right/frames/1.tsv)0
-rw-r--r--data/animations/shot-arm-right/frames/2.tsv (renamed from Data/animations/shot-arm-right/frames/2.tsv)0
-rw-r--r--data/animations/shot-arm-right/frames/3.tsv (renamed from Data/animations/shot-arm-right/frames/3.tsv)0
-rw-r--r--data/animations/shot-arm-right/index.tsv (renamed from Data/animations/shot-arm-right/index.tsv)0
-rw-r--r--data/animations/shot-chest/frames/0.tsv (renamed from Data/animations/shot-chest/frames/0.tsv)0
-rw-r--r--data/animations/shot-chest/frames/1.tsv (renamed from Data/animations/shot-chest/frames/1.tsv)0
-rw-r--r--data/animations/shot-chest/frames/2.tsv (renamed from Data/animations/shot-chest/frames/2.tsv)0
-rw-r--r--data/animations/shot-chest/frames/3.tsv (renamed from Data/animations/shot-chest/frames/3.tsv)0
-rw-r--r--data/animations/shot-chest/frames/4.tsv (renamed from Data/animations/shot-chest/frames/4.tsv)0
-rw-r--r--data/animations/shot-chest/index.tsv (renamed from Data/animations/shot-chest/index.tsv)0
-rw-r--r--data/animations/shot-head/frames/0.tsv (renamed from Data/animations/shot-head/frames/0.tsv)0
-rw-r--r--data/animations/shot-head/frames/1.tsv (renamed from Data/animations/shot-head/frames/1.tsv)0
-rw-r--r--data/animations/shot-head/frames/2.tsv (renamed from Data/animations/shot-head/frames/2.tsv)0
-rw-r--r--data/animations/shot-head/frames/3.tsv (renamed from Data/animations/shot-head/frames/3.tsv)0
-rw-r--r--data/animations/shot-head/index.tsv (renamed from Data/animations/shot-head/index.tsv)0
-rw-r--r--data/animations/shot-leg-left/frames/0.tsv (renamed from Data/animations/shot-leg-left/frames/0.tsv)0
-rw-r--r--data/animations/shot-leg-left/frames/1.tsv (renamed from Data/animations/shot-leg-left/frames/1.tsv)0
-rw-r--r--data/animations/shot-leg-left/frames/2.tsv (renamed from Data/animations/shot-leg-left/frames/2.tsv)0
-rw-r--r--data/animations/shot-leg-left/frames/3.tsv (renamed from Data/animations/shot-leg-left/frames/3.tsv)0
-rw-r--r--data/animations/shot-leg-left/index.tsv (renamed from Data/animations/shot-leg-left/index.tsv)0
-rw-r--r--data/animations/shot-leg-right/frames/0.tsv (renamed from Data/animations/shot-leg-right/frames/0.tsv)0
-rw-r--r--data/animations/shot-leg-right/frames/1.tsv (renamed from Data/animations/shot-leg-right/frames/1.tsv)0
-rw-r--r--data/animations/shot-leg-right/frames/2.tsv (renamed from Data/animations/shot-leg-right/frames/2.tsv)0
-rw-r--r--data/animations/shot-leg-right/frames/3.tsv (renamed from Data/animations/shot-leg-right/frames/3.tsv)0
-rw-r--r--data/animations/shot-leg-right/index.tsv (renamed from Data/animations/shot-leg-right/index.tsv)0
-rw-r--r--data/animations/shot-stomach/frames/0.tsv (renamed from Data/animations/shot-stomach/frames/0.tsv)0
-rw-r--r--data/animations/shot-stomach/frames/1.tsv (renamed from Data/animations/shot-stomach/frames/1.tsv)0
-rw-r--r--data/animations/shot-stomach/frames/2.tsv (renamed from Data/animations/shot-stomach/frames/2.tsv)0
-rw-r--r--data/animations/shot-stomach/frames/3.tsv (renamed from Data/animations/shot-stomach/frames/3.tsv)0
-rw-r--r--data/animations/shot-stomach/index.tsv (renamed from Data/animations/shot-stomach/index.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/0.tsv (renamed from Data/animations/throw-aikido/frames/0.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/1.tsv (renamed from Data/animations/throw-aikido/frames/1.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/2.tsv (renamed from Data/animations/throw-aikido/frames/2.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/3.tsv (renamed from Data/animations/throw-aikido/frames/3.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/4.tsv (renamed from Data/animations/throw-aikido/frames/4.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/5.tsv (renamed from Data/animations/throw-aikido/frames/5.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/6.tsv (renamed from Data/animations/throw-aikido/frames/6.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/7.tsv (renamed from Data/animations/throw-aikido/frames/7.tsv)0
-rw-r--r--data/animations/throw-aikido/frames/8.tsv (renamed from Data/animations/throw-aikido/frames/8.tsv)0
-rw-r--r--data/animations/throw-aikido/index.tsv (renamed from Data/animations/throw-aikido/index.tsv)0
-rw-r--r--data/animations/throw-grenade/frames/0.tsv (renamed from Data/animations/throw-grenade/frames/0.tsv)0
-rw-r--r--data/animations/throw-grenade/frames/1.tsv (renamed from Data/animations/throw-grenade/frames/1.tsv)0
-rw-r--r--data/animations/throw-grenade/frames/2.tsv (renamed from Data/animations/throw-grenade/frames/2.tsv)0
-rw-r--r--data/animations/throw-grenade/index.tsv (renamed from Data/animations/throw-grenade/index.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/0.tsv (renamed from Data/animations/thrown-aikido/frames/0.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/1.tsv (renamed from Data/animations/thrown-aikido/frames/1.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/2.tsv (renamed from Data/animations/thrown-aikido/frames/2.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/3.tsv (renamed from Data/animations/thrown-aikido/frames/3.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/4.tsv (renamed from Data/animations/thrown-aikido/frames/4.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/5.tsv (renamed from Data/animations/thrown-aikido/frames/5.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/6.tsv (renamed from Data/animations/thrown-aikido/frames/6.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/7.tsv (renamed from Data/animations/thrown-aikido/frames/7.tsv)0
-rw-r--r--data/animations/thrown-aikido/frames/8.tsv (renamed from Data/animations/thrown-aikido/frames/8.tsv)0
-rw-r--r--data/animations/thrown-aikido/index.tsv (renamed from Data/animations/thrown-aikido/index.tsv)0
-rw-r--r--data/animations/walk-human/frames/0.tsv (renamed from Data/animations/walk-human/frames/0.tsv)0
-rw-r--r--data/animations/walk-human/frames/1.tsv (renamed from Data/animations/walk-human/frames/1.tsv)0
-rw-r--r--data/animations/walk-human/frames/2.tsv (renamed from Data/animations/walk-human/frames/2.tsv)0
-rw-r--r--data/animations/walk-human/frames/3.tsv (renamed from Data/animations/walk-human/frames/3.tsv)0
-rw-r--r--data/animations/walk-human/frames/4.tsv (renamed from Data/animations/walk-human/frames/4.tsv)0
-rw-r--r--data/animations/walk-human/frames/5.tsv (renamed from Data/animations/walk-human/frames/5.tsv)0
-rw-r--r--data/animations/walk-human/frames/6.tsv (renamed from Data/animations/walk-human/frames/6.tsv)0
-rw-r--r--data/animations/walk-human/frames/7.tsv (renamed from Data/animations/walk-human/frames/7.tsv)0
-rw-r--r--data/animations/walk-human/frames/8.tsv (renamed from Data/animations/walk-human/frames/8.tsv)0
-rw-r--r--data/animations/walk-human/frames/9.tsv (renamed from Data/animations/walk-human/frames/9.tsv)0
-rw-r--r--data/animations/walk-human/frames/a.tsv (renamed from Data/animations/walk-human/frames/a.tsv)0
-rw-r--r--data/animations/walk-human/frames/b.tsv (renamed from Data/animations/walk-human/frames/b.tsv)0
-rw-r--r--data/animations/walk-human/frames/c.tsv (renamed from Data/animations/walk-human/frames/c.tsv)0
-rw-r--r--data/animations/walk-human/frames/d.tsv (renamed from Data/animations/walk-human/frames/d.tsv)0
-rw-r--r--data/animations/walk-human/frames/e.tsv (renamed from Data/animations/walk-human/frames/e.tsv)0
-rw-r--r--data/animations/walk-human/frames/f.tsv (renamed from Data/animations/walk-human/frames/f.tsv)0
-rw-r--r--data/animations/walk-human/index.tsv (renamed from Data/animations/walk-human/index.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/0.tsv (renamed from Data/animations/walk-zombie/frames/0.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/1.tsv (renamed from Data/animations/walk-zombie/frames/1.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/2.tsv (renamed from Data/animations/walk-zombie/frames/2.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/3.tsv (renamed from Data/animations/walk-zombie/frames/3.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/4.tsv (renamed from Data/animations/walk-zombie/frames/4.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/5.tsv (renamed from Data/animations/walk-zombie/frames/5.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/6.tsv (renamed from Data/animations/walk-zombie/frames/6.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/7.tsv (renamed from Data/animations/walk-zombie/frames/7.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/8.tsv (renamed from Data/animations/walk-zombie/frames/8.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/9.tsv (renamed from Data/animations/walk-zombie/frames/9.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/a.tsv (renamed from Data/animations/walk-zombie/frames/a.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/b.tsv (renamed from Data/animations/walk-zombie/frames/b.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/c.tsv (renamed from Data/animations/walk-zombie/frames/c.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/d.tsv (renamed from Data/animations/walk-zombie/frames/d.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/e.tsv (renamed from Data/animations/walk-zombie/frames/e.tsv)0
-rw-r--r--data/animations/walk-zombie/frames/f.tsv (renamed from Data/animations/walk-zombie/frames/f.tsv)0
-rw-r--r--data/animations/walk-zombie/index.tsv (renamed from Data/animations/walk-zombie/index.tsv)0
-rw-r--r--data/customlevels.txt (renamed from Data/customlevels.txt)0
-rw-r--r--data/models/blocks/0.off125
-rw-r--r--data/models/blocks/1.off125
-rw-r--r--data/models/blocks/2.off125
-rw-r--r--data/models/blocks/3.off125
-rw-r--r--data/models/blocks/occlude.off13
-rw-r--r--data/models/blocks/simple.off13
-rw-r--r--data/models/collide/blocks/0.off103
-rw-r--r--data/models/collide/blocks/1.off100
-rw-r--r--data/models/collide/blocks/2.off100
-rw-r--r--data/models/collide/blocks/3.off100
-rw-r--r--data/models/collide/blocks/roofs/0.off37
-rw-r--r--data/models/collide/blocks/roofs/1.off37
-rw-r--r--data/models/collide/blocks/roofs/2.off37
-rw-r--r--data/models/collide/blocks/roofs/3.off37
-rw-r--r--data/models/collide/blocks/simple/0.off52
-rw-r--r--data/models/collide/blocks/simple/1.off52
-rw-r--r--data/models/collide/blocks/simple/2.off52
-rw-r--r--data/models/collide/blocks/simple/3.off52
-rw-r--r--data/models/collide/blocks/walls/0.off46
-rw-r--r--data/models/collide/blocks/walls/1.off46
-rw-r--r--data/models/collide/blocks/walls/2.off46
-rw-r--r--data/models/collide/blocks/walls/3.off46
-rw-r--r--data/models/collide/sidewalk.off7
-rw-r--r--data/models/grenade/base.off63
-rw-r--r--data/models/grenade/pin.off93
-rw-r--r--data/models/grenade/spoon.off51
-rw-r--r--data/models/guns/assault-rifle.off219
-rw-r--r--data/models/guns/handgun-big-base.off124
-rw-r--r--data/models/guns/handgun-big-slide.off81
-rw-r--r--data/models/guns/handgun-small-base.off240
-rw-r--r--data/models/guns/handgun-small-slide.off101
-rw-r--r--data/models/guns/shotgun.off539
-rw-r--r--data/models/guns/sniper-rifle.off242
-rw-r--r--data/models/knife.off268
-rw-r--r--data/models/skeleton/abdomen.off15
-rw-r--r--data/models/skeleton/arm.off15
-rw-r--r--data/models/skeleton/chest.off15
-rw-r--r--data/models/skeleton/foot.off15
-rw-r--r--data/models/skeleton/forearm.off15
-rw-r--r--data/models/skeleton/hand.off15
-rw-r--r--data/models/skeleton/head.off15
-rw-r--r--data/models/skeleton/leg.off15
-rw-r--r--data/models/skeleton/shades.off77
-rw-r--r--data/models/skeleton/thigh.off15
-rw-r--r--data/models/streets/big.off594
-rw-r--r--data/models/streets/path.off18
-rw-r--r--data/models/streets/small.off594
-rw-r--r--data/sounds/Lose.ogg (renamed from Data/sounds/Lose.ogg)bin13958 -> 13958 bytes
-rw-r--r--data/sounds/bounce.ogg (renamed from Data/sounds/bounce.ogg)bin5327 -> 5327 bytes
-rw-r--r--data/sounds/bounce2.ogg (renamed from Data/sounds/bounce2.ogg)bin5190 -> 5190 bytes
-rw-r--r--data/sounds/disguise-kill.ogg (renamed from Data/sounds/disguise-kill.ogg)bin7634 -> 7634 bytes
-rw-r--r--data/sounds/explosion.ogg (renamed from Data/sounds/explosion.ogg)bin35756 -> 35756 bytes
-rw-r--r--data/sounds/footstep/0.ogg (renamed from Data/sounds/footstep/0.ogg)bin5547 -> 5547 bytes
-rw-r--r--data/sounds/footstep/1.ogg (renamed from Data/sounds/footstep/1.ogg)bin5861 -> 5861 bytes
-rw-r--r--data/sounds/footstep/2.ogg (renamed from Data/sounds/footstep/2.ogg)bin6096 -> 6096 bytes
-rw-r--r--data/sounds/footstep/3.ogg (renamed from Data/sounds/footstep/3.ogg)bin6667 -> 6667 bytes
-rw-r--r--data/sounds/footstep/4.ogg (renamed from Data/sounds/footstep/4.ogg)bin5831 -> 5831 bytes
-rw-r--r--data/sounds/grenade/pin-pull.flac (renamed from Data/sounds/grenade/pin-pull.flac)bin15476 -> 15476 bytes
-rw-r--r--data/sounds/grenade/pin-replace.flac (renamed from Data/sounds/grenade/pin-replace.flac)bin12498 -> 12498 bytes
-rw-r--r--data/sounds/gun/empty-clip.wav (renamed from Data/sounds/gun/empty-clip.wav)bin67736 -> 67736 bytes
-rw-r--r--data/sounds/gun/fire/20-gauge-shotgun.wav (renamed from Data/sounds/gun/fire/20-gauge-shotgun.wav)bin149296 -> 149296 bytes
-rw-r--r--data/sounds/gun/fire/22-magnum-pistol.wav (renamed from Data/sounds/gun/fire/22-magnum-pistol.wav)bin127076 -> 127076 bytes
-rw-r--r--data/sounds/gun/fire/9-mm-pistol.wav (renamed from Data/sounds/gun/fire/9-mm-pistol.wav)bin137922 -> 137922 bytes
-rw-r--r--data/sounds/gun/fire/ar-15-pistol.wav (renamed from Data/sounds/gun/fire/ar-15-pistol.wav)bin78416 -> 78416 bytes
-rw-r--r--data/sounds/gun/fire/ar-15-rifle.wav (renamed from Data/sounds/gun/fire/ar-15-rifle.wav)bin225080 -> 225080 bytes
-rw-r--r--data/sounds/gun/near-bullet.wav (renamed from Data/sounds/gun/near-bullet.wav)bin35848 -> 35848 bytes
-rw-r--r--data/sounds/gun/reload.wav (renamed from Data/sounds/gun/reload.wav)bin301206 -> 301206 bytes
-rw-r--r--data/sounds/handlerelease.ogg (renamed from Data/sounds/handlerelease.ogg)bin5118 -> 5118 bytes
-rw-r--r--data/sounds/headland.ogg (renamed from Data/sounds/headland.ogg)bin4788 -> 4788 bytes
-rw-r--r--data/sounds/headshot.ogg (renamed from Data/sounds/headshot.ogg)bin6328 -> 6328 bytes
-rw-r--r--data/sounds/impact/body-fall.wav (renamed from Data/sounds/impact/body-fall.wav)bin342498 -> 342498 bytes
-rw-r--r--data/sounds/impact/body-hit.wav (renamed from Data/sounds/impact/body-hit.wav)bin76858 -> 76858 bytes
-rw-r--r--data/sounds/impact/knife-stab.wav (renamed from Data/sounds/impact/knife-stab.wav)bin49206 -> 49206 bytes
-rw-r--r--data/sounds/impact/wall-hit.wav (renamed from Data/sounds/impact/wall-hit.wav)bin25420 -> 25420 bytes
-rw-r--r--data/sounds/knifesong.ogg (renamed from Data/sounds/knifesong.ogg)bin38211 -> 38211 bytes
-rw-r--r--data/sounds/mainmenusong.ogg (renamed from Data/sounds/mainmenusong.ogg)bin73271 -> 73271 bytes
-rw-r--r--data/sounds/rain.ogg (renamed from Data/sounds/rain.ogg)bin61448 -> 61448 bytes
-rw-r--r--data/sounds/riflewhack.ogg (renamed from Data/sounds/riflewhack.ogg)bin5843 -> 5843 bytes
-rw-r--r--data/sounds/shootsong.ogg (renamed from Data/sounds/shootsong.ogg)bin44491 -> 44491 bytes
-rw-r--r--data/sounds/soul-in.ogg (renamed from Data/sounds/soul-in.ogg)bin13292 -> 13292 bytes
-rw-r--r--data/sounds/soul-out.ogg (renamed from Data/sounds/soul-out.ogg)bin14137 -> 14137 bytes
-rw-r--r--data/sounds/underwater.ogg (renamed from Data/sounds/underwater.ogg)bin42752 -> 42752 bytes
-rw-r--r--data/sounds/zombiesong.ogg (renamed from Data/sounds/zombiesong.ogg)bin35880 -> 35880 bytes
-rw-r--r--data/textures/black.png (renamed from Data/textures/black.png)bin149 -> 149 bytes
-rw-r--r--data/textures/blood/00.png (renamed from Data/textures/blood/00.png)bin436 -> 436 bytes
-rw-r--r--data/textures/blood/01.png (renamed from Data/textures/blood/01.png)bin500 -> 500 bytes
-rw-r--r--data/textures/blood/02.png (renamed from Data/textures/blood/02.png)bin567 -> 567 bytes
-rw-r--r--data/textures/blood/03.png (renamed from Data/textures/blood/03.png)bin653 -> 653 bytes
-rw-r--r--data/textures/blood/04.png (renamed from Data/textures/blood/04.png)bin712 -> 712 bytes
-rw-r--r--data/textures/blood/05.png (renamed from Data/textures/blood/05.png)bin773 -> 773 bytes
-rw-r--r--data/textures/blood/06.png (renamed from Data/textures/blood/06.png)bin888 -> 888 bytes
-rw-r--r--data/textures/blood/07.png (renamed from Data/textures/blood/07.png)bin949 -> 949 bytes
-rw-r--r--data/textures/blood/08.png (renamed from Data/textures/blood/08.png)bin1023 -> 1023 bytes
-rw-r--r--data/textures/blood/09.png (renamed from Data/textures/blood/09.png)bin1092 -> 1092 bytes
-rw-r--r--data/textures/blood/10.png (renamed from Data/textures/blood/10.png)bin1077 -> 1077 bytes
-rw-r--r--data/textures/flare.png (renamed from Data/textures/flare.png)bin22161 -> 22161 bytes
-rw-r--r--data/textures/font.png (renamed from Data/textures/font.png)bin26185 -> 26185 bytes
-rw-r--r--data/textures/scope.png (renamed from Data/textures/scope.png)bin15169 -> 15169 bytes
-rw-r--r--data/textures/sprites/blood.png (renamed from Data/textures/sprites/blood.png)bin5573 -> 5573 bytes
-rw-r--r--data/textures/sprites/flash-hit.png (renamed from Data/textures/sprites/flash-hit.png)bin19154 -> 19154 bytes
-rw-r--r--data/textures/sprites/flash-muzzle.png (renamed from Data/textures/sprites/flash-muzzle.png)bin20095 -> 20095 bytes
-rw-r--r--data/textures/sprites/person-dead.png (renamed from Data/textures/sprites/person-dead.png)bin6447 -> 6447 bytes
-rw-r--r--data/textures/sprites/person.png (renamed from Data/textures/sprites/person.png)bin6173 -> 6173 bytes
-rw-r--r--data/textures/sprites/smoke.png (renamed from Data/textures/sprites/smoke.png)bin2868 -> 2868 bytes
-rw-r--r--data/textures/sprites/white.png (renamed from Data/textures/sprites/white.png)bin193 -> 193 bytes
-rw-r--r--src/GameInitDispose.cpp318
-rw-r--r--src/Models.cpp79
-rw-r--r--src/Models.h65
-rw-r--r--src/misc.h15
-rw-r--r--src/misc.zig91
328 files changed, 5153 insertions, 332 deletions
diff --git a/Data/Models/Abdomen.solid b/Data/Models/Abdomen.solid
deleted file mode 100644
index 34c757a..0000000
--- a/Data/Models/Abdomen.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/AssaultRifle.solid b/Data/Models/AssaultRifle.solid
deleted file mode 100644
index 4afd854..0000000
--- a/Data/Models/AssaultRifle.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block1.solid b/Data/Models/Block1.solid
deleted file mode 100644
index 0fddd7d..0000000
--- a/Data/Models/Block1.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block1collide.solid b/Data/Models/Block1collide.solid
deleted file mode 100644
index 96000b1..0000000
--- a/Data/Models/Block1collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block1complete.solid b/Data/Models/Block1complete.solid
deleted file mode 100644
index 1c44f06..0000000
--- a/Data/Models/Block1complete.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block2.solid b/Data/Models/Block2.solid
deleted file mode 100644
index eb176eb..0000000
--- a/Data/Models/Block2.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block2collide.solid b/Data/Models/Block2collide.solid
deleted file mode 100644
index 67e7acd..0000000
--- a/Data/Models/Block2collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block2complete.solid b/Data/Models/Block2complete.solid
deleted file mode 100644
index 1d43845..0000000
--- a/Data/Models/Block2complete.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block3.solid b/Data/Models/Block3.solid
deleted file mode 100644
index c74c880..0000000
--- a/Data/Models/Block3.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block3collide.solid b/Data/Models/Block3collide.solid
deleted file mode 100644
index 4247f9e..0000000
--- a/Data/Models/Block3collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block3complete.solid b/Data/Models/Block3complete.solid
deleted file mode 100644
index 0b29934..0000000
--- a/Data/Models/Block3complete.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block4.solid b/Data/Models/Block4.solid
deleted file mode 100644
index 66be151..0000000
--- a/Data/Models/Block4.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block4collide.solid b/Data/Models/Block4collide.solid
deleted file mode 100644
index 5147f78..0000000
--- a/Data/Models/Block4collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Block4complete.solid b/Data/Models/Block4complete.solid
deleted file mode 100644
index 86ad85c..0000000
--- a/Data/Models/Block4complete.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/BlockOcclude.solid b/Data/Models/BlockOcclude.solid
deleted file mode 100644
index 662b98c..0000000
--- a/Data/Models/BlockOcclude.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Blocksimple.solid b/Data/Models/Blocksimple.solid
deleted file mode 100644
index 13ba05d..0000000
--- a/Data/Models/Blocksimple.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Chest.solid b/Data/Models/Chest.solid
deleted file mode 100644
index dcb1985..0000000
--- a/Data/Models/Chest.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Foot.solid b/Data/Models/Foot.solid
deleted file mode 100644
index 1c5673b..0000000
--- a/Data/Models/Foot.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Glockbase.solid b/Data/Models/Glockbase.solid
deleted file mode 100644
index d3b2f12..0000000
--- a/Data/Models/Glockbase.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Glockslide.solid b/Data/Models/Glockslide.solid
deleted file mode 100644
index dd51ac5..0000000
--- a/Data/Models/Glockslide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Grenadebase.solid b/Data/Models/Grenadebase.solid
deleted file mode 100644
index efb5eb1..0000000
--- a/Data/Models/Grenadebase.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Grenadepin.solid b/Data/Models/Grenadepin.solid
deleted file mode 100644
index e4af9a1..0000000
--- a/Data/Models/Grenadepin.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Grenadespoon.solid b/Data/Models/Grenadespoon.solid
deleted file mode 100644
index b5f98a0..0000000
--- a/Data/Models/Grenadespoon.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Hand.solid b/Data/Models/Hand.solid
deleted file mode 100644
index 62fa568..0000000
--- a/Data/Models/Hand.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Handgunbase.solid b/Data/Models/Handgunbase.solid
deleted file mode 100644
index e10f6e7..0000000
--- a/Data/Models/Handgunbase.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Handgunslide.solid b/Data/Models/Handgunslide.solid
deleted file mode 100644
index c7b4cb0..0000000
--- a/Data/Models/Handgunslide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Head.solid b/Data/Models/Head.solid
deleted file mode 100644
index 07f0ea5..0000000
--- a/Data/Models/Head.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Highblock1collide.solid b/Data/Models/Highblock1collide.solid
deleted file mode 100644
index 6523d7f..0000000
--- a/Data/Models/Highblock1collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Highblock2collide.solid b/Data/Models/Highblock2collide.solid
deleted file mode 100644
index 7828f4b..0000000
--- a/Data/Models/Highblock2collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Highblock3collide.solid b/Data/Models/Highblock3collide.solid
deleted file mode 100644
index f26c8e1..0000000
--- a/Data/Models/Highblock3collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Highblock4collide.solid b/Data/Models/Highblock4collide.solid
deleted file mode 100644
index 4fe51d3..0000000
--- a/Data/Models/Highblock4collide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Knife.solid b/Data/Models/Knife.solid
deleted file mode 100644
index 90c17bc..0000000
--- a/Data/Models/Knife.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Lower arm.solid b/Data/Models/Lower arm.solid
deleted file mode 100644
index 6731fc5..0000000
--- a/Data/Models/Lower arm.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Lower leg.solid b/Data/Models/Lower leg.solid
deleted file mode 100644
index 328ac7a..0000000
--- a/Data/Models/Lower leg.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Lowheightcollide.solid b/Data/Models/Lowheightcollide.solid
deleted file mode 100644
index 87376a5..0000000
--- a/Data/Models/Lowheightcollide.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Path.solid b/Data/Models/Path.solid
deleted file mode 100644
index f7b43fa..0000000
--- a/Data/Models/Path.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Shades.solid b/Data/Models/Shades.solid
deleted file mode 100644
index e3b4f13..0000000
--- a/Data/Models/Shades.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Shotgun.solid b/Data/Models/Shotgun.solid
deleted file mode 100644
index 0f44320..0000000
--- a/Data/Models/Shotgun.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Upper arm.solid b/Data/Models/Upper arm.solid
deleted file mode 100644
index 64643d8..0000000
--- a/Data/Models/Upper arm.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/Upper leg.solid b/Data/Models/Upper leg.solid
deleted file mode 100644
index 72aff11..0000000
--- a/Data/Models/Upper leg.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/lowsimplecollide1.solid b/Data/Models/lowsimplecollide1.solid
deleted file mode 100644
index 6cd456d..0000000
--- a/Data/Models/lowsimplecollide1.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/lowsimplecollide2.solid b/Data/Models/lowsimplecollide2.solid
deleted file mode 100644
index e876d34..0000000
--- a/Data/Models/lowsimplecollide2.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/lowsimplecollide3.solid b/Data/Models/lowsimplecollide3.solid
deleted file mode 100644
index 2efde47..0000000
--- a/Data/Models/lowsimplecollide3.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/lowsimplecollide4.solid b/Data/Models/lowsimplecollide4.solid
deleted file mode 100644
index 7fbe321..0000000
--- a/Data/Models/lowsimplecollide4.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/sniperrifle.solid b/Data/Models/sniperrifle.solid
deleted file mode 100644
index 35f9343..0000000
--- a/Data/Models/sniperrifle.solid
+++ /dev/null
Binary files differdiff --git a/Data/Models/streetsubdivided2.solid b/Data/Models/streetsubdivided2.solid
deleted file mode 100644
index 396781e..0000000
--- a/Data/Models/streetsubdivided2.solid
+++ /dev/null
Binary files differdiff --git a/build.zig b/build.zig
index d3b348c..113507c 100644
--- a/build.zig
+++ b/build.zig
@@ -21,7 +21,7 @@ const InstallDirectoryOptions = std.build.InstallDirectoryOptions;
 const Builder = std.build.Builder;
 
 const data = InstallDirectoryOptions{
-    .source_dir = "Data",
+    .source_dir = "data",
     .install_dir = .{ .Custom = "share" }, // break in future Zig
     .install_subdir = "blackshades",
 };
diff --git a/Data/animations/aim-assault-rifle/frames/0.tsv b/data/animations/aim-assault-rifle/frames/0.tsv
index b897d8b..b897d8b 100644
--- a/Data/animations/aim-assault-rifle/frames/0.tsv
+++ b/data/animations/aim-assault-rifle/frames/0.tsv
diff --git a/Data/animations/aim-assault-rifle/index.tsv b/data/animations/aim-assault-rifle/index.tsv
index 442ed32..442ed32 100644
--- a/Data/animations/aim-assault-rifle/index.tsv
+++ b/data/animations/aim-assault-rifle/index.tsv
diff --git a/Data/animations/aim-grenade/frames/0.tsv b/data/animations/aim-grenade/frames/0.tsv
index 464cbeb..464cbeb 100644
--- a/Data/animations/aim-grenade/frames/0.tsv
+++ b/data/animations/aim-grenade/frames/0.tsv
diff --git a/Data/animations/aim-grenade/index.tsv b/data/animations/aim-grenade/index.tsv
index fc9ceb3..fc9ceb3 100644
--- a/Data/animations/aim-grenade/index.tsv
+++ b/data/animations/aim-grenade/index.tsv
diff --git a/Data/animations/aim-pistol/frames/0.tsv b/data/animations/aim-pistol/frames/0.tsv
index 795834b..795834b 100644
--- a/Data/animations/aim-pistol/frames/0.tsv
+++ b/data/animations/aim-pistol/frames/0.tsv
diff --git a/Data/animations/aim-pistol/index.tsv b/data/animations/aim-pistol/index.tsv
index fc9ceb3..fc9ceb3 100644
--- a/Data/animations/aim-pistol/index.tsv
+++ b/data/animations/aim-pistol/index.tsv
diff --git a/Data/animations/aim-sniper-rifle/frames/0.tsv b/data/animations/aim-sniper-rifle/frames/0.tsv
index 6767ff2..6767ff2 100644
--- a/Data/animations/aim-sniper-rifle/frames/0.tsv
+++ b/data/animations/aim-sniper-rifle/frames/0.tsv
diff --git a/Data/animations/aim-sniper-rifle/index.tsv b/data/animations/aim-sniper-rifle/index.tsv
index fc9ceb3..fc9ceb3 100644
--- a/Data/animations/aim-sniper-rifle/index.tsv
+++ b/data/animations/aim-sniper-rifle/index.tsv
diff --git a/Data/animations/breathe/frames/0.tsv b/data/animations/breathe/frames/0.tsv
index 13a9441..13a9441 100644
--- a/Data/animations/breathe/frames/0.tsv
+++ b/data/animations/breathe/frames/0.tsv
diff --git a/Data/animations/breathe/frames/1.tsv b/data/animations/breathe/frames/1.tsv
index a2a081f..a2a081f 100644
--- a/Data/animations/breathe/frames/1.tsv
+++ b/data/animations/breathe/frames/1.tsv
diff --git a/Data/animations/breathe/index.tsv b/data/animations/breathe/index.tsv
index 71ab4a4..71ab4a4 100644
--- a/Data/animations/breathe/index.tsv
+++ b/data/animations/breathe/index.tsv
diff --git a/Data/animations/charge-grenade/frames/0.tsv b/data/animations/charge-grenade/frames/0.tsv
index 884d1f6..884d1f6 100644
--- a/Data/animations/charge-grenade/frames/0.tsv
+++ b/data/animations/charge-grenade/frames/0.tsv
diff --git a/Data/animations/charge-grenade/index.tsv b/data/animations/charge-grenade/index.tsv
index fc9ceb3..fc9ceb3 100644
--- a/Data/animations/charge-grenade/index.tsv
+++ b/data/animations/charge-grenade/index.tsv
diff --git a/Data/animations/crouch/frames/0.tsv b/data/animations/crouch/frames/0.tsv
index 4e95e1c..4e95e1c 100644
--- a/Data/animations/crouch/frames/0.tsv
+++ b/data/animations/crouch/frames/0.tsv
diff --git a/Data/animations/crouch/frames/1.tsv b/data/animations/crouch/frames/1.tsv
index 1609538..1609538 100644
--- a/Data/animations/crouch/frames/1.tsv
+++ b/data/animations/crouch/frames/1.tsv
diff --git a/Data/animations/crouch/index.tsv b/data/animations/crouch/index.tsv
index a3848e6..a3848e6 100644
--- a/Data/animations/crouch/index.tsv
+++ b/data/animations/crouch/index.tsv
diff --git a/Data/animations/dive/frames/0.tsv b/data/animations/dive/frames/0.tsv
index 91f853a..91f853a 100644
--- a/Data/animations/dive/frames/0.tsv
+++ b/data/animations/dive/frames/0.tsv
diff --git a/Data/animations/dive/frames/1.tsv b/data/animations/dive/frames/1.tsv
index fc40cf3..fc40cf3 100644
--- a/Data/animations/dive/frames/1.tsv
+++ b/data/animations/dive/frames/1.tsv
diff --git a/Data/animations/dive/frames/2.tsv b/data/animations/dive/frames/2.tsv
index 2e5453c..2e5453c 100644
--- a/Data/animations/dive/frames/2.tsv
+++ b/data/animations/dive/frames/2.tsv
diff --git a/Data/animations/dive/frames/3.tsv b/data/animations/dive/frames/3.tsv
index 2f54fe7..2f54fe7 100644
--- a/Data/animations/dive/frames/3.tsv
+++ b/data/animations/dive/frames/3.tsv
diff --git a/Data/animations/dive/index.tsv b/data/animations/dive/index.tsv
index 6579775..6579775 100644
--- a/Data/animations/dive/index.tsv
+++ b/data/animations/dive/index.tsv
diff --git a/Data/animations/get-up-from-back/frames/0.tsv b/data/animations/get-up-from-back/frames/0.tsv
index 9b24899..9b24899 100644
--- a/Data/animations/get-up-from-back/frames/0.tsv
+++ b/data/animations/get-up-from-back/frames/0.tsv
diff --git a/Data/animations/get-up-from-back/frames/1.tsv b/data/animations/get-up-from-back/frames/1.tsv
index 7250f45..7250f45 100644
--- a/Data/animations/get-up-from-back/frames/1.tsv
+++ b/data/animations/get-up-from-back/frames/1.tsv
diff --git a/Data/animations/get-up-from-back/frames/2.tsv b/data/animations/get-up-from-back/frames/2.tsv
index e8a54f5..e8a54f5 100644
--- a/Data/animations/get-up-from-back/frames/2.tsv
+++ b/data/animations/get-up-from-back/frames/2.tsv
diff --git a/Data/animations/get-up-from-back/frames/3.tsv b/data/animations/get-up-from-back/frames/3.tsv
index f3542b6..f3542b6 100644
--- a/Data/animations/get-up-from-back/frames/3.tsv
+++ b/data/animations/get-up-from-back/frames/3.tsv
diff --git a/Data/animations/get-up-from-back/index.tsv b/data/animations/get-up-from-back/index.tsv
index a8caa2a..a8caa2a 100644
--- a/Data/animations/get-up-from-back/index.tsv
+++ b/data/animations/get-up-from-back/index.tsv
diff --git a/Data/animations/get-up-from-front/frames/0.tsv b/data/animations/get-up-from-front/frames/0.tsv
index 80e333d..80e333d 100644
--- a/Data/animations/get-up-from-front/frames/0.tsv
+++ b/data/animations/get-up-from-front/frames/0.tsv
diff --git a/Data/animations/get-up-from-front/frames/1.tsv b/data/animations/get-up-from-front/frames/1.tsv
index 5df229b..5df229b 100644
--- a/Data/animations/get-up-from-front/frames/1.tsv
+++ b/data/animations/get-up-from-front/frames/1.tsv
diff --git a/Data/animations/get-up-from-front/frames/2.tsv b/data/animations/get-up-from-front/frames/2.tsv
index 4c3f131..4c3f131 100644
--- a/Data/animations/get-up-from-front/frames/2.tsv
+++ b/data/animations/get-up-from-front/frames/2.tsv
diff --git a/Data/animations/get-up-from-front/index.tsv b/data/animations/get-up-from-front/index.tsv
index 9c72191..9c72191 100644
--- a/Data/animations/get-up-from-front/index.tsv
+++ b/data/animations/get-up-from-front/index.tsv
diff --git a/Data/animations/hit-rifle/frames/0.tsv b/data/animations/hit-rifle/frames/0.tsv
index 03dd10a..03dd10a 100644
--- a/Data/animations/hit-rifle/frames/0.tsv
+++ b/data/animations/hit-rifle/frames/0.tsv
diff --git a/Data/animations/hit-rifle/frames/1.tsv b/data/animations/hit-rifle/frames/1.tsv
index 4ec58d5..4ec58d5 100644
--- a/Data/animations/hit-rifle/frames/1.tsv
+++ b/data/animations/hit-rifle/frames/1.tsv
diff --git a/Data/animations/hit-rifle/frames/2.tsv b/data/animations/hit-rifle/frames/2.tsv
index ceedc81..ceedc81 100644
--- a/Data/animations/hit-rifle/frames/2.tsv
+++ b/data/animations/hit-rifle/frames/2.tsv
diff --git a/Data/animations/hit-rifle/index.tsv b/data/animations/hit-rifle/index.tsv
index a1ab9ed..a1ab9ed 100644
--- a/Data/animations/hit-rifle/index.tsv
+++ b/data/animations/hit-rifle/index.tsv
diff --git a/Data/animations/hold-rifle/frames/0.tsv b/data/animations/hold-rifle/frames/0.tsv
index eaffdad..eaffdad 100644
--- a/Data/animations/hold-rifle/frames/0.tsv
+++ b/data/animations/hold-rifle/frames/0.tsv
diff --git a/Data/animations/hold-rifle/index.tsv b/data/animations/hold-rifle/index.tsv
index fc9ceb3..fc9ceb3 100644
--- a/Data/animations/hold-rifle/index.tsv
+++ b/data/animations/hold-rifle/index.tsv
diff --git a/Data/animations/munch/frames/0.tsv b/data/animations/munch/frames/0.tsv
index 0757b4b..0757b4b 100644
--- a/Data/animations/munch/frames/0.tsv
+++ b/data/animations/munch/frames/0.tsv
diff --git a/Data/animations/munch/frames/1.tsv b/data/animations/munch/frames/1.tsv
index 7468a5e..7468a5e 100644
--- a/Data/animations/munch/frames/1.tsv
+++ b/data/animations/munch/frames/1.tsv
diff --git a/Data/animations/munch/frames/2.tsv b/data/animations/munch/frames/2.tsv
index f2c19c7..f2c19c7 100644
--- a/Data/animations/munch/frames/2.tsv
+++ b/data/animations/munch/frames/2.tsv
diff --git a/Data/animations/munch/frames/3.tsv b/data/animations/munch/frames/3.tsv
index 921ddbe..921ddbe 100644
--- a/Data/animations/munch/frames/3.tsv
+++ b/data/animations/munch/frames/3.tsv
diff --git a/Data/animations/munch/frames/4.tsv b/data/animations/munch/frames/4.tsv
index d9a39ec..d9a39ec 100644
--- a/Data/animations/munch/frames/4.tsv
+++ b/data/animations/munch/frames/4.tsv
diff --git a/Data/animations/munch/index.tsv b/data/animations/munch/index.tsv
index 011ccfe..011ccfe 100644
--- a/Data/animations/munch/index.tsv
+++ b/data/animations/munch/index.tsv
diff --git a/Data/animations/run-human/frames/0.tsv b/data/animations/run-human/frames/0.tsv
index 4b8dd89..4b8dd89 100644
--- a/Data/animations/run-human/frames/0.tsv
+++ b/data/animations/run-human/frames/0.tsv
diff --git a/Data/animations/run-human/frames/1.tsv b/data/animations/run-human/frames/1.tsv
index 5b2bf65..5b2bf65 100644
--- a/Data/animations/run-human/frames/1.tsv
+++ b/data/animations/run-human/frames/1.tsv
diff --git a/Data/animations/run-human/frames/2.tsv b/data/animations/run-human/frames/2.tsv
index 0f3f017..0f3f017 100644
--- a/Data/animations/run-human/frames/2.tsv
+++ b/data/animations/run-human/frames/2.tsv
diff --git a/Data/animations/run-human/frames/3.tsv b/data/animations/run-human/frames/3.tsv
index 2e84a12..2e84a12 100644
--- a/Data/animations/run-human/frames/3.tsv
+++ b/data/animations/run-human/frames/3.tsv
diff --git a/Data/animations/run-human/frames/4.tsv b/data/animations/run-human/frames/4.tsv
index e0f2611..e0f2611 100644
--- a/Data/animations/run-human/frames/4.tsv
+++ b/data/animations/run-human/frames/4.tsv
diff --git a/Data/animations/run-human/frames/5.tsv b/data/animations/run-human/frames/5.tsv
index 4621597..4621597 100644
--- a/Data/animations/run-human/frames/5.tsv
+++ b/data/animations/run-human/frames/5.tsv
diff --git a/Data/animations/run-human/frames/6.tsv b/data/animations/run-human/frames/6.tsv
index 6135801..6135801 100644
--- a/Data/animations/run-human/frames/6.tsv
+++ b/data/animations/run-human/frames/6.tsv
diff --git a/Data/animations/run-human/frames/7.tsv b/data/animations/run-human/frames/7.tsv
index b3d5bb3..b3d5bb3 100644
--- a/Data/animations/run-human/frames/7.tsv
+++ b/data/animations/run-human/frames/7.tsv
diff --git a/Data/animations/run-human/frames/8.tsv b/data/animations/run-human/frames/8.tsv
index 56f2046..56f2046 100644
--- a/Data/animations/run-human/frames/8.tsv
+++ b/data/animations/run-human/frames/8.tsv
diff --git a/Data/animations/run-human/frames/9.tsv b/data/animations/run-human/frames/9.tsv
index ef1ca8f..ef1ca8f 100644
--- a/Data/animations/run-human/frames/9.tsv
+++ b/data/animations/run-human/frames/9.tsv
diff --git a/Data/animations/run-human/frames/a.tsv b/data/animations/run-human/frames/a.tsv
index ab75fd0..ab75fd0 100644
--- a/Data/animations/run-human/frames/a.tsv
+++ b/data/animations/run-human/frames/a.tsv
diff --git a/Data/animations/run-human/frames/b.tsv b/data/animations/run-human/frames/b.tsv
index ae93c58..ae93c58 100644
--- a/Data/animations/run-human/frames/b.tsv
+++ b/data/animations/run-human/frames/b.tsv
diff --git a/Data/animations/run-human/frames/c.tsv b/data/animations/run-human/frames/c.tsv
index c9562f9..c9562f9 100644
--- a/Data/animations/run-human/frames/c.tsv
+++ b/data/animations/run-human/frames/c.tsv
diff --git a/Data/animations/run-human/frames/d.tsv b/data/animations/run-human/frames/d.tsv
index 32b1af6..32b1af6 100644
--- a/Data/animations/run-human/frames/d.tsv
+++ b/data/animations/run-human/frames/d.tsv
diff --git a/Data/animations/run-human/frames/e.tsv b/data/animations/run-human/frames/e.tsv
index 2c77b85..2c77b85 100644
--- a/Data/animations/run-human/frames/e.tsv
+++ b/data/animations/run-human/frames/e.tsv
diff --git a/Data/animations/run-human/frames/f.tsv b/data/animations/run-human/frames/f.tsv
index 5fa357e..5fa357e 100644
--- a/Data/animations/run-human/frames/f.tsv
+++ b/data/animations/run-human/frames/f.tsv
diff --git a/Data/animations/run-human/index.tsv b/data/animations/run-human/index.tsv
index 4edc62b..4edc62b 100644
--- a/Data/animations/run-human/index.tsv
+++ b/data/animations/run-human/index.tsv
diff --git a/Data/animations/run-zombie/frames/0.tsv b/data/animations/run-zombie/frames/0.tsv
index f1c39fd..f1c39fd 100644
--- a/Data/animations/run-zombie/frames/0.tsv
+++ b/data/animations/run-zombie/frames/0.tsv
diff --git a/Data/animations/run-zombie/frames/1.tsv b/data/animations/run-zombie/frames/1.tsv
index 84adeef..84adeef 100644
--- a/Data/animations/run-zombie/frames/1.tsv
+++ b/data/animations/run-zombie/frames/1.tsv
diff --git a/Data/animations/run-zombie/frames/2.tsv b/data/animations/run-zombie/frames/2.tsv
index c81aa0d..c81aa0d 100644
--- a/Data/animations/run-zombie/frames/2.tsv
+++ b/data/animations/run-zombie/frames/2.tsv
diff --git a/Data/animations/run-zombie/frames/3.tsv b/data/animations/run-zombie/frames/3.tsv
index dd5f3a4..dd5f3a4 100644
--- a/Data/animations/run-zombie/frames/3.tsv
+++ b/data/animations/run-zombie/frames/3.tsv
diff --git a/Data/animations/run-zombie/frames/4.tsv b/data/animations/run-zombie/frames/4.tsv
index 5f69a70..5f69a70 100644
--- a/Data/animations/run-zombie/frames/4.tsv
+++ b/data/animations/run-zombie/frames/4.tsv
diff --git a/Data/animations/run-zombie/frames/5.tsv b/data/animations/run-zombie/frames/5.tsv
index a6f7904..a6f7904 100644
--- a/Data/animations/run-zombie/frames/5.tsv
+++ b/data/animations/run-zombie/frames/5.tsv
diff --git a/Data/animations/run-zombie/frames/6.tsv b/data/animations/run-zombie/frames/6.tsv
index 20d4543..20d4543 100644
--- a/Data/animations/run-zombie/frames/6.tsv
+++ b/data/animations/run-zombie/frames/6.tsv
diff --git a/Data/animations/run-zombie/frames/7.tsv b/data/animations/run-zombie/frames/7.tsv
index 25da5d1..25da5d1 100644
--- a/Data/animations/run-zombie/frames/7.tsv
+++ b/data/animations/run-zombie/frames/7.tsv
diff --git a/Data/animations/run-zombie/frames/8.tsv b/data/animations/run-zombie/frames/8.tsv
index 9558dd9..9558dd9 100644
--- a/Data/animations/run-zombie/frames/8.tsv
+++ b/data/animations/run-zombie/frames/8.tsv
diff --git a/Data/animations/run-zombie/frames/9.tsv b/data/animations/run-zombie/frames/9.tsv
index 90ec314..90ec314 100644
--- a/Data/animations/run-zombie/frames/9.tsv
+++ b/data/animations/run-zombie/frames/9.tsv
diff --git a/Data/animations/run-zombie/frames/a.tsv b/data/animations/run-zombie/frames/a.tsv
index d20ed4e..d20ed4e 100644
--- a/Data/animations/run-zombie/frames/a.tsv
+++ b/data/animations/run-zombie/frames/a.tsv
diff --git a/Data/animations/run-zombie/frames/b.tsv b/data/animations/run-zombie/frames/b.tsv
index a5190b7..a5190b7 100644
--- a/Data/animations/run-zombie/frames/b.tsv
+++ b/data/animations/run-zombie/frames/b.tsv
diff --git a/Data/animations/run-zombie/frames/c.tsv b/data/animations/run-zombie/frames/c.tsv
index 1160ef8..1160ef8 100644
--- a/Data/animations/run-zombie/frames/c.tsv
+++ b/data/animations/run-zombie/frames/c.tsv
diff --git a/Data/animations/run-zombie/frames/d.tsv b/data/animations/run-zombie/frames/d.tsv
index 8fa52ee..8fa52ee 100644
--- a/Data/animations/run-zombie/frames/d.tsv
+++ b/data/animations/run-zombie/frames/d.tsv
diff --git a/Data/animations/run-zombie/frames/e.tsv b/data/animations/run-zombie/frames/e.tsv
index 21ceea9..21ceea9 100644
--- a/Data/animations/run-zombie/frames/e.tsv
+++ b/data/animations/run-zombie/frames/e.tsv
diff --git a/Data/animations/run-zombie/frames/f.tsv b/data/animations/run-zombie/frames/f.tsv
index 20c7b45..20c7b45 100644
--- a/Data/animations/run-zombie/frames/f.tsv
+++ b/data/animations/run-zombie/frames/f.tsv
diff --git a/Data/animations/run-zombie/index.tsv b/data/animations/run-zombie/index.tsv
index 0a46c31..0a46c31 100644
--- a/Data/animations/run-zombie/index.tsv
+++ b/data/animations/run-zombie/index.tsv
diff --git a/Data/animations/shot-arm-left/frames/0.tsv b/data/animations/shot-arm-left/frames/0.tsv
index 61c093e..61c093e 100644
--- a/Data/animations/shot-arm-left/frames/0.tsv
+++ b/data/animations/shot-arm-left/frames/0.tsv
diff --git a/Data/animations/shot-arm-left/frames/1.tsv b/data/animations/shot-arm-left/frames/1.tsv
index ffc730c..ffc730c 100644
--- a/Data/animations/shot-arm-left/frames/1.tsv
+++ b/data/animations/shot-arm-left/frames/1.tsv
diff --git a/Data/animations/shot-arm-left/frames/2.tsv b/data/animations/shot-arm-left/frames/2.tsv
index 3e3be7d..3e3be7d 100644
--- a/Data/animations/shot-arm-left/frames/2.tsv
+++ b/data/animations/shot-arm-left/frames/2.tsv
diff --git a/Data/animations/shot-arm-left/frames/3.tsv b/data/animations/shot-arm-left/frames/3.tsv
index f4f3374..f4f3374 100644
--- a/Data/animations/shot-arm-left/frames/3.tsv
+++ b/data/animations/shot-arm-left/frames/3.tsv
diff --git a/Data/animations/shot-arm-left/index.tsv b/data/animations/shot-arm-left/index.tsv
index 4731057..4731057 100644
--- a/Data/animations/shot-arm-left/index.tsv
+++ b/data/animations/shot-arm-left/index.tsv
diff --git a/Data/animations/shot-arm-right/frames/0.tsv b/data/animations/shot-arm-right/frames/0.tsv
index d7504a7..d7504a7 100644
--- a/Data/animations/shot-arm-right/frames/0.tsv
+++ b/data/animations/shot-arm-right/frames/0.tsv
diff --git a/Data/animations/shot-arm-right/frames/1.tsv b/data/animations/shot-arm-right/frames/1.tsv
index 1c3035f..1c3035f 100644
--- a/Data/animations/shot-arm-right/frames/1.tsv
+++ b/data/animations/shot-arm-right/frames/1.tsv
diff --git a/Data/animations/shot-arm-right/frames/2.tsv b/data/animations/shot-arm-right/frames/2.tsv
index cb21515..cb21515 100644
--- a/Data/animations/shot-arm-right/frames/2.tsv
+++ b/data/animations/shot-arm-right/frames/2.tsv
diff --git a/Data/animations/shot-arm-right/frames/3.tsv b/data/animations/shot-arm-right/frames/3.tsv
index b8ad1e1..b8ad1e1 100644
--- a/Data/animations/shot-arm-right/frames/3.tsv
+++ b/data/animations/shot-arm-right/frames/3.tsv
diff --git a/Data/animations/shot-arm-right/index.tsv b/data/animations/shot-arm-right/index.tsv
index 150a9ba..150a9ba 100644
--- a/Data/animations/shot-arm-right/index.tsv
+++ b/data/animations/shot-arm-right/index.tsv
diff --git a/Data/animations/shot-chest/frames/0.tsv b/data/animations/shot-chest/frames/0.tsv
index 8ce1943..8ce1943 100644
--- a/Data/animations/shot-chest/frames/0.tsv
+++ b/data/animations/shot-chest/frames/0.tsv
diff --git a/Data/animations/shot-chest/frames/1.tsv b/data/animations/shot-chest/frames/1.tsv
index b0951cb..b0951cb 100644
--- a/Data/animations/shot-chest/frames/1.tsv
+++ b/data/animations/shot-chest/frames/1.tsv
diff --git a/Data/animations/shot-chest/frames/2.tsv b/data/animations/shot-chest/frames/2.tsv
index 81eeffb..81eeffb 100644
--- a/Data/animations/shot-chest/frames/2.tsv
+++ b/data/animations/shot-chest/frames/2.tsv
diff --git a/Data/animations/shot-chest/frames/3.tsv b/data/animations/shot-chest/frames/3.tsv
index 3aa513a..3aa513a 100644
--- a/Data/animations/shot-chest/frames/3.tsv
+++ b/data/animations/shot-chest/frames/3.tsv
diff --git a/Data/animations/shot-chest/frames/4.tsv b/data/animations/shot-chest/frames/4.tsv
index 5790e91..5790e91 100644
--- a/Data/animations/shot-chest/frames/4.tsv
+++ b/data/animations/shot-chest/frames/4.tsv
diff --git a/Data/animations/shot-chest/index.tsv b/data/animations/shot-chest/index.tsv
index b439f26..b439f26 100644
--- a/Data/animations/shot-chest/index.tsv
+++ b/data/animations/shot-chest/index.tsv
diff --git a/Data/animations/shot-head/frames/0.tsv b/data/animations/shot-head/frames/0.tsv
index 8ce1943..8ce1943 100644
--- a/Data/animations/shot-head/frames/0.tsv
+++ b/data/animations/shot-head/frames/0.tsv
diff --git a/Data/animations/shot-head/frames/1.tsv b/data/animations/shot-head/frames/1.tsv
index 8769789..8769789 100644
--- a/Data/animations/shot-head/frames/1.tsv
+++ b/data/animations/shot-head/frames/1.tsv
diff --git a/Data/animations/shot-head/frames/2.tsv b/data/animations/shot-head/frames/2.tsv
index 77f70da..77f70da 100644
--- a/Data/animations/shot-head/frames/2.tsv
+++ b/data/animations/shot-head/frames/2.tsv
diff --git a/Data/animations/shot-head/frames/3.tsv b/data/animations/shot-head/frames/3.tsv
index a853fce..a853fce 100644
--- a/Data/animations/shot-head/frames/3.tsv
+++ b/data/animations/shot-head/frames/3.tsv
diff --git a/Data/animations/shot-head/index.tsv b/data/animations/shot-head/index.tsv
index 080e2a3..080e2a3 100644
--- a/Data/animations/shot-head/index.tsv
+++ b/data/animations/shot-head/index.tsv
diff --git a/Data/animations/shot-leg-left/frames/0.tsv b/data/animations/shot-leg-left/frames/0.tsv
index 61c093e..61c093e 100644
--- a/Data/animations/shot-leg-left/frames/0.tsv
+++ b/data/animations/shot-leg-left/frames/0.tsv
diff --git a/Data/animations/shot-leg-left/frames/1.tsv b/data/animations/shot-leg-left/frames/1.tsv
index b278ca5..b278ca5 100644
--- a/Data/animations/shot-leg-left/frames/1.tsv
+++ b/data/animations/shot-leg-left/frames/1.tsv
diff --git a/Data/animations/shot-leg-left/frames/2.tsv b/data/animations/shot-leg-left/frames/2.tsv
index 4fc1c6d..4fc1c6d 100644
--- a/Data/animations/shot-leg-left/frames/2.tsv
+++ b/data/animations/shot-leg-left/frames/2.tsv
diff --git a/Data/animations/shot-leg-left/frames/3.tsv b/data/animations/shot-leg-left/frames/3.tsv
index 5e7f954..5e7f954 100644
--- a/Data/animations/shot-leg-left/frames/3.tsv
+++ b/data/animations/shot-leg-left/frames/3.tsv
diff --git a/Data/animations/shot-leg-left/index.tsv b/data/animations/shot-leg-left/index.tsv
index b0a9fb0..b0a9fb0 100644
--- a/Data/animations/shot-leg-left/index.tsv
+++ b/data/animations/shot-leg-left/index.tsv
diff --git a/Data/animations/shot-leg-right/frames/0.tsv b/data/animations/shot-leg-right/frames/0.tsv
index 4ad9a8d..4ad9a8d 100644
--- a/Data/animations/shot-leg-right/frames/0.tsv
+++ b/data/animations/shot-leg-right/frames/0.tsv
diff --git a/Data/animations/shot-leg-right/frames/1.tsv b/data/animations/shot-leg-right/frames/1.tsv
index 960ed07..960ed07 100644
--- a/Data/animations/shot-leg-right/frames/1.tsv
+++ b/data/animations/shot-leg-right/frames/1.tsv
diff --git a/Data/animations/shot-leg-right/frames/2.tsv b/data/animations/shot-leg-right/frames/2.tsv
index 4a71d73..4a71d73 100644
--- a/Data/animations/shot-leg-right/frames/2.tsv
+++ b/data/animations/shot-leg-right/frames/2.tsv
diff --git a/Data/animations/shot-leg-right/frames/3.tsv b/data/animations/shot-leg-right/frames/3.tsv
index c4decef..c4decef 100644
--- a/Data/animations/shot-leg-right/frames/3.tsv
+++ b/data/animations/shot-leg-right/frames/3.tsv
diff --git a/Data/animations/shot-leg-right/index.tsv b/data/animations/shot-leg-right/index.tsv
index e20b4c8..e20b4c8 100644
--- a/Data/animations/shot-leg-right/index.tsv
+++ b/data/animations/shot-leg-right/index.tsv
diff --git a/Data/animations/shot-stomach/frames/0.tsv b/data/animations/shot-stomach/frames/0.tsv
index d7504a7..d7504a7 100644
--- a/Data/animations/shot-stomach/frames/0.tsv
+++ b/data/animations/shot-stomach/frames/0.tsv
diff --git a/Data/animations/shot-stomach/frames/1.tsv b/data/animations/shot-stomach/frames/1.tsv
index a5e980b..a5e980b 100644
--- a/Data/animations/shot-stomach/frames/1.tsv
+++ b/data/animations/shot-stomach/frames/1.tsv
diff --git a/Data/animations/shot-stomach/frames/2.tsv b/data/animations/shot-stomach/frames/2.tsv
index 10c9f41..10c9f41 100644
--- a/Data/animations/shot-stomach/frames/2.tsv
+++ b/data/animations/shot-stomach/frames/2.tsv
diff --git a/Data/animations/shot-stomach/frames/3.tsv b/data/animations/shot-stomach/frames/3.tsv
index d7d19b0..d7d19b0 100644
--- a/Data/animations/shot-stomach/frames/3.tsv
+++ b/data/animations/shot-stomach/frames/3.tsv
diff --git a/Data/animations/shot-stomach/index.tsv b/data/animations/shot-stomach/index.tsv
index 080e2a3..080e2a3 100644
--- a/Data/animations/shot-stomach/index.tsv
+++ b/data/animations/shot-stomach/index.tsv
diff --git a/Data/animations/throw-aikido/frames/0.tsv b/data/animations/throw-aikido/frames/0.tsv
index 726217d..726217d 100644
--- a/Data/animations/throw-aikido/frames/0.tsv
+++ b/data/animations/throw-aikido/frames/0.tsv
diff --git a/Data/animations/throw-aikido/frames/1.tsv b/data/animations/throw-aikido/frames/1.tsv
index 7132aa2..7132aa2 100644
--- a/Data/animations/throw-aikido/frames/1.tsv
+++ b/data/animations/throw-aikido/frames/1.tsv
diff --git a/Data/animations/throw-aikido/frames/2.tsv b/data/animations/throw-aikido/frames/2.tsv
index 5e89190..5e89190 100644
--- a/Data/animations/throw-aikido/frames/2.tsv
+++ b/data/animations/throw-aikido/frames/2.tsv
diff --git a/Data/animations/throw-aikido/frames/3.tsv b/data/animations/throw-aikido/frames/3.tsv
index 6c2c9f5..6c2c9f5 100644
--- a/Data/animations/throw-aikido/frames/3.tsv
+++ b/data/animations/throw-aikido/frames/3.tsv
diff --git a/Data/animations/throw-aikido/frames/4.tsv b/data/animations/throw-aikido/frames/4.tsv
index bd7c058..bd7c058 100644
--- a/Data/animations/throw-aikido/frames/4.tsv
+++ b/data/animations/throw-aikido/frames/4.tsv
diff --git a/Data/animations/throw-aikido/frames/5.tsv b/data/animations/throw-aikido/frames/5.tsv
index 296bda1..296bda1 100644
--- a/Data/animations/throw-aikido/frames/5.tsv
+++ b/data/animations/throw-aikido/frames/5.tsv
diff --git a/Data/animations/throw-aikido/frames/6.tsv b/data/animations/throw-aikido/frames/6.tsv
index 18a9625..18a9625 100644
--- a/Data/animations/throw-aikido/frames/6.tsv
+++ b/data/animations/throw-aikido/frames/6.tsv
diff --git a/Data/animations/throw-aikido/frames/7.tsv b/data/animations/throw-aikido/frames/7.tsv
index 9a203d4..9a203d4 100644
--- a/Data/animations/throw-aikido/frames/7.tsv
+++ b/data/animations/throw-aikido/frames/7.tsv
diff --git a/Data/animations/throw-aikido/frames/8.tsv b/data/animations/throw-aikido/frames/8.tsv
index 886d862..886d862 100644
--- a/Data/animations/throw-aikido/frames/8.tsv
+++ b/data/animations/throw-aikido/frames/8.tsv
diff --git a/Data/animations/throw-aikido/index.tsv b/data/animations/throw-aikido/index.tsv
index 17602f5..17602f5 100644
--- a/Data/animations/throw-aikido/index.tsv
+++ b/data/animations/throw-aikido/index.tsv
diff --git a/Data/animations/throw-grenade/frames/0.tsv b/data/animations/throw-grenade/frames/0.tsv
index 1dc7763..1dc7763 100644
--- a/Data/animations/throw-grenade/frames/0.tsv
+++ b/data/animations/throw-grenade/frames/0.tsv
diff --git a/Data/animations/throw-grenade/frames/1.tsv b/data/animations/throw-grenade/frames/1.tsv
index 6a7cbad..6a7cbad 100644
--- a/Data/animations/throw-grenade/frames/1.tsv
+++ b/data/animations/throw-grenade/frames/1.tsv
diff --git a/Data/animations/throw-grenade/frames/2.tsv b/data/animations/throw-grenade/frames/2.tsv
index fb8b76b..fb8b76b 100644
--- a/Data/animations/throw-grenade/frames/2.tsv
+++ b/data/animations/throw-grenade/frames/2.tsv
diff --git a/Data/animations/throw-grenade/index.tsv b/data/animations/throw-grenade/index.tsv
index a1ab9ed..a1ab9ed 100644
--- a/Data/animations/throw-grenade/index.tsv
+++ b/data/animations/throw-grenade/index.tsv
diff --git a/Data/animations/thrown-aikido/frames/0.tsv b/data/animations/thrown-aikido/frames/0.tsv
index 388c81f..388c81f 100644
--- a/Data/animations/thrown-aikido/frames/0.tsv
+++ b/data/animations/thrown-aikido/frames/0.tsv
diff --git a/Data/animations/thrown-aikido/frames/1.tsv b/data/animations/thrown-aikido/frames/1.tsv
index a134ab3..a134ab3 100644
--- a/Data/animations/thrown-aikido/frames/1.tsv
+++ b/data/animations/thrown-aikido/frames/1.tsv
diff --git a/Data/animations/thrown-aikido/frames/2.tsv b/data/animations/thrown-aikido/frames/2.tsv
index 09ec68c..09ec68c 100644
--- a/Data/animations/thrown-aikido/frames/2.tsv
+++ b/data/animations/thrown-aikido/frames/2.tsv
diff --git a/Data/animations/thrown-aikido/frames/3.tsv b/data/animations/thrown-aikido/frames/3.tsv
index 3bf9588..3bf9588 100644
--- a/Data/animations/thrown-aikido/frames/3.tsv
+++ b/data/animations/thrown-aikido/frames/3.tsv
diff --git a/Data/animations/thrown-aikido/frames/4.tsv b/data/animations/thrown-aikido/frames/4.tsv
index 8f9bfc1..8f9bfc1 100644
--- a/Data/animations/thrown-aikido/frames/4.tsv
+++ b/data/animations/thrown-aikido/frames/4.tsv
diff --git a/Data/animations/thrown-aikido/frames/5.tsv b/data/animations/thrown-aikido/frames/5.tsv
index e3e92df..e3e92df 100644
--- a/Data/animations/thrown-aikido/frames/5.tsv
+++ b/data/animations/thrown-aikido/frames/5.tsv
diff --git a/Data/animations/thrown-aikido/frames/6.tsv b/data/animations/thrown-aikido/frames/6.tsv
index a7b47e5..a7b47e5 100644
--- a/Data/animations/thrown-aikido/frames/6.tsv
+++ b/data/animations/thrown-aikido/frames/6.tsv
diff --git a/Data/animations/thrown-aikido/frames/7.tsv b/data/animations/thrown-aikido/frames/7.tsv
index 2f92c26..2f92c26 100644
--- a/Data/animations/thrown-aikido/frames/7.tsv
+++ b/data/animations/thrown-aikido/frames/7.tsv
diff --git a/Data/animations/thrown-aikido/frames/8.tsv b/data/animations/thrown-aikido/frames/8.tsv
index 167fe5a..167fe5a 100644
--- a/Data/animations/thrown-aikido/frames/8.tsv
+++ b/data/animations/thrown-aikido/frames/8.tsv
diff --git a/Data/animations/thrown-aikido/index.tsv b/data/animations/thrown-aikido/index.tsv
index 17602f5..17602f5 100644
--- a/Data/animations/thrown-aikido/index.tsv
+++ b/data/animations/thrown-aikido/index.tsv
diff --git a/Data/animations/walk-human/frames/0.tsv b/data/animations/walk-human/frames/0.tsv
index fecc1e4..fecc1e4 100644
--- a/Data/animations/walk-human/frames/0.tsv
+++ b/data/animations/walk-human/frames/0.tsv
diff --git a/Data/animations/walk-human/frames/1.tsv b/data/animations/walk-human/frames/1.tsv
index 21368c9..21368c9 100644
--- a/Data/animations/walk-human/frames/1.tsv
+++ b/data/animations/walk-human/frames/1.tsv
diff --git a/Data/animations/walk-human/frames/2.tsv b/data/animations/walk-human/frames/2.tsv
index 3c113b7..3c113b7 100644
--- a/Data/animations/walk-human/frames/2.tsv
+++ b/data/animations/walk-human/frames/2.tsv
diff --git a/Data/animations/walk-human/frames/3.tsv b/data/animations/walk-human/frames/3.tsv
index a26b27c..a26b27c 100644
--- a/Data/animations/walk-human/frames/3.tsv
+++ b/data/animations/walk-human/frames/3.tsv
diff --git a/Data/animations/walk-human/frames/4.tsv b/data/animations/walk-human/frames/4.tsv
index 8174eca..8174eca 100644
--- a/Data/animations/walk-human/frames/4.tsv
+++ b/data/animations/walk-human/frames/4.tsv
diff --git a/Data/animations/walk-human/frames/5.tsv b/data/animations/walk-human/frames/5.tsv
index 5b2767d..5b2767d 100644
--- a/Data/animations/walk-human/frames/5.tsv
+++ b/data/animations/walk-human/frames/5.tsv
diff --git a/Data/animations/walk-human/frames/6.tsv b/data/animations/walk-human/frames/6.tsv
index cb35f17..cb35f17 100644
--- a/Data/animations/walk-human/frames/6.tsv
+++ b/data/animations/walk-human/frames/6.tsv
diff --git a/Data/animations/walk-human/frames/7.tsv b/data/animations/walk-human/frames/7.tsv
index 4a4bf8b..4a4bf8b 100644
--- a/Data/animations/walk-human/frames/7.tsv
+++ b/data/animations/walk-human/frames/7.tsv
diff --git a/Data/animations/walk-human/frames/8.tsv b/data/animations/walk-human/frames/8.tsv
index d503048..d503048 100644
--- a/Data/animations/walk-human/frames/8.tsv
+++ b/data/animations/walk-human/frames/8.tsv
diff --git a/Data/animations/walk-human/frames/9.tsv b/data/animations/walk-human/frames/9.tsv
index 376f791..376f791 100644
--- a/Data/animations/walk-human/frames/9.tsv
+++ b/data/animations/walk-human/frames/9.tsv
diff --git a/Data/animations/walk-human/frames/a.tsv b/data/animations/walk-human/frames/a.tsv
index a3b134f..a3b134f 100644
--- a/Data/animations/walk-human/frames/a.tsv
+++ b/data/animations/walk-human/frames/a.tsv
diff --git a/Data/animations/walk-human/frames/b.tsv b/data/animations/walk-human/frames/b.tsv
index 2a90bc8..2a90bc8 100644
--- a/Data/animations/walk-human/frames/b.tsv
+++ b/data/animations/walk-human/frames/b.tsv
diff --git a/Data/animations/walk-human/frames/c.tsv b/data/animations/walk-human/frames/c.tsv
index 6001dc1..6001dc1 100644
--- a/Data/animations/walk-human/frames/c.tsv
+++ b/data/animations/walk-human/frames/c.tsv
diff --git a/Data/animations/walk-human/frames/d.tsv b/data/animations/walk-human/frames/d.tsv
index c4f106c..c4f106c 100644
--- a/Data/animations/walk-human/frames/d.tsv
+++ b/data/animations/walk-human/frames/d.tsv
diff --git a/Data/animations/walk-human/frames/e.tsv b/data/animations/walk-human/frames/e.tsv
index bf0ebbf..bf0ebbf 100644
--- a/Data/animations/walk-human/frames/e.tsv
+++ b/data/animations/walk-human/frames/e.tsv
diff --git a/Data/animations/walk-human/frames/f.tsv b/data/animations/walk-human/frames/f.tsv
index d6962ff..d6962ff 100644
--- a/Data/animations/walk-human/frames/f.tsv
+++ b/data/animations/walk-human/frames/f.tsv
diff --git a/Data/animations/walk-human/index.tsv b/data/animations/walk-human/index.tsv
index 21c90c1..21c90c1 100644
--- a/Data/animations/walk-human/index.tsv
+++ b/data/animations/walk-human/index.tsv
diff --git a/Data/animations/walk-zombie/frames/0.tsv b/data/animations/walk-zombie/frames/0.tsv
index d889b2a..d889b2a 100644
--- a/Data/animations/walk-zombie/frames/0.tsv
+++ b/data/animations/walk-zombie/frames/0.tsv
diff --git a/Data/animations/walk-zombie/frames/1.tsv b/data/animations/walk-zombie/frames/1.tsv
index 44cb017..44cb017 100644
--- a/Data/animations/walk-zombie/frames/1.tsv
+++ b/data/animations/walk-zombie/frames/1.tsv
diff --git a/Data/animations/walk-zombie/frames/2.tsv b/data/animations/walk-zombie/frames/2.tsv
index 377ff20..377ff20 100644
--- a/Data/animations/walk-zombie/frames/2.tsv
+++ b/data/animations/walk-zombie/frames/2.tsv
diff --git a/Data/animations/walk-zombie/frames/3.tsv b/data/animations/walk-zombie/frames/3.tsv
index 4d82b5d..4d82b5d 100644
--- a/Data/animations/walk-zombie/frames/3.tsv
+++ b/data/animations/walk-zombie/frames/3.tsv
diff --git a/Data/animations/walk-zombie/frames/4.tsv b/data/animations/walk-zombie/frames/4.tsv
index a0e0cc9..a0e0cc9 100644
--- a/Data/animations/walk-zombie/frames/4.tsv
+++ b/data/animations/walk-zombie/frames/4.tsv
diff --git a/Data/animations/walk-zombie/frames/5.tsv b/data/animations/walk-zombie/frames/5.tsv
index 3281de2..3281de2 100644
--- a/Data/animations/walk-zombie/frames/5.tsv
+++ b/data/animations/walk-zombie/frames/5.tsv
diff --git a/Data/animations/walk-zombie/frames/6.tsv b/data/animations/walk-zombie/frames/6.tsv
index 1e8c483..1e8c483 100644
--- a/Data/animations/walk-zombie/frames/6.tsv
+++ b/data/animations/walk-zombie/frames/6.tsv
diff --git a/Data/animations/walk-zombie/frames/7.tsv b/data/animations/walk-zombie/frames/7.tsv
index c0f6e11..c0f6e11 100644
--- a/Data/animations/walk-zombie/frames/7.tsv
+++ b/data/animations/walk-zombie/frames/7.tsv
diff --git a/Data/animations/walk-zombie/frames/8.tsv b/data/animations/walk-zombie/frames/8.tsv
index dbd6e25..dbd6e25 100644
--- a/Data/animations/walk-zombie/frames/8.tsv
+++ b/data/animations/walk-zombie/frames/8.tsv
diff --git a/Data/animations/walk-zombie/frames/9.tsv b/data/animations/walk-zombie/frames/9.tsv
index 65ad29a..65ad29a 100644
--- a/Data/animations/walk-zombie/frames/9.tsv
+++ b/data/animations/walk-zombie/frames/9.tsv
diff --git a/Data/animations/walk-zombie/frames/a.tsv b/data/animations/walk-zombie/frames/a.tsv
index cf28701..cf28701 100644
--- a/Data/animations/walk-zombie/frames/a.tsv
+++ b/data/animations/walk-zombie/frames/a.tsv
diff --git a/Data/animations/walk-zombie/frames/b.tsv b/data/animations/walk-zombie/frames/b.tsv
index 661a129..661a129 100644
--- a/Data/animations/walk-zombie/frames/b.tsv
+++ b/data/animations/walk-zombie/frames/b.tsv
diff --git a/Data/animations/walk-zombie/frames/c.tsv b/data/animations/walk-zombie/frames/c.tsv
index 73fef4e..73fef4e 100644
--- a/Data/animations/walk-zombie/frames/c.tsv
+++ b/data/animations/walk-zombie/frames/c.tsv
diff --git a/Data/animations/walk-zombie/frames/d.tsv b/data/animations/walk-zombie/frames/d.tsv
index fa7da9c..fa7da9c 100644
--- a/Data/animations/walk-zombie/frames/d.tsv
+++ b/data/animations/walk-zombie/frames/d.tsv
diff --git a/Data/animations/walk-zombie/frames/e.tsv b/data/animations/walk-zombie/frames/e.tsv
index 8b265be..8b265be 100644
--- a/Data/animations/walk-zombie/frames/e.tsv
+++ b/data/animations/walk-zombie/frames/e.tsv
diff --git a/Data/animations/walk-zombie/frames/f.tsv b/data/animations/walk-zombie/frames/f.tsv
index 480c0c3..480c0c3 100644
--- a/Data/animations/walk-zombie/frames/f.tsv
+++ b/data/animations/walk-zombie/frames/f.tsv
diff --git a/Data/animations/walk-zombie/index.tsv b/data/animations/walk-zombie/index.tsv
index 805fe9d..805fe9d 100644
--- a/Data/animations/walk-zombie/index.tsv
+++ b/data/animations/walk-zombie/index.tsv
diff --git a/Data/customlevels.txt b/data/customlevels.txt
index 4aa9b93..4aa9b93 100644
--- a/Data/customlevels.txt
+++ b/data/customlevels.txt
diff --git a/data/models/blocks/0.off b/data/models/blocks/0.off
new file mode 100644
index 0000000..97354f4
--- /dev/null
+++ b/data/models/blocks/0.off
@@ -0,0 +1,125 @@
+56 68 0
+-136.800 0.800 132.000
+-136.800 -0.800 -136.800
+-136.800 -0.800 132.000
+-136.800 0.800 -136.800
+132.800 -0.800 -136.800
+132.800 0.800 -136.800
+132.800 0.800 132.000
+132.800 -0.800 132.000
+-120.000 80.000 -42.400
+-120.000 -0.000 -122.400
+-120.000 -0.000 -42.400
+-120.000 80.000 -122.400
+0.800 80.000 -42.400
+0.800 80.000 -122.400
+0.800 -0.000 -122.400
+0.800 -0.000 -42.400
+-15.200 76.000 46.400
+-15.200 -0.000 -40.000
+-15.200 0.000 46.400
+-15.200 76.000 -40.000
+115.200 -0.000 -40.000
+115.200 76.000 46.400
+115.200 76.000 -40.000
+115.200 0.000 46.400
+0.000 80.000 119.200
+0.000 0.000 48.000
+0.000 0.000 119.200
+0.000 80.000 48.000
+3.200 88.000 -122.400
+3.200 -0.000 -122.400
+3.200 88.000 -42.400
+3.200 -0.000 -42.400
+115.200 80.000 119.200
+115.200 80.000 48.000
+115.200 0.000 48.000
+116.000 88.000 -122.400
+116.000 88.000 -42.400
+116.000 -0.000 -122.400
+115.200 0.000 119.200
+116.000 -0.000 -42.400
+-119.200 84.000 114.400
+-119.200 -0.000 -39.200
+-119.200 0.000 114.400
+-119.200 84.000 -39.200
+-19.200 -0.000 -39.200
+-19.200 84.000 114.400
+-19.200 84.000 -39.200
+-19.200 0.000 114.400
+-32.800 0.000 50.400
+-32.800 84.000 50.400
+-3.200 0.000 50.400
+-3.200 84.000 112.800
+-32.800 84.000 112.800
+-32.800 0.000 112.800
+-3.200 84.000 50.400
+-3.200 0.000 112.800
+3 0 1 2 0.480 0.480 0.480
+3 3 1 0 0.480 0.480 0.480
+3 1 3 4 0.480 0.480 0.480
+3 5 3 0 0.480 0.480 0.480
+3 6 0 2 0.480 0.480 0.480
+3 4 3 5 0.480 0.480 0.480
+3 5 0 6 0.480 0.480 0.480
+3 6 2 7 0.480 0.480 0.480
+3 6 4 5 0.480 0.480 0.480
+3 7 4 6 0.480 0.480 0.480
+3 8 9 10 0.430 0.400 0.400
+3 11 9 8 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 11 8 0.430 0.400 0.400
+3 9 11 14 0.430 0.400 0.400
+3 12 10 15 0.430 0.400 0.400
+3 13 8 12 0.430 0.400 0.400
+3 14 11 13 0.430 0.400 0.400
+3 16 17 18 0.430 0.400 0.400
+3 19 17 16 0.430 0.400 0.400
+3 15 14 12 0.430 0.400 0.400
+3 12 14 13 0.430 0.400 0.400
+3 17 19 20 0.430 0.400 0.400
+3 21 16 18 0.430 0.400 0.400
+3 22 19 16 0.430 0.400 0.400
+3 21 18 23 0.430 0.400 0.400
+3 20 19 22 0.430 0.400 0.400
+3 22 16 21 0.430 0.400 0.400
+3 23 20 21 0.430 0.400 0.400
+3 21 20 22 0.430 0.400 0.400
+3 24 25 26 0.330 0.310 0.310
+3 27 25 24 0.330 0.310 0.310
+3 28 29 30 0.330 0.310 0.310
+3 30 29 31 0.330 0.310 0.310
+3 32 24 26 0.330 0.310 0.310
+3 33 27 24 0.330 0.310 0.310
+3 25 27 34 0.330 0.310 0.310
+3 35 28 30 0.330 0.310 0.310
+3 36 30 31 0.330 0.310 0.310
+3 29 28 37 0.330 0.310 0.310
+3 32 26 38 0.330 0.310 0.310
+3 33 24 32 0.330 0.310 0.310
+3 34 27 33 0.330 0.310 0.310
+3 35 30 36 0.330 0.310 0.310
+3 37 28 35 0.330 0.310 0.310
+3 36 31 39 0.330 0.310 0.310
+3 38 34 32 0.330 0.310 0.310
+3 32 34 33 0.330 0.310 0.310
+3 36 37 35 0.330 0.310 0.310
+3 39 37 36 0.330 0.310 0.310
+3 40 41 42 0.500 0.475 0.475
+3 43 41 40 0.500 0.475 0.475
+3 41 43 44 0.500 0.475 0.475
+3 45 40 42 0.500 0.475 0.475
+3 46 43 40 0.500 0.475 0.475
+3 45 42 47 0.500 0.475 0.475
+3 44 43 46 0.500 0.475 0.475
+3 46 40 45 0.500 0.475 0.475
+3 48 49 50 0.500 0.475 0.475
+3 51 52 53 0.500 0.475 0.475
+3 54 49 52 0.500 0.475 0.475
+3 47 44 45 0.500 0.475 0.475
+3 45 44 46 0.500 0.475 0.475
+3 51 53 55 0.500 0.475 0.475
+3 50 49 54 0.500 0.475 0.475
+3 54 52 51 0.500 0.475 0.475
+3 55 50 51 0.500 0.475 0.475
+3 51 50 54 0.500 0.475 0.475
diff --git a/data/models/blocks/1.off b/data/models/blocks/1.off
new file mode 100644
index 0000000..9811f88
--- /dev/null
+++ b/data/models/blocks/1.off
@@ -0,0 +1,125 @@
+56 68 0
+-136.000 0.800 -136.000
+-136.000 -0.800 -136.000
+-136.000 0.800 132.800
+-136.000 -0.800 132.800
+133.600 0.800 -136.000
+133.600 0.800 132.800
+133.600 -0.800 -136.000
+133.600 -0.800 132.800
+-120.000 88.000 -42.400
+-120.000 -0.000 -122.400
+-120.000 -0.000 -42.400
+-120.000 88.000 -122.400
+0.000 115.200 -42.400
+0.000 115.200 -122.400
+0.000 -0.000 -122.400
+0.000 -0.000 -42.400
+-15.200 83.200 46.400
+-15.200 -0.000 -40.000
+-15.200 0.000 46.400
+-15.200 83.200 -40.000
+114.400 -0.000 -40.000
+114.400 83.200 46.400
+114.400 83.200 -40.000
+114.400 0.000 46.400
+0.000 115.200 119.200
+0.000 0.000 48.000
+0.000 0.000 119.200
+0.000 115.200 48.000
+2.400 196.800 -122.400
+3.200 -0.000 -122.400
+2.400 196.800 -42.400
+3.200 -0.000 -42.400
+114.400 115.200 119.200
+114.400 115.200 48.000
+114.400 0.000 48.000
+115.200 196.800 -122.400
+115.200 196.800 -42.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+116.000 -0.000 -42.400
+-119.200 236.000 114.400
+-120.000 -0.000 -39.200
+-120.000 0.000 114.400
+-119.200 236.000 -39.200
+-20.000 -0.000 -39.200
+-19.200 236.000 114.400
+-19.200 236.000 -39.200
+-20.000 0.000 114.400
+-33.600 0.000 50.400
+-32.800 236.000 50.400
+-4.000 0.000 50.400
+-3.200 236.000 112.800
+-32.800 236.000 112.800
+-33.600 0.000 112.800
+-3.200 236.000 50.400
+-4.000 0.000 112.800
+3 0 1 2 0.480 0.480 0.480
+3 2 1 3 0.480 0.480 0.480
+3 4 0 2 0.480 0.480 0.480
+3 5 2 3 0.480 0.480 0.480
+3 1 0 6 0.480 0.480 0.480
+3 4 2 5 0.480 0.480 0.480
+3 6 0 4 0.480 0.480 0.480
+3 5 3 7 0.480 0.480 0.480
+3 5 6 4 0.480 0.480 0.480
+3 7 6 5 0.480 0.480 0.480
+3 8 9 10 0.430 0.400 0.400
+3 11 9 8 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 11 8 0.430 0.400 0.400
+3 9 11 14 0.430 0.400 0.400
+3 12 10 15 0.430 0.400 0.400
+3 13 8 12 0.430 0.400 0.400
+3 14 11 13 0.430 0.400 0.400
+3 16 17 18 0.430 0.400 0.400
+3 19 17 16 0.430 0.400 0.400
+3 15 14 12 0.430 0.400 0.400
+3 12 14 13 0.430 0.400 0.400
+3 17 19 20 0.430 0.400 0.400
+3 21 16 18 0.430 0.400 0.400
+3 22 19 16 0.430 0.400 0.400
+3 21 18 23 0.430 0.400 0.400
+3 20 19 22 0.430 0.400 0.400
+3 22 16 21 0.430 0.400 0.400
+3 23 20 21 0.430 0.400 0.400
+3 21 20 22 0.430 0.400 0.400
+3 24 25 26 0.330 0.310 0.310
+3 27 25 24 0.330 0.310 0.310
+3 28 29 30 0.330 0.310 0.310
+3 30 29 31 0.330 0.310 0.310
+3 32 24 26 0.330 0.310 0.310
+3 33 27 24 0.330 0.310 0.310
+3 25 27 34 0.330 0.310 0.310
+3 35 28 30 0.330 0.310 0.310
+3 36 30 31 0.330 0.310 0.310
+3 29 28 37 0.330 0.310 0.310
+3 32 26 38 0.330 0.310 0.310
+3 33 24 32 0.330 0.310 0.310
+3 34 27 33 0.330 0.310 0.310
+3 35 30 36 0.330 0.310 0.310
+3 37 28 35 0.330 0.310 0.310
+3 36 31 39 0.330 0.310 0.310
+3 38 34 32 0.330 0.310 0.310
+3 32 34 33 0.330 0.310 0.310
+3 36 37 35 0.330 0.310 0.310
+3 39 37 36 0.330 0.310 0.310
+3 40 41 42 0.500 0.475 0.475
+3 43 41 40 0.500 0.475 0.475
+3 41 43 44 0.500 0.475 0.475
+3 45 40 42 0.500 0.475 0.475
+3 46 43 40 0.500 0.475 0.475
+3 45 42 47 0.500 0.475 0.475
+3 44 43 46 0.500 0.475 0.475
+3 46 40 45 0.500 0.475 0.475
+3 48 49 50 0.500 0.475 0.475
+3 51 52 53 0.500 0.475 0.475
+3 54 49 52 0.500 0.475 0.475
+3 47 44 45 0.500 0.475 0.475
+3 45 44 46 0.500 0.475 0.475
+3 51 53 55 0.500 0.475 0.475
+3 50 49 54 0.500 0.475 0.475
+3 54 52 51 0.500 0.475 0.475
+3 55 50 51 0.500 0.475 0.475
+3 51 50 54 0.500 0.475 0.475
diff --git a/data/models/blocks/2.off b/data/models/blocks/2.off
new file mode 100644
index 0000000..9458bd8
--- /dev/null
+++ b/data/models/blocks/2.off
@@ -0,0 +1,125 @@
+56 68 0
+-137.600 0.800 131.200
+-137.600 -0.800 -137.600
+-137.600 -0.800 131.200
+-137.600 0.800 -137.600
+132.000 -0.800 -137.600
+132.000 0.800 -137.600
+132.000 0.800 131.200
+132.000 -0.800 131.200
+-120.000 108.800 -42.400
+-120.000 -0.000 -122.400
+-120.000 -0.000 -42.400
+-120.000 108.800 -122.400
+0.000 141.600 -42.400
+0.000 141.600 -122.400
+0.000 -0.000 -122.400
+0.000 -0.000 -42.400
+-15.200 413.600 46.400
+-15.200 -0.000 -40.000
+-15.200 0.000 46.400
+-15.200 413.600 -40.000
+114.400 -0.000 -40.000
+114.400 413.600 46.400
+114.400 413.600 -40.000
+114.400 0.000 46.400
+0.000 141.600 119.200
+0.000 0.000 48.000
+0.000 0.000 119.200
+0.000 141.600 48.000
+2.400 236.800 -122.400
+3.200 -0.000 -122.400
+2.400 236.800 -42.400
+3.200 -0.000 -42.400
+114.400 141.600 119.200
+114.400 141.600 48.000
+114.400 0.000 48.000
+115.200 236.800 -122.400
+115.200 236.800 -42.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+116.000 -0.000 -42.400
+-120.000 205.600 -39.200
+-120.000 -0.000 -39.200
+-120.000 205.600 114.400
+-120.000 0.000 114.400
+-20.000 205.600 -39.200
+-20.000 205.600 114.400
+-20.000 -0.000 -39.200
+-20.000 0.000 114.400
+-4.000 205.600 50.400
+-33.600 205.600 50.400
+-33.600 205.600 112.800
+-4.000 205.600 112.800
+-33.600 0.000 112.800
+-33.600 0.000 50.400
+-4.000 0.000 50.400
+-4.000 0.000 112.800
+3 0 1 2 0.480 0.480 0.480
+3 3 1 0 0.480 0.480 0.480
+3 1 3 4 0.480 0.480 0.480
+3 5 3 0 0.480 0.480 0.480
+3 6 0 2 0.480 0.480 0.480
+3 4 3 5 0.480 0.480 0.480
+3 5 0 6 0.480 0.480 0.480
+3 6 2 7 0.480 0.480 0.480
+3 6 4 5 0.480 0.480 0.480
+3 7 4 6 0.480 0.480 0.480
+3 8 9 10 0.430 0.400 0.400
+3 11 9 8 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 11 8 0.430 0.400 0.400
+3 9 11 14 0.430 0.400 0.400
+3 12 10 15 0.430 0.400 0.400
+3 13 8 12 0.430 0.400 0.400
+3 14 11 13 0.430 0.400 0.400
+3 16 17 18 0.430 0.400 0.400
+3 19 17 16 0.430 0.400 0.400
+3 15 14 12 0.430 0.400 0.400
+3 12 14 13 0.430 0.400 0.400
+3 17 19 20 0.430 0.400 0.400
+3 21 16 18 0.430 0.400 0.400
+3 22 19 16 0.430 0.400 0.400
+3 21 18 23 0.430 0.400 0.400
+3 20 19 22 0.430 0.400 0.400
+3 22 16 21 0.430 0.400 0.400
+3 23 20 21 0.430 0.400 0.400
+3 21 20 22 0.430 0.400 0.400
+3 24 25 26 0.330 0.310 0.310
+3 27 25 24 0.330 0.310 0.310
+3 28 29 30 0.330 0.310 0.310
+3 30 29 31 0.330 0.310 0.310
+3 32 24 26 0.330 0.310 0.310
+3 33 27 24 0.330 0.310 0.310
+3 25 27 34 0.330 0.310 0.310
+3 35 28 30 0.330 0.310 0.310
+3 36 30 31 0.330 0.310 0.310
+3 29 28 37 0.330 0.310 0.310
+3 32 26 38 0.330 0.310 0.310
+3 33 24 32 0.330 0.310 0.310
+3 34 27 33 0.330 0.310 0.310
+3 35 30 36 0.330 0.310 0.310
+3 37 28 35 0.330 0.310 0.310
+3 36 31 39 0.330 0.310 0.310
+3 38 34 32 0.330 0.310 0.310
+3 32 34 33 0.330 0.310 0.310
+3 36 37 35 0.330 0.310 0.310
+3 39 37 36 0.330 0.310 0.310
+3 40 41 42 0.500 0.475 0.475
+3 42 41 43 0.500 0.475 0.475
+3 44 40 42 0.500 0.475 0.475
+3 45 42 43 0.500 0.475 0.475
+3 41 40 46 0.500 0.475 0.475
+3 44 42 45 0.500 0.475 0.475
+3 46 40 44 0.500 0.475 0.475
+3 45 43 47 0.500 0.475 0.475
+3 48 49 50 0.500 0.475 0.475
+3 51 50 52 0.500 0.475 0.475
+3 53 49 54 0.500 0.475 0.475
+3 45 46 44 0.500 0.475 0.475
+3 47 46 45 0.500 0.475 0.475
+3 48 50 51 0.500 0.475 0.475
+3 54 49 48 0.500 0.475 0.475
+3 51 52 55 0.500 0.475 0.475
+3 51 54 48 0.500 0.475 0.475
+3 55 54 51 0.500 0.475 0.475
diff --git a/data/models/blocks/3.off b/data/models/blocks/3.off
new file mode 100644
index 0000000..4a670eb
--- /dev/null
+++ b/data/models/blocks/3.off
@@ -0,0 +1,125 @@
+56 68 0
+-136.800 0.800 132.000
+-136.800 -0.800 -136.800
+-136.800 -0.800 132.000
+-136.800 0.800 -136.800
+132.800 0.800 132.000
+132.800 0.800 -136.800
+132.800 -0.800 -136.800
+132.800 -0.800 132.000
+-120.000 106.400 -122.400
+-120.000 -0.000 -122.400
+-120.000 106.400 -42.400
+-120.000 -0.000 -42.400
+0.000 -0.000 -122.400
+0.000 256.000 -122.400
+0.000 256.000 -42.400
+0.000 -0.000 -42.400
+-15.200 413.600 -40.000
+-15.200 -0.000 -40.000
+-15.200 413.600 46.400
+-15.200 0.000 46.400
+114.400 413.600 -40.000
+114.400 413.600 46.400
+114.400 -0.000 -40.000
+114.400 0.000 46.400
+0.000 1020.800 48.000
+0.000 0.000 48.000
+0.000 1020.800 119.200
+0.000 0.000 119.200
+2.400 236.800 -122.400
+3.200 -0.000 -122.400
+2.400 236.800 -42.400
+3.200 -0.000 -42.400
+114.400 0.000 48.000
+114.400 1020.800 48.000
+114.400 1020.800 119.200
+115.200 236.800 -122.400
+115.200 236.800 -42.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+116.000 -0.000 -42.400
+-120.000 624.000 -39.200
+-120.000 -0.000 -39.200
+-120.000 624.000 114.400
+-120.000 0.000 114.400
+-20.000 624.000 -39.200
+-20.000 624.000 114.400
+-20.000 -0.000 -39.200
+-20.000 0.000 114.400
+-4.000 624.000 50.400
+-33.600 624.000 50.400
+-33.600 624.000 112.800
+-4.000 624.000 112.800
+-33.600 0.000 112.800
+-33.600 0.000 50.400
+-4.000 0.000 50.400
+-4.000 0.000 112.800
+3 0 1 2 0.480 0.480 0.480
+3 3 1 0 0.480 0.480 0.480
+3 4 0 2 0.480 0.480 0.480
+3 5 3 0 0.480 0.480 0.480
+3 1 3 6 0.480 0.480 0.480
+3 4 2 7 0.480 0.480 0.480
+3 5 0 4 0.480 0.480 0.480
+3 6 3 5 0.480 0.480 0.480
+3 7 6 4 0.480 0.480 0.480
+3 4 6 5 0.480 0.480 0.480
+3 8 9 10 0.430 0.400 0.400
+3 10 9 11 0.430 0.400 0.400
+3 9 8 12 0.430 0.400 0.400
+3 13 8 10 0.430 0.400 0.400
+3 14 10 11 0.430 0.400 0.400
+3 12 8 13 0.430 0.400 0.400
+3 13 10 14 0.430 0.400 0.400
+3 14 11 15 0.430 0.400 0.400
+3 16 17 18 0.430 0.400 0.400
+3 18 17 19 0.430 0.400 0.400
+3 14 12 13 0.430 0.400 0.400
+3 15 12 14 0.430 0.400 0.400
+3 20 16 18 0.430 0.400 0.400
+3 21 18 19 0.430 0.400 0.400
+3 17 16 22 0.430 0.400 0.400
+3 20 18 21 0.430 0.400 0.400
+3 22 16 20 0.430 0.400 0.400
+3 21 19 23 0.430 0.400 0.400
+3 21 22 20 0.430 0.400 0.400
+3 23 22 21 0.430 0.400 0.400
+3 24 25 26 0.330 0.310 0.310
+3 26 25 27 0.330 0.310 0.310
+3 28 29 30 0.330 0.310 0.310
+3 30 29 31 0.330 0.310 0.310
+3 25 24 32 0.330 0.310 0.310
+3 33 24 26 0.330 0.310 0.310
+3 34 26 27 0.330 0.310 0.310
+3 35 28 30 0.330 0.310 0.310
+3 36 30 31 0.330 0.310 0.310
+3 29 28 37 0.330 0.310 0.310
+3 32 24 33 0.330 0.310 0.310
+3 33 26 34 0.330 0.310 0.310
+3 34 27 38 0.330 0.310 0.310
+3 35 30 36 0.330 0.310 0.310
+3 37 28 35 0.330 0.310 0.310
+3 36 31 39 0.330 0.310 0.310
+3 34 32 33 0.330 0.310 0.310
+3 38 32 34 0.330 0.310 0.310
+3 36 37 35 0.330 0.310 0.310
+3 39 37 36 0.330 0.310 0.310
+3 40 41 42 0.500 0.475 0.475
+3 42 41 43 0.500 0.475 0.475
+3 44 40 42 0.500 0.475 0.475
+3 45 42 43 0.500 0.475 0.475
+3 41 40 46 0.500 0.475 0.475
+3 44 42 45 0.500 0.475 0.475
+3 46 40 44 0.500 0.475 0.475
+3 45 43 47 0.500 0.475 0.475
+3 48 49 50 0.500 0.475 0.475
+3 51 50 52 0.500 0.475 0.475
+3 53 49 54 0.500 0.475 0.475
+3 45 46 44 0.500 0.475 0.475
+3 47 46 45 0.500 0.475 0.475
+3 48 50 51 0.500 0.475 0.475
+3 54 49 48 0.500 0.475 0.475
+3 51 52 55 0.500 0.475 0.475
+3 51 54 48 0.500 0.475 0.475
+3 55 54 51 0.500 0.475 0.475
diff --git a/data/models/blocks/occlude.off b/data/models/blocks/occlude.off
new file mode 100644
index 0000000..3f165f3
--- /dev/null
+++ b/data/models/blocks/occlude.off
@@ -0,0 +1,13 @@
+8 4 0
+-99.200 -4.000 100.000
+-98.400 76.800 99.200
+100.800 -4.000 -99.200
+-98.400 -4.000 -100.000
+100.800 76.800 100.000
+-98.400 76.800 -100.000
+100.800 -4.000 100.000
+101.600 76.800 -100.000
+3 0 1 2 0.480 0.480 0.480
+3 3 4 5 0.480 0.480 0.480
+3 6 4 3 0.480 0.480 0.480
+3 2 1 7 0.480 0.480 0.480
diff --git a/data/models/blocks/simple.off b/data/models/blocks/simple.off
new file mode 100644
index 0000000..f0f5d44
--- /dev/null
+++ b/data/models/blocks/simple.off
@@ -0,0 +1,13 @@
+8 4 0
+-120.800 -0.000 -123.200
+114.400 232.000 120.000
+-121.600 232.000 -124.000
+-120.800 0.000 116.000
+-120.000 232.000 115.200
+116.000 -0.000 -123.200
+115.200 0.000 120.800
+116.800 232.000 -124.000
+3 0 1 2 0.480 0.480 0.480
+3 3 4 5 0.480 0.480 0.480
+3 6 1 0 0.480 0.480 0.480
+3 5 4 7 0.480 0.480 0.480
diff --git a/data/models/collide/blocks/0.off b/data/models/collide/blocks/0.off
new file mode 100644
index 0000000..03546aa
--- /dev/null
+++ b/data/models/collide/blocks/0.off
@@ -0,0 +1,103 @@
+44 58 0
+-120.000 80.000 -42.400
+-120.000 -0.000 -122.400
+-120.000 -0.000 -42.400
+-120.000 80.000 -122.400
+1.600 80.000 -42.400
+1.600 -0.000 -122.400
+1.600 80.000 -122.400
+1.600 -0.000 -42.400
+-19.200 76.000 -42.400
+-19.200 -0.000 -42.400
+-19.200 76.000 46.400
+-19.200 0.000 46.400
+115.200 76.000 -42.400
+115.200 76.000 47.200
+115.200 -0.000 -42.400
+115.200 0.000 47.200
+-1.600 80.000 119.200
+-1.600 0.000 47.200
+-1.600 0.000 119.200
+-1.600 80.000 47.200
+1.600 88.000 -122.400
+1.600 88.000 -42.400
+115.200 80.000 119.200
+115.200 80.000 47.200
+116.000 88.000 -122.400
+116.000 88.000 -42.400
+116.000 -0.000 -122.400
+115.200 0.000 119.200
+116.000 -0.000 -42.400
+-119.200 84.000 114.400
+-119.200 -0.000 -41.600
+-119.200 0.000 114.400
+-119.200 84.000 -41.600
+-19.200 -0.000 -41.600
+-19.200 84.000 114.400
+-19.200 84.000 -41.600
+-19.200 0.000 114.400
+-32.800 0.000 46.400
+-32.800 84.000 46.400
+-1.600 84.000 112.800
+-32.800 84.000 112.800
+-32.800 0.000 112.800
+-1.600 84.000 47.200
+-1.600 0.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 3 1 0 0.430 0.400 0.400
+3 4 0 2 0.430 0.400 0.400
+3 1 3 5 0.430 0.400 0.400
+3 6 3 0 0.430 0.400 0.400
+3 4 2 7 0.430 0.400 0.400
+3 6 0 4 0.430 0.400 0.400
+3 5 3 6 0.430 0.400 0.400
+3 8 9 10 0.430 0.400 0.400
+3 10 9 11 0.430 0.400 0.400
+3 7 5 4 0.430 0.400 0.400
+3 4 5 6 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 10 11 0.430 0.400 0.400
+3 9 8 14 0.430 0.400 0.400
+3 12 10 13 0.430 0.400 0.400
+3 14 8 12 0.430 0.400 0.400
+3 13 11 15 0.430 0.400 0.400
+3 13 14 12 0.430 0.400 0.400
+3 15 14 13 0.430 0.400 0.400
+3 16 17 18 0.330 0.310 0.310
+3 19 17 16 0.330 0.310 0.310
+3 20 5 21 0.330 0.310 0.310
+3 21 5 7 0.330 0.310 0.310
+3 22 16 18 0.330 0.310 0.310
+3 23 19 16 0.330 0.310 0.310
+3 17 19 15 0.330 0.310 0.310
+3 24 20 21 0.330 0.310 0.310
+3 25 21 7 0.330 0.310 0.310
+3 5 20 26 0.330 0.310 0.310
+3 23 16 22 0.330 0.310 0.310
+3 22 18 27 0.330 0.310 0.310
+3 15 19 23 0.330 0.310 0.310
+3 24 21 25 0.330 0.310 0.310
+3 26 20 24 0.330 0.310 0.310
+3 25 7 28 0.330 0.310 0.310
+3 22 15 23 0.330 0.310 0.310
+3 27 15 22 0.330 0.310 0.310
+3 25 26 24 0.330 0.310 0.310
+3 28 26 25 0.330 0.310 0.310
+3 29 30 31 0.500 0.475 0.475
+3 32 30 29 0.500 0.475 0.475
+3 30 32 33 0.500 0.475 0.475
+3 34 29 31 0.500 0.475 0.475
+3 35 32 29 0.500 0.475 0.475
+3 34 31 36 0.500 0.475 0.475
+3 33 32 35 0.500 0.475 0.475
+3 35 29 34 0.500 0.475 0.475
+3 37 38 17 0.500 0.475 0.475
+3 39 40 41 0.500 0.475 0.475
+3 42 38 40 0.500 0.475 0.475
+3 36 33 34 0.500 0.475 0.475
+3 34 33 35 0.500 0.475 0.475
+3 39 41 43 0.500 0.475 0.475
+3 17 38 42 0.500 0.475 0.475
+3 42 40 39 0.500 0.475 0.475
+3 43 17 39 0.500 0.475 0.475
+3 39 17 42 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/1.off b/data/models/collide/blocks/1.off
new file mode 100644
index 0000000..f6e2e3c
--- /dev/null
+++ b/data/models/collide/blocks/1.off
@@ -0,0 +1,100 @@
+41 58 0
+-120.000 88.000 -122.400
+-120.000 -0.000 -122.400
+-120.000 88.000 -42.400
+-120.000 -0.000 -42.400
+1.600 -0.000 -122.400
+1.600 115.200 -122.400
+1.600 115.200 -42.400
+1.600 -0.000 -42.400
+-20.000 83.200 46.400
+-19.200 -0.000 -42.400
+-20.000 0.000 46.400
+-19.200 83.200 -42.400
+114.400 83.200 47.200
+115.200 83.200 -41.600
+115.200 -0.000 -41.600
+114.400 0.000 47.200
+-4.000 115.200 119.200
+-4.000 0.000 46.400
+-4.000 0.000 119.200
+-4.000 115.200 46.400
+1.600 196.800 -42.400
+1.600 196.800 -122.400
+114.400 115.200 119.200
+114.400 115.200 47.200
+115.200 196.800 -41.600
+115.200 196.800 -122.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+-120.000 236.000 -42.400
+-119.200 236.000 114.400
+-120.000 0.000 114.400
+-19.200 236.000 -42.400
+-19.200 236.000 114.400
+-20.000 0.000 114.400
+-33.600 0.000 46.400
+-33.600 236.000 46.400
+-4.000 236.000 46.400
+-32.800 236.000 112.800
+-3.200 236.000 112.800
+-33.600 0.000 112.800
+-4.000 0.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 5 0 2 0.430 0.400 0.400
+3 6 2 3 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 5 2 6 0.430 0.400 0.400
+3 6 3 7 0.430 0.400 0.400
+3 8 9 10 0.430 0.400 0.400
+3 11 9 8 0.430 0.400 0.400
+3 6 4 5 0.430 0.400 0.400
+3 7 4 6 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 11 8 0.430 0.400 0.400
+3 9 11 14 0.430 0.400 0.400
+3 12 10 15 0.430 0.400 0.400
+3 13 8 12 0.430 0.400 0.400
+3 14 11 13 0.430 0.400 0.400
+3 15 14 12 0.430 0.400 0.400
+3 12 14 13 0.430 0.400 0.400
+3 16 17 18 0.330 0.310 0.310
+3 19 17 16 0.330 0.310 0.310
+3 20 4 7 0.330 0.310 0.310
+3 21 4 20 0.330 0.310 0.310
+3 22 16 18 0.330 0.310 0.310
+3 23 19 16 0.330 0.310 0.310
+3 17 19 15 0.330 0.310 0.310
+3 24 20 7 0.330 0.310 0.310
+3 25 21 20 0.330 0.310 0.310
+3 4 21 26 0.330 0.310 0.310
+3 22 18 27 0.330 0.310 0.310
+3 23 16 22 0.330 0.310 0.310
+3 15 19 23 0.330 0.310 0.310
+3 24 7 14 0.330 0.310 0.310
+3 25 20 24 0.330 0.310 0.310
+3 26 21 25 0.330 0.310 0.310
+3 27 15 22 0.330 0.310 0.310
+3 22 15 23 0.330 0.310 0.310
+3 14 26 24 0.330 0.310 0.310
+3 24 26 25 0.330 0.310 0.310
+3 28 3 29 0.500 0.475 0.475
+3 29 3 30 0.500 0.475 0.475
+3 3 28 9 0.500 0.475 0.475
+3 31 28 29 0.500 0.475 0.475
+3 32 29 30 0.500 0.475 0.475
+3 9 28 31 0.500 0.475 0.475
+3 32 30 33 0.500 0.475 0.475
+3 31 29 32 0.500 0.475 0.475
+3 34 35 17 0.500 0.475 0.475
+3 36 35 37 0.500 0.475 0.475
+3 38 37 39 0.500 0.475 0.475
+3 33 9 32 0.500 0.475 0.475
+3 32 9 31 0.500 0.475 0.475
+3 17 35 36 0.500 0.475 0.475
+3 38 39 40 0.500 0.475 0.475
+3 36 37 38 0.500 0.475 0.475
+3 38 17 36 0.500 0.475 0.475
+3 40 17 38 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/2.off b/data/models/collide/blocks/2.off
new file mode 100644
index 0000000..c6b1512
--- /dev/null
+++ b/data/models/collide/blocks/2.off
@@ -0,0 +1,100 @@
+41 58 0
+-120.000 108.800 -122.400
+-120.000 -0.000 -122.400
+-120.000 108.800 -42.400
+-120.000 -0.000 -42.400
+1.600 -0.000 -122.400
+1.600 141.600 -122.400
+1.600 141.600 -42.400
+1.600 -0.000 -42.400
+-20.000 413.600 -42.400
+-20.000 -0.000 -42.400
+-20.000 413.600 48.000
+-20.000 0.000 48.000
+115.200 -0.000 -43.200
+114.400 413.600 47.200
+115.200 413.600 -43.200
+114.400 0.000 47.200
+0.000 141.600 48.000
+0.000 0.000 48.000
+0.000 141.600 119.200
+0.000 0.000 119.200
+1.600 236.800 -42.400
+1.600 236.800 -122.400
+114.400 141.600 47.200
+114.400 141.600 119.200
+115.200 236.800 -43.200
+115.200 236.800 -122.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+-120.000 205.600 -42.400
+-120.000 205.600 114.400
+-120.000 0.000 114.400
+-20.000 205.600 -42.400
+-20.000 205.600 114.400
+-20.000 0.000 114.400
+0.000 205.600 48.000
+-33.600 205.600 48.000
+-33.600 205.600 112.800
+0.000 205.600 112.800
+-33.600 0.000 112.800
+-32.800 0.000 48.000
+0.000 0.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 5 0 2 0.430 0.400 0.400
+3 6 2 3 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 5 2 6 0.430 0.400 0.400
+3 6 3 7 0.430 0.400 0.400
+3 8 9 10 0.430 0.400 0.400
+3 10 9 11 0.430 0.400 0.400
+3 6 4 5 0.430 0.400 0.400
+3 7 4 6 0.430 0.400 0.400
+3 9 8 12 0.430 0.400 0.400
+3 13 10 11 0.430 0.400 0.400
+3 14 8 10 0.430 0.400 0.400
+3 13 11 15 0.430 0.400 0.400
+3 14 10 13 0.430 0.400 0.400
+3 12 8 14 0.430 0.400 0.400
+3 15 12 13 0.430 0.400 0.400
+3 13 12 14 0.430 0.400 0.400
+3 16 17 18 0.330 0.310 0.310
+3 18 17 19 0.330 0.310 0.310
+3 20 4 7 0.330 0.310 0.310
+3 21 4 20 0.330 0.310 0.310
+3 17 16 15 0.330 0.310 0.310
+3 22 16 18 0.330 0.310 0.310
+3 23 18 19 0.330 0.310 0.310
+3 24 20 7 0.330 0.310 0.310
+3 25 21 20 0.330 0.310 0.310
+3 4 21 26 0.330 0.310 0.310
+3 15 16 22 0.330 0.310 0.310
+3 22 18 23 0.330 0.310 0.310
+3 23 19 27 0.330 0.310 0.310
+3 24 7 12 0.330 0.310 0.310
+3 25 20 24 0.330 0.310 0.310
+3 26 21 25 0.330 0.310 0.310
+3 23 15 22 0.330 0.310 0.310
+3 27 15 23 0.330 0.310 0.310
+3 12 26 24 0.330 0.310 0.310
+3 24 26 25 0.330 0.310 0.310
+3 28 3 29 0.500 0.475 0.475
+3 29 3 30 0.500 0.475 0.475
+3 31 28 29 0.500 0.475 0.475
+3 3 28 9 0.500 0.475 0.475
+3 32 29 30 0.500 0.475 0.475
+3 31 29 32 0.500 0.475 0.475
+3 9 28 31 0.500 0.475 0.475
+3 32 30 33 0.500 0.475 0.475
+3 34 35 36 0.500 0.475 0.475
+3 37 36 38 0.500 0.475 0.475
+3 39 35 17 0.500 0.475 0.475
+3 32 9 31 0.500 0.475 0.475
+3 33 9 32 0.500 0.475 0.475
+3 34 36 37 0.500 0.475 0.475
+3 17 35 34 0.500 0.475 0.475
+3 37 38 40 0.500 0.475 0.475
+3 37 17 34 0.500 0.475 0.475
+3 40 17 37 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/3.off b/data/models/collide/blocks/3.off
new file mode 100644
index 0000000..ee49fcd
--- /dev/null
+++ b/data/models/collide/blocks/3.off
@@ -0,0 +1,100 @@
+41 58 0
+-120.000 106.400 -122.400
+-120.000 -0.000 -122.400
+-120.000 106.400 -42.400
+-120.000 -0.000 -42.400
+1.600 -0.000 -122.400
+1.600 256.000 -122.400
+1.600 256.000 -42.400
+1.600 -0.000 -42.400
+-20.000 413.600 48.000
+-17.600 -0.000 -42.400
+-20.000 0.000 48.000
+-17.600 413.600 -42.400
+114.400 413.600 47.200
+115.200 413.600 -40.800
+115.200 -0.000 -40.800
+114.400 0.000 47.200
+0.000 1020.800 119.200
+0.000 0.000 48.000
+0.000 0.000 119.200
+0.000 1020.800 48.000
+1.600 236.800 -122.400
+1.600 236.800 -42.400
+114.400 1020.800 119.200
+114.400 1020.800 47.200
+115.200 236.800 -40.800
+115.200 236.800 -122.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+-120.000 624.000 -42.400
+-120.000 624.000 114.400
+-120.000 0.000 114.400
+-20.000 624.000 114.400
+-17.600 624.000 -42.400
+-20.000 0.000 114.400
+-0.800 624.000 48.000
+-33.600 624.000 48.000
+-33.600 624.000 112.800
+-0.800 624.000 112.800
+-33.600 0.000 112.800
+-33.600 0.000 48.000
+0.000 0.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 5 0 2 0.430 0.400 0.400
+3 6 2 3 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 6 3 7 0.430 0.400 0.400
+3 5 2 6 0.430 0.400 0.400
+3 8 9 10 0.430 0.400 0.400
+3 11 9 8 0.430 0.400 0.400
+3 7 4 6 0.430 0.400 0.400
+3 6 4 5 0.430 0.400 0.400
+3 12 8 10 0.430 0.400 0.400
+3 13 11 8 0.430 0.400 0.400
+3 9 11 14 0.430 0.400 0.400
+3 12 10 15 0.430 0.400 0.400
+3 13 8 12 0.430 0.400 0.400
+3 14 11 13 0.430 0.400 0.400
+3 15 14 12 0.430 0.400 0.400
+3 12 14 13 0.430 0.400 0.400
+3 16 17 18 0.330 0.310 0.310
+3 19 17 16 0.330 0.310 0.310
+3 20 4 21 0.330 0.310 0.310
+3 21 4 7 0.330 0.310 0.310
+3 22 16 18 0.330 0.310 0.310
+3 23 19 16 0.330 0.310 0.310
+3 17 19 15 0.330 0.310 0.310
+3 24 21 7 0.330 0.310 0.310
+3 25 20 21 0.330 0.310 0.310
+3 4 20 26 0.330 0.310 0.310
+3 22 18 27 0.330 0.310 0.310
+3 23 16 22 0.330 0.310 0.310
+3 15 19 23 0.330 0.310 0.310
+3 24 7 14 0.330 0.310 0.310
+3 25 21 24 0.330 0.310 0.310
+3 26 20 25 0.330 0.310 0.310
+3 27 15 22 0.330 0.310 0.310
+3 22 15 23 0.330 0.310 0.310
+3 14 26 24 0.330 0.310 0.310
+3 24 26 25 0.330 0.310 0.310
+3 28 3 29 0.500 0.475 0.475
+3 29 3 30 0.500 0.475 0.475
+3 31 29 30 0.500 0.475 0.475
+3 32 28 29 0.500 0.475 0.475
+3 3 28 9 0.500 0.475 0.475
+3 31 30 33 0.500 0.475 0.475
+3 32 29 31 0.500 0.475 0.475
+3 9 28 32 0.500 0.475 0.475
+3 34 35 36 0.500 0.475 0.475
+3 37 36 38 0.500 0.475 0.475
+3 39 35 17 0.500 0.475 0.475
+3 33 9 31 0.500 0.475 0.475
+3 31 9 32 0.500 0.475 0.475
+3 34 36 37 0.500 0.475 0.475
+3 17 35 34 0.500 0.475 0.475
+3 37 38 40 0.500 0.475 0.475
+3 37 17 34 0.500 0.475 0.475
+3 40 17 37 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/roofs/0.off b/data/models/collide/blocks/roofs/0.off
new file mode 100644
index 0000000..31cd4d3
--- /dev/null
+++ b/data/models/collide/blocks/roofs/0.off
@@ -0,0 +1,37 @@
+24 12 0
+0.800 80.000 -122.400
+-120.000 80.000 -122.400
+-120.000 80.000 -42.400
+0.800 80.000 -42.400
+115.200 76.000 -42.400
+-18.400 76.000 -41.600
+-19.200 76.000 48.000
+115.200 76.000 48.000
+115.200 80.000 48.000
+-3.200 80.000 48.000
+-3.200 80.000 119.200
+116.000 88.000 -122.400
+0.000 88.000 -122.400
+0.000 88.000 -42.400
+115.200 80.000 119.200
+116.000 88.000 -42.400
+-19.200 84.000 -42.400
+-119.200 84.000 -42.400
+-119.200 84.000 114.400
+-19.200 84.000 114.400
+-3.200 84.000 48.000
+-32.800 84.000 48.000
+-32.800 84.000 112.800
+-3.200 84.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 0 2 3 0.430 0.400 0.400
+3 4 5 6 0.430 0.400 0.400
+3 4 6 7 0.430 0.400 0.400
+3 8 9 10 0.330 0.310 0.310
+3 11 12 13 0.330 0.310 0.310
+3 8 10 14 0.330 0.310 0.310
+3 11 13 15 0.330 0.310 0.310
+3 16 17 18 0.500 0.475 0.475
+3 16 18 19 0.500 0.475 0.475
+3 20 21 22 0.500 0.475 0.475
+3 20 22 23 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/roofs/1.off b/data/models/collide/blocks/roofs/1.off
new file mode 100644
index 0000000..3b9d822
--- /dev/null
+++ b/data/models/collide/blocks/roofs/1.off
@@ -0,0 +1,37 @@
+24 12 0
+0.000 115.200 -122.400
+-120.000 88.000 -122.400
+-120.800 88.000 -39.200
+0.000 115.200 -39.200
+114.400 83.200 -40.000
+-19.200 83.200 -40.000
+-19.200 83.200 46.400
+114.400 83.200 46.400
+114.400 115.200 45.600
+-4.000 115.200 45.600
+-4.000 115.200 119.200
+115.200 196.800 -122.400
+0.000 196.800 -122.400
+0.000 196.800 -39.200
+114.400 115.200 119.200
+115.200 196.800 -39.200
+-19.200 236.000 -39.200
+-119.200 236.000 -39.200
+-119.200 236.000 114.400
+-19.200 236.000 114.400
+-3.200 236.000 45.600
+-32.800 236.000 45.600
+-32.800 236.000 112.800
+-3.200 236.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 0 2 3 0.430 0.400 0.400
+3 4 5 6 0.430 0.400 0.400
+3 4 6 7 0.430 0.400 0.400
+3 8 9 10 0.330 0.310 0.310
+3 11 12 13 0.330 0.310 0.310
+3 8 10 14 0.330 0.310 0.310
+3 11 13 15 0.330 0.310 0.310
+3 16 17 18 0.500 0.475 0.475
+3 16 18 19 0.500 0.475 0.475
+3 20 21 22 0.500 0.475 0.475
+3 20 22 23 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/roofs/2.off b/data/models/collide/blocks/roofs/2.off
new file mode 100644
index 0000000..f98c497
--- /dev/null
+++ b/data/models/collide/blocks/roofs/2.off
@@ -0,0 +1,37 @@
+24 12 0
+0.000 141.600 -122.400
+-120.000 108.800 -122.400
+-120.000 108.800 -42.400
+0.000 141.600 -42.400
+114.400 413.600 -41.600
+-21.600 413.600 -41.600
+-21.600 413.600 46.400
+114.400 413.600 46.400
+114.400 141.600 45.600
+-4.000 141.600 45.600
+-4.000 141.600 119.200
+115.200 236.800 -122.400
+0.800 236.800 -122.400
+0.800 236.800 -42.400
+114.400 141.600 119.200
+115.200 236.800 -42.400
+-20.000 205.600 -43.200
+-120.000 205.600 -43.200
+-120.000 205.600 114.400
+-20.000 205.600 114.400
+-4.000 205.600 46.400
+-33.600 205.600 46.400
+-33.600 205.600 112.800
+-4.000 205.600 112.800
+3 0 1 2 0.430 0.400 0.400
+3 0 2 3 0.430 0.400 0.400
+3 4 5 6 0.430 0.400 0.400
+3 4 6 7 0.430 0.400 0.400
+3 8 9 10 0.330 0.310 0.310
+3 11 12 13 0.330 0.310 0.310
+3 8 10 14 0.330 0.310 0.310
+3 11 13 15 0.330 0.310 0.310
+3 16 17 18 0.500 0.475 0.475
+3 16 18 19 0.500 0.475 0.475
+3 20 21 22 0.500 0.475 0.475
+3 20 22 23 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/roofs/3.off b/data/models/collide/blocks/roofs/3.off
new file mode 100644
index 0000000..45ff4f8
--- /dev/null
+++ b/data/models/collide/blocks/roofs/3.off
@@ -0,0 +1,37 @@
+24 12 0
+0.000 256.000 -122.400
+-120.000 106.400 -122.400
+-120.000 106.400 -42.400
+0.000 256.000 -42.400
+114.400 413.600 -41.600
+-21.600 413.600 -41.600
+-21.600 413.600 46.400
+114.400 413.600 46.400
+114.400 1020.800 45.600
+-4.000 1020.800 45.600
+-4.000 1020.800 119.200
+115.200 236.800 -122.400
+0.800 236.800 -122.400
+0.800 236.800 -42.400
+114.400 1020.800 119.200
+115.200 236.800 -42.400
+-20.000 624.000 -43.200
+-120.000 624.000 -43.200
+-120.000 624.000 114.400
+-20.000 624.000 114.400
+-4.000 624.000 46.400
+-33.600 624.000 46.400
+-33.600 624.000 112.800
+-4.000 624.000 112.800
+3 0 1 2 0.430 0.400 0.400
+3 0 2 3 0.430 0.400 0.400
+3 4 5 6 0.430 0.400 0.400
+3 4 6 7 0.430 0.400 0.400
+3 8 9 10 0.330 0.310 0.310
+3 11 12 13 0.330 0.310 0.310
+3 8 10 14 0.330 0.310 0.310
+3 11 13 15 0.330 0.310 0.310
+3 16 17 18 0.500 0.475 0.475
+3 16 18 19 0.500 0.475 0.475
+3 20 21 22 0.500 0.475 0.475
+3 20 22 23 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/simple/0.off b/data/models/collide/blocks/simple/0.off
new file mode 100644
index 0000000..7103b10
--- /dev/null
+++ b/data/models/collide/blocks/simple/0.off
@@ -0,0 +1,52 @@
+29 22 0
+132.800 0.800 -136.800
+-136.800 0.800 -136.800
+-136.800 0.800 132.000
+132.800 0.800 132.000
+-120.000 80.000 -122.400
+-120.000 -0.000 -122.400
+-119.200 80.000 -40.800
+-119.200 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 80.000 -122.400
+115.200 0.000 47.200
+115.200 -0.000 -40.800
+115.200 76.000 47.200
+115.200 76.000 -40.800
+115.200 80.000 119.200
+0.000 80.000 118.400
+0.000 0.000 118.400
+1.600 88.000 -122.400
+116.000 -0.000 -122.400
+115.200 0.000 119.200
+116.000 88.000 -122.400
+115.200 80.000 47.200
+115.200 88.000 -40.800
+-119.200 84.000 114.400
+-119.200 0.000 114.400
+-119.200 84.000 -40.800
+-19.200 84.000 114.400
+-19.200 0.000 114.400
+0.000 84.000 118.400
+3 0 1 2 0.480 0.480 0.480
+3 0 2 3 0.480 0.480 0.480
+3 4 5 6 0.430 0.400 0.400
+3 6 5 7 0.430 0.400 0.400
+3 5 4 8 0.430 0.400 0.400
+3 8 4 9 0.430 0.400 0.400
+3 10 11 12 0.430 0.400 0.400
+3 12 11 13 0.430 0.400 0.400
+3 14 15 16 0.330 0.310 0.310
+3 8 17 18 0.330 0.310 0.310
+3 14 16 19 0.330 0.310 0.310
+3 18 17 20 0.330 0.310 0.310
+3 19 10 14 0.330 0.310 0.310
+3 14 10 21 0.330 0.310 0.310
+3 11 18 22 0.330 0.310 0.310
+3 22 18 20 0.330 0.310 0.310
+3 23 7 24 0.500 0.475 0.475
+3 25 7 23 0.500 0.475 0.475
+3 26 23 24 0.500 0.475 0.475
+3 26 24 27 0.500 0.475 0.475
+3 28 26 27 0.500 0.475 0.475
+3 28 27 16 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/simple/1.off b/data/models/collide/blocks/simple/1.off
new file mode 100644
index 0000000..b63075f
--- /dev/null
+++ b/data/models/collide/blocks/simple/1.off
@@ -0,0 +1,52 @@
+29 22 0
+132.800 0.800 -136.800
+-136.800 0.800 -136.800
+-136.800 0.800 132.000
+132.800 0.800 132.000
+-120.000 88.000 -122.400
+-120.000 -0.000 -122.400
+-120.000 88.000 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 115.200 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 83.200 47.200
+115.200 83.200 -40.800
+114.400 115.200 119.200
+-0.800 115.200 118.400
+-0.800 0.000 118.400
+1.600 196.800 -122.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+115.200 196.800 -122.400
+114.400 115.200 47.200
+115.200 196.800 -40.800
+-120.000 236.000 -40.800
+-119.200 236.000 114.400
+-119.200 0.000 114.400
+-19.200 236.000 114.400
+-19.200 0.000 114.400
+-0.800 236.000 118.400
+3 0 1 2 0.480 0.480 0.480
+3 0 2 3 0.480 0.480 0.480
+3 4 5 6 0.430 0.400 0.400
+3 6 5 7 0.430 0.400 0.400
+3 5 4 8 0.430 0.400 0.400
+3 8 4 9 0.430 0.400 0.400
+3 10 11 12 0.430 0.400 0.400
+3 12 11 13 0.430 0.400 0.400
+3 14 15 16 0.330 0.310 0.310
+3 8 17 18 0.330 0.310 0.310
+3 14 16 19 0.330 0.310 0.310
+3 18 17 20 0.330 0.310 0.310
+3 19 10 14 0.330 0.310 0.310
+3 14 10 21 0.330 0.310 0.310
+3 11 18 22 0.330 0.310 0.310
+3 22 18 20 0.330 0.310 0.310
+3 23 7 24 0.500 0.475 0.475
+3 24 7 25 0.500 0.475 0.475
+3 26 24 25 0.500 0.475 0.475
+3 26 25 27 0.500 0.475 0.475
+3 28 26 27 0.500 0.475 0.475
+3 28 27 16 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/simple/2.off b/data/models/collide/blocks/simple/2.off
new file mode 100644
index 0000000..88c144d
--- /dev/null
+++ b/data/models/collide/blocks/simple/2.off
@@ -0,0 +1,52 @@
+29 22 0
+132.800 0.800 -136.800
+-136.800 0.800 -136.800
+-136.800 0.800 132.000
+132.800 0.800 132.000
+-120.000 108.800 -122.400
+-120.000 -0.000 -122.400
+-120.000 108.800 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 141.600 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 413.600 47.200
+115.200 413.600 -40.800
+114.400 141.600 119.200
+0.000 141.600 119.200
+0.000 0.000 119.200
+1.600 236.800 -122.400
+115.200 -0.000 -122.400
+114.400 0.000 119.200
+115.200 236.800 -122.400
+114.400 141.600 47.200
+115.200 236.800 -40.800
+-120.000 205.600 -40.800
+-120.000 205.600 114.400
+-120.000 0.000 114.400
+-20.000 205.600 114.400
+-20.000 0.000 114.400
+0.000 205.600 119.200
+3 0 1 2 0.480 0.480 0.480
+3 0 2 3 0.480 0.480 0.480
+3 4 5 6 0.430 0.400 0.400
+3 6 5 7 0.430 0.400 0.400
+3 5 4 8 0.430 0.400 0.400
+3 8 4 9 0.430 0.400 0.400
+3 10 11 12 0.430 0.400 0.400
+3 12 11 13 0.430 0.400 0.400
+3 14 15 16 0.330 0.310 0.310
+3 8 17 18 0.330 0.310 0.310
+3 14 16 19 0.330 0.310 0.310
+3 18 17 20 0.330 0.310 0.310
+3 14 10 21 0.330 0.310 0.310
+3 19 10 14 0.330 0.310 0.310
+3 11 18 22 0.330 0.310 0.310
+3 22 18 20 0.330 0.310 0.310
+3 23 7 24 0.500 0.475 0.475
+3 24 7 25 0.500 0.475 0.475
+3 26 24 25 0.500 0.475 0.475
+3 26 25 27 0.500 0.475 0.475
+3 28 26 27 0.500 0.475 0.475
+3 28 27 16 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/simple/3.off b/data/models/collide/blocks/simple/3.off
new file mode 100644
index 0000000..b59a788
--- /dev/null
+++ b/data/models/collide/blocks/simple/3.off
@@ -0,0 +1,52 @@
+29 22 0
+132.800 0.800 -136.800
+-136.800 0.800 -136.800
+-136.800 0.800 132.000
+132.800 0.800 132.000
+-120.000 106.400 -122.400
+-120.000 -0.000 -122.400
+-120.000 106.400 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 256.000 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 413.600 47.200
+115.200 413.600 -40.800
+114.400 1020.800 119.200
+0.000 1020.800 118.400
+0.000 0.000 118.400
+1.600 236.800 -122.400
+115.200 -0.000 -122.400
+114.400 0.000 119.200
+115.200 236.800 -122.400
+114.400 1020.800 47.200
+115.200 236.800 -40.800
+-120.000 624.000 -40.800
+-120.000 624.000 114.400
+-120.000 0.000 114.400
+-20.000 624.000 114.400
+-20.000 0.000 114.400
+0.000 624.000 118.400
+3 0 1 2 0.480 0.480 0.480
+3 0 2 3 0.480 0.480 0.480
+3 4 5 6 0.430 0.400 0.400
+3 6 5 7 0.430 0.400 0.400
+3 5 4 8 0.430 0.400 0.400
+3 8 4 9 0.430 0.400 0.400
+3 10 11 12 0.430 0.400 0.400
+3 12 11 13 0.430 0.400 0.400
+3 14 15 16 0.330 0.310 0.310
+3 8 17 18 0.330 0.310 0.310
+3 14 16 19 0.330 0.310 0.310
+3 18 17 20 0.330 0.310 0.310
+3 19 10 14 0.330 0.310 0.310
+3 14 10 21 0.330 0.310 0.310
+3 11 18 22 0.330 0.310 0.310
+3 22 18 20 0.330 0.310 0.310
+3 23 7 24 0.500 0.475 0.475
+3 24 7 25 0.500 0.475 0.475
+3 26 24 25 0.500 0.475 0.475
+3 26 25 27 0.500 0.475 0.475
+3 28 26 27 0.500 0.475 0.475
+3 28 27 16 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/walls/0.off b/data/models/collide/blocks/walls/0.off
new file mode 100644
index 0000000..d586bc1
--- /dev/null
+++ b/data/models/collide/blocks/walls/0.off
@@ -0,0 +1,46 @@
+25 20 0
+-120.000 75.000 -122.400
+-120.000 -0.000 -122.400
+-119.200 75.000 -40.800
+-119.200 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 75.000 -122.400
+115.200 0.000 47.200
+115.200 -0.000 -40.800
+115.200 71.250 47.200
+115.200 71.250 -40.800
+115.200 75.000 119.200
+0.000 75.000 118.400
+0.000 0.000 118.400
+1.600 82.500 -122.400
+116.000 -0.000 -122.400
+115.200 0.000 119.200
+116.000 82.500 -122.400
+115.200 75.000 47.200
+115.200 82.500 -40.800
+-119.200 78.750 -40.800
+-119.200 78.750 114.400
+-119.200 0.000 114.400
+-19.200 78.750 114.400
+-19.200 0.000 114.400
+0.000 78.750 118.400
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 6 7 8 0.430 0.400 0.400
+3 8 7 9 0.430 0.400 0.400
+3 10 11 12 0.330 0.310 0.310
+3 4 13 14 0.330 0.310 0.310
+3 10 12 15 0.330 0.310 0.310
+3 14 13 16 0.330 0.310 0.310
+3 10 6 17 0.330 0.310 0.310
+3 15 6 10 0.330 0.310 0.310
+3 7 14 18 0.330 0.310 0.310
+3 18 14 16 0.330 0.310 0.310
+3 19 3 20 0.500 0.475 0.475
+3 20 3 21 0.500 0.475 0.475
+3 22 20 21 0.500 0.475 0.475
+3 22 21 23 0.500 0.475 0.475
+3 24 22 23 0.500 0.475 0.475
+3 24 23 12 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/walls/1.off b/data/models/collide/blocks/walls/1.off
new file mode 100644
index 0000000..84ead03
--- /dev/null
+++ b/data/models/collide/blocks/walls/1.off
@@ -0,0 +1,46 @@
+25 20 0
+-120.000 82.500 -122.400
+-120.000 -0.000 -122.400
+-120.000 82.500 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 108.000 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 78.000 47.200
+115.200 78.000 -40.800
+114.400 108.000 119.200
+-0.800 108.000 118.400
+-0.800 0.000 118.400
+1.600 184.500 -122.400
+116.000 -0.000 -122.400
+114.400 0.000 119.200
+115.200 184.500 -122.400
+114.400 108.000 47.200
+115.200 184.500 -40.800
+-120.000 221.250 -40.800
+-119.200 221.250 114.400
+-119.200 0.000 114.400
+-19.200 221.250 114.400
+-19.200 0.000 114.400
+-0.800 221.250 118.400
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 6 7 8 0.430 0.400 0.400
+3 8 7 9 0.430 0.400 0.400
+3 10 11 12 0.330 0.310 0.310
+3 4 13 14 0.330 0.310 0.310
+3 10 12 15 0.330 0.310 0.310
+3 14 13 16 0.330 0.310 0.310
+3 10 6 17 0.330 0.310 0.310
+3 15 6 10 0.330 0.310 0.310
+3 7 14 18 0.330 0.310 0.310
+3 18 14 16 0.330 0.310 0.310
+3 19 3 20 0.500 0.475 0.475
+3 20 3 21 0.500 0.475 0.475
+3 22 20 21 0.500 0.475 0.475
+3 22 21 23 0.500 0.475 0.475
+3 24 22 23 0.500 0.475 0.475
+3 24 23 12 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/walls/2.off b/data/models/collide/blocks/walls/2.off
new file mode 100644
index 0000000..05cd40f
--- /dev/null
+++ b/data/models/collide/blocks/walls/2.off
@@ -0,0 +1,46 @@
+25 20 0
+-120.000 102.000 -122.400
+-120.000 -0.000 -122.400
+-120.000 102.000 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 132.750 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 387.750 47.200
+115.200 387.750 -40.800
+114.400 132.750 119.200
+0.000 132.750 119.200
+0.000 0.000 119.200
+1.600 222.000 -122.400
+115.200 -0.000 -122.400
+114.400 0.000 119.200
+115.200 222.000 -122.400
+114.400 132.750 47.200
+115.200 222.000 -40.800
+-120.000 192.750 -40.800
+-120.000 192.750 114.400
+-120.000 0.000 114.400
+-20.000 192.750 114.400
+-20.000 0.000 114.400
+0.000 192.750 119.200
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 6 7 8 0.430 0.400 0.400
+3 8 7 9 0.430 0.400 0.400
+3 10 11 12 0.330 0.310 0.310
+3 4 13 14 0.330 0.310 0.310
+3 10 12 15 0.330 0.310 0.310
+3 14 13 16 0.330 0.310 0.310
+3 15 6 10 0.330 0.310 0.310
+3 10 6 17 0.330 0.310 0.310
+3 7 14 18 0.330 0.310 0.310
+3 18 14 16 0.330 0.310 0.310
+3 19 3 20 0.500 0.475 0.475
+3 20 3 21 0.500 0.475 0.475
+3 22 20 21 0.500 0.475 0.475
+3 22 21 23 0.500 0.475 0.475
+3 24 22 23 0.500 0.475 0.475
+3 24 23 12 0.500 0.475 0.475
diff --git a/data/models/collide/blocks/walls/3.off b/data/models/collide/blocks/walls/3.off
new file mode 100644
index 0000000..7c1030a
--- /dev/null
+++ b/data/models/collide/blocks/walls/3.off
@@ -0,0 +1,46 @@
+25 20 0
+-120.000 99.750 -122.400
+-120.000 -0.000 -122.400
+-120.000 99.750 -40.800
+-120.000 -0.000 -40.800
+1.600 -0.000 -122.400
+1.600 240.000 -122.400
+114.400 0.000 47.200
+115.200 -0.000 -40.800
+114.400 387.750 47.200
+115.200 387.750 -40.800
+114.400 957.000 119.200
+0.000 957.000 118.400
+0.000 0.000 118.400
+1.600 222.000 -122.400
+115.200 -0.000 -122.400
+114.400 0.000 119.200
+115.200 222.000 -122.400
+114.400 957.000 47.200
+115.200 222.000 -40.800
+-120.000 585.000 -40.800
+-120.000 585.000 114.400
+-120.000 0.000 114.400
+-20.000 585.000 114.400
+-20.000 0.000 114.400
+0.000 585.000 118.400
+3 0 1 2 0.430 0.400 0.400
+3 2 1 3 0.430 0.400 0.400
+3 1 0 4 0.430 0.400 0.400
+3 4 0 5 0.430 0.400 0.400
+3 6 7 8 0.430 0.400 0.400
+3 8 7 9 0.430 0.400 0.400
+3 10 11 12 0.330 0.310 0.310
+3 4 13 14 0.330 0.310 0.310
+3 10 12 15 0.330 0.310 0.310
+3 14 13 16 0.330 0.310 0.310
+3 10 6 17 0.330 0.310 0.310
+3 15 6 10 0.330 0.310 0.310
+3 7 14 18 0.330 0.310 0.310
+3 18 14 16 0.330 0.310 0.310
+3 19 3 20 0.500 0.475 0.475
+3 20 3 21 0.500 0.475 0.475
+3 22 20 21 0.500 0.475 0.475
+3 22 21 23 0.500 0.475 0.475
+3 24 22 23 0.500 0.475 0.475
+3 24 23 12 0.500 0.475 0.475
diff --git a/data/models/collide/sidewalk.off b/data/models/collide/sidewalk.off
new file mode 100644
index 0000000..e6ac422
--- /dev/null
+++ b/data/models/collide/sidewalk.off
@@ -0,0 +1,7 @@
+4 2 0
+166.000 1.000 -171.000
+-171.000 1.000 -171.000
+-171.000 1.000 165.000
+166.000 1.000 165.000
+3 0 1 2 1.000 1.000 1.000
+3 0 2 3 1.000 1.000 1.000
diff --git a/data/models/grenade/base.off b/data/models/grenade/base.off
new file mode 100644
index 0000000..708777c
--- /dev/null
+++ b/data/models/grenade/base.off
@@ -0,0 +1,63 @@
+24 38 0
+-0.112 0.154 -0.154
+-0.112 0.154 0.336
+-0.014 0.112 0.336
+-0.210 0.112 -0.154
+-0.014 0.112 -0.154
+-0.210 0.112 0.336
+-0.252 0.014 -0.154
+0.014 0.014 0.336
+-0.070 0.070 0.322
+-0.140 0.070 0.420
+-0.070 0.070 0.420
+-0.140 0.070 0.322
+0.014 0.014 -0.154
+-0.014 -0.084 -0.154
+-0.210 -0.084 0.336
+-0.252 0.014 0.336
+-0.140 -0.056 0.322
+-0.070 -0.056 0.420
+-0.014 -0.084 0.336
+-0.210 -0.084 -0.154
+-0.140 -0.056 0.420
+-0.070 -0.056 0.322
+-0.112 -0.126 -0.154
+-0.112 -0.126 0.336
+3 0 1 2 0.270 0.270 0.270
+3 0 3 1 0.270 0.270 0.270
+3 4 0 2 0.270 0.270 0.270
+3 3 0 4 0.270 0.270 0.270
+3 3 5 1 0.270 0.270 0.270
+3 2 1 5 0.270 0.270 0.270
+3 3 6 5 0.270 0.270 0.270
+3 7 4 2 0.270 0.270 0.270
+3 8 9 10 0.270 0.270 0.270
+3 11 9 8 0.270 0.270 0.270
+3 7 12 4 0.270 0.270 0.270
+3 13 3 4 0.270 0.270 0.270
+3 2 5 14 0.270 0.270 0.270
+3 6 15 5 0.270 0.270 0.270
+3 9 11 16 0.270 0.270 0.270
+3 10 9 17 0.270 0.270 0.270
+3 8 10 17 0.270 0.270 0.270
+3 5 15 14 0.270 0.270 0.270
+3 7 2 18 0.270 0.270 0.270
+3 12 13 4 0.270 0.270 0.270
+3 19 6 3 0.270 0.270 0.270
+3 9 16 20 0.270 0.270 0.270
+3 9 20 17 0.270 0.270 0.270
+3 8 17 21 0.270 0.270 0.270
+3 2 14 18 0.270 0.270 0.270
+3 18 12 7 0.270 0.270 0.270
+3 19 15 6 0.270 0.270 0.270
+3 13 19 3 0.270 0.270 0.270
+3 18 13 12 0.270 0.270 0.270
+3 19 14 15 0.270 0.270 0.270
+3 17 20 21 0.270 0.270 0.270
+3 20 16 21 0.270 0.270 0.270
+3 13 22 19 0.270 0.270 0.270
+3 14 19 22 0.270 0.270 0.270
+3 18 23 13 0.270 0.270 0.270
+3 18 14 23 0.270 0.270 0.270
+3 23 14 22 0.270 0.270 0.270
+3 23 22 13 0.270 0.270 0.270
diff --git a/data/models/grenade/pin.off b/data/models/grenade/pin.off
new file mode 100644
index 0000000..e43cbd5
--- /dev/null
+++ b/data/models/grenade/pin.off
@@ -0,0 +1,93 @@
+32 60 0
+-0.224 0.098 0.336
+-0.238 0.098 0.350
+-0.210 0.070 0.378
+-0.266 0.070 0.294
+-0.238 0.084 0.336
+-0.182 0.070 0.364
+-0.280 0.070 0.308
+-0.196 0.056 0.378
+-0.266 0.056 0.308
+-0.280 0.014 0.266
+-0.182 0.014 0.406
+-0.294 0.014 0.280
+-0.182 0.014 0.392
+-0.168 0.014 0.392
+-0.280 0.014 0.294
+-0.056 0.028 0.378
+-0.196 0.028 0.378
+-0.056 0.028 0.406
+-0.196 0.028 0.406
+-0.056 0.014 0.406
+-0.056 0.014 0.378
+-0.196 0.014 0.378
+-0.196 0.014 0.406
+-0.266 -0.014 0.308
+-0.196 -0.014 0.378
+-0.182 -0.028 0.364
+-0.280 -0.028 0.308
+-0.266 -0.028 0.294
+-0.210 -0.028 0.378
+-0.238 -0.042 0.336
+-0.238 -0.056 0.350
+-0.224 -0.056 0.336
+3 0 1 2 0.500 0.500 0.500
+3 0 3 1 0.500 0.500 0.500
+3 4 0 5 0.500 0.500 0.500
+3 1 6 4 0.500 0.500 0.500
+3 1 4 7 0.500 0.500 0.500
+3 8 0 4 0.500 0.500 0.500
+3 3 6 1 0.500 0.500 0.500
+3 5 0 2 0.500 0.500 0.500
+3 1 7 2 0.500 0.500 0.500
+3 8 3 0 0.500 0.500 0.500
+3 7 4 5 0.500 0.500 0.500
+3 6 8 4 0.500 0.500 0.500
+3 3 9 6 0.500 0.500 0.500
+3 10 5 2 0.500 0.500 0.500
+3 8 6 11 0.500 0.500 0.500
+3 2 7 12 0.500 0.500 0.500
+3 13 7 5 0.500 0.500 0.500
+3 14 3 8 0.500 0.500 0.500
+3 10 13 5 0.500 0.500 0.500
+3 14 9 3 0.500 0.500 0.500
+3 9 11 6 0.500 0.500 0.500
+3 2 12 10 0.500 0.500 0.500
+3 12 7 13 0.500 0.500 0.500
+3 8 11 14 0.500 0.500 0.500
+3 15 16 17 0.500 0.500 0.500
+3 16 18 17 0.500 0.500 0.500
+3 15 17 19 0.500 0.500 0.500
+3 20 16 15 0.500 0.500 0.500
+3 16 21 18 0.500 0.500 0.500
+3 17 18 22 0.500 0.500 0.500
+3 18 21 22 0.500 0.500 0.500
+3 20 21 16 0.500 0.500 0.500
+3 17 22 19 0.500 0.500 0.500
+3 20 15 19 0.500 0.500 0.500
+3 22 21 20 0.500 0.500 0.500
+3 19 22 20 0.500 0.500 0.500
+3 23 9 14 0.500 0.500 0.500
+3 10 12 24 0.500 0.500 0.500
+3 25 12 13 0.500 0.500 0.500
+3 14 11 26 0.500 0.500 0.500
+3 27 11 9 0.500 0.500 0.500
+3 28 13 10 0.500 0.500 0.500
+3 25 24 12 0.500 0.500 0.500
+3 23 27 9 0.500 0.500 0.500
+3 23 14 26 0.500 0.500 0.500
+3 10 24 28 0.500 0.500 0.500
+3 27 26 11 0.500 0.500 0.500
+3 28 25 13 0.500 0.500 0.500
+3 28 24 29 0.500 0.500 0.500
+3 29 27 23 0.500 0.500 0.500
+3 23 26 30 0.500 0.500 0.500
+3 24 25 31 0.500 0.500 0.500
+3 26 27 31 0.500 0.500 0.500
+3 28 30 25 0.500 0.500 0.500
+3 24 31 29 0.500 0.500 0.500
+3 29 23 30 0.500 0.500 0.500
+3 31 27 29 0.500 0.500 0.500
+3 28 29 30 0.500 0.500 0.500
+3 30 31 25 0.500 0.500 0.500
+3 30 26 31 0.500 0.500 0.500
diff --git a/data/models/grenade/spoon.off b/data/models/grenade/spoon.off
new file mode 100644
index 0000000..cfd23ba
--- /dev/null
+++ b/data/models/grenade/spoon.off
@@ -0,0 +1,51 @@
+18 32 0
+-0.056 0.056 0.420
+-0.056 0.056 0.322
+-0.154 0.056 0.322
+-0.154 0.056 0.420
+-0.154 -0.028 0.322
+-0.056 -0.028 0.322
+-0.056 -0.070 0.420
+-0.056 -0.070 0.392
+-0.154 -0.070 0.392
+-0.154 -0.070 0.420
+-0.154 -0.140 0.336
+-0.056 -0.140 0.336
+-0.056 -0.154 0.350
+-0.154 -0.154 0.350
+-0.154 -0.140 -0.098
+-0.056 -0.140 -0.098
+-0.154 -0.154 -0.098
+-0.056 -0.154 -0.098
+3 0 1 2 0.460 0.460 0.460
+3 0 2 3 0.460 0.460 0.460
+3 4 2 1 0.460 0.460 0.460
+3 3 2 4 0.460 0.460 0.460
+3 5 1 0 0.460 0.460 0.460
+3 6 0 3 0.460 0.460 0.460
+3 5 4 1 0.460 0.460 0.460
+3 7 5 0 0.460 0.460 0.460
+3 3 4 8 0.460 0.460 0.460
+3 3 8 9 0.460 0.460 0.460
+3 6 7 0 0.460 0.460 0.460
+3 9 6 3 0.460 0.460 0.460
+3 8 4 5 0.460 0.460 0.460
+3 7 8 5 0.460 0.460 0.460
+3 10 8 7 0.460 0.460 0.460
+3 9 8 10 0.460 0.460 0.460
+3 6 11 7 0.460 0.460 0.460
+3 12 6 9 0.460 0.460 0.460
+3 10 7 11 0.460 0.460 0.460
+3 9 10 13 0.460 0.460 0.460
+3 12 11 6 0.460 0.460 0.460
+3 13 12 9 0.460 0.460 0.460
+3 10 11 14 0.460 0.460 0.460
+3 11 15 14 0.460 0.460 0.460
+3 10 14 16 0.460 0.460 0.460
+3 16 14 15 0.460 0.460 0.460
+3 11 17 15 0.460 0.460 0.460
+3 16 15 17 0.460 0.460 0.460
+3 12 17 11 0.460 0.460 0.460
+3 10 16 13 0.460 0.460 0.460
+3 13 16 17 0.460 0.460 0.460
+3 13 17 12 0.460 0.460 0.460
diff --git a/data/models/guns/assault-rifle.off b/data/models/guns/assault-rifle.off
new file mode 100644
index 0000000..a7c620f
--- /dev/null
+++ b/data/models/guns/assault-rifle.off
@@ -0,0 +1,219 @@
+81 137 0
+0.090 -0.340 -0.020
+0.090 -0.650 -0.130
+0.060 -0.660 -0.340
+-0.060 -0.660 -0.340
+-0.090 -0.650 -0.130
+-0.090 -0.340 -0.020
+-0.090 -0.020 -0.020
+0.090 -0.020 -0.020
+-0.000 -0.660 -0.370
+0.000 0.410 -0.370
+-0.060 0.410 -0.340
+0.060 0.410 -0.340
+0.090 0.130 0.400
+-0.090 0.120 0.400
+-0.080 0.140 -0.020
+-0.090 0.230 -0.080
+0.090 0.230 -0.080
+0.080 0.140 -0.020
+-0.090 0.300 0.260
+0.090 0.300 0.260
+0.000 0.170 -0.370
+-0.040 0.170 -0.330
+-0.040 0.170 -0.410
+0.040 0.170 -0.330
+0.040 0.170 -0.410
+-0.040 0.190 -0.410
+0.040 0.190 -0.410
+-0.040 0.230 -0.330
+0.040 0.230 -0.330
+0.000 0.230 -0.370
+-0.090 0.620 -0.080
+-0.070 0.680 -0.290
+0.070 0.680 -0.290
+0.090 0.620 -0.080
+-0.080 0.680 0.040
+0.090 0.680 0.040
+0.060 -1.780 -0.340
+0.110 -1.830 -0.120
+-0.110 -1.830 -0.120
+-0.000 -1.780 -0.080
+-0.090 -1.780 -0.330
+-0.060 -1.780 -0.340
+0.090 -1.780 -0.330
+-0.000 -1.780 -0.370
+-0.000 -1.710 -0.430
+-0.000 -1.720 -0.370
+-0.010 -1.710 -0.370
+0.010 -1.710 -0.370
+-0.090 -0.660 -0.330
+0.090 -0.660 -0.330
+0.110 -0.650 -0.120
+-0.110 -0.650 -0.120
+-0.000 -0.650 -0.080
+-0.100 1.580 0.240
+0.100 1.580 -0.290
+0.100 1.580 0.240
+-0.100 1.580 -0.290
+-0.000 -2.680 -0.260
+-0.000 -2.860 -0.260
+-0.050 -2.860 -0.200
+-0.000 -2.860 -0.150
+0.050 -2.860 -0.200
+-0.000 -2.680 -0.150
+-0.050 -2.680 -0.200
+0.050 -2.680 -0.200
+-0.000 -2.620 -0.160
+-0.000 -2.620 -0.240
+-0.030 -2.620 -0.200
+0.030 -2.620 -0.200
+-0.000 -1.480 -0.240
+-0.000 -1.480 -0.160
+-0.030 -1.480 -0.200
+0.030 -1.480 -0.200
+-0.060 -0.630 -0.160
+0.060 -0.630 0.380
+-0.060 -0.630 0.380
+0.060 -0.630 -0.160
+-0.060 -0.340 -0.160
+0.060 -0.340 0.420
+-0.060 -0.340 0.420
+0.060 -0.340 -0.160
+3 0 1 2 0.210 0.210 0.210
+3 3 4 5 0.210 0.210 0.210
+3 5 4 1 0.210 0.210 0.210
+3 5 1 0 0.210 0.210 0.210
+3 3 5 6 0.210 0.210 0.210
+3 7 0 2 0.210 0.210 0.210
+3 8 3 9 0.210 0.210 0.210
+3 9 2 8 0.210 0.210 0.210
+3 5 0 6 0.210 0.210 0.210
+3 6 0 7 0.210 0.210 0.210
+3 3 6 10 0.210 0.210 0.210
+3 11 7 2 0.210 0.210 0.210
+3 6 7 12 0.210 0.210 0.210
+3 9 3 10 0.210 0.210 0.210
+3 11 2 9 0.210 0.210 0.210
+3 6 12 13 0.210 0.210 0.210
+3 6 14 15 0.210 0.210 0.210
+3 16 17 7 0.210 0.210 0.210
+3 6 13 18 0.210 0.210 0.210
+3 19 12 7 0.210 0.210 0.210
+3 6 18 14 0.210 0.210 0.210
+3 19 7 17 0.210 0.210 0.210
+3 20 21 22 0.210 0.210 0.210
+3 23 21 20 0.210 0.210 0.210
+3 23 20 24 0.210 0.210 0.210
+3 15 14 17 0.210 0.210 0.210
+3 25 20 22 0.210 0.210 0.210
+3 20 26 24 0.210 0.210 0.210
+3 13 12 19 0.210 0.210 0.210
+3 22 21 27 0.210 0.210 0.210
+3 28 23 24 0.210 0.210 0.210
+3 19 17 14 0.210 0.210 0.210
+3 22 27 25 0.210 0.210 0.210
+3 25 29 20 0.210 0.210 0.210
+3 20 29 26 0.210 0.210 0.210
+3 26 28 24 0.210 0.210 0.210
+3 15 17 16 0.210 0.210 0.210
+3 6 15 10 0.210 0.210 0.210
+3 11 16 7 0.210 0.210 0.210
+3 25 27 29 0.210 0.210 0.210
+3 26 29 28 0.210 0.210 0.210
+3 29 27 28 0.210 0.210 0.210
+3 18 13 19 0.210 0.210 0.210
+3 19 14 18 0.210 0.210 0.210
+3 30 15 16 0.210 0.210 0.210
+3 10 11 9 0.210 0.210 0.210
+3 10 15 31 0.210 0.210 0.210
+3 11 32 16 0.210 0.210 0.210
+3 30 16 33 0.210 0.210 0.210
+3 32 11 10 0.210 0.210 0.210
+3 15 30 31 0.210 0.210 0.210
+3 32 33 16 0.210 0.210 0.210
+3 32 10 31 0.210 0.210 0.210
+3 30 33 34 0.210 0.210 0.210
+3 30 34 31 0.210 0.210 0.210
+3 34 33 35 0.210 0.210 0.210
+3 35 33 32 0.210 0.210 0.210
+3 36 37 38 0.140 0.137 0.137
+3 38 37 39 0.140 0.137 0.137
+3 40 41 38 0.140 0.137 0.137
+3 41 36 38 0.140 0.137 0.137
+3 36 42 37 0.140 0.137 0.137
+3 43 36 41 0.140 0.137 0.137
+3 44 45 46 0.140 0.137 0.137
+3 44 47 45 0.140 0.137 0.137
+3 46 47 44 0.140 0.137 0.137
+3 40 38 48 0.140 0.137 0.137
+3 49 37 42 0.140 0.137 0.137
+3 39 37 50 0.140 0.137 0.137
+3 51 38 39 0.140 0.137 0.137
+3 3 41 40 0.140 0.137 0.137
+3 43 41 8 0.140 0.137 0.137
+3 8 36 43 0.140 0.137 0.137
+3 42 36 2 0.140 0.137 0.137
+3 38 51 48 0.140 0.137 0.137
+3 49 50 37 0.140 0.137 0.137
+3 3 40 48 0.140 0.137 0.137
+3 8 41 3 0.140 0.137 0.137
+3 2 36 8 0.140 0.137 0.137
+3 49 42 2 0.140 0.137 0.137
+3 51 39 52 0.140 0.137 0.137
+3 52 39 50 0.140 0.137 0.137
+3 4 3 48 0.140 0.137 0.137
+3 1 49 2 0.140 0.137 0.137
+3 51 4 48 0.140 0.137 0.137
+3 1 50 49 0.140 0.137 0.137
+3 4 51 52 0.140 0.137 0.137
+3 4 52 1 0.140 0.137 0.137
+3 50 1 52 0.140 0.137 0.137
+3 34 53 31 0.140 0.137 0.137
+3 34 35 53 0.140 0.137 0.137
+3 31 54 32 0.140 0.137 0.137
+3 55 35 32 0.140 0.137 0.137
+3 53 56 31 0.140 0.137 0.137
+3 56 54 31 0.140 0.137 0.137
+3 53 35 55 0.140 0.137 0.137
+3 54 55 32 0.140 0.137 0.137
+3 53 55 56 0.140 0.137 0.137
+3 55 54 56 0.140 0.137 0.137
+3 57 58 59 0.090 0.085 0.085
+3 60 61 62 0.090 0.085 0.085
+3 57 61 58 0.090 0.085 0.085
+3 63 59 60 0.090 0.085 0.085
+3 57 59 63 0.090 0.085 0.085
+3 63 60 62 0.090 0.085 0.085
+3 61 64 62 0.090 0.085 0.085
+3 57 64 61 0.090 0.085 0.085
+3 63 62 65 0.090 0.085 0.085
+3 66 57 63 0.090 0.085 0.085
+3 64 65 62 0.090 0.085 0.085
+3 57 66 64 0.090 0.085 0.085
+3 67 63 65 0.090 0.085 0.085
+3 66 63 67 0.090 0.085 0.085
+3 64 68 65 0.090 0.085 0.085
+3 66 68 64 0.090 0.085 0.085
+3 69 66 67 0.090 0.085 0.085
+3 67 65 70 0.090 0.085 0.085
+3 69 68 66 0.090 0.085 0.085
+3 65 68 70 0.090 0.085 0.085
+3 69 67 71 0.090 0.085 0.085
+3 71 67 70 0.090 0.085 0.085
+3 69 72 68 0.090 0.085 0.085
+3 68 72 70 0.090 0.085 0.085
+3 73 74 75 0.090 0.085 0.085
+3 76 74 73 0.090 0.085 0.085
+3 73 75 77 0.090 0.085 0.085
+3 77 76 73 0.090 0.085 0.085
+3 78 75 74 0.090 0.085 0.085
+3 78 74 76 0.090 0.085 0.085
+3 77 75 79 0.090 0.085 0.085
+3 79 75 78 0.090 0.085 0.085
+3 80 76 77 0.090 0.085 0.085
+3 78 76 80 0.090 0.085 0.085
+3 80 77 79 0.090 0.085 0.085
+3 78 80 79 0.090 0.085 0.085
+3 58 61 60 0.000 0.000 0.000
+3 58 60 59 0.000 0.000 0.000
diff --git a/data/models/guns/handgun-big-base.off b/data/models/guns/handgun-big-base.off
new file mode 100644
index 0000000..d6facfb
--- /dev/null
+++ b/data/models/guns/handgun-big-base.off
@@ -0,0 +1,124 @@
+48 75 0
+0.070 0.854 0.168
+0.070 0.854 0.294
+0.070 0.714 0.126
+-0.070 0.714 0.126
+-0.070 0.854 0.294
+-0.070 0.854 0.168
+-0.000 0.798 0.364
+0.014 0.700 0.294
+-0.000 0.812 0.294
+-0.014 0.700 0.294
+-0.070 0.714 0.070
+0.070 0.714 0.070
+0.070 0.028 0.294
+-0.070 0.028 0.210
+0.070 0.028 0.210
+-0.070 0.000 0.070
+-0.070 0.028 0.294
+0.070 0.000 0.070
+0.070 -0.182 0.210
+-0.070 -0.182 0.210
+-0.070 -0.322 0.294
+0.070 -0.322 0.294
+0.070 -0.182 0.294
+-0.070 -0.182 0.294
+-0.070 -0.294 0.084
+0.070 -0.294 0.084
+-0.070 -0.378 0.126
+0.070 -0.378 0.126
+0.084 -0.042 0.056
+0.084 -0.182 -0.420
+-0.084 -0.042 0.056
+0.084 -0.252 0.070
+-0.084 -0.182 -0.420
+-0.084 -0.252 0.070
+0.084 -0.434 -0.406
+-0.084 -0.434 -0.406
+-0.056 0.840 0.196
+0.056 0.840 0.070
+-0.056 0.840 0.070
+0.056 0.840 0.196
+-0.056 0.672 0.070
+0.056 0.672 0.070
+-0.056 0.672 0.196
+0.056 0.672 0.196
+-0.070 -0.140 -0.434
+0.070 -0.140 -0.434
+-0.070 -0.462 -0.420
+0.070 -0.462 -0.420
+3 0 1 2 0.174 0.174 0.174
+3 3 4 5 0.174 0.174 0.174
+3 0 3 5 0.174 0.174 0.174
+3 6 7 8 0.174 0.174 0.174
+3 6 8 9 0.174 0.174 0.174
+3 2 3 0 0.174 0.174 0.174
+3 9 7 6 0.174 0.174 0.174
+3 2 10 3 0.174 0.174 0.174
+3 11 10 2 0.174 0.174 0.174
+3 1 4 12 0.174 0.174 0.174
+3 13 4 3 0.174 0.174 0.174
+3 1 14 2 0.174 0.174 0.174
+3 13 3 10 0.174 0.174 0.174
+3 2 14 11 0.174 0.174 0.174
+3 11 15 10 0.174 0.174 0.174
+3 4 13 16 0.174 0.174 0.174
+3 12 4 16 0.174 0.174 0.174
+3 12 14 1 0.174 0.174 0.174
+3 15 13 10 0.174 0.174 0.174
+3 11 14 17 0.174 0.174 0.174
+3 17 15 11 0.174 0.174 0.174
+3 14 16 13 0.174 0.174 0.174
+3 12 16 14 0.174 0.174 0.174
+3 14 13 18 0.174 0.174 0.174
+3 13 15 19 0.174 0.174 0.174
+3 14 18 17 0.174 0.174 0.174
+3 18 13 19 0.174 0.174 0.174
+3 19 15 20 0.174 0.174 0.174
+3 18 21 17 0.174 0.174 0.174
+3 18 19 22 0.174 0.174 0.174
+3 22 19 23 0.174 0.174 0.174
+3 20 15 24 0.174 0.174 0.174
+3 25 17 21 0.174 0.174 0.174
+3 19 20 23 0.174 0.174 0.174
+3 22 21 18 0.174 0.174 0.174
+3 22 23 21 0.174 0.174 0.174
+3 21 23 20 0.174 0.174 0.174
+3 25 26 24 0.174 0.174 0.174
+3 20 24 26 0.174 0.174 0.174
+3 27 25 21 0.174 0.174 0.174
+3 21 20 27 0.174 0.174 0.174
+3 27 26 25 0.174 0.174 0.174
+3 27 20 26 0.174 0.174 0.174
+3 0 5 1 0.000 0.000 0.000
+3 1 5 4 0.000 0.000 0.000
+3 28 29 30 0.216 0.098 0.002
+3 31 28 30 0.216 0.098 0.002
+3 30 29 32 0.216 0.098 0.002
+3 33 30 32 0.216 0.098 0.002
+3 31 30 33 0.216 0.098 0.002
+3 29 28 34 0.216 0.098 0.002
+3 34 28 31 0.216 0.098 0.002
+3 35 32 29 0.216 0.098 0.002
+3 33 32 35 0.216 0.098 0.002
+3 33 34 31 0.216 0.098 0.002
+3 35 29 34 0.216 0.098 0.002
+3 35 34 33 0.216 0.098 0.002
+3 36 37 38 0.150 0.150 0.150
+3 39 37 36 0.150 0.150 0.150
+3 40 38 37 0.150 0.150 0.150
+3 37 39 41 0.150 0.150 0.150
+3 42 36 38 0.150 0.150 0.150
+3 40 37 41 0.150 0.150 0.150
+3 42 38 40 0.150 0.150 0.150
+3 41 39 43 0.150 0.150 0.150
+3 17 44 15 0.150 0.150 0.150
+3 45 44 17 0.150 0.150 0.150
+3 44 46 15 0.150 0.150 0.150
+3 17 47 45 0.150 0.150 0.150
+3 45 46 44 0.150 0.150 0.150
+3 24 15 46 0.150 0.150 0.150
+3 47 17 25 0.150 0.150 0.150
+3 25 24 47 0.150 0.150 0.150
+3 47 46 45 0.150 0.150 0.150
+3 47 24 46 0.150 0.150 0.150
diff --git a/data/models/guns/handgun-big-slide.off b/data/models/guns/handgun-big-slide.off
new file mode 100644
index 0000000..d22a199
--- /dev/null
+++ b/data/models/guns/handgun-big-slide.off
@@ -0,0 +1,81 @@
+30 50 0
+0.098 0.630 0.308
+-0.084 0.630 0.140
+-0.084 0.630 0.308
+0.098 0.630 0.140
+0.098 0.308 0.308
+0.098 0.308 0.224
+-0.084 0.308 0.224
+-0.084 0.308 0.308
+-0.084 -0.056 0.084
+0.098 -0.056 0.084
+0.098 0.084 0.224
+-0.084 0.084 0.224
+0.098 0.084 0.308
+-0.084 0.084 0.308
+0.098 -0.378 0.322
+-0.084 -0.378 0.322
+-0.084 -0.350 0.112
+0.056 -0.168 0.294
+0.000 -0.168 0.322
+0.056 -0.168 0.350
+-0.056 -0.168 0.294
+-0.056 -0.168 0.350
+0.056 -0.210 0.350
+-0.056 -0.210 0.350
+0.056 -0.266 0.294
+-0.056 -0.266 0.294
+0.000 -0.266 0.322
+0.098 -0.350 0.112
+-0.084 -0.434 0.140
+0.098 -0.434 0.140
+3 0 1 2 0.144 0.144 0.144
+3 3 1 0 0.144 0.144 0.144
+3 0 2 4 0.144 0.144 0.144
+3 0 5 3 0.144 0.144 0.144
+3 6 2 1 0.144 0.144 0.144
+3 4 5 0 0.144 0.144 0.144
+3 4 2 7 0.144 0.144 0.144
+3 2 6 7 0.144 0.144 0.144
+3 3 8 1 0.144 0.144 0.144
+3 4 7 5 0.144 0.144 0.144
+3 5 7 6 0.144 0.144 0.144
+3 3 5 9 0.144 0.144 0.144
+3 8 6 1 0.144 0.144 0.144
+3 5 6 10 0.144 0.144 0.144
+3 9 8 3 0.144 0.144 0.144
+3 10 6 11 0.144 0.144 0.144
+3 5 10 9 0.144 0.144 0.144
+3 6 8 11 0.144 0.144 0.144
+3 10 11 12 0.144 0.144 0.144
+3 12 11 13 0.144 0.144 0.144
+3 12 14 10 0.144 0.144 0.144
+3 11 15 13 0.144 0.144 0.144
+3 12 13 14 0.144 0.144 0.144
+3 10 14 9 0.144 0.144 0.144
+3 11 8 15 0.144 0.144 0.144
+3 9 16 8 0.144 0.144 0.144
+3 17 18 19 0.144 0.144 0.144
+3 17 20 18 0.144 0.144 0.144
+3 18 20 21 0.144 0.144 0.144
+3 18 22 19 0.144 0.144 0.144
+3 23 18 21 0.144 0.144 0.144
+3 24 17 19 0.144 0.144 0.144
+3 21 20 25 0.144 0.144 0.144
+3 22 24 19 0.144 0.144 0.144
+3 18 26 22 0.144 0.144 0.144
+3 23 26 18 0.144 0.144 0.144
+3 21 25 23 0.144 0.144 0.144
+3 14 13 15 0.144 0.144 0.144
+3 22 26 24 0.144 0.144 0.144
+3 23 25 26 0.144 0.144 0.144
+3 27 16 9 0.144 0.144 0.144
+3 27 9 14 0.144 0.144 0.144
+3 15 8 16 0.144 0.144 0.144
+3 26 25 24 0.144 0.144 0.144
+3 27 28 16 0.144 0.144 0.144
+3 29 27 14 0.144 0.144 0.144
+3 15 16 28 0.144 0.144 0.144
+3 14 15 29 0.144 0.144 0.144
+3 29 28 27 0.144 0.144 0.144
+3 29 15 28 0.144 0.144 0.144
diff --git a/data/models/guns/handgun-small-base.off b/data/models/guns/handgun-small-base.off
new file mode 100644
index 0000000..2d463ed
--- /dev/null
+++ b/data/models/guns/handgun-small-base.off
@@ -0,0 +1,240 @@
+89 150 0
+-0.000 0.700 0.112
+0.014 0.700 0.126
+-0.000 0.700 0.140
+-0.014 0.700 0.126
+0.028 0.700 0.126
+-0.000 0.700 0.154
+-0.042 0.700 0.168
+0.056 0.700 0.168
+0.056 0.700 0.084
+-0.042 0.700 0.084
+0.056 0.406 0.168
+0.056 0.406 0.084
+-0.042 0.406 0.168
+-0.042 0.406 0.084
+0.070 0.364 0.168
+0.070 0.364 0.084
+-0.056 0.364 0.168
+-0.056 0.364 0.084
+0.042 0.714 0.252
+0.042 -0.294 0.196
+0.042 0.714 0.196
+-0.000 0.714 0.266
+0.042 -0.294 0.252
+-0.000 0.714 0.182
+0.000 -0.294 0.182
+-0.042 0.714 0.196
+-0.042 -0.294 0.252
+-0.042 0.714 0.252
+-0.042 -0.294 0.196
+0.070 0.084 0.168
+0.070 0.084 0.070
+-0.056 0.084 0.168
+-0.028 0.238 0.084
+0.042 0.238 0.084
+-0.014 0.196 0.042
+0.014 0.196 0.042
+0.042 0.154 0.084
+0.014 0.196 -0.070
+-0.014 0.196 -0.070
+-0.028 0.154 0.084
+0.014 0.168 0.042
+-0.014 0.168 0.042
+-0.056 0.084 0.070
+0.014 0.168 -0.042
+-0.014 0.168 -0.042
+-0.014 -0.028 -0.070
+0.014 -0.028 -0.070
+-0.014 -0.028 -0.042
+0.000 -0.294 0.266
+0.000 -0.056 0.042
+0.014 0.042 -0.028
+-0.000 0.042 -0.028
+-0.000 0.014 0.014
+0.070 -0.070 0.070
+-0.056 -0.070 0.070
+0.014 -0.028 -0.042
+0.014 0.000 -0.000
+0.014 0.014 0.014
+0.000 -0.000 0.000
+0.014 0.014 0.070
+-0.000 0.014 0.070
+0.014 -0.028 0.056
+0.000 -0.028 0.056
+-0.056 -0.322 0.168
+-0.014 -0.084 -0.014
+0.014 -0.084 -0.112
+-0.014 -0.084 -0.112
+0.014 -0.084 -0.014
+0.070 -0.322 0.168
+0.070 -0.252 0.084
+-0.056 -0.252 0.084
+0.000 -0.294 0.084
+0.070 -0.322 0.140
+-0.056 -0.322 0.140
+0.000 -0.336 0.140
+0.056 -0.364 0.154
+-0.042 -0.364 0.154
+0.000 -0.098 -0.294
+0.084 -0.140 -0.294
+-0.070 -0.140 -0.294
+0.000 -0.140 -0.350
+0.056 -0.154 -0.350
+-0.042 -0.154 -0.350
+0.084 -0.406 -0.294
+-0.070 -0.406 -0.294
+0.070 -0.392 -0.350
+-0.070 -0.392 -0.350
+0.000 -0.448 -0.294
+0.000 -0.448 -0.350
+3 0 1 2 0.204 0.204 0.204
+3 3 0 2 0.204 0.204 0.204
+3 0 3 3 0.204 0.204 0.204
+3 3 3 2 0.204 0.204 0.204
+3 1 4 2 0.204 0.204 0.204
+3 0 4 1 0.204 0.204 0.204
+3 0 0 4 0.204 0.204 0.204
+3 2 4 5 0.204 0.204 0.204
+3 0 0 3 0.204 0.204 0.204
+3 3 2 5 0.204 0.204 0.204
+3 6 7 8 0.204 0.204 0.204
+3 6 8 9 0.204 0.204 0.204
+3 10 8 7 0.204 0.204 0.204
+3 9 8 11 0.204 0.204 0.204
+3 7 6 12 0.204 0.204 0.204
+3 6 9 12 0.204 0.204 0.204
+3 9 13 12 0.204 0.204 0.204
+3 11 8 10 0.204 0.204 0.204
+3 10 7 12 0.204 0.204 0.204
+3 13 9 11 0.204 0.204 0.204
+3 14 11 10 0.204 0.204 0.204
+3 13 11 15 0.204 0.204 0.204
+3 10 12 16 0.204 0.204 0.204
+3 12 13 16 0.204 0.204 0.204
+3 14 10 16 0.204 0.204 0.204
+3 17 13 15 0.204 0.204 0.204
+3 16 13 17 0.204 0.204 0.204
+3 14 15 11 0.204 0.204 0.204
+3 18 19 20 0.204 0.204 0.204
+3 21 22 18 0.204 0.204 0.204
+3 23 20 24 0.204 0.204 0.204
+3 25 23 24 0.204 0.204 0.204
+3 26 21 27 0.204 0.204 0.204
+3 27 25 28 0.204 0.204 0.204
+3 29 15 14 0.204 0.204 0.204
+3 17 15 30 0.204 0.204 0.204
+3 14 16 31 0.204 0.204 0.204
+3 16 17 31 0.204 0.204 0.204
+3 32 33 34 0.204 0.204 0.204
+3 34 33 35 0.204 0.204 0.204
+3 36 35 33 0.204 0.204 0.204
+3 35 37 38 0.204 0.204 0.204
+3 34 35 38 0.204 0.204 0.204
+3 32 34 39 0.204 0.204 0.204
+3 40 37 35 0.204 0.204 0.204
+3 34 38 41 0.204 0.204 0.204
+3 29 30 15 0.204 0.204 0.204
+3 29 14 31 0.204 0.204 0.204
+3 42 17 30 0.204 0.204 0.204
+3 17 42 31 0.204 0.204 0.204
+3 43 37 40 0.204 0.204 0.204
+3 41 38 44 0.204 0.204 0.204
+3 36 40 35 0.204 0.204 0.204
+3 39 34 41 0.204 0.204 0.204
+3 44 40 41 0.204 0.204 0.204
+3 40 36 41 0.204 0.204 0.204
+3 44 43 40 0.204 0.204 0.204
+3 41 36 39 0.204 0.204 0.204
+3 45 38 37 0.204 0.204 0.204
+3 43 46 37 0.204 0.204 0.204
+3 38 45 44 0.204 0.204 0.204
+3 43 44 47 0.204 0.204 0.204
+3 45 37 46 0.204 0.204 0.204
+3 22 19 18 0.204 0.204 0.204
+3 20 19 24 0.204 0.204 0.204
+3 48 22 21 0.204 0.204 0.204
+3 48 21 26 0.204 0.204 0.204
+3 25 24 28 0.204 0.204 0.204
+3 26 27 28 0.204 0.204 0.204
+3 49 42 30 0.204 0.204 0.204
+3 50 51 52 0.204 0.204 0.204
+3 53 30 29 0.204 0.204 0.204
+3 31 42 54 0.204 0.204 0.204
+3 55 46 43 0.204 0.204 0.204
+3 55 43 47 0.204 0.204 0.204
+3 47 44 45 0.204 0.204 0.204
+3 50 56 51 0.204 0.204 0.204
+3 57 50 52 0.204 0.204 0.204
+3 57 56 50 0.204 0.204 0.204
+3 52 51 58 0.204 0.204 0.204
+3 59 57 60 0.204 0.204 0.204
+3 57 52 60 0.204 0.204 0.204
+3 56 58 51 0.204 0.204 0.204
+3 59 56 57 0.204 0.204 0.204
+3 52 58 60 0.204 0.204 0.204
+3 61 56 59 0.204 0.204 0.204
+3 60 58 62 0.204 0.204 0.204
+3 49 30 53 0.204 0.204 0.204
+3 54 42 49 0.204 0.204 0.204
+3 61 58 56 0.204 0.204 0.204
+3 62 58 61 0.204 0.204 0.204
+3 63 29 31 0.204 0.204 0.204
+3 55 47 64 0.204 0.204 0.204
+3 65 46 55 0.204 0.204 0.204
+3 66 45 46 0.204 0.204 0.204
+3 47 45 66 0.204 0.204 0.204
+3 67 55 64 0.204 0.204 0.204
+3 67 65 55 0.204 0.204 0.204
+3 47 66 64 0.204 0.204 0.204
+3 66 46 65 0.204 0.204 0.204
+3 68 53 29 0.204 0.204 0.204
+3 31 54 63 0.204 0.204 0.204
+3 68 29 63 0.204 0.204 0.204
+3 68 69 53 0.204 0.204 0.204
+3 54 70 63 0.204 0.204 0.204
+3 71 69 72 0.204 0.204 0.204
+3 70 71 73 0.204 0.204 0.204
+3 72 69 68 0.204 0.204 0.204
+3 63 70 73 0.204 0.204 0.204
+3 71 72 74 0.204 0.204 0.204
+3 71 74 73 0.204 0.204 0.204
+3 75 72 68 0.204 0.204 0.204
+3 75 68 63 0.204 0.204 0.204
+3 73 76 63 0.204 0.204 0.204
+3 74 72 75 0.204 0.204 0.204
+3 73 74 76 0.204 0.204 0.204
+3 76 75 63 0.204 0.204 0.204
+3 76 74 75 0.204 0.204 0.204
+3 54 49 77 0.144 0.137 0.135
+3 49 53 77 0.144 0.137 0.135
+3 53 78 77 0.144 0.137 0.135
+3 54 77 79 0.144 0.137 0.135
+3 77 78 80 0.144 0.137 0.135
+3 79 77 80 0.144 0.137 0.135
+3 80 78 81 0.144 0.137 0.135
+3 79 80 82 0.144 0.137 0.135
+3 82 80 81 0.144 0.137 0.135
+3 83 78 53 0.144 0.137 0.135
+3 54 79 84 0.144 0.137 0.135
+3 85 81 78 0.144 0.137 0.135
+3 79 82 86 0.144 0.137 0.135
+3 86 82 81 0.144 0.137 0.135
+3 69 83 53 0.144 0.137 0.135
+3 54 84 70 0.144 0.137 0.135
+3 83 85 78 0.144 0.137 0.135
+3 79 86 84 0.144 0.137 0.135
+3 86 81 85 0.144 0.137 0.135
+3 71 87 69 0.144 0.137 0.135
+3 70 87 71 0.144 0.137 0.135
+3 87 83 69 0.144 0.137 0.135
+3 84 87 70 0.144 0.137 0.135
+3 88 86 85 0.144 0.137 0.135
+3 88 85 83 0.144 0.137 0.135
+3 86 88 84 0.144 0.137 0.135
+3 88 83 87 0.144 0.137 0.135
+3 84 88 87 0.144 0.137 0.135
+3 27 18 25 0.000 0.000 0.000
+3 18 20 25 0.000 0.000 0.000
+3 21 18 27 0.000 0.000 0.000
+3 25 20 23 0.000 0.000 0.000
diff --git a/data/models/guns/handgun-small-slide.off b/data/models/guns/handgun-small-slide.off
new file mode 100644
index 0000000..bbff9eb
--- /dev/null
+++ b/data/models/guns/handgun-small-slide.off
@@ -0,0 +1,101 @@
+42 58 0
+-0.070 0.700 0.280
+0.070 0.700 0.168
+-0.070 0.700 0.168
+0.070 0.700 0.280
+-0.042 0.700 0.294
+0.042 0.700 0.294
+-0.000 0.658 0.322
+-0.000 0.658 0.280
+-0.014 0.658 0.280
+-0.000 0.602 0.322
+-0.000 0.588 0.280
+-0.014 0.588 0.280
+0.056 0.700 0.168
+-0.056 0.700 0.168
+-0.056 0.406 0.168
+0.056 0.406 0.168
+-0.070 0.364 0.168
+0.070 0.364 0.168
+0.070 -0.294 0.280
+0.042 -0.294 0.294
+0.070 -0.294 0.168
+-0.042 -0.294 0.294
+-0.070 -0.294 0.280
+-0.070 0.084 0.168
+0.070 0.084 0.168
+-0.070 -0.294 0.168
+0.000 -0.238 0.294
+0.028 -0.238 0.322
+0.042 -0.238 0.294
+-0.042 -0.238 0.294
+-0.028 -0.238 0.322
+0.028 -0.266 0.322
+0.000 -0.266 0.294
+-0.028 -0.266 0.322
+0.042 -0.266 0.294
+-0.042 -0.266 0.294
+0.056 -0.308 0.266
+0.028 -0.308 0.280
+0.056 -0.308 0.168
+-0.028 -0.308 0.280
+-0.056 -0.308 0.266
+-0.056 -0.308 0.168
+3 0 1 2 0.168 0.168 0.168
+3 0 3 1 0.168 0.168 0.168
+3 4 5 3 0.168 0.168 0.168
+3 4 3 0 0.168 0.168 0.168
+3 6 7 8 0.168 0.168 0.168
+3 9 7 6 0.168 0.168 0.168
+3 8 9 6 0.168 0.168 0.168
+3 9 10 7 0.168 0.168 0.168
+3 8 11 9 0.168 0.168 0.168
+3 12 13 14 0.168 0.168 0.168
+3 11 10 9 0.168 0.168 0.168
+3 15 12 14 0.168 0.168 0.168
+3 15 14 16 0.168 0.168 0.168
+3 17 15 16 0.168 0.168 0.168
+3 18 1 3 0.168 0.168 0.168
+3 3 5 19 0.168 0.168 0.168
+3 1 20 2 0.168 0.168 0.168
+3 5 4 21 0.168 0.168 0.168
+3 4 0 22 0.168 0.168 0.168
+3 0 2 22 0.168 0.168 0.168
+3 17 16 23 0.168 0.168 0.168
+3 24 17 23 0.168 0.168 0.168
+3 18 20 1 0.168 0.168 0.168
+3 18 3 19 0.168 0.168 0.168
+3 19 5 21 0.168 0.168 0.168
+3 2 20 25 0.168 0.168 0.168
+3 21 4 22 0.168 0.168 0.168
+3 2 25 22 0.168 0.168 0.168
+3 26 27 28 0.168 0.168 0.168
+3 26 28 29 0.168 0.168 0.168
+3 30 26 29 0.168 0.168 0.168
+3 31 28 27 0.168 0.168 0.168
+3 27 26 32 0.168 0.168 0.168
+3 32 26 30 0.168 0.168 0.168
+3 30 29 33 0.168 0.168 0.168
+3 31 34 28 0.168 0.168 0.168
+3 27 32 31 0.168 0.168 0.168
+3 33 32 30 0.168 0.168 0.168
+3 29 35 33 0.168 0.168 0.168
+3 32 34 31 0.168 0.168 0.168
+3 35 34 32 0.168 0.168 0.168
+3 35 32 33 0.168 0.168 0.168
+3 36 20 18 0.168 0.168 0.168
+3 37 18 19 0.168 0.168 0.168
+3 25 20 38 0.168 0.168 0.168
+3 19 21 39 0.168 0.168 0.168
+3 21 22 39 0.168 0.168 0.168
+3 22 25 40 0.168 0.168 0.168
+3 36 38 20 0.168 0.168 0.168
+3 36 18 37 0.168 0.168 0.168
+3 37 19 39 0.168 0.168 0.168
+3 41 25 38 0.168 0.168 0.168
+3 22 40 39 0.168 0.168 0.168
+3 25 41 40 0.168 0.168 0.168
+3 41 38 36 0.168 0.168 0.168
+3 36 37 40 0.168 0.168 0.168
+3 41 36 40 0.168 0.168 0.168
+3 40 37 39 0.168 0.168 0.168
diff --git a/data/models/guns/shotgun.off b/data/models/guns/shotgun.off
new file mode 100644
index 0000000..2d977e2
--- /dev/null
+++ b/data/models/guns/shotgun.off
@@ -0,0 +1,539 @@
+204 334 0
+-0.013 -2.573 -0.313
+-0.013 -2.593 -0.283
+-0.013 -2.632 -0.283
+-0.023 -2.632 -0.283
+-0.023 -2.593 -0.283
+-0.023 -2.573 -0.313
+-0.013 -2.514 -0.382
+-0.023 -2.514 -0.382
+-0.023 -2.504 -0.313
+-0.013 -2.504 -0.313
+-0.010 -2.444 -0.264
+-0.025 -2.444 -0.264
+0.006 -0.722 -0.204
+0.006 -2.672 -0.204
+0.021 -2.672 -0.248
+0.021 -0.722 -0.248
+-0.018 -2.672 -0.283
+-0.042 -0.722 -0.204
+-0.042 -2.672 -0.204
+-0.058 -2.672 -0.248
+-0.018 -0.722 -0.283
+-0.058 -0.722 -0.248
+0.011 -0.722 -0.066
+0.011 -2.476 -0.066
+0.026 -2.476 -0.115
+0.026 -0.722 -0.115
+-0.018 -2.476 -0.155
+-0.048 -0.722 -0.066
+-0.048 -2.476 -0.066
+-0.062 -2.476 -0.115
+-0.018 -0.722 -0.155
+-0.062 -0.722 -0.115
+0.040 -1.660 -0.066
+-0.077 -1.660 -0.145
+0.040 -1.660 -0.145
+-0.048 -1.660 -0.194
+0.011 -1.660 -0.194
+0.011 -1.660 -0.026
+-0.077 -1.660 -0.066
+-0.048 -1.660 -0.026
+0.050 -1.554 -0.155
+0.050 -1.554 -0.056
+0.021 -1.554 -0.204
+0.021 -1.554 -0.006
+-0.058 -1.554 -0.204
+-0.058 -1.554 -0.006
+-0.087 -1.554 -0.155
+-0.087 -1.554 -0.056
+0.050 -0.716 -0.156
+0.051 -0.716 -0.056
+0.022 -0.716 -0.204
+0.022 -0.716 -0.006
+-0.057 -0.716 -0.204
+-0.057 -0.716 -0.006
+-0.086 -0.716 -0.155
+-0.086 -0.716 -0.056
+0.051 -0.722 -0.283
+-0.068 -0.722 -0.303
+0.031 -0.722 -0.303
+-0.087 -0.722 -0.283
+-0.010 -0.702 -0.349
+-0.010 -0.702 -0.293
+-0.025 -0.702 -0.349
+-0.025 -0.702 -0.293
+-0.010 -0.138 -0.349
+-0.025 -0.138 -0.293
+0.051 0.158 -0.283
+0.032 0.158 -0.303
+-0.086 0.158 -0.283
+-0.010 -0.138 -0.293
+-0.025 -0.138 -0.349
+-0.007 -0.176 -0.036
+-0.007 -0.058 0.072
+-0.027 -0.176 -0.036
+-0.067 0.158 -0.303
+-0.047 -0.117 -0.303
+0.012 -0.108 -0.353
+0.012 -0.117 -0.303
+-0.047 -0.108 -0.353
+-0.007 -0.058 -0.036
+-0.007 -0.088 0.003
+-0.027 -0.088 0.003
+-0.027 -0.058 -0.036
+-0.007 -0.049 0.052
+-0.027 -0.049 0.052
+-0.027 -0.058 0.072
+0.012 -0.028 -0.353
+-0.047 -0.028 -0.353
+0.004 -0.028 -0.353
+-0.041 -0.028 -0.353
+-0.007 0.080 0.062
+-0.027 0.080 0.062
+0.012 0.120 -0.303
+-0.047 0.120 -0.303
+-0.007 0.109 0.082
+0.005 0.049 -0.402
+-0.040 0.050 -0.402
+0.005 0.090 -0.343
+-0.011 0.031 0.003
+-0.011 0.010 0.042
+-0.025 0.010 0.042
+-0.011 0.010 -0.046
+-0.025 0.031 0.003
+-0.025 0.010 -0.046
+-0.025 0.050 0.013
+0.012 0.049 -0.402
+-0.047 0.050 -0.402
+-0.011 0.041 -0.046
+-0.025 0.041 -0.046
+-0.011 0.049 0.013
+-0.040 0.090 -0.343
+-0.027 0.109 0.082
+-0.007 0.070 -0.036
+-0.027 0.099 0.022
+-0.027 0.070 -0.036
+-0.007 0.099 0.022
+-0.007 0.109 -0.036
+-0.027 0.109 -0.036
+0.051 0.109 -0.036
+-0.017 0.169 0.102
+-0.086 0.109 -0.036
+-0.007 0.189 0.092
+-0.027 0.189 0.092
+0.051 0.193 0.102
+-0.086 0.193 0.102
+0.051 0.307 -0.184
+-0.086 0.307 -0.184
+0.032 0.328 -0.204
+-0.017 0.292 0.339
+0.051 0.367 0.082
+-0.086 0.367 0.082
+-0.086 0.332 0.339
+-0.068 0.387 -0.175
+-0.068 0.158 -0.313
+0.032 0.158 -0.313
+-0.067 0.328 -0.204
+0.051 0.332 0.339
+0.051 0.426 0.013
+-0.086 0.426 0.013
+0.032 0.387 -0.175
+0.032 0.436 -0.214
+-0.068 0.436 -0.214
+-0.086 0.504 0.339
+0.051 0.504 0.339
+0.032 0.516 -0.184
+-0.068 0.516 -0.184
+0.032 0.506 0.013
+-0.067 0.506 0.013
+0.006 0.158 -0.323
+0.032 0.842 -0.264
+-0.042 0.158 -0.323
+0.006 0.842 -0.274
+-0.042 0.842 -0.274
+-0.017 0.387 0.092
+-0.017 0.516 0.339
+0.032 0.842 -0.145
+-0.068 0.842 -0.145
+-0.068 0.535 -0.076
+0.032 0.535 -0.076
+0.032 0.734 -0.036
+-0.068 0.734 -0.036
+-0.068 0.842 -0.264
+0.026 0.743 -0.036
+-0.062 0.743 -0.036
+-0.055 0.852 -0.145
+0.019 0.852 -0.145
+0.019 0.852 -0.254
+0.006 0.852 -0.264
+-0.055 0.852 -0.254
+-0.042 0.852 -0.264
+0.016 -2.653 -0.056
+-0.072 -2.653 -0.121
+0.036 -2.653 -0.121
+-0.018 -2.653 -0.170
+-0.052 -2.653 -0.056
+0.016 -2.486 -0.056
+0.036 -2.486 -0.121
+-0.052 -2.486 -0.056
+-0.018 -2.486 -0.170
+-0.072 -2.486 -0.121
+0.051 -0.722 -0.036
+-0.087 -0.722 -0.036
+0.006 0.297 -0.065
+0.026 0.297 -0.114
+0.026 0.931 0.042
+-0.017 0.297 -0.154
+-0.017 0.931 0.003
+0.006 0.931 0.082
+-0.042 0.297 -0.065
+-0.062 0.297 -0.114
+-0.062 0.931 0.042
+-0.042 0.931 0.082
+-0.017 0.921 0.230
+-0.076 0.921 0.171
+0.041 0.921 0.171
+-0.076 0.931 -0.155
+0.041 0.931 -0.155
+-0.017 0.931 -0.224
+-0.017 1.060 0.300
+0.041 1.060 0.250
+-0.076 1.060 0.250
+0.041 1.070 -0.155
+-0.076 1.070 -0.155
+-0.017 1.070 -0.224
+3 0 1 2 0.210 0.210 0.210
+3 3 4 5 0.210 0.210 0.210
+3 3 6 2 0.210 0.210 0.210
+3 1 5 4 0.210 0.210 0.210
+3 0 5 1 0.210 0.210 0.210
+3 6 0 2 0.210 0.210 0.210
+3 3 5 7 0.210 0.210 0.210
+3 3 7 6 0.210 0.210 0.210
+3 0 8 5 0.210 0.210 0.210
+3 6 9 0 0.210 0.210 0.210
+3 5 8 7 0.210 0.210 0.210
+3 0 9 8 0.210 0.210 0.210
+3 7 10 6 0.210 0.210 0.210
+3 10 9 6 0.210 0.210 0.210
+3 7 8 11 0.210 0.210 0.210
+3 9 11 8 0.210 0.210 0.210
+3 7 11 10 0.210 0.210 0.210
+3 10 11 9 0.210 0.210 0.210
+3 12 13 14 0.210 0.210 0.210
+3 15 14 16 0.210 0.210 0.210
+3 17 18 13 0.210 0.210 0.210
+3 16 19 20 0.210 0.210 0.210
+3 18 21 19 0.210 0.210 0.210
+3 22 23 24 0.210 0.210 0.210
+3 25 24 26 0.210 0.210 0.210
+3 27 28 23 0.210 0.210 0.210
+3 26 29 30 0.210 0.210 0.210
+3 28 31 29 0.210 0.210 0.210
+3 32 33 34 0.210 0.210 0.210
+3 34 35 36 0.210 0.210 0.210
+3 37 38 32 0.210 0.210 0.210
+3 33 35 34 0.210 0.210 0.210
+3 37 39 38 0.210 0.210 0.210
+3 38 33 32 0.210 0.210 0.210
+3 40 32 34 0.210 0.210 0.210
+3 41 37 32 0.210 0.210 0.210
+3 42 34 36 0.210 0.210 0.210
+3 37 43 39 0.210 0.210 0.210
+3 35 44 36 0.210 0.210 0.210
+3 39 45 38 0.210 0.210 0.210
+3 35 33 46 0.210 0.210 0.210
+3 33 38 47 0.210 0.210 0.210
+3 40 41 32 0.210 0.210 0.210
+3 42 40 34 0.210 0.210 0.210
+3 41 43 37 0.210 0.210 0.210
+3 44 42 36 0.210 0.210 0.210
+3 39 43 45 0.210 0.210 0.210
+3 35 46 44 0.210 0.210 0.210
+3 38 45 47 0.210 0.210 0.210
+3 33 47 46 0.210 0.210 0.210
+3 12 14 15 0.210 0.210 0.210
+3 15 16 20 0.210 0.210 0.210
+3 12 17 13 0.210 0.210 0.210
+3 19 21 20 0.210 0.210 0.210
+3 17 21 18 0.210 0.210 0.210
+3 22 24 25 0.210 0.210 0.210
+3 25 26 30 0.210 0.210 0.210
+3 22 27 23 0.210 0.210 0.210
+3 29 31 30 0.210 0.210 0.210
+3 28 27 31 0.210 0.210 0.210
+3 48 41 40 0.210 0.210 0.210
+3 49 43 41 0.210 0.210 0.210
+3 50 40 42 0.210 0.210 0.210
+3 51 45 43 0.210 0.210 0.210
+3 42 44 52 0.210 0.210 0.210
+3 47 45 53 0.210 0.210 0.210
+3 44 46 54 0.210 0.210 0.210
+3 46 47 55 0.210 0.210 0.210
+3 48 49 41 0.210 0.210 0.210
+3 48 40 50 0.210 0.210 0.210
+3 49 51 43 0.210 0.210 0.210
+3 50 42 52 0.210 0.210 0.210
+3 53 45 51 0.210 0.210 0.210
+3 44 54 52 0.210 0.210 0.210
+3 47 53 55 0.210 0.210 0.210
+3 46 55 54 0.210 0.210 0.210
+3 56 57 58 0.210 0.210 0.210
+3 56 59 57 0.210 0.210 0.210
+3 60 61 62 0.210 0.210 0.210
+3 61 63 62 0.210 0.210 0.210
+3 64 61 60 0.210 0.210 0.210
+3 64 60 62 0.210 0.210 0.210
+3 62 63 65 0.210 0.210 0.210
+3 66 56 58 0.210 0.210 0.210
+3 57 67 58 0.210 0.210 0.210
+3 57 59 68 0.210 0.210 0.210
+3 64 69 61 0.210 0.210 0.210
+3 70 64 62 0.210 0.210 0.210
+3 62 65 70 0.210 0.210 0.210
+3 70 69 64 0.210 0.210 0.210
+3 70 65 69 0.210 0.210 0.210
+3 71 72 73 0.210 0.210 0.210
+3 67 66 58 0.210 0.210 0.210
+3 57 74 67 0.210 0.210 0.210
+3 57 68 74 0.210 0.210 0.210
+3 75 76 77 0.210 0.210 0.210
+3 75 78 76 0.210 0.210 0.210
+3 79 80 71 0.210 0.210 0.210
+3 73 81 82 0.210 0.210 0.210
+3 80 83 71 0.210 0.210 0.210
+3 73 84 81 0.210 0.210 0.210
+3 72 85 73 0.210 0.210 0.210
+3 83 72 71 0.210 0.210 0.210
+3 73 85 84 0.210 0.210 0.210
+3 86 77 76 0.210 0.210 0.210
+3 78 75 87 0.210 0.210 0.210
+3 78 88 76 0.210 0.210 0.210
+3 82 81 80 0.210 0.210 0.210
+3 81 83 80 0.210 0.210 0.210
+3 79 82 80 0.210 0.210 0.210
+3 81 84 83 0.210 0.210 0.210
+3 76 88 86 0.210 0.210 0.210
+3 78 89 88 0.210 0.210 0.210
+3 78 87 89 0.210 0.210 0.210
+3 90 72 83 0.210 0.210 0.210
+3 84 85 91 0.210 0.210 0.210
+3 86 92 77 0.210 0.210 0.210
+3 75 93 87 0.210 0.210 0.210
+3 84 90 83 0.210 0.210 0.210
+3 72 94 85 0.210 0.210 0.210
+3 88 95 86 0.210 0.210 0.210
+3 87 96 89 0.210 0.210 0.210
+3 89 97 88 0.210 0.210 0.210
+3 98 99 100 0.210 0.210 0.210
+3 101 102 103 0.210 0.210 0.210
+3 104 100 99 0.210 0.210 0.210
+3 95 105 86 0.210 0.210 0.210
+3 98 102 101 0.210 0.210 0.210
+3 98 100 102 0.210 0.210 0.210
+3 87 106 96 0.210 0.210 0.210
+3 107 98 101 0.210 0.210 0.210
+3 103 102 108 0.210 0.210 0.210
+3 109 99 98 0.210 0.210 0.210
+3 102 100 104 0.210 0.210 0.210
+3 104 99 109 0.210 0.210 0.210
+3 95 88 97 0.210 0.210 0.210
+3 84 91 90 0.210 0.210 0.210
+3 96 110 89 0.210 0.210 0.210
+3 109 98 107 0.210 0.210 0.210
+3 102 104 108 0.210 0.210 0.210
+3 90 94 72 0.210 0.210 0.210
+3 108 109 107 0.210 0.210 0.210
+3 85 111 91 0.210 0.210 0.210
+3 108 104 109 0.210 0.210 0.210
+3 92 86 105 0.210 0.210 0.210
+3 106 87 93 0.210 0.210 0.210
+3 110 97 89 0.210 0.210 0.210
+3 94 111 85 0.210 0.210 0.210
+3 105 95 97 0.210 0.210 0.210
+3 106 110 96 0.210 0.210 0.210
+3 112 113 114 0.210 0.210 0.210
+3 105 97 92 0.210 0.210 0.210
+3 91 115 90 0.210 0.210 0.210
+3 110 106 93 0.210 0.210 0.210
+3 115 113 112 0.210 0.210 0.210
+3 116 115 112 0.210 0.210 0.210
+3 91 113 115 0.210 0.210 0.210
+3 114 113 117 0.210 0.210 0.210
+3 115 94 90 0.210 0.210 0.210
+3 91 111 113 0.210 0.210 0.210
+3 110 92 97 0.210 0.210 0.210
+3 116 94 115 0.210 0.210 0.210
+3 117 113 111 0.210 0.210 0.210
+3 110 93 92 0.210 0.210 0.210
+3 118 119 120 0.210 0.210 0.210
+3 121 94 116 0.210 0.210 0.210
+3 94 121 111 0.210 0.210 0.210
+3 111 122 117 0.210 0.210 0.210
+3 118 123 119 0.210 0.210 0.210
+3 119 124 120 0.210 0.210 0.210
+3 121 122 111 0.210 0.210 0.210
+3 125 118 66 0.210 0.210 0.210
+3 68 120 126 0.210 0.210 0.210
+3 67 125 66 0.210 0.210 0.210
+3 74 68 126 0.210 0.210 0.210
+3 74 127 67 0.210 0.210 0.210
+3 128 119 123 0.210 0.210 0.210
+3 129 123 118 0.210 0.210 0.210
+3 120 124 130 0.210 0.210 0.210
+3 131 124 119 0.210 0.210 0.210
+3 132 133 134 0.210 0.210 0.210
+3 131 119 128 0.210 0.210 0.210
+3 127 125 67 0.210 0.210 0.210
+3 74 126 135 0.210 0.210 0.210
+3 74 135 127 0.210 0.210 0.210
+3 128 123 136 0.210 0.210 0.210
+3 137 118 125 0.210 0.210 0.210
+3 126 120 138 0.210 0.210 0.210
+3 137 129 118 0.210 0.210 0.210
+3 120 130 138 0.210 0.210 0.210
+3 139 132 134 0.210 0.210 0.210
+3 128 136 131 0.210 0.210 0.210
+3 140 139 134 0.210 0.210 0.210
+3 133 132 141 0.210 0.210 0.210
+3 131 142 124 0.210 0.210 0.210
+3 143 136 123 0.210 0.210 0.210
+3 143 123 129 0.210 0.210 0.210
+3 130 124 142 0.210 0.210 0.210
+3 144 140 134 0.210 0.210 0.210
+3 133 141 145 0.210 0.210 0.210
+3 127 146 125 0.210 0.210 0.210
+3 135 126 147 0.210 0.210 0.210
+3 148 149 134 0.210 0.210 0.210
+3 135 146 127 0.210 0.210 0.210
+3 150 151 148 0.210 0.210 0.210
+3 150 133 152 0.210 0.210 0.210
+3 136 143 131 0.210 0.210 0.210
+3 129 137 153 0.210 0.210 0.210
+3 153 138 130 0.210 0.210 0.210
+3 139 141 132 0.210 0.210 0.210
+3 146 137 125 0.210 0.210 0.210
+3 137 138 153 0.210 0.210 0.210
+3 126 138 147 0.210 0.210 0.210
+3 153 143 129 0.210 0.210 0.210
+3 153 130 142 0.210 0.210 0.210
+3 140 141 139 0.210 0.210 0.210
+3 135 147 146 0.210 0.210 0.210
+3 143 142 131 0.210 0.210 0.210
+3 137 147 138 0.210 0.210 0.210
+3 140 145 141 0.210 0.210 0.210
+3 153 154 143 0.210 0.210 0.210
+3 153 142 154 0.210 0.210 0.210
+3 137 146 147 0.210 0.210 0.210
+3 140 144 145 0.210 0.210 0.210
+3 155 144 134 0.210 0.210 0.210
+3 133 145 156 0.210 0.210 0.210
+3 143 154 142 0.210 0.210 0.210
+3 144 157 145 0.210 0.210 0.210
+3 158 157 144 0.210 0.210 0.210
+3 159 158 144 0.210 0.210 0.210
+3 145 157 160 0.210 0.210 0.210
+3 158 160 157 0.210 0.210 0.210
+3 149 155 134 0.210 0.210 0.210
+3 151 149 148 0.210 0.210 0.210
+3 152 151 150 0.210 0.210 0.210
+3 133 161 152 0.210 0.210 0.210
+3 133 156 161 0.210 0.210 0.210
+3 158 159 160 0.210 0.210 0.210
+3 155 159 144 0.210 0.210 0.210
+3 145 160 156 0.210 0.210 0.210
+3 159 162 160 0.210 0.210 0.210
+3 162 163 160 0.210 0.210 0.210
+3 155 162 159 0.210 0.210 0.210
+3 156 160 163 0.210 0.210 0.210
+3 162 164 163 0.210 0.210 0.210
+3 155 165 162 0.210 0.210 0.210
+3 164 156 163 0.210 0.210 0.210
+3 165 164 162 0.210 0.210 0.210
+3 149 165 155 0.210 0.210 0.210
+3 151 166 149 0.210 0.210 0.210
+3 152 167 151 0.210 0.210 0.210
+3 152 161 168 0.210 0.210 0.210
+3 161 156 164 0.210 0.210 0.210
+3 149 166 165 0.210 0.210 0.210
+3 151 167 166 0.210 0.210 0.210
+3 152 169 167 0.210 0.210 0.210
+3 152 168 169 0.210 0.210 0.210
+3 168 161 164 0.210 0.210 0.210
+3 166 168 165 0.210 0.210 0.210
+3 167 169 166 0.210 0.210 0.210
+3 169 168 166 0.210 0.210 0.210
+3 168 164 165 0.210 0.210 0.210
+3 18 19 14 0.000 0.000 0.000
+3 13 18 14 0.000 0.000 0.000
+3 14 19 16 0.000 0.000 0.000
+3 170 171 172 0.192 0.182 0.182
+3 172 171 173 0.192 0.182 0.182
+3 170 174 171 0.192 0.182 0.182
+3 175 170 172 0.192 0.182 0.182
+3 172 173 176 0.192 0.182 0.182
+3 177 174 170 0.192 0.182 0.182
+3 173 171 178 0.192 0.182 0.182
+3 174 179 171 0.192 0.182 0.182
+3 175 172 176 0.192 0.182 0.182
+3 176 173 178 0.192 0.182 0.182
+3 175 177 170 0.192 0.182 0.182
+3 171 179 178 0.192 0.182 0.182
+3 174 177 179 0.192 0.182 0.182
+3 23 175 176 0.192 0.182 0.182
+3 24 176 178 0.192 0.182 0.182
+3 28 177 175 0.192 0.182 0.182
+3 178 179 26 0.192 0.182 0.182
+3 177 29 179 0.192 0.182 0.182
+3 23 176 24 0.192 0.182 0.182
+3 24 178 26 0.192 0.182 0.182
+3 23 28 175 0.192 0.182 0.182
+3 179 29 26 0.192 0.182 0.182
+3 177 28 29 0.192 0.182 0.182
+3 180 59 56 0.246 0.244 0.236
+3 180 181 59 0.246 0.244 0.236
+3 48 54 49 0.246 0.244 0.236
+3 50 52 48 0.246 0.244 0.236
+3 49 55 51 0.246 0.244 0.236
+3 48 52 54 0.246 0.244 0.236
+3 51 55 53 0.246 0.244 0.236
+3 54 55 49 0.246 0.244 0.236
+3 118 180 56 0.246 0.244 0.236
+3 180 120 181 0.246 0.244 0.236
+3 59 181 120 0.246 0.244 0.236
+3 180 118 120 0.246 0.244 0.236
+3 66 118 56 0.246 0.244 0.236
+3 59 120 68 0.246 0.244 0.236
+3 134 133 148 0.246 0.244 0.236
+3 148 133 150 0.246 0.244 0.236
+3 182 183 184 0.246 0.244 0.236
+3 183 185 186 0.246 0.244 0.236
+3 187 188 182 0.246 0.244 0.236
+3 189 190 185 0.246 0.244 0.236
+3 191 189 188 0.246 0.244 0.236
+3 187 182 184 0.246 0.244 0.236
+3 184 183 186 0.246 0.244 0.236
+3 191 188 187 0.246 0.244 0.236
+3 185 190 186 0.246 0.244 0.236
+3 191 190 189 0.246 0.244 0.236
+3 192 193 194 0.246 0.244 0.236
+3 194 193 195 0.246 0.244 0.236
+3 194 195 196 0.246 0.244 0.236
+3 196 195 197 0.246 0.244 0.236
+3 198 192 194 0.246 0.244 0.236
+3 192 198 193 0.246 0.244 0.236
+3 196 199 194 0.246 0.244 0.236
+3 195 193 200 0.246 0.244 0.236
+3 201 196 197 0.246 0.244 0.236
+3 197 195 202 0.246 0.244 0.236
+3 199 198 194 0.246 0.244 0.236
+3 198 200 193 0.246 0.244 0.236
+3 201 199 196 0.246 0.244 0.236
+3 195 200 202 0.246 0.244 0.236
+3 201 197 203 0.246 0.244 0.236
+3 197 202 203 0.246 0.244 0.236
+3 199 200 198 0.246 0.244 0.236
+3 201 200 199 0.246 0.244 0.236
+3 201 202 200 0.246 0.244 0.236
+3 203 202 201 0.246 0.244 0.236
diff --git a/data/models/guns/sniper-rifle.off b/data/models/guns/sniper-rifle.off
new file mode 100644
index 0000000..5a03e4e
--- /dev/null
+++ b/data/models/guns/sniper-rifle.off
@@ -0,0 +1,242 @@
+91 150 0
+0.012 -3.108 -0.278
+-0.030 -3.108 -0.252
+0.012 -0.142 -0.278
+0.054 -3.108 -0.252
+0.054 -0.101 -0.252
+0.054 -3.108 -0.210
+-0.030 -3.108 -0.210
+-0.030 -0.101 -0.252
+0.012 -0.035 -0.184
+0.012 -3.108 -0.184
+-0.030 -0.035 -0.210
+0.065 -0.924 -0.382
+0.012 -1.240 -0.326
+0.081 -1.240 -0.369
+0.081 -1.240 -0.442
+0.065 -0.924 -0.434
+0.012 -1.240 -0.485
+0.012 -0.924 -0.460
+0.012 -0.924 -0.355
+-0.056 -1.240 -0.369
+-0.056 -1.240 -0.442
+-0.040 -0.924 -0.434
+-0.040 -0.924 -0.382
+0.054 -0.035 -0.210
+0.076 -0.802 -0.063
+-0.050 -0.802 -0.063
+0.076 -0.802 -0.433
+0.011 -0.802 -0.474
+-0.050 -0.802 -0.433
+0.076 -0.754 -0.063
+0.076 -0.754 -0.433
+0.011 -0.754 -0.474
+-0.050 -0.754 -0.433
+-0.050 -0.754 -0.063
+0.038 -0.650 0.082
+-0.014 -0.705 -0.060
+0.038 -0.705 -0.060
+0.065 -0.205 -0.434
+0.065 -0.205 -0.382
+0.012 -0.205 -0.461
+0.012 -0.205 -0.355
+-0.040 -0.205 -0.434
+-0.040 -0.205 -0.382
+-0.014 -0.650 0.082
+-0.014 -0.298 -0.026
+0.038 -0.298 -0.026
+0.038 -0.298 0.150
+-0.014 -0.298 0.150
+-0.050 -0.354 -0.433
+0.075 -0.354 -0.433
+0.075 -0.354 -0.094
+0.012 -0.354 -0.474
+-0.050 -0.354 -0.094
+0.075 -0.301 -0.094
+0.075 -0.301 -0.433
+-0.050 -0.301 -0.433
+0.012 -0.301 -0.474
+-0.050 -0.301 -0.094
+0.038 -0.150 -0.039
+-0.014 -0.150 -0.039
+-0.014 -0.097 -0.039
+0.038 -0.068 0.081
+0.038 -0.097 -0.039
+-0.014 -0.068 0.081
+0.118 0.111 -0.471
+0.118 0.111 -0.345
+0.012 0.111 -0.524
+0.012 0.111 -0.292
+-0.093 0.111 -0.471
+-0.093 0.111 -0.345
+-0.014 -0.070 0.013
+0.038 -0.070 0.013
+0.012 -1.823 -0.239
+0.012 -1.670 -0.239
+0.091 -1.670 -0.198
+-0.066 -1.670 -0.198
+0.091 -1.339 -0.036
+-0.066 -1.339 -0.036
+0.012 -1.339 -0.032
+0.012 0.015 -0.226
+-0.066 0.015 -0.198
+0.091 0.015 -0.198
+-0.066 0.015 -0.088
+0.091 0.015 -0.088
+0.012 0.015 -0.032
+0.134 1.090 -0.015
+-0.109 1.090 -0.015
+0.134 1.124 0.290
+0.012 1.124 -0.101
+0.012 1.124 0.375
+-0.109 1.124 0.290
+3 0 1 2 0.580 0.580 0.580
+3 3 4 5 0.580 0.580 0.580
+3 0 4 3 0.580 0.580 0.580
+3 1 6 7 0.580 0.580 0.580
+3 5 8 9 0.580 0.580 0.580
+3 10 6 9 0.580 0.580 0.580
+3 11 12 13 0.580 0.580 0.580
+3 13 14 15 0.580 0.580 0.580
+3 14 16 17 0.580 0.580 0.580
+3 12 18 19 0.580 0.580 0.580
+3 20 21 16 0.580 0.580 0.580
+3 19 22 20 0.580 0.580 0.580
+3 2 1 7 0.580 0.580 0.580
+3 0 2 4 0.580 0.580 0.580
+3 4 23 5 0.580 0.580 0.580
+3 7 6 10 0.580 0.580 0.580
+3 5 23 8 0.580 0.580 0.580
+3 8 10 9 0.580 0.580 0.580
+3 16 21 17 0.580 0.580 0.580
+3 11 13 15 0.580 0.580 0.580
+3 15 14 17 0.580 0.580 0.580
+3 18 12 11 0.580 0.580 0.580
+3 18 22 19 0.580 0.580 0.580
+3 22 21 20 0.580 0.580 0.580
+3 24 25 26 0.580 0.580 0.580
+3 27 28 26 0.580 0.580 0.580
+3 25 28 26 0.580 0.580 0.580
+3 29 24 26 0.580 0.580 0.580
+3 30 26 27 0.580 0.580 0.580
+3 27 28 31 0.580 0.580 0.580
+3 25 32 28 0.580 0.580 0.580
+3 29 26 30 0.580 0.580 0.580
+3 30 27 31 0.580 0.580 0.580
+3 28 32 31 0.580 0.580 0.580
+3 25 33 32 0.580 0.580 0.580
+3 30 33 29 0.580 0.580 0.580
+3 30 32 31 0.580 0.580 0.580
+3 30 32 33 0.580 0.580 0.580
+3 34 35 36 0.580 0.580 0.580
+3 37 11 15 0.580 0.580 0.580
+3 11 38 18 0.580 0.580 0.580
+3 17 39 15 0.580 0.580 0.580
+3 18 40 22 0.580 0.580 0.580
+3 21 41 17 0.580 0.580 0.580
+3 21 22 42 0.580 0.580 0.580
+3 43 35 34 0.580 0.580 0.580
+3 36 35 44 0.580 0.580 0.580
+3 45 34 36 0.580 0.580 0.580
+3 35 43 44 0.580 0.580 0.580
+3 46 43 34 0.580 0.580 0.580
+3 17 41 39 0.580 0.580 0.580
+3 22 40 42 0.580 0.580 0.580
+3 21 42 41 0.580 0.580 0.580
+3 37 38 11 0.580 0.580 0.580
+3 39 37 15 0.580 0.580 0.580
+3 38 40 18 0.580 0.580 0.580
+3 36 44 45 0.580 0.580 0.580
+3 46 34 45 0.580 0.580 0.580
+3 44 43 47 0.580 0.580 0.580
+3 46 47 43 0.580 0.580 0.580
+3 48 49 50 0.580 0.580 0.580
+3 51 48 49 0.580 0.580 0.580
+3 52 48 50 0.580 0.580 0.580
+3 49 53 50 0.580 0.580 0.580
+3 51 54 49 0.580 0.580 0.580
+3 48 55 51 0.580 0.580 0.580
+3 52 55 48 0.580 0.580 0.580
+3 54 53 49 0.580 0.580 0.580
+3 56 54 51 0.580 0.580 0.580
+3 51 55 56 0.580 0.580 0.580
+3 57 55 52 0.580 0.580 0.580
+3 54 57 53 0.580 0.580 0.580
+3 54 55 56 0.580 0.580 0.580
+3 55 57 54 0.580 0.580 0.580
+3 45 47 46 0.580 0.580 0.580
+3 45 44 47 0.580 0.580 0.580
+3 58 59 60 0.580 0.580 0.580
+3 61 59 58 0.580 0.580 0.580
+3 2 7 4 0.580 0.580 0.580
+3 58 60 62 0.580 0.580 0.580
+3 59 63 60 0.580 0.580 0.580
+3 62 61 58 0.580 0.580 0.580
+3 37 64 38 0.580 0.580 0.580
+3 38 65 40 0.580 0.580 0.580
+3 39 66 37 0.580 0.580 0.580
+3 67 42 40 0.580 0.580 0.580
+3 39 41 68 0.580 0.580 0.580
+3 41 42 69 0.580 0.580 0.580
+3 63 59 61 0.580 0.580 0.580
+3 62 60 70 0.580 0.580 0.580
+3 7 10 4 0.580 0.580 0.580
+3 62 70 71 0.580 0.580 0.580
+3 71 61 62 0.580 0.580 0.580
+3 60 63 70 0.580 0.580 0.580
+3 71 70 63 0.580 0.580 0.580
+3 71 63 61 0.580 0.580 0.580
+3 10 23 4 0.580 0.580 0.580
+3 64 65 38 0.580 0.580 0.580
+3 37 66 64 0.580 0.580 0.580
+3 65 67 40 0.580 0.580 0.580
+3 39 68 66 0.580 0.580 0.580
+3 67 69 42 0.580 0.580 0.580
+3 68 41 69 0.580 0.580 0.580
+3 6 1 3 0.000 0.000 0.000
+3 5 6 3 0.000 0.000 0.000
+3 9 6 5 0.000 0.000 0.000
+3 3 1 0 0.000 0.000 0.000
+3 13 20 14 0.000 0.000 0.000
+3 13 12 19 0.000 0.000 0.000
+3 14 20 16 0.000 0.000 0.000
+3 13 19 20 0.000 0.000 0.000
+3 64 68 65 0.000 0.000 0.000
+3 65 69 67 0.000 0.000 0.000
+3 66 68 64 0.000 0.000 0.000
+3 68 69 65 0.000 0.000 0.000
+3 72 73 74 0.470 0.272 0.099
+3 72 75 73 0.470 0.272 0.099
+3 76 72 74 0.470 0.272 0.099
+3 72 77 75 0.470 0.272 0.099
+3 72 78 77 0.470 0.272 0.099
+3 76 78 72 0.470 0.272 0.099
+3 73 79 74 0.470 0.272 0.099
+3 73 75 80 0.470 0.272 0.099
+3 74 81 76 0.470 0.272 0.099
+3 75 77 82 0.470 0.272 0.099
+3 76 83 78 0.470 0.272 0.099
+3 77 78 84 0.470 0.272 0.099
+3 79 81 74 0.470 0.272 0.099
+3 73 80 79 0.470 0.272 0.099
+3 80 75 82 0.470 0.272 0.099
+3 81 83 76 0.470 0.272 0.099
+3 83 84 78 0.470 0.272 0.099
+3 82 77 84 0.470 0.272 0.099
+3 23 10 8 0.470 0.272 0.099
+3 81 85 83 0.470 0.272 0.099
+3 79 80 86 0.470 0.272 0.099
+3 83 87 84 0.470 0.272 0.099
+3 79 88 81 0.470 0.272 0.099
+3 82 84 89 0.470 0.272 0.099
+3 80 82 90 0.470 0.272 0.099
+3 85 87 83 0.470 0.272 0.099
+3 88 85 81 0.470 0.272 0.099
+3 79 86 88 0.470 0.272 0.099
+3 86 80 90 0.470 0.272 0.099
+3 87 89 84 0.470 0.272 0.099
+3 90 82 89 0.470 0.272 0.099
+3 85 86 87 0.470 0.272 0.099
+3 88 86 85 0.470 0.272 0.099
+3 86 90 87 0.470 0.272 0.099
+3 87 90 89 0.470 0.272 0.099
diff --git a/data/models/knife.off b/data/models/knife.off
new file mode 100644
index 0000000..e0e8095
--- /dev/null
+++ b/data/models/knife.off
@@ -0,0 +1,268 @@
+89 178 0
+0.014 0.084 -0.420
+-0.000 0.084 -0.448
+-0.000 0.084 -0.420
+-0.000 0.084 -0.350
+0.014 0.084 -0.350
+0.014 0.042 -0.420
+-0.000 0.042 -0.420
+-0.000 0.070 -1.092
+-0.000 0.014 -1.050
+-0.000 0.042 -1.232
+0.014 0.014 -1.050
+0.014 -0.000 -1.190
+0.000 -0.000 -1.190
+0.000 -0.000 -1.358
+0.000 -0.112 -0.350
+0.014 -0.112 -0.350
+0.014 -0.014 -1.288
+0.000 -0.014 -1.288
+0.014 -0.070 -1.176
+0.000 -0.070 -1.176
+0.014 -0.112 -1.092
+0.000 -0.112 -1.092
+0.000 -0.042 -1.442
+0.014 -0.056 -1.302
+0.000 -0.056 -1.302
+0.014 -0.056 -1.330
+0.000 -0.056 -1.330
+-0.000 0.168 -0.350
+-0.000 0.168 -0.336
+0.070 0.070 -0.336
+-0.070 0.070 -0.350
+0.070 0.070 -0.350
+-0.070 0.070 -0.336
+0.028 0.098 -0.336
+-0.042 0.098 -0.336
+0.028 0.070 -0.196
+-0.042 0.070 -0.196
+0.028 0.084 0.014
+-0.042 0.084 0.014
+-0.056 0.056 -0.336
+0.028 0.070 0.294
+-0.042 0.070 0.294
+0.028 0.070 0.350
+-0.042 0.070 0.350
+0.000 -0.000 -0.350
+0.000 -0.000 -0.336
+0.028 0.056 0.196
+0.042 0.042 -0.196
+-0.042 0.056 0.196
+0.042 0.056 -0.336
+0.042 0.042 0.014
+-0.056 0.042 0.294
+0.042 0.042 0.350
+-0.056 0.042 -0.196
+-0.056 0.042 0.014
+0.042 0.042 0.294
+0.042 0.028 0.196
+-0.056 0.042 0.350
+-0.056 0.028 0.196
+0.028 -0.154 -0.336
+0.042 -0.112 -0.336
+0.070 -0.098 -0.336
+-0.070 -0.098 -0.350
+0.042 -0.098 0.350
+0.028 -0.126 0.350
+-0.042 -0.154 -0.336
+0.042 -0.084 -0.196
+-0.056 -0.084 -0.196
+0.042 -0.084 0.196
+-0.056 -0.084 0.196
+-0.056 -0.098 0.350
+-0.042 -0.126 0.350
+0.042 -0.098 0.014
+-0.056 -0.098 0.014
+0.042 -0.098 0.294
+-0.056 -0.098 0.294
+0.070 -0.098 -0.350
+-0.070 -0.098 -0.336
+-0.056 -0.112 -0.336
+0.028 -0.098 0.196
+-0.042 -0.098 0.196
+-0.042 -0.126 0.294
+0.000 -0.196 -0.350
+0.000 -0.196 -0.336
+0.028 -0.126 -0.196
+0.028 -0.140 0.014
+0.028 -0.126 0.294
+-0.042 -0.126 -0.196
+-0.042 -0.140 0.014
+3 0 1 2 0.690 0.690 0.690
+3 2 3 3 0.690 0.690 0.690
+3 2 3 2 0.690 0.690 0.690
+3 2 3 0 0.690 0.690 0.690
+3 0 3 4 0.690 0.690 0.690
+3 5 1 0 0.690 0.690 0.690
+3 1 6 2 0.690 0.690 0.690
+3 2 6 2 0.690 0.690 0.690
+3 5 7 1 0.690 0.690 0.690
+3 7 8 1 0.690 0.690 0.690
+3 1 8 6 0.690 0.690 0.690
+3 9 8 7 0.690 0.690 0.690
+3 10 7 5 0.690 0.690 0.690
+3 9 7 11 0.690 0.690 0.690
+3 11 7 10 0.690 0.690 0.690
+3 12 8 9 0.690 0.690 0.690
+3 13 12 9 0.690 0.690 0.690
+3 3 2 14 0.690 0.690 0.690
+3 3 14 3 0.690 0.690 0.690
+3 3 14 4 0.690 0.690 0.690
+3 15 0 4 0.690 0.690 0.690
+3 16 9 11 0.690 0.690 0.690
+3 13 9 16 0.690 0.690 0.690
+3 6 14 2 0.690 0.690 0.690
+3 5 0 15 0.690 0.690 0.690
+3 17 12 13 0.690 0.690 0.690
+3 10 18 11 0.690 0.690 0.690
+3 12 19 8 0.690 0.690 0.690
+3 10 5 20 0.690 0.690 0.690
+3 8 21 6 0.690 0.690 0.690
+3 22 17 13 0.690 0.690 0.690
+3 11 23 16 0.690 0.690 0.690
+3 17 24 12 0.690 0.690 0.690
+3 25 13 16 0.690 0.690 0.690
+3 22 13 25 0.690 0.690 0.690
+3 19 12 24 0.690 0.690 0.690
+3 11 18 23 0.690 0.690 0.690
+3 26 17 22 0.690 0.690 0.690
+3 26 24 17 0.690 0.690 0.690
+3 16 23 25 0.690 0.690 0.690
+3 3 14 14 0.690 0.690 0.690
+3 4 14 15 0.690 0.690 0.690
+3 23 22 25 0.690 0.690 0.690
+3 24 26 22 0.690 0.690 0.690
+3 24 22 23 0.690 0.690 0.690
+3 21 8 19 0.690 0.690 0.690
+3 10 20 18 0.690 0.690 0.690
+3 24 26 24 0.690 0.690 0.690
+3 19 24 24 0.690 0.690 0.690
+3 18 24 23 0.690 0.690 0.690
+3 14 6 21 0.690 0.690 0.690
+3 20 5 15 0.690 0.690 0.690
+3 19 24 19 0.690 0.690 0.690
+3 19 24 18 0.690 0.690 0.690
+3 21 19 19 0.690 0.690 0.690
+3 20 19 18 0.690 0.690 0.690
+3 21 19 21 0.690 0.690 0.690
+3 21 19 20 0.690 0.690 0.690
+3 14 21 21 0.690 0.690 0.690
+3 15 21 20 0.690 0.690 0.690
+3 14 21 14 0.690 0.690 0.690
+3 14 21 15 0.690 0.690 0.690
+3 27 28 29 0.200 0.200 0.200
+3 30 28 27 0.200 0.200 0.200
+3 27 29 31 0.200 0.200 0.200
+3 30 32 28 0.200 0.200 0.200
+3 33 34 35 0.200 0.200 0.200
+3 35 34 36 0.200 0.200 0.200
+3 37 36 38 0.200 0.200 0.200
+3 34 39 36 0.200 0.200 0.200
+3 40 41 42 0.200 0.200 0.200
+3 42 41 43 0.200 0.200 0.200
+3 44 27 31 0.200 0.200 0.200
+3 44 30 27 0.200 0.200 0.200
+3 29 28 45 0.200 0.200 0.200
+3 28 32 45 0.200 0.200 0.200
+3 35 36 37 0.200 0.200 0.200
+3 37 38 46 0.200 0.200 0.200
+3 47 33 35 0.200 0.200 0.200
+3 40 48 41 0.200 0.200 0.200
+3 49 33 47 0.200 0.200 0.200
+3 50 35 37 0.200 0.200 0.200
+3 41 51 43 0.200 0.200 0.200
+3 52 40 42 0.200 0.200 0.200
+3 36 53 38 0.200 0.200 0.200
+3 46 38 48 0.200 0.200 0.200
+3 38 54 48 0.200 0.200 0.200
+3 46 48 40 0.200 0.200 0.200
+3 55 46 40 0.200 0.200 0.200
+3 38 53 54 0.200 0.200 0.200
+3 36 39 53 0.200 0.200 0.200
+3 56 37 46 0.200 0.200 0.200
+3 55 40 52 0.200 0.200 0.200
+3 43 51 57 0.200 0.200 0.200
+3 50 37 56 0.200 0.200 0.200
+3 47 35 50 0.200 0.200 0.200
+3 48 58 41 0.200 0.200 0.200
+3 41 58 51 0.200 0.200 0.200
+3 48 54 58 0.200 0.200 0.200
+3 56 46 55 0.200 0.200 0.200
+3 59 34 33 0.200 0.200 0.200
+3 60 33 49 0.200 0.200 0.200
+3 31 29 61 0.200 0.200 0.200
+3 62 32 30 0.200 0.200 0.200
+3 52 42 63 0.200 0.200 0.200
+3 42 43 64 0.200 0.200 0.200
+3 65 39 34 0.200 0.200 0.200
+3 47 66 49 0.200 0.200 0.200
+3 39 67 53 0.200 0.200 0.200
+3 56 68 50 0.200 0.200 0.200
+3 54 69 58 0.200 0.200 0.200
+3 52 63 55 0.200 0.200 0.200
+3 51 70 57 0.200 0.200 0.200
+3 43 57 71 0.200 0.200 0.200
+3 50 72 47 0.200 0.200 0.200
+3 53 73 54 0.200 0.200 0.200
+3 55 74 56 0.200 0.200 0.200
+3 58 75 51 0.200 0.200 0.200
+3 44 31 76 0.200 0.200 0.200
+3 61 29 45 0.200 0.200 0.200
+3 44 62 30 0.200 0.200 0.200
+3 32 77 45 0.200 0.200 0.200
+3 31 61 76 0.200 0.200 0.200
+3 62 77 32 0.200 0.200 0.200
+3 50 68 72 0.200 0.200 0.200
+3 69 54 73 0.200 0.200 0.200
+3 49 66 60 0.200 0.200 0.200
+3 67 39 78 0.200 0.200 0.200
+3 55 63 74 0.200 0.200 0.200
+3 63 42 64 0.200 0.200 0.200
+3 70 51 75 0.200 0.200 0.200
+3 56 74 68 0.200 0.200 0.200
+3 75 58 69 0.200 0.200 0.200
+3 47 72 66 0.200 0.200 0.200
+3 73 53 67 0.200 0.200 0.200
+3 59 33 60 0.200 0.200 0.200
+3 71 57 70 0.200 0.200 0.200
+3 64 43 71 0.200 0.200 0.200
+3 65 34 59 0.200 0.200 0.200
+3 78 39 65 0.200 0.200 0.200
+3 74 79 68 0.200 0.200 0.200
+3 69 73 80 0.200 0.200 0.200
+3 75 69 81 0.200 0.200 0.200
+3 44 76 82 0.200 0.200 0.200
+3 82 62 44 0.200 0.200 0.200
+3 83 61 45 0.200 0.200 0.200
+3 45 77 83 0.200 0.200 0.200
+3 81 69 80 0.200 0.200 0.200
+3 72 84 66 0.200 0.200 0.200
+3 68 85 72 0.200 0.200 0.200
+3 70 75 71 0.200 0.200 0.200
+3 63 86 74 0.200 0.200 0.200
+3 79 85 68 0.200 0.200 0.200
+3 67 78 87 0.200 0.200 0.200
+3 73 67 88 0.200 0.200 0.200
+3 86 79 74 0.200 0.200 0.200
+3 86 80 79 0.200 0.200 0.200
+3 80 73 88 0.200 0.200 0.200
+3 80 88 79 0.200 0.200 0.200
+3 88 67 87 0.200 0.200 0.200
+3 64 86 63 0.200 0.200 0.200
+3 71 75 81 0.200 0.200 0.200
+3 85 84 72 0.200 0.200 0.200
+3 66 59 60 0.200 0.200 0.200
+3 81 80 86 0.200 0.200 0.200
+3 84 59 66 0.200 0.200 0.200
+3 79 88 85 0.200 0.200 0.200
+3 85 87 84 0.200 0.200 0.200
+3 71 81 64 0.200 0.200 0.200
+3 64 81 86 0.200 0.200 0.200
+3 87 78 65 0.200 0.200 0.200
+3 88 87 85 0.200 0.200 0.200
+3 87 65 84 0.200 0.200 0.200
+3 76 61 83 0.200 0.200 0.200
+3 82 77 62 0.200 0.200 0.200
+3 84 65 59 0.200 0.200 0.200
+3 76 83 82 0.200 0.200 0.200
+3 83 77 82 0.200 0.200 0.200
diff --git a/data/models/skeleton/abdomen.off b/data/models/skeleton/abdomen.off
new file mode 100644
index 0000000..5e2c8bf
--- /dev/null
+++ b/data/models/skeleton/abdomen.off
@@ -0,0 +1,15 @@
+6 8 0
+-0.864 0.672 -0.403
+-0.864 -0.595 -0.403
+0.000 0.672 0.442
+0.000 -0.595 0.442
+0.845 -0.595 -0.403
+0.845 0.672 -0.403
+3 0 1 2 0.000 0.000 1.000
+3 2 1 3 0.000 0.000 1.000
+3 1 0 4 0.000 0.000 1.000
+3 5 0 2 0.000 0.000 1.000
+3 3 1 4 0.000 0.000 1.000
+3 4 0 5 0.000 0.000 1.000
+3 3 4 2 0.000 0.000 1.000
+3 2 4 5 0.000 0.000 1.000
diff --git a/data/models/skeleton/arm.off b/data/models/skeleton/arm.off
new file mode 100644
index 0000000..d394574
--- /dev/null
+++ b/data/models/skeleton/arm.off
@@ -0,0 +1,15 @@
+6 8 0
+0.000 -0.634 0.230
+-0.288 0.557 -0.230
+-0.269 -0.634 -0.211
+0.000 0.557 0.211
+0.288 -0.634 -0.211
+0.288 0.557 -0.230
+3 0 1 2 0.000 1.000 0.000
+3 3 1 0 0.000 1.000 0.000
+3 1 4 2 0.000 1.000 0.000
+3 3 5 1 0.000 1.000 0.000
+3 2 4 0 0.000 1.000 0.000
+3 0 5 3 0.000 1.000 0.000
+3 5 4 1 0.000 1.000 0.000
+3 4 5 0 0.000 1.000 0.000
diff --git a/data/models/skeleton/chest.off b/data/models/skeleton/chest.off
new file mode 100644
index 0000000..d3f6f20
--- /dev/null
+++ b/data/models/skeleton/chest.off
@@ -0,0 +1,15 @@
+6 8 0
+-0.960 0.653 -0.480
+-0.960 -0.614 -0.480
+0.000 0.653 0.480
+0.000 -0.614 0.480
+0.960 -0.614 -0.480
+0.960 0.653 -0.480
+3 0 1 2 0.000 0.000 1.000
+3 2 1 3 0.000 0.000 1.000
+3 1 0 4 0.000 0.000 1.000
+3 5 0 2 0.000 0.000 1.000
+3 3 1 4 0.000 0.000 1.000
+3 4 0 5 0.000 0.000 1.000
+3 3 4 2 0.000 0.000 1.000
+3 2 4 5 0.000 0.000 1.000
diff --git a/data/models/skeleton/foot.off b/data/models/skeleton/foot.off
new file mode 100644
index 0000000..e229794
--- /dev/null
+++ b/data/models/skeleton/foot.off
@@ -0,0 +1,15 @@
+6 8 0
+-0.326 0.461 0.480
+-0.326 0.461 -0.518
+-0.326 -0.134 -0.518
+0.326 0.461 0.480
+0.326 0.461 -0.518
+0.326 -0.134 -0.518
+3 0 1 2 1.000 1.000 1.000
+3 3 1 0 1.000 1.000 1.000
+3 0 2 3 1.000 1.000 1.000
+3 1 4 2 1.000 1.000 1.000
+3 3 2 5 1.000 1.000 1.000
+3 4 1 3 1.000 1.000 1.000
+3 2 4 5 1.000 1.000 1.000
+3 5 4 3 1.000 1.000 1.000
diff --git a/data/models/skeleton/forearm.off b/data/models/skeleton/forearm.off
new file mode 100644
index 0000000..d272c1c
--- /dev/null
+++ b/data/models/skeleton/forearm.off
@@ -0,0 +1,15 @@
+6 8 0
+0.000 -0.595 0.192
+-0.250 0.595 -0.192
+-0.250 -0.595 -0.192
+0.000 0.595 0.192
+0.250 -0.595 -0.192
+0.250 0.595 -0.192
+3 0 1 2 0.000 1.000 1.000
+3 3 1 0 0.000 1.000 1.000
+3 1 4 2 0.000 1.000 1.000
+3 3 5 1 0.000 1.000 1.000
+3 2 4 0 0.000 1.000 1.000
+3 5 4 1 0.000 1.000 1.000
+3 0 5 3 0.000 1.000 1.000
+3 4 5 0 0.000 1.000 1.000
diff --git a/data/models/skeleton/hand.off b/data/models/skeleton/hand.off
new file mode 100644
index 0000000..3d59cf3
--- /dev/null
+++ b/data/models/skeleton/hand.off
@@ -0,0 +1,15 @@
+6 8 0
+-0.192 -0.192 -0.211
+-0.192 -0.192 0.211
+0.000 0.211 -0.211
+0.000 0.211 0.211
+0.192 -0.192 0.211
+0.192 -0.192 -0.211
+3 0 1 2 1.000 1.000 1.000
+3 2 1 3 1.000 1.000 1.000
+3 1 0 4 1.000 1.000 1.000
+3 5 0 2 1.000 1.000 1.000
+3 3 1 4 1.000 1.000 1.000
+3 4 0 5 1.000 1.000 1.000
+3 3 4 2 1.000 1.000 1.000
+3 2 4 5 1.000 1.000 1.000
diff --git a/data/models/skeleton/head.off b/data/models/skeleton/head.off
new file mode 100644
index 0000000..3ad5ff3
--- /dev/null
+++ b/data/models/skeleton/head.off
@@ -0,0 +1,15 @@
+6 8 0
+-0.461 0.480 -0.384
+-0.461 -0.480 -0.384
+0.019 0.480 0.384
+0.499 -0.480 -0.384
+0.019 -0.480 0.384
+0.499 0.480 -0.384
+3 0 1 2 1.000 1.000 1.000
+3 1 0 3 1.000 1.000 1.000
+3 2 1 4 1.000 1.000 1.000
+3 4 1 3 1.000 1.000 1.000
+3 5 0 2 1.000 1.000 1.000
+3 4 3 2 1.000 1.000 1.000
+3 3 0 5 1.000 1.000 1.000
+3 2 3 5 1.000 1.000 1.000
diff --git a/data/models/skeleton/leg.off b/data/models/skeleton/leg.off
new file mode 100644
index 0000000..c1fe355
--- /dev/null
+++ b/data/models/skeleton/leg.off
@@ -0,0 +1,15 @@
+6 8 0
+0.000 -0.845 0.307
+-0.384 0.922 -0.307
+-0.384 -0.845 -0.307
+0.000 0.922 0.307
+0.365 0.922 -0.307
+0.365 -0.845 -0.307
+3 0 1 2 0.000 1.000 1.000
+3 3 1 0 0.000 1.000 1.000
+3 4 2 1 0.000 1.000 1.000
+3 0 2 5 0.000 1.000 1.000
+3 4 1 3 0.000 1.000 1.000
+3 5 2 4 0.000 1.000 1.000
+3 0 4 3 0.000 1.000 1.000
+3 5 4 0 0.000 1.000 1.000
diff --git a/data/models/skeleton/shades.off b/data/models/skeleton/shades.off
new file mode 100644
index 0000000..277f8a3
--- /dev/null
+++ b/data/models/skeleton/shades.off
@@ -0,0 +1,77 @@
+28 48 0
+-0.422 -0.000 -0.211
+-0.422 0.154 -0.211
+-0.346 -0.000 -0.250
+-0.326 0.154 -0.058
+-0.346 0.154 -0.250
+-0.365 -0.000 -0.154
+-0.365 -0.365 -0.154
+-0.346 -0.000 -0.134
+-0.422 0.154 0.346
+-0.230 -0.211 0.346
+-0.422 0.154 0.384
+-0.346 -0.365 -0.134
+-0.346 -0.365 -0.173
+-0.326 -0.000 -0.058
+-0.346 -0.000 -0.173
+-0.326 -0.365 -0.154
+-0.326 -0.000 -0.154
+-0.269 -0.000 -0.096
+-0.269 0.154 -0.096
+-0.230 -0.211 0.384
+0.019 0.154 0.346
+0.019 0.154 0.384
+0.000 0.154 0.346
+0.269 -0.211 0.346
+0.000 0.154 0.384
+0.461 0.154 0.346
+0.269 -0.211 0.384
+0.461 0.154 0.384
+3 0 1 2 0.000 0.000 0.000
+3 1 0 3 0.000 0.000 0.000
+3 2 1 4 0.000 0.000 0.000
+3 4 1 3 0.000 0.000 0.000
+3 5 6 7 0.000 0.000 0.000
+3 8 9 10 0.000 0.000 0.000
+3 7 6 11 0.000 0.000 0.000
+3 6 5 12 0.000 0.000 0.000
+3 3 0 13 0.000 0.000 0.000
+3 14 5 7 0.000 0.000 0.000
+3 15 11 6 0.000 0.000 0.000
+3 12 5 14 0.000 0.000 0.000
+3 16 7 11 0.000 0.000 0.000
+3 15 6 12 0.000 0.000 0.000
+3 17 0 2 0.000 0.000 0.000
+3 14 7 16 0.000 0.000 0.000
+3 16 11 15 0.000 0.000 0.000
+3 16 12 14 0.000 0.000 0.000
+3 15 12 16 0.000 0.000 0.000
+3 17 13 0 0.000 0.000 0.000
+3 18 2 4 0.000 0.000 0.000
+3 4 3 18 0.000 0.000 0.000
+3 18 3 13 0.000 0.000 0.000
+3 17 2 18 0.000 0.000 0.000
+3 9 8 9 0.000 0.000 0.000
+3 10 9 19 0.000 0.000 0.000
+3 18 13 17 0.000 0.000 0.000
+3 20 8 10 0.000 0.000 0.000
+3 19 9 9 0.000 0.000 0.000
+3 19 19 9 0.000 0.000 0.000
+3 9 8 20 0.000 0.000 0.000
+3 21 10 19 0.000 0.000 0.000
+3 19 9 21 0.000 0.000 0.000
+3 21 19 19 0.000 0.000 0.000
+3 20 10 21 0.000 0.000 0.000
+3 21 9 20 0.000 0.000 0.000
+3 22 23 24 0.000 0.000 0.000
+3 25 22 24 0.000 0.000 0.000
+3 23 22 23 0.000 0.000 0.000
+3 24 23 26 0.000 0.000 0.000
+3 23 22 25 0.000 0.000 0.000
+3 27 24 26 0.000 0.000 0.000
+3 26 23 23 0.000 0.000 0.000
+3 26 26 23 0.000 0.000 0.000
+3 25 24 27 0.000 0.000 0.000
+3 26 23 27 0.000 0.000 0.000
+3 27 26 26 0.000 0.000 0.000
+3 27 23 25 0.000 0.000 0.000
diff --git a/data/models/skeleton/thigh.off b/data/models/skeleton/thigh.off
new file mode 100644
index 0000000..9cf53e5
--- /dev/null
+++ b/data/models/skeleton/thigh.off
@@ -0,0 +1,15 @@
+6 8 0
+0.000 -0.864 0.346
+-0.422 0.922 -0.346
+-0.422 -0.864 -0.346
+0.422 0.922 -0.346
+0.000 0.922 0.346
+0.422 -0.864 -0.346
+3 0 1 2 0.000 1.000 0.000
+3 3 2 1 0.000 1.000 0.000
+3 4 1 0 0.000 1.000 0.000
+3 3 1 4 0.000 1.000 0.000
+3 0 2 5 0.000 1.000 0.000
+3 5 2 3 0.000 1.000 0.000
+3 0 3 4 0.000 1.000 0.000
+3 5 3 0 0.000 1.000 0.000
diff --git a/data/models/streets/big.off b/data/models/streets/big.off
new file mode 100644
index 0000000..ad77ca6
--- /dev/null
+++ b/data/models/streets/big.off
@@ -0,0 +1,594 @@
+209 384 0
+-187500.000 -0.019 -250000.000
+-250000.000 -0.019 -250000.000
+-250000.000 -0.014 -187500.000
+-187500.000 -0.005 -62500.000
+-250000.000 -0.005 -62500.000
+-250000.000 0.000 0.000
+-187500.000 -0.009 -125000.000
+-250000.000 -0.009 -125000.000
+-187500.000 0.005 62500.000
+-250000.000 0.005 62500.000
+-250000.000 0.009 125000.000
+-187500.000 0.000 0.000
+-187500.000 0.014 187500.000
+-250000.000 0.014 187500.000
+-250000.000 0.019 250000.000
+-187500.000 0.009 125000.000
+-187500.000 -0.014 -187500.000
+-187500.000 0.019 250000.000
+-187500.000 -0.002 -31199.998
+-187500.000 0.007 93700.000
+-125000.000 -0.014 -187500.000
+-125000.000 0.014 187500.000
+-125000.000 -0.002 -31199.998
+-125000.000 -0.007 -93700.000
+-125000.000 0.007 93700.000
+-125000.000 0.002 31199.998
+-125000.000 -0.009 -125000.000
+-125000.000 0.000 0.000
+-125000.000 0.009 125000.000
+-125000.000 -0.019 -250000.000
+-125000.000 0.019 250000.000
+-125000.000 -0.005 -62500.000
+-125000.000 0.005 62500.000
+-93700.000 -0.007 -93700.000
+-93700.000 -0.009 -125000.000
+-93700.000 -0.002 -31199.998
+-93700.000 -0.005 -62500.000
+-93700.000 0.002 31199.998
+-93700.000 0.000 0.000
+-93700.000 0.007 93700.000
+-93700.000 0.005 62500.000
+-93700.000 0.009 125000.000
+-93700.000 0.014 187500.000
+-62500.000 -0.014 -187500.000
+-62500.000 -0.019 -250000.000
+-93700.000 -0.001 -15599.999
+-93700.000 0.004 46800.000
+-62500.000 0.014 187500.000
+-62500.000 0.019 250000.000
+-62500.000 -0.007 -93700.000
+-62500.000 0.007 93700.000
+-62500.000 -0.001 -15599.999
+-62500.000 -0.004 -46800.000
+-62500.000 0.004 46800.000
+-62500.000 0.001 15599.999
+-62500.000 -0.009 -125000.000
+-62500.000 -0.005 -62500.000
+-62500.000 0.000 0.000
+-62500.000 0.005 62500.000
+-62500.000 0.009 125000.000
+-62500.000 -0.002 -31199.998
+-62500.000 0.002 31199.998
+-31199.998 0.009 125000.000
+-31199.998 -0.014 -187500.000
+-46800.000 -0.004 -46800.000
+-46800.000 -0.005 -62500.000
+-46800.000 -0.001 -15599.999
+-46800.000 -0.002 -31199.998
+-46800.000 0.001 15599.999
+-46800.000 0.000 0.000
+-46800.000 0.004 46800.000
+-46800.000 0.002 31199.998
+-46800.000 0.005 62500.000
+-46800.000 0.007 93700.000
+-31199.998 -0.007 -93700.000
+-31199.998 -0.009 -125000.000
+-31199.998 0.007 93700.000
+0.000 0.014 187500.000
+-31199.998 -0.004 -46800.000
+-31199.998 0.001 15599.999
+-31199.998 0.004 46800.000
+-31199.998 -0.001 -15599.999
+-31199.998 -0.005 -62500.000
+-31199.998 -0.002 -31199.998
+-31199.998 0.000 0.000
+-31199.998 0.002 31199.998
+-31199.998 0.005 62500.000
+0.000 -0.019 -250000.000
+-15599.999 0.005 62500.000
+-15599.999 -0.007 -93700.000
+0.000 0.009 125000.000
+-15599.999 -0.004 -46800.000
+-15599.999 -0.005 -62500.000
+-15599.999 0.001 15599.999
+-15599.999 0.000 0.000
+-15599.999 0.004 46800.000
+-15599.999 0.002 31199.998
+-15599.999 -0.001 -15599.999
+-15599.999 -0.002 -31199.998
+0.000 0.007 93700.000
+0.000 -0.014 -187500.000
+0.000 0.019 250000.000
+0.000 -0.009 -125000.000
+0.000 0.005 62500.000
+0.000 0.001 15599.999
+0.000 0.004 46800.000
+0.000 -0.004 -46800.000
+0.000 -0.001 -15599.999
+0.000 -0.007 -93700.000
+0.000 -0.005 -62500.000
+0.000 0.000 0.000
+0.000 0.002 31199.998
+0.000 -0.002 -31199.998
+15599.999 0.001 15599.999
+15599.999 0.000 0.000
+15599.999 0.004 46800.000
+15599.999 0.002 31199.998
+15599.999 -0.004 -46800.000
+15599.999 -0.005 -62500.000
+15599.999 -0.001 -15599.999
+15599.999 -0.002 -31199.998
+15599.999 0.005 62500.000
+15599.999 0.007 93700.000
+31199.998 -0.007 -93700.000
+31199.998 -0.009 -125000.000
+31199.998 0.009 125000.000
+31199.998 0.014 187500.000
+31199.998 0.007 93700.000
+62500.000 -0.014 -187500.000
+62500.000 -0.019 -250000.000
+31199.998 0.001 15599.999
+31199.998 -0.004 -46800.000
+31199.998 -0.001 -15599.999
+31199.998 0.004 46800.000
+31199.998 0.000 0.000
+31199.998 0.002 31199.998
+31199.998 -0.005 -62500.000
+31199.998 -0.002 -31199.998
+31199.998 0.005 62500.000
+62500.000 0.014 187500.000
+46800.000 0.005 62500.000
+46800.000 -0.007 -93700.000
+46800.000 0.001 15599.999
+46800.000 0.000 0.000
+46800.000 -0.004 -46800.000
+46800.000 -0.005 -62500.000
+46800.000 -0.001 -15599.999
+46800.000 -0.002 -31199.998
+46800.000 0.002 31199.998
+46800.000 0.004 46800.000
+62500.000 0.019 250000.000
+62500.000 0.007 93700.000
+62500.000 -0.009 -125000.000
+62500.000 0.009 125000.000
+62500.000 0.005 62500.000
+62500.000 -0.004 -46800.000
+62500.000 -0.001 -15599.999
+62500.000 0.004 46800.000
+62500.000 0.001 15599.999
+62500.000 -0.007 -93700.000
+62500.000 0.000 0.000
+62500.000 -0.005 -62500.000
+62500.000 -0.002 -31199.998
+62500.000 0.002 31199.998
+93700.000 0.009 125000.000
+93700.000 -0.014 -187500.000
+93700.000 -0.007 -93700.000
+93700.000 -0.009 -125000.000
+93700.000 0.005 62500.000
+93700.000 0.007 93700.000
+93700.000 -0.004 -46800.000
+93700.000 -0.005 -62500.000
+93700.000 -0.002 -31199.998
+93700.000 0.001 15599.999
+93700.000 0.000 0.000
+93700.000 0.002 31199.998
+125000.000 0.014 187500.000
+125000.000 -0.019 -250000.000
+125000.000 0.009 125000.000
+125000.000 -0.007 -93700.000
+125000.000 -0.002 -31199.998
+125000.000 0.007 93700.000
+125000.000 0.002 31199.998
+125000.000 -0.014 -187500.000
+125000.000 0.019 250000.000
+125000.000 -0.009 -125000.000
+125000.000 0.005 62500.000
+125000.000 -0.005 -62500.000
+125000.000 0.000 0.000
+187500.000 -0.014 -187500.000
+187500.000 -0.019 -250000.000
+187500.000 0.014 187500.000
+187500.000 0.009 125000.000
+187500.000 -0.007 -93700.000
+187500.000 -0.009 -125000.000
+187500.000 -0.005 -62500.000
+187500.000 0.002 31199.998
+187500.000 0.000 0.000
+187500.000 0.005 62500.000
+187500.000 0.019 250000.000
+250000.000 0.005 62500.000
+250000.000 0.014 187500.000
+250000.000 -0.014 -187500.000
+250000.000 -0.005 -62500.000
+250000.000 -0.019 -250000.000
+250000.000 0.009 125000.000
+250000.000 -0.009 -125000.000
+250000.000 0.000 0.000
+250000.000 0.019 250000.000
+3 0 1 2 1.000 1.000 1.000
+3 3 4 5 1.000 1.000 1.000
+3 6 7 4 1.000 1.000 1.000
+3 8 9 10 1.000 1.000 1.000
+3 11 5 9 1.000 1.000 1.000
+3 12 13 14 1.000 1.000 1.000
+3 15 10 13 1.000 1.000 1.000
+3 16 2 7 1.000 1.000 1.000
+3 16 7 6 1.000 1.000 1.000
+3 12 14 17 1.000 1.000 1.000
+3 5 11 18 1.000 1.000 1.000
+3 5 18 3 1.000 1.000 1.000
+3 10 15 19 1.000 1.000 1.000
+3 10 19 8 1.000 1.000 1.000
+3 6 4 3 1.000 1.000 1.000
+3 11 9 8 1.000 1.000 1.000
+3 15 13 12 1.000 1.000 1.000
+3 0 2 16 1.000 1.000 1.000
+3 16 6 20 1.000 1.000 1.000
+3 12 17 21 1.000 1.000 1.000
+3 11 22 18 1.000 1.000 1.000
+3 18 23 3 1.000 1.000 1.000
+3 15 24 19 1.000 1.000 1.000
+3 19 25 8 1.000 1.000 1.000
+3 26 6 3 1.000 1.000 1.000
+3 27 11 8 1.000 1.000 1.000
+3 28 15 12 1.000 1.000 1.000
+3 29 0 16 1.000 1.000 1.000
+3 20 6 26 1.000 1.000 1.000
+3 29 16 20 1.000 1.000 1.000
+3 21 17 30 1.000 1.000 1.000
+3 28 12 21 1.000 1.000 1.000
+3 18 22 31 1.000 1.000 1.000
+3 11 27 22 1.000 1.000 1.000
+3 3 23 26 1.000 1.000 1.000
+3 18 31 23 1.000 1.000 1.000
+3 19 24 32 1.000 1.000 1.000
+3 15 28 24 1.000 1.000 1.000
+3 8 25 27 1.000 1.000 1.000
+3 19 32 25 1.000 1.000 1.000
+3 23 31 33 1.000 1.000 1.000
+3 26 23 34 1.000 1.000 1.000
+3 22 27 35 1.000 1.000 1.000
+3 31 22 36 1.000 1.000 1.000
+3 37 25 32 1.000 1.000 1.000
+3 38 27 25 1.000 1.000 1.000
+3 39 24 28 1.000 1.000 1.000
+3 40 32 24 1.000 1.000 1.000
+3 21 41 28 1.000 1.000 1.000
+3 30 42 21 1.000 1.000 1.000
+3 43 20 26 1.000 1.000 1.000
+3 44 29 20 1.000 1.000 1.000
+3 31 36 33 1.000 1.000 1.000
+3 39 28 41 1.000 1.000 1.000
+3 27 38 45 1.000 1.000 1.000
+3 27 45 35 1.000 1.000 1.000
+3 32 40 46 1.000 1.000 1.000
+3 32 46 37 1.000 1.000 1.000
+3 23 33 34 1.000 1.000 1.000
+3 22 35 36 1.000 1.000 1.000
+3 38 25 37 1.000 1.000 1.000
+3 40 24 39 1.000 1.000 1.000
+3 42 41 21 1.000 1.000 1.000
+3 30 47 42 1.000 1.000 1.000
+3 43 26 34 1.000 1.000 1.000
+3 47 30 48 1.000 1.000 1.000
+3 44 20 43 1.000 1.000 1.000
+3 36 49 33 1.000 1.000 1.000
+3 39 41 50 1.000 1.000 1.000
+3 38 51 45 1.000 1.000 1.000
+3 45 52 35 1.000 1.000 1.000
+3 40 53 46 1.000 1.000 1.000
+3 46 54 37 1.000 1.000 1.000
+3 34 33 55 1.000 1.000 1.000
+3 36 35 56 1.000 1.000 1.000
+3 57 38 37 1.000 1.000 1.000
+3 58 40 39 1.000 1.000 1.000
+3 42 59 41 1.000 1.000 1.000
+3 33 49 55 1.000 1.000 1.000
+3 36 56 49 1.000 1.000 1.000
+3 50 41 59 1.000 1.000 1.000
+3 58 39 50 1.000 1.000 1.000
+3 45 51 60 1.000 1.000 1.000
+3 38 57 51 1.000 1.000 1.000
+3 35 52 56 1.000 1.000 1.000
+3 45 60 52 1.000 1.000 1.000
+3 46 53 61 1.000 1.000 1.000
+3 40 58 53 1.000 1.000 1.000
+3 37 54 57 1.000 1.000 1.000
+3 46 61 54 1.000 1.000 1.000
+3 42 62 59 1.000 1.000 1.000
+3 47 62 42 1.000 1.000 1.000
+3 63 34 55 1.000 1.000 1.000
+3 43 34 63 1.000 1.000 1.000
+3 52 60 64 1.000 1.000 1.000
+3 56 52 65 1.000 1.000 1.000
+3 51 57 66 1.000 1.000 1.000
+3 60 51 67 1.000 1.000 1.000
+3 68 54 61 1.000 1.000 1.000
+3 69 57 54 1.000 1.000 1.000
+3 70 53 58 1.000 1.000 1.000
+3 71 61 53 1.000 1.000 1.000
+3 50 72 58 1.000 1.000 1.000
+3 59 73 50 1.000 1.000 1.000
+3 49 56 74 1.000 1.000 1.000
+3 55 49 75 1.000 1.000 1.000
+3 60 67 64 1.000 1.000 1.000
+3 68 61 71 1.000 1.000 1.000
+3 70 58 72 1.000 1.000 1.000
+3 66 57 69 1.000 1.000 1.000
+3 52 64 65 1.000 1.000 1.000
+3 51 66 67 1.000 1.000 1.000
+3 69 54 68 1.000 1.000 1.000
+3 71 53 70 1.000 1.000 1.000
+3 73 72 50 1.000 1.000 1.000
+3 59 76 73 1.000 1.000 1.000
+3 74 56 65 1.000 1.000 1.000
+3 76 59 62 1.000 1.000 1.000
+3 63 55 75 1.000 1.000 1.000
+3 47 48 77 1.000 1.000 1.000
+3 49 74 75 1.000 1.000 1.000
+3 67 78 64 1.000 1.000 1.000
+3 68 71 79 1.000 1.000 1.000
+3 70 72 80 1.000 1.000 1.000
+3 66 69 81 1.000 1.000 1.000
+3 65 64 82 1.000 1.000 1.000
+3 67 66 83 1.000 1.000 1.000
+3 84 69 68 1.000 1.000 1.000
+3 85 71 70 1.000 1.000 1.000
+3 73 86 72 1.000 1.000 1.000
+3 87 44 43 1.000 1.000 1.000
+3 64 78 82 1.000 1.000 1.000
+3 67 83 78 1.000 1.000 1.000
+3 79 71 85 1.000 1.000 1.000
+3 84 68 79 1.000 1.000 1.000
+3 80 72 86 1.000 1.000 1.000
+3 85 70 80 1.000 1.000 1.000
+3 81 69 84 1.000 1.000 1.000
+3 83 66 81 1.000 1.000 1.000
+3 73 88 86 1.000 1.000 1.000
+3 76 88 73 1.000 1.000 1.000
+3 89 65 82 1.000 1.000 1.000
+3 74 65 89 1.000 1.000 1.000
+3 47 90 62 1.000 1.000 1.000
+3 87 43 63 1.000 1.000 1.000
+3 78 83 91 1.000 1.000 1.000
+3 82 78 92 1.000 1.000 1.000
+3 93 79 85 1.000 1.000 1.000
+3 94 84 79 1.000 1.000 1.000
+3 80 86 95 1.000 1.000 1.000
+3 85 80 96 1.000 1.000 1.000
+3 81 84 97 1.000 1.000 1.000
+3 83 81 98 1.000 1.000 1.000
+3 93 85 96 1.000 1.000 1.000
+3 95 86 88 1.000 1.000 1.000
+3 91 83 98 1.000 1.000 1.000
+3 97 84 94 1.000 1.000 1.000
+3 89 82 92 1.000 1.000 1.000
+3 76 62 99 1.000 1.000 1.000
+3 63 75 100 1.000 1.000 1.000
+3 78 91 92 1.000 1.000 1.000
+3 94 79 93 1.000 1.000 1.000
+3 80 95 96 1.000 1.000 1.000
+3 81 97 98 1.000 1.000 1.000
+3 77 48 101 1.000 1.000 1.000
+3 90 47 77 1.000 1.000 1.000
+3 75 74 102 1.000 1.000 1.000
+3 76 103 88 1.000 1.000 1.000
+3 102 74 89 1.000 1.000 1.000
+3 93 96 104 1.000 1.000 1.000
+3 95 88 105 1.000 1.000 1.000
+3 91 98 106 1.000 1.000 1.000
+3 97 94 107 1.000 1.000 1.000
+3 89 92 108 1.000 1.000 1.000
+3 99 62 90 1.000 1.000 1.000
+3 103 76 99 1.000 1.000 1.000
+3 100 75 102 1.000 1.000 1.000
+3 87 63 100 1.000 1.000 1.000
+3 92 91 109 1.000 1.000 1.000
+3 110 94 93 1.000 1.000 1.000
+3 96 95 111 1.000 1.000 1.000
+3 98 97 112 1.000 1.000 1.000
+3 104 96 111 1.000 1.000 1.000
+3 110 93 104 1.000 1.000 1.000
+3 105 88 103 1.000 1.000 1.000
+3 111 95 105 1.000 1.000 1.000
+3 106 98 112 1.000 1.000 1.000
+3 109 91 106 1.000 1.000 1.000
+3 107 94 110 1.000 1.000 1.000
+3 112 97 107 1.000 1.000 1.000
+3 108 92 109 1.000 1.000 1.000
+3 102 89 108 1.000 1.000 1.000
+3 104 111 113 1.000 1.000 1.000
+3 110 104 114 1.000 1.000 1.000
+3 105 103 115 1.000 1.000 1.000
+3 111 105 116 1.000 1.000 1.000
+3 117 106 112 1.000 1.000 1.000
+3 118 109 106 1.000 1.000 1.000
+3 119 107 110 1.000 1.000 1.000
+3 120 112 107 1.000 1.000 1.000
+3 99 121 103 1.000 1.000 1.000
+3 90 122 99 1.000 1.000 1.000
+3 123 108 109 1.000 1.000 1.000
+3 124 102 108 1.000 1.000 1.000
+3 77 125 90 1.000 1.000 1.000
+3 101 126 77 1.000 1.000 1.000
+3 111 116 113 1.000 1.000 1.000
+3 117 112 120 1.000 1.000 1.000
+3 119 110 114 1.000 1.000 1.000
+3 103 121 115 1.000 1.000 1.000
+3 104 113 114 1.000 1.000 1.000
+3 105 115 116 1.000 1.000 1.000
+3 118 106 117 1.000 1.000 1.000
+3 120 107 119 1.000 1.000 1.000
+3 122 121 99 1.000 1.000 1.000
+3 90 127 122 1.000 1.000 1.000
+3 123 109 118 1.000 1.000 1.000
+3 128 100 102 1.000 1.000 1.000
+3 129 87 100 1.000 1.000 1.000
+3 90 125 127 1.000 1.000 1.000
+3 124 108 123 1.000 1.000 1.000
+3 126 125 77 1.000 1.000 1.000
+3 116 130 113 1.000 1.000 1.000
+3 117 120 131 1.000 1.000 1.000
+3 119 114 132 1.000 1.000 1.000
+3 121 133 115 1.000 1.000 1.000
+3 114 113 134 1.000 1.000 1.000
+3 116 115 135 1.000 1.000 1.000
+3 136 118 117 1.000 1.000 1.000
+3 137 120 119 1.000 1.000 1.000
+3 122 138 121 1.000 1.000 1.000
+3 113 130 134 1.000 1.000 1.000
+3 116 135 130 1.000 1.000 1.000
+3 131 120 137 1.000 1.000 1.000
+3 136 117 131 1.000 1.000 1.000
+3 132 114 134 1.000 1.000 1.000
+3 137 119 132 1.000 1.000 1.000
+3 115 133 135 1.000 1.000 1.000
+3 121 138 133 1.000 1.000 1.000
+3 101 139 126 1.000 1.000 1.000
+3 128 102 124 1.000 1.000 1.000
+3 122 140 138 1.000 1.000 1.000
+3 127 140 122 1.000 1.000 1.000
+3 141 118 136 1.000 1.000 1.000
+3 123 118 141 1.000 1.000 1.000
+3 130 135 142 1.000 1.000 1.000
+3 134 130 143 1.000 1.000 1.000
+3 144 131 137 1.000 1.000 1.000
+3 145 136 131 1.000 1.000 1.000
+3 132 134 146 1.000 1.000 1.000
+3 137 132 147 1.000 1.000 1.000
+3 133 148 135 1.000 1.000 1.000
+3 138 149 133 1.000 1.000 1.000
+3 139 101 150 1.000 1.000 1.000
+3 144 137 147 1.000 1.000 1.000
+3 146 134 143 1.000 1.000 1.000
+3 138 140 149 1.000 1.000 1.000
+3 135 148 142 1.000 1.000 1.000
+3 141 136 145 1.000 1.000 1.000
+3 129 100 128 1.000 1.000 1.000
+3 125 151 127 1.000 1.000 1.000
+3 130 142 143 1.000 1.000 1.000
+3 145 131 144 1.000 1.000 1.000
+3 132 146 147 1.000 1.000 1.000
+3 149 148 133 1.000 1.000 1.000
+3 152 124 123 1.000 1.000 1.000
+3 126 153 125 1.000 1.000 1.000
+3 127 154 140 1.000 1.000 1.000
+3 152 123 141 1.000 1.000 1.000
+3 144 147 155 1.000 1.000 1.000
+3 146 143 156 1.000 1.000 1.000
+3 140 157 149 1.000 1.000 1.000
+3 148 158 142 1.000 1.000 1.000
+3 141 145 159 1.000 1.000 1.000
+3 127 151 154 1.000 1.000 1.000
+3 125 153 151 1.000 1.000 1.000
+3 143 142 160 1.000 1.000 1.000
+3 161 145 144 1.000 1.000 1.000
+3 147 146 162 1.000 1.000 1.000
+3 149 163 148 1.000 1.000 1.000
+3 155 147 162 1.000 1.000 1.000
+3 161 144 155 1.000 1.000 1.000
+3 156 143 160 1.000 1.000 1.000
+3 162 146 156 1.000 1.000 1.000
+3 149 157 163 1.000 1.000 1.000
+3 140 154 157 1.000 1.000 1.000
+3 142 158 160 1.000 1.000 1.000
+3 148 163 158 1.000 1.000 1.000
+3 159 145 161 1.000 1.000 1.000
+3 152 141 159 1.000 1.000 1.000
+3 126 164 153 1.000 1.000 1.000
+3 139 164 126 1.000 1.000 1.000
+3 165 124 152 1.000 1.000 1.000
+3 128 124 165 1.000 1.000 1.000
+3 166 159 161 1.000 1.000 1.000
+3 167 152 159 1.000 1.000 1.000
+3 151 168 154 1.000 1.000 1.000
+3 153 169 151 1.000 1.000 1.000
+3 170 155 162 1.000 1.000 1.000
+3 171 161 155 1.000 1.000 1.000
+3 172 156 160 1.000 1.000 1.000
+3 170 162 156 1.000 1.000 1.000
+3 173 158 163 1.000 1.000 1.000
+3 174 160 158 1.000 1.000 1.000
+3 175 157 154 1.000 1.000 1.000
+3 173 163 157 1.000 1.000 1.000
+3 166 161 171 1.000 1.000 1.000
+3 172 160 174 1.000 1.000 1.000
+3 153 164 169 1.000 1.000 1.000
+3 154 168 175 1.000 1.000 1.000
+3 165 152 167 1.000 1.000 1.000
+3 139 150 176 1.000 1.000 1.000
+3 167 159 166 1.000 1.000 1.000
+3 169 168 151 1.000 1.000 1.000
+3 171 155 170 1.000 1.000 1.000
+3 170 156 172 1.000 1.000 1.000
+3 174 158 173 1.000 1.000 1.000
+3 173 157 175 1.000 1.000 1.000
+3 177 129 128 1.000 1.000 1.000
+3 139 178 164 1.000 1.000 1.000
+3 177 128 165 1.000 1.000 1.000
+3 166 171 179 1.000 1.000 1.000
+3 172 174 180 1.000 1.000 1.000
+3 164 181 169 1.000 1.000 1.000
+3 168 182 175 1.000 1.000 1.000
+3 165 167 183 1.000 1.000 1.000
+3 176 150 184 1.000 1.000 1.000
+3 178 139 176 1.000 1.000 1.000
+3 185 167 166 1.000 1.000 1.000
+3 169 186 168 1.000 1.000 1.000
+3 187 171 170 1.000 1.000 1.000
+3 187 170 172 1.000 1.000 1.000
+3 188 174 173 1.000 1.000 1.000
+3 188 173 175 1.000 1.000 1.000
+3 179 171 187 1.000 1.000 1.000
+3 185 166 179 1.000 1.000 1.000
+3 180 174 188 1.000 1.000 1.000
+3 187 172 180 1.000 1.000 1.000
+3 169 181 186 1.000 1.000 1.000
+3 164 178 181 1.000 1.000 1.000
+3 175 182 188 1.000 1.000 1.000
+3 168 186 182 1.000 1.000 1.000
+3 183 167 185 1.000 1.000 1.000
+3 177 165 183 1.000 1.000 1.000
+3 189 183 185 1.000 1.000 1.000
+3 190 177 183 1.000 1.000 1.000
+3 176 184 191 1.000 1.000 1.000
+3 178 176 192 1.000 1.000 1.000
+3 193 179 187 1.000 1.000 1.000
+3 194 185 179 1.000 1.000 1.000
+3 195 180 188 1.000 1.000 1.000
+3 193 187 180 1.000 1.000 1.000
+3 196 182 186 1.000 1.000 1.000
+3 197 188 182 1.000 1.000 1.000
+3 198 181 178 1.000 1.000 1.000
+3 196 186 181 1.000 1.000 1.000
+3 198 178 192 1.000 1.000 1.000
+3 191 184 199 1.000 1.000 1.000
+3 189 185 194 1.000 1.000 1.000
+3 195 188 197 1.000 1.000 1.000
+3 190 183 189 1.000 1.000 1.000
+3 176 191 192 1.000 1.000 1.000
+3 194 179 193 1.000 1.000 1.000
+3 193 180 195 1.000 1.000 1.000
+3 197 182 196 1.000 1.000 1.000
+3 196 181 198 1.000 1.000 1.000
+3 198 192 200 1.000 1.000 1.000
+3 191 199 201 1.000 1.000 1.000
+3 189 194 202 1.000 1.000 1.000
+3 195 197 203 1.000 1.000 1.000
+3 204 190 189 1.000 1.000 1.000
+3 192 191 205 1.000 1.000 1.000
+3 206 194 193 1.000 1.000 1.000
+3 206 193 195 1.000 1.000 1.000
+3 207 197 196 1.000 1.000 1.000
+3 207 196 198 1.000 1.000 1.000
+3 200 192 205 1.000 1.000 1.000
+3 207 198 200 1.000 1.000 1.000
+3 201 199 208 1.000 1.000 1.000
+3 205 191 201 1.000 1.000 1.000
+3 202 194 206 1.000 1.000 1.000
+3 204 189 202 1.000 1.000 1.000
+3 203 197 207 1.000 1.000 1.000
+3 206 195 203 1.000 1.000 1.000
diff --git a/data/models/streets/path.off b/data/models/streets/path.off
new file mode 100644
index 0000000..4e24290
--- /dev/null
+++ b/data/models/streets/path.off
@@ -0,0 +1,18 @@
+9 8 0
+-130.400 0.000 120.800
+0.000 0.000 0.000
+-130.400 -0.000 -120.800
+-124.800 -0.000 -129.600
+-122.400 0.000 125.600
+121.600 -0.000 -128.800
+120.800 0.000 127.200
+125.600 0.000 119.200
+127.200 -0.000 -120.000
+3 0 1 2 1.000 1.000 1.000
+3 2 1 3 1.000 1.000 1.000
+3 4 1 0 1.000 1.000 1.000
+3 3 1 5 1.000 1.000 1.000
+3 6 1 4 1.000 1.000 1.000
+3 7 1 6 1.000 1.000 1.000
+3 5 1 8 1.000 1.000 1.000
+3 8 1 7 1.000 1.000 1.000
diff --git a/data/models/streets/small.off b/data/models/streets/small.off
new file mode 100644
index 0000000..dff1b5e
--- /dev/null
+++ b/data/models/streets/small.off
@@ -0,0 +1,594 @@
+209 384 0
+-18.750 -0.000 -25.000
+-25.000 -0.000 -25.000
+-25.000 -0.000 -18.750
+-18.750 -0.000 -6.250
+-25.000 -0.000 -6.250
+-25.000 0.000 0.000
+-18.750 -0.000 -12.500
+-25.000 -0.000 -12.500
+-18.750 0.000 6.250
+-25.000 0.000 6.250
+-25.000 0.000 12.500
+-18.750 0.000 0.000
+-18.750 0.000 18.750
+-25.000 0.000 18.750
+-25.000 0.000 25.000
+-18.750 0.000 12.500
+-18.750 -0.000 -18.750
+-18.750 0.000 25.000
+-18.750 -0.000 -3.120
+-18.750 0.000 9.370
+-12.500 -0.000 -18.750
+-12.500 0.000 18.750
+-12.500 -0.000 -3.120
+-12.500 -0.000 -9.370
+-12.500 0.000 9.370
+-12.500 0.000 3.120
+-12.500 -0.000 -12.500
+-12.500 0.000 0.000
+-12.500 0.000 12.500
+-12.500 -0.000 -25.000
+-12.500 0.000 25.000
+-12.500 -0.000 -6.250
+-12.500 0.000 6.250
+-9.370 -0.000 -9.370
+-9.370 -0.000 -12.500
+-9.370 -0.000 -3.120
+-9.370 -0.000 -6.250
+-9.370 0.000 3.120
+-9.370 0.000 0.000
+-9.370 0.000 9.370
+-9.370 0.000 6.250
+-9.370 0.000 12.500
+-9.370 0.000 18.750
+-6.250 -0.000 -18.750
+-6.250 -0.000 -25.000
+-9.370 -0.000 -1.560
+-9.370 0.000 4.680
+-6.250 0.000 18.750
+-6.250 0.000 25.000
+-6.250 -0.000 -9.370
+-6.250 0.000 9.370
+-6.250 -0.000 -1.560
+-6.250 -0.000 -4.680
+-6.250 0.000 4.680
+-6.250 0.000 1.560
+-6.250 -0.000 -12.500
+-6.250 -0.000 -6.250
+-6.250 0.000 0.000
+-6.250 0.000 6.250
+-6.250 0.000 12.500
+-6.250 -0.000 -3.120
+-6.250 0.000 3.120
+-3.120 0.000 12.500
+-3.120 -0.000 -18.750
+-4.680 -0.000 -4.680
+-4.680 -0.000 -6.250
+-4.680 -0.000 -1.560
+-4.680 -0.000 -3.120
+-4.680 0.000 1.560
+-4.680 0.000 0.000
+-4.680 0.000 4.680
+-4.680 0.000 3.120
+-4.680 0.000 6.250
+-4.680 0.000 9.370
+-3.120 -0.000 -9.370
+-3.120 -0.000 -12.500
+-3.120 0.000 9.370
+0.000 0.000 18.750
+-3.120 -0.000 -4.680
+-3.120 0.000 1.560
+-3.120 0.000 4.680
+-3.120 -0.000 -1.560
+-3.120 -0.000 -6.250
+-3.120 -0.000 -3.120
+-3.120 0.000 0.000
+-3.120 0.000 3.120
+-3.120 0.000 6.250
+0.000 -0.000 -25.000
+-1.560 0.000 6.250
+-1.560 -0.000 -9.370
+0.000 0.000 12.500
+-1.560 -0.000 -4.680
+-1.560 -0.000 -6.250
+-1.560 0.000 1.560
+-1.560 0.000 0.000
+-1.560 0.000 4.680
+-1.560 0.000 3.120
+-1.560 -0.000 -1.560
+-1.560 -0.000 -3.120
+0.000 0.000 9.370
+0.000 -0.000 -18.750
+0.000 0.000 25.000
+0.000 -0.000 -12.500
+0.000 0.000 6.250
+0.000 0.000 1.560
+0.000 0.000 4.680
+0.000 -0.000 -4.680
+0.000 -0.000 -1.560
+0.000 -0.000 -9.370
+0.000 -0.000 -6.250
+0.000 0.000 0.000
+0.000 0.000 3.120
+0.000 -0.000 -3.120
+1.560 0.000 1.560
+1.560 0.000 0.000
+1.560 0.000 4.680
+1.560 0.000 3.120
+1.560 -0.000 -4.680
+1.560 -0.000 -6.250
+1.560 -0.000 -1.560
+1.560 -0.000 -3.120
+1.560 0.000 6.250
+1.560 0.000 9.370
+3.120 -0.000 -9.370
+3.120 -0.000 -12.500
+3.120 0.000 12.500
+3.120 0.000 18.750
+3.120 0.000 9.370
+6.250 -0.000 -18.750
+6.250 -0.000 -25.000
+3.120 0.000 1.560
+3.120 -0.000 -4.680
+3.120 -0.000 -1.560
+3.120 0.000 4.680
+3.120 0.000 0.000
+3.120 0.000 3.120
+3.120 -0.000 -6.250
+3.120 -0.000 -3.120
+3.120 0.000 6.250
+6.250 0.000 18.750
+4.680 0.000 6.250
+4.680 -0.000 -9.370
+4.680 0.000 1.560
+4.680 0.000 0.000
+4.680 -0.000 -4.680
+4.680 -0.000 -6.250
+4.680 -0.000 -1.560
+4.680 -0.000 -3.120
+4.680 0.000 3.120
+4.680 0.000 4.680
+6.250 0.000 25.000
+6.250 0.000 9.370
+6.250 -0.000 -12.500
+6.250 0.000 12.500
+6.250 0.000 6.250
+6.250 -0.000 -4.680
+6.250 -0.000 -1.560
+6.250 0.000 4.680
+6.250 0.000 1.560
+6.250 -0.000 -9.370
+6.250 0.000 0.000
+6.250 -0.000 -6.250
+6.250 -0.000 -3.120
+6.250 0.000 3.120
+9.370 0.000 12.500
+9.370 -0.000 -18.750
+9.370 -0.000 -9.370
+9.370 -0.000 -12.500
+9.370 0.000 6.250
+9.370 0.000 9.370
+9.370 -0.000 -4.680
+9.370 -0.000 -6.250
+9.370 -0.000 -3.120
+9.370 0.000 1.560
+9.370 0.000 0.000
+9.370 0.000 3.120
+12.500 0.000 18.750
+12.500 -0.000 -25.000
+12.500 0.000 12.500
+12.500 -0.000 -9.370
+12.500 -0.000 -3.120
+12.500 0.000 9.370
+12.500 0.000 3.120
+12.500 -0.000 -18.750
+12.500 0.000 25.000
+12.500 -0.000 -12.500
+12.500 0.000 6.250
+12.500 -0.000 -6.250
+12.500 0.000 0.000
+18.750 -0.000 -18.750
+18.750 -0.000 -25.000
+18.750 0.000 18.750
+18.750 0.000 12.500
+18.750 -0.000 -9.370
+18.750 -0.000 -12.500
+18.750 -0.000 -6.250
+18.750 0.000 3.120
+18.750 0.000 0.000
+18.750 0.000 6.250
+18.750 0.000 25.000
+25.000 0.000 6.250
+25.000 0.000 18.750
+25.000 -0.000 -18.750
+25.000 -0.000 -6.250
+25.000 -0.000 -25.000
+25.000 0.000 12.500
+25.000 -0.000 -12.500
+25.000 0.000 0.000
+25.000 0.000 25.000
+3 0 1 2 1.000 1.000 1.000
+3 3 4 5 1.000 1.000 1.000
+3 6 7 4 1.000 1.000 1.000
+3 8 9 10 1.000 1.000 1.000
+3 11 5 9 1.000 1.000 1.000
+3 12 13 14 1.000 1.000 1.000
+3 15 10 13 1.000 1.000 1.000
+3 16 2 7 1.000 1.000 1.000
+3 16 7 6 1.000 1.000 1.000
+3 12 14 17 1.000 1.000 1.000
+3 5 11 18 1.000 1.000 1.000
+3 5 18 3 1.000 1.000 1.000
+3 10 15 19 1.000 1.000 1.000
+3 10 19 8 1.000 1.000 1.000
+3 6 4 3 1.000 1.000 1.000
+3 11 9 8 1.000 1.000 1.000
+3 15 13 12 1.000 1.000 1.000
+3 0 2 16 1.000 1.000 1.000
+3 16 6 20 1.000 1.000 1.000
+3 12 17 21 1.000 1.000 1.000
+3 11 22 18 1.000 1.000 1.000
+3 18 23 3 1.000 1.000 1.000
+3 15 24 19 1.000 1.000 1.000
+3 19 25 8 1.000 1.000 1.000
+3 26 6 3 1.000 1.000 1.000
+3 27 11 8 1.000 1.000 1.000
+3 28 15 12 1.000 1.000 1.000
+3 29 0 16 1.000 1.000 1.000
+3 20 6 26 1.000 1.000 1.000
+3 29 16 20 1.000 1.000 1.000
+3 21 17 30 1.000 1.000 1.000
+3 28 12 21 1.000 1.000 1.000
+3 18 22 31 1.000 1.000 1.000
+3 11 27 22 1.000 1.000 1.000
+3 3 23 26 1.000 1.000 1.000
+3 18 31 23 1.000 1.000 1.000
+3 19 24 32 1.000 1.000 1.000
+3 15 28 24 1.000 1.000 1.000
+3 8 25 27 1.000 1.000 1.000
+3 19 32 25 1.000 1.000 1.000
+3 23 31 33 1.000 1.000 1.000
+3 26 23 34 1.000 1.000 1.000
+3 22 27 35 1.000 1.000 1.000
+3 31 22 36 1.000 1.000 1.000
+3 37 25 32 1.000 1.000 1.000
+3 38 27 25 1.000 1.000 1.000
+3 39 24 28 1.000 1.000 1.000
+3 40 32 24 1.000 1.000 1.000
+3 21 41 28 1.000 1.000 1.000
+3 30 42 21 1.000 1.000 1.000
+3 43 20 26 1.000 1.000 1.000
+3 44 29 20 1.000 1.000 1.000
+3 31 36 33 1.000 1.000 1.000
+3 39 28 41 1.000 1.000 1.000
+3 27 38 45 1.000 1.000 1.000
+3 27 45 35 1.000 1.000 1.000
+3 32 40 46 1.000 1.000 1.000
+3 32 46 37 1.000 1.000 1.000
+3 23 33 34 1.000 1.000 1.000
+3 22 35 36 1.000 1.000 1.000
+3 38 25 37 1.000 1.000 1.000
+3 40 24 39 1.000 1.000 1.000
+3 42 41 21 1.000 1.000 1.000
+3 30 47 42 1.000 1.000 1.000
+3 43 26 34 1.000 1.000 1.000
+3 47 30 48 1.000 1.000 1.000
+3 44 20 43 1.000 1.000 1.000
+3 36 49 33 1.000 1.000 1.000
+3 39 41 50 1.000 1.000 1.000
+3 38 51 45 1.000 1.000 1.000
+3 45 52 35 1.000 1.000 1.000
+3 40 53 46 1.000 1.000 1.000
+3 46 54 37 1.000 1.000 1.000
+3 34 33 55 1.000 1.000 1.000
+3 36 35 56 1.000 1.000 1.000
+3 57 38 37 1.000 1.000 1.000
+3 58 40 39 1.000 1.000 1.000
+3 42 59 41 1.000 1.000 1.000
+3 33 49 55 1.000 1.000 1.000
+3 36 56 49 1.000 1.000 1.000
+3 50 41 59 1.000 1.000 1.000
+3 58 39 50 1.000 1.000 1.000
+3 45 51 60 1.000 1.000 1.000
+3 38 57 51 1.000 1.000 1.000
+3 35 52 56 1.000 1.000 1.000
+3 45 60 52 1.000 1.000 1.000
+3 46 53 61 1.000 1.000 1.000
+3 40 58 53 1.000 1.000 1.000
+3 37 54 57 1.000 1.000 1.000
+3 46 61 54 1.000 1.000 1.000
+3 42 62 59 1.000 1.000 1.000
+3 47 62 42 1.000 1.000 1.000
+3 63 34 55 1.000 1.000 1.000
+3 43 34 63 1.000 1.000 1.000
+3 52 60 64 1.000 1.000 1.000
+3 56 52 65 1.000 1.000 1.000
+3 51 57 66 1.000 1.000 1.000
+3 60 51 67 1.000 1.000 1.000
+3 68 54 61 1.000 1.000 1.000
+3 69 57 54 1.000 1.000 1.000
+3 70 53 58 1.000 1.000 1.000
+3 71 61 53 1.000 1.000 1.000
+3 50 72 58 1.000 1.000 1.000
+3 59 73 50 1.000 1.000 1.000
+3 49 56 74 1.000 1.000 1.000
+3 55 49 75 1.000 1.000 1.000
+3 60 67 64 1.000 1.000 1.000
+3 68 61 71 1.000 1.000 1.000
+3 70 58 72 1.000 1.000 1.000
+3 66 57 69 1.000 1.000 1.000
+3 52 64 65 1.000 1.000 1.000
+3 51 66 67 1.000 1.000 1.000
+3 69 54 68 1.000 1.000 1.000
+3 71 53 70 1.000 1.000 1.000
+3 73 72 50 1.000 1.000 1.000
+3 59 76 73 1.000 1.000 1.000
+3 74 56 65 1.000 1.000 1.000
+3 76 59 62 1.000 1.000 1.000
+3 63 55 75 1.000 1.000 1.000
+3 47 48 77 1.000 1.000 1.000
+3 49 74 75 1.000 1.000 1.000
+3 67 78 64 1.000 1.000 1.000
+3 68 71 79 1.000 1.000 1.000
+3 70 72 80 1.000 1.000 1.000
+3 66 69 81 1.000 1.000 1.000
+3 65 64 82 1.000 1.000 1.000
+3 67 66 83 1.000 1.000 1.000
+3 84 69 68 1.000 1.000 1.000
+3 85 71 70 1.000 1.000 1.000
+3 73 86 72 1.000 1.000 1.000
+3 87 44 43 1.000 1.000 1.000
+3 64 78 82 1.000 1.000 1.000
+3 67 83 78 1.000 1.000 1.000
+3 79 71 85 1.000 1.000 1.000
+3 84 68 79 1.000 1.000 1.000
+3 80 72 86 1.000 1.000 1.000
+3 85 70 80 1.000 1.000 1.000
+3 81 69 84 1.000 1.000 1.000
+3 83 66 81 1.000 1.000 1.000
+3 73 88 86 1.000 1.000 1.000
+3 76 88 73 1.000 1.000 1.000
+3 89 65 82 1.000 1.000 1.000
+3 74 65 89 1.000 1.000 1.000
+3 47 90 62 1.000 1.000 1.000
+3 87 43 63 1.000 1.000 1.000
+3 78 83 91 1.000 1.000 1.000
+3 82 78 92 1.000 1.000 1.000
+3 93 79 85 1.000 1.000 1.000
+3 94 84 79 1.000 1.000 1.000
+3 80 86 95 1.000 1.000 1.000
+3 85 80 96 1.000 1.000 1.000
+3 81 84 97 1.000 1.000 1.000
+3 83 81 98 1.000 1.000 1.000
+3 93 85 96 1.000 1.000 1.000
+3 95 86 88 1.000 1.000 1.000
+3 91 83 98 1.000 1.000 1.000
+3 97 84 94 1.000 1.000 1.000
+3 89 82 92 1.000 1.000 1.000
+3 76 62 99 1.000 1.000 1.000
+3 63 75 100 1.000 1.000 1.000
+3 78 91 92 1.000 1.000 1.000
+3 94 79 93 1.000 1.000 1.000
+3 80 95 96 1.000 1.000 1.000
+3 81 97 98 1.000 1.000 1.000
+3 77 48 101 1.000 1.000 1.000
+3 90 47 77 1.000 1.000 1.000
+3 75 74 102 1.000 1.000 1.000
+3 76 103 88 1.000 1.000 1.000
+3 102 74 89 1.000 1.000 1.000
+3 93 96 104 1.000 1.000 1.000
+3 95 88 105 1.000 1.000 1.000
+3 91 98 106 1.000 1.000 1.000
+3 97 94 107 1.000 1.000 1.000
+3 89 92 108 1.000 1.000 1.000
+3 99 62 90 1.000 1.000 1.000
+3 103 76 99 1.000 1.000 1.000
+3 100 75 102 1.000 1.000 1.000
+3 87 63 100 1.000 1.000 1.000
+3 92 91 109 1.000 1.000 1.000
+3 110 94 93 1.000 1.000 1.000
+3 96 95 111 1.000 1.000 1.000
+3 98 97 112 1.000 1.000 1.000
+3 104 96 111 1.000 1.000 1.000
+3 110 93 104 1.000 1.000 1.000
+3 105 88 103 1.000 1.000 1.000
+3 111 95 105 1.000 1.000 1.000
+3 106 98 112 1.000 1.000 1.000
+3 109 91 106 1.000 1.000 1.000
+3 107 94 110 1.000 1.000 1.000
+3 112 97 107 1.000 1.000 1.000
+3 108 92 109 1.000 1.000 1.000
+3 102 89 108 1.000 1.000 1.000
+3 104 111 113 1.000 1.000 1.000
+3 110 104 114 1.000 1.000 1.000
+3 105 103 115 1.000 1.000 1.000
+3 111 105 116 1.000 1.000 1.000
+3 117 106 112 1.000 1.000 1.000
+3 118 109 106 1.000 1.000 1.000
+3 119 107 110 1.000 1.000 1.000
+3 120 112 107 1.000 1.000 1.000
+3 99 121 103 1.000 1.000 1.000
+3 90 122 99 1.000 1.000 1.000
+3 123 108 109 1.000 1.000 1.000
+3 124 102 108 1.000 1.000 1.000
+3 77 125 90 1.000 1.000 1.000
+3 101 126 77 1.000 1.000 1.000
+3 111 116 113 1.000 1.000 1.000
+3 117 112 120 1.000 1.000 1.000
+3 119 110 114 1.000 1.000 1.000
+3 103 121 115 1.000 1.000 1.000
+3 104 113 114 1.000 1.000 1.000
+3 105 115 116 1.000 1.000 1.000
+3 118 106 117 1.000 1.000 1.000
+3 120 107 119 1.000 1.000 1.000
+3 122 121 99 1.000 1.000 1.000
+3 90 127 122 1.000 1.000 1.000
+3 123 109 118 1.000 1.000 1.000
+3 128 100 102 1.000 1.000 1.000
+3 129 87 100 1.000 1.000 1.000
+3 90 125 127 1.000 1.000 1.000
+3 124 108 123 1.000 1.000 1.000
+3 126 125 77 1.000 1.000 1.000
+3 116 130 113 1.000 1.000 1.000
+3 117 120 131 1.000 1.000 1.000
+3 119 114 132 1.000 1.000 1.000
+3 121 133 115 1.000 1.000 1.000
+3 114 113 134 1.000 1.000 1.000
+3 116 115 135 1.000 1.000 1.000
+3 136 118 117 1.000 1.000 1.000
+3 137 120 119 1.000 1.000 1.000
+3 122 138 121 1.000 1.000 1.000
+3 113 130 134 1.000 1.000 1.000
+3 116 135 130 1.000 1.000 1.000
+3 131 120 137 1.000 1.000 1.000
+3 136 117 131 1.000 1.000 1.000
+3 132 114 134 1.000 1.000 1.000
+3 137 119 132 1.000 1.000 1.000
+3 115 133 135 1.000 1.000 1.000
+3 121 138 133 1.000 1.000 1.000
+3 101 139 126 1.000 1.000 1.000
+3 128 102 124 1.000 1.000 1.000
+3 122 140 138 1.000 1.000 1.000
+3 127 140 122 1.000 1.000 1.000
+3 141 118 136 1.000 1.000 1.000
+3 123 118 141 1.000 1.000 1.000
+3 130 135 142 1.000 1.000 1.000
+3 134 130 143 1.000 1.000 1.000
+3 144 131 137 1.000 1.000 1.000
+3 145 136 131 1.000 1.000 1.000
+3 132 134 146 1.000 1.000 1.000
+3 137 132 147 1.000 1.000 1.000
+3 133 148 135 1.000 1.000 1.000
+3 138 149 133 1.000 1.000 1.000
+3 139 101 150 1.000 1.000 1.000
+3 144 137 147 1.000 1.000 1.000
+3 146 134 143 1.000 1.000 1.000
+3 138 140 149 1.000 1.000 1.000
+3 135 148 142 1.000 1.000 1.000
+3 141 136 145 1.000 1.000 1.000
+3 129 100 128 1.000 1.000 1.000
+3 125 151 127 1.000 1.000 1.000
+3 130 142 143 1.000 1.000 1.000
+3 145 131 144 1.000 1.000 1.000
+3 132 146 147 1.000 1.000 1.000
+3 149 148 133 1.000 1.000 1.000
+3 152 124 123 1.000 1.000 1.000
+3 126 153 125 1.000 1.000 1.000
+3 127 154 140 1.000 1.000 1.000
+3 152 123 141 1.000 1.000 1.000
+3 144 147 155 1.000 1.000 1.000
+3 146 143 156 1.000 1.000 1.000
+3 140 157 149 1.000 1.000 1.000
+3 148 158 142 1.000 1.000 1.000
+3 141 145 159 1.000 1.000 1.000
+3 127 151 154 1.000 1.000 1.000
+3 125 153 151 1.000 1.000 1.000
+3 143 142 160 1.000 1.000 1.000
+3 161 145 144 1.000 1.000 1.000
+3 147 146 162 1.000 1.000 1.000
+3 149 163 148 1.000 1.000 1.000
+3 155 147 162 1.000 1.000 1.000
+3 161 144 155 1.000 1.000 1.000
+3 156 143 160 1.000 1.000 1.000
+3 162 146 156 1.000 1.000 1.000
+3 149 157 163 1.000 1.000 1.000
+3 140 154 157 1.000 1.000 1.000
+3 142 158 160 1.000 1.000 1.000
+3 148 163 158 1.000 1.000 1.000
+3 159 145 161 1.000 1.000 1.000
+3 152 141 159 1.000 1.000 1.000
+3 126 164 153 1.000 1.000 1.000
+3 139 164 126 1.000 1.000 1.000
+3 165 124 152 1.000 1.000 1.000
+3 128 124 165 1.000 1.000 1.000
+3 166 159 161 1.000 1.000 1.000
+3 167 152 159 1.000 1.000 1.000
+3 151 168 154 1.000 1.000 1.000
+3 153 169 151 1.000 1.000 1.000
+3 170 155 162 1.000 1.000 1.000
+3 171 161 155 1.000 1.000 1.000
+3 172 156 160 1.000 1.000 1.000
+3 170 162 156 1.000 1.000 1.000
+3 173 158 163 1.000 1.000 1.000
+3 174 160 158 1.000 1.000 1.000
+3 175 157 154 1.000 1.000 1.000
+3 173 163 157 1.000 1.000 1.000
+3 166 161 171 1.000 1.000 1.000
+3 172 160 174 1.000 1.000 1.000
+3 153 164 169 1.000 1.000 1.000
+3 154 168 175 1.000 1.000 1.000
+3 165 152 167 1.000 1.000 1.000
+3 139 150 176 1.000 1.000 1.000
+3 167 159 166 1.000 1.000 1.000
+3 169 168 151 1.000 1.000 1.000
+3 171 155 170 1.000 1.000 1.000
+3 170 156 172 1.000 1.000 1.000
+3 174 158 173 1.000 1.000 1.000
+3 173 157 175 1.000 1.000 1.000
+3 177 129 128 1.000 1.000 1.000
+3 139 178 164 1.000 1.000 1.000
+3 177 128 165 1.000 1.000 1.000
+3 166 171 179 1.000 1.000 1.000
+3 172 174 180 1.000 1.000 1.000
+3 164 181 169 1.000 1.000 1.000
+3 168 182 175 1.000 1.000 1.000
+3 165 167 183 1.000 1.000 1.000
+3 176 150 184 1.000 1.000 1.000
+3 178 139 176 1.000 1.000 1.000
+3 185 167 166 1.000 1.000 1.000
+3 169 186 168 1.000 1.000 1.000
+3 187 171 170 1.000 1.000 1.000
+3 187 170 172 1.000 1.000 1.000
+3 188 174 173 1.000 1.000 1.000
+3 188 173 175 1.000 1.000 1.000
+3 179 171 187 1.000 1.000 1.000
+3 185 166 179 1.000 1.000 1.000
+3 180 174 188 1.000 1.000 1.000
+3 187 172 180 1.000 1.000 1.000
+3 169 181 186 1.000 1.000 1.000
+3 164 178 181 1.000 1.000 1.000
+3 175 182 188 1.000 1.000 1.000
+3 168 186 182 1.000 1.000 1.000
+3 183 167 185 1.000 1.000 1.000
+3 177 165 183 1.000 1.000 1.000
+3 189 183 185 1.000 1.000 1.000
+3 190 177 183 1.000 1.000 1.000
+3 176 184 191 1.000 1.000 1.000
+3 178 176 192 1.000 1.000 1.000
+3 193 179 187 1.000 1.000 1.000
+3 194 185 179 1.000 1.000 1.000
+3 195 180 188 1.000 1.000 1.000
+3 193 187 180 1.000 1.000 1.000
+3 196 182 186 1.000 1.000 1.000
+3 197 188 182 1.000 1.000 1.000
+3 198 181 178 1.000 1.000 1.000
+3 196 186 181 1.000 1.000 1.000
+3 198 178 192 1.000 1.000 1.000
+3 191 184 199 1.000 1.000 1.000
+3 189 185 194 1.000 1.000 1.000
+3 195 188 197 1.000 1.000 1.000
+3 190 183 189 1.000 1.000 1.000
+3 176 191 192 1.000 1.000 1.000
+3 194 179 193 1.000 1.000 1.000
+3 193 180 195 1.000 1.000 1.000
+3 197 182 196 1.000 1.000 1.000
+3 196 181 198 1.000 1.000 1.000
+3 198 192 200 1.000 1.000 1.000
+3 191 199 201 1.000 1.000 1.000
+3 189 194 202 1.000 1.000 1.000
+3 195 197 203 1.000 1.000 1.000
+3 204 190 189 1.000 1.000 1.000
+3 192 191 205 1.000 1.000 1.000
+3 206 194 193 1.000 1.000 1.000
+3 206 193 195 1.000 1.000 1.000
+3 207 197 196 1.000 1.000 1.000
+3 207 196 198 1.000 1.000 1.000
+3 200 192 205 1.000 1.000 1.000
+3 207 198 200 1.000 1.000 1.000
+3 201 199 208 1.000 1.000 1.000
+3 205 191 201 1.000 1.000 1.000
+3 202 194 206 1.000 1.000 1.000
+3 204 189 202 1.000 1.000 1.000
+3 203 197 207 1.000 1.000 1.000
+3 206 195 203 1.000 1.000 1.000
diff --git a/Data/sounds/Lose.ogg b/data/sounds/Lose.ogg
index f929e15..f929e15 100644
--- a/Data/sounds/Lose.ogg
+++ b/data/sounds/Lose.ogg
Binary files differdiff --git a/Data/sounds/bounce.ogg b/data/sounds/bounce.ogg
index 5360183..5360183 100644
--- a/Data/sounds/bounce.ogg
+++ b/data/sounds/bounce.ogg
Binary files differdiff --git a/Data/sounds/bounce2.ogg b/data/sounds/bounce2.ogg
index 2d4688b..2d4688b 100644
--- a/Data/sounds/bounce2.ogg
+++ b/data/sounds/bounce2.ogg
Binary files differdiff --git a/Data/sounds/disguise-kill.ogg b/data/sounds/disguise-kill.ogg
index 8c2b359..8c2b359 100644
--- a/Data/sounds/disguise-kill.ogg
+++ b/data/sounds/disguise-kill.ogg
Binary files differdiff --git a/Data/sounds/explosion.ogg b/data/sounds/explosion.ogg
index a88bd8c..a88bd8c 100644
--- a/Data/sounds/explosion.ogg
+++ b/data/sounds/explosion.ogg
Binary files differdiff --git a/Data/sounds/footstep/0.ogg b/data/sounds/footstep/0.ogg
index 77ed23b..77ed23b 100644
--- a/Data/sounds/footstep/0.ogg
+++ b/data/sounds/footstep/0.ogg
Binary files differdiff --git a/Data/sounds/footstep/1.ogg b/data/sounds/footstep/1.ogg
index 15f0396..15f0396 100644
--- a/Data/sounds/footstep/1.ogg
+++ b/data/sounds/footstep/1.ogg
Binary files differdiff --git a/Data/sounds/footstep/2.ogg b/data/sounds/footstep/2.ogg
index d0b9634..d0b9634 100644
--- a/Data/sounds/footstep/2.ogg
+++ b/data/sounds/footstep/2.ogg
Binary files differdiff --git a/Data/sounds/footstep/3.ogg b/data/sounds/footstep/3.ogg
index 05bc694..05bc694 100644
--- a/Data/sounds/footstep/3.ogg
+++ b/data/sounds/footstep/3.ogg
Binary files differdiff --git a/Data/sounds/footstep/4.ogg b/data/sounds/footstep/4.ogg
index 4545d44..4545d44 100644
--- a/Data/sounds/footstep/4.ogg
+++ b/data/sounds/footstep/4.ogg
Binary files differdiff --git a/Data/sounds/grenade/pin-pull.flac b/data/sounds/grenade/pin-pull.flac
index 51f5708..51f5708 100644
--- a/Data/sounds/grenade/pin-pull.flac
+++ b/data/sounds/grenade/pin-pull.flac
Binary files differdiff --git a/Data/sounds/grenade/pin-replace.flac b/data/sounds/grenade/pin-replace.flac
index fd0b91b..fd0b91b 100644
--- a/Data/sounds/grenade/pin-replace.flac
+++ b/data/sounds/grenade/pin-replace.flac
Binary files differdiff --git a/Data/sounds/gun/empty-clip.wav b/data/sounds/gun/empty-clip.wav
index d6b01fc..d6b01fc 100644
--- a/Data/sounds/gun/empty-clip.wav
+++ b/data/sounds/gun/empty-clip.wav
Binary files differdiff --git a/Data/sounds/gun/fire/20-gauge-shotgun.wav b/data/sounds/gun/fire/20-gauge-shotgun.wav
index 338c31f..338c31f 100644
--- a/Data/sounds/gun/fire/20-gauge-shotgun.wav
+++ b/data/sounds/gun/fire/20-gauge-shotgun.wav
Binary files differdiff --git a/Data/sounds/gun/fire/22-magnum-pistol.wav b/data/sounds/gun/fire/22-magnum-pistol.wav
index 37e23ab..37e23ab 100644
--- a/Data/sounds/gun/fire/22-magnum-pistol.wav
+++ b/data/sounds/gun/fire/22-magnum-pistol.wav
Binary files differdiff --git a/Data/sounds/gun/fire/9-mm-pistol.wav b/data/sounds/gun/fire/9-mm-pistol.wav
index c328fc9..c328fc9 100644
--- a/Data/sounds/gun/fire/9-mm-pistol.wav
+++ b/data/sounds/gun/fire/9-mm-pistol.wav
Binary files differdiff --git a/Data/sounds/gun/fire/ar-15-pistol.wav b/data/sounds/gun/fire/ar-15-pistol.wav
index 7f83595..7f83595 100644
--- a/Data/sounds/gun/fire/ar-15-pistol.wav
+++ b/data/sounds/gun/fire/ar-15-pistol.wav
Binary files differdiff --git a/Data/sounds/gun/fire/ar-15-rifle.wav b/data/sounds/gun/fire/ar-15-rifle.wav
index 425ecbc..425ecbc 100644
--- a/Data/sounds/gun/fire/ar-15-rifle.wav
+++ b/data/sounds/gun/fire/ar-15-rifle.wav
Binary files differdiff --git a/Data/sounds/gun/near-bullet.wav b/data/sounds/gun/near-bullet.wav
index 6e7091c..6e7091c 100644
--- a/Data/sounds/gun/near-bullet.wav
+++ b/data/sounds/gun/near-bullet.wav
Binary files differdiff --git a/Data/sounds/gun/reload.wav b/data/sounds/gun/reload.wav
index 402a7e7..402a7e7 100644
--- a/Data/sounds/gun/reload.wav
+++ b/data/sounds/gun/reload.wav
Binary files differdiff --git a/Data/sounds/handlerelease.ogg b/data/sounds/handlerelease.ogg
index 4dc2e43..4dc2e43 100644
--- a/Data/sounds/handlerelease.ogg
+++ b/data/sounds/handlerelease.ogg
Binary files differdiff --git a/Data/sounds/headland.ogg b/data/sounds/headland.ogg
index b9b51de..b9b51de 100644
--- a/Data/sounds/headland.ogg
+++ b/data/sounds/headland.ogg
Binary files differdiff --git a/Data/sounds/headshot.ogg b/data/sounds/headshot.ogg
index 3809dc3..3809dc3 100644
--- a/Data/sounds/headshot.ogg
+++ b/data/sounds/headshot.ogg
Binary files differdiff --git a/Data/sounds/impact/body-fall.wav b/data/sounds/impact/body-fall.wav
index 3e884a6..3e884a6 100644
--- a/Data/sounds/impact/body-fall.wav
+++ b/data/sounds/impact/body-fall.wav
Binary files differdiff --git a/Data/sounds/impact/body-hit.wav b/data/sounds/impact/body-hit.wav
index a4e61d7..a4e61d7 100644
--- a/Data/sounds/impact/body-hit.wav
+++ b/data/sounds/impact/body-hit.wav
Binary files differdiff --git a/Data/sounds/impact/knife-stab.wav b/data/sounds/impact/knife-stab.wav
index 0b636b0..0b636b0 100644
--- a/Data/sounds/impact/knife-stab.wav
+++ b/data/sounds/impact/knife-stab.wav
Binary files differdiff --git a/Data/sounds/impact/wall-hit.wav b/data/sounds/impact/wall-hit.wav
index 5d419a4..5d419a4 100644
--- a/Data/sounds/impact/wall-hit.wav
+++ b/data/sounds/impact/wall-hit.wav
Binary files differdiff --git a/Data/sounds/knifesong.ogg b/data/sounds/knifesong.ogg
index ee93c91..ee93c91 100644
--- a/Data/sounds/knifesong.ogg
+++ b/data/sounds/knifesong.ogg
Binary files differdiff --git a/Data/sounds/mainmenusong.ogg b/data/sounds/mainmenusong.ogg
index aa40fc9..aa40fc9 100644
--- a/Data/sounds/mainmenusong.ogg
+++ b/data/sounds/mainmenusong.ogg
Binary files differdiff --git a/Data/sounds/rain.ogg b/data/sounds/rain.ogg
index 0c1933f..0c1933f 100644
--- a/Data/sounds/rain.ogg
+++ b/data/sounds/rain.ogg
Binary files differdiff --git a/Data/sounds/riflewhack.ogg b/data/sounds/riflewhack.ogg
index 3bf4fc5..3bf4fc5 100644
--- a/Data/sounds/riflewhack.ogg
+++ b/data/sounds/riflewhack.ogg
Binary files differdiff --git a/Data/sounds/shootsong.ogg b/data/sounds/shootsong.ogg
index 5503e84..5503e84 100644
--- a/Data/sounds/shootsong.ogg
+++ b/data/sounds/shootsong.ogg
Binary files differdiff --git a/Data/sounds/soul-in.ogg b/data/sounds/soul-in.ogg
index e38479d..e38479d 100644
--- a/Data/sounds/soul-in.ogg
+++ b/data/sounds/soul-in.ogg
Binary files differdiff --git a/Data/sounds/soul-out.ogg b/data/sounds/soul-out.ogg
index a14ec80..a14ec80 100644
--- a/Data/sounds/soul-out.ogg
+++ b/data/sounds/soul-out.ogg
Binary files differdiff --git a/Data/sounds/underwater.ogg b/data/sounds/underwater.ogg
index eb43d04..eb43d04 100644
--- a/Data/sounds/underwater.ogg
+++ b/data/sounds/underwater.ogg
Binary files differdiff --git a/Data/sounds/zombiesong.ogg b/data/sounds/zombiesong.ogg
index 910002c..910002c 100644
--- a/Data/sounds/zombiesong.ogg
+++ b/data/sounds/zombiesong.ogg
Binary files differdiff --git a/Data/textures/black.png b/data/textures/black.png
index 9fff93b..9fff93b 100644
--- a/Data/textures/black.png
+++ b/data/textures/black.png
Binary files differdiff --git a/Data/textures/blood/00.png b/data/textures/blood/00.png
index c43e6e8..c43e6e8 100644
--- a/Data/textures/blood/00.png
+++ b/data/textures/blood/00.png
Binary files differdiff --git a/Data/textures/blood/01.png b/data/textures/blood/01.png
index 996f90e..996f90e 100644
--- a/Data/textures/blood/01.png
+++ b/data/textures/blood/01.png
Binary files differdiff --git a/Data/textures/blood/02.png b/data/textures/blood/02.png
index f691690..f691690 100644
--- a/Data/textures/blood/02.png
+++ b/data/textures/blood/02.png
Binary files differdiff --git a/Data/textures/blood/03.png b/data/textures/blood/03.png
index 15a2101..15a2101 100644
--- a/Data/textures/blood/03.png
+++ b/data/textures/blood/03.png
Binary files differdiff --git a/Data/textures/blood/04.png b/data/textures/blood/04.png
index 4c8e5cb..4c8e5cb 100644
--- a/Data/textures/blood/04.png
+++ b/data/textures/blood/04.png
Binary files differdiff --git a/Data/textures/blood/05.png b/data/textures/blood/05.png
index a54c138..a54c138 100644
--- a/Data/textures/blood/05.png
+++ b/data/textures/blood/05.png
Binary files differdiff --git a/Data/textures/blood/06.png b/data/textures/blood/06.png
index 1ff2dea..1ff2dea 100644
--- a/Data/textures/blood/06.png
+++ b/data/textures/blood/06.png
Binary files differdiff --git a/Data/textures/blood/07.png b/data/textures/blood/07.png
index f746bc9..f746bc9 100644
--- a/Data/textures/blood/07.png
+++ b/data/textures/blood/07.png
Binary files differdiff --git a/Data/textures/blood/08.png b/data/textures/blood/08.png
index 0bcd5a5..0bcd5a5 100644
--- a/Data/textures/blood/08.png
+++ b/data/textures/blood/08.png
Binary files differdiff --git a/Data/textures/blood/09.png b/data/textures/blood/09.png
index 3dade05..3dade05 100644
--- a/Data/textures/blood/09.png
+++ b/data/textures/blood/09.png
Binary files differdiff --git a/Data/textures/blood/10.png b/data/textures/blood/10.png
index fb461da..fb461da 100644
--- a/Data/textures/blood/10.png
+++ b/data/textures/blood/10.png
Binary files differdiff --git a/Data/textures/flare.png b/data/textures/flare.png
index b7f0c30..b7f0c30 100644
--- a/Data/textures/flare.png
+++ b/data/textures/flare.png
Binary files differdiff --git a/Data/textures/font.png b/data/textures/font.png
index a48ae83..a48ae83 100644
--- a/Data/textures/font.png
+++ b/data/textures/font.png
Binary files differdiff --git a/Data/textures/scope.png b/data/textures/scope.png
index e3acddf..e3acddf 100644
--- a/Data/textures/scope.png
+++ b/data/textures/scope.png
Binary files differdiff --git a/Data/textures/sprites/blood.png b/data/textures/sprites/blood.png
index 6c02b02..6c02b02 100644
--- a/Data/textures/sprites/blood.png
+++ b/data/textures/sprites/blood.png
Binary files differdiff --git a/Data/textures/sprites/flash-hit.png b/data/textures/sprites/flash-hit.png
index 0b7781b..0b7781b 100644
--- a/Data/textures/sprites/flash-hit.png
+++ b/data/textures/sprites/flash-hit.png
Binary files differdiff --git a/Data/textures/sprites/flash-muzzle.png b/data/textures/sprites/flash-muzzle.png
index ec99efd..ec99efd 100644
--- a/Data/textures/sprites/flash-muzzle.png
+++ b/data/textures/sprites/flash-muzzle.png
Binary files differdiff --git a/Data/textures/sprites/person-dead.png b/data/textures/sprites/person-dead.png
index fc2c78f..fc2c78f 100644
--- a/Data/textures/sprites/person-dead.png
+++ b/data/textures/sprites/person-dead.png
Binary files differdiff --git a/Data/textures/sprites/person.png b/data/textures/sprites/person.png
index d1a7cb0..d1a7cb0 100644
--- a/Data/textures/sprites/person.png
+++ b/data/textures/sprites/person.png
Binary files differdiff --git a/Data/textures/sprites/smoke.png b/data/textures/sprites/smoke.png
index 1cef15c..1cef15c 100644
--- a/Data/textures/sprites/smoke.png
+++ b/data/textures/sprites/smoke.png
Binary files differdiff --git a/Data/textures/sprites/white.png b/data/textures/sprites/white.png
index 0768357..0768357 100644
--- a/Data/textures/sprites/white.png
+++ b/data/textures/sprites/white.png
Binary files differdiff --git a/src/GameInitDispose.cpp b/src/GameInitDispose.cpp
index 0022a07..8c9ea72 100644
--- a/src/GameInitDispose.cpp
+++ b/src/GameInitDispose.cpp
@@ -114,6 +114,8 @@ void LoadSounds(bool musictoggle)
 	gSampleSet[footstepsound + 2] = loadSound("footstep/2.ogg");
 	gSampleSet[footstepsound + 3] = loadSound("footstep/3.ogg");
 	gSampleSet[footstepsound + 4] = loadSound("footstep/4.ogg");
+	gSampleSet[pinpullsound] = loadSound("grenade/pin-pull.flac");
+	gSampleSet[pinreplacesound] = loadSound("grenade/pin-replace.flac");
 	gSampleSet[clicksound] = loadSound("gun/empty-clip.wav");
 	gSampleSet[shotgunsound] = loadSound("gun/fire/20-gauge-shotgun.wav");
 	gSampleSet[pistol2sound] = loadSound("gun/fire/22-magnum-pistol.wav");
@@ -122,8 +124,6 @@ void LoadSounds(bool musictoggle)
 	gSampleSet[riflesound] = loadSound("gun/fire/ar-15-rifle.wav");
 	gSampleSet[nearbulletsound] = loadSound("gun/near-bullet.wav");
 	gSampleSet[reloadsound] = loadSound("gun/reload.wav");
-	gSampleSet[pinpullsound] = loadSound("grenade/pin-pull.flac");
-	gSampleSet[pinreplacesound] = loadSound("grenade/pin-replace.flac");
 	gSampleSet[bodylandsound] = loadSound("impact/body-fall.wav");
 	gSampleSet[bodyhitsound] = loadSound("impact/body-hit.wav");
 	gSampleSet[knifeslashsound] = loadSound("impact/knife-stab.wav");
@@ -250,7 +250,7 @@ void initGame(Game* game)
 		game->timeremaining = 50;
 		game->difficulty= 0.8f;
 
-		ifstream ipstream {"Data/customlevels.txt"};
+		ifstream ipstream {"data/customlevels.txt"};
 		if (ipstream) {
 			ipstream.ignore(256,'\n');//ignore descriptive text
 			ipstream >> game->nummissions;
@@ -511,96 +511,32 @@ void initGame(Game* game)
 
 	// Setup block models
 	if (!game->initialized) {
-		game->blocks[0].load((char*) ":Data:Models:Block1.solid");
-		game->blocks[1].load((char*) ":Data:Models:Block2.solid");
-		game->blocks[2].load((char*) ":Data:Models:Block3.solid");
-		game->blocks[3].load((char*) ":Data:Models:Block4.solid");
-		for (auto&& block : game->blocks) {
-			block.Rotate(90, 0, 0);
-			block.Scale(0.8f, 0.8f, 0.8f);
-			block.CalculateNormals();
-
-			// Fix block radius
-			auto& center = block.boundingspherecenter;
-			center.x = center.y = center.z = 0;
-
-			float radiusqr = 0.0;
-			for (int x = 0; x < block.vertexNum; x++) {
-				auto distance = findDistancefast(center,
-					block.vertex[x]);
-				if (distance > radiusqr)
-					radiusqr = distance;
-			}
-			block.boundingsphereradius = sqrt(radiusqr);
-		}
-
-		game->sidewalkcollide.load((char*) ":Data:Models:Lowheightcollide.solid");
-		game->sidewalkcollide.Rotate(90, 0, 0);
-		game->sidewalkcollide.Scale(0.8f, 0.8f, 0.8f);
-		game->sidewalkcollide.CalculateNormals();
-
-		game->blockwalls[0].load((char*) ":Data:Models:Block1collide.solid");
-		game->blockwalls[1].load((char*) ":Data:Models:Block2collide.solid");
-		game->blockwalls[2].load((char*) ":Data:Models:Block3collide.solid");
-		game->blockwalls[3].load((char*) ":Data:Models:Block4collide.solid");
-		for (auto&& blockwall : game->blockwalls) {
-			blockwall.Rotate(90, 0, 0);
-			blockwall.Scale(0.8f, 0.75f, 0.8f);
-			blockwall.CalculateNormals();
-		}
-
-		game->blockroofs[0].load((char*) ":Data:Models:Highblock1collide.solid");
-		game->blockroofs[1].load((char*) ":Data:Models:Highblock2collide.solid");
-		game->blockroofs[2].load((char*) ":Data:Models:Highblock3collide.solid");
-		game->blockroofs[3].load((char*) ":Data:Models:Highblock4collide.solid");
-		for (auto&& blockroof : game->blockroofs) {
-			blockroof.Rotate(90, 0, 0);
-			blockroof.Scale(0.8f, 0.8f, 0.8f);
-			blockroof.CalculateNormals();
-		}
-
-		game->blockcollide[0].load((char*) ":Data:Models:block1complete.solid");
-		game->blockcollide[1].load((char*) ":Data:Models:block2complete.solid");
-		game->blockcollide[2].load((char*) ":Data:Models:block3complete.solid");
-		game->blockcollide[3].load((char*) ":Data:Models:block4complete.solid");
-		for (auto&& blockcollide : game->blockcollide) {
-			blockcollide.Rotate(90, 0, 0);
-			blockcollide.Scale(0.8f, 0.8f, 0.8f);
-			blockcollide.CalculateNormals();
-		}
-
-		game->blocksimplecollide[0].load((char*) ":Data:Models:lowsimplecollide1.solid");
-		game->blocksimplecollide[1].load((char*) ":Data:Models:lowsimplecollide2.solid");
-		game->blocksimplecollide[2].load((char*) ":Data:Models:lowsimplecollide3.solid");
-		game->blocksimplecollide[3].load((char*) ":Data:Models:lowsimplecollide4.solid");
-		for (auto&& blocksimplecollide : game->blocksimplecollide) {
-			blocksimplecollide.Rotate(90, 0, 0);
-			blocksimplecollide.Scale(0.8f, 0.8f, 0.8f);
-			blocksimplecollide.CalculateNormals();
-		}
-
-		game->blockocclude.load((char*) ":Data:Models:blockocclude.solid");
-		game->blockocclude.Rotate(90, 0, 0);
-		game->blockocclude.Scale(0.8f, 0.8f, 0.8f);
-		game->blockocclude.CalculateNormals();
-
-		game->blocksimple.load((char*) ":Data:Models:blocksimple.solid");
-		game->blocksimple.Rotate(90, 0, 0);
-		game->blocksimple.Scale(0.8f, 2.0f, 0.8f);
-		game->blocksimple.CalculateNormals();
-
-		game->street.load((char*) ":Data:Models:streetsubdivided2.solid");
-		game->street.Rotate(90,0,0);
-		game->street.Scale(0.01f, 0.01f, 0.01f);
-		game->street.CalculateNormals();
-
-		game->Bigstreet = game->street;
-		game->Bigstreet.Scale(10000.0f, 10000.0f, 10000.0f);
-
-		game->path.load((char*) ":Data:Models:path.solid");
-		game->path.Rotate(90,0,0);
-		game->path.Scale(0.8f, 0.8f, 0.8f);
-		game->path.CalculateNormals();
+		game->blocks[0].load("blocks/0.off");
+		game->blocks[1].load("blocks/1.off");
+		game->blocks[2].load("blocks/2.off");
+		game->blocks[3].load("blocks/3.off");
+		game->sidewalkcollide.load("collide/sidewalk.off");
+		game->blockwalls[0].load("collide/blocks/walls/0.off");
+		game->blockwalls[1].load("collide/blocks/walls/1.off");
+		game->blockwalls[2].load("collide/blocks/walls/2.off");
+		game->blockwalls[3].load("collide/blocks/walls/3.off");
+		game->blockroofs[0].load("collide/blocks/roofs/0.off");
+		game->blockroofs[1].load("collide/blocks/roofs/1.off");
+		game->blockroofs[2].load("collide/blocks/roofs/2.off");
+		game->blockroofs[3].load("collide/blocks/roofs/3.off");
+		game->blockcollide[0].load("collide/blocks/0.off");
+		game->blockcollide[1].load("collide/blocks/1.off");
+		game->blockcollide[2].load("collide/blocks/2.off");
+		game->blockcollide[3].load("collide/blocks/3.off");
+		game->blocksimplecollide[0].load("collide/blocks/simple/0.off");
+		game->blocksimplecollide[1].load("collide/blocks/simple/1.off");
+		game->blocksimplecollide[2].load("collide/blocks/simple/2.off");
+		game->blocksimplecollide[3].load("collide/blocks/simple/3.off");
+		game->blockocclude.load("blocks/occlude.off");
+		game->blocksimple.load("blocks/simple.off");
+		game->street.load("streets/small.off");
+		game->Bigstreet.load("streets/big.off");
+		game->path.load("streets/path.off");
 	}
 
 	auto& vip = game->person[game->numpeople = 1];
@@ -662,163 +598,30 @@ void initGame(Game* game)
 		}
 
 	if (!game->initialized) {
-		//Load player model
-		skeletonmodels[0].load((char*) ":Data:Models:Head.solid");
-		skeletonmodels[0].Rotate(90,0,0);
-		skeletonmodels[0].Scale(.02,.02,.02);
-		skeletonmodels[0].CalculateNormals();
-		skeletonmodels[1].load((char*) ":Data:Models:Chest.solid");
-		skeletonmodels[1].Rotate(90,0,0);
-		skeletonmodels[1].Scale(.02,.02,.02);
-		skeletonmodels[1].CalculateNormals();
-		skeletonmodels[2].load((char*) ":Data:Models:Abdomen.solid");
-		skeletonmodels[2].Rotate(90,0,0);
-		skeletonmodels[2].Scale(.02,.02,.02);
-		skeletonmodels[2].CalculateNormals();
-		skeletonmodels[3].load((char*) ":Data:Models:Upper arm.solid");
-		skeletonmodels[3].Rotate(90,0,0);
-		skeletonmodels[3].Scale(.02,.02,.02);
-		skeletonmodels[3].CalculateNormals();
-		skeletonmodels[4].load((char*) ":Data:Models:Lower arm.solid");
-		skeletonmodels[4].Rotate(90,0,0);
-		skeletonmodels[4].Scale(.02,.02,.02);
-		skeletonmodels[4].CalculateNormals();
-		skeletonmodels[5].load((char*) ":Data:Models:Hand.solid");
-		skeletonmodels[5].Rotate(90,0,0);
-		skeletonmodels[5].Scale(.02,.02,.02);
-		skeletonmodels[5].CalculateNormals();
-		skeletonmodels[6].load((char*) ":Data:Models:Upper leg.solid");
-		skeletonmodels[6].Rotate(90,0,0);
-		skeletonmodels[6].Scale(.02,.02,.02);
-		skeletonmodels[6].CalculateNormals();
-		skeletonmodels[7].load((char*) ":Data:Models:Lower leg.solid");
-		skeletonmodels[7].Rotate(90,0,0);
-		skeletonmodels[7].Scale(.02,.02,.02);
-		skeletonmodels[7].CalculateNormals();
-		skeletonmodels[8].load((char*) ":Data:Models:Foot.solid");
-		skeletonmodels[8].Rotate(90,0,0);
-		skeletonmodels[8].Scale(.02,.02,.02);
-		skeletonmodels[8].CalculateNormals();
-		skeletonmodels[9].load((char*) ":Data:Models:Shades.solid");
-		skeletonmodels[9].Rotate(90,0,0);
-		skeletonmodels[9].Scale(.02,.02,.02);
-		skeletonmodels[9].CalculateNormals();
-
-		//Load gun models
-		gunmodels[sniperriflemodel].load((char*) ":Data:Models:sniperrifle.solid");
-
-		gunmodels[sniperriflemodel].Rotate(0,0,90);
-
-		gunmodels[sniperriflemodel].Scale(.001,.001,.001);
-
-		gunmodels[sniperriflemodel].CalculateNormals();
-
-		gunmodels[assaultriflemodel].load((char*) ":Data:Models:assaultrifle.solid");
-
-		gunmodels[assaultriflemodel].Rotate(0,0,90);
-
-		gunmodels[assaultriflemodel].Scale(.01,.01,.01);
-
-		gunmodels[assaultriflemodel].CalculateNormals();
-
-		gunmodels[handgunbasemodel].load((char*) ":Data:Models:Handgunbase.solid");
-
-		gunmodels[handgunbasemodel].Rotate(0,0,90);
-
-		gunmodels[handgunbasemodel].Rotate(180,0,0);
-
-		gunmodels[handgunbasemodel].Scale(.014,.014,.014);
-
-		gunmodels[handgunbasemodel].CalculateNormals();
-
-		gunmodels[handgunbasemodel].MultColor(.6);
-
-		gunmodels[handgunslidemodel].load((char*) ":Data:Models:Handgunslide.solid");
-
-		gunmodels[handgunslidemodel].Rotate(0,0,90);
-
-		gunmodels[handgunslidemodel].Rotate(180,0,0);
-
-		gunmodels[handgunslidemodel].Scale(.014,.014,.014);
-
-		gunmodels[handgunslidemodel].CalculateNormals();
-
-		gunmodels[handgunslidemodel].MultColor(.6);
-
-		gunmodels[handgun2basemodel].load((char*) ":Data:Models:glockbase.solid");
-
-		gunmodels[handgun2basemodel].Rotate(0,0,90);
-
-		gunmodels[handgun2basemodel].Rotate(180,0,0);
-
-		gunmodels[handgun2basemodel].Scale(.014,.014,.014);
-
-		gunmodels[handgun2basemodel].CalculateNormals();
-
-		gunmodels[handgun2basemodel].MultColor(.6);
-
-		gunmodels[handgun2slidemodel].load((char*) ":Data:Models:glockslide.solid");
-
-		gunmodels[handgun2slidemodel].Rotate(0,0,90);
-
-		gunmodels[handgun2slidemodel].Rotate(180,0,0);
-
-		gunmodels[handgun2slidemodel].Scale(.014,.014,.014);
-
-		gunmodels[handgun2slidemodel].CalculateNormals();
-
-		gunmodels[handgun2slidemodel].MultColor(.6);
-
-		gunmodels[grenadebasemodel].load((char*) ":Data:Models:grenadebase.solid");
-
-		gunmodels[grenadebasemodel].Rotate(0,0,90);
-
-		gunmodels[grenadebasemodel].Rotate(180,0,0);
-
-		gunmodels[grenadebasemodel].Scale(.014,.014,.014);
-
-		gunmodels[grenadebasemodel].CalculateNormals();
-
-		gunmodels[grenadepinmodel].load((char*) ":Data:Models:grenadepin.solid");
-
-		gunmodels[grenadepinmodel].Rotate(0,0,90);
-
-		gunmodels[grenadepinmodel].Rotate(180,0,0);
-
-		gunmodels[grenadepinmodel].Scale(.014,.014,.014);
-
-		gunmodels[grenadepinmodel].CalculateNormals();
-
-		gunmodels[grenadespoonmodel].load((char*) ":Data:Models:grenadespoon.solid");
-
-		gunmodels[grenadespoonmodel].Rotate(0,0,90);
-
-		gunmodels[grenadespoonmodel].Rotate(180,0,0);
-
-		gunmodels[grenadespoonmodel].Scale(.014,.014,.014);
-
-		gunmodels[grenadespoonmodel].CalculateNormals();
-
-		gunmodels[knifemodel].load((char*) ":Data:Models:Knife.solid");
-
-		gunmodels[knifemodel].Rotate(0,0,90);
-
-		gunmodels[knifemodel].Rotate(180,0,0);
-
-		gunmodels[knifemodel].Scale(.014,.014,.014);
-
-		gunmodels[knifemodel].CalculateNormals();
-
-		gunmodels[shotgunmodel].load((char*) ":Data:Models:shotgun.solid");
-
-		gunmodels[shotgunmodel].Rotate(0,0,90);
-
-		gunmodels[shotgunmodel].Scale(.001,.001,.001);
-
-		gunmodels[shotgunmodel].CalculateNormals();
-
-		gunmodels[shotgunmodel].MultColor(.6);
-
+		// Load person model
+		skeletonmodels[0].load("skeleton/head.off");
+		skeletonmodels[1].load("skeleton/chest.off");
+		skeletonmodels[2].load("skeleton/abdomen.off");
+		skeletonmodels[3].load("skeleton/arm.off");
+		skeletonmodels[4].load("skeleton/forearm.off");
+		skeletonmodels[5].load("skeleton/hand.off");
+		skeletonmodels[6].load("skeleton/thigh.off");
+		skeletonmodels[7].load("skeleton/leg.off");
+		skeletonmodels[8].load("skeleton/foot.off");
+		skeletonmodels[9].load("skeleton/shades.off");
+
+		// Load weapon models
+		gunmodels[sniperriflemodel].load("guns/sniper-rifle.off");
+		gunmodels[assaultriflemodel].load("guns/assault-rifle.off");
+		gunmodels[handgunbasemodel].load("guns/handgun-big-base.off");
+		gunmodels[handgunslidemodel].load("guns/handgun-big-slide.off");
+		gunmodels[handgun2basemodel].load("guns/handgun-small-base.off");
+		gunmodels[handgun2slidemodel].load("guns/handgun-small-slide.off");
+		gunmodels[grenadebasemodel].load("grenade/base.off");
+		gunmodels[grenadepinmodel].load("grenade/pin.off");
+		gunmodels[grenadespoonmodel].load("grenade/spoon.off");
+		gunmodels[knifemodel].load("knife.off");
+		gunmodels[shotgunmodel].load("guns/shotgun.off");
 	}
 
 	//Setup costumes
@@ -829,35 +632,20 @@ void initGame(Game* game)
 	float bottomcolor[3];
 
 	//Police
-
 	headcolor[0]=(float)240/255;
-
 	headcolor[1]=(float)183/255;
-
 	headcolor[2]=(float)132/255;
-
 	footcolor[0]=(float)119/255;
-
 	footcolor[1]=(float)68/255;
-
 	footcolor[2]=(float)18/255;
-
 	handcolor[0]=(float)240/255;
-
 	handcolor[1]=(float)183/255;
-
 	handcolor[2]=(float)132/255;
-
 	topcolor[0]=(float)14/255;
-
 	topcolor[1]=(float)18/255;
-
 	topcolor[2]=(float)195/255;
-
 	bottomcolor[0]=(float)14/255;
-
 	bottomcolor[1]=(float)18/255;
-
 	bottomcolor[2]=(float)195/255;
 
 	// Greenish skin if zombies
diff --git a/src/Models.cpp b/src/Models.cpp
index cc69c44..6d8eecf 100644
--- a/src/Models.cpp
+++ b/src/Models.cpp
@@ -1,6 +1,5 @@
 #include "Models.h"
-
-#include "Serialize.h"
+#include "misc.h"
 
 //Functions
 void Model::UpdateVertexArray(){
@@ -62,43 +61,55 @@ void Model::UpdateVertexArray(){
 	boundingsphereradius=sqrt(boundingsphereradius);
 }
 
-bool Model::load(Str255 Name)
+void Model::load(const char* path)
 {
-	short				tfile;
-	Files file;
-
-	tfile=file.OpenFile(Name);
-	SetFPos(tfile,fsFromStart,0);
-
-	// read model settings
-	ReadShort(tfile,1,&vertexNum);
-	ReadShort(tfile,1,&TriangleNum);
-
-	// read the model data
-	ReadXYZ(tfile,vertexNum,vertex);
-	ReadTexturedTriangle(tfile,TriangleNum,Triangles);
+	auto model = loadModel(path);
+	vertexNum = model.vertices.len;
+	for (short i = 0; i < vertexNum; ++i) {
+		vertex[i].x = model.vertices.ptr[i].x;
+		vertex[i].y = model.vertices.ptr[i].y;
+		vertex[i].z = model.vertices.ptr[i].z;
+	}
+	free(model.vertices.ptr);
 
-	FSClose(tfile);
+	TriangleNum = model.faces.len;
+	for (short i = 0; i < TriangleNum; ++i) {
+		Triangles[i].vertex[0] = model.faces.ptr[i].v[0];
+		Triangles[i].vertex[1] = model.faces.ptr[i].v[1];
+		Triangles[i].vertex[2] = model.faces.ptr[i].v[2];
+		Triangles[i].r = model.faces.ptr[i].r;
+		Triangles[i].g = model.faces.ptr[i].g;
+		Triangles[i].b = model.faces.ptr[i].b;
+	}
+	free(model.faces.ptr);
 
-	UpdateVertexArray();
+	XYZ average {};
+	for (auto&& v : vertex)
+		boundingspherecenter += v;
+	boundingspherecenter /= vertexNum;
 
-	XYZ average;
-	int howmany;
-	average=0;
-	howmany=0;
-	for(int i=0;i<vertexNum;i++){
-		howmany++;
-		average=average+vertex[i];
-	}
-	average=average/howmany;
-	boundingspherecenter=average;
-	boundingsphereradius=0;
-	for(int i=0;i<vertexNum;i++){
-		if(findDistancefast(average,vertex[i])>boundingsphereradius)boundingsphereradius=findDistancefast(average,vertex[i]);
-	}
-	boundingsphereradius=sqrt(boundingsphereradius);
+	boundingsphereradius = 0;
+	for (auto&& v : vertex)
+		boundingsphereradius = max(boundingsphereradius,
+			findDistancefast(average, v));
+	boundingsphereradius = sqrt(boundingsphereradius);
+	CalculateNormals();
+}
 
-	return 1;
+void Model::save(const char* path)
+{
+	auto f = fopen(path, "w");
+	fprintf(f, "%d %d 0\n", vertexNum, TriangleNum);
+	for (int i = 0; i < vertexNum; ++i)
+		fprintf(f, "%.3f %.3f %.3f\n",
+			vertex[i].x, vertex[i].y, vertex[i].z);
+	for (int i = 0; i < TriangleNum; ++i)
+		fprintf(f, "3 %d %d %d %.3f %.3f %.3f\n",
+			Triangles[i].vertex[0],
+			Triangles[i].vertex[1],
+			Triangles[i].vertex[2],
+			Triangles[i].r, Triangles[i].g, Triangles[i].b);
+	fclose(f);
 }
 
 void Model::Scale(float xscale,float yscale,float zscale)
diff --git a/src/Models.h b/src/Models.h
index 9c48841..2e37a9b 100644
--- a/src/Models.h
+++ b/src/Models.h
@@ -20,41 +20,42 @@
 //
 
 class TexturedTriangle{
-	public:
-				short			vertex[3];
-				float r,g,b;
+public:
+	short vertex[3];
+	float r,g,b;
 };
 
 class Model{
-	public:
-				short	vertexNum,TriangleNum;
-
-				XYZ					vertex[max_model_vertex];
-				XYZ					normals[max_textured_triangle];
-				TexturedTriangle	Triangles[max_textured_triangle];
-				GLfloat 			vArray[max_textured_triangle*27];
-
-				XYZ boundingspherecenter;
-				float boundingsphereradius;
-				int LineCheck(XYZ p1,XYZ p2, XYZ *p);
-				int LineCheck2(XYZ p1,XYZ p2, XYZ *p,XYZ move,float rotate);
-				int LineCheck2(XYZ *p1,XYZ *p2, XYZ *p,XYZ *move,float *rotate);
-				int LineCheck3(XYZ p1,XYZ p2, XYZ *p,XYZ move,float rotate,float *d);
-
-				void UpdateVertexArray();
-				bool load(Str255 Name);
-				void Scale(float xscale,float yscale,float zscale);
-				void ScaleNormals(float xscale,float yscale,float zscale);
-				void Translate(float xtrans,float ytrans,float ztrans);
-				void CalculateNormals();
-				void draw();
-				void draw(float r,float g,float b);
-				void draw(float r,float g,float b, float o);
-				void draw(float r,float g,float b, float x, float y, float z);
-				void Rotate(float xang,float yang,float zang);
-				void MultColor(float howmuch);
-
-				XYZ boundingboxmin,boundingboxmax;
+public:
+	short vertexNum, TriangleNum;
+
+	XYZ vertex[max_model_vertex];
+	XYZ normals[max_textured_triangle];
+	TexturedTriangle Triangles[max_textured_triangle];
+	GLfloat vArray[max_textured_triangle*27];
+
+	XYZ boundingspherecenter;
+	float boundingsphereradius;
+	int LineCheck(XYZ p1,XYZ p2, XYZ *p);
+	int LineCheck2(XYZ p1,XYZ p2, XYZ *p,XYZ move,float rotate);
+	int LineCheck2(XYZ *p1,XYZ *p2, XYZ *p,XYZ *move,float *rotate);
+	int LineCheck3(XYZ p1,XYZ p2, XYZ *p,XYZ move,float rotate,float *d);
+
+	void UpdateVertexArray();
+	void load(const char*);
+	void save(const char*);
+	void Scale(float xscale,float yscale,float zscale);
+	void ScaleNormals(float xscale,float yscale,float zscale);
+	void Translate(float xtrans,float ytrans,float ztrans);
+	void CalculateNormals();
+	void draw();
+	void draw(float r,float g,float b);
+	void draw(float r,float g,float b, float o);
+	void draw(float r,float g,float b, float x, float y, float z);
+	void Rotate(float xang,float yang,float zang);
+	void MultColor(float howmuch);
+
+	XYZ boundingboxmin, boundingboxmax;
 };
 
 #endif
diff --git a/src/misc.h b/src/misc.h
index 96b2307..fbd70cd 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -25,6 +25,20 @@ struct JointData {
 	signed char parent;
 };
 
+struct ModelData {
+	struct {
+		struct { float x, y, z; } *ptr;
+		size_t len;
+	} vertices;
+	struct {
+		struct {
+			short v[3];
+			float r, g, b;
+		} *ptr;
+		size_t len;
+	} faces;
+};
+
 struct MuscleData {
 	float length, initlen, minlen, maxlen;
 	bool flag;
@@ -38,6 +52,7 @@ extern "C" {
 #endif // __cplusplus
 	AnimationData loadAnimation(const char*);
 	void loadJoints(JointData*);
+	ModelData loadModel(const char*);
 	void loadMuscles(MuscleData*);
 	ALuint loadSound(const char*);
 	GLuint loadTexture(const char*);
diff --git a/src/misc.zig b/src/misc.zig
index 2bbb9f0..7ff4680 100644
--- a/src/misc.zig
+++ b/src/misc.zig
@@ -24,12 +24,15 @@ usingnamespace @cImport({
 });
 
 const Dir = std.fs.Dir;
+const TokenIterator = std.mem.TokenIterator;
 const al = @import("zeal");
 const allocPrint = std.fmt.allocPrint;
 const allocator = std.heap.c_allocator;
+const assert = std.debug.assert;
 const count = std.mem.count;
 const cwd = std.fs.cwd;
 const data_dir = @import("build_options").data_dir ++ [_]u8{ sep };
+const endsWith = std.mem.endsWith;
 const eql = std.mem.eql;
 const free = std.c.free;
 const join = std.fs.path.joinZ;
@@ -38,6 +41,7 @@ const parseFloat = std.fmt.parseFloat;
 const parseInt = std.fmt.parseInt;
 const sep = std.fs.path.sep;
 const span = std.mem.span;
+const startsWith = std.mem.startsWith;
 const std = @import("std");
 const tokenize = std.mem.tokenize;
 
@@ -146,6 +150,93 @@ export fn loadJoints(joints: [*]Joint) void {
     }
 }
 
+const Vertex = extern struct {
+    x: f32, y: f32, z: f32,
+};
+
+const Face = extern struct {
+    // Only support triangles
+    v: [3]u16,
+    r: f32, g: f32, b: f32,
+};
+
+const OffIterator = struct {
+    token_iterator: TokenIterator,
+
+    pub fn init(buffer: []const u8) OffIterator {
+        var self = .{ .token_iterator = tokenize(buffer, "\n") };
+        if (!endsWith(u8, self.token_iterator.next().?, "OFF"))
+            self.token_iterator.reset();
+        return self;
+    }
+
+    pub fn next(self: *OffIterator) ?TokenIterator {
+        while (self.token_iterator.next()) |line| {
+            var words = tokenize(line, " ");
+            if (words.next()) |word| { // not empty
+                if (!startsWith(u8, word, "#")) { // not comment
+                    words.reset();
+                    return words;
+                }
+            }
+        }
+        return null;
+    }
+};
+
+/// Load model from given OFF file.
+export fn loadModel(path: [*:0]const u8) extern struct {
+    vertices: extern struct {
+        ptr: [*]Vertex,
+        len: usize,
+    },
+    faces: extern struct {
+        ptr: [*]Face,
+        len: usize,
+    },
+} {
+    var dir = cwd().openDir(data_dir ++ "models", .{}) catch unreachable;
+    defer dir.close();
+    const file = dir.readFileAlloc(allocator, span(path), max_size)
+        catch unreachable;
+    defer allocator.free(file);
+    var lines = OffIterator.init(file);
+    var counts = lines.next().?;
+    const vertex_count = parseInt(usize, counts.next().?, 10) catch unreachable;
+    const face_count = parseInt(usize, counts.next().?, 10) catch unreachable;
+
+    const vertices = allocator.alloc(Vertex, vertex_count) catch unreachable;
+    for (vertices) |*vertex| {
+        var numbers = lines.next().?;
+        vertex.* = .{
+            .x = parseFloat(f32, numbers.next().?) catch unreachable,
+            .y = parseFloat(f32, numbers.next().?) catch unreachable,
+            .z = parseFloat(f32, numbers.next().?) catch unreachable,
+        };
+    }
+
+    const faces = allocator.alloc(Face, face_count) catch unreachable;
+    for (faces) |*face| {
+        var numbers = lines.next().?;
+        assert(eql(u8, numbers.next().?, "3"));
+        face.* = .{
+            .v = .{
+                parseInt(u16, numbers.next().?, 10) catch unreachable,
+                parseInt(u16, numbers.next().?, 10) catch unreachable,
+                parseInt(u16, numbers.next().?, 10) catch unreachable,
+            },
+            .r = parseFloat(f32, numbers.next().?) catch unreachable,
+            .g = parseFloat(f32, numbers.next().?) catch unreachable,
+            .b = parseFloat(f32, numbers.next().?) catch unreachable,
+        };
+    }
+
+    return .{
+        .vertices = .{ .ptr = vertices.ptr , .len = vertices.len },
+        .faces = .{ .ptr = faces.ptr , .len = faces.len },
+    };
+}
+
 const Muscle = extern struct {
     length: f32,
     initlen: f32,