Reworked Camera Movement in Replay Viewer
Finally made Replay Trimming work Fixed and dried ReplayProcess pathTick() method
This commit is contained in:
@@ -25,12 +25,14 @@ public class CameraEntity extends EntityPlayer {
|
||||
|
||||
private Field drawBlockOutline;
|
||||
|
||||
private static final double SPEED = 10; //2 blocks per second
|
||||
private static final double MAX_SPEED = 20;
|
||||
|
||||
private double decay = 6; //decays by 75% per second;
|
||||
private double decay = 4;
|
||||
|
||||
private long lastCall = 0;
|
||||
|
||||
private boolean speedup = false;
|
||||
|
||||
//frac = time since last tick
|
||||
public void updateMovement() {
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
@@ -40,15 +42,6 @@ public class CameraEntity extends EntityPlayer {
|
||||
mc.thePlayer.rotationPitch = mc.getRenderViewEntity().rotationPitch;
|
||||
mc.thePlayer.rotationYaw = mc.getRenderViewEntity().rotationYaw;
|
||||
|
||||
/*
|
||||
mc.thePlayer.posX = mc.getRenderViewEntity().posX;
|
||||
mc.thePlayer.posY = mc.getRenderViewEntity().posY;
|
||||
mc.thePlayer.posZ = mc.getRenderViewEntity().posZ;
|
||||
|
||||
TimeHandler.setDesiredDaytime(18000);
|
||||
TimeHandler.setTimeOverridden(true);
|
||||
*/
|
||||
|
||||
//removes water/suffocation/shadow overlays in screen
|
||||
mc.thePlayer.posX = 0;
|
||||
mc.thePlayer.posY = 500;
|
||||
@@ -70,7 +63,12 @@ public class CameraEntity extends EntityPlayer {
|
||||
moveRelative(movement.xCoord*factor, movement.yCoord*factor, movement.zCoord*factor);
|
||||
|
||||
double decFac = Math.max(0, 1-(decay*(frac/1000D)));
|
||||
motion *= decFac;
|
||||
|
||||
if(!speedup) {
|
||||
motion *= decFac;
|
||||
} else {
|
||||
speedup = false;
|
||||
}
|
||||
|
||||
lastCall = Sys.getTime();
|
||||
}
|
||||
@@ -79,6 +77,11 @@ public class CameraEntity extends EntityPlayer {
|
||||
this.setRotation(yaw, pitch);
|
||||
}
|
||||
|
||||
public void speedUp() {
|
||||
this.motion = Math.min(MAX_SPEED, motion+0.1);
|
||||
speedup = true;
|
||||
}
|
||||
|
||||
public void setMovement(MoveDirection dir) {
|
||||
Vec3 oldDir = direction;
|
||||
|
||||
@@ -104,8 +107,6 @@ public class CameraEntity extends EntityPlayer {
|
||||
}
|
||||
|
||||
if(oldDir != null) direction = direction.normalize().add(new Vec3(oldDir.xCoord*(motion/4f), oldDir.yCoord*(motion/4f), oldDir.zCoord*(motion/4f)).normalize());
|
||||
|
||||
this.motion = SPEED;
|
||||
}
|
||||
|
||||
public void moveAbsolute(double x, double y, double z) {
|
||||
|
||||
Reference in New Issue
Block a user