worked on naming vars in FXBeam

A lot of the vars are not named in this class and make it hard to work
on.
This commit is contained in:
DarkGuardsman 2013-08-28 15:12:40 -04:00
parent acc0bec88d
commit 1c57103d53

View file

@ -26,17 +26,27 @@ public class FXBeam extends EntityFX
double movZ = 0.0D; double movZ = 0.0D;
private float length = 0.0F; private float length = 0.0F;
private float rotYaw = 0.0F; private float rotYaw = 0.0F;
private float rotPitch = 0.0F; private float rotPitch = 0.0F;
private int rotSpeed = 20;
private float prevYaw = 0.0F; private float prevYaw = 0.0F;
private float prevPitch = 0.0F; private float prevPitch = 0.0F;
private Vector3 target = new Vector3();
private Vector3 endLocation = new Vector3();
private float endModifier = 1.0F; private float endModifier = 1.0F;
/** Reverse rotation */
private boolean reverse = false; private boolean reverse = false;
/** pulse or fade as the life span goes down */
private boolean pulse = false; private boolean pulse = false;
private int rotationSpeed = 20;
private float prevSize = 0.0F; private float prevSize = 0.0F;
/** beam diameter */
private float beamD = 0.08f; private float beamD = 0.08f;
private String texture = DarkMain.TEXTURE_DIRECTORY + ""; private String texture = DarkMain.TEXTURE_DIRECTORY + "";
public FXBeam(World world, Vector3 start, Vector3 end, Color color, String texture, int age, boolean pulse) public FXBeam(World world, Vector3 start, Vector3 end, Color color, String texture, int age, boolean pulse)
@ -49,20 +59,22 @@ public class FXBeam extends EntityFX
{ {
super(world, start.x, start.y, start.z, 0.0D, 0.0D, 0.0D); super(world, start.x, start.y, start.z, 0.0D, 0.0D, 0.0D);
this.setRGB(color.getRed(), color.getGreen(), color.getBlue()); this.setRGB(color);
this.texture = texture; this.texture = texture;
this.setSize(0.02F, 0.02F); this.setSize(0.02F, 0.02F);
this.noClip = true; this.noClip = true;
this.motionX = 0.0D; this.motionX = 0.0D;
this.motionY = 0.0D; this.motionY = 0.0D;
this.motionZ = 0.0D; this.motionZ = 0.0D;
this.target = end;
float xd = (float) (this.posX - this.target.x); this.endLocation = end;
float yd = (float) (this.posY - this.target.y); float xd = (float) (this.posX - this.endLocation.x);
float zd = (float) (this.posZ - this.target.z); float yd = (float) (this.posY - this.endLocation.y);
this.length = (float) new Vector3(this).distanceTo(this.target); float zd = (float) (this.posZ - this.endLocation.z);
this.length = (float) new Vector3(this).distanceTo(this.endLocation);
double var7 = MathHelper.sqrt_double(xd * xd + zd * zd); double var7 = MathHelper.sqrt_double(xd * xd + zd * zd);
this.rotYaw = ((float) (Math.atan2(xd, zd) * 180.0D / 3.141592653589793D)); this.rotYaw = ((float) (Math.atan2(xd, zd) * 180.0D / 3.141592653589793D));
this.rotPitch = ((float) (Math.atan2(yd, var7) * 180.0D / 3.141592653589793D)); this.rotPitch = ((float) (Math.atan2(yd, var7) * 180.0D / 3.141592653589793D));
@ -95,16 +107,16 @@ public class FXBeam extends EntityFX
this.prevYaw = this.rotYaw; this.prevYaw = this.rotYaw;
this.prevPitch = this.rotPitch; this.prevPitch = this.rotPitch;
float xd = (float) (this.posX - this.target.x); float deltaX = (float) (this.posX - this.endLocation.x);
float yd = (float) (this.posY - this.target.y); float deltaY = (float) (this.posY - this.endLocation.y);
float zd = (float) (this.posZ - this.target.z); float deltaZ = (float) (this.posZ - this.endLocation.z);
this.length = MathHelper.sqrt_float(xd * xd + yd * yd + zd * zd); this.length = MathHelper.sqrt_float(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ);
double var7 = MathHelper.sqrt_double(xd * xd + zd * zd); double xzMag = MathHelper.sqrt_double(deltaX * deltaX + deltaZ * deltaZ);
this.rotYaw = ((float) (Math.atan2(xd, zd) * 180.0D / 3.141592653589793D)); this.rotYaw = ((float) (Math.atan2(deltaX, deltaZ) * 180.0D / 3.141592653589793D));
this.rotPitch = ((float) (Math.atan2(yd, var7) * 180.0D / 3.141592653589793D)); this.rotPitch = ((float) (Math.atan2(deltaY, xzMag) * 180.0D / 3.141592653589793D));
if (this.particleAge++ >= this.particleMaxAge) if (this.particleAge++ >= this.particleMaxAge)
{ {
@ -119,6 +131,13 @@ public class FXBeam extends EntityFX
this.particleBlue = b; this.particleBlue = b;
} }
public void setRGB(Color color)
{
this.particleRed = color.getRed();
this.particleGreen = color.getGreen();
this.particleBlue = color.getBlue();
}
@Override @Override
public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5) public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5)
{ {
@ -127,19 +146,20 @@ public class FXBeam extends EntityFX
GL11.glPushMatrix(); GL11.glPushMatrix();
float var9 = 1.0F; float var9 = 1.0F;
float slide = this.worldObj.getTotalWorldTime(); float slide = this.worldObj.getTotalWorldTime();
float rot = this.worldObj.provider.getWorldTime() % (360 / this.rotationSpeed) * this.rotationSpeed + this.rotationSpeed * f; float rot = this.worldObj.provider.getWorldTime() % (360 / this.rotSpeed) * this.rotSpeed + this.rotSpeed * f;
float size = 1.0F; float size = 1.0F;
float alphaColor = 0.5F;
if (this.pulse) if (this.pulse)
{ {
size = Math.min(this.particleAge / 4.0F, 1.0F); size = Math.min(this.particleAge / 4.0F, 1.0F);
size = this.prevSize + (size - this.prevSize) * f; size = this.prevSize + (size - this.prevSize) * f;
if ((this.particleMaxAge - this.particleAge <= 4))
{
alphaColor = 0.5F - (4 - (this.particleMaxAge - this.particleAge)) * 0.1F;
} }
float op = 0.5F;
if ((this.pulse) && (this.particleMaxAge - this.particleAge <= 4))
{
op = 0.5F - (4 - (this.particleMaxAge - this.particleAge)) * 0.1F;
} }
FMLClientHandler.instance().getClient().renderEngine.func_110577_a(new ResourceLocation(this.texture)); FMLClientHandler.instance().getClient().renderEngine.func_110577_a(new ResourceLocation(this.texture));
@ -151,7 +171,9 @@ public class FXBeam extends EntityFX
float var11 = slide + f; float var11 = slide + f;
if (this.reverse) if (this.reverse)
{
var11 *= -1.0F; var11 *= -1.0F;
}
float var12 = -var11 * 0.2F - MathHelper.floor_float(-var11 * 0.1F); float var12 = -var11 * 0.2F - MathHelper.floor_float(-var11 * 0.1F);
GL11.glEnable(3042); GL11.glEnable(3042);
@ -163,34 +185,35 @@ public class FXBeam extends EntityFX
float zz = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * f - interpPosZ); float zz = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * f - interpPosZ);
GL11.glTranslated(xx, yy, zz); GL11.glTranslated(xx, yy, zz);
float ry = this.prevYaw + (this.rotYaw - this.prevYaw) * f; float yaw = this.prevYaw + (this.rotYaw - this.prevYaw) * f;
float rp = this.prevPitch + (this.rotPitch - this.prevPitch) * f; float pitch = this.prevPitch + (this.rotPitch - this.prevPitch) * f;
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(180.0F + ry, 0.0F, 0.0F, -1.0F); GL11.glRotatef(180.0F + yaw, 0.0F, 0.0F, -1.0F);
GL11.glRotatef(rp, 1.0F, 0.0F, 0.0F); GL11.glRotatef(pitch, 1.0F, 0.0F, 0.0F);
double var44 = -beamD * size; double negWidth = -beamD * size;
double var17 = beamD * size; double posWidth = beamD * size;
double var44b = -beamD * size * this.endModifier; //TODO test length without size to see if that will fix length render changes
double var17b = beamD * size * this.endModifier; double negLength = -beamD * size * this.endModifier;
double posLength = beamD * size * this.endModifier;
GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F); GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F);
for (int t = 0; t < 3; t++) for (int t = 0; t < 3; t++)
{ {
double var29 = this.length * size * var9; double dist = this.length * size * var9;
double var31 = 0.0D; double var31 = 0.0D;
double var33 = 1.0D; double var33 = 1.0D;
double var35 = -1.0F + var12 + t / 3.0F; double var35 = -1.0F + var12 + t / 3.0F;
double var37 = this.length * size * var9 + var35; double uvLength = this.length * size * var9 + var35;
GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F);
tessellator.startDrawingQuads(); tessellator.startDrawingQuads();
tessellator.setBrightness(200); tessellator.setBrightness(200);
tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, op); tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, alphaColor);
tessellator.addVertexWithUV(var44b, var29, 0.0D, var33, var37); tessellator.addVertexWithUV(negLength, dist, 0.0D, var33, uvLength);
tessellator.addVertexWithUV(var44, 0.0D, 0.0D, var33, var35); tessellator.addVertexWithUV(negWidth, 0.0D, 0.0D, var33, var35);
tessellator.addVertexWithUV(var17, 0.0D, 0.0D, var31, var35); tessellator.addVertexWithUV(posWidth, 0.0D, 0.0D, var31, var35);
tessellator.addVertexWithUV(var17b, var29, 0.0D, var31, var37); tessellator.addVertexWithUV(posLength, dist, 0.0D, var31, uvLength);
tessellator.draw(); tessellator.draw();
} }