Commit Graph

262 Commits

Author SHA1 Message Date
CrushedPixel
b4eb366688 Added more Constructors to GuiAdvancedTextField 2015-07-19 13:27:37 +02:00
CrushedPixel
b851632ffb added getWidth() method to GuiString which returns the width of the drawn String (calculated using FontRenderer#getStringWidth()) 2015-07-19 13:27:37 +02:00
CrushedPixel
3c7c1198cc Made GuiColorPicker a subclass of GuiAdvancedButton and call pickerToggled() method from own click handler methods 2015-07-19 13:27:36 +02:00
CrushedPixel
5b167351b0 ComposedElement initially sorts its elements and respects their elements' y position if both are Dropdowns 2015-07-19 13:27:36 +02:00
CrushedPixel
3299986e18 Made GuiVideoFramerateSlider a subclass of GuiAdvancedButton and added missing @Override annotations 2015-07-19 13:27:36 +02:00
CrushedPixel
708201c456 Added CheckBoxListener for GuiAdvancedCheckBox 2015-07-19 13:27:36 +02:00
johni0702
046b686837 Fix GuiDropdown not functioning in GuiReplayEditor 2015-07-18 17:50:43 +02:00
CrushedPixel
8f82ca5434 Implemented NoOverlay interface for some more GUIs 2015-07-17 16:21:23 +02:00
CrushedPixel
2f78dc5e27 Don't render indicators in GuiReplayOverlay if current screen implements NoOverlay 2015-07-17 16:21:02 +02:00
johni0702
fdd2c7ecf7 Allow all camera rotation axis to be ignored separately during rendering 2015-07-17 12:43:46 +02:00
CrushedPixel
d360ee5e2e Moved Add and Remove Buttons in GuiObjectManager 5px upwards 2015-07-17 12:27:55 +02:00
CrushedPixel
7094a18106 Close Toolbar in GuiReplayOverlay when GuiMouseInput is closed 2015-07-17 12:16:10 +02:00
CrushedPixel
efd82861c2 Rename mislabeled TimestampUtils#getMinutesFromTimestamp Method to TimestampUtils#timestampToWholeMinutes 2015-07-17 12:16:09 +02:00
CrushedPixel
21938250f6 Keyframe Timeline Length is a Magic Constant 2015-07-17 02:25:29 +02:00
CrushedPixel
d708360c63 Render Camera Indicator in lower right corner if Path Preview is active 2015-07-17 02:12:40 +02:00
CrushedPixel
0ae8e9583a Add Toolbar to GuiReplayOverlay, showing all Keybindings as handy buttons 2015-07-17 01:25:50 +02:00
CrushedPixel
238acf2eca Initially validate inputs in GuiRenderSettings 2015-07-16 22:04:06 +02:00
CrushedPixel
9ba99d1794 Added restriction for Encoding Presets with the yuv420 setting (width and height have to be even numbers) 2015-07-16 21:56:29 +02:00
CrushedPixel
da82e3e1f2 Draw Elements in GuiRenderSettings in the correct order 2015-07-16 21:09:58 +02:00
CrushedPixel
87b99d1f8f Fixed min/max values for GuiNumberInputs in GuiEditKeyframe 2015-07-16 21:09:58 +02:00
johni0702
5dd974cc9f Fix preview trying to read argb when there is only rgb 2015-07-16 21:02:18 +02:00
CrushedPixel
e29b6ec9a0 Use java.util.Arrays instead of scala.actors.threadpool.Arrays in GuiKeyframeRepository to prevent a crash at runtime 2015-07-16 20:20:57 +02:00
johni0702
56efc8c5ec Use RGB instead of ARGB for export and therefore speed up OpenGL to output conversion process 2015-07-16 18:14:14 +02:00
CrushedPixel
86bd646b35 Another commit to fix underlining in GuiReplayInstanceChooser... I'm so sorry Johni :( 2015-07-16 17:37:20 +02:00
CrushedPixel
531319a4d1 Added Checkbox to GuiRenderSettings to enable/disable Name Tag rendering 2015-07-16 17:28:33 +02:00
CrushedPixel
5634507ce7 GuiReplayInstanceChooser: Undid underlining the Replay File String and underline the Gui Title again 2015-07-16 16:46:07 +02:00
johni0702
787942aef2 Add high performance rendering mode which does not render the GUI every frame 2015-07-16 16:23:30 +02:00
CrushedPixel
cbdaff9e41 Colors "Original" and "Modified" strings in GuiReplayInstanceChooser 2015-07-16 16:21:05 +02:00
CrushedPixel
de07811229 Created GuiReplayInstanceChooser which allows users to define whether they want to load their modified version of an online replay or load the original 2015-07-16 16:21:05 +02:00
CrushedPixel
5b78f82116 In GuiAssetManager, directly modify the ReplayHandler's Asset Repository instance, as ReplayImage#loadFromStream uses this instance to determine whether it has to notify Custom Image Objects about an image change 2015-07-16 13:37:15 +02:00
CrushedPixel
d45fcb8a34 Only register changes in ReplayFileAppender if something changed - this applies to GuiKeyframeRepository, GuiObjectManager, GuiPlayerOverview, GuiAssetManager
Added equals method to ReplayImageAsset which is based on the BufferedImage's hash code (which is calculated only once)
2015-07-16 13:37:15 +02:00
CrushedPixel
7790aee3cb Replaced lossless encoding with high quality ( -qp 1 instead of -qp 0 ) because (quote ffmpeg.org): Most non-FFmpeg based players will not be able to decode lossless (but YouTube can), so if compatibility is an issue you should not use lossless. 2015-07-15 23:59:23 +02:00
CrushedPixel
57100735a4 Filed GuiFileChooser opening an "Open" dialog when a "Save" dialog should be opened 2015-07-15 23:57:58 +02:00
CrushedPixel
5816ff1f80 Fix GuiAdvancedButton drawing a Tooltip if the Hover Text String is empty 2015-07-15 23:57:30 +02:00
CrushedPixel
936f242b4c Added Encoding Presets to GuiRenderSettings and removed Checkbox for Custom Resolution 2015-07-15 16:50:58 +02:00
johni0702
7ee5f86b4e Prevent rendering with invalid resolution 2015-07-15 15:43:01 +02:00
johni0702
7fd429e25f Rework rendering pipeline to make better use of multithreading
Move OpenGL frame to ARGB conversion to processing threads
Move video exporting to processing threads
Skip creation of BufferedImage and instead use ByteBuffer with ARGB content directly
2015-07-15 14:23:43 +02:00
CrushedPixel
3a2c35cb22 Added Api Call checking if the Mod has the latest version and Message in Main Menu if not up-to-date
Removed unused GuiConstants Fields
2015-07-15 14:08:28 +02:00
CrushedPixel
1aa2c8e02b Made Keyframes in GuiObjectManager draggable 2015-07-15 12:24:38 +02:00
CrushedPixel
62073d6351 In the GuiObjectManager, Keyframes can be deleted using the DELETE Key on the Keyboard 2015-07-15 12:20:24 +02:00
CrushedPixel
d057553223 Added "inclusive" parameter to getPreviousKeyframe() and getNextKeyframe() in KeyframeList to define whether the next/previous keyframe may have the same timestamp as the realTime parameter
Fixed a bug in KeyframeList#getPositionOnPath where a non-inclusive getPreviousKeyframe call resulted in an incorrect position value
2015-07-14 13:48:48 +02:00
CrushedPixel
af305b4063 Play Camera Path button graphically didn't turn into pause button while playing 2015-07-14 12:08:07 +02:00
CrushedPixel
534007b9c8 Executes JFileChooser activities in Swing Thread
If Minecraft is fullscreen, exit fullscreen when using GuiFileChooser
2015-07-14 02:07:24 +02:00
CrushedPixel
654c2200d5 Replaced AWT FileDialog with Swing JFileChooser in GuiFileChooser 2015-07-14 01:36:00 +02:00
CrushedPixel
0d7065d45d Disabled remove button in GuiAssetManager if no element is selected in List 2015-07-14 01:01:35 +02:00
CrushedPixel
9cf3f426aa Renamed setEnabled() method in GuiElementInterface to setElementEnabled() to workaround this Forge Bug: http://www.minecraftforge.net/forum/index.php/topic,32063 2015-07-14 00:25:17 +02:00
CrushedPixel
0f024a9de9 Cleaned up ReplayHandler by unifying selectedKeyframe and selectedMarkerKeyframe into selectedKeyframe, thus only being able to select one Keyframe at once 2015-07-13 22:08:41 +02:00
CrushedPixel
a7590ce384 Rendering: Deletes destination File if it already exists to prevent ffmpeg from crashing | https://trello.com/c/Ozlp5Sts/ 2015-07-13 21:07:29 +02:00
CrushedPixel
3f12019288 Created CameraPathValidator to validate Camera Paths before playing them and uses its static validateCameraPath() method whenever a Camera Path is to be started
Camera Paths can't start if negative movement through time would be required
2015-07-13 15:47:57 +02:00
CrushedPixel
9d2c371398 GuiKeyframeTimeline now draws a red stroke between two time Keyframes if the second has a smaller timestamp value than the first | https://trello.com/c/a4xZs085/ 2015-07-13 15:26:20 +02:00