Skip to content

Commit

Permalink
Format files from 254fa35
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisLane committed Oct 6, 2019
1 parent 7a0b65e commit a1a91a7
Show file tree
Hide file tree
Showing 7 changed files with 365 additions and 289 deletions.
80 changes: 39 additions & 41 deletions src/main/java/com/flansmod/client/model/AnimTankTrack.java
Expand Up @@ -2,17 +2,16 @@

import java.util.ArrayList;

import net.minecraft.item.ItemStack;

import com.flansmod.common.vector.Vector3f;


public class AnimTankTrack {
public class AnimTankTrack
{

public ArrayList<Vector3f> points = new ArrayList<Vector3f>();
public float trackLinkLength = 0;
public ArrayList<Vector3f> points;
public float trackLinkLength;

public AnimTankTrack (ArrayList<Vector3f> trackPoints, float linkLength)
public AnimTankTrack(ArrayList<Vector3f> trackPoints, float linkLength)
{
points = trackPoints;
trackLinkLength = linkLength;
Expand All @@ -29,71 +28,70 @@ public float distBetweenPoints(Vector3f p1, Vector3f p2)

float x = p1.x - p2.x;
float y = p1.y - p2.y;
distance = (float)Math.sqrt((x*x) + (y*y));
distance = (float)Math.sqrt((x * x) + (y * y));

return distance;
}

public float getTrackLength()
{
float length = 0;
for(int i = 0; i < points.size(); i++)
{
length += distBetweenPoints(points.get(i), points.get((i == 0)? points.size()-1:i-1));
}
for(int i = 0; i < points.size(); i++)
{
length += distBetweenPoints(points.get(i), points.get((i == 0) ? points.size() - 1 : i - 1));
}
return length;
}

public int getTrackPart(float distance)
{
float length = 0;
for(int i = 0; i < points.size(); i++)
{
if(length >= distance)
{
return i;
} else {
length += distBetweenPoints(points.get(i), points.get((i == (points.size()-1))? 0:i+1));
}
}
for(int i = 0; i < points.size(); i++)
{
if(length >= distance)
{
return i;
}
else
{
length += distBetweenPoints(points.get(i), points.get((i == (points.size() - 1)) ? 0 : i + 1));
}
}
return 0;
}


public float getProgressAlongTrackPart(float distance, int trackPart)
{
float length = 0;
float lastLength = 0;
for(int i = 0; i < trackPart + 1; i++)
{
if(i != 0)
{
length += distBetweenPoints(points.get(i-1), points.get(i));
}
}
for(int i = 0; i < trackPart + 1; i++)
{
if(i != 0)
{
length += distBetweenPoints(points.get(i - 1), points.get(i));
}
}
return length;
}

public Vector3f getPositionOnTrack(float distance)
{

int trackPart = getTrackPart(distance);
Vector3f p2 = points.get((trackPart == 0)? points.size()-1:trackPart-1);
Vector3f p2 = points.get((trackPart == 0) ? points.size() - 1 : trackPart - 1);
Vector3f p1 = points.get(trackPart);

float partLength = distBetweenPoints(p2, p1);
float prog = distance - (getProgressAlongTrackPart(distance,(trackPart == 0)? points.size()-1:trackPart-1));
float progress = prog/partLength;
Vector3f finalPos = new Vector3f(lerp(p2.x, p1.x, progress),lerp(p2.y, p1.y, progress), lerp(p2.z, p1.z, progress));
float prog =
distance - (getProgressAlongTrackPart(distance, (trackPart == 0) ? points.size() - 1 : trackPart - 1));
float progress = prog / partLength;

return finalPos;
return new Vector3f(lerp(p2.x, p1.x, progress), lerp(p2.y, p1.y, progress), lerp(p2.z, p1.z, progress));
}

public float lerp(float a, float b, float f)
public float lerp(float a, float b, float f)
{
float result = (a+ f*(b - a));

return result;
return (a + f * (b - a));
}

}
}
5 changes: 3 additions & 2 deletions src/main/java/com/flansmod/client/model/AnimTrackLink.java
Expand Up @@ -3,13 +3,14 @@
import com.flansmod.common.RotatedAxes;
import com.flansmod.common.vector.Vector3f;

