diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java index 626a0db0..e093ed4b 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java @@ -15,7 +15,6 @@ public class GuiConstants { public static final int CENTER_DISLIKE_REPLAY_BUTTON = 2011; public static final int CENTER_FAVORITED_REPLAYS_BUTTON = 2012; public static final int CENTER_SEARCH_ACTION_BUTTON = 2013; - public static final int CENTER_SEARCH_GAMETYPE_ENABLE = 2014; public static final int CENTER_SEARCH_GAMETYPE_TOGGLE = 2015; public static final int CENTER_SEARCH_ORDER_TOGGLE = 2016; public static final int CENTER_SEARCH_CATEGORY_DROPDOWN = 2017; @@ -61,7 +60,6 @@ public class GuiConstants { public static final int REPLAY_EDITOR_REMOVE_BUTTON = 5008; public static final int REPLAY_EDITOR_ADD_BUTTON = 5009; - public static final int KEYFRAME_REPOSITORY_LIST = 1234; public static final int KEYFRAME_REPOSTORY_NAME_INPUT = 2345; public static final int KEYFRAME_REPOSITORY_ADD_BUTTON = 3456; public static final int KEYFRAME_REPOSITORY_REMOVE_BUTTON = 4567; @@ -71,14 +69,6 @@ public class GuiConstants { public static final int KEYFRAME_EDITOR_CANCEL_BUTTON = 6001; public static final int KEYFRAME_EDITOR_RIGHT_BUTTON = 6002; public static final int KEYFRAME_EDITOR_LEFT_BUTTON = 6003; - public static final int KEYFRAME_EDITOR_X_INPUT = 6004; - public static final int KEYFRAME_EDITOR_Y_INPUT = 6005; - public static final int KEYFRAME_EDITOR_Z_INPUT = 6006; - public static final int KEYFRAME_EDITOR_PITCH_INPUT = 6007; - public static final int KEYFRAME_EDITOR_YAW_INPUT = 6008; - public static final int KEYFRAME_EDITOR_ROLL_INPUT = 6009; - public static final int KEYFRAME_EDITOR_REAL_MIN_INPUT = 6013; - public static final int KEYFRAME_EDITOR_REAL_SEC_INPUT = 6014; public static final int PLAYER_OVERVIEW_HIDE_ALL = 1010; public static final int PLAYER_OVERVIEW_SHOW_ALL = 101; @@ -88,12 +78,9 @@ public class GuiConstants { public static final int RENDER_SETTINGS_RENDER_BUTTON = 9002; public static final int RENDER_SETTINGS_CANCEL_BUTTON = 9003; public static final int RENDER_SETTINGS_RESOLUTION_CHECKBOX = 9004; - public static final int RENDER_SETTINGS_RESOLUTION_X = 9005; - public static final int RENDER_SETTINGS_RESOLUTION_Y = 9006; public static final int RENDER_SETTINGS_INTERPOLATION_BUTTON = 9007; public static final int RENDER_SETTINGS_FORCECHUNKS_BUTTON = 9008; public static final int RENDER_SETTINGS_FRAMERATE_SLIDER = 9009; - public static final int RENDER_SETTINGS_BITRATE_INPUT = 9010; public static final int RENDER_SETTINGS_STATIC_CAMERA = 9012; public static final int RENDER_SETTINGS_ADVANCED_BUTTON = 9013; public static final int RENDER_SETTINGS_COLOR_PICKER = 9014; @@ -110,6 +97,4 @@ public class GuiConstants { public static final int REPLAY_EDITING_CANCEL_BUTTON = 1234; public static final int REPLAY_DOWNLOADING_CANCEL_BUTTON = 2345; - - public static final int ASSET_ADDER_REMOVE_BUTTON = 10; } diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java index 149b1b1e..fd548665 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java @@ -97,9 +97,9 @@ public class GuiEditKeyframe extends GuiScreen { //Real Time Input int timestamp = keyframe.getRealTimestamp(); - min = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_REAL_MIN_INPUT, fontRendererObj, 0, 0, 30, 0, 9, TimestampUtils.getMinutesFromTimestamp(timestamp), false); - sec = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_REAL_SEC_INPUT, fontRendererObj, 0, 0, 25, 0, 59, TimestampUtils.getSecondsFromTimestamp(timestamp), false); - ms = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_REAL_SEC_INPUT, fontRendererObj, 0, 0, 35, 0, 999, TimestampUtils.getMillisecondsFromTimestamp(timestamp), false); + min = new GuiNumberInput(fontRendererObj, 0, 0, 30, 0, 9, TimestampUtils.getMinutesFromTimestamp(timestamp), false); + sec = new GuiNumberInput(fontRendererObj, 0, 0, 25, 0, 59, TimestampUtils.getSecondsFromTimestamp(timestamp), false); + ms = new GuiNumberInput(fontRendererObj, 0, 0, 35, 0, 999, TimestampUtils.getMillisecondsFromTimestamp(timestamp), false); inputs.add(min); inputs.add(sec); @@ -108,12 +108,12 @@ public class GuiEditKeyframe extends GuiScreen { //Position/Virtual Time Input if(posKeyframe) { Position pos = ((Keyframe)keyframe).getValue(); - xCoord = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_X_INPUT, fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getX()), true); - yCoord = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_Y_INPUT, fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getY()), true); - zCoord = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_Z_INPUT, fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getZ()), true); - yaw = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_YAW_INPUT, fontRendererObj, 0, 0, 100, -90d, 90d, RoundUtils.round(pos.getYaw()), true); - pitch = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_PITCH_INPUT, fontRendererObj, 0, 0, 100, -180d, 180d, RoundUtils.round(pos.getPitch()), true); - roll = new GuiNumberInput(GuiConstants.KEYFRAME_EDITOR_ROLL_INPUT, fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getRoll()), true); + xCoord = new GuiNumberInput(fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getX()), true); + yCoord = new GuiNumberInput(fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getY()), true); + zCoord = new GuiNumberInput(fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getZ()), true); + yaw = new GuiNumberInput(fontRendererObj, 0, 0, 100, -90d, 90d, RoundUtils.round(pos.getYaw()), true); + pitch = new GuiNumberInput(fontRendererObj, 0, 0, 100, -180d, 180d, RoundUtils.round(pos.getPitch()), true); + roll = new GuiNumberInput(fontRendererObj, 0, 0, 100, null, null, RoundUtils.round(pos.getRoll()), true); posInputs.add(xCoord); posInputs.add(yCoord); diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java new file mode 100644 index 00000000..5522b1cb --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java @@ -0,0 +1,45 @@ +package eu.crushedpixel.replaymod.gui; + +import net.minecraft.client.gui.GuiScreen; + +import java.io.IOException; + +public class GuiObjectManager extends GuiScreen { + + private boolean initialized = false; + + @Override + public void initGui() { + super.initGui(); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + super.drawScreen(mouseX, mouseY, partialTicks); + } + + @Override + protected void keyTyped(char typedChar, int keyCode) throws IOException { + super.keyTyped(typedChar, keyCode); + } + + @Override + public void updateScreen() { + super.updateScreen(); + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { + super.mouseClicked(mouseX, mouseY, mouseButton); + } + + @Override + protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) { + super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick); + } + + @Override + protected void mouseReleased(int mouseX, int mouseY, int state) { + super.mouseReleased(mouseX, mouseY, state); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java index 93bbb7fa..ecad1d3f 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java @@ -71,7 +71,7 @@ public class GuiRenderSettings extends GuiScreen { customResolution = new GuiCheckBox(GuiConstants.RENDER_SETTINGS_RESOLUTION_CHECKBOX, 0, 0, I18n.format("replaymod.gui.rendersettings.customresolution"), false); - xRes = new GuiNumberInput(GuiConstants.RENDER_SETTINGS_RESOLUTION_X, fontRendererObj, 0, 0, 50, 1, 100000, mc.displayWidth, false) { + xRes = new GuiNumberInput(fontRendererObj, 0, 0, 50, 1, 100000, mc.displayWidth, false) { @Override public void moveCursorBy(int move) { super.moveCursorBy(move); @@ -88,7 +88,7 @@ public class GuiRenderSettings extends GuiScreen { yRes.setCursorPositionEnd(); } }; - yRes = new GuiNumberInput(GuiConstants.RENDER_SETTINGS_RESOLUTION_Y, fontRendererObj, 0, 0, 50, 1, 10000, mc.displayHeight, false) { + yRes = new GuiNumberInput(fontRendererObj, 0, 0, 50, 1, 10000, mc.displayHeight, false) { @Override public void moveCursorBy(int move) { super.moveCursorBy(move); @@ -106,7 +106,7 @@ public class GuiRenderSettings extends GuiScreen { } }; - bitrateInput = new GuiNumberInputWithText(GuiConstants.RENDER_SETTINGS_BITRATE_INPUT, fontRendererObj, 0, 0, 50, 1D, null, 10000D, false, " kbps"); + bitrateInput = new GuiNumberInputWithText(fontRendererObj, 0, 0, 50, 1D, null, 10000D, false, " kbps"); xRes.setEnabled(false); yRes.setEnabled(false); diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java new file mode 100644 index 00000000..857ccb48 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java @@ -0,0 +1,50 @@ +package eu.crushedpixel.replaymod.gui.elements; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; + +public class GuiDraggingNumberInput extends GuiNumberInput { + + public GuiDraggingNumberInput(FontRenderer fontRenderer, + int xPos, int yPos, int width, Double minimum, Double maximum, Double defaultValue, boolean acceptFloats) { + super(fontRenderer, xPos, yPos, width, minimum, maximum, defaultValue, acceptFloats); + } + + private int prevMouseX; + private boolean dragging; + + @Override + public void mouseClick(Minecraft mc, int mouseX, int mouseY, int button) { + dragging = false; + prevMouseX = mouseX; + } + + @Override + public void mouseDrag(Minecraft mc, int mouseX, int mouseY, int button) { + if(mouseX != prevMouseX) { + dragging = true; + int diff = mouseX - prevMouseX; + prevMouseX = mouseX; + + int bounds = 100; + + if(minimum != null && maximum != null) { + bounds = (int)(maximum-minimum); + } + + double value = getPreciseValue(); + double valueDiff = (diff/200) * bounds; + + this.setValue(value+valueDiff); + } + super.mouseDrag(mc, mouseX, mouseY, button); + } + + @Override + public void mouseRelease(Minecraft mc, int mouseX, int mouseY, int button) { + if(!dragging) { + super.mouseClick(mc, mouseX, mouseY, button); + } + super.mouseRelease(mc, mouseX, mouseY, button); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java index 20c1514b..e3f71008 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java @@ -1,17 +1,16 @@ package eu.crushedpixel.replaymod.gui.elements; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.GuiTextField; -public class GuiNumberInput extends GuiTextField { +public class GuiNumberInput extends GuiAdvancedTextField { - private Double minimum, maximum; + protected Double minimum, maximum; - private boolean acceptFloats = false; + protected boolean acceptFloats = false; - public GuiNumberInput(int id, FontRenderer fontRenderer, + public GuiNumberInput(FontRenderer fontRenderer, int xPos, int yPos, int width, Double minimum, Double maximum, Double defaultValue, boolean acceptFloats) { - super(id, fontRenderer, xPos, yPos, width, 20); + super(fontRenderer, xPos, yPos, width, 20); this.minimum = minimum; this.maximum = maximum; this.acceptFloats = acceptFloats; @@ -21,9 +20,9 @@ public class GuiNumberInput extends GuiTextField { } } - public GuiNumberInput(int id, FontRenderer fontRenderer, + public GuiNumberInput(FontRenderer fontRenderer, int xPos, int yPos, int width, int minimum, int maximum, int defaultValue, boolean acceptFloats) { - this(id, fontRenderer, xPos, yPos, width, (double) minimum, (double) maximum, (double) defaultValue, acceptFloats); + this(fontRenderer, xPos, yPos, width, (double) minimum, (double) maximum, (double) defaultValue, acceptFloats); } public void setValue(double value) { diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java index 3185e695..86a701cb 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java @@ -9,11 +9,11 @@ public class GuiNumberInputWithText extends GuiNumberInput { private String suffix; - public GuiNumberInputWithText(int id, FontRenderer fontRenderer, + public GuiNumberInputWithText(FontRenderer fontRenderer, int xPos, int yPos, int width, Double minimum, Double maximum, Double defaultValue, boolean acceptFloats, String suffix) { - super(id, fontRenderer, xPos, yPos, width, minimum, maximum, defaultValue, acceptFloats); + super(fontRenderer, xPos, yPos, width, minimum, maximum, defaultValue, acceptFloats); if(suffix == null) suffix = ""; this.suffix = suffix; diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java b/src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java index ef2d69b1..2d44eae0 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java @@ -96,13 +96,13 @@ public class GuiTrimPart extends GuiStudioPart { @Override public void initGui() { if(!initialized) { - startMinInput = new GuiNumberInput(1, fontRendererObj, 70, yPos, 30, null, 999d, null, false); - startSecInput = new GuiNumberInput(1, fontRendererObj, 120, yPos, 25, null, 99d, null, false); - startMsInput = new GuiNumberInput(1, fontRendererObj, 165, yPos, 30, null, 999d, null, false); + startMinInput = new GuiNumberInput(fontRendererObj, 70, yPos, 30, null, 999d, null, false); + startSecInput = new GuiNumberInput(fontRendererObj, 120, yPos, 25, null, 99d, null, false); + startMsInput = new GuiNumberInput(fontRendererObj, 165, yPos, 30, null, 999d, null, false); - endMinInput = new GuiNumberInput(1, fontRendererObj, 70, yPos + 30, 30, null, 999d, null, false); - endSecInput = new GuiNumberInput(1, fontRendererObj, 120, yPos + 30, 25, null, 99d, null, false); - endMsInput = new GuiNumberInput(1, fontRendererObj, 165, yPos + 30, 30, null, 999d, null, false); + endMinInput = new GuiNumberInput(fontRendererObj, 70, yPos + 30, 30, null, 999d, null, false); + endSecInput = new GuiNumberInput(fontRendererObj, 120, yPos + 30, 25, null, 99d, null, false); + endMsInput = new GuiNumberInput(fontRendererObj, 165, yPos + 30, 30, null, 999d, null, false); inputOrder.clear();