yeah whatever

This commit is contained in:
Bob 2023-11-26 20:27:58 +01:00
parent bdbb960db2
commit 06181f08d9
51 changed files with 2819 additions and 102 deletions

View File

@ -8,21 +8,25 @@
* Replaces insulator in many recipes where electrical insulation that is potentially made from brick doesn't make sense, like rubber gas masks, jackets, tools and so on
* Latex is interchangable with rubber in all recipes where it's used, but not the other way round
* The old insulator is now mainly used for electrical and heat insulation as well as PWR rods
* Radar screen
* Radars can be linked to one radar screen, which will display all detected blips
* Right-clicking the radar screen will open the GUI of the radar that it is linked to
## Changed
* Light oil and cracked light oil can now be refomred into large quantities of aromatic hydrocarbons a well as some reformate gas
* Light oil and cracked light oil can now be reformed into large quantities of aromatic hydrocarbons a well as some reformate gas
* The painsaw ability no longer drops ammo and syringes, instead it drops nitra
* Radars have been completely rewritten
* Dots will now move smoothly across the screen, instead of jittering and being bound to the pixel grid
* Radars no longer use CPU-intensive full scans of the map, instead of using an optimized search for nearby scannable entities
* There's now a dedicated toggle for detecing artillery shells
* There's now a dedicated toggle for detecting artillery shells
* Radars now have a local area map that can be enabled
* The map scans up to 100 points per tick, the display can show 40,000 points
* The map will scan loaded chunks instantly, unloaded chunks have a limit of 5 chunk loads per tick to prevent excessive lag
* The chunk load limit can be adjusted in the machine config file
* The map will scan loaded chunks instantly, unloaded chunks have a limit 10 chunkloads per tick to prevent excessive lag. Chunks that have not yet been generated yet will show up as black spots, and will never be loaded
* The chunk load limit as well as whether chunks should be generated can be adjusted in the machine config file
* The map will show terrain height between Y:50 and Y:128, anything outside that range is truncated
* Radars now have a second GUI which allows the use of a battery, as well as linking the radar to other machines
* By using the number keys, the radar can now launch missiles, ABMs or artillery at the current aimed at position
* Radars can be linked to one additional radar screen which shows part of the radar's GUI in-world
* The turbofan's afterburner now adds a 33% efficiency bonus for every level. This means that instead of the efficiency remaining constant between levels, a tier 3 upgrade will yield double efficiency.
* Reduced the flarestack's base energy efficiency
* Trenchmaster armor is now unbreakable
@ -30,11 +34,13 @@
* The arc welder recipes for enhanced and advanced circuits now use only 100mB of fluid instead of 250mB
* Completely rewrote the missile base code, missiles now accelerate smoothly instead of in increments and use interpolated movement, making them less jittery
* Missiles now have a slightly higher top-speed
* Remodeled the anti-ballistic missile
* Remodeled tier 1, 2 and 3 missiles as well as the anti-ballistic missile
* Anti-ballistic missiles now use predictive targeting as well as a heightened sensor range of 1,000 blocks (instead of 500) which should make them a lot more effective
* Anti-ballistic missiles accelerate 4x faster than normal missiles and have a 50% higher top-speed
* Anti-ballistic missiles can now load their own chunks, allowing them to get to far away incoming missiles without getting stuck
* PWRs that have recently been close to unloaded chunks now have a 40 tick timeframe where they are "frozen", only trying to connect to a fluid network but not doing any fission, this should reduce the amount of meltdowns caused by chunkloading
* Glyphid hive blocks now have some color variance
* Glpyhid spawners now have a unique texture
## Fixed
* Fixed thorium bedrock ore using the wrong ore dict key, making it unable to be processed via centrifuge or acidizer
@ -42,4 +48,5 @@
* Fixed bismuth billets not being oredicted, making BFB PWR rods uncraftable
* Fixed missile chunkloading having rounding issues, sometimes causing them to get stuck in unloaded chunks while crossing chunk borders
* Fixed drones not being listed in the creative tabs
* Fixed pre-defined fluid duct items not being being able to be placed where replacable blocks are, eg. water
* Fixed pre-defined fluid duct items not being being able to be placed where replacable blocks are, eg. water
* Fixed horrible gamebreaking bug where the reinforced glass pane has too much blast resistance

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4775
mod_build_number=4795
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\

View File

@ -1548,8 +1548,8 @@ public class ModBlocks {
asphalt_light = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light");
reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick");
reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(25.0F);
reinforced_glass_pane = new BlockNTMGlassPane(0, RefStrings.MODID + ":reinforced_glass_pane", RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(200.0F);
reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(2.0F).setResistance(25.0F);
reinforced_glass_pane = new BlockNTMGlassPane(0, RefStrings.MODID + ":reinforced_glass_pane", RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(2.0F).setResistance(25.0F);
reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light");
reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand");
reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off");

View File

@ -77,6 +77,8 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements
if(this.tracking != null) {
this.aimAtTarget();
} else {
if(this.ticksExisted > 600) this.setDead();
}
}
@ -127,8 +129,9 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements
Vec3 motion = Vec3.createVectorHelper(predicted.xCoord - posX, predicted.yCoord - posY, predicted.zCoord - posZ).normalize();
if(delta.lengthVector() < 10 && activationTimer >= 40) {
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 15F, true, false, false);
this.killAndClear();
}
this.motionX = motion.xCoord * baseSpeed;
@ -139,8 +142,8 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements
@Override
protected void onImpact(MovingObjectPosition mop) {
if(this.activationTimer >= 40) {
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 20F, true, false, false);
this.killAndClear();
}
}
@ -205,8 +208,9 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements
}
}
public void killAndClear() {
this.setDead();
@Override
public void setDead() {
super.setDead();
this.clearChunkLoader();
}

View File

@ -215,10 +215,10 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
}
protected void killMissile() {
this.setDead();
ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true);
ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075);
ExplosionLarge.spawnMissileDebris(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 0.25, getDebris(), getDebrisRareDrop());
this.killAndClear();
}
@Override
@ -231,7 +231,7 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
protected void onImpact(MovingObjectPosition mop) {
if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) {
this.onImpact();
this.killAndClear();
this.setDead();
}
}
@ -290,8 +290,9 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
}
}
public void killAndClear() {
this.setDead();
@Override
public void setDead() {
super.setDead();
this.clearChunkLoader();
}

View File

@ -4,7 +4,6 @@ import java.util.Arrays;
import org.lwjgl.opengl.GL11;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.packet.NBTControlPacket;
import com.hbm.packet.PacketDispatcher;
@ -224,32 +223,29 @@ public class GUIMachineRadarNT extends GuiScreen {
if(checkClick(lastMouseX, lastMouseY, 8, 17, 200, 200) && c >= '1' && c <= '8') {
int id = c - '1';
if(radar.slots[id] != null && radar.slots[id].getItem() == ModItems.radar_linker) {
if(!radar.entries.isEmpty()) {
for(RadarEntry m : radar.entries) {
int x = guiLeft + (int)((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108;
int z = guiTop + (int)((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117;
if(lastMouseX + 5 > x && lastMouseX - 4 <= x && lastMouseY + 5 > z && lastMouseY - 4 <= z) {
NBTTagCompound data = new NBTTagCompound();
data.setInteger("launchEntity", m.entityID);
data.setInteger("link", id);
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, radar.xCoord, radar.yCoord, radar.zCoord));
return;
}
if(!radar.entries.isEmpty()) {
for(RadarEntry m : radar.entries) {
int x = guiLeft + (int) ((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108;
int z = guiTop + (int) ((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117;
if(lastMouseX + 5 > x && lastMouseX - 4 <= x && lastMouseY + 5 > z && lastMouseY - 4 <= z) {
NBTTagCompound data = new NBTTagCompound();
data.setInteger("launchEntity", m.entityID);
data.setInteger("link", id);
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, radar.xCoord, radar.yCoord, radar.zCoord));
return;
}
}
int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord);
int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord);
NBTTagCompound data = new NBTTagCompound();
data.setInteger("launchPosX", tX);
data.setInteger("launchPosZ", tZ);
data.setInteger("link", id);
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, radar.xCoord, radar.yCoord, radar.zCoord));
}
int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord);
int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord);
NBTTagCompound data = new NBTTagCompound();
data.setInteger("launchPosX", tX);
data.setInteger("launchPosZ", tZ);
data.setInteger("link", id);
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, radar.xCoord, radar.yCoord, radar.zCoord));
}
}

