From 8ad90041795fe1617ce0d594ac33251461dbae75 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 13 Mar 2023 22:27:50 +0100 Subject: [PATCH] wobbly autosaw engine, tintable icons that don't suck ass --- .../com/hbm/blocks/turret/TurretBrandon.java | 3 - .../com/hbm/blocks/turret/TurretChekhov.java | 26 +- .../com/hbm/blocks/turret/TurretFriendly.java | 26 +- .../com/hbm/blocks/turret/TurretHoward.java | 29 +- .../blocks/turret/TurretHowardDamaged.java | 26 +- .../com/hbm/blocks/turret/TurretJeremy.java | 26 +- .../com/hbm/blocks/turret/TurretMaxwell.java | 3 - .../com/hbm/blocks/turret/TurretRichard.java | 26 +- .../com/hbm/blocks/turret/TurretTauon.java | 26 +- src/main/java/com/hbm/items/ModItems.java | 152 --- .../com/hbm/items/special/ItemAutogen.java | 15 +- .../java/com/hbm/render/icon/RGBMutator.java | 2 +- .../render/icon/RGBMutatorMultiplicative.java | 72 ++ .../icon/TextureAtlasSpriteMutatable.java | 8 +- .../hbm/render/tileentity/RenderAutosaw.java | 11 +- .../assets/hbm/models/machines/autosaw.obj | 1152 +++++++++-------- 16 files changed, 689 insertions(+), 914 deletions(-) create mode 100644 src/main/java/com/hbm/render/icon/RGBMutatorMultiplicative.java diff --git a/src/main/java/com/hbm/blocks/turret/TurretBrandon.java b/src/main/java/com/hbm/blocks/turret/TurretBrandon.java index 29518386a..2c2029063 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretBrandon.java +++ b/src/main/java/com/hbm/blocks/turret/TurretBrandon.java @@ -1,12 +1,9 @@ package com.hbm.blocks.turret; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretBrandon; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; diff --git a/src/main/java/com/hbm/blocks/turret/TurretChekhov.java b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java index a564148bb..7bee96f57 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretChekhov.java +++ b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretChekhov; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretChekhov extends BlockDummyable { +public class TurretChekhov extends TurretBaseNT { public TurretChekhov(Material mat) { super(mat); @@ -24,25 +21,4 @@ public class TurretChekhov extends BlockDummyable { return new TileEntityProxyCombo().inventory().power(); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretFriendly.java b/src/main/java/com/hbm/blocks/turret/TurretFriendly.java index db9a51f44..0e802c263 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretFriendly.java +++ b/src/main/java/com/hbm/blocks/turret/TurretFriendly.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretFriendly; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretFriendly extends BlockDummyable { +public class TurretFriendly extends TurretBaseNT { public TurretFriendly(Material mat) { super(mat); @@ -23,25 +20,4 @@ public class TurretFriendly extends BlockDummyable { return new TileEntityTurretFriendly(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretHoward.java b/src/main/java/com/hbm/blocks/turret/TurretHoward.java index 24ca9dfb8..b23c8ab86 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretHoward.java +++ b/src/main/java/com/hbm/blocks/turret/TurretHoward.java @@ -1,19 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretHoward; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretHoward extends BlockDummyable { +public class TurretHoward extends TurretBaseNT { public TurretHoward(Material mat) { super(mat); @@ -26,25 +20,4 @@ public class TurretHoward extends BlockDummyable { return new TileEntityTurretHoward(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java b/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java index 236194b49..6a58f5da6 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java +++ b/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.turret.TileEntityTurretHowardDamaged; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretHowardDamaged extends BlockDummyable { +public class TurretHowardDamaged extends TurretBaseNT { public TurretHowardDamaged(Material mat) { super(mat); @@ -23,27 +20,6 @@ public class TurretHowardDamaged extends BlockDummyable { return new TileEntityTurretHowardDamaged(); return null; } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { diff --git a/src/main/java/com/hbm/blocks/turret/TurretJeremy.java b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java index 68dadbdfd..cba729b5f 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretJeremy.java +++ b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretJeremy; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretJeremy extends BlockDummyable { +public class TurretJeremy extends TurretBaseNT { public TurretJeremy(Material mat) { super(mat); @@ -23,25 +20,4 @@ public class TurretJeremy extends BlockDummyable { return new TileEntityTurretJeremy(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java b/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java index 7cd63716f..6dcc88f3b 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java +++ b/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java @@ -1,12 +1,9 @@ package com.hbm.blocks.turret; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretMaxwell; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; diff --git a/src/main/java/com/hbm/blocks/turret/TurretRichard.java b/src/main/java/com/hbm/blocks/turret/TurretRichard.java index 0ced65b81..fe46fbcea 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretRichard.java +++ b/src/main/java/com/hbm/blocks/turret/TurretRichard.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretRichard; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretRichard extends BlockDummyable { +public class TurretRichard extends TurretBaseNT { public TurretRichard(Material mat) { super(mat); @@ -23,25 +20,4 @@ public class TurretRichard extends BlockDummyable { return new TileEntityTurretRichard(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretTauon.java b/src/main/java/com/hbm/blocks/turret/TurretTauon.java index e9e7a17e4..2f6e9005e 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretTauon.java +++ b/src/main/java/com/hbm/blocks/turret/TurretTauon.java @@ -1,16 +1,13 @@ package com.hbm.blocks.turret; -import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretTauon; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class TurretTauon extends BlockDummyable { +public class TurretTauon extends TurretBaseNT { public TurretTauon(Material mat) { super(mat); @@ -23,25 +20,4 @@ public class TurretTauon extends BlockDummyable { return new TileEntityTurretTauon(); return new TileEntityProxyCombo(true, true, false); } - - @Override - public int[] getDimensions() { - return new int[] { 0, 0, 1, 0, 1, 0 }; - } - - @Override - public int getOffset() { - return 0; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index d34a0e563..c4264edcd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4285,163 +4285,11 @@ public class ModItems { ammo_stinger_rocket = new ItemAmmo(AmmoStinger.class).setUnlocalizedName("ammo_stinger_rocket"); ammo_luna_sniper = new ItemAmmo(AmmoLunaticSniper.class).setUnlocalizedName("ammo_luna_sniper"); ammo_misc = new ItemAmmo(AmmoMisc.class).setUnlocalizedName("ammo_misc"); - - /*ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge"); - ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary"); - ammo_12gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_12gauge_shrapnel"); - ammo_12gauge_du = new ItemAmmo().setUnlocalizedName("ammo_12gauge_du"); - ammo_12gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_12gauge_sleek"); - ammo_12gauge_marauder = new ItemAmmo().setUnlocalizedName("ammo_12gauge_marauder"); - ammo_20gauge = new ItemAmmo().setUnlocalizedName("ammo_20gauge"); - ammo_20gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_20gauge_slug"); - ammo_20gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_20gauge_flechette"); - ammo_20gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_20gauge_incendiary"); - ammo_20gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shrapnel"); - ammo_20gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_20gauge_explosive"); - ammo_20gauge_caustic = new ItemAmmo().setUnlocalizedName("ammo_20gauge_caustic"); - ammo_20gauge_shock = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shock"); - ammo_20gauge_wither = new ItemAmmo().setUnlocalizedName("ammo_20gauge_wither"); - ammo_20gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_20gauge_sleek"); - ammo_4gauge = new ItemAmmo().setUnlocalizedName("ammo_4gauge"); - ammo_4gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_4gauge_slug"); - ammo_4gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette"); - ammo_4gauge_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette_phosphorus"); - ammo_4gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_4gauge_explosive"); - ammo_4gauge_semtex = new ItemAmmo().setUnlocalizedName("ammo_4gauge_semtex"); - ammo_4gauge_balefire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_balefire"); - ammo_4gauge_kampf = new ItemAmmo().setUnlocalizedName("ammo_4gauge_kampf"); - ammo_4gauge_canister = new ItemAmmo().setUnlocalizedName("ammo_4gauge_canister"); - ammo_4gauge_claw = new ItemAmmo().setUnlocalizedName("ammo_4gauge_claw"); - ammo_4gauge_vampire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_vampire"); - ammo_4gauge_void = new ItemAmmo().setUnlocalizedName("ammo_4gauge_void"); - ammo_4gauge_titan = new ItemAmmo().setUnlocalizedName("ammo_4gauge_titan"); - ammo_4gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_4gauge_sleek"); - ammo_5mm = new ItemAmmo().setUnlocalizedName("ammo_5mm"); - ammo_5mm_explosive = new ItemAmmo().setUnlocalizedName("ammo_5mm_explosive"); - ammo_5mm_du = new ItemAmmo().setUnlocalizedName("ammo_5mm_du"); - ammo_5mm_star = new ItemAmmo().setUnlocalizedName("ammo_5mm_star"); - ammo_5mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_5mm_chlorophyte"); - ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm"); - ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap"); - ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du"); - ammo_9mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_9mm_chlorophyte"); - ammo_9mm_rocket = new ItemAmmo().setUnlocalizedName("ammo_9mm_rocket"); - ammo_556 = new ItemAmmo().setUnlocalizedName("ammo_556"); - ammo_556_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_phosphorus"); - ammo_556_ap = new ItemAmmo().setUnlocalizedName("ammo_556_ap"); - ammo_556_du = new ItemAmmo().setUnlocalizedName("ammo_556_du"); - ammo_556_star = new ItemAmmo().setUnlocalizedName("ammo_556_star"); - ammo_556_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_chlorophyte"); - ammo_556_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_sleek"); - ammo_556_tracer = new ItemAmmo().setUnlocalizedName("ammo_556_tracer"); - ammo_556_flechette = new ItemAmmo().setUnlocalizedName("ammo_556_flechette"); - ammo_556_flechette_incendiary = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_incendiary"); - ammo_556_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_phosphorus"); - ammo_556_flechette_du = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_du"); - ammo_556_flechette_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_chlorophyte"); - ammo_556_flechette_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_sleek"); - ammo_556_k = new ItemAmmo().setUnlocalizedName("ammo_556_k"); - ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae"); - ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap"); - ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du"); - ammo_50ae_star = new ItemAmmo().setUnlocalizedName("ammo_50ae_star"); - ammo_50ae_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50ae_chlorophyte"); - ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg"); - ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary"); - ammo_50bmg_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_50bmg_phosphorus"); - ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive"); - ammo_50bmg_ap = new ItemAmmo().setUnlocalizedName("ammo_50bmg_ap"); - ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du"); - ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star"); - ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte"); - ammo_50bmg_flechette = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette"); - ammo_50bmg_flechette_am = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_am"); - ammo_50bmg_flechette_po = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_po"); - ammo_50bmg_sleek = new ItemAmmo().setUnlocalizedName("ammo_50bmg_sleek"); - ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt"); - ammo_75bolt_incendiary = new ItemAmmo().setUnlocalizedName("ammo_75bolt_incendiary"); - ammo_75bolt_he = new ItemAmmo().setUnlocalizedName("ammo_75bolt_he"); - ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh"); - ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44"); - ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap"); - ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du"); - ammo_44_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_44_phosphorus"); - ammo_44_star = new ItemAmmo().setUnlocalizedName("ammo_44_star"); - ammo_44_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_44_chlorophyte"); - ammo_44_pip = new ItemAmmo().setUnlocalizedName("ammo_44_pip"); - ammo_44_bj = new ItemAmmo().setUnlocalizedName("ammo_44_bj"); - ammo_44_silver = new ItemAmmo().setUnlocalizedName("ammo_44_silver"); - ammo_44_rocket = new ItemAmmo().setUnlocalizedName("ammo_44_rocket"); - ammo_22lr = new ItemAmmo().setUnlocalizedName("ammo_22lr"); - ammo_22lr_ap = new ItemAmmo().setUnlocalizedName("ammo_22lr_ap"); - ammo_22lr_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_22lr_chlorophyte"); - ammo_folly = new ItemAmmo().setUnlocalizedName("ammo_folly"); - ammo_folly_nuclear = new ItemAmmo().setUnlocalizedName("ammo_folly_nuclear"); - ammo_folly_du = new ItemAmmo().setUnlocalizedName("ammo_folly_du"); - ammo_rocket = new ItemAmmo().setUnlocalizedName("ammo_rocket"); - ammo_rocket_he = new ItemAmmo().setUnlocalizedName("ammo_rocket_he"); - ammo_rocket_incendiary = new ItemAmmo().setUnlocalizedName("ammo_rocket_incendiary"); - ammo_rocket_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_rocket_phosphorus"); - ammo_rocket_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_rocket_shrapnel"); - ammo_rocket_emp = new ItemAmmo().setUnlocalizedName("ammo_rocket_emp"); - ammo_rocket_glare = new ItemAmmo().setUnlocalizedName("ammo_rocket_glare"); - ammo_rocket_toxic = new ItemAmmo().setUnlocalizedName("ammo_rocket_toxic"); - ammo_rocket_canister = new ItemAmmo().setUnlocalizedName("ammo_rocket_canister"); - ammo_rocket_sleek = new ItemAmmo().setUnlocalizedName("ammo_rocket_sleek"); - ammo_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_rocket_nuclear"); - ammo_rocket_rpc = new ItemAmmo().setUnlocalizedName("ammo_rocket_rpc"); - ammo_rocket_digamma = new ItemAmmo().setUnlocalizedName("ammo_rocket_digamma"); - ammo_grenade = new ItemAmmo().setUnlocalizedName("ammo_grenade"); - ammo_grenade_he = new ItemAmmo().setUnlocalizedName("ammo_grenade_he"); - ammo_grenade_incendiary = new ItemAmmo().setUnlocalizedName("ammo_grenade_incendiary"); - ammo_grenade_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_grenade_phosphorus"); - ammo_grenade_toxic = new ItemAmmo().setUnlocalizedName("ammo_grenade_toxic"); - ammo_grenade_concussion = new ItemAmmo().setUnlocalizedName("ammo_grenade_concussion"); - ammo_grenade_finned = new ItemAmmo().setUnlocalizedName("ammo_grenade_finned"); - ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek"); - ammo_grenade_nuclear = new ItemAmmo().setUnlocalizedName("ammo_grenade_nuclear"); - ammo_grenade_tracer = new ItemAmmo().setUnlocalizedName("ammo_grenade_tracer"); - ammo_grenade_kampf = new ItemAmmo().setUnlocalizedName("ammo_grenade_kampf"); - ammo_shell = new ItemAmmo().setUnlocalizedName("ammo_shell"); - ammo_shell_explosive = new ItemAmmo().setUnlocalizedName("ammo_shell_explosive"); - ammo_shell_apfsds_t = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_t"); - ammo_shell_apfsds_du = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_du"); - ammo_shell_w9 = new ItemAmmo().setUnlocalizedName("ammo_shell_w9");*/ ammo_folly = new ItemCustomLore().setUnlocalizedName("ammo_folly"); ammo_folly_nuclear = new ItemCustomLore().setUnlocalizedName("ammo_folly_nuclear"); ammo_folly_du = new ItemCustomLore().setUnlocalizedName("ammo_folly_du"); - //ammo_dgk = new ItemCustomLore().setUnlocalizedName("ammo_dgk"); ammo_arty = new ItemAmmoArty().setUnlocalizedName("ammo_arty"); ammo_himars = new ItemAmmoHIMARS().setUnlocalizedName("ammo_himars"); - /*ammo_nuke = new ItemAmmo().setUnlocalizedName("ammo_nuke"); - ammo_nuke_low = new ItemAmmo().setUnlocalizedName("ammo_nuke_low"); - ammo_nuke_high = new ItemAmmo().setUnlocalizedName("ammo_nuke_high"); - ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots"); - ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe"); - ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin"); - ammo_nuke_barrel = new ItemAmmo().setUnlocalizedName("ammo_nuke_barrel"); - ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv"); - ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low"); - ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high"); - ammo_mirv_safe = new ItemAmmo().setUnlocalizedName("ammo_mirv_safe"); - ammo_mirv_special = new ItemAmmo().setUnlocalizedName("ammo_mirv_special").setCreativeTab(null); - ammo_fuel = new ItemAmmo().setUnlocalizedName("ammo_fuel"); - ammo_fuel_napalm = new ItemAmmo().setUnlocalizedName("ammo_fuel_napalm"); - ammo_fuel_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_fuel_phosphorus"); - ammo_fuel_vaporizer = new ItemAmmo().setUnlocalizedName("ammo_fuel_vaporizer"); - ammo_fuel_gas = new ItemAmmo().setUnlocalizedName("ammo_fuel_gas"); - ammo_fireext = new ItemAmmo().setUnlocalizedName("ammo_fireext"); - ammo_fireext_foam = new ItemAmmo().setUnlocalizedName("ammo_fireext_foam"); - ammo_fireext_sand = new ItemAmmo().setUnlocalizedName("ammo_fireext_sand"); - ammo_cell = new ItemAmmo().setUnlocalizedName("ammo_cell"); - ammo_dart = new ItemAmmo().setUnlocalizedName("ammo_dart"); - ammo_dart_nuclear = new ItemAmmo().setUnlocalizedName("ammo_dart_nuclear"); - ammo_dart_nerf = new ItemAmmo().setUnlocalizedName("ammo_dart_nerf"); - ammo_stinger_rocket = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket"); - ammo_stinger_rocket_he = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_he"); - ammo_stinger_rocket_incendiary = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_incendiary"); - ammo_stinger_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_nuclear"); - ammo_stinger_rocket_bones = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_bones");*/ gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); diff --git a/src/main/java/com/hbm/items/special/ItemAutogen.java b/src/main/java/com/hbm/items/special/ItemAutogen.java index c33588773..8646e201a 100644 --- a/src/main/java/com/hbm/items/special/ItemAutogen.java +++ b/src/main/java/com/hbm/items/special/ItemAutogen.java @@ -7,12 +7,16 @@ import java.util.Map.Entry; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; +import com.hbm.items.tool.ItemColtanCompass.TextureColtass; import com.hbm.lib.RefStrings; +import com.hbm.render.icon.RGBMutatorMultiplicative; +import com.hbm.render.icon.TextureAtlasSpriteMutatable; import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -41,6 +45,15 @@ public class ItemAutogen extends Item { public void registerIcons(IIconRegister reg) { super.registerIcons(reg); + /*if(reg instanceof TextureMap) { + TextureMap map = (TextureMap) reg; + TextureAtlasSpriteMutatable jumpstart_my_shart = new TextureAtlasSpriteMutatable(this.getIconString(), new RGBMutatorMultiplicative(0xff0000)); + map.setTextureEntry(this.getIconString(), jumpstart_my_shart); + this.itemIcon = jumpstart_my_shart; + } else { + this.itemIcon = reg.registerIcon(this.getIconString()); + }*/ + for(Entry tex : textureOverrides.entrySet()) { iconOverrides.put(tex.getKey(), reg.registerIcon(RefStrings.MODID + ":" + tex.getValue())); } @@ -84,7 +97,7 @@ public class ItemAutogen extends Item { NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); if(mat != null) { - return mat.solidColor; + //return mat.solidColor; } return 0xffffff; diff --git a/src/main/java/com/hbm/render/icon/RGBMutator.java b/src/main/java/com/hbm/render/icon/RGBMutator.java index 817628529..403ebb558 100644 --- a/src/main/java/com/hbm/render/icon/RGBMutator.java +++ b/src/main/java/com/hbm/render/icon/RGBMutator.java @@ -4,5 +4,5 @@ import java.awt.image.BufferedImage; public interface RGBMutator { - public void mutate(BufferedImage image); + public void mutate(BufferedImage image, int frame, int frameCount); } diff --git a/src/main/java/com/hbm/render/icon/RGBMutatorMultiplicative.java b/src/main/java/com/hbm/render/icon/RGBMutatorMultiplicative.java new file mode 100644 index 000000000..4a111bd45 --- /dev/null +++ b/src/main/java/com/hbm/render/icon/RGBMutatorMultiplicative.java @@ -0,0 +1,72 @@ +package com.hbm.render.icon; + +import java.awt.image.BufferedImage; + +public class RGBMutatorMultiplicative implements RGBMutator { + + int color; + + public RGBMutatorMultiplicative(int color) { + this.color = color; + } + + @Override + public void mutate(BufferedImage image, int frame, int frameCount) { + + for(int x = 0; x < image.getWidth(); x++) { + for(int y = 0; y < image.getHeight(); y++) { + + int pix = image.getRGB(x, y); + int boundLighter = 0xffffff; + int lighter = 0xFFEE3F; + int boundDarker = 0x505050; + int darker = 0xC0471F; + + int rgb = shiftColor(boundLighter, boundDarker, lighter, darker, pix); + image.setRGB(x, y, rgb); + } + } + } + + private static int shiftColor(int boundLighter, int boundDarker, int lighter, int darker, int pix) { + + int a = (pix & 0xff000000) >> 24; + int r = (pix & 0xff0000) >> 16; + int g = (pix & 0xff00) >> 8; + int b = (pix & 0xff); + + int nR = (int) shiftComponent(compR(lighter), compR(darker), compR(boundLighter), compR(boundDarker), r); + int nG = (int) shiftComponent(compG(lighter), compG(darker), compG(boundLighter), compG(boundDarker), g); + int nB = (int) shiftComponent(compB(lighter), compB(darker), compB(boundLighter), compB(boundDarker), b); + + r = nR & 0xff; + g = nG & 0xff; + b = nB & 0xff; + + return (a << 24) | (r << 16) | (g << 8) | b; + } + + private static double shiftComponent(int lighter, int darker, int boundLighter, int boundDarker, int component) { + double scaledComponent = getPosFromComp(boundLighter, boundDarker, component); + double newComp = getCompFromFunc(lighter, darker, scaledComponent); + return newComp; + } + + private static double getCompFromFunc(int lower, int upper, double interp) { + double d0 = (double) lower; + double d1 = (double) upper; + + return d0 + interp * (d1 - d0); + } + + private static double getPosFromComp(int lower, int upper, double val) { + double d0 = (double) lower; + double d1 = (double) upper; + + return (val - d0) / (d1 - d0); + } + + private static int compR(int col) { return (col & 0xff0000) >> 16; } + private static int compG(int col) { return (col & 0xff00) >> 8; } + private static int compB(int col) { return (col & 0xff); } +} diff --git a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java index 58f015d7a..76e2ae9cb 100644 --- a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java +++ b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java @@ -20,7 +20,13 @@ public class TextureAtlasSpriteMutatable extends TextureAtlasSprite { @Override public void loadSprite(BufferedImage[] frames, AnimationMetadataSection animMeta, boolean anisotropicFiltering) { - if(mutator != null) for(BufferedImage frame : frames) mutator.mutate(frame); + if(mutator != null) { + for(int i = 0; i < frames.length; i++) { + BufferedImage frame = frames[i]; + mutator.mutate(frame, i, frames.length); + } + } + super.loadSprite(frames, animMeta, anisotropicFiltering); } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderAutosaw.java b/src/main/java/com/hbm/render/tileentity/RenderAutosaw.java index 37838feec..197376bbd 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderAutosaw.java +++ b/src/main/java/com/hbm/render/tileentity/RenderAutosaw.java @@ -27,18 +27,23 @@ public class RenderAutosaw extends TileEntitySpecialRenderer implements IItemRen double turn = saw.prevRotationYaw + (saw.rotationYaw - saw.prevRotationYaw) * interp; double angle = 80 - (saw.prevRotationPitch + (saw.rotationPitch - saw.prevRotationPitch) * interp); float spin = saw.lastSpin + (saw.spin - saw.lastSpin) * interp; - renderCommon(turn, angle, spin); + double engine = saw.isOn ? Math.sin(saw.getWorldObj().getTotalWorldTime() * 2 % (Math.PI * 2) + interp) : 0; + renderCommon(turn, angle, spin, engine); GL11.glPopMatrix(); } - private void renderCommon(double turn, double angle, double spin) { + private void renderCommon(double turn, double angle, double spin, double engine) { bindTexture(ResourceManager.autosaw_tex); ResourceManager.autosaw.renderPart("Base"); GL11.glRotated(turn, 0, -1, 0); ResourceManager.autosaw.renderPart("Main"); + GL11.glPushMatrix(); + GL11.glTranslated(0, engine * 0.01, 0); + ResourceManager.autosaw.renderPart("Engine"); + GL11.glPopMatrix(); GL11.glTranslated(0, 1.75, 0); GL11.glRotated(angle, 1, 0, 0); @@ -78,7 +83,7 @@ public class RenderAutosaw extends TileEntitySpecialRenderer implements IItemRen public void renderCommonWithStack(ItemStack item) { GL11.glScaled(0.5, 0.5, 0.5); GL11.glRotatef(-90, 0F, 1F, 0F); - RenderAutosaw.this.renderCommon(0D, 80D, System.currentTimeMillis() % 3600 * 0.1D); + RenderAutosaw.this.renderCommon(0D, 80D, System.currentTimeMillis() % 3600 * 0.1D, 0); }}; } } diff --git a/src/main/resources/assets/hbm/models/machines/autosaw.obj b/src/main/resources/assets/hbm/models/machines/autosaw.obj index 69a5337f0..2c2a70289 100644 --- a/src/main/resources/assets/hbm/models/machines/autosaw.obj +++ b/src/main/resources/assets/hbm/models/machines/autosaw.obj @@ -1,5 +1,137 @@ # Blender v2.79 (sub 0) OBJ File: 'autosaw.blend' # www.blender.org +o Engine +v 0.500000 1.312500 0.375000 +v 0.500000 1.062500 0.375000 +v 0.500000 1.312500 -0.375000 +v 0.500000 1.062500 -0.375000 +v 0.750000 1.312500 -0.375000 +v 0.750000 1.312500 0.375000 +v 0.750000 1.062500 0.375000 +v 0.750000 1.062500 -0.375000 +v 0.500000 1.375000 0.375000 +v 0.500000 1.375000 -0.375000 +v 0.750000 1.375000 -0.375000 +v 0.750000 1.375000 0.375000 +v 0.500000 1.500000 -0.375000 +v 0.500000 1.500000 0.375000 +v 0.750000 1.500000 -0.375000 +v 0.750000 1.500000 0.375000 +v 0.531250 1.312500 0.281250 +v 0.531250 1.312500 -0.281250 +v 0.718750 1.312500 -0.281250 +v 0.718750 1.312500 0.281250 +v 0.531250 1.375000 0.281250 +v 0.531250 1.375000 -0.281250 +v 0.718750 1.375000 -0.281250 +v 0.718750 1.375000 0.281250 +v 0.625000 1.275888 -0.375000 +v 0.536612 1.187500 -0.375000 +v 0.713388 1.187500 -0.375000 +v 0.625000 1.099112 -0.375000 +v 0.536612 1.187500 -0.437500 +v 0.625000 1.275888 -0.437500 +v 0.625000 1.099112 -0.437500 +v 0.713388 1.187500 -0.437500 +vt 0.250000 0.024390 +vt 0.333333 0.048780 +vt 0.250000 0.048780 +vt 0.361111 0.048780 +vt 0.333333 0.024390 +vt 0.361111 0.024390 +vt 0.222222 0.024390 +vt 0.222222 0.048780 +vt 0.333333 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.073171 +vt 0.333333 0.073171 +vt 0.458333 0.024390 +vt 0.375000 0.000000 +vt 0.458333 0.000000 +vt 0.375000 0.060976 +vt 0.458333 0.036585 +vt 0.458333 0.060976 +vt 0.472222 0.060976 +vt 0.472222 0.036585 +vt 0.375000 0.073171 +vt 0.458333 0.073171 +vt 0.361111 0.036585 +vt 0.361111 0.060976 +vt 0.375000 0.036585 +vt 0.375000 0.024390 +vt 0.305556 0.079268 +vt 0.243056 0.073171 +vt 0.243056 0.079268 +vt 0.326389 0.079268 +vt 0.305556 0.073171 +vt 0.388889 0.073171 +vt 0.388889 0.079268 +vt 0.222222 0.073171 +vt 0.222222 0.079268 +vt 0.229167 0.054878 +vt 0.243056 0.067073 +vt 0.229167 0.067073 +vt 0.243056 0.048780 +vt 0.229167 0.048780 +vt 0.222222 0.054878 +vt 0.222222 0.067073 +vt 0.229167 0.073171 +vt 0.243056 0.073171 +vt 0.250000 0.067073 +vt 0.243056 0.054878 +vt 0.250000 0.054878 +vt 0.326389 0.073171 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +s off +f 7/1/1 5/2/1 6/3/1 +f 3/4/2 8/5/2 4/6/2 +f 2/7/3 6/3/3 1/8/3 +f 4/9/4 7/1/4 2/10/4 +f 1/11/5 5/2/5 3/12/5 +f 11/13/4 9/14/4 10/15/4 +f 14/16/5 15/17/5 13/18/5 +f 10/19/2 15/17/2 11/20/2 +f 9/21/6 13/18/6 10/22/6 +f 12/23/3 14/16/3 9/24/3 +f 11/13/1 16/25/1 12/26/1 +f 19/27/1 24/28/1 20/29/1 +f 18/30/2 23/31/2 19/27/2 +f 18/30/1 21/32/1 17/33/1 +f 20/29/3 21/34/3 17/35/3 +f 30/36/2 31/37/2 29/38/2 +f 27/39/7 30/36/7 25/40/7 +f 25/41/8 29/38/8 26/42/8 +f 26/43/9 31/37/9 28/44/9 +f 28/45/10 32/46/10 27/47/10 +f 7/1/1 8/5/1 5/2/1 +f 3/4/2 5/2/2 8/5/2 +f 2/7/3 7/1/3 6/3/3 +f 4/9/4 8/5/4 7/1/4 +f 1/11/5 6/3/5 5/2/5 +f 11/13/4 12/26/4 9/14/4 +f 14/16/5 16/25/5 15/17/5 +f 10/19/2 13/18/2 15/17/2 +f 9/21/6 14/16/6 13/18/6 +f 12/23/3 16/25/3 14/16/3 +f 11/13/1 15/17/1 16/25/1 +f 19/27/1 23/31/1 24/28/1 +f 18/30/2 22/48/2 23/31/2 +f 18/30/1 22/48/1 21/32/1 +f 20/29/3 24/28/3 21/34/3 +f 30/36/2 32/46/2 31/37/2 +f 27/39/7 32/46/7 30/36/7 +f 25/41/8 30/36/8 29/38/8 +f 26/43/9 29/38/9 31/37/9 +f 28/45/10 31/37/10 32/46/10 o Base v -0.500000 0.000000 0.500000 v 0.500000 0.000000 0.500000 @@ -162,90 +294,90 @@ vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 s off -f 3/1/1 2/2/1 1/3/1 -f 8/4/2 19/5/2 6/6/2 -f 3/7/3 8/4/3 4/8/3 -f 2/2/4 5/9/4 1/3/4 -f 4/8/5 6/6/5 2/2/5 -f 1/3/6 7/10/6 3/11/6 -f 10/12/5 11/13/5 9/14/5 -f 19/15/4 22/16/4 18/17/4 -f 10/12/3 16/18/3 12/19/3 -f 9/14/1 14/20/1 10/12/1 -f 11/13/4 13/21/4 9/14/4 -f 12/19/2 15/22/2 11/13/2 -f 5/9/2 17/23/2 7/10/2 -f 7/24/2 20/25/2 8/4/2 -f 6/6/2 18/26/2 5/9/2 -f 26/27/1 22/28/1 23/29/1 -f 20/30/5 23/31/5 19/15/5 -f 18/17/6 21/32/6 17/33/6 -f 17/34/3 24/35/3 20/30/3 -f 27/36/3 32/37/3 28/38/3 -f 26/27/4 29/39/4 25/40/4 -f 28/38/5 30/41/5 26/27/5 -f 25/40/6 31/42/6 27/43/6 -f 28/38/1 23/44/1 24/45/1 -f 27/36/1 24/46/1 21/47/1 -f 25/40/1 21/48/1 22/49/1 -f 29/39/2 32/50/2 31/51/2 -f 34/52/6 35/53/6 33/54/6 -f 34/52/4 40/55/4 36/56/4 -f 33/54/1 38/57/1 34/52/1 -f 35/53/3 37/58/3 33/54/3 -f 36/56/2 39/59/2 35/53/2 -f 42/60/3 43/61/3 41/62/3 -f 42/60/6 48/63/6 44/64/6 -f 41/62/1 46/65/1 42/60/1 -f 43/61/5 45/66/5 41/62/5 -f 44/64/2 47/67/2 43/61/2 -f 50/68/4 51/69/4 49/70/4 -f 50/68/5 56/71/5 52/72/5 -f 49/70/1 54/73/1 50/68/1 -f 51/69/6 53/74/6 49/70/6 -f 52/72/2 55/75/2 51/69/2 -f 3/1/1 4/76/1 2/2/1 -f 8/4/2 20/77/2 19/5/2 -f 3/7/3 7/24/3 8/4/3 -f 2/2/4 6/6/4 5/9/4 -f 4/8/5 8/4/5 6/6/5 -f 1/3/6 5/9/6 7/10/6 -f 10/12/5 12/19/5 11/13/5 -f 19/15/4 23/31/4 22/16/4 -f 10/12/3 14/78/3 16/18/3 -f 9/14/1 13/79/1 14/20/1 -f 11/13/4 15/80/4 13/21/4 -f 12/19/2 16/81/2 15/22/2 -f 5/9/2 18/82/2 17/23/2 -f 7/24/2 17/83/2 20/25/2 -f 6/6/2 19/84/2 18/26/2 -f 26/27/1 25/40/1 22/28/1 -f 20/30/5 24/35/5 23/31/5 -f 18/17/6 22/16/6 21/32/6 -f 17/34/3 21/85/3 24/35/3 -f 27/36/3 31/86/3 32/37/3 -f 26/27/4 30/41/4 29/39/4 -f 28/38/5 32/37/5 30/41/5 -f 25/40/6 29/39/6 31/42/6 -f 28/38/1 26/27/1 23/44/1 -f 27/36/1 28/38/1 24/46/1 -f 25/40/1 27/43/1 21/48/1 -f 29/39/2 30/41/2 32/50/2 -f 34/52/6 36/56/6 35/53/6 -f 34/52/4 38/87/4 40/55/4 -f 33/54/1 37/88/1 38/57/1 -f 35/53/3 39/89/3 37/58/3 -f 36/56/2 40/90/2 39/59/2 -f 42/60/3 44/64/3 43/61/3 -f 42/60/6 46/91/6 48/63/6 -f 41/62/1 45/92/1 46/65/1 -f 43/61/5 47/93/5 45/66/5 -f 44/64/2 48/94/2 47/67/2 -f 50/68/4 52/72/4 51/69/4 -f 50/68/5 54/95/5 56/71/5 -f 49/70/1 53/96/1 54/73/1 -f 51/69/6 55/97/6 53/74/6 -f 52/72/2 56/98/2 55/75/2 +f 35/49/11 34/50/11 33/51/11 +f 40/52/12 51/53/12 38/54/12 +f 35/55/13 40/52/13 36/56/13 +f 34/50/14 37/57/14 33/51/14 +f 36/56/15 38/54/15 34/50/15 +f 33/51/16 39/58/16 35/59/16 +f 42/60/15 43/61/15 41/62/15 +f 51/63/14 54/64/14 50/65/14 +f 42/60/13 48/66/13 44/67/13 +f 41/62/11 46/68/11 42/60/11 +f 43/61/14 45/69/14 41/62/14 +f 44/67/12 47/70/12 43/61/12 +f 37/57/12 49/71/12 39/58/12 +f 39/72/12 52/73/12 40/52/12 +f 38/54/12 50/74/12 37/57/12 +f 58/75/11 54/76/11 55/77/11 +f 52/78/15 55/79/15 51/63/15 +f 50/65/16 53/80/16 49/81/16 +f 49/82/13 56/83/13 52/78/13 +f 59/84/13 64/85/13 60/86/13 +f 58/75/14 61/87/14 57/88/14 +f 60/86/15 62/89/15 58/75/15 +f 57/88/16 63/90/16 59/91/16 +f 60/86/11 55/92/11 56/93/11 +f 59/84/11 56/94/11 53/95/11 +f 57/88/11 53/96/11 54/97/11 +f 61/87/12 64/98/12 63/99/12 +f 66/100/16 67/101/16 65/102/16 +f 66/100/14 72/103/14 68/104/14 +f 65/102/11 70/105/11 66/100/11 +f 67/101/13 69/106/13 65/102/13 +f 68/104/12 71/107/12 67/101/12 +f 74/108/13 75/109/13 73/110/13 +f 74/108/16 80/111/16 76/112/16 +f 73/110/11 78/113/11 74/108/11 +f 75/109/15 77/114/15 73/110/15 +f 76/112/12 79/115/12 75/109/12 +f 82/116/14 83/117/14 81/118/14 +f 82/116/15 88/119/15 84/120/15 +f 81/118/11 86/121/11 82/116/11 +f 83/117/16 85/122/16 81/118/16 +f 84/120/12 87/123/12 83/117/12 +f 35/49/11 36/124/11 34/50/11 +f 40/52/12 52/125/12 51/53/12 +f 35/55/13 39/72/13 40/52/13 +f 34/50/14 38/54/14 37/57/14 +f 36/56/15 40/52/15 38/54/15 +f 33/51/16 37/57/16 39/58/16 +f 42/60/15 44/67/15 43/61/15 +f 51/63/14 55/79/14 54/64/14 +f 42/60/13 46/126/13 48/66/13 +f 41/62/11 45/127/11 46/68/11 +f 43/61/14 47/128/14 45/69/14 +f 44/67/12 48/129/12 47/70/12 +f 37/57/12 50/130/12 49/71/12 +f 39/72/12 49/131/12 52/73/12 +f 38/54/12 51/132/12 50/74/12 +f 58/75/11 57/88/11 54/76/11 +f 52/78/15 56/83/15 55/79/15 +f 50/65/16 54/64/16 53/80/16 +f 49/82/13 53/133/13 56/83/13 +f 59/84/13 63/134/13 64/85/13 +f 58/75/14 62/89/14 61/87/14 +f 60/86/15 64/85/15 62/89/15 +f 57/88/16 61/87/16 63/90/16 +f 60/86/11 58/75/11 55/92/11 +f 59/84/11 60/86/11 56/94/11 +f 57/88/11 59/91/11 53/96/11 +f 61/87/12 62/89/12 64/98/12 +f 66/100/16 68/104/16 67/101/16 +f 66/100/14 70/135/14 72/103/14 +f 65/102/11 69/136/11 70/105/11 +f 67/101/13 71/137/13 69/106/13 +f 68/104/12 72/138/12 71/107/12 +f 74/108/13 76/112/13 75/109/13 +f 74/108/16 78/139/16 80/111/16 +f 73/110/11 77/140/11 78/113/11 +f 75/109/15 79/141/15 77/114/15 +f 76/112/12 80/142/12 79/115/12 +f 82/116/14 84/120/14 83/117/14 +f 82/116/15 86/143/15 88/119/15 +f 81/118/11 85/144/11 86/121/11 +f 83/117/16 87/145/16 85/122/16 +f 84/120/12 88/146/12 87/123/12 o ArmUpper v -0.250000 1.500000 0.250000 v 0.250000 1.500000 0.250000 @@ -362,62 +494,62 @@ vn 0.0000 0.7071 -0.7071 vn 0.0000 -0.7071 0.7071 vn 0.0000 0.7071 0.7071 s off -f 60/99/7 57/100/7 59/101/7 -f 62/102/8 64/103/8 61/104/8 -f 57/105/9 61/104/9 59/106/9 -f 60/99/10 63/107/10 58/108/10 -f 82/109/9 92/110/9 96/111/9 -f 85/112/8 93/113/8 88/114/8 -f 94/115/11 92/116/11 89/117/11 -f 88/114/10 94/118/10 90/119/10 -f 81/120/12 87/121/12 84/122/12 -f 76/123/8 77/124/8 74/125/8 -f 69/126/10 72/127/10 70/128/10 -f 68/129/8 69/126/8 66/130/8 -f 66/131/12 70/128/12 65/132/12 -f 65/133/7 72/127/7 67/134/7 -f 67/135/11 71/136/11 68/137/11 -f 74/125/12 78/138/12 73/139/12 -f 73/139/7 80/140/7 75/141/7 -f 75/141/11 79/142/11 76/123/11 -f 75/141/9 74/125/9 73/139/9 -f 82/143/13 84/122/13 83/144/13 -f 86/145/14 88/114/14 87/121/14 -f 92/116/15 90/146/15 89/117/15 -f 96/111/16 94/115/16 93/113/16 -f 83/147/7 91/148/7 82/149/7 -f 60/99/7 58/108/7 57/100/7 -f 62/102/8 63/107/8 64/103/8 -f 57/105/9 62/102/9 61/104/9 -f 60/99/10 64/103/10 63/107/10 -f 96/111/9 85/112/9 86/150/9 -f 86/150/9 81/151/9 82/109/9 -f 82/109/9 91/152/9 92/110/9 -f 92/110/9 95/153/9 96/111/9 -f 96/111/9 86/150/9 82/109/9 -f 85/112/8 96/111/8 93/113/8 -f 94/115/11 95/154/11 92/116/11 -f 90/119/10 83/155/10 84/156/10 -f 84/156/10 87/157/10 88/114/10 -f 88/114/10 93/113/10 94/118/10 -f 94/118/10 89/158/10 90/119/10 -f 90/119/10 84/156/10 88/114/10 -f 81/120/12 86/145/12 87/121/12 -f 76/123/8 79/159/8 77/124/8 -f 69/126/10 71/136/10 72/127/10 -f 68/129/8 71/136/8 69/126/8 -f 66/131/12 69/126/12 70/128/12 -f 65/133/7 70/128/7 72/127/7 -f 67/135/11 72/127/11 71/136/11 -f 74/125/12 77/160/12 78/138/12 -f 73/139/7 78/161/7 80/140/7 -f 75/141/11 80/162/11 79/142/11 -f 75/141/9 76/123/9 74/125/9 -f 82/143/13 81/120/13 84/122/13 -f 86/145/14 85/112/14 88/114/14 -f 92/116/15 91/148/15 90/146/15 -f 96/111/16 95/154/16 94/115/16 -f 83/147/7 90/146/7 91/148/7 +f 92/147/17 89/148/17 91/149/17 +f 94/150/18 96/151/18 93/152/18 +f 89/153/19 93/152/19 91/154/19 +f 92/147/20 95/155/20 90/156/20 +f 114/157/19 124/158/19 128/159/19 +f 117/160/18 125/161/18 120/162/18 +f 126/163/21 124/164/21 121/165/21 +f 120/162/20 126/166/20 122/167/20 +f 113/168/22 119/169/22 116/170/22 +f 108/171/18 109/172/18 106/173/18 +f 101/174/20 104/175/20 102/176/20 +f 100/177/18 101/174/18 98/178/18 +f 98/179/22 102/176/22 97/180/22 +f 97/181/17 104/175/17 99/182/17 +f 99/183/21 103/184/21 100/185/21 +f 106/173/22 110/186/22 105/187/22 +f 105/187/17 112/188/17 107/189/17 +f 107/189/21 111/190/21 108/171/21 +f 107/189/19 106/173/19 105/187/19 +f 114/191/23 116/170/23 115/192/23 +f 118/193/24 120/162/24 119/169/24 +f 124/164/25 122/194/25 121/165/25 +f 128/159/26 126/163/26 125/161/26 +f 115/195/17 123/196/17 114/197/17 +f 92/147/17 90/156/17 89/148/17 +f 94/150/18 95/155/18 96/151/18 +f 89/153/19 94/150/19 93/152/19 +f 92/147/20 96/151/20 95/155/20 +f 128/159/19 117/160/19 118/198/19 +f 118/198/19 113/199/19 114/157/19 +f 114/157/19 123/200/19 124/158/19 +f 124/158/19 127/201/19 128/159/19 +f 128/159/19 118/198/19 114/157/19 +f 117/160/18 128/159/18 125/161/18 +f 126/163/21 127/202/21 124/164/21 +f 122/167/20 115/203/20 116/204/20 +f 116/204/20 119/205/20 120/162/20 +f 120/162/20 125/161/20 126/166/20 +f 126/166/20 121/206/20 122/167/20 +f 122/167/20 116/204/20 120/162/20 +f 113/168/22 118/193/22 119/169/22 +f 108/171/18 111/207/18 109/172/18 +f 101/174/20 103/184/20 104/175/20 +f 100/177/18 103/184/18 101/174/18 +f 98/179/22 101/174/22 102/176/22 +f 97/181/17 102/176/17 104/175/17 +f 99/183/21 104/175/21 103/184/21 +f 106/173/22 109/208/22 110/186/22 +f 105/187/17 110/209/17 112/188/17 +f 107/189/21 112/210/21 111/190/21 +f 107/189/19 108/171/19 106/173/19 +f 114/191/23 113/168/23 116/170/23 +f 118/193/24 117/160/24 120/162/24 +f 124/164/25 123/196/25 122/194/25 +f 128/159/26 127/202/26 126/163/26 +f 115/195/17 122/194/17 123/196/17 o ArmLower v -0.250000 1.500000 -3.750000 v 0.250000 1.500000 -3.750000 @@ -534,62 +666,62 @@ vn 0.0000 0.7071 -0.7071 vn 0.0000 -0.7071 0.7071 vn 0.0000 0.7071 0.7071 s off -f 100/163/17 97/164/17 99/165/17 -f 102/166/18 104/167/18 101/168/18 -f 97/169/19 101/168/19 99/170/19 -f 100/163/20 103/171/20 98/172/20 -f 122/173/19 132/174/19 136/175/19 -f 125/176/18 133/177/18 128/178/18 -f 134/179/21 132/180/21 129/181/21 -f 128/178/20 134/182/20 130/183/20 -f 121/184/22 127/185/22 124/186/22 -f 116/187/18 117/188/18 114/189/18 -f 109/190/20 112/191/20 110/192/20 -f 108/193/18 109/190/18 106/194/18 -f 106/195/22 110/192/22 105/196/22 -f 105/197/17 112/191/17 107/198/17 -f 107/199/21 111/200/21 108/201/21 -f 114/189/22 118/202/22 113/203/22 -f 113/203/17 120/204/17 115/205/17 -f 115/205/21 119/206/21 116/187/21 -f 115/205/19 114/189/19 113/203/19 -f 122/207/23 124/186/23 123/208/23 -f 126/209/24 128/178/24 127/185/24 -f 132/180/25 130/210/25 129/181/25 -f 136/175/26 134/179/26 133/177/26 -f 123/211/17 131/212/17 122/213/17 -f 100/163/17 98/172/17 97/164/17 -f 102/166/18 103/171/18 104/167/18 -f 97/169/19 102/166/19 101/168/19 -f 100/163/20 104/167/20 103/171/20 -f 136/175/19 125/176/19 126/214/19 -f 126/214/19 121/215/19 122/173/19 -f 122/173/19 131/216/19 132/174/19 -f 132/174/19 135/217/19 136/175/19 -f 136/175/19 126/214/19 122/173/19 -f 125/176/18 136/175/18 133/177/18 -f 134/179/21 135/218/21 132/180/21 -f 130/183/20 123/219/20 124/220/20 -f 124/220/20 127/221/20 128/178/20 -f 128/178/20 133/177/20 134/182/20 -f 134/182/20 129/222/20 130/183/20 -f 130/183/20 124/220/20 128/178/20 -f 121/184/22 126/209/22 127/185/22 -f 116/187/18 119/223/18 117/188/18 -f 109/190/20 111/200/20 112/191/20 -f 108/193/18 111/200/18 109/190/18 -f 106/195/22 109/190/22 110/192/22 -f 105/197/17 110/192/17 112/191/17 -f 107/199/21 112/191/21 111/200/21 -f 114/189/22 117/224/22 118/202/22 -f 113/203/17 118/225/17 120/204/17 -f 115/205/21 120/226/21 119/206/21 -f 115/205/19 116/187/19 114/189/19 -f 122/207/23 121/184/23 124/186/23 -f 126/209/24 125/176/24 128/178/24 -f 132/180/25 131/212/25 130/210/25 -f 136/175/26 135/218/26 134/179/26 -f 123/211/17 130/210/17 131/212/17 +f 132/211/27 129/212/27 131/213/27 +f 134/214/28 136/215/28 133/216/28 +f 129/217/29 133/216/29 131/218/29 +f 132/211/30 135/219/30 130/220/30 +f 154/221/29 164/222/29 168/223/29 +f 157/224/28 165/225/28 160/226/28 +f 166/227/31 164/228/31 161/229/31 +f 160/226/30 166/230/30 162/231/30 +f 153/232/32 159/233/32 156/234/32 +f 148/235/28 149/236/28 146/237/28 +f 141/238/30 144/239/30 142/240/30 +f 140/241/28 141/238/28 138/242/28 +f 138/243/32 142/240/32 137/244/32 +f 137/245/27 144/239/27 139/246/27 +f 139/247/31 143/248/31 140/249/31 +f 146/237/32 150/250/32 145/251/32 +f 145/251/27 152/252/27 147/253/27 +f 147/253/31 151/254/31 148/235/31 +f 147/253/29 146/237/29 145/251/29 +f 154/255/33 156/234/33 155/256/33 +f 158/257/34 160/226/34 159/233/34 +f 164/228/35 162/258/35 161/229/35 +f 168/223/36 166/227/36 165/225/36 +f 155/259/27 163/260/27 154/261/27 +f 132/211/27 130/220/27 129/212/27 +f 134/214/28 135/219/28 136/215/28 +f 129/217/29 134/214/29 133/216/29 +f 132/211/30 136/215/30 135/219/30 +f 168/223/29 157/224/29 158/262/29 +f 158/262/29 153/263/29 154/221/29 +f 154/221/29 163/264/29 164/222/29 +f 164/222/29 167/265/29 168/223/29 +f 168/223/29 158/262/29 154/221/29 +f 157/224/28 168/223/28 165/225/28 +f 166/227/31 167/266/31 164/228/31 +f 162/231/30 155/267/30 156/268/30 +f 156/268/30 159/269/30 160/226/30 +f 160/226/30 165/225/30 166/230/30 +f 166/230/30 161/270/30 162/231/30 +f 162/231/30 156/268/30 160/226/30 +f 153/232/32 158/257/32 159/233/32 +f 148/235/28 151/271/28 149/236/28 +f 141/238/30 143/248/30 144/239/30 +f 140/241/28 143/248/28 141/238/28 +f 138/243/32 141/238/32 142/240/32 +f 137/245/27 142/240/27 144/239/27 +f 139/247/31 144/239/31 143/248/31 +f 146/237/32 149/272/32 150/250/32 +f 145/251/27 150/273/27 152/252/27 +f 147/253/31 152/274/31 151/254/31 +f 147/253/29 148/235/29 146/237/29 +f 154/255/33 153/232/33 156/234/33 +f 158/257/34 157/224/34 160/226/34 +f 164/228/35 163/260/35 162/258/35 +f 168/223/36 167/266/36 166/227/36 +f 155/259/27 162/258/27 163/260/27 o ArmTip v -0.250000 1.500000 -7.750000 v 0.250000 1.500000 -7.750000 @@ -641,32 +773,32 @@ vn 0.0000 0.0000 -1.0000 vn -1.0000 0.0000 0.0000 vn 1.0000 0.0000 0.0000 s off -f 140/227/27 137/228/27 139/229/27 -f 142/230/28 144/231/28 141/232/28 -f 147/233/28 152/234/28 150/235/28 -f 145/236/29 144/231/29 148/237/29 -f 148/237/27 149/238/27 145/236/27 -f 139/229/29 150/235/29 140/227/29 -f 146/239/30 139/240/30 137/241/30 -f 141/232/30 149/242/30 142/230/30 -f 152/234/29 149/243/29 151/244/29 -f 142/230/30 146/239/30 137/241/30 -f 151/245/31 144/231/31 143/246/31 -f 140/227/31 152/247/31 138/248/31 -f 152/247/31 143/246/31 138/248/31 -f 140/227/27 138/248/27 137/228/27 -f 142/230/28 143/246/28 144/231/28 -f 147/233/28 146/249/28 152/234/28 -f 145/236/29 141/232/29 144/231/29 -f 148/237/27 151/250/27 149/238/27 -f 139/229/29 147/233/29 150/235/29 -f 146/239/30 147/251/30 139/240/30 -f 141/232/30 145/252/30 149/242/30 -f 152/234/29 146/249/29 149/243/29 -f 142/230/30 149/242/30 146/239/30 -f 151/245/31 148/253/31 144/231/31 -f 140/227/31 150/254/31 152/247/31 -f 152/247/31 151/245/31 143/246/31 +f 172/275/37 169/276/37 171/277/37 +f 174/278/38 176/279/38 173/280/38 +f 179/281/38 184/282/38 182/283/38 +f 177/284/39 176/279/39 180/285/39 +f 180/285/37 181/286/37 177/284/37 +f 171/277/39 182/283/39 172/275/39 +f 178/287/40 171/288/40 169/289/40 +f 173/280/40 181/290/40 174/278/40 +f 184/282/39 181/291/39 183/292/39 +f 174/278/40 178/287/40 169/289/40 +f 183/293/41 176/279/41 175/294/41 +f 172/275/41 184/295/41 170/296/41 +f 184/295/41 175/294/41 170/296/41 +f 172/275/37 170/296/37 169/276/37 +f 174/278/38 175/294/38 176/279/38 +f 179/281/38 178/297/38 184/282/38 +f 177/284/39 173/280/39 176/279/39 +f 180/285/37 183/298/37 181/286/37 +f 171/277/39 179/281/39 182/283/39 +f 178/287/40 179/299/40 171/288/40 +f 173/280/40 177/300/40 181/290/40 +f 184/282/39 178/297/39 181/291/39 +f 174/278/40 181/290/40 178/287/40 +f 183/293/41 180/301/41 176/279/41 +f 172/275/41 182/302/41 184/295/41 +f 184/295/41 183/293/41 175/294/41 o Sawblade v -0.125000 1.500000 -10.125000 v 0.125000 1.500000 -10.125000 @@ -861,94 +993,94 @@ vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 1.0000 0.0000 s off -f 164/255/32 165/256/32 162/257/32 -f 157/258/33 160/259/33 158/260/33 -f 156/261/32 157/258/32 154/262/32 -f 154/263/34 158/260/34 153/264/34 -f 153/265/35 160/259/35 155/266/35 -f 155/267/36 159/268/36 156/269/36 -f 162/257/34 166/270/34 161/271/34 -f 161/271/35 168/272/35 163/273/35 -f 163/273/36 167/274/36 164/255/36 -f 163/273/37 162/257/37 161/271/37 -f 183/275/37 169/276/37 177/277/37 -f 172/278/37 188/279/37 173/280/37 -f 171/281/37 187/282/37 172/278/37 -f 170/283/37 186/284/37 171/281/37 -f 169/276/37 185/285/37 170/283/37 -f 184/286/37 200/287/37 169/276/37 -f 183/275/37 199/288/37 184/286/37 -f 182/289/37 198/290/37 183/275/37 -f 181/291/37 197/292/37 182/289/37 -f 180/293/37 196/294/37 181/291/37 -f 179/295/37 195/296/37 180/293/37 -f 178/297/37 194/298/37 179/295/37 -f 177/277/37 193/299/37 178/297/37 -f 176/300/37 192/301/37 177/277/37 -f 175/302/37 191/303/37 176/300/37 -f 174/304/37 190/305/37 175/302/37 -f 173/280/37 189/306/37 174/304/37 -f 202/307/35 203/308/35 201/309/35 -f 204/310/34 207/311/34 203/312/34 -f 208/313/32 205/314/32 207/311/32 -f 206/315/36 201/309/36 205/314/36 -f 219/316/33 215/317/33 211/318/33 -f 212/319/33 213/320/33 228/321/33 -f 211/318/33 212/319/33 227/322/33 -f 210/323/33 211/318/33 226/324/33 -f 209/325/33 210/323/33 225/326/33 -f 224/327/33 209/325/33 240/328/33 -f 223/329/33 224/327/33 239/330/33 -f 222/331/33 223/329/33 238/332/33 -f 221/333/33 222/331/33 237/334/33 -f 220/335/33 221/333/33 236/336/33 -f 219/316/33 220/335/33 235/337/33 -f 218/338/33 219/316/33 234/339/33 -f 217/340/33 218/338/33 233/341/33 -f 216/342/33 217/340/33 232/343/33 -f 215/317/33 216/342/33 231/344/33 -f 214/345/33 215/317/33 230/346/33 -f 213/320/33 214/345/33 229/347/33 -f 164/255/32 167/348/32 165/256/32 -f 157/258/33 159/268/33 160/259/33 -f 156/261/32 159/268/32 157/258/32 -f 154/263/34 157/258/34 158/260/34 -f 153/265/35 158/260/35 160/259/35 -f 155/267/36 160/259/36 159/268/36 -f 162/257/34 165/349/34 166/270/34 -f 161/271/35 166/350/35 168/272/35 -f 163/273/36 168/351/36 167/274/36 -f 163/273/37 164/255/37 162/257/37 -f 169/276/37 170/283/37 171/281/37 -f 171/281/37 172/278/37 173/280/37 -f 173/280/37 174/304/37 175/302/37 -f 175/302/37 176/300/37 177/277/37 -f 177/277/37 178/297/37 179/295/37 -f 179/295/37 180/293/37 181/291/37 -f 181/291/37 182/289/37 183/275/37 -f 183/275/37 184/286/37 169/276/37 -f 169/276/37 171/281/37 173/280/37 -f 173/280/37 175/302/37 169/276/37 -f 175/302/37 177/277/37 169/276/37 -f 177/277/37 179/295/37 181/291/37 -f 181/291/37 183/275/37 177/277/37 -f 202/307/35 204/352/35 203/308/35 -f 204/310/34 208/313/34 207/311/34 -f 208/313/32 206/315/32 205/314/32 -f 206/315/36 202/307/36 201/309/36 -f 211/318/33 210/323/33 209/325/33 -f 209/325/33 224/327/33 223/329/33 -f 223/329/33 222/331/33 221/333/33 -f 221/333/33 220/335/33 219/316/33 -f 219/316/33 218/338/33 217/340/33 -f 217/340/33 216/342/33 215/317/33 -f 215/317/33 214/345/33 213/320/33 -f 213/320/33 212/319/33 211/318/33 -f 211/318/33 209/325/33 223/329/33 -f 223/329/33 221/333/33 219/316/33 -f 219/316/33 217/340/33 215/317/33 -f 215/317/33 213/320/33 211/318/33 -f 211/318/33 223/329/33 219/316/33 +f 196/303/42 197/304/42 194/305/42 +f 189/306/43 192/307/43 190/308/43 +f 188/309/42 189/306/42 186/310/42 +f 186/311/44 190/308/44 185/312/44 +f 185/313/45 192/307/45 187/314/45 +f 187/315/46 191/316/46 188/317/46 +f 194/305/44 198/318/44 193/319/44 +f 193/319/45 200/320/45 195/321/45 +f 195/321/46 199/322/46 196/303/46 +f 195/321/47 194/305/47 193/319/47 +f 215/323/47 201/324/47 209/325/47 +f 204/326/47 220/327/47 205/328/47 +f 203/329/47 219/330/47 204/326/47 +f 202/331/47 218/332/47 203/329/47 +f 201/324/47 217/333/47 202/331/47 +f 216/334/47 232/335/47 201/324/47 +f 215/323/47 231/336/47 216/334/47 +f 214/337/47 230/338/47 215/323/47 +f 213/339/47 229/340/47 214/337/47 +f 212/341/47 228/342/47 213/339/47 +f 211/343/47 227/344/47 212/341/47 +f 210/345/47 226/346/47 211/343/47 +f 209/325/47 225/347/47 210/345/47 +f 208/348/47 224/349/47 209/325/47 +f 207/350/47 223/351/47 208/348/47 +f 206/352/47 222/353/47 207/350/47 +f 205/328/47 221/354/47 206/352/47 +f 234/355/45 235/356/45 233/357/45 +f 236/358/44 239/359/44 235/360/44 +f 240/361/42 237/362/42 239/359/42 +f 238/363/46 233/357/46 237/362/46 +f 251/364/43 247/365/43 243/366/43 +f 244/367/43 245/368/43 260/369/43 +f 243/366/43 244/367/43 259/370/43 +f 242/371/43 243/366/43 258/372/43 +f 241/373/43 242/371/43 257/374/43 +f 256/375/43 241/373/43 272/376/43 +f 255/377/43 256/375/43 271/378/43 +f 254/379/43 255/377/43 270/380/43 +f 253/381/43 254/379/43 269/382/43 +f 252/383/43 253/381/43 268/384/43 +f 251/364/43 252/383/43 267/385/43 +f 250/386/43 251/364/43 266/387/43 +f 249/388/43 250/386/43 265/389/43 +f 248/390/43 249/388/43 264/391/43 +f 247/365/43 248/390/43 263/392/43 +f 246/393/43 247/365/43 262/394/43 +f 245/368/43 246/393/43 261/395/43 +f 196/303/42 199/396/42 197/304/42 +f 189/306/43 191/316/43 192/307/43 +f 188/309/42 191/316/42 189/306/42 +f 186/311/44 189/306/44 190/308/44 +f 185/313/45 190/308/45 192/307/45 +f 187/315/46 192/307/46 191/316/46 +f 194/305/44 197/397/44 198/318/44 +f 193/319/45 198/398/45 200/320/45 +f 195/321/46 200/399/46 199/322/46 +f 195/321/47 196/303/47 194/305/47 +f 201/324/47 202/331/47 203/329/47 +f 203/329/47 204/326/47 205/328/47 +f 205/328/47 206/352/47 207/350/47 +f 207/350/47 208/348/47 209/325/47 +f 209/325/47 210/345/47 211/343/47 +f 211/343/47 212/341/47 213/339/47 +f 213/339/47 214/337/47 215/323/47 +f 215/323/47 216/334/47 201/324/47 +f 201/324/47 203/329/47 205/328/47 +f 205/328/47 207/350/47 201/324/47 +f 207/350/47 209/325/47 201/324/47 +f 209/325/47 211/343/47 213/339/47 +f 213/339/47 215/323/47 209/325/47 +f 234/355/45 236/400/45 235/356/45 +f 236/358/44 240/361/44 239/359/44 +f 240/361/42 238/363/42 237/362/42 +f 238/363/46 234/355/46 233/357/46 +f 243/366/43 242/371/43 241/373/43 +f 241/373/43 256/375/43 255/377/43 +f 255/377/43 254/379/43 253/381/43 +f 253/381/43 252/383/43 251/364/43 +f 251/364/43 250/386/43 249/388/43 +f 249/388/43 248/390/43 247/365/43 +f 247/365/43 246/393/43 245/368/43 +f 245/368/43 244/367/43 243/366/43 +f 243/366/43 241/373/43 255/377/43 +f 255/377/43 253/381/43 251/364/43 +f 251/364/43 249/388/43 247/365/43 +f 247/365/43 245/368/43 243/366/43 +f 243/366/43 255/377/43 251/364/43 o Main v -0.500000 1.000000 0.500000 v 0.500000 1.000000 0.500000 @@ -1008,30 +1140,6 @@ v -0.750000 1.250000 1.250000 v 0.750000 1.250000 1.250000 v -0.750000 2.000000 1.250000 v 0.750000 2.000000 1.250000 -v 0.500000 1.312500 0.375000 -v 0.500000 1.062500 0.375000 -v 0.500000 1.312500 -0.375000 -v 0.500000 1.062500 -0.375000 -v 0.750000 1.312500 -0.375000 -v 0.750000 1.312500 0.375000 -v 0.750000 1.062500 0.375000 -v 0.750000 1.062500 -0.375000 -v 0.500000 1.375000 0.375000 -v 0.500000 1.375000 -0.375000 -v 0.750000 1.375000 -0.375000 -v 0.750000 1.375000 0.375000 -v 0.500000 1.500000 -0.375000 -v 0.500000 1.500000 0.375000 -v 0.750000 1.500000 -0.375000 -v 0.750000 1.500000 0.375000 -v 0.531250 1.312500 0.281250 -v 0.531250 1.312500 -0.281250 -v 0.718750 1.312500 -0.281250 -v 0.718750 1.312500 0.281250 -v 0.531250 1.375000 0.281250 -v 0.531250 1.375000 -0.281250 -v 0.718750 1.375000 -0.281250 -v 0.718750 1.375000 0.281250 v 0.562500 2.125000 0.375000 v 0.562500 1.125000 0.375000 v 0.687500 2.125000 0.375000 @@ -1044,14 +1152,6 @@ v 0.562500 2.125000 1.500000 v 0.687500 2.125000 1.500000 v 0.562500 2.000000 1.500000 v 0.687500 2.000000 1.500000 -v 0.625000 1.275888 -0.375000 -v 0.536612 1.187500 -0.375000 -v 0.713388 1.187500 -0.375000 -v 0.625000 1.099112 -0.375000 -v 0.536612 1.187500 -0.437500 -v 0.625000 1.275888 -0.437500 -v 0.625000 1.099112 -0.437500 -v 0.713388 1.187500 -0.437500 v -0.500000 1.312500 -0.375000 v -0.500000 1.312500 0.375000 v -0.500000 1.062500 0.375000 @@ -1158,41 +1258,6 @@ vt 0.750000 0.000000 vt 0.666667 0.219512 vt 0.750000 0.146341 vt 0.750000 0.219512 -vt 0.250000 0.024390 -vt 0.333333 0.048780 -vt 0.250000 0.048780 -vt 0.361111 0.048780 -vt 0.333333 0.024390 -vt 0.361111 0.024390 -vt 0.222222 0.024390 -vt 0.222222 0.048780 -vt 0.333333 0.000000 -vt 0.250000 0.000000 -vt 0.250000 0.073171 -vt 0.333333 0.073171 -vt 0.458333 0.024390 -vt 0.375000 0.000000 -vt 0.458333 0.000000 -vt 0.375000 0.060976 -vt 0.458333 0.036585 -vt 0.458333 0.060976 -vt 0.472222 0.060976 -vt 0.472222 0.036585 -vt 0.375000 0.073171 -vt 0.458333 0.073171 -vt 0.361111 0.036585 -vt 0.361111 0.060976 -vt 0.375000 0.036585 -vt 0.375000 0.024390 -vt 0.305556 0.079268 -vt 0.243056 0.073171 -vt 0.243056 0.079268 -vt 0.326389 0.079268 -vt 0.305556 0.073171 -vt 0.388889 0.073171 -vt 0.388889 0.079268 -vt 0.222222 0.073171 -vt 0.222222 0.079268 vt 0.013889 0.317073 vt 0.027778 0.219512 vt 0.027778 0.317073 @@ -1211,18 +1276,6 @@ vt 0.027778 0.439024 vt 0.027778 0.426829 vt 0.000000 0.329268 vt -0.000000 0.426829 -vt 0.229167 0.054878 -vt 0.243056 0.067073 -vt 0.229167 0.067073 -vt 0.243056 0.048780 -vt 0.229167 0.048780 -vt 0.222222 0.054878 -vt 0.222222 0.067073 -vt 0.229167 0.073171 -vt 0.243056 0.073171 -vt 0.250000 0.067073 -vt 0.243056 0.054878 -vt 0.250000 0.054878 vt 0.006944 0.079268 vt 0.090278 0.054878 vt 0.090278 0.079268 @@ -1268,7 +1321,6 @@ vt 0.291667 0.207317 vt 0.326389 0.213415 vt 0.319444 0.243902 vt 0.666667 0.146341 -vt 0.326389 0.073171 vt 0.055556 0.219512 vt 0.055556 0.426829 vt 0.013889 0.207317 @@ -1289,188 +1341,144 @@ vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.7071 -0.7071 vn -1.0000 0.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 vn 0.0000 -0.7071 -0.7071 vn 0.0000 0.7071 0.7071 s off -f 244/353/38 241/354/38 243/355/38 -f 262/356/39 265/357/39 259/358/39 -f 259/359/40 266/360/40 260/361/40 -f 251/362/40 241/354/40 242/363/40 -f 243/364/41 248/365/41 244/366/41 -f 252/367/39 242/368/39 244/369/39 -f 250/370/42 252/367/42 249/371/42 -f 254/372/39 257/373/39 246/374/39 -f 245/375/43 252/367/43 248/365/43 -f 246/376/40 258/377/40 247/378/40 -f 249/371/44 245/379/44 243/380/44 -f 247/381/44 256/382/44 253/383/44 -f 253/384/41 255/385/41 254/372/41 -f 260/361/44 264/386/44 261/387/44 -f 261/387/41 263/388/41 262/389/41 -f 258/390/38 263/388/38 256/391/38 -f 257/392/40 265/393/40 258/377/40 -f 255/385/42 266/394/42 257/395/42 -f 256/391/41 264/386/41 255/385/41 -f 259/358/42 270/396/42 262/356/42 -f 253/383/42 267/397/42 247/381/42 -f 279/398/39 282/399/39 280/400/39 -f 278/401/42 279/398/42 276/402/42 -f 272/403/41 253/384/41 254/372/41 -f 262/389/41 274/404/41 261/387/41 -f 273/405/40 259/359/40 260/361/40 -f 247/378/40 271/406/40 246/376/40 -f 275/407/38 282/399/38 277/408/38 -f 276/409/41 280/400/41 275/410/41 -f 277/411/40 281/412/40 278/413/40 -f 286/414/42 287/415/42 284/416/42 -f 284/416/41 288/417/41 283/418/41 -f 283/418/38 290/419/38 285/420/38 -f 285/420/40 289/421/40 286/414/40 -f 285/420/44 284/416/44 283/418/44 -f 291/422/41 294/423/41 292/424/41 -f 298/425/40 295/426/40 296/427/40 -f 294/423/39 296/428/39 292/429/39 -f 292/430/38 295/426/38 291/431/38 -f 291/432/44 297/433/44 293/434/44 -f 293/434/42 298/425/42 294/423/42 -f 305/435/39 303/436/39 304/437/39 -f 301/438/41 306/439/41 302/440/41 -f 300/441/40 304/437/40 299/442/40 -f 302/443/38 305/435/38 300/444/38 -f 299/445/42 303/436/42 301/446/42 -f 309/447/38 307/448/38 308/449/38 -f 312/450/42 313/451/42 311/452/42 -f 308/453/41 313/451/41 309/454/41 -f 307/455/44 311/452/44 308/456/44 -f 310/457/40 312/450/40 307/458/40 -f 309/447/39 314/459/39 310/460/39 -f 317/461/39 322/462/39 318/463/39 -f 316/464/41 321/465/41 317/461/41 -f 316/464/39 319/466/39 315/467/39 -f 318/463/40 319/468/40 315/469/40 -f 325/470/41 324/471/41 323/472/41 -f 328/473/40 329/474/40 327/475/40 -f 324/471/44 327/475/44 323/472/44 -f 329/476/38 333/477/38 327/478/38 -f 326/479/39 329/480/39 330/481/39 -f 326/479/38 328/482/38 324/471/38 -f 323/472/42 332/483/42 325/470/42 -f 333/484/40 332/483/40 331/485/40 -f 327/478/44 331/485/44 323/472/44 -f 329/486/39 332/483/39 334/487/39 -f 340/488/41 341/489/41 339/490/41 -f 337/491/45 340/488/45 335/492/45 -f 335/493/46 339/490/46 336/494/46 -f 336/495/47 341/489/47 338/496/47 -f 338/497/48 342/498/48 337/499/48 -f 347/500/44 349/501/44 348/502/44 -f 344/503/40 349/501/40 345/504/40 -f 345/505/38 350/506/38 346/507/38 -f 343/508/42 348/502/42 344/509/42 -f 346/510/41 347/500/41 343/511/41 -f 352/512/44 362/513/44 366/514/44 -f 355/515/42 363/516/42 358/517/42 -f 364/518/40 362/519/40 359/520/40 -f 358/517/39 364/521/39 360/522/39 -f 351/523/41 357/524/41 354/525/41 -f 352/526/49 354/525/49 353/527/49 -f 356/528/43 358/517/43 357/524/43 -f 366/514/50 364/518/50 363/516/50 -f 244/353/38 242/363/38 241/354/38 -f 262/356/39 263/529/39 265/357/39 -f 259/359/40 265/393/40 266/360/40 -f 251/362/40 250/370/40 241/354/40 -f 243/364/41 245/375/41 248/365/41 -f 244/369/39 248/530/39 252/367/39 -f 252/367/39 251/362/39 242/368/39 -f 250/370/42 251/362/42 252/367/42 -f 254/372/39 255/385/39 257/373/39 -f 245/375/43 249/371/43 252/367/43 -f 246/376/40 257/392/40 258/377/40 -f 243/380/44 241/531/44 249/371/44 -f 241/531/44 250/370/44 249/371/44 -f 247/381/44 258/532/44 256/382/44 -f 253/384/41 256/391/41 255/385/41 -f 260/361/44 266/360/44 264/386/44 -f 261/387/41 264/386/41 263/388/41 -f 258/390/38 265/533/38 263/388/38 -f 257/392/40 266/360/40 265/393/40 -f 255/385/42 264/386/42 266/394/42 -f 256/391/41 263/388/41 264/386/41 -f 259/358/42 269/534/42 270/396/42 -f 253/383/42 268/535/42 267/397/42 -f 279/398/39 281/412/39 282/399/39 -f 278/401/42 281/412/42 279/398/42 -f 272/403/41 268/536/41 253/384/41 -f 262/389/41 270/537/41 274/404/41 -f 273/405/40 269/538/40 259/359/40 -f 247/378/40 267/539/40 271/406/40 -f 275/407/38 280/400/38 282/399/38 -f 276/409/41 279/398/41 280/400/41 -f 277/411/40 282/399/40 281/412/40 -f 286/414/42 289/540/42 287/415/42 -f 284/416/41 287/541/41 288/417/41 -f 283/418/38 288/542/38 290/419/38 -f 285/420/40 290/543/40 289/421/40 -f 285/420/44 286/414/44 284/416/44 -f 291/422/41 293/434/41 294/423/41 -f 298/425/40 297/433/40 295/426/40 -f 294/423/39 298/425/39 296/428/39 -f 292/430/38 296/427/38 295/426/38 -f 291/432/44 295/544/44 297/433/44 -f 293/434/42 297/433/42 298/425/42 -f 305/435/39 306/439/39 303/436/39 -f 301/438/41 303/436/41 306/439/41 -f 300/441/40 305/435/40 304/437/40 -f 302/443/38 306/439/38 305/435/38 -f 299/445/42 304/437/42 303/436/42 -f 309/447/38 310/460/38 307/448/38 -f 312/450/42 314/459/42 313/451/42 -f 308/453/41 311/452/41 313/451/41 -f 307/455/44 312/450/44 311/452/44 -f 310/457/40 314/459/40 312/450/40 -f 309/447/39 313/451/39 314/459/39 -f 317/461/39 321/465/39 322/462/39 -f 316/464/41 320/545/41 321/465/41 -f 316/464/39 320/545/39 319/466/39 -f 318/463/40 322/462/40 319/468/40 -f 325/470/41 326/479/41 324/471/41 -f 328/473/40 330/546/40 329/474/40 -f 324/471/44 328/473/44 327/475/44 -f 329/476/38 334/547/38 333/477/38 -f 326/479/39 325/470/39 329/480/39 -f 326/479/38 330/548/38 328/482/38 -f 323/472/42 331/485/42 332/483/42 -f 333/484/40 334/549/40 332/483/40 -f 327/478/44 333/477/44 331/485/44 -f 329/486/39 325/470/39 332/483/39 -f 340/488/41 342/498/41 341/489/41 -f 337/491/45 342/498/45 340/488/45 -f 335/493/46 340/488/46 339/490/46 -f 336/495/47 339/490/47 341/489/47 -f 338/497/48 341/489/48 342/498/48 -f 347/500/44 350/506/44 349/501/44 -f 344/503/40 348/502/40 349/501/40 -f 345/505/38 349/501/38 350/506/38 -f 343/508/42 347/500/42 348/502/42 -f 346/510/41 350/506/41 347/500/41 -f 366/514/44 355/515/44 356/550/44 -f 356/550/44 351/551/44 352/512/44 -f 352/512/44 361/552/44 362/513/44 -f 362/513/44 365/553/44 366/514/44 -f 366/514/44 356/550/44 352/512/44 -f 355/515/42 366/514/42 363/516/42 -f 364/518/40 365/554/40 362/519/40 -f 360/522/39 353/555/39 354/556/39 -f 354/556/39 357/557/39 358/517/39 -f 358/517/39 363/516/39 364/521/39 -f 364/521/39 359/558/39 360/522/39 -f 360/522/39 354/556/39 358/517/39 -f 351/523/41 356/528/41 357/524/41 -f 352/526/49 351/523/49 354/525/49 -f 356/528/43 355/515/43 358/517/43 -f 366/514/50 365/554/50 364/518/50 +f 276/401/48 273/402/48 275/403/48 +f 294/404/49 297/405/49 291/406/49 +f 291/407/50 298/408/50 292/409/50 +f 283/410/50 273/402/50 274/411/50 +f 275/412/51 280/413/51 276/414/51 +f 284/415/49 274/416/49 276/417/49 +f 282/418/52 284/415/52 281/419/52 +f 286/420/49 289/421/49 278/422/49 +f 277/423/53 284/415/53 280/413/53 +f 278/424/50 290/425/50 279/426/50 +f 281/419/54 277/427/54 275/428/54 +f 279/429/54 288/430/54 285/431/54 +f 285/432/51 287/433/51 286/420/51 +f 292/409/54 296/434/54 293/435/54 +f 293/435/51 295/436/51 294/437/51 +f 290/438/48 295/436/48 288/439/48 +f 289/440/50 297/441/50 290/425/50 +f 287/433/52 298/442/52 289/443/52 +f 288/439/51 296/434/51 287/433/51 +f 291/406/52 302/444/52 294/404/52 +f 285/431/52 299/445/52 279/429/52 +f 311/446/49 314/447/49 312/448/49 +f 310/449/52 311/446/52 308/450/52 +f 304/451/51 285/432/51 286/420/51 +f 294/437/51 306/452/51 293/435/51 +f 305/453/50 291/407/50 292/409/50 +f 279/426/50 303/454/50 278/424/50 +f 307/455/48 314/447/48 309/456/48 +f 308/457/51 312/448/51 307/458/51 +f 309/459/50 313/460/50 310/461/50 +f 318/462/52 319/463/52 316/464/52 +f 316/464/51 320/465/51 315/466/51 +f 315/466/48 322/467/48 317/468/48 +f 317/468/50 321/469/50 318/462/50 +f 317/468/54 316/464/54 315/466/54 +f 323/470/51 326/471/51 324/472/51 +f 330/473/50 327/474/50 328/475/50 +f 326/471/49 328/476/49 324/477/49 +f 324/478/48 327/474/48 323/479/48 +f 323/480/54 329/481/54 325/482/54 +f 325/482/52 330/473/52 326/471/52 +f 333/483/51 332/484/51 331/485/51 +f 336/486/50 337/487/50 335/488/50 +f 332/484/54 335/488/54 331/485/54 +f 337/489/48 341/490/48 335/491/48 +f 334/492/49 337/493/49 338/494/49 +f 334/492/48 336/495/48 332/484/48 +f 331/485/52 340/496/52 333/483/52 +f 341/497/50 340/496/50 339/498/50 +f 335/491/54 339/498/54 331/485/54 +f 337/499/49 340/496/49 342/500/49 +f 347/501/54 349/502/54 348/503/54 +f 344/504/50 349/502/50 345/505/50 +f 345/506/48 350/507/48 346/508/48 +f 343/509/52 348/503/52 344/510/52 +f 346/511/51 347/501/51 343/512/51 +f 352/513/54 362/514/54 366/515/54 +f 355/516/52 363/517/52 358/518/52 +f 364/519/50 362/520/50 359/521/50 +f 358/518/49 364/522/49 360/523/49 +f 351/524/51 357/525/51 354/526/51 +f 352/527/55 354/526/55 353/528/55 +f 356/529/53 358/518/53 357/525/53 +f 366/515/56 364/519/56 363/517/56 +f 276/401/48 274/411/48 273/402/48 +f 294/404/49 295/530/49 297/405/49 +f 291/407/50 297/441/50 298/408/50 +f 283/410/50 282/418/50 273/402/50 +f 275/412/51 277/423/51 280/413/51 +f 276/417/49 280/531/49 284/415/49 +f 284/415/49 283/410/49 274/416/49 +f 282/418/52 283/410/52 284/415/52 +f 286/420/49 287/433/49 289/421/49 +f 277/423/53 281/419/53 284/415/53 +f 278/424/50 289/440/50 290/425/50 +f 275/428/54 273/532/54 281/419/54 +f 273/532/54 282/418/54 281/419/54 +f 279/429/54 290/533/54 288/430/54 +f 285/432/51 288/439/51 287/433/51 +f 292/409/54 298/408/54 296/434/54 +f 293/435/51 296/434/51 295/436/51 +f 290/438/48 297/534/48 295/436/48 +f 289/440/50 298/408/50 297/441/50 +f 287/433/52 296/434/52 298/442/52 +f 288/439/51 295/436/51 296/434/51 +f 291/406/52 301/535/52 302/444/52 +f 285/431/52 300/536/52 299/445/52 +f 311/446/49 313/460/49 314/447/49 +f 310/449/52 313/460/52 311/446/52 +f 304/451/51 300/537/51 285/432/51 +f 294/437/51 302/538/51 306/452/51 +f 305/453/50 301/539/50 291/407/50 +f 279/426/50 299/540/50 303/454/50 +f 307/455/48 312/448/48 314/447/48 +f 308/457/51 311/446/51 312/448/51 +f 309/459/50 314/447/50 313/460/50 +f 318/462/52 321/541/52 319/463/52 +f 316/464/51 319/542/51 320/465/51 +f 315/466/48 320/543/48 322/467/48 +f 317/468/50 322/544/50 321/469/50 +f 317/468/54 318/462/54 316/464/54 +f 323/470/51 325/482/51 326/471/51 +f 330/473/50 329/481/50 327/474/50 +f 326/471/49 330/473/49 328/476/49 +f 324/478/48 328/475/48 327/474/48 +f 323/480/54 327/545/54 329/481/54 +f 325/482/52 329/481/52 330/473/52 +f 333/483/51 334/492/51 332/484/51 +f 336/486/50 338/546/50 337/487/50 +f 332/484/54 336/486/54 335/488/54 +f 337/489/48 342/547/48 341/490/48 +f 334/492/49 333/483/49 337/493/49 +f 334/492/48 338/548/48 336/495/48 +f 331/485/52 339/498/52 340/496/52 +f 341/497/50 342/549/50 340/496/50 +f 335/491/54 341/490/54 339/498/54 +f 337/499/49 333/483/49 340/496/49 +f 347/501/54 350/507/54 349/502/54 +f 344/504/50 348/503/50 349/502/50 +f 345/506/48 349/502/48 350/507/48 +f 343/509/52 347/501/52 348/503/52 +f 346/511/51 350/507/51 347/501/51 +f 366/515/54 355/516/54 356/550/54 +f 356/550/54 351/551/54 352/513/54 +f 352/513/54 361/552/54 362/514/54 +f 362/514/54 365/553/54 366/515/54 +f 366/515/54 356/550/54 352/513/54 +f 355/516/52 366/515/52 363/517/52 +f 364/519/50 365/554/50 362/520/50 +f 360/523/49 353/555/49 354/556/49 +f 354/556/49 357/557/49 358/518/49 +f 358/518/49 363/517/49 364/522/49 +f 364/522/49 359/558/49 360/523/49 +f 360/523/49 354/556/49 358/518/49 +f 351/524/51 356/529/51 357/525/51 +f 352/527/55 351/524/55 354/526/55 +f 356/529/53 355/516/53 358/518/53 +f 366/515/56 365/554/56 364/519/56