diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 8671719b2..32d79b0db 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -663,6 +663,8 @@ tile.deco_steel.name=Stahl-Dekoblock tile.deco_lead.name=Blei-Dekoblock tile.deco_beryllium.name=Beryllium-Dekoblock +tile.hazmat.name=Strahlenschutzstoff-Block + tile.reinforced_brick.name=Verstärkter Stein tile.reinforced_glass.name=Verstärktes Glas tile.reinforced_sand.name=Verstärkter Sandstein @@ -685,6 +687,7 @@ tile.seal_controller.name=Silolukenöffner tile.seal_hatch.name=Siloluke (Deckel) tile.vault_door.name=Vault-Tec Sprengtür +tile.blast_door.name=Abschluss-Sprengtür item.nugget_uranium.name=Urannugget item.nugget_plutonium.name=Plutoniumnugget diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 94c25cf86..ca0ba8451 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -663,6 +663,8 @@ tile.deco_steel.name=Steel Deco Block tile.deco_lead.name=Lead Deco Block tile.deco_beryllium.name=Beryllium Deco Block +tile.hazmat.name=Hazmat Cloth Block + tile.reinforced_brick.name=Reinforced Stone tile.reinforced_glass.name=Reinforced Glass tile.reinforced_sand.name=Reinforced Sandstone @@ -685,6 +687,7 @@ tile.seal_controller.name=Silo Hatch Opener tile.seal_hatch.name=Silo Hatch tile.vault_door.name=Vault-Tec Blast Door +tile.blast_door.name=Sliding Blast Door item.nugget_uranium.name=Uranium Nugget item.nugget_plutonium.name=Plutonium Nugget diff --git a/assets/hbm/models/blast_door_base.obj b/assets/hbm/models/blast_door_base.obj new file mode 100644 index 000000000..751c53531 --- /dev/null +++ b/assets/hbm/models/blast_door_base.obj @@ -0,0 +1,140 @@ +# Blender v2.76 (sub 0) OBJ File: 'blast_door_base.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.150000 1.000000 0.250000 +v -0.150000 1.000000 -0.250000 +v 0.150000 1.000000 0.250000 +v 0.150000 1.000000 -0.250000 +v -0.100000 0.750000 0.150000 +v -0.100000 0.750000 -0.150000 +v 0.100000 0.750000 -0.150000 +v 0.100000 0.750000 0.150000 +v -0.375000 0.875000 -0.750000 +v 0.375000 0.875000 -0.750000 +v 0.375000 0.125000 -0.750000 +v -0.375000 0.125000 -0.750000 +v 0.375000 0.875000 0.750000 +v -0.375000 0.875000 0.750000 +v -0.375000 0.125000 0.750000 +v 0.375000 0.125000 0.750000 +vt 0.500000 0.020384 +vt 0.739808 0.020384 +vt 0.739808 0.260192 +vt 0.260192 0.260192 +vt 0.020384 0.260192 +vt 0.020384 0.020384 +vt 0.979616 0.020384 +vt 0.979616 0.260192 +vt 0.156897 0.716781 +vt 0.156897 0.764742 +vt 0.084954 0.764742 +vt 0.260192 0.020384 +vt 0.344125 0.080336 +vt 0.344125 0.200240 +vt 0.180878 0.655642 +vt 0.084954 0.716781 +vt 0.060974 0.825882 +vt 0.020384 0.776733 +vt 0.221467 0.704791 +vt 0.416067 0.200240 +vt 0.500000 0.260192 +vt 0.416067 0.080336 +vt 0.267269 0.367989 +vt 0.267268 0.547845 +vt 0.087413 0.547845 +vt 0.087413 0.367989 +vt 0.057437 0.300961 +vt 0.334297 0.338013 +vt 0.297244 0.614873 +vt 0.020384 0.577821 +vt 0.442094 0.547845 +vt 0.442094 0.367989 +vt 0.621950 0.367989 +vt 0.621950 0.547845 +vt 0.651926 0.614873 +vt 0.375065 0.577821 +vt 0.412118 0.300961 +vt 0.688978 0.338013 +vt 0.060974 0.655642 +vt 0.180878 0.825882 +vt 0.020384 0.704791 +vt 0.221467 0.776733 +vt 0.297244 0.300961 +vt 0.334297 0.577821 +vt 0.057437 0.614873 +vt 0.020384 0.338013 +vt 0.412118 0.614873 +vt 0.375065 0.338013 +vt 0.651926 0.300961 +vt 0.688978 0.577821 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.980600 0.196100 0.000000 +vn 0.980600 0.196100 0.000000 +vn 0.000000 0.371400 -0.928500 +vn 0.000000 0.371400 0.928500 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.894400 -0.447200 +vn 0.894400 0.000000 -0.447200 +vn 0.000000 -0.894400 -0.447200 +vn -0.894400 0.000000 -0.447200 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.894400 0.447200 +vn -0.894400 0.000000 0.447200 +vn 0.000000 -0.894400 0.447200 +vn 0.894400 0.000000 0.447200 +s off +f 4/1/1 3/2/1 1/3/1 +f 6/4/2 5/5/2 7/6/2 +f 3/2/3 7/7/3 5/8/3 +f 15/9/4 14/10/4 13/11/4 +f 8/12/4 12/13/4 11/14/4 +f 12/15/5 15/9/5 16/16/5 +f 9/17/6 13/11/6 14/10/6 +f 16/16/7 13/11/7 9/18/7 +f 14/10/8 15/9/8 12/19/8 +f 6/4/4 11/14/4 9/20/4 +f 2/21/4 9/20/4 10/22/4 +f 4/1/4 10/22/4 12/13/4 +f 18/23/9 19/24/9 20/25/9 +f 18/23/10 17/26/10 4/27/10 +f 19/24/11 18/23/11 8/28/11 +f 20/25/12 19/24/12 7/29/12 +f 17/26/13 20/25/13 3/30/13 +f 22/31/14 23/32/14 24/33/14 +f 22/31/15 21/34/15 6/35/15 +f 23/32/16 22/31/16 2/36/16 +f 24/33/17 23/32/17 1/37/17 +f 21/34/18 24/33/18 5/38/18 +f 2/21/1 4/1/1 1/3/1 +f 8/12/2 6/4/2 7/6/2 +f 1/3/3 3/2/3 5/8/3 +f 16/16/4 15/9/4 13/11/4 +f 6/4/4 8/12/4 11/14/4 +f 11/39/5 12/15/5 16/16/5 +f 10/40/6 9/17/6 14/10/6 +f 11/41/7 16/16/7 9/18/7 +f 10/42/8 14/10/8 12/19/8 +f 2/21/4 6/4/4 9/20/4 +f 4/1/4 2/21/4 10/22/4 +f 8/12/4 4/1/4 12/13/4 +f 17/26/9 18/23/9 20/25/9 +f 8/43/10 18/23/10 4/27/10 +f 7/44/11 19/24/11 8/28/11 +f 3/45/12 20/25/12 7/29/12 +f 4/46/13 17/26/13 3/30/13 +f 21/34/14 22/31/14 24/33/14 +f 2/47/15 22/31/15 6/35/15 +f 1/48/16 23/32/16 2/36/16 +f 5/49/17 24/33/17 1/37/17 +f 6/50/18 21/34/18 5/38/18 diff --git a/assets/hbm/models/blast_door_block.obj b/assets/hbm/models/blast_door_block.obj new file mode 100644 index 000000000..198514070 --- /dev/null +++ b/assets/hbm/models/blast_door_block.obj @@ -0,0 +1,114 @@ +# Blender v2.76 (sub 0) OBJ File: 'blast_door_block.blend' +# www.blender.org +o Cube.003_Cube.004 +v -0.500000 3.000000 0.500000 +v -0.500000 4.000000 0.500000 +v -0.500000 3.000000 -0.500000 +v -0.500000 4.000000 -0.500000 +v 0.500000 3.000000 0.500000 +v 0.500000 4.000000 0.500000 +v 0.500000 3.000000 -0.500000 +v 0.500000 4.000000 -0.500000 +v -0.375000 3.875000 -0.750000 +v 0.375000 3.875000 -0.750000 +v 0.375000 3.125000 -0.750000 +v -0.375000 3.125000 -0.750000 +v 0.375000 3.875000 0.750000 +v -0.375000 3.875000 0.750000 +v -0.375000 3.125000 0.750000 +v 0.375000 3.125000 0.750000 +v 0.300000 3.000000 0.500000 +v 0.300000 3.000000 -0.500000 +v -0.300000 3.000000 0.500000 +v -0.300000 3.000000 -0.500000 +vt 0.261012 0.256902 +vt 0.022204 0.256902 +vt 0.022204 0.018094 +vt 0.499820 0.018094 +vt 0.738628 0.018094 +vt 0.738628 0.256902 +vt 0.250367 0.613434 +vt 0.090555 0.547258 +vt 0.268124 0.547258 +vt 0.499820 0.256902 +vt 0.261012 0.018094 +vt 0.268124 0.369689 +vt 0.090555 0.369689 +vt 0.060961 0.303513 +vt 0.334300 0.340094 +vt 0.971758 0.253591 +vt 0.924331 0.253591 +vt 0.924331 0.016455 +vt 0.024379 0.576852 +vt 0.438442 0.547258 +vt 0.438442 0.369689 +vt 0.616011 0.369689 +vt 0.616011 0.547258 +vt 0.645606 0.613434 +vt 0.372266 0.576852 +vt 0.786389 0.018094 +vt 0.786389 0.256902 +vt 0.682187 0.340094 +vt 0.456199 0.303513 +vt 0.598254 0.303513 +vt 0.297719 0.613434 +vt 0.108312 0.613434 +vt 0.060960 0.613434 +vt 0.297719 0.303513 +vt 0.334300 0.576852 +vt 0.971758 0.016455 +vt 0.024379 0.340094 +vt 0.408848 0.613434 +vt 0.372266 0.340094 +vt 0.682187 0.576852 +vt 0.645606 0.303513 +vt 0.408848 0.303513 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -0.894400 -0.447200 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.894400 -0.447200 +vn 0.894400 0.000000 -0.447200 +vn 0.000000 -1.000000 0.000000 +vn -0.894400 0.000000 -0.447200 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.894400 0.447200 +vn -0.894400 0.000000 0.447200 +vn 0.894400 0.000000 0.447200 +vn 0.000000 -0.894400 0.447200 +s off +f 4/1/1 3/2/1 1/3/1 +f 6/4/2 5/5/2 7/6/2 +f 18/7/3 12/8/3 11/9/3 +f 8/10/4 4/1/4 2/11/4 +f 10/12/5 11/9/5 12/8/5 +f 10/12/6 9/13/6 4/14/6 +f 11/9/7 10/12/7 8/15/7 +f 3/16/8 20/17/8 19/18/8 +f 9/13/9 12/8/9 3/19/9 +f 14/20/10 15/21/10 16/22/10 +f 14/20/11 13/23/11 6/24/11 +f 15/21/12 14/20/12 2/25/12 +f 5/5/8 17/26/8 18/27/8 +f 13/23/13 16/22/13 5/28/13 +f 15/21/14 19/29/14 17/30/14 +f 2/11/1 4/1/1 1/3/1 +f 8/10/2 6/4/2 7/6/2 +f 11/9/3 7/31/3 18/7/3 +f 18/7/3 20/32/3 12/8/3 +f 3/33/3 12/8/3 20/32/3 +f 6/4/4 8/10/4 2/11/4 +f 9/13/5 10/12/5 12/8/5 +f 8/34/6 10/12/6 4/14/6 +f 7/35/7 11/9/7 8/15/7 +f 1/36/8 3/16/8 19/18/8 +f 4/37/9 9/13/9 3/19/9 +f 13/23/10 14/20/10 16/22/10 +f 2/38/11 14/20/11 6/24/11 +f 1/39/12 15/21/12 2/25/12 +f 7/6/8 5/5/8 18/27/8 +f 6/40/13 13/23/13 5/28/13 +f 17/30/14 5/41/14 16/22/14 +f 16/22/14 15/21/14 17/30/14 +f 1/42/14 19/29/14 15/21/14 diff --git a/assets/hbm/models/blast_door_slider.obj b/assets/hbm/models/blast_door_slider.obj new file mode 100644 index 000000000..2dc4beb8a --- /dev/null +++ b/assets/hbm/models/blast_door_slider.obj @@ -0,0 +1,34 @@ +# Blender v2.76 (sub 0) OBJ File: 'blast_door_slider.blend' +# www.blender.org +o Cube.002_Cube.003 +v -0.300000 2.000000 0.500000 +v 0.300000 2.000000 0.500000 +v -0.300000 2.000000 -0.500000 +v 0.300000 2.000000 -0.500000 +v -0.300000 3.000000 -0.500000 +v -0.300000 3.000000 0.500000 +v 0.300000 3.000000 0.500000 +v 0.300000 3.000000 -0.500000 +vt 0.984190 0.359560 +vt 0.984190 0.662179 +vt 0.681571 0.662179 +vt 0.500000 0.359560 +vt 0.500000 0.662179 +vt 0.197381 0.662179 +vt 0.197381 0.359560 +vt 0.015810 0.662179 +vt 0.681571 0.359560 +vt 0.015810 0.359560 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +s off +f 4/1/1 8/2/1 7/3/1 +f 1/4/2 6/5/2 5/6/2 +f 3/7/3 5/6/3 8/8/3 +f 2/9/4 7/3/4 6/5/4 +f 2/9/1 4/1/1 7/3/1 +f 3/7/2 1/4/2 5/6/2 +f 4/10/3 3/7/3 8/8/3 +f 1/4/4 2/9/4 6/5/4 diff --git a/assets/hbm/models/blast_door_tooth.obj b/assets/hbm/models/blast_door_tooth.obj new file mode 100644 index 000000000..03bf05605 --- /dev/null +++ b/assets/hbm/models/blast_door_tooth.obj @@ -0,0 +1,85 @@ +# Blender v2.76 (sub 0) OBJ File: 'blast_door_tooth.blend' +# www.blender.org +o Cube.001_Cube.002 +v -0.150000 1.000000 0.250000 +v -0.150000 1.000000 -0.250000 +v 0.150000 1.000000 0.250000 +v 0.150000 1.000000 -0.250000 +v -0.100000 0.750000 0.150000 +v -0.100000 0.750000 -0.150000 +v 0.100000 0.750000 -0.150000 +v 0.100000 0.750000 0.150000 +v -0.300000 1.000000 0.500000 +v 0.300000 1.000000 0.500000 +v -0.300000 1.000000 -0.500000 +v 0.300000 1.000000 -0.500000 +v -0.300000 2.000000 -0.500000 +v -0.300000 2.000000 0.500000 +v 0.300000 2.000000 0.500000 +v 0.300000 2.000000 -0.500000 +vt 0.434968 0.430653 +vt 0.525462 0.430653 +vt 0.525462 0.490982 +vt 0.404804 0.567886 +vt 0.434968 0.490982 +vt 0.555627 0.353748 +vt 0.353748 0.415570 +vt 0.606682 0.506064 +vt 0.017368 0.534735 +vt 0.017367 0.353748 +vt 0.092779 0.398995 +vt 0.319013 0.353748 +vt 0.243601 0.398995 +vt 0.319013 0.534735 +vt 0.243602 0.489488 +vt 0.092779 0.489488 +vt 0.982633 0.017367 +vt 0.982633 0.319013 +vt 0.680987 0.319013 +vt 0.500000 0.017367 +vt 0.500000 0.319013 +vt 0.198355 0.319013 +vt 0.198355 0.017368 +vt 0.017367 0.319013 +vt 0.680987 0.017367 +vt 0.555626 0.567886 +vt 0.404804 0.353748 +vt 0.353748 0.506064 +vt 0.606682 0.415570 +vt 0.017367 0.017368 +vn 0.000000 -1.000000 0.000000 +vn 0.980600 -0.196100 0.000000 +vn -0.980600 -0.196100 0.000000 +vn 0.000000 -0.371400 0.928500 +vn 0.000000 -0.371400 -0.928500 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +s off +f 5/1/1 6/2/1 7/3/1 +f 3/4/2 8/5/2 7/3/2 +f 2/6/3 6/2/3 5/1/3 +f 1/7/4 5/1/4 8/5/4 +f 4/8/5 7/3/5 6/2/5 +f 10/9/1 9/10/1 1/11/1 +f 9/10/1 11/12/1 2/13/1 +f 11/12/1 12/14/1 4/15/1 +f 12/14/1 10/9/1 3/16/1 +f 12/17/6 16/18/6 15/19/6 +f 9/20/7 14/21/7 13/22/7 +f 11/23/8 13/22/8 16/24/8 +f 10/25/9 15/19/9 14/21/9 +f 8/5/1 5/1/1 7/3/1 +f 4/26/2 3/4/2 7/3/2 +f 1/27/3 2/6/3 5/1/3 +f 3/28/4 1/7/4 8/5/4 +f 2/29/5 4/8/5 6/2/5 +f 3/16/1 10/9/1 1/11/1 +f 1/11/1 9/10/1 2/13/1 +f 2/13/1 11/12/1 4/15/1 +f 4/15/1 12/14/1 3/16/1 +f 10/25/6 12/17/6 15/19/6 +f 11/23/7 9/20/7 13/22/7 +f 12/30/8 11/23/8 16/24/8 +f 9/20/9 10/25/9 14/21/9 diff --git a/assets/hbm/models/n45_chain.obj b/assets/hbm/models/n45_chain.obj new file mode 100644 index 000000000..aa2cf4c00 --- /dev/null +++ b/assets/hbm/models/n45_chain.obj @@ -0,0 +1,1133 @@ +# Blender v2.76 (sub 0) OBJ File: 'n45_chain.blend' +# www.blender.org +o Torus +v 0.000000 -0.000000 -0.110000 +v 0.020000 -0.000000 -0.090000 +v 0.000000 -0.000000 -0.070000 +v -0.020000 -0.000000 -0.090000 +v -0.000000 0.116673 -0.077782 +v 0.020000 0.095459 -0.063640 +v -0.000000 0.074246 -0.049497 +v -0.020000 0.095459 -0.063640 +v -0.000000 0.165000 -0.000000 +v 0.020000 0.135000 -0.000000 +v -0.000000 0.105000 -0.000000 +v -0.020000 0.135000 -0.000000 +v -0.000000 0.116673 0.077782 +v 0.020000 0.095459 0.063640 +v -0.000000 0.074246 0.049497 +v -0.020000 0.095459 0.063640 +v 0.000000 -0.000000 0.110000 +v 0.020000 -0.000000 0.090000 +v 0.000000 -0.000000 0.070000 +v -0.020000 -0.000000 0.090000 +v 0.000000 0.835000 0.000000 +v 0.020000 0.865000 0.000000 +v 0.000000 0.895000 0.000000 +v -0.020000 0.865000 0.000000 +v 0.000000 0.883327 -0.077782 +v 0.020000 0.904541 -0.063640 +v 0.000000 0.925754 -0.049497 +v -0.020000 0.904541 -0.063640 +v 0.000000 1.000000 -0.110000 +v 0.020000 1.000000 -0.090000 +v 0.000000 1.000000 -0.070000 +v -0.020000 1.000000 -0.090000 +v 0.000000 1.000000 0.110000 +v 0.020000 1.000000 0.090000 +v 0.000000 1.000000 0.070000 +v -0.020000 1.000000 0.090000 +v 0.000000 0.883327 0.077782 +v 0.020000 0.904541 0.063640 +v 0.000000 0.925754 0.049498 +v -0.020000 0.904541 0.063640 +v 0.000000 0.501667 0.000000 +v 0.020000 0.531667 0.000000 +v 0.000000 0.561667 0.000000 +v -0.020000 0.531667 0.000000 +v 0.000000 0.549994 -0.077782 +v 0.020000 0.571207 -0.063640 +v 0.000000 0.592420 -0.049497 +v -0.020000 0.571207 -0.063640 +v 0.000000 0.666667 -0.110000 +v 0.020000 0.666667 -0.090000 +v 0.000000 0.666667 -0.070000 +v -0.020000 0.666667 -0.090000 +v -0.000000 0.783339 -0.077782 +v 0.020000 0.762126 -0.063640 +v -0.000000 0.740913 -0.049497 +v -0.020000 0.762126 -0.063640 +v -0.000000 0.831667 -0.000000 +v 0.020000 0.801667 -0.000000 +v -0.000000 0.771667 -0.000000 +v -0.020000 0.801667 -0.000000 +v -0.000000 0.783339 0.077782 +v 0.020000 0.762126 0.063640 +v -0.000000 0.740913 0.049497 +v -0.020000 0.762126 0.063640 +v 0.000000 0.666667 0.110000 +v 0.020000 0.666667 0.090000 +v 0.000000 0.666667 0.070000 +v -0.020000 0.666667 0.090000 +v 0.000000 0.549994 0.077782 +v 0.020000 0.571207 0.063640 +v 0.000000 0.592420 0.049498 +v -0.020000 0.571207 0.063640 +v 0.000000 0.168333 0.000000 +v 0.020000 0.198333 0.000000 +v 0.000000 0.228333 0.000000 +v -0.020000 0.198333 0.000000 +v 0.000000 0.216661 -0.077782 +v 0.020000 0.237874 -0.063640 +v 0.000000 0.259087 -0.049497 +v -0.020000 0.237874 -0.063640 +v 0.000000 0.333333 -0.110000 +v 0.020000 0.333333 -0.090000 +v 0.000000 0.333333 -0.070000 +v -0.020000 0.333333 -0.090000 +v -0.000000 0.450006 -0.077782 +v 0.020000 0.428793 -0.063640 +v -0.000000 0.407579 -0.049497 +v -0.020000 0.428793 -0.063640 +v -0.000000 0.498333 -0.000000 +v 0.020000 0.468333 -0.000000 +v -0.000000 0.438333 -0.000000 +v -0.020000 0.468333 -0.000000 +v -0.000000 0.450006 0.077782 +v 0.020000 0.428793 0.063640 +v -0.000000 0.407579 0.049497 +v -0.020000 0.428793 0.063640 +v 0.000000 0.333333 0.110000 +v 0.020000 0.333333 0.090000 +v 0.000000 0.333333 0.070000 +v -0.020000 0.333333 0.090000 +v 0.000000 0.216661 0.077782 +v 0.020000 0.237874 0.063640 +v 0.000000 0.259087 0.049498 +v -0.020000 0.237874 0.063640 +v -0.000000 0.001667 -0.000000 +v -0.000000 0.031667 -0.020000 +v -0.000000 0.061667 -0.000000 +v -0.000000 0.031667 0.020000 +v -0.077782 0.049994 -0.000000 +v -0.063640 0.071207 -0.020000 +v -0.049497 0.092420 -0.000000 +v -0.063640 0.071207 0.020000 +v -0.110000 0.166667 0.000000 +v -0.090000 0.166667 -0.020000 +v -0.070000 0.166667 0.000000 +v -0.090000 0.166667 0.020000 +v -0.077782 0.283339 0.000000 +v -0.063640 0.262126 -0.020000 +v -0.049497 0.240913 0.000000 +v -0.063640 0.262126 0.020000 +v -0.000000 0.331667 0.000000 +v -0.000000 0.301667 -0.020000 +v -0.000000 0.271667 0.000000 +v -0.000000 0.301667 0.020000 +v 0.077782 0.283339 0.000000 +v 0.063640 0.262126 -0.020000 +v 0.049497 0.240913 0.000000 +v 0.063640 0.262126 0.020000 +v 0.110000 0.166667 0.000000 +v 0.090000 0.166667 -0.020000 +v 0.070000 0.166667 0.000000 +v 0.090000 0.166667 0.020000 +v 0.077782 0.049994 0.000000 +v 0.063640 0.071207 -0.020000 +v 0.049498 0.092421 0.000000 +v 0.063640 0.071207 0.020000 +v -0.000000 0.668333 -0.000000 +v -0.000000 0.698333 -0.020000 +v -0.000000 0.728333 -0.000000 +v -0.000000 0.698333 0.020000 +v -0.077782 0.716661 -0.000000 +v -0.063640 0.737874 -0.020000 +v -0.049497 0.759087 -0.000000 +v -0.063640 0.737874 0.020000 +v -0.110000 0.833333 0.000000 +v -0.090000 0.833333 -0.020000 +v -0.070000 0.833333 0.000000 +v -0.090000 0.833333 0.020000 +v -0.077782 0.950006 0.000000 +v -0.063640 0.928793 -0.020000 +v -0.049497 0.907579 0.000000 +v -0.063640 0.928793 0.020000 +v -0.000000 0.998333 0.000000 +v -0.000000 0.968333 -0.020000 +v -0.000000 0.938333 0.000000 +v -0.000000 0.968333 0.020000 +v 0.077782 0.950006 0.000000 +v 0.063640 0.928793 -0.020000 +v 0.049497 0.907579 0.000000 +v 0.063640 0.928793 0.020000 +v 0.110000 0.833333 0.000000 +v 0.090000 0.833333 -0.020000 +v 0.070000 0.833333 0.000000 +v 0.090000 0.833333 0.020000 +v 0.077782 0.716661 0.000000 +v 0.063640 0.737874 -0.020000 +v 0.049498 0.759087 0.000000 +v 0.063640 0.737874 0.020000 +v -0.000000 0.335000 -0.000000 +v -0.000000 0.365000 -0.020000 +v -0.000000 0.395000 -0.000000 +v -0.000000 0.365000 0.020000 +v -0.077782 0.383327 -0.000000 +v -0.063640 0.404541 -0.020000 +v -0.049497 0.425754 -0.000000 +v -0.063640 0.404541 0.020000 +v -0.110000 0.500000 0.000000 +v -0.090000 0.500000 -0.020000 +v -0.070000 0.500000 0.000000 +v -0.090000 0.500000 0.020000 +v -0.077782 0.616673 0.000000 +v -0.063640 0.595459 -0.020000 +v -0.049497 0.574246 0.000000 +v -0.063640 0.595459 0.020000 +v -0.000000 0.665000 0.000000 +v -0.000000 0.635000 -0.020000 +v -0.000000 0.605000 0.000000 +v -0.000000 0.635000 0.020000 +v 0.077782 0.616673 0.000000 +v 0.063640 0.595459 -0.020000 +v 0.049497 0.574246 0.000000 +v 0.063640 0.595459 0.020000 +v 0.110000 0.500000 0.000000 +v 0.090000 0.500000 -0.020000 +v 0.070000 0.500000 0.000000 +v 0.090000 0.500000 0.020000 +v 0.077782 0.383327 0.000000 +v 0.063640 0.404541 -0.020000 +v 0.049498 0.425754 0.000000 +v 0.063640 0.404541 0.020000 +vt 0.333333 0.000000 +vt 0.333333 0.130952 +vt 0.291667 0.119048 +vt 0.291667 0.869048 +vt 0.291667 0.761905 +vt 0.333333 0.773809 +vt 0.875000 0.488095 +vt 0.916666 0.476191 +vt 0.916666 0.583333 +vt 0.125000 0.535715 +vt 0.166667 0.523810 +vt 0.166667 0.654762 +vt 0.041667 0.654762 +vt 0.041667 0.785714 +vt 0.000000 0.773809 +vt 0.791667 0.869048 +vt 0.791667 0.976190 +vt 0.750000 0.964286 +vt 0.875000 0.773809 +vt 0.916667 0.761905 +vt 0.916667 0.869047 +vt 0.750000 0.642857 +vt 0.708333 0.654762 +vt 0.708333 0.523809 +vt 0.666667 0.130952 +vt 0.708333 0.142857 +vt 0.708333 0.250000 +vt 0.541667 0.869048 +vt 0.583333 0.880952 +vt 0.583333 0.964286 +vt 0.791667 0.964286 +vt 0.791667 0.880952 +vt 0.833333 0.869048 +vt 0.083333 0.535714 +vt 0.083333 0.642857 +vt 0.291667 0.261905 +vt 0.250000 0.250000 +vt 0.250000 0.142857 +vt 0.166667 0.785714 +vt 0.208333 0.797619 +vt 0.208333 0.880953 +vt 0.000000 0.880952 +vt 0.000000 0.797619 +vt 0.583333 0.273810 +vt 0.583333 0.380952 +vt 0.541667 0.392857 +vt 0.250000 0.392857 +vt 0.208333 0.380952 +vt 0.208334 0.273810 +vt 0.916666 0.345238 +vt 0.875000 0.333333 +vt 0.875000 0.250000 +vt 0.916667 0.666667 +vt 0.916667 0.750000 +vt 0.875000 0.761905 +vt 0.583333 0.511905 +vt 0.583333 0.404762 +vt 0.625000 0.392857 +vt 0.666666 0.392857 +vt 0.625000 0.380952 +vt 0.625000 0.273810 +vt 0.083333 0.892857 +vt 0.125000 0.904762 +vt 0.125000 0.988095 +vt 0.958333 0.750000 +vt 0.958333 0.666667 +vt 1.000000 0.654762 +vt 0.500000 0.404762 +vt 0.500000 0.511905 +vt 0.458333 0.523809 +vt 0.125000 0.773810 +vt 0.125000 0.785714 +vt 0.125000 0.892857 +vt 0.083333 0.880952 +vt 0.958333 0.357143 +vt 1.000000 0.345238 +vt 1.000000 0.452381 +vt 0.541667 0.250000 +vt 0.500000 0.261905 +vt 0.500000 0.130952 +vt 0.166667 0.000000 +vt 0.166667 0.130952 +vt 0.125000 0.119048 +vt 0.791666 0.500000 +vt 0.791666 0.607143 +vt 0.750000 0.595238 +vt 0.750000 0.404762 +vt 0.791666 0.392857 +vt 0.208333 0.011905 +vt 0.250000 0.000000 +vt 0.250000 0.130952 +vt 0.083333 0.523810 +vt 0.041667 0.511905 +vt 0.041667 0.404762 +vt 0.916666 0.238095 +vt 0.875000 0.226190 +vt 0.875000 0.142857 +vt 0.041667 0.880952 +vt 0.041667 0.797619 +vt 0.083333 0.785714 +vt 0.500000 0.380952 +vt 0.500000 0.273809 +vt 0.541667 0.261905 +vt 0.583333 0.261905 +vt 0.541667 0.142857 +vt 0.958333 0.000000 +vt 1.000000 0.011905 +vt 1.000000 0.095238 +vt 0.958333 0.333333 +vt 0.958333 0.250000 +vt 1.000000 0.238095 +vt 0.541667 0.535714 +vt 0.541667 0.642857 +vt 0.500000 0.654762 +vt 0.041667 0.130952 +vt 0.041667 0.261905 +vt 0.000000 0.250000 +vt 1.000000 0.761905 +vt 1.000000 0.869047 +vt 0.958333 0.857143 +vt 0.250000 0.785714 +vt 0.250000 0.892857 +vt 0.375000 0.535714 +vt 0.416667 0.523809 +vt 0.416667 0.654762 +vt 0.083333 0.130952 +vt 0.083333 0.261905 +vt 0.041667 0.250000 +vt 0.541667 0.654762 +vt 0.541667 0.761905 +vt 0.500000 0.750000 +vt 0.916666 0.380952 +vt 0.958333 0.369048 +vt 0.958333 0.476190 +vt 0.458333 0.011905 +vt 0.500000 0.000000 +vt 0.416667 0.261905 +vt 0.458333 0.273810 +vt 0.458333 0.380952 +vt 0.500000 0.761905 +vt 0.458333 0.750000 +vt 0.458333 0.666667 +vt 0.416667 0.964286 +vt 0.416667 0.880952 +vt 0.458333 0.869048 +vt 0.125000 0.666667 +vt 0.291667 0.392857 +vt 0.250000 0.380952 +vt 0.250000 0.273810 +vt 0.333333 0.761905 +vt 0.291667 0.750000 +vt 0.291667 0.666667 +vt 0.791666 0.357143 +vt 0.791666 0.273809 +vt 0.833333 0.261905 +vt 0.208333 0.142857 +vt 0.208333 0.250000 +vt 0.166667 0.261905 +vt 0.583333 0.654762 +vt 0.583333 0.523809 +vt 0.625000 0.535714 +vt 0.958333 0.761905 +vt 0.958333 0.869047 +vt 0.916667 0.857143 +vt 0.000000 0.904762 +vt 0.041667 0.892857 +vt 0.041667 1.000000 +vt 0.666666 0.273809 +vt 0.708333 0.261905 +vt 0.708333 0.392857 +vt 0.083333 0.000000 +vt 0.041667 0.119048 +vt 0.416667 0.869048 +vt 0.416667 0.976191 +vt 0.375000 0.964286 +vt 0.750000 0.273809 +vt 0.791666 0.261905 +vt 0.791666 0.369048 +vt 0.250000 0.261905 +vt 0.208333 0.392857 +vt 0.166667 0.380953 +vt 0.166667 0.273810 +vt 0.833333 0.750000 +vt 0.833333 0.666667 +vt 0.833333 0.345238 +vt 0.000000 0.642857 +vt 0.000000 0.535714 +vt 0.041667 0.523810 +vt 0.208333 0.523810 +vt 0.166667 0.511905 +vt 0.166667 0.404762 +vt 0.708334 0.869048 +vt 0.750000 0.880952 +vt 0.958333 0.571428 +vt 0.958333 0.488095 +vt 1.000000 0.476191 +vt 0.125000 0.511905 +vt 0.125000 0.404762 +vt 0.166667 0.392857 +vt 0.291667 0.000000 +vt 0.291667 0.130952 +vt 0.250000 0.119048 +vt 0.833333 0.654762 +vt 0.833333 0.761905 +vt 0.791667 0.750000 +vt 0.916666 0.142857 +vt 0.958333 0.130952 +vt 0.958333 0.238095 +vt 0.041667 0.380952 +vt 0.000000 0.392857 +vt 0.000000 0.261905 +vt 0.750000 0.392857 +vt 0.750000 0.523809 +vt 0.708333 0.511905 +vt 0.833333 0.392857 +vt 0.833333 0.500000 +vt 0.791666 0.488095 +vt 0.875000 0.880952 +vt 0.916667 0.976190 +vt 0.208333 0.773810 +vt 0.625000 0.130952 +vt 0.583333 0.119048 +vt 0.583333 0.011905 +vt 0.791667 0.238095 +vt 0.750000 0.226190 +vt 0.750000 0.142857 +vt 0.166667 0.892857 +vt 0.750000 0.250000 +vt 0.083333 0.392857 +vt 0.875000 0.000000 +vt 0.916666 0.011905 +vt 0.916666 0.095238 +vt 0.791666 0.095238 +vt 0.791666 0.011905 +vt 0.833333 0.000000 +vt 0.416667 0.642857 +vt 0.416667 0.535714 +vt 0.625000 0.261905 +vt 0.583333 0.250000 +vt 0.375000 0.869048 +vt 0.375000 0.976190 +vt 0.333333 0.964286 +vt 0.166667 0.904762 +vt 0.208333 0.892857 +vt 0.208333 1.000000 +vt 0.375000 0.511905 +vt 0.333333 0.523809 +vt 0.333333 0.392857 +vt 0.208333 0.000000 +vt 0.208333 0.130952 +vt 0.166667 0.119048 +vt 0.791667 0.857143 +vt 0.458333 0.773809 +vt 0.500000 0.869047 +vt 0.375000 0.273809 +vt 0.416667 0.392857 +vt 0.666667 0.261905 +vt 0.625000 0.250000 +vt 0.625000 0.142857 +vt 0.750000 0.857143 +vt 0.750000 0.773809 +vt 0.250000 0.964286 +vt 0.250000 0.880953 +vt 0.625000 0.119048 +vt 0.625000 0.011905 +vt 0.666667 0.000000 +vt 0.375000 0.261905 +vt 0.333333 0.250000 +vt 0.333333 0.142857 +vt 0.500000 0.857143 +vt 0.500000 0.773809 +vt 0.833333 0.464286 +vt 0.833333 0.380952 +vt 0.875000 0.369048 +vt 0.500000 0.535714 +vt 0.500000 0.642857 +vt 0.458333 0.654762 +vt 0.250000 0.404762 +vt 0.875000 0.380952 +vt 0.916666 0.369048 +vt 0.291667 0.142857 +vt 0.333333 0.261905 +vt 0.458333 0.130952 +vt 0.458333 0.261905 +vt 0.416667 0.250000 +vt 0.416667 0.761905 +vt 0.375000 0.750000 +vt 0.291667 0.976191 +vt 0.666666 0.642857 +vt 0.625000 0.654762 +vt 0.625000 0.523809 +vt 0.125000 0.392857 +vt 0.083333 0.380953 +vt 0.083333 0.273810 +vt 0.916667 0.654762 +vt 0.666667 0.880952 +vt 0.666667 0.964285 +vt 0.625000 0.976190 +vt 0.458333 0.119048 +vt 0.416667 0.130952 +vt 0.125000 0.261905 +vt 0.083333 0.250000 +vt 0.083333 0.142857 +vt 0.875000 0.857143 +vt 0.916666 0.571429 +vt 0.916666 0.488095 +vt 0.333333 0.119048 +vt 0.333333 0.011905 +vt 0.375000 0.000000 +vt 0.541667 0.130952 +vt 0.541667 0.000000 +vt 0.250000 1.000000 +vt 0.208333 0.988095 +vt 0.541667 0.964285 +vt 0.500000 0.976190 +vt 0.250000 0.642857 +vt 0.208333 0.654762 +vt 0.583333 0.392857 +vt 0.541667 0.511905 +vt 0.375000 0.761905 +vt 0.416667 0.773810 +vt 0.583333 0.857143 +vt 0.291667 0.523810 +vt 0.666666 0.404762 +vt 0.666666 0.511905 +vt 0.250000 0.750000 +vt 0.250000 0.666667 +vt 0.666667 0.857143 +vt 0.666667 0.773809 +vt 0.708334 0.761905 +vt 0.041667 0.773810 +vt 0.041667 0.666667 +vt 0.083333 0.654762 +vt 0.125000 0.011905 +vt 0.583333 0.761905 +vt 0.541667 0.750000 +vt 0.541667 0.666667 +vt 0.791667 0.666667 +vt 0.750000 0.761905 +vt 0.375000 0.642857 +vt 0.333333 0.654762 +vt 0.375000 0.250000 +vt 0.458333 0.761905 +vt 0.416667 0.857143 +vt 0.833333 0.142857 +vt 0.875000 0.130952 +vt 0.875000 0.238095 +vt 0.291667 0.273810 +vt 0.750000 0.261905 +vt 0.708333 0.380952 +vt 0.666667 0.761905 +vt 0.666667 0.869047 +vt 0.625000 0.857143 +vt 0.500000 0.964285 +vt 0.458333 0.976190 +vt 0.291667 0.511905 +vt 0.291667 0.404762 +vt 0.833333 0.511905 +vt 0.833333 0.595238 +vt 0.625000 0.869048 +vt 0.250000 0.773809 +vt 0.208333 0.785714 +vt 0.708333 0.011905 +vt 0.708333 0.119048 +vt 0.166667 0.797619 +vt 0.166667 0.880952 +vt 0.416667 0.750000 +vt 0.416667 0.666667 +vt 0.125000 0.250000 +vt 0.125000 0.142857 +vt 0.000000 0.130952 +vt 0.000000 0.000000 +vt 0.041667 0.011905 +vt 0.083333 1.000000 +vt 0.041667 0.988095 +vt 0.708334 0.666667 +vt 0.750000 0.654762 +vt 0.458333 0.142857 +vt 0.458333 0.392857 +vt 0.791666 0.000000 +vt 0.791666 0.107143 +vt 0.750000 0.095238 +vt 0.333333 0.666667 +vt 0.375000 0.654762 +vt 0.000000 0.523810 +vt 0.625000 0.773809 +vt 0.708334 0.880952 +vt 0.708333 0.964285 +vt 0.666667 0.976190 +vt 0.750000 0.011905 +vt 0.750000 0.119048 +vt 0.708333 0.130952 +vt 0.541667 0.011905 +vt 0.541667 0.119048 +vt 0.875000 0.107143 +vt 0.833333 0.095238 +vt 0.833333 0.011905 +vt 1.000000 0.142857 +vt 1.000000 0.226190 +vt 0.291667 0.642857 +vt 0.291667 0.535714 +vt 0.291667 0.654762 +vt 0.833333 0.583333 +vt 0.833333 0.476191 +vt 0.958333 0.095238 +vt 0.916666 0.107143 +vt 0.916666 0.000000 +vt 0.375000 0.380952 +vt 0.666667 0.750000 +vt 0.625000 0.666667 +vt 0.666667 0.654762 +vt 0.041667 0.273810 +vt 0.458333 0.404762 +vt 0.458333 0.511905 +vt 0.625000 0.761905 +vt 0.583334 0.750000 +vt 0.583333 0.666667 +vt 0.250000 0.857143 +vt 0.583333 0.535714 +vt 0.583333 0.642857 +vt 0.375000 0.404762 +vt 0.833333 0.238095 +vt 0.791667 0.226190 +vt 0.791667 0.142857 +vt 0.833333 0.964286 +vt 0.833333 0.880952 +vt 0.875000 0.869048 +vt 0.125000 0.380953 +vt 0.125000 0.273810 +vt 0.416667 0.000000 +vt 0.375000 0.119047 +vt 0.958333 0.880952 +vt 1.000000 0.976190 +vt 0.125000 0.523810 +vt 0.125000 0.654762 +vt 0.166667 0.642857 +vt 0.333333 0.857143 +vt 0.541667 0.523810 +vt 0.291667 0.011905 +vt 0.875000 0.571429 +vt 0.125000 0.642857 +vt 0.000000 0.666667 +vt 0.750000 0.535714 +vt 0.541667 0.976190 +vt 0.833333 0.976190 +vt 0.875000 0.654762 +vt 0.083333 0.797619 +vt 0.958333 0.440476 +vt 0.750000 0.511905 +vt 0.750000 0.488095 +vt 0.208333 0.119048 +vt 0.916666 0.130952 +vt 0.583333 0.130952 +vt 0.958333 0.107143 +vt 0.500000 0.523809 +vt 0.000000 0.142857 +vt 0.958333 0.773809 +vt 0.041667 0.142857 +vt 0.500000 0.666667 +vt 0.916666 0.464286 +vt 0.833333 0.369048 +vt 0.625000 0.642857 +vt 0.916667 0.773809 +vt 0.000000 0.988095 +vt 0.666667 0.380952 +vt 0.375000 0.880952 +vt 0.750000 0.357143 +vt 0.208333 0.261905 +vt 0.708334 0.976190 +vt 1.000000 0.583333 +vt 0.250000 0.011905 +vt 0.916667 0.226190 +vt 0.708333 0.404762 +vt 0.791666 0.404762 +vt 0.875000 0.964285 +vt 0.208333 0.666667 +vt 0.625000 0.000000 +vt 0.791667 0.130952 +vt 0.166667 1.000000 +vt 0.833333 0.107143 +vt 0.583333 0.142857 +vt 0.333333 0.880952 +vt 0.166667 0.988095 +vt 0.166667 0.011905 +vt 0.791667 0.773809 +vt 0.458333 0.857143 +vt 0.791667 0.761905 +vt 0.375000 0.130952 +vt 0.875000 0.476191 +vt 0.250000 0.511905 +vt 0.875000 0.464286 +vt 0.291667 0.250000 +vt 0.416667 0.142857 +vt 0.375000 0.666667 +vt 0.666666 0.535714 +vt 0.125000 0.130952 +vt 0.958333 0.583333 +vt 0.208333 0.904762 +vt 0.541667 0.880952 +vt 0.250000 0.535714 +vt 0.541667 0.404762 +vt 0.583333 0.773809 +vt 0.375000 0.142857 +vt 0.833333 0.226191 +vt 0.291667 0.380953 +vt 0.708333 0.273809 +vt 0.500000 0.880952 +vt 0.041667 0.904762 +vt 0.708334 0.750000 +vt 0.458333 0.250000 +vt 0.333333 0.750000 +vt 0.583333 0.869047 +vt 0.708333 0.000000 +vt 0.958333 0.011905 +vt 0.666667 0.666667 +vt 0.625000 0.750000 +vt 0.833333 0.130952 +vt 0.875000 0.976190 +vt 0.375000 0.011905 +vt 0.958333 0.964285 +vt 0.166667 0.535715 +vn 0.694000 0.191600 -0.694000 +vn 0.694000 -0.191600 0.694000 +vn -0.694000 -0.191600 0.694000 +vn -0.694000 0.191600 -0.694000 +vn 0.786600 0.524400 -0.325800 +vn 0.786600 -0.524400 0.325800 +vn -0.786600 -0.524400 0.325800 +vn -0.786600 0.524400 -0.325800 +vn 0.786600 0.524400 0.325800 +vn 0.786600 -0.524400 -0.325800 +vn -0.786600 -0.524400 -0.325800 +vn -0.786600 0.524400 0.325800 +vn 0.694000 0.191600 0.694000 +vn 0.694000 -0.191600 -0.694000 +vn -0.694000 -0.191600 -0.694000 +vn -0.694000 0.191600 0.694000 +vn -0.325800 -0.524400 -0.786600 +vn 0.325800 0.524400 -0.786600 +vn 0.325800 0.524400 0.786600 +vn -0.325800 -0.524400 0.786600 +vn -0.325800 0.524400 -0.786600 +vn 0.325800 -0.524400 -0.786600 +vn 0.325800 -0.524400 0.786600 +vn -0.325800 0.524400 0.786600 +s off +f 1/1/1 5/2/1 6/3/1 +f 2/4/2 6/5/2 7/6/2 +f 7/7/3 8/8/3 4/9/3 +f 8/10/4 5/11/4 1/12/4 +f 5/13/5 9/14/5 10/15/5 +f 6/16/6 10/17/6 11/18/6 +f 11/19/7 12/20/7 8/21/7 +f 12/22/8 9/23/8 5/24/8 +f 13/25/9 14/26/9 10/27/9 +f 14/28/10 15/29/10 11/30/10 +f 11/31/11 15/32/11 16/33/11 +f 12/34/12 16/35/12 13/13/12 +f 17/36/13 18/37/13 14/38/13 +f 18/39/14 19/40/14 15/41/14 +f 15/42/15 19/43/15 20/14/15 +f 16/44/16 20/45/16 17/46/16 +f 25/47/10 26/48/10 22/49/10 +f 26/50/9 27/51/9 23/52/9 +f 23/53/12 27/54/12 28/55/12 +f 24/56/11 28/57/11 25/58/11 +f 29/59/14 30/60/14 26/61/14 +f 30/62/13 31/63/13 27/64/13 +f 27/65/16 31/66/16 32/67/16 +f 28/68/15 32/69/15 29/70/15 +f 33/12/2 37/39/2 38/71/2 +f 34/72/1 38/73/1 39/74/1 +f 39/75/4 40/76/4 36/77/4 +f 40/78/3 37/79/3 33/80/3 +f 37/81/6 21/82/6 22/83/6 +f 38/84/5 22/85/5 23/86/5 +f 23/87/8 24/88/8 40/84/8 +f 24/89/7 21/90/7 37/91/7 +f 45/92/10 46/93/10 42/94/10 +f 46/95/9 47/96/9 43/97/9 +f 43/98/12 47/99/12 48/100/12 +f 44/101/11 48/102/11 45/103/11 +f 49/104/14 50/78/14 46/105/14 +f 50/106/13 51/107/13 47/108/13 +f 47/109/16 51/110/16 52/111/16 +f 48/112/15 52/113/15 49/114/15 +f 49/115/1 53/116/1 54/117/1 +f 50/118/2 54/119/2 55/120/2 +f 55/40/3 56/121/3 52/122/3 +f 56/123/4 53/124/4 49/125/4 +f 53/126/5 57/127/5 58/128/5 +f 54/129/6 58/130/6 59/131/6 +f 59/132/7 60/133/7 56/134/7 +f 60/135/8 57/136/8 53/80/8 +f 61/137/9 62/138/9 58/139/9 +f 62/140/10 63/141/10 59/142/10 +f 59/143/11 63/144/11 64/145/11 +f 60/146/12 64/71/12 61/100/12 +f 65/147/13 66/148/13 62/149/13 +f 66/150/14 67/151/14 63/152/14 +f 63/153/15 67/154/15 68/155/15 +f 64/156/16 68/157/16 65/158/16 +f 65/159/2 69/160/2 70/161/2 +f 66/162/1 70/163/1 71/164/1 +f 71/165/4 72/166/4 68/167/4 +f 72/168/3 69/169/3 65/170/3 +f 69/171/6 41/126/6 42/172/6 +f 70/173/5 42/174/5 43/175/5 +f 43/176/8 44/177/8 72/178/8 +f 44/156/7 41/91/7 69/179/7 +f 77/180/10 78/181/10 74/182/10 +f 78/55/9 79/183/9 75/184/9 +f 75/52/12 79/51/12 80/185/12 +f 76/186/11 80/187/11 77/188/11 +f 81/189/14 82/190/14 78/191/14 +f 82/192/13 83/193/13 79/18/13 +f 79/194/16 83/195/16 84/196/16 +f 80/197/15 84/198/15 81/199/15 +f 81/200/1 85/201/1 86/202/1 +f 82/203/2 86/204/2 87/205/2 +f 87/206/3 88/207/3 84/208/3 +f 88/209/4 85/210/4 81/211/4 +f 85/212/5 89/213/5 90/214/5 +f 86/215/6 90/216/6 91/217/6 +f 91/218/7 92/21/7 88/219/7 +f 92/220/8 89/39/8 85/12/8 +f 93/221/9 94/222/9 90/223/9 +f 94/224/10 95/225/10 91/226/10 +f 91/64/11 95/63/11 96/227/11 +f 92/226/12 96/228/12 93/169/12 +f 97/229/13 98/198/13 94/197/13 +f 98/230/14 99/231/14 95/232/14 +f 95/233/15 99/234/15 100/235/15 +f 96/236/16 100/237/16 97/70/16 +f 97/221/2 101/238/2 102/239/2 +f 98/240/1 102/241/1 103/242/1 +f 103/243/4 104/244/4 100/245/4 +f 104/246/3 101/247/3 97/248/3 +f 101/249/6 73/250/6 74/251/6 +f 102/204/5 74/33/5 75/252/5 +f 75/253/8 76/140/8 104/254/8 +f 76/255/7 73/137/7 101/256/7 +f 109/257/17 110/258/17 106/259/17 +f 110/16/18 111/260/18 107/261/18 +f 107/262/19 111/263/19 112/4/19 +f 108/264/20 112/265/20 109/266/20 +f 113/267/15 114/268/15 110/269/15 +f 114/28/1 115/270/1 111/271/1 +f 111/272/13 115/273/13 116/274/13 +f 112/275/3 116/276/3 113/277/3 +f 113/189/4 117/180/4 118/278/4 +f 114/50/14 118/95/14 119/110/14 +f 119/279/2 120/280/2 116/8/2 +f 120/281/16 117/2/16 113/282/16 +f 117/283/21 121/284/21 122/285/21 +f 118/125/22 122/286/22 123/287/22 +f 123/242/23 124/288/23 120/4/23 +f 124/289/24 121/290/24 117/291/24 +f 125/292/18 126/293/18 122/294/18 +f 126/295/17 127/66/17 123/65/17 +f 123/296/20 127/297/20 128/298/20 +f 124/135/19 128/299/19 125/300/19 +f 129/301/1 130/302/1 126/303/1 +f 130/204/15 131/19/15 127/304/15 +f 127/305/3 131/306/3 132/134/3 +f 128/307/13 132/308/13 129/309/13 +f 129/310/14 133/311/14 134/223/14 +f 130/122/4 134/312/4 135/313/4 +f 135/314/16 136/315/16 132/254/16 +f 136/316/2 133/317/2 129/189/2 +f 133/318/22 105/160/22 106/319/22 +f 134/240/21 106/320/21 107/321/21 +f 107/322/24 108/28/24 136/130/24 +f 108/278/23 105/147/23 133/323/23 +f 141/58/17 142/324/17 138/325/17 +f 142/5/18 143/326/18 139/327/18 +f 139/328/19 143/329/19 144/330/19 +f 140/331/20 144/332/20 141/333/20 +f 145/171/15 146/334/15 142/83/15 +f 146/335/1 147/336/1 143/337/1 +f 143/338/13 147/205/13 148/339/13 +f 144/123/3 148/340/3 145/341/3 +f 145/300/4 149/137/4 150/342/4 +f 146/343/14 150/145/14 151/344/14 +f 151/345/2 152/346/2 148/347/2 +f 152/348/16 149/282/16 145/248/16 +f 149/349/21 153/212/21 154/350/21 +f 150/351/22 154/352/22 155/353/22 +f 155/354/23 156/355/23 152/145/23 +f 156/44/24 153/238/24 149/58/24 +f 157/247/18 158/356/18 154/357/18 +f 158/84/17 159/358/17 155/359/17 +f 155/30/20 159/29/20 160/360/20 +f 156/327/19 160/361/19 157/362/19 +f 161/266/1 162/363/1 158/364/1 +f 162/72/15 163/365/15 159/366/15 +f 159/367/3 163/368/3 164/277/3 +f 160/369/13 164/370/13 161/82/13 +f 161/371/14 165/372/14 166/373/14 +f 162/62/4 166/374/4 167/375/4 +f 167/376/16 168/377/16 164/339/16 +f 168/378/2 165/80/2 161/79/2 +f 165/379/22 137/284/22 138/102/22 +f 166/380/21 138/381/21 139/382/21 +f 139/383/24 140/384/24 168/320/24 +f 140/93/23 137/385/23 165/210/23 +f 173/24/17 174/325/17 170/324/17 +f 174/335/18 175/386/18 171/353/18 +f 171/387/19 175/388/19 176/389/19 +f 172/390/20 176/391/20 173/392/20 +f 177/136/15 178/393/15 174/394/15 +f 178/395/1 179/396/1 175/397/1 +f 175/398/13 179/399/13 180/208/13 +f 176/400/3 180/401/3 177/247/3 +f 177/323/4 181/402/4 182/316/4 +f 178/403/14 182/404/14 183/7/14 +f 183/405/2 184/406/2 180/407/2 +f 184/408/16 181/248/16 177/282/16 +f 181/24/21 185/23/21 186/289/21 +f 182/23/22 186/330/22 187/409/22 +f 187/410/23 188/411/23 184/351/23 +f 188/412/24 185/127/24 181/229/24 +f 189/256/18 190/413/18 186/414/18 +f 190/415/17 191/416/17 187/417/17 +f 187/418/20 191/361/20 192/5/20 +f 188/419/19 192/420/19 189/129/19 +f 193/124/1 194/246/1 190/421/1 +f 194/422/15 195/423/15 191/424/15 +f 191/425/3 195/426/3 196/427/3 +f 192/428/13 196/429/13 193/158/13 +f 193/430/14 197/300/14 198/431/14 +f 194/219/4 198/21/4 199/432/4 +f 199/432/16 200/119/16 196/433/16 +f 200/34/2 197/434/2 193/435/2 +f 197/189/22 169/317/22 170/436/22 +f 198/320/21 170/240/21 171/437/21 +f 171/260/24 172/192/24 200/330/24 +f 172/68/23 169/46/23 197/438/23 +f 2/439/1 1/1/1 6/3/1 +f 3/437/2 2/4/2 7/6/2 +f 3/440/3 7/7/3 4/9/3 +f 4/441/4 8/10/4 1/12/4 +f 6/442/5 5/13/5 10/15/5 +f 7/193/6 6/16/6 11/18/6 +f 7/304/7 11/19/7 8/21/7 +f 8/443/8 12/22/8 5/24/8 +f 9/257/9 13/25/9 10/27/9 +f 10/444/10 14/28/10 11/30/10 +f 12/445/11 11/31/11 16/33/11 +f 9/188/12 12/34/12 13/13/12 +f 13/201/13 17/36/13 14/38/13 +f 14/227/14 18/39/14 15/41/14 +f 16/166/15 15/42/15 20/14/15 +f 13/103/16 16/44/16 17/46/16 +f 21/179/10 25/47/10 22/49/10 +f 22/95/9 26/50/9 23/52/9 +f 24/446/12 23/53/12 28/55/12 +f 21/291/11 24/56/11 25/58/11 +f 25/257/14 29/59/14 26/61/14 +f 26/374/13 30/62/13 27/64/13 +f 28/118/16 27/65/16 32/67/16 +f 25/379/15 28/68/15 29/70/15 +f 34/146/2 33/12/2 38/71/2 +f 35/447/1 34/72/1 39/74/1 +f 35/448/4 39/75/4 36/77/4 +f 36/105/3 40/78/3 33/80/3 +f 38/334/6 37/81/6 22/83/6 +f 39/449/5 38/84/5 23/86/5 +f 39/450/8 23/87/8 40/84/8 +f 40/451/7 24/89/7 37/91/7 +f 41/229/10 45/92/10 42/94/10 +f 42/452/9 46/95/9 43/97/9 +f 44/62/12 43/98/12 48/100/12 +f 41/46/11 44/101/11 45/103/11 +f 45/453/14 49/104/14 46/105/14 +f 46/454/13 50/106/13 47/108/13 +f 48/76/16 47/109/16 52/111/16 +f 45/455/15 48/112/15 49/114/15 +f 50/456/1 49/115/1 54/117/1 +f 51/457/2 50/118/2 55/120/2 +f 51/41/3 55/40/3 52/122/3 +f 52/340/4 56/123/4 49/125/4 +f 54/458/5 53/126/5 58/128/5 +f 55/459/6 54/129/6 59/131/6 +f 55/460/7 59/132/7 56/134/7 +f 56/299/8 60/135/8 53/80/8 +f 57/256/9 61/137/9 58/139/9 +f 58/114/10 62/140/10 59/142/10 +f 60/355/11 59/143/11 64/145/11 +f 57/333/12 60/146/12 61/100/12 +f 61/36/13 65/147/13 62/149/13 +f 62/341/14 66/150/14 63/152/14 +f 64/461/15 63/153/15 68/155/15 +f 61/82/16 64/156/16 65/158/16 +f 66/462/2 65/159/2 70/161/2 +f 67/463/1 66/162/1 71/164/1 +f 67/464/4 71/165/4 68/167/4 +f 68/465/3 72/168/3 65/170/3 +f 70/373/6 69/171/6 42/172/6 +f 71/466/5 70/173/5 43/175/5 +f 71/467/8 43/176/8 72/178/8 +f 72/157/7 44/156/7 69/179/7 +f 73/468/10 77/180/10 74/182/10 +f 74/446/9 78/55/9 75/184/9 +f 76/422/12 75/52/12 80/185/12 +f 73/13/11 76/186/11 77/188/11 +f 77/180/14 81/189/14 78/191/14 +f 78/469/13 82/192/13 79/18/13 +f 80/470/16 79/194/16 84/196/16 +f 77/11/15 80/197/15 81/199/15 +f 82/471/1 81/200/1 86/202/1 +f 83/338/2 82/203/2 87/205/2 +f 83/472/3 87/206/3 84/208/3 +f 84/412/4 88/209/4 81/211/4 +f 86/473/5 85/212/5 90/214/5 +f 87/474/6 86/215/6 91/217/6 +f 87/475/7 91/218/7 88/219/7 +f 88/476/8 92/220/8 85/12/8 +f 89/477/9 93/221/9 90/223/9 +f 90/478/10 94/224/10 91/226/10 +f 92/479/11 91/64/11 96/227/11 +f 89/392/12 92/226/12 93/169/12 +f 93/92/13 97/229/13 94/197/13 +f 94/395/14 98/230/14 95/232/14 +f 96/480/15 95/233/15 100/235/15 +f 93/277/16 96/236/16 97/70/16 +f 98/481/2 97/221/2 102/239/2 +f 99/482/1 98/240/1 103/242/1 +f 99/483/4 103/243/4 100/245/4 +f 100/421/3 104/246/3 97/248/3 +f 102/484/6 101/249/6 74/251/6 +f 103/485/5 102/204/5 75/252/5 +f 103/486/8 75/253/8 104/254/8 +f 104/408/7 76/255/7 101/256/7 +f 105/25/17 109/257/17 106/259/17 +f 106/487/18 110/16/18 107/261/18 +f 108/288/19 107/262/19 112/4/19 +f 105/25/20 108/264/20 109/266/20 +f 109/488/15 113/267/15 110/269/15 +f 110/130/1 114/28/1 111/271/1 +f 112/489/13 111/272/13 116/274/13 +f 109/70/3 112/275/3 113/277/3 +f 114/490/4 113/189/4 118/278/4 +f 115/109/14 114/50/14 119/110/14 +f 115/491/2 119/279/2 116/8/2 +f 116/492/16 120/281/16 113/282/16 +f 118/493/21 117/283/21 122/285/21 +f 119/494/22 118/125/22 123/287/22 +f 119/482/23 123/242/23 120/4/23 +f 120/495/24 124/289/24 117/291/24 +f 121/301/18 125/292/18 122/294/18 +f 122/20/17 126/295/17 123/65/17 +f 124/360/20 123/296/20 128/298/20 +f 121/430/19 124/135/19 125/300/19 +f 125/496/1 129/301/1 126/303/1 +f 126/33/15 130/204/15 127/304/15 +f 128/497/3 127/305/3 132/134/3 +f 125/488/13 128/307/13 129/309/13 +f 130/222/14 129/310/14 134/223/14 +f 131/498/4 130/122/4 135/313/4 +f 131/499/16 135/314/16 132/254/16 +f 132/500/2 136/316/2 129/189/2 +f 134/501/22 133/318/22 106/319/22 +f 135/344/21 134/240/21 107/321/21 +f 135/502/24 107/322/24 136/130/24 +f 136/490/23 108/278/23 133/323/23 +f 137/291/17 141/58/17 138/325/17 +f 138/402/18 142/5/18 139/327/18 +f 140/192/19 139/328/19 144/330/19 +f 137/100/20 140/331/20 141/333/20 +f 141/126/15 145/171/15 142/83/15 +f 142/159/1 146/335/1 143/337/1 +f 144/377/13 143/338/13 148/339/13 +f 141/247/3 144/123/3 145/341/3 +f 146/503/4 145/300/4 150/342/4 +f 147/321/14 146/343/14 151/344/14 +f 147/504/2 151/345/2 148/347/2 +f 148/505/16 152/348/16 145/248/16 +f 150/506/21 149/349/21 154/350/21 +f 151/386/22 150/351/22 155/353/22 +f 151/507/23 155/354/23 152/145/23 +f 152/45/24 156/44/24 149/58/24 +f 153/248/18 157/247/18 154/357/18 +f 154/85/17 158/84/17 155/359/17 +f 156/298/20 155/30/20 160/360/20 +f 153/317/19 156/327/19 157/362/19 +f 157/25/1 161/266/1 158/364/1 +f 158/73/15 162/72/15 159/366/15 +f 160/343/3 159/367/3 164/277/3 +f 157/158/13 160/369/13 161/82/13 +f 162/172/14 161/371/14 166/373/14 +f 163/508/4 162/62/4 167/375/4 +f 163/509/16 167/376/16 164/339/16 +f 164/510/2 168/378/2 161/79/2 +f 166/101/22 165/379/22 138/102/22 +f 167/390/21 166/380/21 139/382/21 +f 167/511/24 139/383/24 168/320/24 +f 168/94/23 140/93/23 165/210/23 +f 169/170/17 173/24/17 170/324/17 +f 170/512/18 174/335/18 171/353/18 +f 172/352/19 171/387/19 176/389/19 +f 169/513/20 172/390/20 173/392/20 +f 173/80/15 177/136/15 174/394/15 +f 174/230/1 178/395/1 175/397/1 +f 176/207/13 175/398/13 180/208/13 +f 173/341/3 176/400/3 177/247/3 +f 178/500/4 177/323/4 182/316/4 +f 179/440/14 178/403/14 183/7/14 +f 179/514/2 183/405/2 180/407/2 +f 180/255/16 184/408/16 177/282/16 +f 182/495/21 181/24/21 186/289/21 +f 183/515/22 182/23/22 187/409/22 +f 183/516/23 187/410/23 184/351/23 +f 184/209/24 188/412/24 181/229/24 +f 185/124/18 189/256/18 186/414/18 +f 186/290/17 190/415/17 187/417/17 +f 188/4/20 187/418/20 192/5/20 +f 185/438/19 188/419/19 189/129/19 +f 189/256/1 193/124/1 190/421/1 +f 190/517/15 194/422/15 191/424/15 +f 192/518/3 191/425/3 196/427/3 +f 189/199/13 192/428/13 193/158/13 +f 194/519/14 193/430/14 198/431/14 +f 195/520/4 194/219/4 199/432/4 +f 195/520/16 199/432/16 196/433/16 +f 196/35/2 200/34/2 193/435/2 +f 198/521/22 197/189/22 170/436/22 +f 199/6/21 198/320/21 171/437/21 +f 199/261/24 171/260/24 200/330/24 +f 200/69/23 172/68/23 197/438/23 diff --git a/assets/hbm/models/n45_globe.obj b/assets/hbm/models/n45_globe.obj new file mode 100644 index 000000000..1034f8a3e --- /dev/null +++ b/assets/hbm/models/n45_globe.obj @@ -0,0 +1,1766 @@ +# Blender v2.76 (sub 0) OBJ File: 'n45_globe.blend' +# www.blender.org +o Icosphere +v 0.000000 -0.500000 0.000000 +v 0.361804 -0.223610 0.262863 +v -0.138194 -0.223610 0.425325 +v -0.447213 -0.223608 0.000000 +v -0.138194 -0.223610 -0.425325 +v 0.361804 -0.223610 -0.262863 +v 0.138194 0.223610 0.425325 +v -0.361804 0.223610 0.262863 +v -0.361804 0.223610 -0.262863 +v 0.138194 0.223610 -0.425325 +v 0.447213 0.223608 0.000000 +v 0.000000 0.500000 0.000000 +v -0.116411 -0.328760 0.358282 +v -0.081228 -0.425327 0.249998 +v -0.038803 -0.483975 0.119426 +v 0.101590 -0.483975 0.073809 +v 0.212661 -0.425327 0.154506 +v 0.304773 -0.328759 0.221428 +v 0.265970 -0.251151 0.340856 +v 0.131434 -0.262869 0.404506 +v -0.014820 -0.251151 0.432092 +v 0.406365 -0.251150 -0.147619 +v 0.425324 -0.262868 0.000000 +v 0.406365 -0.251150 0.147619 +v 0.101590 -0.483975 -0.073809 +v 0.212661 -0.425327 -0.154506 +v 0.304773 -0.328759 -0.221428 +v -0.376721 -0.328757 0.000000 +v -0.262865 -0.425326 0.000000 +v -0.125573 -0.483974 0.000000 +v -0.241986 -0.251151 0.358282 +v -0.344095 -0.262868 0.249998 +v -0.415525 -0.251149 0.119427 +v -0.116411 -0.328760 -0.358282 +v -0.081228 -0.425327 -0.249998 +v -0.038803 -0.483975 -0.119426 +v -0.415525 -0.251149 -0.119427 +v -0.344095 -0.262868 -0.249998 +v -0.241986 -0.251151 -0.358282 +v -0.014820 -0.251151 -0.432092 +v 0.131434 -0.262869 -0.404506 +v 0.265970 -0.251151 -0.340856 +v 0.478313 0.125575 0.073809 +v 0.475529 -0.000000 0.154506 +v 0.430349 -0.125575 0.221429 +v 0.430349 -0.125575 -0.221429 +v 0.475529 0.000000 -0.154506 +v 0.478313 0.125575 -0.073809 +v 0.077608 0.125576 0.477711 +v 0.000000 -0.000000 0.500000 +v -0.077608 -0.125576 0.477711 +v 0.343579 -0.125576 0.340858 +v 0.293893 0.000000 0.404508 +v 0.218003 0.125576 0.432094 +v -0.430349 0.125575 0.221429 +v -0.475529 -0.000000 0.154506 +v -0.478313 -0.125575 0.073809 +v -0.218003 -0.125576 0.432094 +v -0.293893 0.000000 0.404508 +v -0.343579 0.125576 0.340858 +v -0.343579 0.125576 -0.340858 +v -0.293893 -0.000000 -0.404508 +v -0.218003 -0.125576 -0.432094 +v -0.478313 -0.125575 -0.073809 +v -0.475529 0.000000 -0.154506 +v -0.430349 0.125575 -0.221429 +v 0.218003 0.125576 -0.432094 +v 0.293893 -0.000000 -0.404508 +v 0.343579 -0.125576 -0.340858 +v -0.077608 -0.125576 -0.477711 +v 0.000000 0.000000 -0.500000 +v 0.077608 0.125576 -0.477711 +v 0.415525 0.251149 0.119427 +v 0.344095 0.262868 0.249998 +v 0.241986 0.251151 0.358282 +v 0.014820 0.251151 0.432092 +v -0.131434 0.262869 0.404506 +v -0.265970 0.251151 0.340856 +v -0.406365 0.251150 0.147619 +v -0.425324 0.262868 0.000000 +v -0.406365 0.251150 -0.147619 +v -0.265970 0.251151 -0.340856 +v -0.131434 0.262869 -0.404506 +v 0.014820 0.251151 -0.432092 +v 0.241986 0.251151 -0.358282 +v 0.344095 0.262868 -0.249998 +v 0.415525 0.251149 -0.119427 +v 0.038803 0.483975 0.119426 +v 0.081228 0.425327 0.249998 +v 0.116411 0.328760 0.358282 +v 0.376721 0.328757 0.000000 +v 0.262865 0.425326 0.000000 +v 0.125573 0.483974 0.000000 +v -0.101590 0.483975 0.073809 +v -0.212661 0.425327 0.154506 +v -0.304773 0.328759 0.221428 +v -0.101590 0.483975 -0.073809 +v -0.212661 0.425327 -0.154506 +v -0.304773 0.328759 -0.221428 +v 0.038803 0.483975 -0.119426 +v 0.081228 0.425327 -0.249998 +v 0.116411 0.328760 -0.358282 +v 0.180900 0.447215 -0.131431 +v 0.319097 0.361805 -0.131432 +v 0.223605 0.361806 -0.262864 +v -0.069099 0.447215 -0.212660 +v -0.026395 0.361806 -0.344092 +v -0.180902 0.361806 -0.293889 +v -0.223605 0.447215 0.000000 +v -0.335408 0.361805 -0.081229 +v -0.335408 0.361805 0.081229 +v -0.069099 0.447215 0.212660 +v -0.180902 0.361806 0.293889 +v -0.026395 0.361806 0.344092 +v 0.180900 0.447215 0.131431 +v 0.223605 0.361806 0.262864 +v 0.319097 0.361805 0.131432 +v 0.430902 0.138198 -0.212661 +v 0.404510 0.000000 -0.293891 +v 0.335410 0.138199 -0.344095 +v -0.069099 0.138199 -0.475528 +v -0.154508 -0.000000 -0.475528 +v -0.223608 0.138199 -0.425324 +v -0.473607 0.138198 -0.081229 +v -0.500000 0.000000 0.000000 +v -0.473606 0.138198 0.081229 +v -0.223608 0.138198 0.425324 +v -0.154509 -0.000000 0.475528 +v -0.069100 0.138198 0.475528 +v 0.335410 0.138198 0.344095 +v 0.404509 -0.000001 0.293891 +v 0.430902 0.138197 0.212662 +v 0.154509 -0.000000 -0.475528 +v 0.223608 -0.138199 -0.425324 +v 0.069100 -0.138199 -0.475527 +v -0.404509 -0.000000 -0.293892 +v -0.335409 -0.138199 -0.344095 +v -0.430902 -0.138198 -0.212662 +v -0.404509 0.000000 0.293892 +v -0.430902 -0.138198 0.212662 +v -0.335410 -0.138199 0.344095 +v 0.154509 0.000000 0.475528 +v 0.069100 -0.138199 0.475527 +v 0.223608 -0.138199 0.425324 +v 0.500000 0.000000 0.000000 +v 0.473607 -0.138198 0.081229 +v 0.473607 -0.138198 -0.081229 +v 0.180902 -0.361806 -0.293890 +v 0.069098 -0.447215 -0.212661 +v 0.026395 -0.361805 -0.344093 +v -0.223605 -0.361806 -0.262864 +v -0.180901 -0.447214 -0.131431 +v -0.319097 -0.361805 -0.131431 +v -0.319097 -0.361805 0.131432 +v -0.180901 -0.447214 0.131432 +v -0.223605 -0.361805 0.262864 +v 0.335409 -0.361805 -0.081228 +v 0.335409 -0.361805 0.081229 +v 0.223605 -0.447214 0.000000 +v 0.026395 -0.361806 0.344093 +v 0.069099 -0.447215 0.212660 +v 0.180902 -0.361805 0.293890 +vt 0.608486 0.627808 +vt 0.608486 0.706299 +vt 0.534124 0.652932 +vt 0.310435 0.483432 +vt 0.374204 0.437666 +vt 0.374204 0.529197 +vt 0.426628 0.841439 +vt 0.401505 0.915800 +vt 0.348137 0.841439 +vt 0.907272 0.920733 +vt 0.828780 0.920733 +vt 0.882148 0.846372 +vt 0.874545 0.689455 +vt 0.828780 0.625687 +vt 0.920309 0.625687 +vt 0.772490 0.167110 +vt 0.850981 0.167110 +vt 0.797614 0.241473 +vt 0.769801 0.100887 +vt 0.848293 0.100887 +vt 0.794924 0.175250 +vt 0.815700 0.692491 +vt 0.894191 0.692491 +vt 0.840822 0.766854 +vt 0.547368 0.720701 +vt 0.611139 0.674935 +vt 0.611139 0.766466 +vt 0.549115 0.146651 +vt 0.612885 0.100887 +vt 0.612885 0.192418 +vt 0.934454 0.634587 +vt 0.909328 0.708949 +vt 0.855961 0.634587 +vt 0.593092 0.350373 +vt 0.638857 0.414143 +vt 0.547326 0.414143 +vt 0.282846 0.730947 +vt 0.282846 0.652455 +vt 0.357208 0.705822 +vt 0.773203 0.897303 +vt 0.773203 0.818810 +vt 0.847565 0.872178 +vt 0.051567 0.652455 +vt 0.125930 0.677581 +vt 0.051567 0.730949 +vt 0.768055 0.674935 +vt 0.846548 0.674935 +vt 0.793180 0.749298 +vt 0.792634 0.664985 +vt 0.792633 0.586493 +vt 0.866996 0.639860 +vt 0.828382 0.409716 +vt 0.782618 0.345946 +vt 0.874148 0.345946 +vt 0.140480 0.720831 +vt 0.061988 0.720831 +vt 0.115355 0.646469 +vt 0.367596 0.606851 +vt 0.413361 0.670621 +vt 0.321831 0.670621 +vt 0.680539 0.833453 +vt 0.627171 0.907814 +vt 0.602047 0.833453 +vt 0.657253 0.837483 +vt 0.605186 0.919318 +vt 0.564685 0.837483 +vt 0.832307 0.649510 +vt 0.879612 0.727611 +vt 0.782618 0.727611 +vt 0.123857 0.412167 +vt 0.169290 0.491370 +vt 0.077980 0.491370 +vt 0.680124 0.827323 +vt 0.629873 0.910286 +vt 0.588814 0.827323 +vt 0.116896 0.195119 +vt 0.202982 0.239807 +vt 0.116896 0.292113 +vt 0.665837 0.587817 +vt 0.665837 0.688548 +vt 0.578601 0.638183 +vt 0.667838 0.846819 +vt 0.720143 0.932905 +vt 0.623148 0.932905 +vt 0.170616 0.336829 +vt 0.123311 0.414930 +vt 0.073621 0.336829 +vt 0.782618 0.189030 +vt 0.828493 0.109826 +vt 0.873928 0.189030 +vt 0.357473 0.335614 +vt 0.450041 0.335614 +vt 0.397975 0.417450 +vt 0.543461 0.901290 +vt 0.543461 0.804295 +vt 0.629548 0.848985 +vt 0.196306 0.133322 +vt 0.196306 0.225890 +vt 0.114469 0.185389 +vt 0.312994 0.100887 +vt 0.392198 0.146321 +vt 0.312994 0.192197 +vt 0.187189 0.438608 +vt 0.141423 0.502378 +vt 0.095658 0.438608 +vt 0.412255 0.647635 +vt 0.337894 0.594269 +vt 0.412255 0.569144 +vt 0.668119 0.461612 +vt 0.586284 0.409546 +vt 0.668119 0.369045 +vt 0.634770 0.671471 +vt 0.543461 0.671471 +vt 0.593711 0.588508 +vt 0.615574 0.212985 +vt 0.536371 0.258419 +vt 0.536371 0.167110 +vt 0.131228 0.258419 +vt 0.048265 0.208169 +vt 0.131228 0.167110 +vt 0.173654 0.619509 +vt 0.090761 0.669875 +vt 0.090761 0.569144 +vt 0.864399 0.771859 +vt 0.777164 0.721493 +vt 0.864399 0.671128 +vt 0.854488 0.697145 +vt 0.768402 0.749450 +vt 0.768402 0.652455 +vt 0.622805 0.671128 +vt 0.575500 0.749229 +vt 0.525810 0.671128 +vt 0.693357 0.376647 +vt 0.647481 0.455851 +vt 0.602047 0.376647 +vt 0.909465 0.418665 +vt 0.826501 0.377605 +vt 0.909465 0.327354 +vt 0.676350 0.363194 +vt 0.590264 0.407885 +vt 0.590264 0.310890 +vt 0.194997 0.799938 +vt 0.116896 0.750248 +vt 0.194997 0.702943 +vt 0.413141 0.449935 +vt 0.321831 0.449935 +vt 0.367707 0.370732 +vt 0.956812 0.067343 +vt 0.911047 0.131113 +vt 0.865282 0.067343 +vt 0.439665 0.684523 +vt 0.348137 0.684523 +vt 0.393901 0.620754 +vt 0.454467 0.178697 +vt 0.357473 0.178697 +vt 0.404777 0.100597 +vt 0.140652 0.143473 +vt 0.049344 0.143473 +vt 0.099593 0.060510 +vt 0.413360 0.134803 +vt 0.367595 0.213815 +vt 0.321831 0.134803 +vt 0.147373 0.910119 +vt 0.064411 0.859870 +vt 0.147373 0.818810 +vt 0.456893 0.427214 +vt 0.412204 0.513300 +vt 0.359899 0.427214 +vt 0.701307 0.452073 +vt 0.600577 0.452073 +vt 0.650943 0.364838 +vt 0.942479 0.133207 +vt 0.856394 0.185513 +vt 0.856394 0.088518 +vt 0.612225 0.757412 +vt 0.534124 0.710108 +vt 0.612225 0.660418 +vt 0.892722 0.310890 +vt 0.846847 0.390094 +vt 0.801413 0.310890 +vt 0.402596 0.660454 +vt 0.319633 0.619396 +vt 0.402596 0.569144 +vt 0.913570 0.621448 +vt 0.827484 0.666139 +vt 0.827484 0.569144 +vt 0.429367 0.450881 +vt 0.336800 0.450881 +vt 0.377301 0.369045 +vt 0.162855 0.892591 +vt 0.083842 0.938357 +vt 0.083842 0.846827 +vt 0.650181 0.746374 +vt 0.575820 0.771498 +vt 0.575820 0.693006 +vt 0.602047 0.612767 +vt 0.693577 0.612767 +vt 0.647812 0.676536 +vt 0.865297 0.114428 +vt 0.962291 0.114428 +vt 0.914987 0.192528 +vt 0.268715 0.743765 +vt 0.268715 0.652455 +vt 0.351678 0.702706 +vt 0.791954 0.858522 +vt 0.837719 0.779510 +vt 0.883484 0.858522 +vt 0.298093 0.079182 +vt 0.395087 0.079182 +vt 0.345397 0.157282 +vt 0.591241 0.526190 +vt 0.635930 0.440104 +vt 0.688236 0.526190 +vt 0.085282 0.337848 +vt 0.186012 0.337848 +vt 0.135647 0.425084 +vt 0.333594 0.501788 +vt 0.385899 0.415702 +vt 0.430588 0.501788 +vt 0.838116 0.819178 +vt 0.929425 0.819178 +vt 0.888366 0.902142 +vt 0.075276 0.441903 +vt 0.075276 0.350373 +vt 0.154289 0.396139 +vt 0.819907 0.587817 +vt 0.912475 0.587817 +vt 0.860409 0.669653 +vt 0.077266 0.150237 +vt 0.127631 0.067343 +vt 0.177997 0.150237 +vt 0.611383 0.327625 +vt 0.703951 0.327625 +vt 0.663449 0.409462 +vt 0.828780 0.468770 +vt 0.874214 0.389566 +vt 0.920089 0.468770 +vt 0.767242 0.189661 +vt 0.845733 0.189662 +vt 0.820608 0.264024 +vt 0.089306 0.824587 +vt 0.142674 0.898949 +vt 0.064182 0.898949 +vt 0.652442 0.806259 +vt 0.702693 0.889222 +vt 0.611383 0.889222 +vt 0.406831 0.086015 +vt 0.454137 0.164116 +vt 0.357142 0.164116 +vt 0.513533 0.421023 +vt 0.604843 0.421023 +vt 0.559409 0.500226 +vt 0.617518 0.336829 +vt 0.669585 0.418665 +vt 0.577018 0.418665 +vt 0.588825 0.067343 +vt 0.685820 0.067343 +vt 0.633515 0.153429 +vt 0.600578 0.107191 +vt 0.687814 0.157556 +vt 0.600577 0.207921 +vt 0.613812 0.236515 +vt 0.699899 0.184210 +vt 0.699899 0.281204 +vt 0.331167 0.148292 +vt 0.378472 0.070190 +vt 0.428161 0.148292 +vt 0.319771 0.892703 +vt 0.398975 0.846827 +vt 0.398975 0.938137 +vt 0.803261 0.583569 +vt 0.886226 0.624629 +vt 0.803261 0.674880 +vt 0.075945 0.159202 +vt 0.172941 0.159202 +vt 0.128252 0.245288 +vt 0.066422 0.439695 +vt 0.144524 0.489384 +vt 0.066422 0.536690 +vt 0.617055 0.067343 +vt 0.708365 0.067343 +vt 0.662490 0.146546 +vt 0.310435 0.686113 +vt 0.388927 0.686113 +vt 0.363801 0.760475 +vt 0.625047 0.658795 +vt 0.571679 0.733158 +vt 0.546556 0.658795 +vt 0.128375 0.593330 +vt 0.178627 0.676294 +vt 0.087317 0.676294 +vt 0.321587 0.671128 +vt 0.368894 0.749230 +vt 0.271898 0.749230 +vt 0.095658 0.202487 +vt 0.186968 0.202487 +vt 0.141534 0.281691 +vt 0.814170 0.837483 +vt 0.897133 0.887734 +vt 0.814170 0.928793 +vt 0.334913 0.067343 +vt 0.431908 0.067343 +vt 0.379603 0.153431 +vt 0.367199 0.682891 +vt 0.316833 0.770128 +vt 0.266468 0.682891 +vt 0.370387 0.140824 +vt 0.456474 0.088518 +vt 0.456474 0.185514 +vt 0.671778 0.579095 +vt 0.671778 0.670407 +vt 0.588814 0.629347 +vt 0.508595 0.698331 +vt 0.587799 0.652455 +vt 0.587799 0.743767 +vt 0.331167 0.543961 +vt 0.414132 0.585022 +vt 0.331167 0.635273 +vt 0.104257 0.355580 +vt 0.190345 0.310890 +vt 0.190345 0.407886 +vt 0.842205 0.299749 +vt 0.883265 0.382714 +vt 0.791954 0.382714 +vt 0.585156 0.866755 +vt 0.664360 0.912190 +vt 0.585156 0.958067 +vt 0.632846 0.645936 +vt 0.657971 0.720299 +vt 0.579478 0.720299 +vt 0.156472 0.648286 +vt 0.103103 0.722649 +vt 0.077980 0.648286 +vt 0.839929 0.268747 +vt 0.789677 0.185782 +vt 0.880988 0.185782 +vt 0.079753 0.660456 +vt 0.079753 0.569144 +vt 0.162717 0.619395 +vt 0.395600 0.898015 +vt 0.304290 0.898015 +vt 0.349723 0.818810 +vt 0.336762 0.426559 +vt 0.336762 0.329562 +vt 0.414862 0.379252 +vt 0.433348 0.407886 +vt 0.347261 0.363197 +vt 0.433348 0.310890 +vt 0.288858 0.771861 +vt 0.288858 0.671128 +vt 0.376094 0.721494 +vt 0.466231 0.689903 +vt 0.380144 0.637597 +vt 0.466231 0.592906 +vt 0.085535 0.402201 +vt 0.085534 0.310890 +vt 0.168498 0.351949 +vt 0.644497 0.402201 +vt 0.565293 0.356326 +vt 0.644497 0.310890 +vt 0.301440 0.532264 +vt 0.301440 0.439695 +vt 0.383276 0.491762 +vt 0.941118 0.465571 +vt 0.858224 0.415205 +vt 0.941118 0.364838 +vt 0.116896 0.449030 +vt 0.194998 0.498722 +vt 0.116896 0.546026 +vt 0.348137 0.227717 +vt 0.393572 0.148513 +vt 0.439448 0.227717 +vt 0.555892 0.846827 +vt 0.619662 0.892593 +vt 0.555892 0.938358 +vt 0.860078 0.308682 +vt 0.806709 0.383044 +vt 0.781585 0.308682 +vt 0.075759 0.934479 +vt 0.075759 0.837483 +vt 0.153859 0.884787 +vt 0.622028 0.532263 +vt 0.540192 0.491760 +vt 0.622028 0.439695 +vt 0.154332 0.766466 +vt 0.075319 0.720702 +vt 0.154332 0.674935 +vt 0.066423 0.282778 +vt 0.066423 0.185782 +vt 0.144523 0.235471 +vt 0.670568 0.666140 +vt 0.584482 0.621452 +vt 0.670568 0.569144 +vt 0.628967 0.430900 +vt 0.578601 0.343664 +vt 0.679331 0.343664 +vt 0.443660 0.678391 +vt 0.342930 0.678391 +vt 0.393295 0.595496 +vt 0.825036 0.708583 +vt 0.825036 0.617272 +vt 0.907999 0.658330 +vt 0.196523 0.951183 +vt 0.104994 0.951183 +vt 0.150759 0.872170 +vt 0.638504 0.172694 +vt 0.588814 0.094593 +vt 0.685808 0.094593 +vt 0.456893 0.270297 +vt 0.359899 0.270297 +vt 0.404589 0.184210 +vt 0.857791 0.776572 +vt 0.816732 0.693608 +vt 0.908041 0.693608 +vt 0.415032 0.678024 +vt 0.323723 0.678024 +vt 0.369598 0.598819 +vt 0.815700 0.444043 +vt 0.879468 0.489810 +vt 0.815700 0.535575 +vt 0.624669 0.308682 +vt 0.624669 0.400213 +vt 0.560899 0.354448 +vt 0.612226 0.406505 +vt 0.612226 0.503501 +vt 0.534124 0.456197 +vt 0.383285 0.658704 +vt 0.430589 0.736806 +vt 0.333594 0.736806 +vt 0.293382 0.564897 +vt 0.384692 0.564897 +vt 0.339257 0.644102 +vt 0.832456 0.060995 +vt 0.884522 0.142832 +vt 0.791954 0.142832 +vt 0.348205 0.346165 +vt 0.445200 0.346165 +vt 0.392893 0.432253 +vt 0.393297 0.107191 +vt 0.443661 0.194428 +vt 0.342930 0.194428 +vt 0.836248 0.343664 +vt 0.936979 0.343664 +vt 0.886613 0.426559 +vt 0.663120 0.086015 +vt 0.703621 0.167853 +vt 0.611053 0.167853 +vt 0.064547 0.100887 +vt 0.156078 0.100887 +vt 0.110312 0.179901 +vt 0.638547 0.683107 +vt 0.688237 0.761209 +vt 0.591241 0.761209 +vt 0.858224 0.862297 +vt 0.955219 0.862297 +vt 0.910528 0.948385 +vt 0.915549 0.588198 +vt 0.956607 0.671162 +vt 0.865297 0.671162 +vt 0.288144 0.167110 +vt 0.379455 0.167110 +vt 0.333578 0.246315 +vt 0.149027 0.659294 +vt 0.174150 0.733657 +vt 0.095658 0.733657 +vt 0.616286 0.818810 +vt 0.616286 0.910342 +vt 0.552516 0.864576 +vt 0.944253 0.592906 +vt 0.944253 0.689902 +vt 0.866150 0.642597 +vt 0.929425 0.570951 +vt 0.929425 0.662262 +vt 0.846461 0.612012 +vt 0.828780 0.153445 +vt 0.920091 0.153445 +vt 0.874656 0.232650 +vt 0.368035 0.336829 +vt 0.420101 0.418667 +vt 0.327533 0.418667 +vt 0.126232 0.603815 +vt 0.223228 0.603815 +vt 0.170922 0.689903 +vt 0.371319 0.574322 +vt 0.421684 0.661560 +vt 0.320953 0.661560 +vt 0.129972 0.821811 +vt 0.182278 0.907898 +vt 0.085282 0.907898 +vt 0.945884 0.685696 +vt 0.898577 0.763796 +vt 0.848888 0.685696 +vt 0.277412 0.421023 +vt 0.356616 0.466898 +vt 0.277412 0.512333 +vt 0.179884 0.105093 +vt 0.179884 0.197661 +vt 0.098047 0.145595 +vt 0.791954 0.292734 +vt 0.874849 0.343100 +vt 0.791954 0.393466 +vt 0.625297 0.090795 +vt 0.625297 0.183364 +vt 0.543461 0.142863 +vt 0.311248 0.674935 +vt 0.390452 0.720369 +vt 0.311248 0.766246 +vt 0.848371 0.427516 +vt 0.873494 0.501879 +vt 0.795002 0.501879 +vt 0.153518 0.489552 +vt 0.061988 0.489552 +vt 0.107753 0.425782 +vt 0.939732 0.145445 +vt 0.842736 0.145445 +vt 0.890041 0.067343 +vt 0.782618 0.442902 +vt 0.860720 0.395598 +vt 0.860720 0.492594 +vt 0.428110 0.847679 +vt 0.382345 0.926694 +vt 0.336579 0.847679 +vt 0.172941 0.723309 +vt 0.075945 0.723309 +vt 0.125634 0.645207 +vt 0.697573 0.848801 +vt 0.652884 0.934889 +vt 0.600577 0.848801 +vt 0.186013 0.180932 +vt 0.085282 0.180932 +vt 0.135646 0.093695 +vt 0.427565 0.569144 +vt 0.375261 0.655233 +vt 0.330570 0.569144 +vt 0.870255 0.522660 +vt 0.778945 0.522660 +vt 0.820003 0.439695 +vt 0.901838 0.241550 +vt 0.855961 0.162346 +vt 0.947272 0.162346 +vt 0.166086 0.392441 +vt 0.073519 0.392441 +vt 0.125584 0.310605 +vt 0.186013 0.582000 +vt 0.135648 0.664895 +vt 0.085282 0.582000 +vt 0.423735 0.387045 +vt 0.331167 0.387045 +vt 0.371668 0.305208 +vt 0.169290 0.176046 +vt 0.123857 0.255250 +vt 0.077980 0.176046 +vt 0.380612 0.650238 +vt 0.405735 0.724601 +vt 0.327243 0.724601 +vt 0.173738 0.385253 +vt 0.120370 0.310890 +vt 0.198863 0.310890 +vt 0.955162 0.846819 +vt 0.955162 0.943815 +vt 0.877060 0.896510 +vt 0.867724 0.242423 +vt 0.945825 0.195119 +vt 0.945825 0.292115 +vt 0.166331 0.924742 +vt 0.087317 0.878976 +vt 0.166331 0.833211 +vt 0.626425 0.431592 +vt 0.543461 0.381340 +vt 0.626425 0.340280 +vt 0.791954 0.550382 +vt 0.888951 0.550382 +vt 0.836643 0.636470 +vt 0.371320 0.086015 +vt 0.421685 0.173252 +vt 0.320953 0.173252 +vt 0.629548 0.595073 +vt 0.543461 0.647379 +vt 0.543461 0.550382 +vt 0.409081 0.684813 +vt 0.330979 0.637507 +vt 0.409081 0.587817 +vt 0.647923 0.219730 +vt 0.602047 0.140526 +vt 0.693358 0.140526 +vt 0.357473 0.657330 +vt 0.398533 0.574366 +vt 0.448784 0.657330 +vt 0.466232 0.932906 +vt 0.369236 0.932906 +vt 0.413926 0.846819 +vt 0.438000 0.767213 +vt 0.359899 0.717523 +vt 0.438000 0.670217 +vt 0.155756 0.354448 +vt 0.076743 0.400213 +vt 0.076743 0.308682 +vt 0.835332 0.658795 +vt 0.860455 0.733158 +vt 0.781963 0.733158 +vt 0.650183 0.482723 +vt 0.575820 0.536090 +vt 0.575820 0.457597 +vt 0.953025 0.424267 +vt 0.856029 0.424267 +vt 0.903335 0.346165 +vt 0.882066 0.162146 +vt 0.790756 0.162146 +vt 0.841007 0.079182 +vt 0.543461 0.873823 +vt 0.622665 0.828388 +vt 0.622665 0.919699 +vt 0.073519 0.549358 +vt 0.156483 0.599608 +vt 0.073519 0.640669 +vt 0.439926 0.835307 +vt 0.395235 0.921395 +vt 0.342930 0.835307 +vt 0.320953 0.330169 +vt 0.421685 0.330169 +vt 0.371318 0.417406 +vt 0.844730 0.107191 +vt 0.945463 0.107191 +vt 0.895096 0.190085 +vt 0.353507 0.185782 +vt 0.394009 0.267619 +vt 0.301440 0.267619 +vt 0.403983 0.308682 +vt 0.358107 0.387886 +vt 0.312672 0.308682 +vt 0.939029 0.414035 +vt 0.846461 0.414035 +vt 0.898528 0.332198 +vt 0.212319 0.846819 +vt 0.212319 0.943815 +vt 0.126232 0.899125 +vt 0.418637 0.119560 +vt 0.418637 0.212129 +vt 0.336800 0.171627 +vt 0.579478 0.161590 +vt 0.658683 0.207024 +vt 0.579478 0.252900 +vt 0.155852 0.569144 +vt 0.180977 0.643507 +vt 0.102484 0.643507 +vt 0.777728 0.564897 +vt 0.852091 0.618264 +vt 0.777728 0.643390 +vt 0.339227 0.693608 +vt 0.421064 0.745673 +vt 0.339227 0.786176 +vt 0.611383 0.566378 +vt 0.702693 0.566378 +vt 0.652442 0.649343 +vt 0.559512 0.614581 +vt 0.638717 0.569144 +vt 0.638717 0.660455 +vt 0.028834 0.652455 +vt 0.111799 0.702705 +vt 0.028834 0.743767 +vt 0.543461 0.343101 +vt 0.626356 0.292733 +vt 0.626356 0.393465 +vt 0.533011 0.671128 +vt 0.620247 0.721492 +vt 0.533011 0.771860 +vt 0.271486 0.704764 +vt 0.357573 0.652455 +vt 0.357574 0.749452 +vt 0.867724 0.449031 +vt 0.945825 0.496336 +vt 0.867724 0.546027 +vt 0.297568 0.139714 +vt 0.343445 0.060510 +vt 0.388879 0.139714 +vt 0.063075 0.128872 +vt 0.141176 0.079182 +vt 0.141176 0.176179 +vt 0.791954 0.838078 +vt 0.878041 0.793386 +vt 0.878041 0.890382 +vt 0.064849 0.583569 +vt 0.142950 0.633258 +vt 0.064849 0.680565 +vt 0.327243 0.257202 +vt 0.372678 0.177997 +vt 0.418553 0.257202 +vt 0.546556 0.189661 +vt 0.610325 0.235426 +vt 0.546556 0.281193 +vt 0.321831 0.827537 +vt 0.396192 0.880903 +vt 0.321831 0.906029 +vt 0.552003 0.079182 +vt 0.633839 0.131247 +vt 0.552003 0.171750 +vt 0.779721 0.671128 +vt 0.861557 0.711629 +vt 0.779721 0.763697 +vt 0.825036 0.944513 +vt 0.870800 0.865499 +vt 0.916564 0.944513 +vt 0.846461 0.097180 +vt 0.943455 0.097180 +vt 0.893765 0.175282 +vt 0.031677 0.702823 +vt 0.114570 0.652455 +vt 0.114570 0.753187 +vt 0.578601 0.086015 +vt 0.665836 0.136379 +vt 0.578601 0.186747 +vt 0.848888 0.285776 +vt 0.901192 0.199689 +vt 0.945881 0.285776 +vt 0.336800 0.607798 +vt 0.428110 0.607798 +vt 0.387051 0.690763 +vt 0.815700 0.241694 +vt 0.894903 0.195817 +vt 0.894903 0.287127 +vt 0.825036 0.369045 +vt 0.907999 0.410103 +vt 0.825036 0.460356 +vt 0.600577 0.691884 +vt 0.650943 0.608989 +vt 0.701308 0.691884 +vt 0.825689 0.329562 +vt 0.918256 0.329562 +vt 0.877756 0.411399 +vt 0.062209 0.268865 +vt 0.107643 0.189661 +vt 0.153518 0.268865 +vt 0.571948 0.586493 +vt 0.635717 0.632257 +vt 0.571948 0.678024 +vt 0.795773 0.350373 +vt 0.870135 0.403740 +vt 0.795773 0.428865 +vt 0.550926 0.185782 +vt 0.632761 0.237848 +vt 0.550926 0.278350 +vt 0.619085 0.407662 +vt 0.571779 0.329562 +vt 0.668773 0.329562 +vt 0.655024 0.255246 +vt 0.575820 0.300680 +vt 0.575820 0.209370 +vt 0.917363 0.431281 +vt 0.865297 0.349445 +vt 0.957865 0.349445 +vt 0.172940 0.488290 +vt 0.075945 0.488290 +vt 0.128250 0.402204 +vt 0.393295 0.438580 +vt 0.342930 0.351344 +vt 0.443660 0.351344 +vt 0.958954 0.705381 +vt 0.858224 0.705381 +vt 0.908589 0.622487 +vt 0.127818 0.436414 +vt 0.087317 0.354578 +vt 0.179884 0.354578 +vt 0.460138 0.146356 +vt 0.368609 0.146356 +vt 0.414373 0.067343 +vt 0.349556 0.661670 +vt 0.299867 0.583569 +vt 0.396861 0.583569 +vt 0.945881 0.528779 +vt 0.848888 0.528779 +vt 0.893577 0.442693 +vt 0.398532 0.897210 +vt 0.357473 0.814247 +vt 0.448782 0.814247 +vt 0.947270 0.477670 +vt 0.855961 0.477670 +vt 0.901836 0.398466 +vt 0.819368 0.134872 +vt 0.794243 0.060510 +vt 0.872735 0.060510 +vt 0.637326 0.124279 +vt 0.545795 0.124279 +vt 0.591561 0.060510 +vt 0.710808 0.759224 +vt 0.613812 0.759224 +vt 0.661118 0.681124 +vt 0.196305 0.715253 +vt 0.104994 0.715253 +vt 0.155246 0.632290 +vt 0.390409 0.350373 +vt 0.390410 0.441683 +vt 0.311206 0.396249 +vt 0.670651 0.370112 +vt 0.588814 0.422179 +vt 0.588814 0.329611 +vt 0.611486 0.652455 +vt 0.566795 0.738542 +vt 0.514490 0.652455 +vt 0.874849 0.085451 +vt 0.787613 0.135818 +vt 0.787613 0.035087 +vt 0.385899 0.258785 +vt 0.333594 0.172698 +vt 0.430588 0.172698 +vt 0.085316 0.771709 +vt 0.132621 0.693608 +vt 0.182311 0.771709 +vt 0.670788 0.409816 +vt 0.624912 0.489020 +vt 0.579478 0.409816 +vt 0.953105 0.167851 +vt 0.860537 0.167851 +vt 0.912604 0.086015 +vt 0.709234 0.592906 +vt 0.709233 0.689901 +vt 0.623147 0.645211 +vt 0.565997 0.665918 +vt 0.615687 0.587817 +vt 0.662991 0.665918 +vt 0.823919 0.743766 +vt 0.744716 0.698331 +vt 0.823919 0.652455 +vt 0.807743 0.640994 +vt 0.782618 0.566632 +vt 0.861110 0.566632 +vt 0.155712 0.667671 +vt 0.064182 0.667671 +vt 0.109947 0.603902 +vt 0.842204 0.622594 +vt 0.791954 0.539630 +vt 0.883264 0.539630 +vt 0.646345 0.583569 +vt 0.605844 0.665406 +vt 0.553777 0.583569 +vt 0.625434 0.250206 +vt 0.534124 0.250206 +vt 0.579559 0.171003 +vt 0.668119 0.709839 +vt 0.585156 0.659589 +vt 0.668119 0.618529 +vt 0.613391 0.088518 +vt 0.699477 0.133207 +vt 0.613391 0.185513 +vt 0.630697 0.035087 +vt 0.630697 0.135817 +vt 0.543461 0.085451 +vt 0.677327 0.230881 +vt 0.591241 0.283188 +vt 0.591241 0.186192 +vt 0.897270 0.119559 +vt 0.897270 0.210869 +vt 0.814305 0.169809 +vt 0.393571 0.384634 +vt 0.439447 0.463837 +vt 0.348137 0.463837 +vt 0.164829 0.797586 +vt 0.123770 0.880549 +vt 0.073519 0.797586 +vt 0.654422 0.346165 +vt 0.699112 0.432251 +vt 0.602117 0.432251 +vt 0.964719 0.702944 +vt 0.915030 0.781044 +vt 0.867724 0.702944 +vt 0.310435 0.189441 +vt 0.389639 0.234874 +vt 0.310435 0.280750 +vt 0.815127 0.421023 +vt 0.840252 0.495385 +vt 0.761759 0.495385 +vt 0.184460 0.141706 +vt 0.237826 0.067343 +vt 0.262951 0.141706 +vt 0.325414 0.361141 +vt 0.408377 0.310890 +vt 0.408377 0.402199 +vt 0.053503 0.656207 +vt 0.053503 0.564897 +vt 0.136466 0.615149 +vt 0.795633 0.660454 +vt 0.795633 0.569144 +vt 0.874836 0.614578 +vt 0.577981 0.745675 +vt 0.659816 0.693608 +vt 0.659816 0.786175 +vt 0.163106 0.171412 +vt 0.112741 0.088518 +vt 0.213470 0.088518 +vt 0.822753 0.675052 +vt 0.873118 0.587817 +vt 0.923483 0.675052 +vt 0.919352 0.407884 +vt 0.833267 0.355578 +vt 0.919352 0.310890 +vt 0.575554 0.160062 +vt 0.657390 0.119560 +vt 0.657390 0.212127 +vt 0.373118 0.493322 +vt 0.327243 0.414118 +vt 0.418552 0.414118 +vt 0.865297 0.911042 +vt 0.906356 0.828078 +vt 0.956606 0.911042 +vt 0.658501 0.524207 +vt 0.613812 0.438121 +vt 0.710805 0.438121 +vt 0.310776 0.915583 +vt 0.360465 0.837483 +vt 0.407769 0.915583 +vt 0.109946 0.210865 +vt 0.064182 0.131852 +vt 0.155711 0.131852 +vt 0.534124 0.470892 +vt 0.579889 0.407123 +vt 0.625653 0.470892 +vt 0.801703 0.846827 +vt 0.855070 0.921189 +vt 0.776578 0.921189 +vt 0.161442 0.067343 +vt 0.211693 0.150306 +vt 0.120383 0.150306 +vt 0.120495 0.421023 +vt 0.120495 0.512332 +vt 0.037533 0.462081 +vt 0.064182 0.367782 +vt 0.155492 0.367782 +vt 0.110058 0.446985 +vt 0.151619 0.056693 +vt 0.151619 0.153688 +vt 0.073519 0.103998 +vt 0.534124 0.152593 +vt 0.620211 0.197283 +vt 0.534124 0.249588 +vt 0.909988 0.086015 +vt 0.909988 0.186746 +vt 0.822753 0.136381 +vt 0.782618 0.141686 +vt 0.868704 0.193991 +vt 0.782618 0.238681 +vt 0.414130 0.792189 +vt 0.414130 0.883499 +vt 0.331167 0.842440 +vt 0.541608 0.564897 +vt 0.620811 0.610772 +vt 0.541609 0.656207 +vt 0.196305 0.382807 +vt 0.196305 0.475373 +vt 0.114469 0.423308 +vt 0.108395 0.346165 +vt 0.191288 0.396530 +vt 0.108395 0.446896 +vt 0.708378 0.092609 +vt 0.658688 0.170709 +vt 0.611383 0.092609 +vt 0.121042 0.598819 +vt 0.166806 0.677832 +vt 0.075276 0.677832 +vt 0.638086 0.438109 +vt 0.592320 0.501879 +vt 0.546556 0.438109 +vn 0.048200 -0.987800 0.148200 +vn 0.723000 -0.554500 0.412100 +vn -0.126100 -0.987800 0.091600 +vn -0.126100 -0.987800 -0.091600 +vn 0.048200 -0.987800 -0.148200 +vn 0.819300 -0.398700 0.412100 +vn -0.138700 -0.398700 0.906500 +vn -0.905000 -0.398700 0.148200 +vn -0.420600 -0.398700 -0.814900 +vn 0.645100 -0.398700 -0.651900 +vn 0.771100 -0.302400 0.560300 +vn -0.294500 -0.302400 0.906500 +vn -0.953200 -0.302400 0.000000 +vn -0.294500 -0.302400 -0.906500 +vn 0.771100 -0.302400 -0.560300 +vn 0.342700 0.554500 0.758300 +vn -0.615300 0.554500 0.560300 +vn -0.723000 0.554500 -0.412100 +vn 0.168500 0.554500 -0.814900 +vn 0.827100 0.554500 -0.091600 +vn 0.126100 0.987800 -0.091600 +vn 0.391200 0.915800 -0.091400 +vn 0.644100 0.759400 -0.091500 +vn 0.233400 0.957500 -0.169600 +vn 0.207900 0.915800 -0.343800 +vn 0.516800 0.836300 -0.183000 +vn 0.491100 0.794700 -0.356800 +vn 0.333800 0.836300 -0.435000 +vn 0.286000 0.759400 -0.584300 +vn 0.752000 0.636900 -0.169600 +vn 0.726100 0.595500 -0.343800 +vn 0.598700 0.672600 -0.435000 +vn 0.551300 0.595500 -0.584300 +vn 0.393600 0.636900 -0.662800 +vn 0.342700 0.554500 -0.758300 +vn -0.048200 0.987800 -0.148200 +vn 0.033900 0.915800 -0.400300 +vn 0.112100 0.759400 -0.640900 +vn -0.089100 0.957500 -0.274300 +vn -0.262700 0.915800 -0.303900 +vn -0.014400 0.836300 -0.548100 +vn -0.187600 0.794700 -0.577300 +vn -0.310500 0.836300 -0.451900 +vn -0.467400 0.759400 -0.452600 +vn 0.071100 0.636900 -0.767600 +vn -0.102600 0.595500 -0.796800 +vn -0.228700 0.672600 -0.703800 +vn -0.385400 0.595500 -0.704900 +vn -0.508700 0.636900 -0.579200 +vn -0.615300 0.554500 -0.560300 +vn -0.155800 0.987800 0.000000 +vn -0.370200 0.915800 -0.156000 +vn -0.574900 0.759400 -0.304600 +vn -0.288500 0.957500 0.000000 +vn -0.370200 0.915800 0.156000 +vn -0.525700 0.836300 -0.155700 +vn -0.607100 0.794700 0.000000 +vn -0.525700 0.836300 0.155700 +vn -0.574900 0.759400 0.304600 +vn -0.708100 0.636900 -0.304900 +vn -0.789500 0.595500 -0.148700 +vn -0.740000 0.672600 0.000000 +vn -0.789500 0.595500 0.148700 +vn -0.708100 0.636900 0.304900 +vn -0.723000 0.554500 0.412100 +vn -0.048200 0.987800 0.148200 +vn -0.262700 0.915800 0.303900 +vn -0.467400 0.759400 0.452600 +vn -0.089100 0.957500 0.274300 +vn 0.033900 0.915800 0.400300 +vn -0.310500 0.836300 0.451900 +vn -0.187600 0.794700 0.577300 +vn -0.014400 0.836300 0.548100 +vn 0.112100 0.759400 0.640900 +vn -0.508700 0.636900 0.579200 +vn -0.385400 0.595500 0.704900 +vn -0.228700 0.672600 0.703800 +vn -0.102600 0.595500 0.796800 +vn 0.071100 0.636900 0.767600 +vn 0.168500 0.554500 0.814900 +vn 0.126100 0.987800 0.091600 +vn 0.207900 0.915800 0.343800 +vn 0.286000 0.759400 0.584300 +vn 0.233400 0.957500 0.169600 +vn 0.391200 0.915800 0.091500 +vn 0.333800 0.836300 0.435000 +vn 0.491100 0.794700 0.356800 +vn 0.516800 0.836300 0.183000 +vn 0.644100 0.759400 0.091500 +vn 0.393600 0.636900 0.662800 +vn 0.551300 0.595500 0.584300 +vn 0.598700 0.672600 0.435000 +vn 0.726100 0.595500 0.343800 +vn 0.752000 0.636900 0.169600 +vn 0.827100 0.554500 0.091600 +vn 0.905000 0.398700 -0.148200 +vn 0.936600 0.174500 -0.303900 +vn 0.888300 -0.078400 -0.452600 +vn 0.896300 0.348500 -0.274300 +vn 0.803900 0.439900 -0.400300 +vn 0.886900 0.096200 -0.451900 +vn 0.794700 0.187600 -0.577300 +vn 0.754400 0.361100 -0.548100 +vn 0.629100 0.439900 -0.640900 +vn 0.797200 -0.170200 -0.579200 +vn 0.704900 -0.078400 -0.704900 +vn 0.703800 0.096200 -0.703800 +vn 0.578500 0.174500 -0.796800 +vn 0.537900 0.348500 -0.767600 +vn 0.420600 0.398700 -0.814900 +vn 0.138700 0.398700 -0.906500 +vn 0.000400 0.174500 -0.984600 +vn -0.156000 -0.078400 -0.984600 +vn 0.016000 0.348500 -0.937200 +vn -0.132300 0.439900 -0.888300 +vn -0.155700 0.096200 -0.983100 +vn -0.303500 0.187600 -0.934200 +vn -0.288200 0.361100 -0.886900 +vn -0.415100 0.439900 -0.796400 +vn -0.304500 -0.170200 -0.937200 +vn -0.452600 -0.078400 -0.888300 +vn -0.451900 0.096200 -0.886900 +vn -0.579100 0.174500 -0.796400 +vn -0.563800 0.348500 -0.748800 +vn -0.645100 0.398700 -0.651900 +vn -0.819300 0.398700 -0.412100 +vn -0.936300 0.174500 -0.304600 +vn -0.984600 -0.078400 -0.156000 +vn -0.886400 0.348500 -0.304900 +vn -0.885700 0.439900 -0.148700 +vn -0.983100 0.096200 -0.155700 +vn -0.982200 0.187600 0.000000 +vn -0.932500 0.361100 0.000000 +vn -0.885700 0.439900 0.148700 +vn -0.985400 -0.170200 0.000000 +vn -0.984600 -0.078400 0.156000 +vn -0.983100 0.096200 0.155700 +vn -0.936300 0.174500 0.304600 +vn -0.886400 0.348500 0.304900 +vn -0.819300 0.398700 0.412100 +vn -0.645100 0.398700 0.651900 +vn -0.579100 0.174500 0.796400 +vn -0.452600 -0.078400 0.888300 +vn -0.563800 0.348500 0.748800 +vn -0.415100 0.439900 0.796400 +vn -0.451900 0.096200 0.886900 +vn -0.303500 0.187600 0.934200 +vn -0.288200 0.361100 0.886900 +vn -0.132300 0.439900 0.888300 +vn -0.304500 -0.170200 0.937200 +vn -0.156000 -0.078400 0.984600 +vn -0.155700 0.096200 0.983100 +vn 0.000400 0.174500 0.984600 +vn 0.016000 0.348500 0.937200 +vn 0.138700 0.398700 0.906500 +vn 0.420600 0.398700 0.814900 +vn 0.578500 0.174500 0.796800 +vn 0.704900 -0.078400 0.704900 +vn 0.537900 0.348500 0.767600 +vn 0.629100 0.439900 0.640900 +vn 0.703800 0.096200 0.703800 +vn 0.794700 0.187600 0.577300 +vn 0.754400 0.361100 0.548100 +vn 0.803900 0.439900 0.400300 +vn 0.797200 -0.170200 0.579200 +vn 0.888300 -0.078400 0.452600 +vn 0.886900 0.096200 0.451900 +vn 0.936600 0.174500 0.303900 +vn 0.896300 0.348500 0.274400 +vn 0.905000 0.398700 0.148200 +vn 0.294500 0.302400 -0.906500 +vn 0.452600 0.078400 -0.888300 +vn 0.579100 -0.174500 -0.796400 +vn 0.304500 0.170200 -0.937200 +vn 0.156000 0.078400 -0.984600 +vn 0.451900 -0.096200 -0.886900 +vn 0.303500 -0.187600 -0.934200 +vn 0.155700 -0.096200 -0.983100 +vn -0.000400 -0.174500 -0.984600 +vn 0.563800 -0.348500 -0.748800 +vn 0.415100 -0.439900 -0.796400 +vn 0.288200 -0.361100 -0.886900 +vn 0.132300 -0.439900 -0.888300 +vn -0.016000 -0.348500 -0.937200 +vn -0.138700 -0.398700 -0.906500 +vn -0.771100 0.302400 -0.560300 +vn -0.704900 0.078400 -0.704900 +vn -0.578500 -0.174500 -0.796800 +vn -0.797200 0.170200 -0.579200 +vn -0.888300 0.078400 -0.452600 +vn -0.703800 -0.096200 -0.703800 +vn -0.794700 -0.187600 -0.577300 +vn -0.886900 -0.096200 -0.451900 +vn -0.936600 -0.174500 -0.303900 +vn -0.537900 -0.348500 -0.767600 +vn -0.629100 -0.439900 -0.640900 +vn -0.754400 -0.361100 -0.548100 +vn -0.803900 -0.439900 -0.400300 +vn -0.896300 -0.348500 -0.274400 +vn -0.905000 -0.398700 -0.148200 +vn -0.771100 0.302400 0.560300 +vn -0.888300 0.078400 0.452600 +vn -0.936600 -0.174500 0.303900 +vn -0.797200 0.170200 0.579200 +vn -0.704900 0.078400 0.704900 +vn -0.886900 -0.096200 0.451900 +vn -0.794700 -0.187600 0.577400 +vn -0.703800 -0.096200 0.703800 +vn -0.578500 -0.174500 0.796800 +vn -0.896300 -0.348500 0.274400 +vn -0.803900 -0.439900 0.400300 +vn -0.754400 -0.361100 0.548100 +vn -0.629100 -0.439900 0.640900 +vn -0.537900 -0.348500 0.767600 +vn -0.420600 -0.398700 0.814900 +vn 0.294500 0.302400 0.906500 +vn 0.156000 0.078400 0.984600 +vn -0.000400 -0.174500 0.984600 +vn 0.304500 0.170200 0.937200 +vn 0.452600 0.078400 0.888300 +vn 0.155700 -0.096200 0.983100 +vn 0.303500 -0.187600 0.934200 +vn 0.451900 -0.096200 0.886900 +vn 0.579100 -0.174500 0.796400 +vn -0.016000 -0.348500 0.937200 +vn 0.132300 -0.439900 0.888300 +vn 0.288200 -0.361100 0.886900 +vn 0.415100 -0.439900 0.796400 +vn 0.563800 -0.348500 0.748800 +vn 0.645100 -0.398700 0.651900 +vn 0.953200 0.302400 0.000000 +vn 0.984600 0.078400 0.156000 +vn 0.936300 -0.174500 0.304600 +vn 0.985400 0.170200 0.000000 +vn 0.984600 0.078400 -0.156000 +vn 0.983100 -0.096200 0.155700 +vn 0.982200 -0.187600 0.000000 +vn 0.983100 -0.096200 -0.155700 +vn 0.936300 -0.174500 -0.304600 +vn 0.886400 -0.348500 0.304900 +vn 0.885700 -0.439900 0.148700 +vn 0.932500 -0.361100 0.000000 +vn 0.885700 -0.439900 -0.148700 +vn 0.886400 -0.348500 -0.304900 +vn 0.819300 -0.398700 -0.412100 +vn 0.615300 -0.554500 -0.560300 +vn 0.467400 -0.759400 -0.452600 +vn 0.262700 -0.915800 -0.303900 +vn 0.508700 -0.636900 -0.579200 +vn 0.385400 -0.595500 -0.704900 +vn 0.310500 -0.836300 -0.451900 +vn 0.187600 -0.794700 -0.577300 +vn 0.228700 -0.672600 -0.703800 +vn 0.102600 -0.595500 -0.796800 +vn 0.089100 -0.957500 -0.274300 +vn -0.033900 -0.915800 -0.400300 +vn 0.014400 -0.836300 -0.548100 +vn -0.112100 -0.759400 -0.640900 +vn -0.071100 -0.636900 -0.767600 +vn -0.168500 -0.554500 -0.814900 +vn -0.342700 -0.554500 -0.758300 +vn -0.286000 -0.759400 -0.584300 +vn -0.207900 -0.915800 -0.343800 +vn -0.393600 -0.636900 -0.662800 +vn -0.551300 -0.595500 -0.584300 +vn -0.333800 -0.836300 -0.435000 +vn -0.491100 -0.794700 -0.356800 +vn -0.598700 -0.672600 -0.435000 +vn -0.726100 -0.595500 -0.343800 +vn -0.233400 -0.957500 -0.169600 +vn -0.391200 -0.915800 -0.091400 +vn -0.516800 -0.836300 -0.183000 +vn -0.644100 -0.759400 -0.091400 +vn -0.752000 -0.636900 -0.169600 +vn -0.827100 -0.554500 -0.091600 +vn -0.827100 -0.554500 0.091600 +vn -0.644100 -0.759400 0.091500 +vn -0.391200 -0.915800 0.091500 +vn -0.752000 -0.636900 0.169600 +vn -0.726100 -0.595500 0.343800 +vn -0.516800 -0.836300 0.183000 +vn -0.491100 -0.794700 0.356800 +vn -0.598700 -0.672600 0.435000 +vn -0.551300 -0.595500 0.584300 +vn -0.233400 -0.957500 0.169600 +vn -0.207900 -0.915800 0.343800 +vn -0.333800 -0.836300 0.435000 +vn -0.286000 -0.759400 0.584300 +vn -0.393600 -0.636900 0.662800 +vn -0.342700 -0.554500 0.758300 +vn 0.723000 -0.554500 -0.412100 +vn 0.789500 -0.595500 -0.148700 +vn 0.789500 -0.595500 0.148700 +vn 0.708100 -0.636900 -0.304900 +vn 0.574900 -0.759400 -0.304600 +vn 0.740000 -0.672600 -0.000000 +vn 0.607100 -0.794700 0.000000 +vn 0.525700 -0.836300 -0.155700 +vn 0.370200 -0.915800 -0.155900 +vn 0.708100 -0.636900 0.304900 +vn 0.574900 -0.759400 0.304600 +vn 0.525700 -0.836300 0.155700 +vn 0.370200 -0.915800 0.156000 +vn 0.288500 -0.957500 0.000000 +vn 0.155800 -0.987800 0.000000 +vn -0.168500 -0.554500 0.814900 +vn -0.112100 -0.759400 0.640900 +vn -0.033900 -0.915800 0.400300 +vn -0.071100 -0.636900 0.767600 +vn 0.102600 -0.595500 0.796800 +vn 0.014400 -0.836300 0.548100 +vn 0.187600 -0.794700 0.577300 +vn 0.228700 -0.672600 0.703800 +vn 0.385400 -0.595500 0.704900 +vn 0.089100 -0.957500 0.274400 +vn 0.262700 -0.915800 0.303900 +vn 0.310500 -0.836300 0.451900 +vn 0.467400 -0.759400 0.452600 +vn 0.508700 -0.636900 0.579200 +vn 0.615300 -0.554500 0.560300 +s off +f 1/1/1 16/2/1 15/3/1 +f 2/4/2 18/5/2 24/6/2 +f 1/7/3 15/8/3 30/9/3 +f 1/10/4 30/11/4 36/12/4 +f 1/13/5 36/14/5 25/15/5 +f 2/16/6 24/17/6 45/18/6 +f 3/19/7 21/20/7 51/21/7 +f 4/22/8 33/23/8 57/24/8 +f 5/25/9 39/26/9 63/27/9 +f 6/28/10 42/29/10 69/30/10 +f 2/31/11 45/32/11 52/33/11 +f 3/34/12 51/35/12 58/36/12 +f 4/37/13 57/38/13 64/39/13 +f 5/40/14 63/41/14 70/42/14 +f 6/43/15 69/44/15 46/45/15 +f 7/46/16 75/47/16 90/48/16 +f 8/49/17 78/50/17 96/51/17 +f 9/52/18 81/53/18 99/54/18 +f 10/55/19 84/56/19 102/57/19 +f 11/58/20 87/59/20 91/60/20 +f 93/61/21 100/62/21 12/63/21 +f 92/64/22 103/65/22 93/66/22 +f 91/67/23 104/68/23 92/69/23 +f 93/70/24 103/71/24 100/72/24 +f 103/73/25 101/74/25 100/75/25 +f 92/76/26 104/77/26 103/78/26 +f 104/79/27 105/80/27 103/81/27 +f 103/82/28 105/83/28 101/84/28 +f 105/85/29 102/86/29 101/87/29 +f 91/88/30 87/89/30 104/90/30 +f 87/91/31 86/92/31 104/93/31 +f 104/94/32 86/95/32 105/96/32 +f 86/97/33 85/98/33 105/99/33 +f 105/100/34 85/101/34 102/102/34 +f 85/103/35 10/104/35 102/105/35 +f 100/106/36 97/107/36 12/108/36 +f 101/109/37 106/110/37 100/111/37 +f 102/112/38 107/113/38 101/114/38 +f 100/115/39 106/116/39 97/117/39 +f 106/118/40 98/119/40 97/120/40 +f 101/121/41 107/122/41 106/123/41 +f 107/124/42 108/125/42 106/126/42 +f 106/127/43 108/128/43 98/129/43 +f 108/130/44 99/131/44 98/132/44 +f 102/133/45 84/134/45 107/135/45 +f 84/136/46 83/137/46 107/138/46 +f 107/139/47 83/140/47 108/141/47 +f 83/142/48 82/143/48 108/144/48 +f 108/145/49 82/146/49 99/147/49 +f 82/148/50 9/149/50 99/150/50 +f 97/151/51 94/152/51 12/153/51 +f 98/154/52 109/155/52 97/156/52 +f 99/157/53 110/158/53 98/159/53 +f 97/160/54 109/161/54 94/162/54 +f 109/163/55 95/164/55 94/165/55 +f 98/166/56 110/167/56 109/168/56 +f 110/169/57 111/170/57 109/171/57 +f 109/172/58 111/173/58 95/174/58 +f 111/175/59 96/176/59 95/177/59 +f 99/178/60 81/179/60 110/180/60 +f 81/181/61 80/182/61 110/183/61 +f 110/184/62 80/185/62 111/186/62 +f 80/187/63 79/188/63 111/189/63 +f 111/190/64 79/191/64 96/192/64 +f 79/193/65 8/194/65 96/195/65 +f 94/196/66 88/197/66 12/198/66 +f 95/199/67 112/200/67 94/201/67 +f 96/202/68 113/203/68 95/204/68 +f 94/205/69 112/206/69 88/207/69 +f 112/208/70 89/209/70 88/210/70 +f 95/211/71 113/212/71 112/213/71 +f 113/214/72 114/215/72 112/216/72 +f 112/217/73 114/218/73 89/219/73 +f 114/220/74 90/221/74 89/222/74 +f 96/223/75 78/224/75 113/225/75 +f 78/226/76 77/227/76 113/228/76 +f 113/229/77 77/230/77 114/231/77 +f 77/232/78 76/233/78 114/234/78 +f 114/235/79 76/236/79 90/237/79 +f 76/238/80 7/239/80 90/240/80 +f 88/241/81 93/242/81 12/243/81 +f 89/244/82 115/245/82 88/246/82 +f 90/247/83 116/248/83 89/249/83 +f 88/250/84 115/251/84 93/252/84 +f 115/253/85 92/254/85 93/255/85 +f 89/256/86 116/257/86 115/258/86 +f 116/259/87 117/260/87 115/261/87 +f 115/262/88 117/263/88 92/264/88 +f 117/265/89 91/266/89 92/267/89 +f 90/268/90 75/269/90 116/270/90 +f 75/271/91 74/272/91 116/273/91 +f 116/274/92 74/275/92 117/276/92 +f 74/277/93 73/278/93 117/279/93 +f 117/280/94 73/281/94 91/282/94 +f 73/283/95 11/284/95 91/285/95 +f 48/286/96 87/287/96 11/288/96 +f 47/289/97 118/290/97 48/291/97 +f 46/292/98 119/293/98 47/294/98 +f 48/295/99 118/296/99 87/297/99 +f 118/298/100 86/299/100 87/300/100 +f 47/301/101 119/302/101 118/303/101 +f 119/304/102 120/305/102 118/306/102 +f 118/307/103 120/308/103 86/309/103 +f 120/310/104 85/311/104 86/312/104 +f 46/313/105 69/314/105 119/315/105 +f 69/316/106 68/317/106 119/318/106 +f 119/319/107 68/320/107 120/321/107 +f 68/322/108 67/323/108 120/324/108 +f 120/325/109 67/326/109 85/327/109 +f 67/328/110 10/329/110 85/330/110 +f 72/331/111 84/332/111 10/333/111 +f 71/334/112 121/335/112 72/336/112 +f 70/337/113 122/338/113 71/339/113 +f 72/340/114 121/341/114 84/342/114 +f 121/343/115 83/344/115 84/345/115 +f 71/346/116 122/347/116 121/348/116 +f 122/349/117 123/350/117 121/351/117 +f 121/352/118 123/353/118 83/354/118 +f 123/355/119 82/356/119 83/357/119 +f 70/358/120 63/359/120 122/360/120 +f 63/361/121 62/362/121 122/363/121 +f 122/364/122 62/365/122 123/366/122 +f 62/367/123 61/368/123 123/369/123 +f 123/370/124 61/371/124 82/372/124 +f 61/373/125 9/374/125 82/375/125 +f 66/376/126 81/377/126 9/378/126 +f 65/379/127 124/380/127 66/381/127 +f 64/382/128 125/383/128 65/384/128 +f 66/385/129 124/386/129 81/387/129 +f 124/388/130 80/389/130 81/390/130 +f 65/391/131 125/392/131 124/393/131 +f 125/394/132 126/395/132 124/396/132 +f 124/397/133 126/398/133 80/399/133 +f 126/400/134 79/401/134 80/402/134 +f 64/403/135 57/404/135 125/405/135 +f 57/406/136 56/407/136 125/408/136 +f 125/409/137 56/410/137 126/411/137 +f 56/412/138 55/413/138 126/414/138 +f 126/415/139 55/416/139 79/417/139 +f 55/418/140 8/419/140 79/420/140 +f 60/421/141 78/422/141 8/423/141 +f 59/424/142 127/425/142 60/426/142 +f 58/427/143 128/428/143 59/429/143 +f 60/430/144 127/431/144 78/432/144 +f 127/433/145 77/434/145 78/435/145 +f 59/436/146 128/437/146 127/438/146 +f 128/439/147 129/440/147 127/441/147 +f 127/442/148 129/443/148 77/444/148 +f 129/445/149 76/446/149 77/447/149 +f 58/448/150 51/449/150 128/450/150 +f 51/451/151 50/452/151 128/453/151 +f 128/454/152 50/455/152 129/456/152 +f 50/457/153 49/458/153 129/459/153 +f 129/460/154 49/461/154 76/462/154 +f 49/463/155 7/464/155 76/465/155 +f 54/466/156 75/467/156 7/468/156 +f 53/469/157 130/470/157 54/471/157 +f 52/472/158 131/473/158 53/474/158 +f 54/475/159 130/476/159 75/477/159 +f 130/478/160 74/479/160 75/480/160 +f 53/481/161 131/482/161 130/483/161 +f 131/484/162 132/485/162 130/486/162 +f 130/487/163 132/488/163 74/489/163 +f 132/490/164 73/491/164 74/492/164 +f 52/493/165 45/494/165 131/495/165 +f 45/496/166 44/497/166 131/498/166 +f 131/499/167 44/500/167 132/501/167 +f 44/502/168 43/503/168 132/504/168 +f 132/505/169 43/506/169 73/507/169 +f 43/508/170 11/509/170 73/510/170 +f 67/511/171 72/512/171 10/513/171 +f 68/514/172 133/515/172 67/516/172 +f 69/517/173 134/518/173 68/519/173 +f 67/520/174 133/521/174 72/522/174 +f 133/523/175 71/524/175 72/525/175 +f 68/526/176 134/527/176 133/528/176 +f 134/529/177 135/530/177 133/531/177 +f 133/532/178 135/533/178 71/534/178 +f 135/535/179 70/536/179 71/537/179 +f 69/538/180 42/539/180 134/540/180 +f 42/541/181 41/542/181 134/543/181 +f 134/544/182 41/545/182 135/546/182 +f 41/547/183 40/548/183 135/549/183 +f 135/550/184 40/551/184 70/552/184 +f 40/553/185 5/554/185 70/555/185 +f 61/556/186 66/557/186 9/558/186 +f 62/559/187 136/560/187 61/561/187 +f 63/562/188 137/563/188 62/564/188 +f 61/565/189 136/566/189 66/567/189 +f 136/568/190 65/569/190 66/570/190 +f 62/571/191 137/572/191 136/573/191 +f 137/574/192 138/575/192 136/576/192 +f 136/577/193 138/578/193 65/579/193 +f 138/580/194 64/581/194 65/582/194 +f 63/583/195 39/584/195 137/585/195 +f 39/586/196 38/587/196 137/588/196 +f 137/589/197 38/590/197 138/591/197 +f 38/592/198 37/593/198 138/594/198 +f 138/595/199 37/596/199 64/597/199 +f 37/598/200 4/599/200 64/600/200 +f 55/601/201 60/602/201 8/603/201 +f 56/604/202 139/605/202 55/606/202 +f 57/607/203 140/608/203 56/609/203 +f 55/610/204 139/611/204 60/612/204 +f 139/613/205 59/614/205 60/615/205 +f 56/616/206 140/617/206 139/618/206 +f 140/619/207 141/620/207 139/621/207 +f 139/622/208 141/623/208 59/624/208 +f 141/625/209 58/626/209 59/627/209 +f 57/628/210 33/629/210 140/630/210 +f 33/631/211 32/632/211 140/633/211 +f 140/634/212 32/635/212 141/636/212 +f 32/637/213 31/638/213 141/639/213 +f 141/640/214 31/641/214 58/642/214 +f 31/643/215 3/644/215 58/645/215 +f 49/646/216 54/647/216 7/648/216 +f 50/649/217 142/650/217 49/651/217 +f 51/652/218 143/653/218 50/654/218 +f 49/655/219 142/656/219 54/657/219 +f 142/658/220 53/659/220 54/660/220 +f 50/661/221 143/662/221 142/663/221 +f 143/664/222 144/665/222 142/666/222 +f 142/667/223 144/668/223 53/669/223 +f 144/670/224 52/671/224 53/672/224 +f 51/673/225 21/674/225 143/675/225 +f 21/676/226 20/677/226 143/678/226 +f 143/679/227 20/680/227 144/681/227 +f 20/682/228 19/683/228 144/684/228 +f 144/685/229 19/686/229 52/687/229 +f 19/688/230 2/689/230 52/690/230 +f 43/691/231 48/692/231 11/693/231 +f 44/694/232 145/695/232 43/696/232 +f 45/697/233 146/698/233 44/699/233 +f 43/700/234 145/701/234 48/702/234 +f 145/703/235 47/704/235 48/705/235 +f 44/706/236 146/707/236 145/708/236 +f 146/709/237 147/710/237 145/711/237 +f 145/712/238 147/713/238 47/714/238 +f 147/715/239 46/716/239 47/717/239 +f 45/718/240 24/719/240 146/720/240 +f 24/721/241 23/722/241 146/723/241 +f 146/724/242 23/725/242 147/726/242 +f 23/727/243 22/728/243 147/729/243 +f 147/730/244 22/731/244 46/732/244 +f 22/733/245 6/734/245 46/735/245 +f 27/736/246 42/737/246 6/738/246 +f 26/739/247 148/740/247 27/741/247 +f 25/742/248 149/743/248 26/744/248 +f 27/745/249 148/746/249 42/747/249 +f 148/748/250 41/749/250 42/750/250 +f 26/751/251 149/752/251 148/753/251 +f 149/754/252 150/755/252 148/756/252 +f 148/757/253 150/758/253 41/759/253 +f 150/760/254 40/761/254 41/762/254 +f 25/763/255 36/764/255 149/765/255 +f 36/766/256 35/767/256 149/768/256 +f 149/769/257 35/770/257 150/771/257 +f 35/772/258 34/773/258 150/774/258 +f 150/775/259 34/776/259 40/777/259 +f 34/778/260 5/779/260 40/780/260 +f 34/781/261 39/782/261 5/783/261 +f 35/784/262 151/785/262 34/786/262 +f 36/787/263 152/788/263 35/789/263 +f 34/790/264 151/791/264 39/792/264 +f 151/793/265 38/794/265 39/795/265 +f 35/796/266 152/797/266 151/798/266 +f 152/799/267 153/800/267 151/801/267 +f 151/802/268 153/803/268 38/804/268 +f 153/805/269 37/806/269 38/807/269 +f 36/808/270 30/809/270 152/810/270 +f 30/811/271 29/812/271 152/813/271 +f 152/814/272 29/815/272 153/816/272 +f 29/817/273 28/818/273 153/819/273 +f 153/820/274 28/821/274 37/822/274 +f 28/823/275 4/824/275 37/825/275 +f 28/826/276 33/827/276 4/828/276 +f 29/829/277 154/830/277 28/831/277 +f 30/832/278 155/833/278 29/834/278 +f 28/835/279 154/836/279 33/837/279 +f 154/838/280 32/839/280 33/840/280 +f 29/841/281 155/842/281 154/843/281 +f 155/844/282 156/845/282 154/846/282 +f 154/847/283 156/848/283 32/849/283 +f 156/850/284 31/851/284 32/852/284 +f 30/853/285 15/854/285 155/855/285 +f 15/856/286 14/857/286 155/858/286 +f 155/859/287 14/860/287 156/861/287 +f 14/862/288 13/863/288 156/864/288 +f 156/865/289 13/866/289 31/867/289 +f 13/868/290 3/869/290 31/870/290 +f 22/871/291 27/872/291 6/873/291 +f 23/874/292 157/875/292 22/876/292 +f 24/877/293 158/878/293 23/879/293 +f 22/880/294 157/881/294 27/882/294 +f 157/883/295 26/884/295 27/885/295 +f 23/886/296 158/887/296 157/888/296 +f 158/889/297 159/890/297 157/891/297 +f 157/892/298 159/893/298 26/894/298 +f 159/895/299 25/896/299 26/897/299 +f 24/898/300 18/899/300 158/900/300 +f 18/901/301 17/902/301 158/903/301 +f 158/904/302 17/905/302 159/906/302 +f 17/907/303 16/908/303 159/909/303 +f 159/910/304 16/911/304 25/912/304 +f 16/913/305 1/914/305 25/915/305 +f 13/916/306 21/917/306 3/918/306 +f 14/919/307 160/920/307 13/921/307 +f 15/922/308 161/923/308 14/924/308 +f 13/925/309 160/926/309 21/927/309 +f 160/928/310 20/929/310 21/930/310 +f 14/931/311 161/932/311 160/933/311 +f 161/934/312 162/935/312 160/936/312 +f 160/937/313 162/938/313 20/939/313 +f 162/940/314 19/941/314 20/942/314 +f 15/943/315 16/944/315 161/945/315 +f 16/946/316 17/947/316 161/948/316 +f 161/949/317 17/950/317 162/951/317 +f 17/952/318 18/953/318 162/954/318 +f 162/955/319 18/956/319 19/957/319 +f 18/958/320 2/959/320 19/960/320 diff --git a/assets/hbm/models/n45_knob.obj b/assets/hbm/models/n45_knob.obj new file mode 100644 index 000000000..65db02879 --- /dev/null +++ b/assets/hbm/models/n45_knob.obj @@ -0,0 +1,75 @@ +# Blender v2.76 (sub 0) OBJ File: 'n45_knob.blend' +# www.blender.org +o Cylinder +v 0.000000 0.475000 -0.062500 +v 0.000000 0.525000 -0.062500 +v 0.044194 0.475000 -0.044194 +v 0.044194 0.525000 -0.044194 +v 0.062500 0.475000 0.000000 +v 0.062500 0.525000 0.000000 +v 0.044194 0.475000 0.044194 +v 0.044194 0.525000 0.044194 +v -0.000000 0.475000 0.062500 +v -0.000000 0.525000 0.062500 +v -0.044194 0.475000 0.044194 +v -0.044194 0.525000 0.044194 +v -0.062500 0.475000 -0.000000 +v -0.062500 0.525000 -0.000000 +v -0.044194 0.475000 -0.044194 +v -0.044194 0.525000 -0.044194 +vt 0.610389 0.766502 +vt 0.766501 0.610389 +vt 0.929679 0.773566 +vt 0.766501 0.389611 +vt 0.997269 0.389611 +vt 0.610388 0.233498 +vt 0.773565 0.070321 +vt 0.389611 0.233499 +vt 0.389611 0.002731 +vt 0.233498 0.389612 +vt 0.070321 0.226435 +vt 0.233498 0.610389 +vt 0.002731 0.610389 +vt 0.389611 0.766502 +vt 0.610388 0.997269 +vt 0.226434 0.929679 +vt 0.773566 0.929679 +vt 0.997269 0.610388 +vt 0.929678 0.226434 +vt 0.610388 0.002731 +vt 0.226434 0.070322 +vt 0.002731 0.389612 +vt 0.389611 0.997269 +vt 0.070321 0.773566 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn 0.000000 1.000000 0.000000 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/4/3 8/6/3 7/7/3 +f 8/6/4 10/8/4 9/9/4 +f 10/8/5 12/10/5 11/11/5 +f 12/10/6 14/12/6 13/13/6 +f 14/12/7 10/8/7 2/1/7 +f 16/14/8 2/1/8 1/15/8 +f 14/12/9 16/14/9 15/16/9 +f 1/17/1 2/1/1 3/3/1 +f 3/18/2 4/2/2 5/5/2 +f 5/19/3 6/4/3 7/7/3 +f 7/20/4 8/6/4 9/9/4 +f 9/21/5 10/8/5 11/11/5 +f 11/22/6 12/10/6 13/13/6 +f 6/4/7 4/2/7 2/1/7 +f 2/1/7 16/14/7 14/12/7 +f 14/12/7 12/10/7 10/8/7 +f 10/8/7 8/6/7 6/4/7 +f 6/4/7 2/1/7 10/8/7 +f 15/23/8 16/14/8 1/15/8 +f 13/24/9 14/12/9 15/16/9 diff --git a/assets/hbm/models/n45_rod.obj b/assets/hbm/models/n45_rod.obj new file mode 100644 index 000000000..a0a4e6bee --- /dev/null +++ b/assets/hbm/models/n45_rod.obj @@ -0,0 +1,75 @@ +# Blender v2.76 (sub 0) OBJ File: 'n45_rod.blend' +# www.blender.org +o Cylinder.001 +v 0.000000 0.512500 -0.031000 +v 0.000000 0.887500 -0.031000 +v 0.021920 0.512500 -0.021920 +v 0.021920 0.887500 -0.021920 +v 0.031000 0.512500 0.000000 +v 0.031000 0.887500 0.000000 +v 0.021920 0.512500 0.021920 +v 0.021920 0.887500 0.021920 +v -0.000000 0.512500 0.031000 +v -0.000000 0.887500 0.031000 +v -0.021920 0.512500 0.021920 +v -0.021920 0.887500 0.021920 +v -0.031000 0.512500 0.000000 +v -0.031000 0.887500 0.000000 +v -0.021920 0.512500 -0.021920 +v -0.021920 0.887500 -0.021920 +vt 0.423308 0.866102 +vt 0.368629 0.866102 +vt 0.368629 0.001892 +vt 0.313950 0.866102 +vt 0.313950 0.001892 +vt 0.259271 0.866102 +vt 0.259272 0.001892 +vt 0.204592 0.866102 +vt 0.204593 0.001892 +vt 0.149913 0.866102 +vt 0.149914 0.001891 +vt 0.095234 0.866102 +vt 0.095236 0.001891 +vt 0.095234 0.998109 +vt 0.040555 0.998108 +vt 0.477987 0.866102 +vt 0.423308 0.001892 +vt 0.040555 0.866102 +vt 0.040557 0.001891 +vt 0.001891 0.959445 +vt 0.001891 0.904766 +vt 0.133898 0.904766 +vt 0.133898 0.959445 +vt 0.477986 0.001892 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn 0.000000 1.000000 0.000000 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/4/3 8/6/3 7/7/3 +f 8/6/4 10/8/4 9/9/4 +f 10/8/5 12/10/5 11/11/5 +f 12/10/6 14/12/6 13/13/6 +f 14/12/7 8/14/7 6/15/7 +f 16/16/8 2/1/8 1/17/8 +f 14/12/9 16/18/9 15/19/9 +f 1/17/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/5/3 6/4/3 7/7/3 +f 7/7/4 8/6/4 9/9/4 +f 9/9/5 10/8/5 11/11/5 +f 11/11/6 12/10/6 13/13/6 +f 6/15/7 4/20/7 14/12/7 +f 2/21/7 16/18/7 14/12/7 +f 14/12/7 12/22/7 10/23/7 +f 10/23/7 8/14/7 14/12/7 +f 4/20/7 2/21/7 14/12/7 +f 15/24/8 16/16/8 1/17/8 +f 13/13/9 14/12/9 15/19/9 diff --git a/assets/hbm/models/n45_stand.obj b/assets/hbm/models/n45_stand.obj new file mode 100644 index 000000000..1e99f7d20 --- /dev/null +++ b/assets/hbm/models/n45_stand.obj @@ -0,0 +1,166 @@ +# Blender v2.76 (sub 0) OBJ File: 'n45_stand.blend' +# www.blender.org +o Icosphere.001 +v 0.000000 0.100000 -0.125000 +v 0.000000 0.525000 -0.125000 +v 0.088388 0.100000 -0.088388 +v 0.088388 0.525000 -0.088388 +v 0.125000 0.100000 0.000000 +v 0.125000 0.525000 0.000000 +v 0.088388 0.100000 0.088388 +v 0.088388 0.525000 0.088388 +v -0.000000 0.100000 0.125000 +v -0.000000 0.525000 0.125000 +v -0.088388 0.100000 0.088388 +v -0.088388 0.525000 0.088388 +v -0.125000 0.100000 -0.000000 +v -0.125000 0.525000 -0.000000 +v -0.088388 0.100000 -0.088388 +v -0.088388 0.525000 -0.088388 +v 0.000000 0.100000 -0.250000 +v 0.176777 0.100000 -0.176777 +v 0.250000 0.100000 0.000000 +v 0.176777 0.100000 0.176777 +v -0.000000 0.100000 0.250000 +v -0.176777 0.100000 0.176777 +v -0.250000 0.100000 -0.000000 +v -0.176777 0.100000 -0.176777 +v -0.000000 0.000000 -0.375000 +v 0.265165 0.000000 -0.265165 +v 0.375000 0.000000 0.000000 +v 0.265165 0.000000 0.265165 +v -0.000000 0.000000 0.375000 +v -0.265165 0.000000 0.265165 +v -0.375000 0.000000 -0.000000 +v -0.265165 0.000000 -0.265165 +vt 0.590034 0.983303 +vt 0.536822 0.983303 +vt 0.536822 0.746920 +vt 0.483611 0.983303 +vt 0.483611 0.746920 +vt 0.430399 0.983303 +vt 0.430399 0.746920 +vt 0.377187 0.983303 +vt 0.377187 0.746920 +vt 0.323976 0.983303 +vt 0.323976 0.746920 +vt 0.270764 0.983303 +vt 0.270764 0.746920 +vt 0.643246 0.983303 +vt 0.590034 0.746920 +vt 0.696457 0.983303 +vt 0.643246 0.746920 +vt 0.807223 0.505400 +vt 0.737698 0.505400 +vt 0.778425 0.407078 +vt 0.346117 0.113818 +vt 0.444439 0.073092 +vt 0.501535 0.141409 +vt 0.175484 0.456239 +vt 0.224645 0.407078 +vt 0.265371 0.505400 +vt 0.607792 0.676034 +vt 0.558631 0.626872 +vt 0.656953 0.586146 +vt 0.195847 0.194564 +vt 0.265371 0.194564 +vt 0.224645 0.292886 +vt 0.827586 0.243725 +vt 0.778425 0.292886 +vt 0.737698 0.194564 +vt 0.346117 0.655670 +vt 0.346117 0.586146 +vt 0.444439 0.626872 +vt 0.395278 0.023931 +vt 0.656953 0.044294 +vt 0.656953 0.113818 +vt 0.558631 0.073092 +vt 0.649018 0.497465 +vt 0.354051 0.497465 +vt 0.354052 0.202499 +vt 0.292962 0.349982 +vt 0.501535 0.558555 +vt 0.710108 0.349982 +vt 0.649018 0.202499 +vt 0.696457 0.746920 +vt 0.827586 0.456239 +vt 0.195847 0.505400 +vt 0.656953 0.655670 +vt 0.175484 0.243725 +vt 0.807223 0.194564 +vt 0.395278 0.676034 +vt 0.346117 0.044294 +vt 0.607792 0.023931 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn -0.000000 1.000000 -0.000000 +vn -0.250500 0.756000 -0.604800 +vn 0.000000 -1.000000 0.000000 +vn -0.604800 0.756000 0.250500 +vn 0.250500 0.756000 0.604800 +vn 0.604800 0.756000 -0.250500 +vn -0.604800 0.756000 -0.250500 +vn -0.250500 0.756000 0.604800 +vn 0.604800 0.756000 0.250500 +vn 0.250500 0.756000 -0.604800 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/4/3 8/6/3 7/7/3 +f 8/6/4 10/8/4 9/9/4 +f 10/8/5 12/10/5 11/11/5 +f 12/10/6 14/12/6 13/13/6 +f 16/14/7 2/1/7 1/15/7 +f 14/16/8 16/14/8 15/17/8 +f 7/18/9 20/19/9 19/20/9 +f 24/21/10 17/22/10 25/23/10 +f 13/24/9 23/25/9 22/26/9 +f 9/27/9 21/28/9 20/29/9 +f 15/30/9 24/31/9 23/32/9 +f 5/33/9 19/34/9 18/35/9 +f 11/36/9 22/37/9 21/38/9 +f 1/39/9 17/22/9 24/21/9 +f 3/40/9 18/41/9 17/42/9 +f 28/43/11 30/44/11 32/45/11 +f 23/25/12 31/46/12 30/44/12 +f 21/28/13 29/47/13 28/43/13 +f 19/34/14 27/48/14 26/49/14 +f 24/31/15 32/45/15 31/46/15 +f 22/37/16 30/44/16 29/47/16 +f 19/20/17 20/19/17 28/43/17 +f 17/42/18 18/41/18 26/49/18 +f 1/15/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/5/3 6/4/3 7/7/3 +f 7/7/4 8/6/4 9/9/4 +f 9/9/5 10/8/5 11/11/5 +f 11/11/6 12/10/6 13/13/6 +f 15/17/7 16/14/7 1/15/7 +f 13/50/8 14/16/8 15/17/8 +f 5/51/9 7/18/9 19/20/9 +f 32/45/10 24/21/10 25/23/10 +f 11/52/9 13/24/9 22/26/9 +f 7/53/9 9/27/9 20/29/9 +f 13/54/9 15/30/9 23/32/9 +f 3/55/9 5/33/9 18/35/9 +f 9/56/9 11/36/9 21/38/9 +f 15/57/9 1/39/9 24/21/9 +f 1/58/9 3/40/9 17/42/9 +f 32/45/11 25/23/11 26/49/11 +f 26/49/11 27/48/11 28/43/11 +f 28/43/11 29/47/11 30/44/11 +f 30/44/11 31/46/11 32/45/11 +f 32/45/11 26/49/11 28/43/11 +f 22/26/12 23/25/12 30/44/12 +f 20/29/13 21/28/13 28/43/13 +f 18/35/14 19/34/14 26/49/14 +f 23/32/15 24/31/15 31/46/15 +f 21/38/16 22/37/16 29/47/16 +f 27/48/17 19/20/17 28/43/17 +f 25/23/18 17/42/18 26/49/18 diff --git a/assets/hbm/textures/blocks/blast_door.png b/assets/hbm/textures/blocks/blast_door.png new file mode 100644 index 000000000..d41fb8686 Binary files /dev/null and b/assets/hbm/textures/blocks/blast_door.png differ diff --git a/assets/hbm/textures/blocks/hazmat.png b/assets/hbm/textures/blocks/hazmat.png new file mode 100644 index 000000000..92997dc0b Binary files /dev/null and b/assets/hbm/textures/blocks/hazmat.png differ diff --git a/assets/hbm/textures/blocks/hazmat_alt.png b/assets/hbm/textures/blocks/hazmat_alt.png new file mode 100644 index 000000000..049f1bae8 Binary files /dev/null and b/assets/hbm/textures/blocks/hazmat_alt.png differ diff --git a/assets/hbm/textures/models/blast_door_base.png b/assets/hbm/textures/models/blast_door_base.png new file mode 100644 index 000000000..a85682322 Binary files /dev/null and b/assets/hbm/textures/models/blast_door_base.png differ diff --git a/assets/hbm/textures/models/blast_door_block.png b/assets/hbm/textures/models/blast_door_block.png new file mode 100644 index 000000000..3fa256477 Binary files /dev/null and b/assets/hbm/textures/models/blast_door_block.png differ diff --git a/assets/hbm/textures/models/blast_door_slider.png b/assets/hbm/textures/models/blast_door_slider.png new file mode 100644 index 000000000..196634e36 Binary files /dev/null and b/assets/hbm/textures/models/blast_door_slider.png differ diff --git a/assets/hbm/textures/models/blast_door_tooth.png b/assets/hbm/textures/models/blast_door_tooth.png new file mode 100644 index 000000000..3c654a73f Binary files /dev/null and b/assets/hbm/textures/models/blast_door_tooth.png differ diff --git a/assets/hbm/textures/models/blast_door_tooth_alt.png b/assets/hbm/textures/models/blast_door_tooth_alt.png new file mode 100644 index 000000000..f6bb8344d Binary files /dev/null and b/assets/hbm/textures/models/blast_door_tooth_alt.png differ diff --git a/assets/hbm/textures/models/blast_door_tooth_alt_alt.png b/assets/hbm/textures/models/blast_door_tooth_alt_alt.png new file mode 100644 index 000000000..679c33590 Binary files /dev/null and b/assets/hbm/textures/models/blast_door_tooth_alt_alt.png differ diff --git a/assets/hbm/textures/models/n45_globe.png b/assets/hbm/textures/models/n45_globe.png new file mode 100644 index 000000000..415eeeebb Binary files /dev/null and b/assets/hbm/textures/models/n45_globe.png differ diff --git a/assets/hbm/textures/models/n45_knob.png b/assets/hbm/textures/models/n45_knob.png new file mode 100644 index 000000000..539f00391 Binary files /dev/null and b/assets/hbm/textures/models/n45_knob.png differ diff --git a/assets/hbm/textures/models/n45_rod.png b/assets/hbm/textures/models/n45_rod.png new file mode 100644 index 000000000..e0efd84b0 Binary files /dev/null and b/assets/hbm/textures/models/n45_rod.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index c800559e9..2fae4ec01 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -118,6 +118,8 @@ public class ModBlocks { public static Block deco_lead; public static Block deco_beryllium; + public static Block hazmat; + public static Block gravel_obsidian; public static Block asphalt; @@ -205,8 +207,9 @@ public class ModBlocks { public static Block seal_frame; public static Block seal_controller; public static Block seal_hatch; - + public static Block vault_door; + public static Block blast_door; public static Block marker_structure; @@ -252,6 +255,8 @@ public class ModBlocks { public static Block nuke_n2; public static final int guiID_nuke_n2 = 61; + + public static Block nuke_n45; public static Block bomb_multi; public static final int guiID_bomb_multi = 10; @@ -560,6 +565,7 @@ public class ModBlocks { public static Block dummy_block_reactor_small; public static Block dummy_port_reactor_small; public static Block dummy_block_vault; + public static Block dummy_block_blast; public static Block ntm_dirt; @@ -653,8 +659,10 @@ public class ModBlocks { deco_lead = new BlockOre(Material.iron).setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); deco_beryllium = new BlockOre(Material.iron).setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); + hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":hazmat"); + gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); - asphalt = new BlockGeneric(Material.rock).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); + asphalt = new BlockGeneric(Material.rock).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); reinforced_glass = new ReinforcedBlock(Material.glass).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_glass"); @@ -720,6 +728,7 @@ public class ModBlocks { nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":custom"); nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium"); nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2"); + nuke_n45 = new NukeN45(Material.iron).setBlockName("nuke_n45").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n45"); cel_prime = new CelPrime(Material.iron).setBlockName("cel_prime").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime"); cel_prime_terminal = new CelPrimePart(Material.iron).setBlockName("cel_prime_terminal").setCreativeTab(null).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cel_prime_terminal"); @@ -866,6 +875,7 @@ public class ModBlocks { seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door"); + blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.0F).setResistance(0.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure"); @@ -994,6 +1004,7 @@ public class ModBlocks { dummy_block_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_block_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_port_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_blast = new DummyBlockBlast(Material.iron).setBlockName("dummy_block_blast").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt"); } @@ -1087,6 +1098,7 @@ public class ModBlocks { GameRegistry.registerBlock(deco_steel, deco_steel.getUnlocalizedName()); GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName()); GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName()); //Gravel GameRegistry.registerBlock(gravel_obsidian, gravel_obsidian.getUnlocalizedName()); @@ -1159,6 +1171,7 @@ public class ModBlocks { GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName()); GameRegistry.registerBlock(nuke_n2, nuke_n2.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_n45, nuke_n45.getUnlocalizedName()); GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName()); //Generic Bombs @@ -1215,6 +1228,7 @@ public class ModBlocks { //Vault Door GameRegistry.registerBlock(vault_door, vault_door.getUnlocalizedName()); + GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); //Crates GameRegistry.registerBlock(crate_iron, crate_iron.getUnlocalizedName()); @@ -1420,6 +1434,7 @@ public class ModBlocks { GameRegistry.registerBlock(dummy_block_reactor_small, dummy_block_reactor_small.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_reactor_small, dummy_port_reactor_small.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_block_blast, dummy_block_blast.getUnlocalizedName()); //Other Technical Blocks GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/NukeN45.java b/com/hbm/blocks/bomb/NukeN45.java new file mode 100644 index 000000000..c20c4b31a --- /dev/null +++ b/com/hbm/blocks/bomb/NukeN45.java @@ -0,0 +1,65 @@ +package com.hbm.blocks.bomb; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityNukeExplosionMK4; +import com.hbm.interfaces.IBomb; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.bomb.TileEntityNukeN2; +import com.hbm.tileentity.bomb.TileEntityNukeN45; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class NukeN45 extends BlockContainer implements IBomb { + + public NukeN45(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeN45(); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_n45); + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public void explode(World world, int x, int y, int z) { + + } +} diff --git a/com/hbm/blocks/machine/BlastDoor.java b/com/hbm/blocks/machine/BlastDoor.java new file mode 100644 index 000000000..070585951 --- /dev/null +++ b/com/hbm/blocks/machine/BlastDoor.java @@ -0,0 +1,116 @@ +package com.hbm.blocks.machine; + +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.IMultiblock; +import com.hbm.items.tool.ItemLock; +import com.hbm.tileentity.machine.TileEntityBlastDoor; +import com.hbm.tileentity.machine.TileEntityVaultDoor; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlastDoor extends BlockContainer implements IBomb, IMultiblock { + + public BlastDoor(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityBlastDoor(); + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public void explode(World world, int x, int y, int z) { + TileEntityBlastDoor entity = (TileEntityBlastDoor) world.getTileEntity(x, y, z); + if(entity != null) + { + if(!entity.isLocked()) { + entity.tryToggle(); + } + } + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemLock) { + return false; + + } if(!player.isSneaking()) { + + TileEntityBlastDoor entity = (TileEntityBlastDoor) world.getTileEntity(x, y, z); + if(entity != null) + { + if(entity.isLocked()) { + if(entity.canAccess(player)) + entity.tryToggle(); + } else { + entity.tryToggle(); + } + } + + return true; + } + + return false; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + TileEntityBlastDoor te = (TileEntityBlastDoor) world.getTileEntity(x, y, z); + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + + //frame + if(!(te.placeDummy(x, y + 1, z) && + te.placeDummy(x, y + 2, z) && + te.placeDummy(x, y + 3, z) && + te.placeDummy(x, y + 4, z) && + te.placeDummy(x, y + 5, z) && + te.placeDummy(x, y + 6, z))) + world.func_147480_a(x, y, z, true); + } + +} diff --git a/com/hbm/blocks/machine/DummyBlockBlast.java b/com/hbm/blocks/machine/DummyBlockBlast.java new file mode 100644 index 000000000..8f51868d8 --- /dev/null +++ b/com/hbm/blocks/machine/DummyBlockBlast.java @@ -0,0 +1,127 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.IDummy; +import com.hbm.items.tool.ItemLock; +import com.hbm.tileentity.machine.TileEntityBlastDoor; +import com.hbm.tileentity.machine.TileEntityDummy; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class DummyBlockBlast extends BlockContainer implements IDummy, IBomb { + + public static boolean safeBreak = false; + + public DummyBlockBlast(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDummy(); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) + { + if(!safeBreak) { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + if(!world.isRemote) + world.func_147480_a(a, b, c, true); + } + } + world.removeTileEntity(x, y, z); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) + { + return Item.getItemFromBlock(ModBlocks.blast_door); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemLock) { + return false; + + } else if(!player.isSneaking()) + { + TileEntity til = world.getTileEntity(x, y, z); + if(til != null && til instanceof TileEntityDummy) { + int a = ((TileEntityDummy)til).targetX; + int b = ((TileEntityDummy)til).targetY; + int c = ((TileEntityDummy)til).targetZ; + + TileEntityBlastDoor entity = (TileEntityBlastDoor) world.getTileEntity(a, b, c); + if(entity != null) + { + if(entity.canAccess(player)) + entity.tryToggle(); + } + } + + return true; + } + + return true; + } + + @Override + public void explode(World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + TileEntityBlastDoor entity = (TileEntityBlastDoor) world.getTileEntity(a, b, c); + if(entity != null && !entity.isLocked()) + { + entity.tryToggle(); + } + } + + } +} diff --git a/com/hbm/blocks/test/TestEventTester.java b/com/hbm/blocks/test/TestEventTester.java index e539f5111..b3a3d98f3 100644 --- a/com/hbm/blocks/test/TestEventTester.java +++ b/com/hbm/blocks/test/TestEventTester.java @@ -14,11 +14,13 @@ import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.projectile.EntityMeteor; import com.hbm.explosion.ExplosionNukeRay; import com.hbm.explosion.ExplosionNukeRay.FloatTriplet; +import com.hbm.lib.HbmChestContents; import com.hbm.main.MainRegistry; import com.hbm.main.ModEventHandler; import com.hbm.potion.HbmPotion; import com.hbm.saveddata.SatelliteSaveStructure; import com.hbm.saveddata.SatelliteSavedData; +import com.hbm.tileentity.machine.TileEntityCrateSteel; import com.hbm.world.Barrel; import com.hbm.world.Meteorite; import com.hbm.world.Sellafield; @@ -37,6 +39,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; +import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.village.VillageCollection; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -277,9 +280,17 @@ public class TestEventTester extends Block { worldObj.playSoundEffect(par2, par3, par4, "hbm:fm.sample", 1.0F, 1.0F); break; }*/ - worldObj.setBlockToAir(par2, par3, par4); + /*worldObj.setBlockToAir(par2, par3, par4); - new Barrel().generate(worldObj, worldObj.rand, par2, par3, par4); + new Barrel().generate(worldObj, worldObj.rand, par2, par3, par4);*/ + + + worldObj.setBlock(par2, par3, par4, ModBlocks.crate_steel, 0, 3); + + if(worldObj.getBlock(par2, par3, par4) == ModBlocks.crate_steel) + { + WeightedRandomChestContent.generateChestContents(worldObj.rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)worldObj.getTileEntity(par2, par3, par4), 32); + } return true; } diff --git a/com/hbm/entity/logic/EntityBomber.java b/com/hbm/entity/logic/EntityBomber.java index 8d68faa24..cede2c94b 100644 --- a/com/hbm/entity/logic/EntityBomber.java +++ b/com/hbm/entity/logic/EntityBomber.java @@ -1,11 +1,15 @@ package com.hbm.entity.logic; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.ModBlocks; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.projectile.EntityBombletZeta; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.deco.TileEntityBomber; import com.hbm.tileentity.machine.TileEntityMachineRadar; @@ -16,9 +20,13 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; +import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; +import net.minecraftforge.common.ForgeChunkManager; +import net.minecraftforge.common.ForgeChunkManager.Ticket; +import net.minecraftforge.common.ForgeChunkManager.Type; -public class EntityBomber extends Entity { +public class EntityBomber extends Entity implements IChunkLoader { int timer = 200; int bombStart = 75; @@ -145,9 +153,11 @@ public class EntityBomber extends Entity { vector.xCoord *= 2; vector.zCoord *= 2; - this.posX = x - vector.xCoord * 100; - this.posY = y + 50; - this.posZ = z - vector.zCoord * 100; + /*this.posX = ; + this.posY = ; + this.posZ = ;*/ + + this.setLocationAndAngles(x - vector.xCoord * 100, y + 50, z - vector.zCoord * 100, 0.0F, 0.0F); this.motionX = vector.xCoord; this.motionZ = vector.zCoord; @@ -264,6 +274,7 @@ public class EntityBomber extends Entity { @Override public void entityInit() { + init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); } @@ -318,7 +329,57 @@ public class EntityBomber extends Entity { @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { - return distance < 25000; + return distance < 500000; + } + + private Ticket loaderTicket; + + public void init(Ticket ticket) { + + if(!worldObj.isRemote) { + + if(ticket != null) { + + if(loaderTicket == null) { + + loaderTicket = ticket; + loaderTicket.bindEntity(this); + loaderTicket.getModData(); + } + + + ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(chunkCoordX, chunkCoordZ)); + } + } + } + + List loadedChunks = new ArrayList(); + + public void loadNeighboringChunks(int newChunkX, int newChunkZ) + { + if(!worldObj.isRemote && loaderTicket != null) + { + for(ChunkCoordIntPair chunk : loadedChunks) + { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + + loadedChunks.clear(); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ + 1)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ - 1)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ - 1)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ + 1)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ + 1)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ - 1)); + + for(ChunkCoordIntPair chunk : loadedChunks) + { + ForgeChunkManager.forceChunk(loaderTicket, chunk); + } + } } } diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index 41ff939a4..7a30b7001 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -744,7 +744,7 @@ public class ExplosionChaos { if(entity instanceof EntityLivingBase && ((EntityLivingBase)entity).isPotionActive(HbmPotion.taint.id)) { ((EntityLivingBase)entity).removePotionEffect(HbmPotion.taint.id); - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(HbmPotion.mutation.id, 1 * 60 * 60 * 20, 0)); + ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(HbmPotion.mutation.id, 1 * 60 * 60 * 20, 0, false)); } else { entity.attackEntityFrom(ModDamageSource.cloud, 3); } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index c380021a2..a86db45e2 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -2444,6 +2444,16 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.bolt_dura_steel, 27)); list.add(new ItemStack(ModItems.motor, 5)); break; + case SLIDING_DOOR: + list.add(new ItemStack(ModItems.ingot_steel, 16)); + list.add(new ItemStack(ModItems.ingot_tungsten, 8)); + list.add(new ItemStack(ModItems.plate_lead, 12)); + list.add(new ItemStack(ModItems.plate_advanced_alloy, 3)); + list.add(new ItemStack(ModItems.plate_polymer, 3)); + list.add(new ItemStack(ModItems.bolt_tungsten, 3)); + list.add(new ItemStack(ModItems.bolt_dura_steel, 3)); + list.add(new ItemStack(ModItems.motor, 1)); + break; case CENTRIFUGE: list.add(new ItemStack(ModItems.centrifuge_tower, 1)); list.add(new ItemStack(ModItems.ingot_steel, 4)); @@ -3819,6 +3829,9 @@ public class MachineRecipes { case BLAST_DOOR: output = new ItemStack(ModBlocks.vault_door, 1); break; + case SLIDING_DOOR: + output = new ItemStack(ModBlocks.blast_door, 1); + break; case CENTRIFUGE: output = new ItemStack(ModBlocks.machine_centrifuge, 1); break; diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index aebcd64c7..a436ba3d3 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -151,6 +151,7 @@ public class ItemAssemblyTemplate extends Item { HATCH_FRAME, HATCH_CONTROLLER, BLAST_DOOR, + SLIDING_DOOR, CENTRIFUGE, BREEDING_REACTOR, RTG_FURNACE, @@ -600,6 +601,8 @@ public class ItemAssemblyTemplate extends Item { return 100; case BLAST_DOOR: return 300; + case SLIDING_DOOR: + return 200; case CENTRIFUGE: return 250; case BREEDING_REACTOR: diff --git a/com/hbm/items/tool/ItemBombCaller.java b/com/hbm/items/tool/ItemBombCaller.java index a21878e89..bd94ff93a 100644 --- a/com/hbm/items/tool/ItemBombCaller.java +++ b/com/hbm/items/tool/ItemBombCaller.java @@ -48,25 +48,36 @@ public class ItemBombCaller extends Item { int y = pos.blockY; int z = pos.blockZ; + boolean b = false; if(!world.isRemote) { - player.addChatMessage(new ChatComponentText("Called in airstrike!")); - world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); if(stack.getItemDamage() == 0) - world.spawnEntityInWorld(EntityBomber.statFacCarpet(world, x, y, z)); + if(world.spawnEntityInWorld(EntityBomber.statFacCarpet(world, x, y, z))) + b = true; if(stack.getItemDamage() == 1) - world.spawnEntityInWorld(EntityBomber.statFacNapalm(world, x, y, z)); + if(world.spawnEntityInWorld(EntityBomber.statFacNapalm(world, x, y, z))) + b = true; if(stack.getItemDamage() == 2) - world.spawnEntityInWorld(EntityBomber.statFacChlorine(world, x, y, z)); + if(world.spawnEntityInWorld(EntityBomber.statFacChlorine(world, x, y, z))) + b = true; if(stack.getItemDamage() == 3) - world.spawnEntityInWorld(EntityBomber.statFacOrange(world, x, y, z)); + if(world.spawnEntityInWorld(EntityBomber.statFacOrange(world, x, y, z))) + b = true; if(stack.getItemDamage() == 4) - world.spawnEntityInWorld(EntityBomber.statFacABomb(world, x, y, z)); + if(world.spawnEntityInWorld(EntityBomber.statFacABomb(world, x, y, z))) + b = true; + + if(b) { + player.addChatMessage(new ChatComponentText("Called in airstrike!")); + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + } else { + world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); + } } - stack.stackSize--; + stack.stackSize -= b ? 1 : 0; return stack; } diff --git a/com/hbm/items/tool/ItemLock.java b/com/hbm/items/tool/ItemLock.java index 6a3d21cdc..bf5981cfc 100644 --- a/com/hbm/items/tool/ItemLock.java +++ b/com/hbm/items/tool/ItemLock.java @@ -25,8 +25,8 @@ public class ItemLock extends ItemKeyPin { if(tile.isLocked()) return false; - tile.lock(); tile.setPins(this.getPins(stack)); + tile.lock(); world.playSoundAtEntity(player, "hbm:block.lockHang", 1.0F, 1.0F); stack.stackSize--; @@ -45,8 +45,8 @@ public class ItemLock extends ItemKeyPin { if(tile.isLocked()) return false; - tile.lock(); tile.setPins(this.getPins(stack)); + tile.lock(); world.playSoundAtEntity(player, "hbm:block.lockHang", 1.0F, 1.0F); stack.stackSize--; diff --git a/com/hbm/lib/HbmChestContents.java b/com/hbm/lib/HbmChestContents.java index 9cf1dba51..b3d15572d 100644 --- a/com/hbm/lib/HbmChestContents.java +++ b/com/hbm/lib/HbmChestContents.java @@ -79,6 +79,8 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.gun_fatman_ammo, 0, 1, 2, 2), new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.grenade_smart, 0, 1, 3, 3), + new WeightedRandomChestContent(ModItems.grenade_mirv, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 3), new WeightedRandomChestContent(ModItems.battery_advanced_cell, 0, 1, 1, 2), @@ -92,10 +94,10 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.canister_fuel, 0, 1, 2, 2), new WeightedRandomChestContent(ModItems.canister_biofuel, 0, 1, 2, 3), new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), - new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 2, 3), - new WeightedRandomChestContent(ModItems.bomb_caller, 1, 1, 2, 2), - new WeightedRandomChestContent(ModItems.bomb_caller, 2, 1, 2, 2), - new WeightedRandomChestContent(ModItems.bomb_caller, 3, 1, 2, 3), + new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 2, 2), + new WeightedRandomChestContent(ModItems.bomb_caller, 1, 1, 2, 1), + new WeightedRandomChestContent(ModItems.bomb_caller, 2, 1, 2, 1), + new WeightedRandomChestContent(ModItems.bomb_caller, 3, 1, 2, 2), new WeightedRandomChestContent(ModItems.bomb_caller, 4, 1, 2, 1) }; private static WeightedRandomChestContent[] nukeTrash = new WeightedRandomChestContent[] { diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 3645d8d4c..0ff6974b4 100644 --- a/com/hbm/lib/RefStrings.java +++ b/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (2893)"; + public static final String VERSION = "1.0.27 BETA (red edition)"; //HBM's Beta Naming Convention: //V T (X-Y-Z) //V -> next release version diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 1f5dd0d1e..2550a8467 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -63,6 +63,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN2.class, new RenderNukeN2()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN45.class, new RenderNukeN45()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHeavy.class, new RenderHeavyTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretRocket.class, new RenderRocketTurret()); @@ -102,6 +103,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineReactorSmall.class, new RenderSmallReactor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVaultDoor.class, new RenderVaultDoor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBlastDoor.class, new RenderBlastDoor()); //RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 7f2fbad57..a4e442770 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -205,6 +205,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeGadget; import com.hbm.tileentity.bomb.TileEntityNukeMan; import com.hbm.tileentity.bomb.TileEntityNukeMike; import com.hbm.tileentity.bomb.TileEntityNukeN2; +import com.hbm.tileentity.bomb.TileEntityNukeN45; import com.hbm.tileentity.bomb.TileEntityNukePrototype; import com.hbm.tileentity.bomb.TileEntityNukeSolinium; import com.hbm.tileentity.bomb.TileEntityNukeTsar; @@ -244,6 +245,7 @@ import com.hbm.tileentity.deco.TileEntityYellowBarrel; import com.hbm.tileentity.machine.TileEntityAMSBase; import com.hbm.tileentity.machine.TileEntityAMSEmitter; import com.hbm.tileentity.machine.TileEntityAMSLimiter; +import com.hbm.tileentity.machine.TileEntityBlastDoor; import com.hbm.tileentity.machine.TileEntityBroadcaster; import com.hbm.tileentity.machine.TileEntityConverterHeRf; import com.hbm.tileentity.machine.TileEntityConverterRfHe; @@ -692,6 +694,8 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityMachineTeleLinker.class, "tileentity_telemetry_linker"); GameRegistry.registerTileEntity(TileEntityMachineKeyForge.class, "tileentity_key_forge"); GameRegistry.registerTileEntity(TileEntitySellafield.class, "tileentity_sellafield_core"); + GameRegistry.registerTileEntity(TileEntityNukeN45.class, "tileentity_n45"); + GameRegistry.registerTileEntity(TileEntityBlastDoor.class, "tileentity_blast_door"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 6d0b9c0d5..19fd98459 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -85,6 +85,11 @@ public class ResourceManager { //Bombs public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ufp.obj")); public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n2.obj")); + public static final IModelCustom n45_globe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n45_globe.obj")); + public static final IModelCustom n45_knob = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n45_knob.obj")); + public static final IModelCustom n45_rod = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n45_rod.obj")); + public static final IModelCustom n45_stand = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n45_stand.obj")); + public static final IModelCustom n45_chain = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n45_chain.obj")); //Cel-Prime public static final IModelCustom cp_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_tower.obj")); @@ -108,6 +113,12 @@ public class ResourceManager { public static final IModelCustom vault_teeth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_teeth.obj")); public static final IModelCustom vault_label = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_label.obj")); + //Blast Door + public static final IModelCustom blast_door_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_base.obj")); + public static final IModelCustom blast_door_tooth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_tooth.obj")); + public static final IModelCustom blast_door_slider = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_slider.obj")); + public static final IModelCustom blast_door_block = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_block.obj")); + ////Textures TEs public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); @@ -177,6 +188,11 @@ public class ResourceManager { //Bombs public static final ResourceLocation bomb_solinium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ufp.png"); public static final ResourceLocation n2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n2.png"); + public static final ResourceLocation n45_globe_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_globe.png"); + public static final ResourceLocation n45_knob_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_knob.png"); + public static final ResourceLocation n45_rod_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_rod.png"); + public static final ResourceLocation n45_stand_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_stand.png"); + public static final ResourceLocation n45_chain_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_chain.png"); //Satellites public static final ResourceLocation sat_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_base.png"); @@ -198,6 +214,12 @@ public class ResourceManager { public static final ResourceLocation vault4_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_cog.png"); public static final ResourceLocation vault4_label_111_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_111.png"); public static final ResourceLocation vault4_label_81_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_81.png"); + + //Blast Door + public static final ResourceLocation blast_door_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_base.png"); + public static final ResourceLocation blast_door_tooth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_tooth.png"); + public static final ResourceLocation blast_door_slider_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_slider.png"); + public static final ResourceLocation blast_door_block_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_block.png"); diff --git a/com/hbm/packet/TEVaultPacket.java b/com/hbm/packet/TEVaultPacket.java index 95b1692a1..f87cf327e 100644 --- a/com/hbm/packet/TEVaultPacket.java +++ b/com/hbm/packet/TEVaultPacket.java @@ -1,5 +1,6 @@ package com.hbm.packet; +import com.hbm.tileentity.machine.TileEntityBlastDoor; import com.hbm.tileentity.machine.TileEntityMachineRadar; import com.hbm.tileentity.machine.TileEntityVaultDoor; @@ -75,6 +76,15 @@ public class TEVaultPacket implements IMessage { vault.sysTime = System.currentTimeMillis(); vault.type = m.type; } + + if (te != null && te instanceof TileEntityBlastDoor) { + + TileEntityBlastDoor vault = (TileEntityBlastDoor) te; + vault.isOpening = m.isOpening; + vault.state = m.state; + if(m.sysTime == 1) + vault.sysTime = System.currentTimeMillis(); + } } catch (Exception x) { } return null; diff --git a/com/hbm/render/tileentity/RenderBlastDoor.java b/com/hbm/render/tileentity/RenderBlastDoor.java new file mode 100644 index 000000000..cc92a6642 --- /dev/null +++ b/com/hbm/render/tileentity/RenderBlastDoor.java @@ -0,0 +1,85 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.machine.TileEntityBlastDoor; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderBlastDoor extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + renderDoor((TileEntityBlastDoor)tileEntity, x, y, z, f); + } + + public void renderDoor(TileEntityBlastDoor tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + double timer; + + if(tileEntity.getBlockMetadata() == 2) + GL11.glRotatef(90, 0F, 1F, 0F); + + if(tileEntity.state == 0) + timer = getAnimationFromSysTime(5000); + else if(tileEntity.state == 2) + timer = 0; + else if(tileEntity.isOpening) + timer = getAnimationFromSysTime(tileEntity.sysTime + 5000 - System.currentTimeMillis()); + else + timer = getAnimationFromSysTime(System.currentTimeMillis() - tileEntity.sysTime); + + bindTexture(ResourceManager.blast_door_base_tex); + ResourceManager.blast_door_base.renderAll(); + + GL11.glTranslated(0, 3, 0); + bindTexture(ResourceManager.blast_door_block_tex); + ResourceManager.blast_door_block.renderAll(); + + GL11.glTranslated(0, -timer, 0); + + GL11.glTranslated(0, 2, 0); + bindTexture(ResourceManager.blast_door_tooth_tex); + ResourceManager.blast_door_tooth.renderAll(); + + if(timer > 1D) { + bindTexture(ResourceManager.blast_door_slider_tex); + ResourceManager.blast_door_slider.renderAll(); + } + if(timer > 2D) { + GL11.glTranslated(0, 1, 0); + bindTexture(ResourceManager.blast_door_slider_tex); + ResourceManager.blast_door_slider.renderAll(); + } + if(timer > 3D) { + GL11.glTranslated(0, 1, 0); + bindTexture(ResourceManager.blast_door_slider_tex); + ResourceManager.blast_door_slider.renderAll(); + } + if(timer > 4D) { + GL11.glTranslated(0, 1, 0); + bindTexture(ResourceManager.blast_door_slider_tex); + ResourceManager.blast_door_slider.renderAll(); + } + + GL11.glPopMatrix(); + } + + private static double getAnimationFromSysTime(long time) { + + double duration = 5000D; + double extend = 5.0D; + + return Math.max(Math.min(time, duration) / duration * extend, 0.0D); + } +} diff --git a/com/hbm/render/tileentity/RenderNukeN45.java b/com/hbm/render/tileentity/RenderNukeN45.java new file mode 100644 index 000000000..37cc5eecc --- /dev/null +++ b/com/hbm/render/tileentity/RenderNukeN45.java @@ -0,0 +1,109 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderNukeN45 extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + boolean standing = tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord - 1, tileEntity.zCoord).isNormalCube(); + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.universal); + + GL11.glPushMatrix(); + + //GL11.glScaled(2.0D, 2.0D, 2.0D); + + if(standing) { + ResourceManager.n45_stand.renderAll(); + } + + double d = /*0;*/ Math.sin((System.currentTimeMillis() % (1000* Math.PI)) / 500D) * 0.175 + 0.175; + + GL11.glTranslated(0, standing ? 1D : 0.5D, 0); + + ResourceManager.n45_globe.renderAll(); + + GL11.glRotated(90, 1, 0, 0); + + for(int i = 0; i < 8; i++) { + ResourceManager.n45_knob.renderAll(); + GL11.glTranslated(0, -d, 0); + ResourceManager.n45_rod.renderAll(); + GL11.glTranslated(0, d, 0); + GL11.glRotated(45, 0, 0, 1); + } + + GL11.glRotated(45, 0, 0, 1); + + for(int i = 0; i < 4; i++) { + GL11.glRotated(-45, 1, 0, 0); + ResourceManager.n45_knob.renderAll(); + GL11.glTranslated(0, -d, 0); + ResourceManager.n45_rod.renderAll(); + GL11.glTranslated(0, d, 0); + GL11.glRotated(45, 1, 0, 0); + GL11.glRotated(90, 0, 0, 1); + } + + GL11.glRotated(-90, 0, 0, 1); + + for(int i = 0; i < 4; i++) { + GL11.glRotated(45, 1, 0, 0); + ResourceManager.n45_knob.renderAll(); + GL11.glTranslated(0, -d, 0); + ResourceManager.n45_rod.renderAll(); + GL11.glTranslated(0, d, 0); + GL11.glRotated(-45, 1, 0, 0); + GL11.glRotated(90, 0, 0, 1); + } + + GL11.glRotated(45, 0, 0, 1); + GL11.glRotated(-90, 1, 0, 0); + + ResourceManager.n45_knob.renderAll(); + GL11.glTranslated(0, -d, 0); + ResourceManager.n45_rod.renderAll(); + GL11.glTranslated(0, d, 0); + + if(!standing) { + int depth = 0; + + for(int i = 0; i < 51; i++) { + + if(!tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord - i - 1, tileEntity.zCoord).isNormalCube()) { + depth++; + } else { + break; + } + } + + if(depth != 0 && depth < 51) { + + GL11.glTranslated(0, -1D, 0); + + for(int i = 0; i < depth + 1; i++) { + + ResourceManager.n45_chain.renderAll(); + GL11.glTranslated(0, -1, 0); + } + } + } + + GL11.glPopMatrix(); + + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/tileentity/bomb/TileEntityNukeN45.java b/com/hbm/tileentity/bomb/TileEntityNukeN45.java new file mode 100644 index 000000000..5478f8d11 --- /dev/null +++ b/com/hbm/tileentity/bomb/TileEntityNukeN45.java @@ -0,0 +1,22 @@ +package com.hbm.tileentity.bomb; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeN45 extends TileEntity { + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityBlastDoor.java b/com/hbm/tileentity/machine/TileEntityBlastDoor.java new file mode 100644 index 000000000..5dc4807d4 --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityBlastDoor.java @@ -0,0 +1,319 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.DummyBlockBlast; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.TEVaultPacket; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityBlastDoor extends TileEntityLockableBase { + + public boolean isOpening = false; + //0: closed, 1: opening/closing, 2:open + public int state = 0; + public long sysTime; + private int timer = 0; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(state != 1) { + timer = 0; + } else { + timer++; + + if(isOpening) { + if(timer >= 0) { + removeDummy(xCoord, yCoord + 1, zCoord); + } + if(timer >= 20) { + removeDummy(xCoord, yCoord + 2, zCoord); + } + if(timer >= 40) { + removeDummy(xCoord, yCoord + 3, zCoord); + } + if(timer >= 60) { + removeDummy(xCoord, yCoord + 4, zCoord); + } + if(timer >= 80) { + removeDummy(xCoord, yCoord + 5, zCoord); + } + } else { + if(timer >= 20) { + placeDummy(xCoord, yCoord + 5, zCoord); + } + if(timer >= 40) { + placeDummy(xCoord, yCoord + 4, zCoord); + } + if(timer >= 60) { + placeDummy(xCoord, yCoord + 3, zCoord); + } + if(timer >= 80) { + placeDummy(xCoord, yCoord + 2, zCoord); + } + if(timer >= 100) { + placeDummy(xCoord, yCoord + 1, zCoord); + } + } + + if(timer >= 100) { + + if(isOpening) + finishOpen(); + else + finishClose(); + } + } + + PacketDispatcher.wrapper.sendToAll(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 0, 0)); + } + } + + public void open() { + if(state == 0) { + PacketDispatcher.wrapper.sendToAll(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 1, 0)); + isOpening = true; + state = 1; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStart", 0.5F, + 0.75F); + } + } + + public void finishOpen() { + state = 2; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStop", 0.5F, + 1.0F); + } + + public void close() { + if(state == 2) { + PacketDispatcher.wrapper.sendToAll(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 1, 0)); + isOpening = false; + state = 1; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStart", 0.5F, + 0.75F); + } + } + + public void finishClose() { + state = 0; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStop", 0.5F, + 1.0F); + } + + public void openNeigh() { + + TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + if(te0 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te0).canOpen() && (!((TileEntityBlastDoor)te0).isLocked() || ((TileEntityBlastDoor)te0).lock == lock)) { + ((TileEntityBlastDoor)te0).open(); + ((TileEntityBlastDoor)te0).openNeigh(); + } + } + + if(te1 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te1).canOpen() && (!((TileEntityBlastDoor)te1).isLocked() || ((TileEntityBlastDoor)te1).lock == lock)) { + ((TileEntityBlastDoor)te1).open(); + ((TileEntityBlastDoor)te1).openNeigh(); + } + } + + if(te2 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te2).canOpen() && (!((TileEntityBlastDoor)te2).isLocked() || ((TileEntityBlastDoor)te2).lock == lock)) { + ((TileEntityBlastDoor)te2).open(); + ((TileEntityBlastDoor)te2).openNeigh(); + } + } + + if(te3 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te3).canOpen() && (!((TileEntityBlastDoor)te3).isLocked() || ((TileEntityBlastDoor)te3).lock == lock)) { + ((TileEntityBlastDoor)te3).open(); + ((TileEntityBlastDoor)te3).openNeigh(); + } + } + } + + @Override + public void lock() { + super.lock(); + lockNeigh(); + } + + public void closeNeigh() { + + TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + if(te0 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te0).canClose() && (!((TileEntityBlastDoor)te0).isLocked() || ((TileEntityBlastDoor)te0).lock == lock)) { + ((TileEntityBlastDoor)te0).close(); + ((TileEntityBlastDoor)te0).closeNeigh(); + } + } + + if(te1 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te1).canClose() && (!((TileEntityBlastDoor)te1).isLocked() || ((TileEntityBlastDoor)te1).lock == lock)) { + ((TileEntityBlastDoor)te1).close(); + ((TileEntityBlastDoor)te1).closeNeigh(); + } + } + + if(te2 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te2).canClose() && (!((TileEntityBlastDoor)te2).isLocked() || ((TileEntityBlastDoor)te2).lock == lock)) { + ((TileEntityBlastDoor)te2).close(); + ((TileEntityBlastDoor)te2).closeNeigh(); + } + } + + if(te3 instanceof TileEntityBlastDoor) { + + if(((TileEntityBlastDoor)te3).canClose() && (!((TileEntityBlastDoor)te3).isLocked() || ((TileEntityBlastDoor)te3).lock == lock)) { + ((TileEntityBlastDoor)te3).close(); + ((TileEntityBlastDoor)te3).closeNeigh(); + } + } + } + + public void lockNeigh() { + + TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + if(te0 instanceof TileEntityBlastDoor) { + + if(!((TileEntityBlastDoor)te0).isLocked()) { + ((TileEntityBlastDoor)te0).setPins(this.lock); + ((TileEntityBlastDoor)te0).lock(); + } + } + + if(te1 instanceof TileEntityBlastDoor) { + + if(!((TileEntityBlastDoor)te1).isLocked()) { + ((TileEntityBlastDoor)te1).setPins(this.lock); + ((TileEntityBlastDoor)te1).lock(); + } + } + + if(te2 instanceof TileEntityBlastDoor) { + + if(!((TileEntityBlastDoor)te2).isLocked()) { + ((TileEntityBlastDoor)te2).setPins(this.lock); + ((TileEntityBlastDoor)te2).lock(); + } + } + + if(te3 instanceof TileEntityBlastDoor) { + + if(!((TileEntityBlastDoor)te3).isLocked()) { + ((TileEntityBlastDoor)te3).setPins(this.lock); + ((TileEntityBlastDoor)te3).lock(); + } + } + } + + public boolean canOpen() { + return state == 0; + } + + public boolean canClose() { + return state == 2; + } + + public void tryToggle() { + + if(canOpen()) { + open(); + openNeigh(); + } else if(canClose()) { + close(); + closeNeigh(); + } + } + + public boolean placeDummy(int x, int y, int z) { + + if(!worldObj.getBlock(x, y, z).isReplaceable(worldObj, x, y, z)) + return false; + + worldObj.setBlock(x, y, z, ModBlocks.dummy_block_blast); + + TileEntity te = worldObj.getTileEntity(x, y, z); + + if(te instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te; + dummy.targetX = xCoord; + dummy.targetY = yCoord; + dummy.targetZ = zCoord; + } + + return true; + } + + public void removeDummy(int x, int y, int z) { + + if(worldObj.getBlock(x, y, z) == ModBlocks.dummy_block_blast) { + DummyBlockBlast.safeBreak = true; + worldObj.setBlock(x, y, z, Blocks.air); + DummyBlockBlast.safeBreak = false; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + isOpening = nbt.getBoolean("isOpening"); + state = nbt.getInteger("state"); + sysTime = nbt.getLong("sysTime"); + timer = nbt.getInteger("timer"); + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setBoolean("isOpening", isOpening); + nbt.setInteger("state", state); + nbt.setLong("sysTime", sysTime); + nbt.setInteger("timer", timer); + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityLockableBase.java b/com/hbm/tileentity/machine/TileEntityLockableBase.java index 9762f1e9f..7bf0311b8 100644 --- a/com/hbm/tileentity/machine/TileEntityLockableBase.java +++ b/com/hbm/tileentity/machine/TileEntityLockableBase.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemKey; +import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,7 +12,7 @@ import net.minecraft.tileentity.TileEntity; public abstract class TileEntityLockableBase extends TileEntity { - private int lock; + protected int lock; private boolean isLocked = false; public boolean isLocked() { @@ -19,6 +20,11 @@ public abstract class TileEntityLockableBase extends TileEntity { } public void lock() { + + if(lock == 0) { + MainRegistry.logger.error("A block has been set to locked state before setting pins, this should not happen and may cause errors! " + this.toString()); + } + isLocked = true; } diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index b3d019412..1213ecca6 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -113,7 +113,6 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { public void finishOpen() { state = 2; - //play sound } public void close() { @@ -128,7 +127,6 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { public void finishClose() { state = 0; - //play sound } public boolean canOpen() { diff --git a/com/hbm/world/Barrel.java b/com/hbm/world/Barrel.java index 0c56f522c..b95ce300c 100644 --- a/com/hbm/world/Barrel.java +++ b/com/hbm/world/Barrel.java @@ -158,7 +158,7 @@ public class Barrel extends WorldGenerator { if(world.getBlock(x + 2, y + 1, z + 2) == ModBlocks.crate_steel) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 32); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16); } world.setBlock(x + 3, y + 1, z + 2, Block4, 0, 3);