public class AnimTrackLink {
public class AnimTrackLink
{

public Vector3f position;
public Vector3f prevPosition;
public float zRot = 0;
public float prevZRot;
public float progress = 0;
public float progress;
public RotatedAxes rot;

public AnimTrackLink(float prog)
Expand Down
73 changes: 41 additions & 32 deletions src/main/java/com/flansmod/client/model/ModelVehicle.java
Expand Up @@ -12,37 +12,37 @@
//Extensible ModelVehicle class for rendering vehicle models
public class ModelVehicle extends ModelDriveable
{
public ModelRendererTurbo turretModel[] = new ModelRendererTurbo[0]; //The turret (for tanks)
public ModelRendererTurbo barrelModel[] = new ModelRendererTurbo[0]; //The barrel of the main turret
public ModelRendererTurbo ammoModel[][] = new ModelRendererTurbo[0][0]; //Ammo models for the main turret. ammoModel[i] will render if the vehicle has less than 3 ammo slots or if slot i is full. Checks shell / missile inventory
public ModelRendererTurbo frontWheelModel[] = new ModelRendererTurbo[0]; //Front and back wheels are for bicycles and motorbikes and whatnot
public ModelRendererTurbo backWheelModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo leftFrontWheelModel[] = new ModelRendererTurbo[0]; //This set of 4 wheels are for 4 or more wheeled things
public ModelRendererTurbo rightFrontWheelModel[] = new ModelRendererTurbo[0]; //The front wheels will turn as the player steers, and the back ones will not
public ModelRendererTurbo leftBackWheelModel[] = new ModelRendererTurbo[0]; //They will all turn as the car drives if the option to do so is set on
public ModelRendererTurbo rightBackWheelModel[] = new ModelRendererTurbo[0]; //In the vehicle type file
public ModelRendererTurbo rightTrackModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo leftTrackModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo rightTrackWheelModels[] = new ModelRendererTurbo[0]; //These go with the tracks but rotate
public ModelRendererTurbo leftTrackWheelModels[] = new ModelRendererTurbo[0];
public ModelRendererTurbo[] turretModel = new ModelRendererTurbo[0]; //The turret (for tanks)
public ModelRendererTurbo[] barrelModel = new ModelRendererTurbo[0]; //The barrel of the main turret
public ModelRendererTurbo[][] ammoModel = new ModelRendererTurbo[0][0]; //Ammo models for the main turret. ammoModel[i] will render if the vehicle has less than 3 ammo slots or if slot i is full. Checks shell / missile inventory
public ModelRendererTurbo[] frontWheelModel = new ModelRendererTurbo[0]; //Front and back wheels are for bicycles and motorbikes and whatnot
public ModelRendererTurbo[] backWheelModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] leftFrontWheelModel = new ModelRendererTurbo[0]; //This set of 4 wheels are for 4 or more wheeled things
public ModelRendererTurbo[] rightFrontWheelModel = new ModelRendererTurbo[0]; //The front wheels will turn as the player steers, and the back ones will not
public ModelRendererTurbo[] leftBackWheelModel = new ModelRendererTurbo[0]; //They will all turn as the car drives if the option to do so is set on
public ModelRendererTurbo[] rightBackWheelModel = new ModelRendererTurbo[0]; //In the vehicle type file
public ModelRendererTurbo[] rightTrackModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] leftTrackModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] rightTrackWheelModels = new ModelRendererTurbo[0]; //These go with the tracks but rotate
public ModelRendererTurbo[] leftTrackWheelModels = new ModelRendererTurbo[0];


public ModelRendererTurbo fancyTrackModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo[] fancyTrackModel = new ModelRendererTurbo[0];


public ModelRendererTurbo leftAnimTrackModel[][] = new ModelRendererTurbo[0][0]; //Unlimited frame track animations
public ModelRendererTurbo rightAnimTrackModel[][] = new ModelRendererTurbo[0][0];
public ModelRendererTurbo[][] leftAnimTrackModel = new ModelRendererTurbo[0][0]; //Unlimited frame track animations
public ModelRendererTurbo[][] rightAnimTrackModel = new ModelRendererTurbo[0][0];

public ModelRendererTurbo bodyDoorOpenModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo bodyDoorCloseModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo trailerModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo steeringWheelModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo[] bodyDoorOpenModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] bodyDoorCloseModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] trailerModel = new ModelRendererTurbo[0];
public ModelRendererTurbo[] steeringWheelModel = new ModelRendererTurbo[0];

public ModelRendererTurbo drillHeadModel[] = new ModelRendererTurbo[0]; //Drill head. Rotates around
public ModelRendererTurbo[] drillHeadModel = new ModelRendererTurbo[0]; //Drill head. Rotates around
public Vector3f drillHeadOrigin = new Vector3f(); //this point

