Commit Graph

  • b2e246264c Add more space for sec and ms fields in trimming gui johni0702 2015-08-13 17:22:52 +02:00
  • b29a2636cd Save server ip used to connect (not the possibly resolved SRV address) johni0702 2015-08-13 15:24:33 +02:00
  • 871203c7c8 Version 1.0.1 johni0702 2015-08-13 11:43:12 +02:00
  • 8ae4bbc319 Loosen email validation johni0702 2015-08-13 11:40:02 +02:00
  • accc6c106f Fix invalid key id crashing the game johni0702 2015-08-13 11:07:26 +02:00
  • f666fc71e0 Fix concurrency issues with loading replays in replay center johni0702 2015-08-13 10:57:14 +02:00
  • 8f699a9140 Fix concurrency issues with loading replays in replay viewer johni0702 2015-08-13 10:56:46 +02:00
  • ee6835c279 Fix sound level map becoming null johni0702 2015-08-13 09:52:04 +02:00
  • 88cea2d86d Add suspension error to language file CrushedPixel 2015-08-12 22:27:00 +02:00
  • 2d756bfc9a Fix Transparency of Custom Image Objects CrushedPixel 2015-08-12 22:26:48 +02:00
  • b525751a55 Update forge to current recommanded version johni0702 2015-08-12 20:59:44 +02:00
  • 0ce09af088 Push/Pop Attributes in PathPreviewRenderer, fixing https://trello.com/c/mROgxEWF/ CrushedPixel 2015-08-12 18:20:22 +02:00
  • a9fb20fa18 Remove SafeEntityRenderer CrushedPixel 2015-08-12 18:19:35 +02:00
  • 60f227cad8 Only shade the Mixin lib itself not all of its dependencies johni0702 2015-08-12 12:29:31 +02:00
  • 0c55411f7c Add ThankYou.txt containing all Kickstarter Backers >= $25 CrushedPixel 2015-08-12 11:49:20 +02:00
  • d214a05d76 Updated build.gradle for Version 1.0 #hype!! Updated mcmod.info to finally contain more than "an example placeholder mod" CrushedPixel 2015-08-12 11:32:03 +02:00
  • d8cd278399 Prevent NPE in GuiReplayListEntry that can occur when the API returns an invalid Thumbnail CrushedPixel 2015-08-12 10:10:37 +02:00
  • de082c3230 Uses Mixin Magic to add BlockBreakAnimation Packets to the Replay when a Player breaks a block CrushedPixel 2015-08-11 20:01:45 +02:00
  • 063a26d4ab Filter instances of S1BPacketEntityAttach that are referring to the Camera Entity CrushedPixel 2015-08-11 17:17:55 +02:00
  • 59592b938a Added Disclaimer to Replay Editor indicating that bugs may occur CrushedPixel 2015-08-11 15:15:26 +02:00
  • 189aa18afb Prevent NPE when removing the last Element from the "Connect Replays" list CrushedPixel 2015-08-11 15:03:49 +02:00
  • c9ce092ae1 Disable "Modify Replay" Button in GuiReplayEditor CrushedPixel 2015-08-11 15:00:35 +02:00
  • 4319a64efd (Re)move time keyframes when trimming replay johni0702 2015-08-11 13:50:36 +02:00
  • 197500857f Call fireValueChangeEvent() in GuiNumberInput when digits have been deleted CrushedPixel 2015-08-11 13:37:27 +02:00
  • 7e91cb82a6 Fix resizing in render progress gui being at totally the wrong position causing the rendered video to be swapped to screen johni0702 2015-08-10 14:41:56 +02:00
  • 4aa1ee847f Fix cancel button being of 0 height johni0702 2015-08-10 14:20:34 +02:00
  • d98845deab Disabled many Keybindings during Camera Paths CrushedPixel 2015-08-09 13:06:57 +02:00
  • 40aaf7fbef When initially asked to Log in, rename "Cancel" to "Skip" button to indicate that the user doesn't have to log in in order to use the mod CrushedPixel 2015-08-07 12:23:58 +02:00
  • 6e07bde07c Update the ApiClient#isVersionUpToDate method to inform the server about the Minecraft Version, which is required to determine whether a newer Mod Version for the given Minecraft Version is available CrushedPixel 2015-08-06 13:14:35 +02:00
  • 78e4c36d54 Replace no name tag CT with mixin magic Fix nametags of sneaking players being displayed even though nametags are disabled johni0702 2015-08-05 17:09:54 +02:00
  • 16a86066f2 Replace sound manager CT with mixin magic johni0702 2015-08-05 16:18:07 +02:00
  • d4259c103f Added Shortcut to toggle Interpolation ('O' key) CrushedPixel 2015-08-05 13:03:16 +02:00
  • e03610bcef Replace enchantment timer CT with mixin magic johni0702 2015-08-05 12:20:09 +02:00
  • 83e5344448 Replace camera roll CT with mixin magic johni0702 2015-08-05 11:42:43 +02:00
  • 4efdc0ebd0 Replace CustomEntityHandler with mixin magic johni0702 2015-08-04 22:36:04 +02:00
  • 00fd746eb7 Remove unnecessary localization Clean up position and size calculation johni0702 2015-08-04 23:14:31 +02:00
  • b32aaf5609 Initially set the GuiObjectManager's Keyframe Timeline's cursor position to the GuiReplayOverlay's Keyframe Timeline's cursor position CrushedPixel 2015-08-04 17:26:00 +02:00
  • 1d1193bd25 Do not send Sound Effect Packets while rendering, as they might blow your ear away afterwards CrushedPixel 2015-08-04 17:04:15 +02:00
  • 59624d21b5 mc.gameSettings.mapSoundLevels might be null, handle this case properly CrushedPixel 2015-08-04 16:59:40 +02:00
  • 59fe1bd493 Added a PNG Sequence Encoding Preset CrushedPixel 2015-08-04 12:32:04 +02:00
  • 7d2895af3a Set all sound volume levels (except for master) to 0 before rendering a video to prevent all sounds the replay might produce from being played, but GUI interactions still play sounds CrushedPixel 2015-08-03 16:25:40 +02:00
  • eb281b9df4 Added Disclaimer to GuiRegister telling users that registering means they agree with ReplayMod.com's Terms of Services CrushedPixel 2015-08-02 13:56:34 +02:00
  • 2eab1ddbdb Disable resizing of the game window while rendering if FBOs are not enabled CrushedPixel 2015-07-31 13:58:27 +02:00
  • 34fe741cc4 Call Minecraft#updateDisplay in VideoRenderer if not in High Performance Mode, to resize the GuiVideoRenderer if user resized screen (requested by many users) This has no side effects on the rendered video. Change GuiVideoRenderer#initGui method to allow for resizing CrushedPixel 2015-07-30 12:59:54 +02:00
  • 7e99cfeb50 Allow for spaces in Replay Names in GuiRenameReplay and use proper variable names instead of copy-pasted SrgNames CrushedPixel 2015-07-30 11:43:18 +02:00
  • 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. CrushedPixel 2015-07-30 11:29:45 +02:00
  • e0a0d9ef53 Fix CameraEntity#moveAbsolute(AdvancedPosition) to properly update head rotation and bounding box CrushedPixel 2015-07-30 11:26:31 +02:00
  • 8d8fa6a835 Be more reasonable in GuiKeyframeRepository with user inputs, not replacing the keyframeSetList's elements every time the Keyframe Preset's name changes and therefore not calling the Listener which set the nameInput's value every time. This leads to a smoother user experience regarding the nameInput Text Field. CrushedPixel 2015-07-30 11:00:44 +02:00
  • 62b2e04b85 The Camera Path Play/Pause button now tells the user where it's going to start (current cursor position or start) CrushedPixel 2015-07-30 10:54:25 +02:00
  • d4e16ee07e Pressing the chat button if a GuiMouseInput is already present closes this GuiMouseInput (easier toggle between mouse and camera mode) CrushedPixel 2015-07-29 12:24:43 +02:00
  • dd68b1546d The GuiRenderSettings loads their initial settings from the Replay Mod config Upon rendering, the GuiRenderSettings saves the current RenderOptions to the Replay Mod config CrushedPixel 2015-07-28 00:00:38 +02:00
  • 1e51b43bdb Added methods to RenderOptions to save/load a RenderOptions object from/to a Forge Configuration instance Set default bitrate String to "10000K" instead of "10M", which is the same value but is simpler to parse for me Set default of hideNameTags to false as it is in the GuiRenderSettings CrushedPixel 2015-07-27 23:59:27 +02:00
  • 0494b9cffe Added a setFPS() method to GuiVideoFramerateSlider to programmatically change the FPS value CrushedPixel 2015-07-27 23:58:08 +02:00
  • 4a5f66cab9 Fix LegacyKeyframeSetAdapter swallowing spectatedEntityID values of non-legacy Keyframes CrushedPixel 2015-07-26 12:38:41 +02:00
  • ee2b028ed8 If the cursor on the Keyframe Timeline is at or near the last keyframe, play from the beginning CrushedPixel 2015-07-26 12:38:00 +02:00
  • 4f69d9e22f Added hover message in GuiUploadFile to tell the user why they can't upload a File CrushedPixel 2015-07-25 15:15:59 +02:00
  • caf0807e8b Only allow Alphanumerical characters and underscores when registering a new username Use RegexUtils in GuiUploadFile CrushedPixel 2015-07-25 14:53:03 +02:00
  • efbf9bd3b9 Created RegexUtils class to provide commonly used Patterns for User input validation CrushedPixel 2015-07-25 14:52:25 +02:00
  • 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 CrushedPixel 2015-07-25 14:11:06 +02:00
  • 3b93df30e5 Use a round method that does NOT crash when the computer's language uses commas as delimiter for floating point numbers (yes, German computers had a crash there) CrushedPixel 2015-07-24 18:02:37 +02:00
  • f91791ff9e Keyframes are now live edited (to allow for better fine tweaking of camera paths) CrushedPixel 2015-07-24 18:00:01 +02:00
  • 7b67fb4242 Instead of ticking the world once (which updated entities and such), simply set the EntityRenderer's lightmapUpdateNeeded to true when updating Ambient Lighting Properly handle manual Gamma changes in LightingHandler not to confuse users why their Brightness setting is being reset constantly CrushedPixel 2015-07-24 14:35:28 +02:00
  • bdd9d1da33 Replacing FileSystems call with File.getCanonicalFile in ReplayFileIO (which I should've used from the beginning) CrushedPixel 2015-07-24 14:01:16 +02:00
  • 4f94e41b9a Do not use Java 1.7 only File#toPath() method in ReplayFileIO#makeFolderFromPath CrushedPixel 2015-07-24 13:26:30 +02:00
  • aae4af2062 Rework GuiVideoRenderer's Estimated Time Left to ignore the first frame (which took a long time to initialize) and be able to cope with multiple frames changing since the last update (Fast Rendering Mode) | https://trello.com/c/szQQycno/ CrushedPixel 2015-07-24 13:09:32 +02:00
  • 853c8a45e0 ComposedElements properly draw overlays of their underlying Elements CrushedPixel 2015-07-23 22:41:48 +02:00
  • a51ab0cd44 To prevent particle rotations from being interpolated by MC, set prevRotationPitch and prevRotationYaw as well CrushedPixel 2015-07-23 19:41:49 +02:00
  • ff65ced4a8 Since ReplayHandler#addKeyframe selects the Keyframe, deselect it after loading a Path Preset CrushedPixel 2015-07-23 13:21:26 +02:00
  • be8286ad9c Center and free the Mouse cursor whenever a GuiReplayOverlay is opened CrushedPixel 2015-07-23 13:20:39 +02:00
  • 371d26aaff Revert "The reason why the Mouse was not visible on my Mac after rendering was that the cursor was at some very odd position far far away from the actual MC window (in fullscreen)." CrushedPixel 2015-07-23 13:14:47 +02:00
  • 13481416b7 Fixed a major bug in the Time Keyframe interpolation when rendering a video that caused the Replay to be restarted while rendering. This occurred whenever videoTime exactly matched a Time Keyframe's Position and was fixed by passing true to KeyframeList#getPreviousKeyframe and KeyframeList#getNextKeyframe, which therefore return the Keyframe itself if the timestamp matches. CrushedPixel 2015-07-23 13:13:36 +02:00
  • 6547595318 ReplayFileIO#makeFolderFromPath removes dots (.) from file path to not confuse Windows File Systems. before: /eclipse/./replay_videos/, after: /eclipse/replay_videos/ CrushedPixel 2015-07-23 13:11:01 +02:00
  • eb57e7be2c Since we can't determine the file extension without parsing the actual ffmpeg arguments, we don't manually delete the destination video file when rendering but instead tell FFmpeg to overwrite this file if it already exists using the -y parameter. CrushedPixel 2015-07-23 13:09:56 +02:00
  • e80d71db93 Clearing Keyframes resets the Timeline Cursor Position CrushedPixel 2015-07-23 12:34:44 +02:00
  • 528ee52754 Added proper toString Method to TimestampValue for easier debugging CrushedPixel 2015-07-23 12:34:30 +02:00
  • d46be20d72 The reason why the Mouse was not visible on my Mac after rendering was that the cursor was at some very odd position far far away from the actual MC window (in fullscreen). To workaround this, set the Cursor Position to 0, 0 after playing a Camera Path. | https://trello.com/c/IHxYiBTE/ CrushedPixel 2015-07-23 01:12:15 +02:00
  • 6e9a77098a When clicking Time/Marker Keyframes, the time is now traveled with the "Please wait" screen CrushedPixel 2015-07-22 23:13:21 +02:00
  • 9d025cfae0 Synchronizing the Replay Timeline now respects the Speed Slider's value as a stretch factor. Shift key ignores that stretch value. CrushedPixel 2015-07-21 23:58:56 +02:00
  • 0a71266a05 Properly filters S2BPacketChangeGameState to include weather effects like rain or sky color change | https://trello.com/c/hE8Uck3m/ Do not show Titles and Chat in Replay | https://trello.com/c/SUPgAjf1/ CrushedPixel 2015-07-21 18:10:46 +02:00
  • 5bc26503a8 Remove unused Quaternion Interpolators. RIP, I definitely hat fun Slerping with you! CrushedPixel 2015-07-21 11:49:26 +02:00
  • 21b02e7e80 Added implementations for Quaternions to represent rotation values and Interpolators using the Slerp/Lerp algorithm We might remove this later as it isn't used and requires the Apache Commons Math Library CrushedPixel 2015-07-21 03:50:36 +02:00
  • f5a9723646 Added getLinearInterpolator() and getCubicInterpolator() methods to KeyframeValue interface to allow for specific Interpolators instead of the Generic Interpolators Created InterpolationUtils class with a method to fix the Euler Rotation Break problem Create AdvancedPositionSplineInterpolation and AdvancedPositionLinearInterpolation which always use the shortest possible paths between the Euler Rotation values of the Camera's Yaw and Roll Remove Position Keyframe filtering when adding the Keyframe. This is now done by the AdvancedPositionInterpolation classes CrushedPixel 2015-07-21 03:49:20 +02:00
  • ff6b09dcba Adjust MARKER_DISTANCE value in GuiTimeline to avoid visual glitches CrushedPixel 2015-07-21 03:44:33 +02:00
  • 91399301f7 GuiReplayOverlay: The Keyframe Timeline should be zoomed in more initially Do not reset Timeline whenever resetUI is called, only if "deep" reset CrushedPixel 2015-07-21 03:44:11 +02:00
  • d3b07e6679 Do not restrict Camera Yaw Values in GuiEditKeyframe CrushedPixel 2015-07-21 03:41:02 +02:00
  • 931a58a6a9 Learn english, Johni! CrushedPixel 2015-07-21 03:40:38 +02:00
  • be77bb5a7b Added recalculate() method to KeyframeList to recalc the underlying Interpolation Recalculate Keyframe Lists in ReplayHandler upon firing a KeyframesModifyEvent CrushedPixel 2015-07-20 02:32:20 +02:00
  • 30f0a4d6a9 Implemented expected behaviour in KeyframeList#getPreviousKeyframe and KeyframeList#getNextKeyframe CrushedPixel 2015-07-20 02:03:53 +02:00
  • 6201a7d13c Created drawRotatedRectWithCustomSizedTexture method in OpenGLUtils CrushedPixel 2015-07-20 02:03:23 +02:00
  • 585482a542 GuiArrowButton now draws from Texture instead of awful calculations CrushedPixel 2015-07-20 02:03:01 +02:00
  • a435d5a271 Make GuiAdvancedButton only perform actions when enabled CrushedPixel 2015-07-20 02:01:00 +02:00
  • e9c87b5c8c Set selected Keyframe to null upon joining a Replay CrushedPixel 2015-07-20 01:18:06 +02:00
  • a9d7e0f794 Properly set previousCallLinear value in KeyframeList#getInterpolatedValueForPathPosition(), MASSIVELY increasing performance as the interpolation isn't recalculated all the time CrushedPixel 2015-07-20 01:17:52 +02:00
  • d9e2c2a7c8 Only get Fields to Interpolate in Interpolation implementations if not done before -> massive performance increase CrushedPixel 2015-07-20 01:16:53 +02:00
  • 9b76bcadcb Fixed NPE in GuiEditKeyframe caused by super.onInit() call being too late... Johni0702, did you even test that Gui? | https://trello.com/c/PmcdLgzV/ CrushedPixel 2015-07-20 01:16:09 +02:00
  • 4dccf5b3b6 Only render Path Preview within Render Distance CrushedPixel 2015-07-20 01:14:53 +02:00
  • 702e02db65 Made calculation of Markers on GuiTimeline dynamic Changed Real Timeline's Length to 30 minutes (request by multiple users) CrushedPixel 2015-07-19 23:27:15 +02:00
  • 6422558028 General warning cleanup johni0702 2015-07-19 16:18:34 +02:00
  • 4f718ab302 Split GuiEditKeyframe into multiple classes depending on Keyframe type johni0702 2015-07-19 15:07:07 +02:00
  • c309929276 Fixed GuiReplaySpeedSlider and GuiVideoFramerateSlider overriding the wrong methods CrushedPixel 2015-07-19 15:29:57 +02:00