Commit Graph

609 Commits

Author SHA1 Message Date
CrushedPixel
d98845deab Disabled many Keybindings during Camera Paths 2015-08-09 13:06:57 +02:00
CrushedPixel
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 2015-08-07 12:23:58 +02:00
CrushedPixel
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 2015-08-06 13:16:12 +02:00
johni0702
78e4c36d54 Replace no name tag CT with mixin magic
Fix nametags of sneaking players being displayed even though nametags are disabled
2015-08-05 17:09:54 +02:00
johni0702
16a86066f2 Replace sound manager CT with mixin magic 2015-08-05 16:19:39 +02:00
CrushedPixel
d4259c103f Added Shortcut to toggle Interpolation ('O' key) 2015-08-05 13:03:53 +02:00
johni0702
e03610bcef Replace enchantment timer CT with mixin magic 2015-08-05 12:20:09 +02:00
johni0702
83e5344448 Replace camera roll CT with mixin magic 2015-08-05 11:42:43 +02:00
johni0702
4efdc0ebd0 Replace CustomEntityHandler with mixin magic 2015-08-04 23:18:23 +02:00
johni0702
00fd746eb7 Remove unnecessary localization
Clean up position and size calculation
2015-08-04 23:14:31 +02:00
CrushedPixel
b32aaf5609 Initially set the GuiObjectManager's Keyframe Timeline's cursor position to the GuiReplayOverlay's Keyframe Timeline's cursor position 2015-08-04 17:26:00 +02:00
CrushedPixel
1d1193bd25 Do not send Sound Effect Packets while rendering, as they might blow your ear away afterwards 2015-08-04 17:04:15 +02:00
CrushedPixel
59624d21b5 mc.gameSettings.mapSoundLevels might be null, handle this case properly 2015-08-04 16:59:40 +02:00
CrushedPixel
59fe1bd493 Added a PNG Sequence Encoding Preset 2015-08-04 12:32:04 +02:00
CrushedPixel
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 2015-08-03 16:25:40 +02:00
CrushedPixel
eb281b9df4 Added Disclaimer to GuiRegister telling users that registering means they agree with ReplayMod.com's Terms of Services 2015-08-02 13:56:34 +02:00
CrushedPixel
2eab1ddbdb Disable resizing of the game window while rendering if FBOs are not enabled 2015-07-31 13:58:27 +02:00
CrushedPixel
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
2015-07-30 12:59:54 +02:00
CrushedPixel
7e99cfeb50 Allow for spaces in Replay Names in GuiRenameReplay and use proper variable names instead of copy-pasted SrgNames 2015-07-30 11:43:18 +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
e0a0d9ef53 Fix CameraEntity#moveAbsolute(AdvancedPosition) to properly update head rotation and bounding box 2015-07-30 11:26:31 +02:00
CrushedPixel
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. 2015-07-30 11:00:44 +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
d4e16ee07e Pressing the chat button if a GuiMouseInput is already present closes this GuiMouseInput (easier toggle between mouse and camera mode) 2015-07-29 12:24:43 +02:00
CrushedPixel
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
2015-07-28 00:00:38 +02:00
CrushedPixel
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
2015-07-27 23:59:27 +02:00
CrushedPixel
0494b9cffe Added a setFPS() method to GuiVideoFramerateSlider to programmatically change the FPS value 2015-07-27 23:58:08 +02:00
CrushedPixel
4a5f66cab9 Fix LegacyKeyframeSetAdapter swallowing spectatedEntityID values of non-legacy Keyframes 2015-07-26 12:38:41 +02:00
CrushedPixel
ee2b028ed8 If the cursor on the Keyframe Timeline is at or near the last keyframe, play from the beginning 2015-07-26 12:38:00 +02:00
CrushedPixel
4f69d9e22f Added hover message in GuiUploadFile to tell the user why they can't upload a File 2015-07-25 15:15:59 +02:00
CrushedPixel
caf0807e8b Only allow Alphanumerical characters and underscores when registering a new username
Use RegexUtils in GuiUploadFile
2015-07-25 14:53:03 +02:00
CrushedPixel
efbf9bd3b9 Created RegexUtils class to provide commonly used Patterns for User input validation 2015-07-25 14:52: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
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) 2015-07-24 18:02:37 +02:00
CrushedPixel
f91791ff9e Keyframes are now live edited (to allow for better fine tweaking of camera paths) 2015-07-24 18:00:01 +02:00
CrushedPixel
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
2015-07-24 14:35:28 +02:00
CrushedPixel
bdd9d1da33 Replacing FileSystems call with File.getCanonicalFile in ReplayFileIO (which I should've used from the beginning) 2015-07-24 14:01:16 +02:00
CrushedPixel
4f94e41b9a Do not use Java 1.7 only File#toPath() method in ReplayFileIO#makeFolderFromPath 2015-07-24 13:26:30 +02:00
CrushedPixel
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/ 2015-07-24 13:09:32 +02:00
CrushedPixel
853c8a45e0 ComposedElements properly draw overlays of their underlying Elements 2015-07-23 22:41:48 +02:00
CrushedPixel
a51ab0cd44 To prevent particle rotations from being interpolated by MC, set prevRotationPitch and prevRotationYaw as well 2015-07-23 19:41:49 +02:00
CrushedPixel
ff65ced4a8 Since ReplayHandler#addKeyframe selects the Keyframe, deselect it after loading a Path Preset 2015-07-23 13:21:26 +02:00
CrushedPixel
be8286ad9c Center and free the Mouse cursor whenever a GuiReplayOverlay is opened 2015-07-23 13:20:39 +02:00
CrushedPixel
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)."
This reverts commit d46be20d72.
2015-07-23 13:14:47 +02:00
CrushedPixel
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. 2015-07-23 13:13:36 +02:00
CrushedPixel
6547595318 ReplayFileIO#makeFolderFromPath removes dots (.) from file path to not confuse Windows File Systems. before: /eclipse/./replay_videos/, after: /eclipse/replay_videos/ 2015-07-23 13:11:01 +02:00
CrushedPixel
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. 2015-07-23 13:09:56 +02:00
CrushedPixel
e80d71db93 Clearing Keyframes resets the Timeline Cursor Position 2015-07-23 12:34:44 +02:00
CrushedPixel
528ee52754 Added proper toString Method to TimestampValue for easier debugging 2015-07-23 12:34:30 +02:00
CrushedPixel
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/
2015-07-23 01:12:15 +02:00