//recoiling barrel part
public ModelRendererTurbo animBarrelModel[] = new ModelRendererTurbo[0];
public ModelRendererTurbo[] animBarrelModel = new ModelRendererTurbo[0];
public Vector3f barrelAttach = new Vector3f();

public int animFrame = 0;
Expand Down Expand Up @@ -225,7 +225,9 @@ public void render(float f5, EntityVehicle vehicle, float f)
for(EntitySeat seat : vehicle.getSeats())
{
//If the seat has a gun model attached
if(seat != null && seat.seatInfo != null && seat.seatInfo.gunName != null && gunModels.get(seat.seatInfo.gunName) != null && vehicle.isPartIntact(seat.seatInfo.part) && !vehicle.rotateWithTurret(seat.seatInfo))
if(seat != null && seat.seatInfo != null && seat.seatInfo.gunName != null &&
gunModels.get(seat.seatInfo.gunName) != null && vehicle.isPartIntact(seat.seatInfo.part) &&
!vehicle.rotateWithTurret(seat.seatInfo))
{
float yaw = seat.prevLooking.getYaw() + (seat.looking.getYaw() - seat.prevLooking.getYaw()) * f;
float pitch = seat.prevLooking.getPitch() + (seat.looking.getPitch() - seat.prevLooking.getPitch()) * f;
Expand Down Expand Up @@ -299,13 +301,17 @@ public void renderTurret(float f, float f1, float f2, float f3, float f4, float
for(EntitySeat seat : vehicle.getSeats())
{
//If the seat has a gun model attached
if(seat != null && seat.seatInfo != null && seat.seatInfo.gunName != null && gunModels.get(seat.seatInfo.gunName) != null && vehicle.isPartIntact(seat.seatInfo.part) && vehicle.rotateWithTurret(seat.seatInfo))
if(seat != null && seat.seatInfo != null && seat.seatInfo.gunName != null &&
gunModels.get(seat.seatInfo.gunName) != null && vehicle.isPartIntact(seat.seatInfo.part) &&
vehicle.rotateWithTurret(seat.seatInfo))
{
EntitySeat driverSeat = vehicle.getSeat(0);

float driverYaw = driverSeat.prevLooking.getYaw() + (driverSeat.looking.getYaw() - driverSeat.prevLooking.getYaw()) * dt;
float driverYaw = driverSeat.prevLooking.getYaw() +
(driverSeat.looking.getYaw() - driverSeat.prevLooking.getYaw()) * dt;
float yaw = seat.prevLooking.getYaw() + (seat.looking.getYaw() - seat.prevLooking.getYaw()) * dt;
float pitch = seat.prevLooking.getPitch() + (seat.looking.getPitch() - seat.prevLooking.getPitch()) * dt;
float pitch =
seat.prevLooking.getPitch() + (seat.looking.getPitch() - seat.prevLooking.getPitch()) * dt;

float effectiveYaw = yaw - driverYaw;

Expand Down Expand Up @@ -338,14 +344,16 @@ public void renderTurret(float f, float f1, float f2, float f3, float f4, float
}
}

public void renderAnimBarrel(float f, float f1, float f2, float f3, float f4, float f5, EntityVehicle vehicle, float dt)
public void renderAnimBarrel(float f, float f1, float f2, float f3, float f4, float f5, EntityVehicle vehicle,
float dt)
{
if(vehicle.isPartIntact(EnumDriveablePart.turret))
{
for (ModelRendererTurbo aAnimBarrelModel : animBarrelModel) {
if(vehicle.isPartIntact(EnumDriveablePart.turret))
{
for(ModelRendererTurbo aAnimBarrelModel : animBarrelModel)
{
aAnimBarrelModel.render(f5, oldRotateOrder);
}
}
}
}

public void renderDrillBit(EntityVehicle vehicle, float f)
Expand All @@ -361,7 +369,8 @@ public void renderDrillBit(EntityVehicle vehicle, float f)

public void renderFancyTracks(EntityVehicle vehicle, float f)
{
for (ModelRendererTurbo adrillHeadModel : fancyTrackModel) {
for(ModelRendererTurbo adrillHeadModel : fancyTrackModel)
{
adrillHeadModel.render(0.0625F, oldRotateOrder);
}
}
Expand Down

0 comments on commit a1a91a7

Please sign in to comment.