View File

@ -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 (4775)";
public static final String VERSION = "1.0.27 BETA (4795)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -1004,6 +1004,8 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.crane_splitter), new Object[] { "III", "PCP", "III", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', STEEL.ingot(), 'C', ModItems.circuit_aluminium });
addRecipeAuto(new ItemStack(ModBlocks.machine_conveyor_press), new Object[] { "CPC", "CBC", "CCC", 'C', CU.plate(), 'P', ModBlocks.machine_epress, 'B', ModBlocks.conveyor });
addRecipeAuto(new ItemStack(ModBlocks.radar_screen), new Object[] { "PCP", "SRS", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.circuit_aluminium, 'S', STEEL.plate(), 'R', ModItems.crt_display });
addRecipeAuto(new ItemStack(ModItems.radar_linker), new Object[] { "S", "C", "P", 'S', ModItems.crt_display, 'C', ModItems.circuit_copper, 'P', STEEL.plate() });
addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { "PPP", "HCH", " B ", 'P', ANY_PLASTIC.ingot(), 'H', ModItems.hull_small_steel, 'C', ModItems.circuit_copper, 'B', ModBlocks.crate_steel });
addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()), new Object[] { "E", "D", 'E', Items.ender_pearl, 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) });

View File

@ -1013,8 +1013,8 @@ public class ResourceManager {
//Missiles
public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asDisplayList();
public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asDisplayList();
public static final IModelCustom missileStrong = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileGeneric.obj"));
public static final IModelCustom missileHuge = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileHuge.obj"));
public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj"));
public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj"));
public static final IModelCustom missileNuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileNeon.obj"));
public static final IModelCustom missileMIRV = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileMIRV.obj"));
public static final IModelCustom missileThermo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileThermo.obj"));
@ -1156,15 +1156,15 @@ public class ResourceManager {
public static final ResourceLocation missileV2_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_cl.png");
public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_bu.png");
public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_abm.png");
public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_HE.png");
public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_EMP.png");
public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_IN.png");
public static final ResourceLocation missileStrong_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_CL.png");
public static final ResourceLocation missileStrong_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_BU.png");
public static final ResourceLocation missileHuge_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileHuge_HE.png");
public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileHuge_IN.png");
public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileHuge_CL.png");
public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileHuge_BU.png");
public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong.png");
public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_emp.png");
public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_inc.png");
public static final ResourceLocation missileStrong_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_cl.png");
public static final ResourceLocation missileStrong_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_bu.png");
public static final ResourceLocation missileHuge_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge.png");
public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_inc.png");
public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_cl.png");
public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_bu.png");
public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeon.png");
public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonH.png");
public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonV.png");

View File

@ -10,27 +10,29 @@ import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderMissileHuge extends Render {
public RenderMissileHuge() { }
public RenderMissileHuge() {
}
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
GL11.glScalef(2F, 2F, 2F);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
if(p_76986_1_ instanceof EntityMissileBurst)
bindTexture(ResourceManager.missileHuge_HE_tex);
if(p_76986_1_ instanceof EntityMissileInferno)
bindTexture(ResourceManager.missileHuge_IN_tex);
if(p_76986_1_ instanceof EntityMissileRain)
bindTexture(ResourceManager.missileHuge_CL_tex);
if(p_76986_1_ instanceof EntityMissileDrill)
bindTexture(ResourceManager.missileHuge_BU_tex);
ResourceManager.missileHuge.renderAll();
if(p_76986_1_ instanceof EntityMissileBurst)
bindTexture(ResourceManager.missileHuge_HE_tex);
if(p_76986_1_ instanceof EntityMissileInferno)
bindTexture(ResourceManager.missileHuge_IN_tex);
if(p_76986_1_ instanceof EntityMissileRain)
bindTexture(ResourceManager.missileHuge_CL_tex);
if(p_76986_1_ instanceof EntityMissileDrill)
bindTexture(ResourceManager.missileHuge_BU_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileHuge.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}

View File

@ -17,22 +17,24 @@ public class RenderMissileStrong extends Render {
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
GL11.glScalef(1.5F, 1.5F, 1.5F);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
if(p_76986_1_ instanceof EntityMissileStrong)
bindTexture(ResourceManager.missileStrong_HE_tex);
if(p_76986_1_ instanceof EntityMissileIncendiaryStrong)
bindTexture(ResourceManager.missileStrong_IN_tex);
if(p_76986_1_ instanceof EntityMissileClusterStrong)
bindTexture(ResourceManager.missileStrong_CL_tex);
if(p_76986_1_ instanceof EntityMissileBusterStrong)
bindTexture(ResourceManager.missileStrong_BU_tex);
if(p_76986_1_ instanceof EntityMissileEMPStrong)
bindTexture(ResourceManager.missileStrong_EMP_tex);
ResourceManager.missileStrong.renderAll();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glScalef(1.5F, 1.5F, 1.5F);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
if(p_76986_1_ instanceof EntityMissileStrong)
bindTexture(ResourceManager.missileStrong_HE_tex);
if(p_76986_1_ instanceof EntityMissileIncendiaryStrong)
bindTexture(ResourceManager.missileStrong_IN_tex);
if(p_76986_1_ instanceof EntityMissileClusterStrong)
bindTexture(ResourceManager.missileStrong_CL_tex);
if(p_76986_1_ instanceof EntityMissileBusterStrong)
bindTexture(ResourceManager.missileStrong_BU_tex);
if(p_76986_1_ instanceof EntityMissileEMPStrong)
bindTexture(ResourceManager.missileStrong_EMP_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}

View File

@ -41,7 +41,9 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
if(toRender.getItem() == ModItems.missile_strong) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.missileStrong_HE_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_cluster) {
GL11.glScalef(1.0F, 1.0F, 1.0F);
@ -72,37 +74,47 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
if(toRender.getItem() == ModItems.missile_incendiary_strong) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.missileStrong_IN_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_cluster_strong) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.missileStrong_CL_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_buster_strong) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.missileStrong_BU_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_burst) {
GL11.glScalef(2.0F, 2.0F, 2.0F);
bindTexture(ResourceManager.missileHuge_HE_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileHuge.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_inferno) {
GL11.glScalef(2.0F, 2.0F, 2.0F);
bindTexture(ResourceManager.missileHuge_IN_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileHuge.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_rain) {
GL11.glScalef(2.0F, 2.0F, 2.0F);
bindTexture(ResourceManager.missileHuge_CL_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileHuge.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_drill) {
GL11.glScalef(2.0F, 2.0F, 2.0F);
bindTexture(ResourceManager.missileHuge_BU_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileHuge.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_endo) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
@ -176,7 +188,9 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
if(toRender.getItem() == ModItems.missile_emp_strong) {
GL11.glScalef(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.missileStrong_EMP_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.missileStrong.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
if(toRender.getItem() == ModItems.missile_volcano) {
GL11.glScalef(1.5F, 1.5F, 1.5F);

View File

@ -3,17 +3,22 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.gui.GUIMachineRadarNT;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.tileentity.machine.TileEntityMachineRadarNT;
import com.hbm.tileentity.machine.TileEntityMachineRadarScreen;
import api.hbm.entity.RadarEntry;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderRadarScreen extends TileEntitySpecialRenderer {
public class RenderRadarScreen extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
@ -91,4 +96,22 @@ public class RenderRadarScreen extends TileEntitySpecialRenderer {
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.radar_screen);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
GL11.glTranslated(0, -3, 0);
GL11.glScaled(5.5, 5.5, 5.5);
}
public void renderCommonWithStack(ItemStack item) {
GL11.glTranslated(0, 0, -0.5);
bindTexture(ResourceManager.radar_screen_tex);
ResourceManager.radar_screen.renderAll();
}};
}
}

View File

@ -6,19 +6,27 @@ import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.render.model.ModelPigeon;
import com.hbm.render.util.HorsePronter;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class RendererObjTester extends TileEntitySpecialRenderer {
//private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj");
ModelPigeon pigeon = new ModelPigeon();
private static ResourceLocation extra = new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png");
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
@ -26,8 +34,32 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
bindTexture(ResourceManager.universal);
pigeon.render(null, 0, 0, 0, 0, 0, 0.0625F);
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
GL11.glTranslated(0, 0.1, 0.5);
this.bindTexture(extra);
HorsePronter.reset();
double r = 60;
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90);
HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35);
HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35);
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5);
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
HorsePronter.enableHorn();
HorsePronter.enableWings();
HorsePronter.pront();
ItemStack stack = new ItemStack(ModItems.cigarette);
double scale = 0.25;
GL11.glTranslated(0.02, 1.13, -0.42);
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, -1, 0);
GL11.glRotated(60, 0, 0, -1);
bindTexture(TextureMap.locationItemsTexture);
IIcon icon = stack.getIconIndex();
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
GL11.glPopMatrix();
}

