Commit Graph

21 Commits

Author SHA1 Message Date
CrushedPixel
45f64faa77 Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created
CustomObjectRepository is now being saved to and loaded from the ReplayFile
The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview)
KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe
Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp()
Added Javadoc to Transformation POJO
Created NumberValueChangeListener which can be applied to GuiNumberInput objects
Made step size customizable in GuiDraggingNumberInput
Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset
Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
2015-07-12 16:21:11 +02:00
CrushedPixel
6a6873c3d7 Added ReflectionUtils helper class to find Fields with @Interpolate annotation in superclasses (Interpolators didn't account for Fields in AdvancedPosition inherited by Position) 2015-07-12 03:33:15 +02:00
CrushedPixel
28f7d77800 GuiObjectManager now allows users to set Keyframes for Transformations
Fixed a bug in KeyframeList#getClosestKeyframeForTimestamp that made it only work with AdvancedPosition Keyframes
2015-07-11 14:26:43 +02:00
johni0702
109a025a1e Only use java 6 methods 2015-07-10 14:54:11 +02:00
CrushedPixel
8aec0a364a Revert "Doesn't use a Java 1.8 Method to sort KeyframeList's contents"
This reverts commit 7c342d8995fdcb103a9eb01e57efad15af66b427.
2015-07-10 14:26:51 +02:00
CrushedPixel
1c417877e6 Doesn't use a Java 1.8 Method to sort KeyframeList's contents 2015-07-10 14:26:50 +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
16b74d9824 Included Path Interpolation methods in KeyframeList and uses it in PathPreviewRenderer
Created newInstance() method in KeyframeValue interface
2015-07-08 23:55:48 +02:00
CrushedPixel
8a973fa3e9 Created @Interpolate annotation for Interpolators to know which fields to interpolate (instead of all public fields) 2015-07-08 11:43:58 +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
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
94fa19b9ad Fixed NoSuchFieldError in SplinePoint class 2015-05-24 01:26:42 +02:00
johni0702
18f22f57d0 Rework rendering
Adds default, stereoscopic, tiling, cubic and equirectangular frame rendering
2015-05-23 14:58:34 +02:00
CrushedPixel
cbbc50a37a Renamed "Camera Tilt" to "Camera Roll" (new naming convention!)
Changed Camera Roll to use Degree Values
Started adding Timeline Position Editing to GuiEditKeyframe
2015-05-22 17:06:36 +02:00
CrushedPixel
8e3ded4f5e Included Camera Tilt to Camera Paths 2015-05-06 12:32:16 +02:00
CrushedPixel
36eab58705 Added prerequisites for future Camera Tilt feature 2015-05-05 10:52:06 +02:00
CrushedPixel
0003f040ed Refactored and reformatted code to use less static variables 2015-04-23 14:09:54 +02:00
Marius Metzger
11e26e0129 Updated build.gradle to automatically build fat jars with the dependencies in the /libs folder. This utilizes the shade.sh shell script. Use ./gradlew without explicitely invoking the build task, as this will automatically build a fat jar.
Sorry for this painful commit, but git somehow f'd up and sees changes in files where there aren't any.
2015-03-21 17:05:53 +01:00
Marius Metzger
a38f87e377 Finished Trim Part for Replay Studio
Fixed Scroll Bar for GuiSpectateSelection
2015-03-12 12:56:37 +01:00
Marius Metzger
03f6ba1ade Added Video Export feature with according Options in the Options Menu
Fixed Linear Interpolation
2015-02-08 12:40:37 +01:00
Marius Metzger
cbd96d57f4 First Commit 2015-01-03 23:25:21 +01:00