Rebalance the maximum and default SpectatorDataThirdPersonInfo#shoulderCamSmoothness values (+1 squashed commit)
Squashed commits: [d1374a7] Information about the shoulder camera's position are now stored in a separate, interpolateable Object instead of directly in the SpectatorData Object
This commit is contained in:
@@ -442,10 +442,10 @@ public abstract class GuiEditKeyframe<T extends KeyframeValue> extends GuiScreen
|
|||||||
shoulderYawString = new GuiString(0, 0, Color.WHITE, I18n.format("replaymod.gui.editkeyframe.spec.method.shoulder.yaw"));
|
shoulderYawString = new GuiString(0, 0, Color.WHITE, I18n.format("replaymod.gui.editkeyframe.spec.method.shoulder.yaw"));
|
||||||
shoulderSmoothnessString = new GuiString(0, 0, Color.WHITE, I18n.format("replaymod.gui.editkeyframe.spec.method.shoulder.smoothness"));
|
shoulderSmoothnessString = new GuiString(0, 0, Color.WHITE, I18n.format("replaymod.gui.editkeyframe.spec.method.shoulder.smoothness"));
|
||||||
|
|
||||||
shoulderDistanceInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, 0d, 30d, data.getShoulderCamDistance(), true, "", 0.1);
|
shoulderDistanceInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, 0d, 30d, data.getThirdPersonInfo().shoulderCamDistance, true, "", 0.1);
|
||||||
shoulderPitchOffsetInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, -90d, 90d, (double)data.getShoulderCamPitchOffset(), false, "°", 1);
|
shoulderPitchOffsetInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, -90d, 90d, data.getThirdPersonInfo().shoulderCamPitchOffset, false, "°", 1);
|
||||||
shoulderYawOffsetInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, null, null, (double)data.getShoulderCamYawOffset(), false, "°", 1);
|
shoulderYawOffsetInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, null, null, data.getThirdPersonInfo().shoulderCamYawOffset, false, "°", 1);
|
||||||
shoulderSmoothnessInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, 0.1d, 1d, data.getShoulderCamSmoothness()/1000d, true, "", 0.1);
|
shoulderSmoothnessInput = new GuiDraggingNumberInput(fontRendererObj, 0, 0, 0, 0.1d, 3d, data.getThirdPersonInfo().shoulderCamSmoothness, true, "", 0.1);
|
||||||
|
|
||||||
shoulderCamSettings = new ComposedElement(
|
shoulderCamSettings = new ComposedElement(
|
||||||
shoulderDistanceString, shoulderDistanceInput,
|
shoulderDistanceString, shoulderDistanceInput,
|
||||||
@@ -486,10 +486,10 @@ public abstract class GuiEditKeyframe<T extends KeyframeValue> extends GuiScreen
|
|||||||
public void onGuiClosed() {
|
public void onGuiClosed() {
|
||||||
SpectatorData data = (SpectatorData)keyframe.getValue();
|
SpectatorData data = (SpectatorData)keyframe.getValue();
|
||||||
data.setSpectatingMethod(SpectatorData.SpectatingMethod.values()[perspectiveButton.getValue()]);
|
data.setSpectatingMethod(SpectatorData.SpectatingMethod.values()[perspectiveButton.getValue()]);
|
||||||
data.setShoulderCamDistance(shoulderDistanceInput.getPreciseValue());
|
data.getThirdPersonInfo().shoulderCamDistance = shoulderDistanceInput.getPreciseValue();
|
||||||
data.setShoulderCamPitchOffset(shoulderPitchOffsetInput.getIntValue());
|
data.getThirdPersonInfo().shoulderCamPitchOffset = shoulderPitchOffsetInput.getIntValue();
|
||||||
data.setShoulderCamYawOffset(shoulderYawOffsetInput.getIntValue());
|
data.getThirdPersonInfo().shoulderCamYawOffset = shoulderYawOffsetInput.getIntValue();
|
||||||
data.setShoulderCamSmoothness((int)(shoulderSmoothnessInput.getPreciseValue()*1000));
|
data.getThirdPersonInfo().shoulderCamSmoothness = shoulderSmoothnessInput.getPreciseValue();
|
||||||
super.onGuiClosed();
|
super.onGuiClosed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,27 +18,7 @@ public class SpectatorData extends AdvancedPosition {
|
|||||||
|
|
||||||
private SpectatingMethod spectatingMethod = SpectatingMethod.FIRST_PERSON;
|
private SpectatingMethod spectatingMethod = SpectatingMethod.FIRST_PERSON;
|
||||||
|
|
||||||
//these fields are only relevant for SpectatingMethod.SHOULDER_CAM
|
private SpectatorDataThirdPersonInfo thirdPersonInfo = new SpectatorDataThirdPersonInfo();
|
||||||
/**
|
|
||||||
* The shoulder camera's distance (in blocks) to the player
|
|
||||||
*/
|
|
||||||
private double shoulderCamDistance = 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The shoulder camera's pitch offset in degrees, value between -90 and 90
|
|
||||||
*/
|
|
||||||
private float shoulderCamPitchOffset = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The shoulder camera's rotation around the player in degrees
|
|
||||||
*/
|
|
||||||
private float shoulderCamYawOffset = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The distance between the automatically calculated position keyframes in milliseconds
|
|
||||||
*/
|
|
||||||
private int shoulderCamSmoothness = 500;
|
|
||||||
|
|
||||||
|
|
||||||
public int getSpectatedEntityID() {
|
public int getSpectatedEntityID() {
|
||||||
if(spectatedEntityID == null) throw new IllegalStateException();
|
if(spectatedEntityID == null) throw new IllegalStateException();
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package eu.crushedpixel.replaymod.holders;
|
||||||
|
|
||||||
|
import eu.crushedpixel.replaymod.interpolation.*;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class SpectatorDataThirdPersonInfo implements KeyframeValue {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The shoulder camera's distance (in blocks) to the player
|
||||||
|
*/
|
||||||
|
@Interpolate
|
||||||
|
public double shoulderCamDistance = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The shoulder camera's pitch offset in degrees, value between -90 and 90
|
||||||
|
*/
|
||||||
|
@Interpolate
|
||||||
|
public double shoulderCamPitchOffset = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The shoulder camera's rotation around the player in degrees
|
||||||
|
*/
|
||||||
|
@Interpolate
|
||||||
|
public double shoulderCamYawOffset = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The distance between the automatically calculated position keyframes in seconds
|
||||||
|
*/
|
||||||
|
@Interpolate
|
||||||
|
public double shoulderCamSmoothness = 1;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public KeyframeValue newInstance() {
|
||||||
|
return new SpectatorDataThirdPersonInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Interpolation getLinearInterpolator() {
|
||||||
|
return new GenericLinearInterpolation<SpectatorDataThirdPersonInfo>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Interpolation getCubicInterpolator() {
|
||||||
|
return new GenericSplineInterpolation<SpectatorDataThirdPersonInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user