Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll

Made GuiDropdown only accept instances of GuiEntryListEntry to avoid unneccessary toString() methods returning the name
Added GuiEntryListValueEntry which holds a Value and a Name to be displayed
Continued work on GuiObjectManager
This commit is contained in:
CrushedPixel
2015-07-10 04:27:15 +02:00
parent 30ebfe96bd
commit ef39c7466d
28 changed files with 260 additions and 164 deletions

View File

@@ -51,12 +51,12 @@ public class ReplayHandler {
private static boolean inPath = false;
private static CameraEntity cameraEntity;
private static KeyframeList<Position> positionKeyframes = new KeyframeList<Position>();
private static KeyframeList<AdvancedPosition> positionKeyframes = new KeyframeList<AdvancedPosition>();
private static KeyframeList<TimestampValue> timeKeyframes = new KeyframeList<TimestampValue>();
private static boolean inReplay = false;
private static Entity currentEntity = null;
private static Position lastPosition = null;
private static AdvancedPosition lastPosition = null;
private static MarkerKeyframe[] initialMarkers = new MarkerKeyframe[0];
private static List<MarkerKeyframe> markerKeyframes = new ArrayList<MarkerKeyframe>();
@@ -123,7 +123,7 @@ public class ReplayHandler {
positionKeyframes.clear();
timeKeyframes.clear();
for(Keyframe kf : kfs) {
if(kf.getValue() instanceof Position) {
if(kf.getValue() instanceof AdvancedPosition) {
positionKeyframes.add(kf);
} else if(kf.getValue() instanceof TimestampValue) {
timeKeyframes.add(kf);
@@ -147,7 +147,7 @@ public class ReplayHandler {
public static void spectateCamera() {
if(currentEntity != null) {
Position prev = new Position(currentEntity, false);
AdvancedPosition prev = new AdvancedPosition(currentEntity, false);
cameraEntity.movePath(prev);
}
currentEntity = cameraEntity;
@@ -229,7 +229,7 @@ public class ReplayHandler {
public static void toggleMarker() {
if(selectedMarkerKeyframe != null) markerKeyframes.remove(selectedMarkerKeyframe);
else {
Position pos = new Position(mc.getRenderViewEntity(), false);
AdvancedPosition pos = new AdvancedPosition(mc.getRenderViewEntity(), false);
int timestamp = ReplayMod.replaySender.currentTimeStamp();
markerKeyframes.add(new MarkerKeyframe(timestamp, pos, null));
}
@@ -242,7 +242,7 @@ public class ReplayHandler {
fireKeyframesModifyEvent();
}
public static void addPositionKeyframe(Keyframe<Position> keyframe) {
public static void addPositionKeyframe(Keyframe<AdvancedPosition> keyframe) {
positionKeyframes.add(keyframe);
selectKeyframe(keyframe);
@@ -250,9 +250,9 @@ public class ReplayHandler {
Float b;
for(Keyframe kf : positionKeyframes) {
if(!(kf.getValue() instanceof Position)) continue;
Keyframe<Position> pkf = (Keyframe<Position>)kf;
Position pos = pkf.getValue();
if(!(kf.getValue() instanceof AdvancedPosition)) continue;
Keyframe<AdvancedPosition> pkf = (Keyframe<AdvancedPosition>)kf;
AdvancedPosition pos = pkf.getValue();
b = (float)pos.getYaw() % 360;
if(a != null) {
float diff = b-a;
@@ -269,7 +269,7 @@ public class ReplayHandler {
}
public static void addKeyframe(Keyframe keyframe) {
if(keyframe.getValue() instanceof Position) {
if(keyframe.getValue() instanceof AdvancedPosition) {
addPositionKeyframe(keyframe);
} else if(keyframe.getValue() instanceof TimestampValue) {
addTimeKeyframe(keyframe);
@@ -277,7 +277,7 @@ public class ReplayHandler {
}
public static void removeKeyframe(Keyframe keyframe) {
if(keyframe.getValue() instanceof Position) {
if(keyframe.getValue() instanceof AdvancedPosition) {
positionKeyframes.remove(keyframe);
} else if(keyframe.getValue() instanceof TimestampValue) {
timeKeyframes.remove(keyframe);
@@ -338,7 +338,7 @@ public class ReplayHandler {
return backup;
}
public static KeyframeList<Position> getPositionKeyframes() {
public static KeyframeList<AdvancedPosition> getPositionKeyframes() {
return positionKeyframes;
}
@@ -561,11 +561,11 @@ public class ReplayHandler {
realTimelinePosition = pos;
}
public static Position getLastPosition() {
public static AdvancedPosition getLastPosition() {
return lastPosition;
}
public static void setLastPosition(Position position) {
public static void setLastPosition(AdvancedPosition position) {
lastPosition = position;
}

View File

@@ -3,7 +3,7 @@ package eu.crushedpixel.replaymod.replay;
import eu.crushedpixel.replaymod.ReplayMod;
import eu.crushedpixel.replaymod.chat.ChatMessageHandler.ChatMessageType;
import eu.crushedpixel.replaymod.holders.Keyframe;
import eu.crushedpixel.replaymod.holders.Position;
import eu.crushedpixel.replaymod.holders.AdvancedPosition;
import eu.crushedpixel.replaymod.holders.TimestampValue;
import eu.crushedpixel.replaymod.interpolation.GenericLinearInterpolation;
import eu.crushedpixel.replaymod.interpolation.GenericSplineInterpolation;
@@ -26,8 +26,8 @@ public class ReplayProcess {
private static boolean linear = false;
private static GenericSplineInterpolation<Position> motionSpline = null;
private static GenericLinearInterpolation<Position> motionLinear = null;
private static GenericSplineInterpolation<AdvancedPosition> motionSpline = null;
private static GenericLinearInterpolation<AdvancedPosition> motionLinear = null;
private static GenericLinearInterpolation<TimestampValue> timeLinear = null;
private static double previousReplaySpeed = 0;
@@ -167,16 +167,16 @@ public class ReplayProcess {
if(!linear && motionSpline == null) {
//set up spline path
motionSpline = new GenericSplineInterpolation<Position>();
for(Keyframe<Position> kf : ReplayHandler.getPositionKeyframes()) {
motionSpline = new GenericSplineInterpolation<AdvancedPosition>();
for(Keyframe<AdvancedPosition> kf : ReplayHandler.getPositionKeyframes()) {
motionSpline.addPoint(kf.getValue());
}
}
if(linear && motionLinear == null) {
//set up linear path
motionLinear = new GenericLinearInterpolation<Position>();
for(Keyframe<Position> kf : ReplayHandler.getPositionKeyframes()) {
motionLinear = new GenericLinearInterpolation<AdvancedPosition>();
for(Keyframe<AdvancedPosition> kf : ReplayHandler.getPositionKeyframes()) {
motionLinear.addPoint(kf.getValue());
}
}
@@ -200,8 +200,8 @@ public class ReplayProcess {
int curRealReplayTime = (int) (lastRealReplayTime + timeStep);
Keyframe<Position> lastPos = ReplayHandler.getPositionKeyframes().getPreviousKeyframe(curRealReplayTime);
Keyframe<Position> nextPos = ReplayHandler.getPositionKeyframes().getNextKeyframe(curRealReplayTime);
Keyframe<AdvancedPosition> lastPos = ReplayHandler.getPositionKeyframes().getPreviousKeyframe(curRealReplayTime);
Keyframe<AdvancedPosition> nextPos = ReplayHandler.getPositionKeyframes().getNextKeyframe(curRealReplayTime);
boolean spectating = false;
@@ -285,7 +285,7 @@ public class ReplayProcess {
if(!spectating) {
ReplayHandler.spectateCamera();
Position pos = new Position();
AdvancedPosition pos = new AdvancedPosition();
if(posCount > 1) {
if(!linear) {
motionSpline.applyPoint(Math.max(0, Math.min(1, splinePos)), pos);
@@ -294,7 +294,7 @@ public class ReplayProcess {
}
} else {
if(posCount == 1) {
Keyframe<Position> keyframe = ReplayHandler.getPositionKeyframes().first();
Keyframe<AdvancedPosition> keyframe = ReplayHandler.getPositionKeyframes().first();
assert keyframe != null;
pos = keyframe.getValue();
}

View File

@@ -7,7 +7,7 @@ import eu.crushedpixel.replaymod.ReplayMod;
import eu.crushedpixel.replaymod.entities.CameraEntity;
import eu.crushedpixel.replaymod.events.handlers.RecordingHandler;
import eu.crushedpixel.replaymod.holders.PacketData;
import eu.crushedpixel.replaymod.holders.Position;
import eu.crushedpixel.replaymod.holders.AdvancedPosition;
import eu.crushedpixel.replaymod.utils.ReplayFile;
import eu.crushedpixel.replaymod.utils.ReplayFileIO;
import io.netty.channel.ChannelHandler.Sharable;
@@ -526,7 +526,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter {
if (isHurrying() && lastTimeStamp > desiredTimeStamp && !startFromBeginning) {
desiredTimeStamp = -1;
Position pos = ReplayHandler.getLastPosition();
AdvancedPosition pos = ReplayHandler.getLastPosition();
CameraEntity cam = ReplayHandler.getCameraEntity();
if (cam != null && pos != null) {
// Move camera back in case we have been respawned