Commit Graph

42 Commits

Author SHA1 Message Date
johni0702
accc6c106f Fix invalid key id crashing the game 2015-08-13 11:07:26 +02:00
CrushedPixel
7bc3574515 When setting the last camera position before a time jump, a boolean has to be passed indicating whether that position should be enforced or ignored if it's out of a reasonable distance from the player's position.
This is used by the GuiMarkerTimeline to ensure that jumping to Marker Keyframes actually results in the Marker Keyframe's Position.

The actual code handling Position jumping after Time jumping was moved to the ReplayHandler and is now also called when jumping using the "Please wait" Screen.
2015-07-30 11:29:45 +02:00
CrushedPixel
62b2e04b85 The Camera Path Play/Pause button now tells the user where it's going to start (current cursor position or start) 2015-07-30 10:54:25 +02:00
CrushedPixel
5427616ceb Reworked ReplayProcess to get rid of own Interpolation instances (as these can be handled by the KeyframeLists)
Camera Paths are now started from the current cursor position, using Ctrl-click the path always starts from the beginning
2015-07-25 14:11:06 +02:00
CrushedPixel
6e9a77098a When clicking Time/Marker Keyframes, the time is now traveled with the "Please wait" screen 2015-07-22 23:13:21 +02:00
CrushedPixel
9d025cfae0 Synchronizing the Replay Timeline now respects the Speed Slider's value as a stretch factor. Shift key ignores that stretch value. 2015-07-21 23:58:56 +02:00
CrushedPixel
91399301f7 GuiReplayOverlay: The Keyframe Timeline should be zoomed in more initially
Do not reset Timeline whenever resetUI is called, only if "deep" reset
2015-07-21 03:44:11 +02:00
CrushedPixel
702e02db65 Made calculation of Markers on GuiTimeline dynamic
Changed Real Timeline's Length to 30 minutes (request by multiple users)
2015-07-19 23:27:22 +02:00
johni0702
6422558028 General warning cleanup 2015-07-19 16:21:56 +02:00
CrushedPixel
51814e143b Created dummy GuiOverlayElement interface for ComposedElement to determine which Elements to draw last
Added methods to retrieve position and size from a GuiElement
Added draw() method with option to override hovered boolean to GuiElement interface and implemented it. This is required for GuiAdvancedButtons which would be tinted blue (as if hovered) even though an overlying GuiElement (e.g. GuiDropdown) was hovered
2015-07-19 13:27:37 +02:00
CrushedPixel
2f78dc5e27 Don't render indicators in GuiReplayOverlay if current screen implements NoOverlay 2015-07-17 16:21:02 +02:00
CrushedPixel
7094a18106 Close Toolbar in GuiReplayOverlay when GuiMouseInput is closed 2015-07-17 12:16:10 +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
af305b4063 Play Camera Path button graphically didn't turn into pause button while playing 2015-07-14 12:08:07 +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
ef39c7466d 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
2015-07-10 04:27:15 +02:00
CrushedPixel
30ebfe96bd Allowed GuiTimeline instances to have any height (instead of fixed 22px height) and updated draw() method accordingly
Added HSV noise to GuiTimeline's textures to somewhat hide the repeating body texture
Implemented GuiTimeline in GuiObjectManager's GuiObjectKeyframeTimeline
Added asInt() method to TimestampValue, to avoid int casts of value field
2015-07-10 03:37:13 +02:00
CrushedPixel
2d19b17626 Finished Layout of GuiObjectManager 2015-07-08 16:54:14 +02:00
CrushedPixel
901b175efe Created GuiMarkerTimeline to display Markers again
Created helper methods in ReplayHandler to provide information about MarkerKeyframes
2015-07-08 04:46:44 +02:00
CrushedPixel
5100b63964 Warning, GIGANTIC COMMIT!
Replaced Keyframe subclasses with Generic Types of Keyframe and replaced all instanceof calls
Replaced implementations of Linear and Spline interpolation to interpolate any Object that extends KeyframeValue and contains at least one public double Field. I'll need this for Keyframe interpolation in CustomImageObject Transformations
Made MarkerKeyframe *no* subclass of Keyframe to avoid conflicts with PositionKeyframe in instanceof checks for Keyframe#getValue
Created KeyframeList which extends ArrayList to provide some helping functions which DRY up the ReplayHandler
Split up ReplayHandler's keyframeList into timeKeyframeList and positionKeyframeList
2015-07-08 04:13:24 +02:00
CrushedPixel
1b189c0dac Added setEnabled() method to GuiElement interface and implemented it everywhere
Made GuiFileChooser a child of GuiAdvancedButton instead of GuiButton
2015-07-07 16:55:49 +02:00
CrushedPixel
22be6d193a Fixed https://trello.com/c/wwJ2XyGN/ | Jumping in time also moves cursor on Keyframe Timeline 2015-07-04 14:54:49 +02:00
CrushedPixel
ab51cad1fc Resets color before drawing Eye Icon in GuiReplayOverlay | https://trello.com/c/IxHVkYQ8/ 2015-07-03 12:31:14 +02:00
johni0702
a058497727 Fix all warnings
Add and make use of Lombok
Remove Mojang API
Remove ZipFileUtils
Remove StreamTools in favor of Apache IOUtils
Keyframe should be abstract all derivatives final
Replace clone in Keyframe with copy
Move some constants from GuiReplaySetttings to GuiConstants
2015-06-29 21:45:37 +02:00
CrushedPixel
66567c3834 Requires at least two Position one Time Keyframe for Camera Paths/Rendering | https://trello.com/c/qJZSno6o/ 2015-06-29 13:44:32 +02:00
CrushedPixel
2991131c3a Removed unused MarkerButton code from GuiReplayOverlay
Resets Keyframe Timeline's Zoom and Slider Position
2015-06-16 22:36:27 +02:00
CrushedPixel
3df1bdcfc8 Added PathPreviewRenderer to draw a Preview of the current Camera Path into the World
Added KeyframesModifyEvent to be dispatched whenever the ReplayHandler's Keyframe List is changed
Refactored Event package
Reworked Settings GUI
2015-06-15 14:41:20 +02:00
CrushedPixel
2f7692d863 The Position Keyframe Button now turns into a Spectator Keyframe Button when Spectator Keyframe is selected or no Position Keyframe Selected and spectating an Entity 2015-06-14 10:42:51 +02:00
CrushedPixel
b2ad52d5b6 Markers are now subclasses of Keyframe
Markers can now be moved and jumped to on the Replay Timeline
2015-06-09 22:55:20 +02:00
CrushedPixel
689b7c79da Prevents GuiRenderSettings from being opened if not enough keyframes present 2015-06-02 12:10:32 +02:00
CrushedPixel
2918e163d2 Added Eyecon as indicator that Ambient Lighting is enabled
Added ShutdownHook to Lighting Handler to prevent high Brightness Values from being saved
2015-06-01 13:57:42 +02:00
johni0702
98c2b65023 Fix incorrect entity positions after jumping 2015-06-01 10:57:41 +02:00
johni0702
b3451ed7fd Use component like system for gui overlay
Add missing abort path replay button
2015-06-01 10:17:10 +02:00
CrushedPixel
53bb338d1b Added untranslated hoverKey property to GuiTexturedButton which is to be displayed when hovering over the Button
Implemented hoverKey feature in GuiReplayOverlay (doesn't display properly yet)
2015-05-31 18:13:11 +02:00
johni0702
967f591fbd Recreate mouse input of replay overlay when the screen size changes 2015-05-31 17:46:28 +02:00
CrushedPixel
fe036d72d8 Added Spectator Keyframes and handles them properly in both normal and rendered Replay Paths 2015-05-31 13:54:34 +02:00
johni0702
395c3b0acd Only render overlay gui once
Fix incorrect texture location of recording-marker
2015-05-26 21:43:58 +02:00
johni0702
590bc72ba1 Remove unnecessary mouse movements 2015-05-26 10:46:17 +02:00
johni0702
9e6d03d342 Fix compile error (missing method, removed in 9f3a97f) 2015-05-26 01:14:55 +02:00
johni0702
9f3a97f65c Cleanup, relocate and split up GuiReplayOverlay
Merge gui resources into one texture
2015-05-26 01:08:22 +02:00