View File

@ -24,6 +24,7 @@ import com.hbm.tileentity.IRadarCommandReceiver;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.Tuple.Triplet;
import com.hbm.util.fauxpointtwelve.BlockPos;
import com.hbm.world.WorldUtil;
import api.hbm.energy.IEnergyUser;
import api.hbm.entity.IRadarDetectable;
@ -34,7 +35,6 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@ -42,6 +42,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
@ -77,7 +78,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
public static int radarRange = 1_000;
public static int radarBuffer = 30;
public static int radarAltitude = 55;
public static int chunkLoadCap = 5;
public static int chunkLoadCap = 10;
public static boolean generateChunks = false;
public byte[] map = new byte[40_000];
public boolean clearFlag = false;
@ -97,6 +99,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
radarBuffer = IConfigurableMachine.grab(obj, "I:radarBuffer", radarBuffer);
radarAltitude = IConfigurableMachine.grab(obj, "I:radarAltitude", radarAltitude);
chunkLoadCap = IConfigurableMachine.grab(obj, "I:chunkLoadCap", chunkLoadCap);
generateChunks = IConfigurableMachine.grab(obj, "B:generateChunks", generateChunks);
}
@Override
@ -106,7 +109,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
writer.name("I:radarRange").value(radarRange);
writer.name("I:radarBuffer").value(radarBuffer);
writer.name("I:radarAltitude").value(radarAltitude);
writer.name("I:chunkLoadCap").value(chunkLoadCap);
writer.name("B:generateChunks").value(generateChunks);
}
public TileEntityMachineRadarNT() {
@ -162,9 +165,15 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128);
} else {
if(this.map[index] == 0 && chunkLoads < chunkLoadCap) {
worldObj.getChunkFromChunkCoords(x >> 4, z >> 4);
this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128);
chunkLoads++;
if(this.generateChunks) {
worldObj.getChunkFromChunkCoords(x >> 4, z >> 4);
this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128);
chunkLoads++;
} else {
WorldUtil.provideChunk((WorldServer) worldObj, x >> 4, z >> 4);
this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128);
if(worldObj.getChunkProvider().chunkExists(x >> 4, z >> 4)) chunkLoads++;
}
}
}
}
@ -492,7 +501,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
public static void updateSystem() {
matchingEntities.clear();
for(WorldServer world : Minecraft.getMinecraft().getIntegratedServer().worldServers) {
for(WorldServer world : MinecraftServer.getServer().worldServers) {
for(Object entity : world.loadedEntityList) {
for(Class clazz : classes) {
if(clazz.isAssignableFrom(entity.getClass())) {

View File

@ -9,8 +9,11 @@ import com.hbm.tileentity.IBufPacketReceiver;
import api.hbm.entity.RadarEntry;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityMachineRadarScreen extends TileEntity implements IBufPacketReceiver {
@ -58,4 +61,29 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack
this.entries.add(entry);
}
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord - 1,
yCoord,
zCoord - 1,
xCoord + 2,
yCoord + 2,
zCoord + 2
);
}
return bb;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -7,9 +7,13 @@ import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.storage.AnvilChunkLoader;
import net.minecraft.world.gen.ChunkProviderServer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.chunkio.ChunkIOExecutor;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
public class WorldUtil {
@ -34,7 +38,7 @@ public class WorldUtil {
PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(coord.chunkXPos, coord.chunkZPos, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, coord.getCenterXPos(), 128, coord.getCenterZPosition() /* who named you? */, 1024D));
}
/**Chunkloads the chunk the entity is going to spawn in and then spawns it
/**Chunkloads the chunk the entity is going to spawn in and then spawns it
* @param entity The entity to be spawned**/
/*fun fact: this is based off of joinEntityInSurroundings in World
@ -68,7 +72,31 @@ public class WorldUtil {
public static void syncBiomeChange(World world, int x, int z) {
Chunk chunk = world.getChunkFromBlockCoords(x, z);
byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)];
//byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)];
PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D));
}
public static Chunk provideChunk(WorldServer world, int chunkX, int chunkZ) {
ChunkProviderServer provider = world.theChunkProviderServer;
Chunk chunk = (Chunk) provider.loadedChunkHashMap.getValueByKey(ChunkCoordIntPair.chunkXZ2Int(chunkX, chunkZ));
if(chunk != null) return chunk;
return loadChunk(world, provider, chunkX, chunkZ);
}
private static Chunk loadChunk(WorldServer world, ChunkProviderServer provider, int chunkX, int chunkZ) {
long chunkCoord = ChunkCoordIntPair.chunkXZ2Int(chunkX, chunkZ);
provider.chunksToUnload.remove(Long.valueOf(chunkCoord));
Chunk chunk = (Chunk) provider.loadedChunkHashMap.getValueByKey(chunkCoord);
AnvilChunkLoader loader = null;
if(provider.currentChunkLoader instanceof AnvilChunkLoader) {
loader = (AnvilChunkLoader) provider.currentChunkLoader;
}
if(chunk == null && loader != null && loader.chunkExists(world, chunkX, chunkZ)) {
chunk = ChunkIOExecutor.syncChunkLoad(world, loader, provider, chunkX, chunkZ);
}
return chunk;
}
}

View File

@ -28,3 +28,6 @@ public net.minecraft.entity.EntityLivingBase field_82180_bT # pr
# ChunkProviderFlat
public net.minecraft.world.gen.ChunkProviderFlat field_82702_h # hasDungeons
# ChunkProviderServer
public net.minecraft.world.gen.ChunkProviderServer field_73248_b # chunksToUnload

View File

@ -529,6 +529,7 @@ entity.entity_glyphid_brenda.name=Brenda
entity.entity_glyphid_nuclear.name=Der dicke Johnson
entity.entity_glyphid_scout.name=Glyphid-Späher
entity.entity_ntm_fbi.name=FBI Agent
entity.entity_ntm_fbi_drone.name=FBI Drone
entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar
entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff
entity.entity_mob_hunter_chopper.name=Jagdschrauber
@ -2836,6 +2837,7 @@ item.protection_charm.name=Schutzamulett
item.prototype_kit.name=Prototyp Kit
item.pudding.name=Pudding
item.quartz_plutonium.name=Plutonisches Quarz
item.radar_linker.name=Radar-Linker
item.radaway.name=RadAway
item.radaway_flush.name=Elite-RadAway
item.radaway_strong.name=Starkes RadAway
@ -4338,6 +4340,7 @@ tile.pwr_port.name=PWR Zugangsport
tile.pwr_port.desc=Erlaubt IO für Items und Flüssigkeiten$Platzierung: Hülle
tile.pwr_reflector.name=PWR Neutronenreflektor
tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle
tile.radar_screen.name=Radarbildschirm
tile.radio_telex.name=Telex-Maschine
tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler
tile.radio_torch_counter.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Signal basiert auf Anzahl passender Items

View File

@ -1042,6 +1042,7 @@ entity.entity_glyphid_brenda.name=Brenda
entity.entity_glyphid_nuclear.name=Big Man Johnson
entity.entity_glyphid_scout.name=Glyphid Scout
entity.entity_ntm_fbi.name=FBI Agent
entity.entity_ntm_fbi_drone.name=FBI Drone
entity.entity_ntm_radiation_blaze.name=Meltdown Elemental
entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship
entity.entity_mob_hunter_chopper.name=Hunter Chopper
@ -3694,6 +3695,7 @@ item.pwr_fuel_hot.mep.name=Hot MEP PWR Fuel Rod
item.pwr_fuel_hot.meu.name=Hot MEU PWR Fuel Rod
item.pwr_fuel_hot.mox.name=Hot MOX PWR Fuel Rod
item.quartz_plutonium.name=Plutonic Quartz
item.radar_linker.name=Radar Linker
item.radaway.name=RadAway
item.radaway_flush.name=Elite RadAway
item.radaway_strong.name=Strong RadAway
@ -5332,6 +5334,7 @@ tile.pwr_port.name=PWR Access Port
tile.pwr_port.desc=Allows item and fluid IO$Placement: Casing
tile.pwr_reflector.name=PWR Neutron Reflector
tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for increased reactivity$Valid casing material
tile.radar_screen.name=Radar Screen
tile.radio_telex.name=Telex Machine
tile.radio_torch_counter.name=Redstone-over-Radio Item Counter
tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,979 @@
# Blender v2.79 (sub 0) OBJ File: 'missile_strong.blend'
# www.blender.org
o Circle
v 0.000000 4.125000 -0.625000
v -0.239177 4.125000 -0.577425
v -0.441942 4.125000 -0.441942
v -0.577425 4.125000 -0.239177
v -0.625000 4.125000 0.000000
v -0.577425 4.125000 0.239177
v -0.441942 4.125000 0.441942
v -0.239177 4.125000 0.577425
v -0.000000 4.125000 0.625000
v 0.239177 4.125000 0.577425
v 0.441942 4.125000 0.441942
v 0.577425 4.125000 0.239177
v 0.625000 4.125000 -0.000000
v 0.577425 4.125000 -0.239177
v 0.441942 4.125000 -0.441942
v 0.239177 4.125000 -0.577425
v 0.000000 4.875000 -0.630000
v -0.241091 4.875000 -0.582044
v -0.445477 4.875000 -0.445477
v -0.582044 4.875000 -0.241091
v -0.630000 4.875000 0.000000
v -0.582044 4.875000 0.241091
v -0.445477 4.875000 0.445477
v -0.241091 4.875000 0.582044
v -0.000000 4.875000 0.630000
v 0.241090 4.875000 0.582044
v 0.445477 4.875000 0.445477
v 0.582044 4.875000 0.241091
v 0.630000 4.875000 -0.000000
v 0.582044 4.875000 -0.241091
v 0.445477 4.875000 -0.445477
v 0.241090 4.875000 -0.582044
v 0.000000 5.000000 -0.500000
v -0.191342 5.000000 -0.461940
v -0.353553 5.000000 -0.353553
v -0.461940 5.000000 -0.191342
v -0.500000 5.000000 0.000000
v -0.461940 5.000000 0.191342
v -0.353553 5.000000 0.353553
v -0.191342 5.000000 0.461940
v -0.000000 5.000000 0.500000
v 0.191342 5.000000 0.461940
v 0.353553 5.000000 0.353554
v 0.461940 5.000000 0.191342
v 0.500000 5.000000 -0.000000
v 0.461940 5.000000 -0.191342
v 0.353553 5.000000 -0.353554
v 0.191341 5.000000 -0.461940
v 0.000000 6.000000 0.000000
v 0.000000 4.000000 -0.500000
v -0.191342 4.000000 -0.461940
v -0.353553 4.000000 -0.353553
v -0.461940 4.000000 -0.191342
v -0.500000 4.000000 0.000000
v -0.461940 4.000000 0.191342
v -0.353553 4.000000 0.353553
v -0.191342 4.000000 0.461940
v -0.000000 4.000000 0.500000
v 0.191342 4.000000 0.461940
v 0.353553 4.000000 0.353554
v 0.461940 4.000000 0.191342
v 0.500000 4.000000 -0.000000
v 0.461940 4.000000 -0.191342
v 0.353553 4.000000 -0.353554
v 0.191341 4.000000 -0.461940
v 0.000000 3.500000 -0.500000
v -0.191342 3.500000 -0.461940
v -0.353553 3.500000 -0.353553
v -0.461940 3.500000 -0.191342
v -0.500000 3.500000 0.000000
v -0.461940 3.500000 0.191342
v -0.353553 3.500000 0.353553
v -0.191342 3.500000 0.461940
v -0.000000 3.500000 0.500000
v 0.191342 3.500000 0.461940
v 0.353553 3.500000 0.353554
v 0.461940 3.500000 0.191342
v 0.500000 3.500000 -0.000000
v 0.461940 3.500000 -0.191342
v 0.353553 3.500000 -0.353554
v 0.191341 3.500000 -0.461940
v 0.000000 2.500000 -0.625000
v -0.239177 2.500000 -0.577425
v -0.441942 2.500000 -0.441942
v -0.577425 2.500000 -0.239177
v -0.625000 2.500000 0.000000
v -0.577425 2.500000 0.239177
v -0.441942 2.500000 0.441942
v -0.239177 2.500000 0.577425
v -0.000000 2.500000 0.625000
v 0.239177 2.500000 0.577425
v 0.441942 2.500000 0.441942
v 0.577425 2.500000 0.239177
v 0.625000 2.500000 -0.000000
v 0.577425 2.500000 -0.239177
v 0.441942 2.500000 -0.441942
v 0.239177 2.500000 -0.577425
v 0.000000 0.500000 -0.625000
v -0.239177 0.500000 -0.577425
v -0.441942 0.500000 -0.441942
v -0.577425 0.500000 -0.239177
v -0.625000 0.500000 0.000000
v -0.577425 0.500000 0.239177
v -0.441942 0.500000 0.441942
v -0.239177 0.500000 0.577425
v -0.000000 0.500000 0.625000
v 0.239177 0.500000 0.577425
v 0.441942 0.500000 0.441942
v 0.577425 0.500000 0.239177
v 0.625000 0.500000 -0.000000
v 0.577425 0.500000 -0.239177
v 0.441942 0.500000 -0.441942
v 0.239177 0.500000 -0.577425
v 0.000000 0.500000 -0.500000
v -0.191342 0.500000 -0.461940
v -0.353553 0.500000 -0.353553
v -0.461940 0.500000 -0.191342
v -0.500000 0.500000 0.000000
v -0.461940 0.500000 0.191342
v -0.353553 0.500000 0.353553
v -0.191342 0.500000 0.461940
v -0.000000 0.500000 0.500000
v 0.191342 0.500000 0.461940
v 0.353553 0.500000 0.353554
v 0.461940 0.500000 0.191342
v 0.500000 0.500000 -0.000000
v 0.461940 0.500000 -0.191342
v 0.353553 0.500000 -0.353554
v 0.191341 0.500000 -0.461940
v 0.000000 0.000000 -0.500000
v -0.191342 0.000000 -0.461940
v -0.353553 0.000000 -0.353553
v -0.461940 0.000000 -0.191342
v -0.500000 0.000000 0.000000
v -0.461940 0.000000 0.191342
v -0.353553 0.000000 0.353553
v -0.191342 0.000000 0.461940
v -0.000000 0.000000 0.500000
v 0.191342 0.000000 0.461940
v 0.353553 0.000000 0.353554
v 0.461940 0.000000 0.191342
v 0.500000 0.000000 -0.000000
v 0.461940 0.000000 -0.191342
v 0.353553 0.000000 -0.353554
v 0.191341 0.000000 -0.461940
v 0.333224 4.750000 -0.377418
v 0.885651 4.500000 -0.885651
v 0.333224 4.250000 -0.377418
v 0.885651 4.250000 -0.885651
v 0.377418 4.750000 -0.333224
v 0.377418 4.250000 -0.333224
v 0.377418 4.750000 0.333224
v 0.885652 4.500000 0.885651
v 0.377418 4.250000 0.333224
v 0.885652 4.250000 0.885651
v 0.333224 4.750000 0.377418
v 0.333224 4.250000 0.377418
v 0.375651 2.250000 0.331456
v 0.883884 1.500000 0.883883
v 0.375651 0.250000 0.331456
v 0.883884 0.250000 0.883883
v 0.331456 2.250000 0.375650
v 0.331456 0.250000 0.375650
v -0.331456 0.250000 -0.375650
v -0.331456 2.250000 -0.375650
v -0.883884 0.250000 -0.883883
v -0.375651 0.250000 -0.331456
v -0.883884 1.500000 -0.883883
v -0.375651 2.250000 -0.331456
v 0.331456 2.250000 -0.375650
v 0.883883 1.500000 -0.883883
v 0.331456 0.250000 -0.375650
v 0.883883 0.250000 -0.883883
v 0.375650 2.250000 -0.331456
v 0.375650 0.250000 -0.331456
v -0.333224 4.250000 -0.377418
v -0.333224 4.750000 -0.377418
v -0.885651 4.250000 -0.885651
v -0.377418 4.250000 -0.333224
v -0.885651 4.500000 -0.885651
v -0.377418 4.750000 -0.333224
v -0.375650 0.250000 0.331456
v -0.375650 2.250000 0.331456
v -0.883883 0.250000 0.883883
v -0.331456 0.250000 0.375651
v -0.883883 1.500000 0.883883
v -0.331456 2.250000 0.375651
v -0.377418 4.250000 0.333224
v -0.377418 4.750000 0.333224
v -0.885651 4.250000 0.885651
v -0.333224 4.250000 0.377418
v -0.885651 4.500000 0.885651
v -0.333224 4.750000 0.377418
vt 0.350000 0.102041
vt 0.387500 0.081633
vt 0.400000 0.102041
vt 0.437500 0.081633
vt 0.450000 0.102041
vt 0.450000 0.081633
vt 0.500000 0.102041
vt 0.500000 0.081633
vt 0.550000 0.102041
vt 0.550000 0.081633
vt 0.600000 0.102041
vt 0.600000 0.081633
vt 0.650000 0.102041
vt 0.650000 0.081633
vt 0.700000 0.102041
vt 0.737500 0.081633
vt 0.750000 0.102041
vt 0.750000 0.081633
vt 0.800000 0.102041
vt 0.000000 0.102041
vt 0.037500 0.081633
vt 0.050000 0.102041
vt 0.087500 0.081633
vt 0.100000 0.102041
vt 0.100000 0.081633
vt 0.150000 0.102041
vt 0.150000 0.081633
vt 0.200000 0.102041
vt 0.237500 0.081633
vt 0.250000 0.102041
vt 0.250000 0.081633
vt 0.300000 0.102041
vt 0.300000 0.081633
vt 0.970508 0.024075
vt 0.970508 0.139190
vt 0.829492 0.139190
vt 0.950000 0.561224
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.950000 0.602041
vt 0.800000 0.612245
vt 0.800000 0.510204
vt 0.950000 0.520408
vt 0.950000 0.561224
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.950000 0.602041
vt 0.800000 0.612245
vt 0.800000 0.510204
vt 0.950000 0.520408
vt 0.950000 0.377551
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.950000 0.500000
vt 0.800000 0.510204
vt 0.800000 0.163265
vt 0.950000 0.173469
vt 0.800000 0.163265
vt 0.950000 0.173469
vt 0.800000 0.173469
vt 0.950000 0.500000
vt 0.800000 0.510204
vt 0.800000 0.500000
vt 0.950000 0.377551
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.950000 0.377551
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.950000 0.500000
vt 0.800000 0.510204
vt 0.800000 0.163265
vt 0.950000 0.173469
vt 0.800000 0.510204
vt 0.950000 0.520408
vt 0.800000 0.520408
vt 0.950000 0.602041
vt 0.800000 0.612245
vt 0.800000 0.602041
vt 0.950000 0.561224
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.800000 0.163265
vt 0.950000 0.173469
vt 0.800000 0.173469
vt 0.950000 0.500000
vt 0.800000 0.510204
vt 0.800000 0.500000
vt 0.950000 0.377551
vt 0.800000 0.173469
vt 0.800000 0.500000
vt 0.800000 0.510204
vt 0.950000 0.520408
vt 0.800000 0.520408
vt 0.950000 0.602041
vt 0.800000 0.612245
vt 0.800000 0.602041
vt 0.950000 0.561224
vt 0.800000 0.520408
vt 0.800000 0.602041
vt 0.350000 0.081633
vt 0.400000 0.081633
vt 0.487500 0.081633
vt 0.537500 0.081633
vt 0.587500 0.081633
vt 0.637500 0.081633
vt 0.687500 0.081633
vt 0.700000 0.081633
vt 0.787500 0.081633
vt 0.000000 0.081633
vt 0.050000 0.081633
vt 0.137500 0.081633
vt 0.187500 0.081633
vt 0.200000 0.081633
vt 0.287500 0.081633
vt 0.337500 0.081633
vt 0.992123 0.050483
vt 0.999714 0.081633
vt 0.992123 0.112783
vt 0.938159 0.156836
vt 0.900000 0.163032
vt 0.861841 0.156836
vt 0.807876 0.112783
vt 0.800286 0.081633
vt 0.807877 0.050483
vt 0.829492 0.024075
vt 0.861841 0.006430
vt 0.900000 0.000234
vt 0.938159 0.006430
vt 0.700000 0.693878
vt 0.650000 0.816327
vt 0.650000 0.693878
vt 0.300000 0.693878
vt 0.250000 0.816327
vt 0.250000 0.693878
vt 0.750000 0.693878
vt 0.700000 0.816327
vt 0.350000 0.693878
vt 0.300000 0.816327
vt 0.800000 0.693878
vt 0.750000 0.816327
vt 0.400000 0.693878
vt 0.350000 0.816327
vt 0.050000 0.693878
vt 0.000000 0.816327
vt -0.000000 0.693878
vt 0.450000 0.693878
vt 0.400000 0.816327
vt 0.100000 0.693878
vt 0.050000 0.816327
vt 0.500000 0.693878
vt 0.450000 0.816327
vt 0.150000 0.693878
vt 0.100000 0.816327
vt 0.550000 0.693878
vt 0.500000 0.816327
vt 0.200000 0.693878
vt 0.150000 0.816327
vt 0.600000 0.816327
vt 0.600000 0.693878
vt 0.550000 0.816327
vt 0.200000 0.816327
vt 0.150000 0.836735
vt 0.600000 0.836735
vt 0.550000 0.836735
vt 0.200000 0.836735
vt 0.650000 0.836735
vt 0.250000 0.836735
vt 0.700000 0.836735
vt 0.337500 0.836735
vt 0.300000 0.836735
vt 0.800000 0.816327
vt 0.750000 0.836735
vt 0.350000 0.836735
vt -0.000000 0.836735
vt 0.437500 0.836735
vt 0.400000 0.836735
vt 0.050000 0.836735
vt 0.450000 0.836735
vt 0.100000 0.836735
vt 0.500000 0.836735
vt 0.300000 0.673469
vt 0.687500 0.836735
vt 0.662500 1.000000
vt 0.737500 0.836735
vt 0.712500 1.000000
vt 0.787500 0.836735
vt 0.762500 1.000000
vt 0.037500 0.836735
vt 0.012500 1.000000
vt 0.087500 0.836735
vt 0.062500 1.000000
vt 0.137500 0.836735
vt 0.112500 1.000000
vt 0.187500 0.836735
vt 0.162500 1.000000
vt 0.237500 0.836735
vt 0.212500 1.000000
vt 0.287500 0.836735
vt 0.262500 1.000000
vt 0.312500 1.000000
vt 0.387500 0.836735
vt 0.362500 1.000000
vt 0.412500 1.000000
vt 0.487500 0.836735
vt 0.462500 1.000000
vt 0.537500 0.836735
vt 0.512500 1.000000
vt 0.587500 0.836735
vt 0.562500 1.000000
vt 0.637500 0.836735
vt 0.612500 1.000000
vt 0.350000 0.673469
vt 0.400000 0.673469
vt 0.450000 0.673469
vt 0.500000 0.673469
vt 0.587500 0.673469
vt 0.600000 0.673469
vt 0.650000 0.673469
vt 0.700000 0.673469
vt 0.750000 0.673469
vt 0.000000 0.673469
vt 0.050000 0.673469
vt 0.100000 0.673469
vt 0.150000 0.673469
vt 0.200000 0.673469
vt 0.250000 0.673469
vt 0.687500 0.591837
vt 0.687500 0.673469
vt 0.287500 0.591837
vt 0.287500 0.673469
vt 0.737500 0.591837
vt 0.737500 0.673469
vt 0.337500 0.591837
vt 0.337500 0.673469
vt 0.787500 0.591837
vt 0.787500 0.673469
vt 0.387500 0.591837
vt 0.387500 0.673469
vt 0.037500 0.591837
vt 0.037500 0.673469
vt 0.437500 0.591837
vt 0.437500 0.673469
vt 0.087500 0.591837
vt 0.087500 0.673469
vt 0.487500 0.591837
vt 0.487500 0.673469
vt 0.137500 0.591837
vt 0.137500 0.673469
vt 0.537500 0.591837
vt 0.537500 0.673469
vt 0.187500 0.591837
vt 0.187500 0.673469
vt 0.637500 0.591837
vt 0.637500 0.673469
vt 0.550000 0.673469
vt 0.587500 0.591837
vt 0.237500 0.591837
vt 0.237500 0.673469
vt 0.100000 0.591837
vt 0.150000 0.428571
vt 0.500000 0.591837
vt 0.550000 0.428571
vt 0.150000 0.591837
vt 0.200000 0.428571
vt 0.600000 0.591837
vt 0.650000 0.428571
vt 0.550000 0.591837
vt 0.600000 0.428571
vt 0.250000 0.428571
vt 0.650000 0.591837
vt 0.700000 0.428571
vt 0.250000 0.591837
vt 0.300000 0.428571
vt 0.700000 0.591837
vt 0.750000 0.428571
vt 0.300000 0.591837
vt 0.350000 0.428571
vt 0.750000 0.591837
vt 0.800000 0.428571
vt 0.350000 0.591837
vt 0.400000 0.428571
vt -0.000000 0.591837
vt 0.050000 0.428571
vt 0.400000 0.591837
vt 0.450000 0.428571
vt 0.050000 0.591837
vt 0.100000 0.428571
vt 0.450000 0.591837
vt 0.500000 0.428571
vt 0.000000 0.428571
vt 0.537500 -0.000000
vt 0.187500 0.000000
vt 0.637500 0.000000
vt 0.587500 0.000000
vt 0.237500 0.000000
vt 0.687500 0.000000
vt 0.287500 0.000000
vt 0.737500 -0.000000
vt 0.337500 0.000000
vt 0.787500 -0.000000
vt 0.387500 0.000000
vt 0.037500 -0.000000
vt 0.437500 0.000000
vt 0.087500 -0.000000
vt 0.487500 0.000000
vt 0.137500 0.000000
vt 0.200000 0.591837
vt 0.500000 -0.000000
vt 0.150000 0.000000
vt 0.600000 0.000000
vt 0.550000 0.000000
vt 0.200000 -0.000000
vt 0.650000 0.000000
vt 0.250000 -0.000000
vt 0.700000 0.000000
vt 0.300000 -0.000000
vt 0.750000 0.000000
vt 0.350000 -0.000000
vt -0.000000 0.000000
vt 0.400000 -0.000000
vt 0.050000 -0.000000
vt 0.450000 0.000000
vt 0.100000 0.000000
vn 0.0000 -1.0000 0.0000
vn -0.6771 0.0000 -0.7359
vn 0.7359 0.0000 0.6771
vn 0.2236 0.9487 -0.2236
vn 0.7359 0.0000 -0.6771
vn -0.6771 0.0000 0.7359
vn 0.2236 0.9487 0.2236
vn 0.5000 0.7071 0.5000
vn -0.5000 0.7071 -0.5000
vn 0.6771 0.0000 -0.7359
vn -0.7359 0.0000 0.6771
vn 0.5000 0.7071 -0.5000
vn -0.2236 0.9487 -0.2236
vn -0.5000 0.7071 0.5000
vn -0.7359 0.0000 -0.6771
vn 0.6771 0.0000 0.7359
vn -0.2236 0.9487 0.2236
vn -0.7071 -0.0067 -0.7071
vn -0.3827 -0.0067 -0.9239
vn 0.7071 -0.0067 0.7071
vn 0.3827 -0.0067 0.9239
vn -0.9239 -0.0067 -0.3827
vn 0.9239 -0.0067 0.3827
vn -1.0000 -0.0067 0.0000
vn 1.0000 -0.0067 -0.0000
vn -0.9239 -0.0067 0.3827
vn 0.9239 -0.0067 -0.3827
vn -0.7071 -0.0067 0.7071
vn 0.7071 -0.0067 -0.7071
vn -0.3827 -0.0067 0.9239
vn 0.3827 -0.0067 -0.9239
vn -0.0000 -0.0067 1.0000
vn -0.0000 -0.0067 -1.0000
vn -0.0000 0.7208 0.6931
vn -0.2652 0.7208 0.6403
vn -0.2652 0.7208 -0.6403
vn -0.0000 0.7208 -0.6931
vn 0.2652 0.7208 -0.6403
vn 0.2652 0.7208 0.6403
vn -0.4901 0.7208 -0.4901
vn -0.2652 0.7208 -0.6404
vn 0.4901 0.7208 0.4901
vn -0.6403 0.7208 -0.2652
vn 0.6403 0.7208 0.2652
vn -0.6931 0.7208 -0.0000
vn 0.6931 0.7208 0.0000
vn -0.6403 0.7208 0.2652
vn 0.6403 0.7208 -0.2652
vn -0.4901 0.7208 0.4901
vn 0.4901 0.7208 -0.4901
vn 0.5000 -0.7071 0.5000
vn 0.6533 -0.7071 0.2706
vn -0.3423 0.4472 -0.8263
vn -0.6325 0.4472 -0.6325
vn 0.0000 1.0000 0.0000
vn -0.8263 0.4472 -0.3423
vn -0.8944 0.4472 -0.0000
vn -0.8263 0.4472 0.3423
vn -0.6325 0.4472 0.6325
vn -0.3423 0.4472 0.8263
vn -0.0000 0.4472 0.8944
vn 0.3423 0.4472 0.8263
vn 0.6325 0.4472 0.6325
vn 0.8263 0.4472 0.3423
vn 0.8944 0.4472 0.0000
vn 0.8263 0.4472 -0.3423
vn 0.6325 0.4472 -0.6325
vn 0.3423 0.4472 -0.8263
vn -0.0000 0.4472 -0.8944
vn 0.7071 -0.7071 0.0000
vn 0.6533 -0.7071 -0.2706
vn 0.5000 -0.7071 -0.5000
vn 0.2706 -0.7071 -0.6533
vn -0.0000 -0.7071 -0.7071
vn -0.2706 -0.7071 -0.6533
vn -0.5000 -0.7071 -0.5000
vn -0.6533 -0.7071 -0.2706
vn -0.7071 -0.7071 -0.0000
vn -0.6533 -0.7071 0.2706
vn -0.5000 -0.7071 0.5000
vn -0.2706 -0.7071 0.6533
vn -0.0000 -0.7071 0.7071
vn 0.2706 -0.7071 0.6533
vn -0.3827 0.0000 -0.9239
vn -0.7071 0.0000 -0.7071
vn 0.3827 0.0000 0.9239
vn 0.7071 0.0000 0.7071
vn -0.9239 0.0000 -0.3827
vn 0.9239 0.0000 0.3827
vn -1.0000 0.0000 0.0000
vn 1.0000 0.0000 0.0000
vn -0.9239 0.0000 0.3827
vn 0.9239 0.0000 -0.3827
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 -0.7071
vn -0.3827 0.0000 0.9239
vn 0.3827 0.0000 -0.9239
vn -0.0000 0.0000 1.0000
vn -0.0000 0.0000 -1.0000
vn -0.7016 0.1240 0.7016
vn -0.3797 0.1240 0.9167
vn 0.7016 0.1240 -0.7016
vn 0.3797 0.1240 -0.9167
vn -0.0000 0.1240 0.9923
vn -0.0000 0.1240 -0.9923
vn -0.3797 0.1240 -0.9167
vn 0.3797 0.1240 0.9167
vn -0.7016 0.1240 -0.7016
vn 0.7016 0.1240 0.7016
vn -0.9167 0.1240 -0.3797
vn 0.9167 0.1240 0.3797
vn -0.9923 0.1240 -0.0000
vn 0.9923 0.1240 0.0000
vn -0.9167 0.1240 0.3797
vn 0.9167 0.1240 -0.3797
s off
f 109/1/1 126/2/1 110/3/1
f 110/3/1 127/4/1 111/5/1
f 127/6/1 112/7/1 111/5/1
f 128/8/1 113/9/1 112/7/1
f 129/10/1 98/11/1 113/9/1
f 114/12/1 99/13/1 98/11/1
f 115/14/1 100/15/1 99/13/1
f 100/15/1 117/16/1 101/17/1
f 117/18/1 102/19/1 101/17/1
f 102/20/1 119/21/1 103/22/1
f 103/22/1 120/23/1 104/24/1
f 120/25/1 105/26/1 104/24/1
f 121/27/1 106/28/1 105/26/1
f 106/28/1 123/29/1 107/30/1
f 123/31/1 108/32/1 107/30/1
f 124/33/1 109/1/1 108/32/1
f 132/34/1 144/35/1 140/36/1
f 147/37/2 148/38/2 146/39/2
f 151/40/3 147/37/3 150/41/3
f 147/42/4 146/43/4 150/41/4
f 148/44/1 149/45/1 151/40/1
f 153/46/5 154/47/5 152/48/5
f 157/49/6 153/46/6 156/50/6
f 153/51/7 152/52/7 156/50/7
f 154/53/1 155/54/1 157/49/1
f 159/55/5 160/56/5 158/57/5
f 163/58/6 159/55/6 162/59/6
f 159/60/8 158/61/8 162/59/8
f 160/62/1 161/63/1 163/58/1
f 167/64/1 166/65/1 164/66/1
f 168/67/9 169/68/9 165/69/9
f 164/66/10 168/70/10 165/69/10
f 168/70/11 167/71/11 169/72/11
f 171/73/2 172/74/2 170/75/2
f 175/76/3 171/73/3 174/77/3
f 171/78/12 170/79/12 174/77/12
f 172/80/1 173/81/1 175/76/1
f 179/82/1 178/83/1 176/84/1
f 180/85/13 181/86/13 177/87/13
f 176/84/10 180/88/10 177/87/10
f 180/88/11 179/89/11 181/90/11
f 185/91/1 184/92/1 182/93/1
f 186/94/14 187/95/14 183/96/14
f 182/93/15 186/97/15 183/96/15
f 186/97/16 185/98/16 187/99/16
f 191/100/1 190/101/1 188/102/1
f 192/103/17 193/104/17 189/105/17
f 188/102/15 192/106/15 189/105/15
f 192/106/16 191/107/16 193/108/16
f 109/1/1 125/109/1 126/2/1
f 110/3/1 126/110/1 127/4/1
f 127/6/1 128/111/1 112/7/1
f 128/8/1 129/112/1 113/9/1
f 129/10/1 114/113/1 98/11/1
f 114/12/1 115/114/1 99/13/1
f 115/14/1 116/115/1 100/15/1
f 100/15/1 116/116/1 117/16/1
f 117/18/1 118/117/1 102/19/1
f 102/20/1 118/118/1 119/21/1
f 103/22/1 119/119/1 120/23/1
f 120/25/1 121/120/1 105/26/1
f 121/27/1 122/121/1 106/28/1
f 106/28/1 122/122/1 123/29/1
f 123/31/1 124/123/1 108/32/1
f 124/33/1 125/124/1 109/1/1
f 132/34/1 131/125/1 130/126/1
f 130/126/1 145/127/1 144/35/1
f 144/35/1 143/128/1 142/129/1
f 142/129/1 141/130/1 140/36/1
f 140/36/1 139/131/1 138/132/1
f 138/132/1 137/133/1 136/134/1
f 136/134/1 135/135/1 134/136/1
f 134/136/1 133/137/1 136/134/1
f 133/137/1 132/34/1 136/134/1
f 132/34/1 130/126/1 144/35/1
f 144/35/1 142/129/1 140/36/1
f 140/36/1 138/132/1 132/34/1
f 138/132/1 136/134/1 132/34/1
f 147/37/2 149/45/2 148/38/2
f 151/40/3 149/45/3 147/37/3
f 153/46/5 155/54/5 154/47/5
f 157/49/6 155/54/6 153/46/6
f 159/55/5 161/63/5 160/56/5
f 163/58/6 161/63/6 159/55/6
f 164/66/10 166/65/10 168/70/10
f 168/70/11 166/65/11 167/71/11
f 171/73/2 173/81/2 172/74/2
f 175/76/3 173/81/3 171/73/3
f 176/84/10 178/83/10 180/88/10
f 180/88/11 178/83/11 179/89/11
f 182/93/15 184/92/15 186/97/15
f 186/97/16 184/92/16 185/98/16
f 188/102/15 190/101/15 192/106/15
f 192/106/16 190/101/16 191/107/16
s 1
f 3/138/18 18/139/19 2/140/19
f 11/141/20 26/142/21 10/143/21
f 4/144/22 19/145/18 3/138/18
f 12/146/23 27/147/20 11/141/20
f 5/148/24 20/149/22 4/144/22
f 13/150/25 28/151/23 12/146/23
f 6/152/26 21/153/24 5/154/24
f 14/155/27 29/156/25 13/150/25
f 7/157/28 22/158/26 6/152/26
f 15/159/29 30/160/27 14/155/27
f 8/161/30 23/162/28 7/157/28
f 16/163/31 31/164/29 15/159/29
f 9/165/32 24/166/30 8/161/30
f 2/140/19 17/167/33 1/168/33
f 1/168/33 32/169/31 16/163/31
f 10/143/21 25/170/32 9/165/32
f 25/170/34 40/171/35 24/166/35
f 18/139/36 33/172/37 17/167/37
f 17/167/37 48/173/38 32/169/38
f 26/142/39 41/174/34 25/170/34
f 19/145/40 34/175/41 18/139/36
f 27/147/42 42/176/39 26/142/39
f 20/149/43 35/177/40 19/145/40
f 27/147/42 44/178/44 43/179/42
f 21/180/45 36/181/43 20/149/43
f 29/156/46 44/182/44 28/151/44
f 22/158/47 37/183/45 21/153/45
f 29/156/46 46/184/48 45/185/46
f 23/162/49 38/186/47 22/158/47
f 31/164/50 46/187/48 30/160/48
f 24/166/35 39/188/49 23/162/49
f 32/169/38 47/189/50 31/164/50
f 60/190/51 12/146/52 11/141/51
f 34/175/53 35/191/54 49/192/55
f 35/177/54 36/193/56 49/194/55
f 36/181/56 37/195/57 49/196/55
f 37/183/57 38/197/58 49/198/55
f 38/186/58 39/199/59 49/200/55
f 39/188/59 40/201/60 49/202/55
f 40/171/60 41/203/61 49/204/55
f 41/174/61 42/205/62 49/206/55
f 42/176/62 43/207/63 49/208/55
f 43/179/63 44/178/64 49/209/55
f 44/182/64 45/210/65 49/211/55
f 45/185/65 46/184/66 49/212/55
f 46/187/66 47/213/67 49/214/55
f 47/189/67 48/215/68 49/216/55
f 48/173/68 33/217/69 49/218/55
f 33/172/69 34/219/53 49/220/55
f 61/221/52 13/150/70 12/146/52
f 62/222/70 14/155/71 13/150/70
f 63/223/71 15/159/72 14/155/71
f 64/224/72 16/163/73 15/159/72
f 16/163/73 50/225/74 1/168/74
f 50/226/74 2/140/75 1/168/74
f 51/227/75 3/138/76 2/140/75
f 52/228/76 4/144/77 3/138/76
f 53/229/77 5/148/78 4/144/77
f 54/230/78 6/152/79 5/154/78
f 55/231/79 7/157/80 6/152/79
f 56/232/80 8/161/81 7/157/80
f 57/233/81 9/165/82 8/161/81
f 58/234/82 10/143/83 9/165/82
f 59/235/83 11/141/51 10/143/83
f 51/227/84 68/236/85 52/237/85
f 59/235/86 76/238/87 60/239/87
f 52/228/85 69/240/88 53/241/88
f 60/190/87 77/242/89 61/243/89
f 53/229/88 70/244/90 54/245/90
f 61/221/89 78/246/91 62/247/91
f 54/230/90 71/248/92 55/249/92
f 62/222/91 79/250/93 63/251/93
f 55/231/92 72/252/94 56/253/94
f 63/223/93 80/254/95 64/255/95
f 56/232/94 73/256/96 57/257/96
f 64/224/95 81/258/97 65/259/97
f 57/233/96 74/260/98 58/261/98
f 50/226/99 67/262/84 51/263/84
f 65/264/97 66/265/99 50/225/99
f 58/234/98 75/266/86 59/267/86
f 72/268/100 89/269/101 73/256/101
f 80/270/102 97/271/103 81/258/103
f 73/272/101 90/273/104 74/260/104
f 66/274/105 83/275/106 67/262/106
f 81/276/103 82/277/105 66/265/105
f 75/266/107 90/273/104 91/278/107
f 67/279/106 84/280/108 68/236/108
f 75/281/107 92/282/109 76/238/109
f 68/283/108 85/284/110 69/240/110
f 76/285/109 93/286/111 77/242/111
f 69/287/110 86/288/112 70/244/112
f 77/289/111 94/290/113 78/246/113
f 70/291/112 87/292/114 71/248/114
f 78/293/113 95/294/115 79/250/115
f 71/295/114 88/296/100 72/252/100
f 79/297/115 96/298/102 80/254/102
f 93/286/89 110/3/91 94/290/91
f 86/299/90 103/22/92 87/292/92
f 94/290/91 111/5/93 95/294/93
f 87/292/92 104/24/94 88/296/94
f 95/294/93 112/7/95 96/298/95
f 88/296/94 105/26/96 89/269/96
f 96/298/95 113/9/97 97/271/97
f 89/269/96 106/28/98 90/273/98
f 82/277/99 99/13/84 83/275/84
f 97/271/97 98/11/99 82/277/99
f 90/273/98 107/30/86 91/278/86
f 83/275/84 100/15/85 84/280/85
f 91/278/86 108/32/87 92/282/87
f 84/280/85 101/17/88 85/284/88
f 92/282/87 109/1/89 93/286/89
f 85/284/88 102/19/90 86/288/90
f 128/8/95 145/300/97 129/112/97
f 121/27/96 138/301/98 122/121/98
f 114/12/99 131/302/84 115/114/84
f 129/10/97 130/303/99 114/113/99
f 122/122/98 139/304/86 123/29/86
f 115/14/84 132/305/85 116/115/85
f 123/31/86 140/306/87 124/123/87
f 116/116/85 133/307/88 117/16/88
f 124/33/87 141/308/89 125/124/89
f 117/18/88 134/309/90 118/117/90
f 125/109/89 142/310/91 126/2/91
f 118/118/90 135/311/92 119/21/92
f 126/110/91 143/312/93 127/4/93
f 119/119/92 136/313/94 120/23/94
f 127/6/93 144/314/95 128/111/95
f 120/25/94 137/315/96 121/120/96
f 3/138/18 19/145/18 18/139/19
f 11/141/20 27/147/20 26/142/21
f 4/144/22 20/149/22 19/145/18
f 12/146/23 28/151/23 27/147/20
f 5/148/24 21/180/24 20/149/22
f 13/150/25 29/156/25 28/151/23
f 6/152/26 22/158/26 21/153/24
f 14/155/27 30/160/27 29/156/25
f 7/157/28 23/162/28 22/158/26
f 15/159/29 31/164/29 30/160/27
f 8/161/30 24/166/30 23/162/28
f 16/163/31 32/169/31 31/164/29
f 9/165/32 25/170/32 24/166/30
f 2/140/19 18/139/19 17/167/33
f 1/168/33 17/167/33 32/169/31
f 10/143/21 26/142/21 25/170/32
f 25/170/34 41/203/34 40/171/35
f 18/139/36 34/219/41 33/172/37
f 17/167/37 33/217/37 48/173/38
f 26/142/39 42/205/39 41/174/34
f 19/145/40 35/191/40 34/175/41
f 27/147/42 43/207/42 42/176/39
f 20/149/43 36/193/43 35/177/40
f 27/147/42 28/151/44 44/178/44
f 21/180/45 37/195/45 36/181/43
f 29/156/46 45/210/46 44/182/44
f 22/158/47 38/197/47 37/183/45
f 29/156/46 30/160/48 46/184/48
f 23/162/49 39/199/49 38/186/47
f 31/164/50 47/213/50 46/187/48
f 24/166/35 40/201/35 39/188/49
f 32/169/38 48/215/38 47/189/50
f 60/190/51 61/243/52 12/146/52
f 61/221/52 62/247/70 13/150/70
f 62/222/70 63/251/71 14/155/71
f 63/223/71 64/255/72 15/159/72
f 64/224/72 65/259/73 16/163/73
f 16/163/73 65/264/73 50/225/74
f 50/226/74 51/263/75 2/140/75
f 51/227/75 52/237/76 3/138/76
f 52/228/76 53/241/77 4/144/77
f 53/229/77 54/245/78 5/148/78
f 54/230/78 55/249/79 6/152/79
f 55/231/79 56/253/80 7/157/80
f 56/232/80 57/257/81 8/161/81
f 57/233/81 58/261/82 9/165/82
f 58/234/82 59/267/83 10/143/83
f 59/235/83 60/239/51 11/141/51
f 51/227/84 67/279/84 68/236/85
f 59/235/86 75/281/86 76/238/87
f 52/228/85 68/283/85 69/240/88
f 60/190/87 76/285/87 77/242/89
f 53/229/88 69/287/88 70/244/90
f 61/221/89 77/289/89 78/246/91
f 54/230/90 70/291/90 71/248/92
f 62/222/91 78/293/91 79/250/93
f 55/231/92 71/295/92 72/252/94
f 63/223/93 79/297/93 80/254/95
f 56/232/94 72/268/94 73/256/96
f 64/224/95 80/270/95 81/258/97
f 57/233/96 73/272/96 74/260/98
f 50/226/99 66/274/99 67/262/84
f 65/264/97 81/276/97 66/265/99
f 58/234/98 74/316/98 75/266/86
f 72/268/100 88/296/100 89/269/101
f 80/270/102 96/298/102 97/271/103
f 73/272/101 89/269/101 90/273/104
f 66/274/105 82/277/105 83/275/106
f 81/276/103 97/271/103 82/277/105
f 75/266/107 74/316/104 90/273/104
f 67/279/106 83/275/106 84/280/108
f 75/281/107 91/278/107 92/282/109
f 68/283/108 84/280/108 85/284/110
f 76/285/109 92/282/109 93/286/111
f 69/287/110 85/284/110 86/288/112
f 77/289/111 93/286/111 94/290/113
f 70/291/112 86/299/112 87/292/114
f 78/293/113 94/290/113 95/294/115
f 71/295/114 87/292/114 88/296/100
f 79/297/115 95/294/115 96/298/102
f 93/286/89 109/1/89 110/3/91
f 86/299/90 102/20/90 103/22/92
f 94/290/91 110/3/91 111/5/93
f 87/292/92 103/22/92 104/24/94
f 95/294/93 111/5/93 112/7/95
f 88/296/94 104/24/94 105/26/96
f 96/298/95 112/7/95 113/9/97
f 89/269/96 105/26/96 106/28/98
f 82/277/99 98/11/99 99/13/84
f 97/271/97 113/9/97 98/11/99
f 90/273/98 106/28/98 107/30/86
f 83/275/84 99/13/84 100/15/85
f 91/278/86 107/30/86 108/32/87
f 84/280/85 100/15/85 101/17/88
f 92/282/87 108/32/87 109/1/89
f 85/284/88 101/17/88 102/19/90
f 128/8/95 144/317/95 145/300/97
f 121/27/96 137/318/96 138/301/98
f 114/12/99 130/319/99 131/302/84
f 129/10/97 145/320/97 130/303/99
f 122/122/98 138/321/98 139/304/86
f 115/14/84 131/322/84 132/305/85
f 123/31/86 139/323/86 140/306/87
f 116/116/85 132/324/85 133/307/88
f 124/33/87 140/325/87 141/308/89
f 117/18/88 133/326/88 134/309/90
f 125/109/89 141/327/89 142/310/91
f 118/118/90 134/328/90 135/311/92
f 126/110/91 142/329/91 143/312/93
f 119/119/92 135/330/92 136/313/94
f 127/6/93 143/331/93 144/314/95
f 120/25/94 136/332/94 137/315/96

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B