CPReplayMod Git changes2016-12-11T11:24:33ZJenkins Serverurn:uuid:903deee0-7bfa-11db-9fe1-0800200c9a66#364 1.0.8 (Jonas)job/CPReplayMod/364/changes#detail02016-12-11T11:24:33Z2016-12-11T11:24:33Zbuild.gradle #363 If holding down Shift while clicking the "Play Camera Path" Button, Time Keyframes are being ignored (i.e. time does not move, this way the user possibly doesn't have to wait to jump back in time) (CrushedPixel)job/CPReplayMod/363/changes#detail02015-12-25T20:36:47Z2015-12-25T20:36:47Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #363 Added Save Dialog using which one can decide that the Replay that was just recorded won't be saved. This Dialog is disabled by default. (CrushedPixel)job/CPReplayMod/363/changes#detail12015-12-25T20:36:47Z2015-12-25T20:36:47Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiSaveCallback.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #362 Set mc.currentScreen to null before calling mc#resize to prevent GuiScreen#setWorldAndResolution from being called (CrushedPixel)job/CPReplayMod/362/changes#detail02015-12-16T11:24:32Z2015-12-16T11:24:32Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #361 Fix transparent blocks rendering over non-transparent blocks in First Person Mode with Shaders Mod installed (CrushedPixel)job/CPReplayMod/361/changes#detail02015-12-16T09:39:26Z2015-12-16T09:39:26Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #360 Before direct YouTube upload, inject 360° Metadata in Equirectangular Videos if it hasn't been done already (CrushedPixel)job/CPReplayMod/360/changes#detail02015-12-12T15:41:38Z2015-12-12T15:41:38Zsrc/main/java/eu/crushedpixel/replaymod/online/youtube/YoutubeUpload.java #359 Unbind PBO after binding it for initial setup (Jonas)job/CPReplayMod/359/changes#detail02015-12-11T09:18:55Z2015-12-11T09:18:55Zsrc/main/java/eu/crushedpixel/replaymod/opengl/PixelBufferObject.java #358 Delete the guiFramebuffer after rendering is finished (CrushedPixel)job/CPReplayMod/358/changes#detail02015-12-10T21:33:54Z2015-12-10T21:33:54Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #357 Added function to detect whether karyonix' Shaders Mod is installed (CrushedPixel)job/CPReplayMod/357/changes#detail02015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #357 If the Shaders Mod is installed, call EntityRenderer#renderWorld to allow it to make some preparations (CrushedPixel)job/CPReplayMod/357/changes#detail12015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java #357 Use Minecraft's Framebuffer in the OpenGlFrameCapturer, and do NOT delete it after rendering (CrushedPixel)job/CPReplayMod/357/changes#detail22015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java #357 The Window resizing is now handled by the FrameCapturers instead of the WorldRenderer, as resizing the Framebuffer, which is necessary when rendering with Shaders installed, clears all of its data. By outsourcing the size reset, the framebuffer can be read before it's lost. (CrushedPixel)job/CPReplayMod/357/changes#detail32015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/WorldRenderer.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java #357 Use while loop to iterate over buffer contents in GuiVideoRenderer's Video preview to prevent the buffer from underflowing (CrushedPixel)job/CPReplayMod/357/changes#detail42015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #357 Shows error screen when trying to render ODS videos with Shaders Mod (CrushedPixel)job/CPReplayMod/357/changes#detail52015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang #357 Use ASM to replace Frustum's ClippingHelper with NoCullingClippingHelper (CrushedPixel)job/CPReplayMod/357/changes#detail62015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java #357 Cleaned up EntityRendererCT (CrushedPixel)job/CPReplayMod/357/changes#detail72015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java #357 Created ShaderFrameTimeCounter to control Shader Mod's Shader.frameTimeCounter variable to synchronize leaves/grass waving with Replay Speed (CrushedPixel)job/CPReplayMod/357/changes#detail82015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/timer/ShaderFrameTimeCounter.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java #357 Disable PBO Pipelines when rendering with Shaders Mod installed because of an incompatibility (CrushedPixel)job/CPReplayMod/357/changes#detail92015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java #357 Only replace frustum's CullingHelper in EntityRenderer if rendering a video (CrushedPixel)job/CPReplayMod/357/changes#detail102015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java #357 Print stacktrace if frameTimeCounter was not found in Shaders class (for future version easier debugging) (CrushedPixel)job/CPReplayMod/357/changes#detail112015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java #357 Created ClassTransformer for Shader Mod's ClippingHelperShadow to make isBoxInFrustum always return true if rendering a video (force render chunks) (CrushedPixel)job/CPReplayMod/357/changes#detail122015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/coremod/ClippingHelperShadowCT.java #357 Temporarily disabled forced chunk calculation when running ShadersMod, as displayListEntitiesDirty never became false when rendering (CrushedPixel)job/CPReplayMod/357/changes#detail132015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Simplify GuiReplaySpeedSlider's code by removing obsolete drawButton Method which was the same as the parent's method (CrushedPixel)job/CPReplayMod/357/changes#detail142015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #357 Possibly found a solution to force load all chunks with Shaders installed. To be verified (CrushedPixel)job/CPReplayMod/357/changes#detail152015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Removed EntityRendererCT for launch compatibility with Optifine and instead applied the former ClippingHelperShadowCT to Minecraft's default ClippingHelper as well, thus removing the need for our NoCullingClippingHelper. (CrushedPixel)job/CPReplayMod/357/changes#detail162015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/ClippingHelperCT.java src/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java src/main/java/eu/crushedpixel/replaymod/coremod/ClippingHelperShadowCT.java #357 Moved initial reflection calls in MixinEntityRenderer to a separate method, as it would crash with a ClassNotFoundException despite the try/catch block around the method. Weird. (CrushedPixel)job/CPReplayMod/357/changes#detail172015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java #357 Because we're now always using the Minecraft framebuffer, we also need to call Minecraft#resize when rendering without the Shaders Mod installed (CrushedPixel)job/CPReplayMod/357/changes#detail182015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java #357 Determine whether all chunks are loaded by RenderChunk.renderChunksUpdated being 0 (CrushedPixel)job/CPReplayMod/357/changes#detail192015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 The xRes and yRes input fields in GuiRenderSettings now update each other for an 1:1 aspect ratio when using ODS rendering (CrushedPixel)job/CPReplayMod/357/changes#detail202015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #357 GuiNumberInput's value Getters now always return a value between the minimum and maximum (if defined) (CrushedPixel)job/CPReplayMod/357/changes#detail212015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java #357 Replaced old JailingQueue system with a new way to stop chunk compilations while rendering (CrushedPixel)job/CPReplayMod/357/changes#detail222015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderWorker.java src/main/resources/mixins.replaymod.json #357 Replace poor lock system with ReadWriteLock system (CrushedPixel)job/CPReplayMod/357/changes#detail232015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderWorker.java #357 Created ChunkRenderDispatcherCT to make queueChunkUpdates field volatile (CrushedPixel)job/CPReplayMod/357/changes#detail242015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/coremod/ChunkRenderDispatcherCT.java #357 Removing some CT debug output (CrushedPixel)job/CPReplayMod/357/changes#detail252015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/ClippingHelperCT.java src/main/java/eu/crushedpixel/replaymod/coremod/ChunkRenderDispatcherCT.java #357 Modify the ChunkRenderWorker to feed itself with an empty, finished ChunkCompileTaskGenerator while recording if no future TaskGenerator is in the queueChunkUpdates, to prevent deadlock state when the processTask method's internal lock indirectly kept the ChunkLoadingRenderGlobal.lock locked (CrushedPixel)job/CPReplayMod/357/changes#detail262015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderWorker.java #357 The Shaders Mod seemed to like keeping us in an eternal do/while loop (CrushedPixel)job/CPReplayMod/357/changes#detail272015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Use a custom LockingChunkCompileTaskGenerator to lock the ChunkRenderWorkers while rendering videos. These Generators are inserted into the renderDispatcher's queueChunkUpdates, therefore assuring that the ChunkRenderWorkers release the ChunkLoadingRenderGlobal's ReadLocks after finishing Minecraft's final chunk compilation/upload process. (CrushedPixel)job/CPReplayMod/357/changes#detail282015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderWorker.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderDispatcher.java src/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/resources/mixins.replaymod.json #357 Removed now obsolete MixinChunkRenderDispatcher (CrushedPixel)job/CPReplayMod/357/changes#detail292015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderDispatcher.java src/main/resources/mixins.replaymod.json #357 Made ChunkLoadingRenderGlobal's ReadWriteLock non-static (CrushedPixel)job/CPReplayMod/357/changes#detail302015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinChunkRenderWorker.java #357 Draw the Rendering GUI on our own Framebuffer instead of the Minecraft framebuffer. This way we don't have to recreate (because of resizing) Minecraft's framebuffer every frame (once to render the video with custom resolution, once to render the GUI with window resolution) (CrushedPixel)job/CPReplayMod/357/changes#detail312015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java #357 Compare our framebuffer's size to the Display's size BEFORE rendering to properly update the gui size (CrushedPixel)job/CPReplayMod/357/changes#detail322015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #357 We don't need that weird chunk loading difference check anymore (CrushedPixel)job/CPReplayMod/357/changes#detail332015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Gracefully offer the queueChunkUpdates the LockingChunkCompileTasks, but be persistent until they accept our gift. (CrushedPixel)job/CPReplayMod/357/changes#detail342015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Take the "up to one second" in Johni's comment a bit more literally (CrushedPixel)job/CPReplayMod/357/changes#detail352015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #357 Johni says I may not ignore this exception. (CrushedPixel)job/CPReplayMod/357/changes#detail362015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 The ChunkRenderDispatcher#queueChunkUpdates does not need to be non-final and therefore does not have to be volatile -> removed ChunkRenderDispatcherCT (CrushedPixel)job/CPReplayMod/357/changes#detail372015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/coremod/ChunkRenderDispatcherCT.java #357 Move Shaders Mod detection from postInit() to a static block (CrushedPixel)job/CPReplayMod/357/changes#detail382015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #357 Re-enabled rendering with PBOs enabled (CrushedPixel)job/CPReplayMod/357/changes#detail392015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java #357 Have a maximum of 10 timeouts when offering LockingChunkCompileTasks to queueChunkUpdates (CrushedPixel)job/CPReplayMod/357/changes#detail402015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java #357 Render the guiFramebuffer with correct width/height arguments (CrushedPixel)job/CPReplayMod/357/changes#detail412015-12-10T21:23:49Z2015-12-10T21:23:49Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #357 1.0.7 (CrushedPixel)job/CPReplayMod/357/changes#detail422015-12-10T21:23:49Z2015-12-10T21:23:49Zbuild.gradle #356 Added ignorePlayerPitch setting to SpectatorDataThirdPersonInfo to ignore the player's pitch for the created Shoulder Camera Path (CrushedPixel)job/CPReplayMod/356/changes#detail02015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorDataThirdPersonInfo.java src/main/java/eu/crushedpixel/replaymod/interpolation/SpectatorDataInterpolation.java #356 Properly save FMLProxyPackets in the Replay by converting them into S3FPacketCustomPayload objects and normally serializing those (CrushedPixel)job/CPReplayMod/356/changes#detail12015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #356 Prevent Replay recording from being started when loading a Replay (CrushedPixel)job/CPReplayMod/356/changes#detail22015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #356 Stores information about Mods that may be required to properly view a Replay when saving a new Replay (CrushedPixel)job/CPReplayMod/356/changes#detail32015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/holders/RequiredModInformation.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java #356 When loading a Replay, calculate differences between the currently installed Mods and the Mods that were used while recording the Replay. If there are incompatibilities, a callback is displayed, warning the user about possible consequences and listing the offenders. (CrushedPixel)job/CPReplayMod/356/changes#detail42015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/holders/RequiredModInformation.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiCompatibilityCallback.java #356 Replace static method to compare Mod Environments with non-static method compareTo in RequiredModInformation (CrushedPixel)job/CPReplayMod/356/changes#detail52015-11-24T13:30:25Z2015-11-24T13:30:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/holders/RequiredModInformation.java #355 Fixed possible division by zero when calculating the distance between Timeline Markers at weird screen resolutions. (CrushedPixel)job/CPReplayMod/355/changes#detail02015-11-12T19:06:24Z2015-11-12T19:06:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java #355 1.0.6 (CrushedPixel)job/CPReplayMod/355/changes#detail12015-11-12T19:06:24Z2015-11-12T19:06:24Zbuild.gradle #354 Fixed AbstractGuiTextField not properly setting the wrapped element's enabled status (CrushedPixel)job/CPReplayMod/354/changes#detail02015-11-10T16:28:54Z2015-11-10T16:28:54Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java #353 Made YouTube video upload asynchronous from the GUI (and actually working) (CrushedPixel)job/CPReplayMod/353/changes#detail02015-11-10T16:17:18Z2015-11-10T16:17:18Zsrc/main/java/eu/crushedpixel/replaymod/online/youtube/YoutubeUpload.java src/main/java/eu/crushedpixel/replaymod/gui/GuiYoutubeUpload.java #353 Fixed UnknownFormatConversionException when cancelling YouTube upload (CrushedPixel)job/CPReplayMod/353/changes#detail12015-11-10T16:17:18Z2015-11-10T16:17:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiYoutubeUpload.java #352 If no previous time or position keyframe available, don't crash when playing a camera path, but instead take the upcoming keyframe (CrushedPixel)job/CPReplayMod/352/changes#detail02015-11-08T15:20:48Z2015-11-08T15:20:48Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #351 Prevent Minecraft from freezing when two position keyframes were too close to each other (CrushedPixel)job/CPReplayMod/351/changes#detail02015-11-08T14:47:43Z2015-11-08T14:47:43Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #350 Don't remove selected Marker Keyframes when using the M key, as this confused many users, and the DELETE key is a more convenient way of doing this. (CrushedPixel)job/CPReplayMod/350/changes#detail02015-11-07T22:28:26Z2015-11-07T22:28:26Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #349 Don't play success sound and open GuiRenderingDone if rendering was cancelled (CrushedPixel)job/CPReplayMod/349/changes#detail02015-11-07T22:24:06Z2015-11-07T22:24:06Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #348 If no previous time or position keyframe available, don't crash when rendering, but instead take the upcoming keyframe (CrushedPixel)job/CPReplayMod/348/changes#detail02015-11-07T22:17:16Z2015-11-07T22:17:16Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #347 Adding localization for ODS rendering GUI elements (CrushedPixel)job/CPReplayMod/347/changes#detail02015-11-07T15:30:40Z2015-11-07T15:30:40Zsrc/main/resources/assets/replaymod/lang/en_US.lang #346 Before rendering, disable the debug info screen as the 3D axis crosshar was included in the rendered video (CrushedPixel)job/CPReplayMod/346/changes#detail02015-11-07T12:19:00Z2015-11-07T12:19:00Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #345 Stop ignoring the lib directory in .gitignore (Jonas)job/CPReplayMod/345/changes#detail02015-11-07T11:38:20Z2015-11-07T11:38:20Zlibs/google-oauth-client-java6-1.20.0.jar libs/google-http-client-1.20.0.jar .gitignore libs/jetty-util-6.1.26.jar libs/javax.servlet-api-3.1.0.jar libs/jsr305-1.3.9.jar libs/httpcore-4.0.1.jar libs/google-oauth-client-jetty-1.20.0.jar libs/httpclient-4.0.1.jar libs/google-oauth-client-1.20.0.jar libs/google-http-client-gson-1.20.0.jar libs/google-api-client-java6-1.20.0.jar libs/google-api-client-1.20.0.jar libs/jetty-6.1.26.jar libs/google-api-services-youtube-v3-rev151-1.20.0.jar #344 Basic ODS support (Jonas)job/CPReplayMod/344/changes#detail02015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/CubicPboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/WorldRenderer.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/resources/assets/replaymod/shader/ods.frag src/main/java/eu/crushedpixel/replaymod/video/shader/Program.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEffectRenderer.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/assets/replaymod/shader/ods.vert src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java src/main/java/eu/crushedpixel/replaymod/video/processor/ODSToRGBProcessor.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CubicOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderManager.java src/main/java/eu/crushedpixel/replaymod/video/frame/ODSOpenGlFrame.java #344 Replace switch statement in ods.vert with if/else chain to support certain Intel Graphics Drivers (Jonas)job/CPReplayMod/344/changes#detail12015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.vert #344 Fix back image of ODS projection (Jonas)job/CPReplayMod/344/changes#detail22015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.vert #344 Fix ODS distortion math and reduce IPD to normal 0.14 (Jonas)job/CPReplayMod/344/changes#detail32015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.vert #344 Add lighting and damage indication to ODS rendering (Jonas)job/CPReplayMod/344/changes#detail42015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.frag src/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java src/main/resources/META-INF/replaymod_at.cfg src/main/resources/assets/replaymod/shader/ods.vert #344 Only tick once per ODS frame instead of twice (Jonas)job/CPReplayMod/344/changes#detail52015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java #344 Fix rendering GUI when rendering ODS frames (Jonas)job/CPReplayMod/344/changes#detail62015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java #344 Add stereo metadata injection in ODS videos (Jonas)job/CPReplayMod/344/changes#detail72015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/metadata/MetadataInjector.java #344 Swap left and right image (Jonas)job/CPReplayMod/344/changes#detail82015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.vert #344 Add fog to ODS rendering (Jonas)job/CPReplayMod/344/changes#detail92015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/resources/assets/replaymod/shader/ods.frag src/main/java/eu/crushedpixel/replaymod/video/capturer/ODSFrameCapturer.java src/main/resources/assets/replaymod/shader/ods.vert src/main/resources/META-INF/replaymod_at.cfg #344 Add GuiDropdownMenu (Jonas)job/CPReplayMod/344/changes#detail102015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/GuiDropdownMenu.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiDropdownMenu.java src/main/java/de/johni0702/minecraft/gui/element/advanced/IGuiDropdownMenu.java #344 Fix NPEs in AbstractGuiTextField when no change listener is set (Jonas)job/CPReplayMod/344/changes#detail112015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java #344 Add GuiFileChooser to new GUI API (Jonas)job/CPReplayMod/344/changes#detail122015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/IGuiFileChooser.java src/main/java/de/johni0702/minecraft/gui/element/advanced/GuiFileChooser.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiFileChooser.java #344 Allow removal of texture in GuiImage (Jonas)job/CPReplayMod/344/changes#detail132015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiImage.java #344 Add direct upload to YouTube support (Jonas)job/CPReplayMod/344/changes#detail142015-11-07T11:08:30Z2015-11-07T11:08:30Zsrc/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/online/youtube/VideoVisibility.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderingDone.java src/main/java/eu/crushedpixel/replaymod/online/youtube/YoutubeUpload.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/gui/GuiYoutubeUpload.java #343 To be able to set the Color Picker's value without having to undo the bitwise operation which adds full Alpha to the color, replace the Getter with a Lombok-generated default Getter and do the bitwise operation where the Sky Color is actually being applied (CrushedPixel)job/CPReplayMod/343/changes#detail02015-11-03T20:50:01Z2015-11-03T20:50:01Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java #341 Added explicit sourceCompatibility and targetCompatibility values for Java 7 to build.gradle (CrushedPixel)job/CPReplayMod/341/changes#detail02015-11-02T10:00:42Z2015-11-02T10:00:42Zbuild.gradle #340 Fix java version detection by using "java.version" property instead of package version (Jonas)job/CPReplayMod/340/changes#detail02015-10-03T16:26:39Z2015-10-03T16:26:39Zsrc/main/java/eu/crushedpixel/replaymod/studio/VersionValidator.java #339 Added ignorePlayerPitch setting to SpectatorDataThirdPersonInfo to ignore the player's pitch for the created Shoulder Camera Path (CrushedPixel)job/CPReplayMod/339/changes#detail02015-10-02T21:42:58Z2015-10-02T21:42:58Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorDataThirdPersonInfo.java src/main/java/eu/crushedpixel/replaymod/interpolation/SpectatorDataInterpolation.java #339 The Path Preview's color is now based on the Camera Speed (CrushedPixel)job/CPReplayMod/339/changes#detail12015-10-02T21:42:58Z2015-10-02T21:42:58Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #339 Right clicking on the Keyframe Timeline between Keyframes jumps to the interpolated timestamp/position (CrushedPixel)job/CPReplayMod/339/changes#detail22015-10-02T21:42:58Z2015-10-02T21:42:58Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #338 Added hoverText and hoverTextColor fields to GuiAdvancedCheckBox to allow for info text to be rendered (Jonas)job/CPReplayMod/338/changes#detail02015-09-21T10:27:41Z2015-09-21T10:27:41Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java #338 Add metadata injection for 360 degree videos (mp4 format only) (Jonas)job/CPReplayMod/338/changes#detail12015-09-21T10:27:41Z2015-09-21T10:27:41Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/video/metadata/MetadataInjector.java build.gradle src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java #337 Added config entry in advancedSettings to disable initial login prompt (CrushedPixel)job/CPReplayMod/337/changes#detail02015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java #337 Added setters for Position and Size variables to GuiElement interface and implemented them (CrushedPixel)job/CPReplayMod/337/changes#detail12015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #337 Added SpectatingMethod attribute to SpectatorData object, and more variables for the SHOULDER_CAM SpectatingMethod (CrushedPixel)job/CPReplayMod/337/changes#detail22015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java #337 Created proper GuiEditKeyframe window for Spectator Keyframes, with possibility to toggle the Spectating Method and set its values (CrushedPixel)job/CPReplayMod/337/changes#detail32015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/resources/assets/replaymod/lang/en_US.lang #337 Spectator Keyframe segments using Shoulder Camera are rendered in a different color on the timeline (CrushedPixel)job/CPReplayMod/337/changes#detail42015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #337 Fixed GuiNumberInput#getIntValue() returning 0 if floating point number is entered (CrushedPixel)job/CPReplayMod/337/changes#detail52015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java #337 Changed Pitch/Yaw Offset Input fields in GuiEditKeyframe to only accept Integer values (CrushedPixel)job/CPReplayMod/337/changes#detail62015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java #337 The ReplayProcess now respects the basic settings of SpectatingMethod.SHOULDER_CAM, Smoothness and interpolation between two SHOULDER_CAM Keyframes is yet to be implemented (CrushedPixel)job/CPReplayMod/337/changes#detail72015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #337 Better error output when GuiReplayViewer can't load .mcpr file to see which file can't be read (CrushedPixel)job/CPReplayMod/337/changes#detail82015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #337 Disallow leaving spectating while in Camera Path (CrushedPixel)job/CPReplayMod/337/changes#detail92015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java #337 Change AdvancedPosition constructor to accept doubles for pitch and yaw, as the internal objects are doubles as well (CrushedPixel)job/CPReplayMod/337/changes#detail102015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #337 Removed the "Prepare Replay" setting (+1 squashed commit) (CrushedPixel)job/CPReplayMod/337/changes#detail112015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #337 Rebalance the maximum and default SpectatorDataThirdPersonInfo#shoulderCamSmoothness values (+1 squashed commit) (CrushedPixel)job/CPReplayMod/337/changes#detail122015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorDataThirdPersonInfo.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java #337 Created AdvancedPositionKeyframeList, whose interpolation methods properly handle Spectator Keyframes using the SpectatorDataInterpolation (CrushedPixel)job/CPReplayMod/337/changes#detail132015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/interpolation/SpectatorDataInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/AdvancedPositionKeyframeList.java src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #337 Change ReplayHandler and KeyframesModifyEvent to use AdvancedPositionKeyframeList instead of KeyframeList<AdvancedPosition> (CrushedPixel)job/CPReplayMod/337/changes#detail142015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java #337 The EntityPositionTracker now returns copies of its values to prevent them from being changed (CrushedPixel)job/CPReplayMod/337/changes#detail152015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #337 The newInstance Method of SpectatorData now returns an AdvancedPosition object to prevent IllegalStateExceptions from occurring when using the toString() method on the SpectatorData object without an entityID (CrushedPixel)job/CPReplayMod/337/changes#detail162015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java #337 Finished the AdvancedPositionKeyframeList and SpectatorDataInterpolation (CrushedPixel)job/CPReplayMod/337/changes#detail172015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/AdvancedPositionKeyframeList.java src/main/java/eu/crushedpixel/replaymod/interpolation/SpectatorDataInterpolation.java #337 The PathPreviewRenderer now uses the ReplayHandler's AdvancedPositionKeyframeList's interpolation methods instead of manually handling spectator keyframes (CrushedPixel)job/CPReplayMod/337/changes#detail182015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #337 Use the AdvancedPositionKeyframeList's interpolation instead of manually calculating the camera Path in the ReplayProcess (CrushedPixel)job/CPReplayMod/337/changes#detail192015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #337 Remove own interpolators in VideoRenderer and use the KeyframeList's interpolators instead, thus supporting the new Spectator Keyframes (CrushedPixel)job/CPReplayMod/337/changes#detail202015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #337 SpectatorDataInterpolation code cleanup (+1 squashed commit) (CrushedPixel)job/CPReplayMod/337/changes#detail212015-09-10T17:41:34Z2015-09-10T17:41:34Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/interpolation/SpectatorDataInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/AdvancedPositionKeyframeList.java #336 Fix player being invisible after respawn (Jonas)job/CPReplayMod/336/changes#detail02015-09-06T13:16:27Z2015-09-06T13:16:27Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinNetHandlerPlayClient.java src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java #336 1.0.5 (Jonas)job/CPReplayMod/336/changes#detail12015-09-06T13:16:27Z2015-09-06T13:16:27Zbuild.gradle #335 Fix comparison of Spectator Keyframe's Entity IDs using Integer objects, thus failing because of the use of == (CrushedPixel)job/CPReplayMod/335/changes#detail02015-09-04T17:15:23Z2015-09-04T17:15:23Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java #334 Don't render an Entity's nametag if it's invisible and the renderInvisible setting is set to false (CrushedPixel)job/CPReplayMod/334/changes#detail02015-09-04T15:52:53Z2015-09-04T15:52:53Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinRendererLivingEntity.java #334 Instead of using AdvancedPosition objects with a value for spectatedEntityID, use SpectatorData objects for Spectator Keyframes. This allows us to add more options to Spectator Keyframes. (CrushedPixel)job/CPReplayMod/334/changes#detail12015-09-04T15:52:53Z2015-09-04T15:52:53Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java #334 In first-person spectator mode, render the items in the players hand if it's invisible, only the hand should be invisible (CrushedPixel)job/CPReplayMod/334/changes#detail22015-09-04T15:52:53Z2015-09-04T15:52:53Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #334 Correctly parse Keyframe Presets with the new Spectator Keyframes from JSON (CrushedPixel)job/CPReplayMod/334/changes#detail32015-09-04T15:52:53Z2015-09-04T15:52:53Zsrc/main/java/eu/crushedpixel/replaymod/holders/SpectatorData.java src/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java #333 Do not completely hide invisible players in the Replay (their armor wasn't rendered) (CrushedPixel)job/CPReplayMod/333/changes#detail02015-09-04T06:35:52Z2015-09-04T06:35:52Zsrc/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java #332 Added option to completely hide invisible entities like Armor Stands instead of them being rendered semi-transparent (CrushedPixel)job/CPReplayMod/332/changes#detail02015-09-03T23:38:17Z2015-09-03T23:38:17Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinRendererLivingEntity.java #331 Reset spectated entity when leaving replay (Jonas)job/CPReplayMod/331/changes#detail02015-09-02T15:13:32Z2015-09-02T15:13:32Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #331 Version 1.0.4 (CrushedPixel)job/CPReplayMod/331/changes#detail12015-09-02T15:13:32Z2015-09-02T15:13:32Zbuild.gradle #330 Fix direct calls to drawTextBox in GuiEntryList and GuiDropdown incorrectly rendering the Gui Element. Direct calls to drawTextBox are nevertheless deprecated from now on. (CrushedPixel)job/CPReplayMod/330/changes#detail02015-09-02T14:34:54Z2015-09-02T14:34:54Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java #330 Fix chunks being invisible after temporarily leaving an area (Jonas)job/CPReplayMod/330/changes#detail12015-09-02T14:34:54Z2015-09-02T14:34:54Zsrc/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/mixin/MixinViewFrustum.java #329 Removed unneccessary import in GuiObjectManager (yay, no warnings!) (CrushedPixel)job/CPReplayMod/329/changes#detail02015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #329 Only poll Mouse Wheel change if hovering over GuiDropdown/GuiEntryList to avoid multiple Elements clashing (CrushedPixel)job/CPReplayMod/329/changes#detail12015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java #329 Properly respect expanded state of GuiDropdown in its isHovering() method (CrushedPixel)job/CPReplayMod/329/changes#detail22015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java #329 Some general warning cleanup (CrushedPixel)job/CPReplayMod/329/changes#detail32015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java #329 Fixed NPE when trying to open a downloaded file with an empty replay_recordings folder (CrushedPixel)job/CPReplayMod/329/changes#detail42015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayInstanceChooser.java #329 Fixed the probably most retarded thing one of us has ever done (and I think it wasn't me this time) - connecting Replays now works again (CrushedPixel)job/CPReplayMod/329/changes#detail52015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #329 Gigantic warning cleanup (CrushedPixel)job/CPReplayMod/329/changes#detail62015-08-31T15:51:30Z2015-08-31T15:51:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/assets/CustomObjectRepository.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java #328 Rewrite authentication handling (Jonas)job/CPReplayMod/328/changes#detail02015-08-31T14:18:35Z2015-08-31T14:18:35Zsrc/main/java/eu/crushedpixel/replaymod/registry/RatedFileHandler.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/registry/FavoritedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/online/authentication/ConfigurationAuthData.java src/main/java/eu/crushedpixel/replaymod/api/AuthData.java #327 Open mouse input gui when command key is pressed (Jonas)job/CPReplayMod/327/changes#detail02015-08-31T11:45:40Z2015-08-31T11:45:40Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java #326 Locally added removed Forge Methods from 1.7 which allow us to load .obj and Techne Models (CrushedPixel)job/CPReplayMod/326/changes#detail02015-08-30T19:21:09Z2015-08-30T19:21:09Zsrc/main/java/net/minecraftforge/client/model/obj/ObjModelLoader.java src/main/java/net/minecraftforge/client/model/obj/TextureCoordinate.java src/main/java/net/minecraftforge/client/model/obj/WavefrontObject.java src/main/java/net/minecraftforge/client/model/AdvancedModelLoader.java src/main/java/net/minecraftforge/client/model/IModelCustom.java src/main/java/net/minecraftforge/client/model/ModelFormatException.java src/main/java/net/minecraftforge/client/model/techne/TechneModel.java src/main/java/net/minecraftforge/client/model/obj/Vertex.java src/main/java/net/minecraftforge/client/model/IModelCustomLoader.java src/main/java/net/minecraftforge/client/model/techne/TechneModelLoader.java src/main/java/net/minecraftforge/client/model/obj/Face.java src/main/java/net/minecraftforge/client/model/obj/GroupObject.java #326 Increased maximum Password length from 32 to 1024 (CrushedPixel)job/CPReplayMod/326/changes#detail12015-08-30T19:21:09Z2015-08-30T19:21:09Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java #326 Revert "Locally added removed Forge Methods from 1.7 which allow us to load .obj and Techne Models" (CrushedPixel)job/CPReplayMod/326/changes#detail22015-08-30T19:21:09Z2015-08-30T19:21:09Zsrc/main/java/net/minecraftforge/client/model/obj/TextureCoordinate.java src/main/java/net/minecraftforge/client/model/obj/ObjModelLoader.java src/main/java/net/minecraftforge/client/model/AdvancedModelLoader.java src/main/java/net/minecraftforge/client/model/obj/WavefrontObject.java src/main/java/net/minecraftforge/client/model/IModelCustom.java src/main/java/net/minecraftforge/client/model/ModelFormatException.java src/main/java/net/minecraftforge/client/model/techne/TechneModel.java src/main/java/net/minecraftforge/client/model/IModelCustomLoader.java src/main/java/net/minecraftforge/client/model/obj/Vertex.java src/main/java/net/minecraftforge/client/model/techne/TechneModelLoader.java src/main/java/net/minecraftforge/client/model/obj/Face.java src/main/java/net/minecraftforge/client/model/obj/GroupObject.java #325 Add basic replay restriction system (no restrictions yet) (Jonas)job/CPReplayMod/325/changes#detail02015-08-30T13:56:23Z2015-08-30T13:56:23Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/replay/Restrictions.java #324 Parse Minecraft version from CrashReport instead of using Minecraft.getVersion() (Jonas)job/CPReplayMod/324/changes#detail02015-08-30T13:00:58Z2015-08-30T13:00:58Zsrc/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/studio/ConnectMetadataFilter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #323 Disable camera movement during path preview (Jonas)job/CPReplayMod/323/changes#detail02015-08-23T09:12:20Z2015-08-23T09:12:20Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #322 Remove unnecessary calls to LWJGL Keyboard functions in KeyInputHandler (CrushedPixel)job/CPReplayMod/322/changes#detail02015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java #322 In the TickAndRenderListenener, replace the tick() Method which listens to all TickEvents with a onRenderTick Method which listens only to RenderTickEvents. This way, Key and Mouse Inputs aren't fired more frequently while the Replay is not paused. (Camera Roll has the same speed now while paused and unpaused) (CrushedPixel)job/CPReplayMod/322/changes#detail12015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java #322 The TickAndRenderListener already handles the Keybindings, no need to do so in GuiMouseInput (CrushedPixel)job/CPReplayMod/322/changes#detail22015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java #322 Clean up unnecessary value assignment in GuiReplaySpeedSlider Constructor, which is overridden by calling the reset() method two statements later (CrushedPixel)job/CPReplayMod/322/changes#detail32015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #322 Remove unnecessary method calls in MinecraftTicker (mainly Spectator Mod and Item Pick related) (CrushedPixel)job/CPReplayMod/322/changes#detail42015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java #322 Some more cleanup in MinecraftTicker (CrushedPixel)job/CPReplayMod/322/changes#detail52015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java #322 Fixed GuiReplaySpeedSlider's Display String incorrectly resetting upon Window resize (CrushedPixel)job/CPReplayMod/322/changes#detail62015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #322 Fix GuiReplayOverlay not resizing upon Gui Scale change (did it for you, Johni) (CrushedPixel)job/CPReplayMod/322/changes#detail72015-08-22T15:34:18Z2015-08-22T15:34:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #321 Fix camera spectating entity of previous world when restarting replay (Jonas)job/CPReplayMod/321/changes#detail02015-08-20T14:21:34Z2015-08-20T14:21:34Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #320 Buffer sounds in memory to support mark/reset (Jonas)job/CPReplayMod/320/changes#detail02015-08-20T13:28:24Z2015-08-20T13:28:24Zsrc/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java #319 Apparently ZipFile isn't Closeable in 1.6 (it is in 1.7) even though Closeable was added in 1.5 (Jonas)job/CPReplayMod/319/changes#detail02015-08-20T13:11:24Z2015-08-20T13:11:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #318 Do not use Apache ZipFile as it fails to read some ZIPs created under special conditions (java.util.ZipFile works) (Jonas)job/CPReplayMod/318/changes#detail02015-08-20T12:55:34Z2015-08-20T12:55:34Zsrc/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java #317 Disable spectator menu during replay (Jonas)job/CPReplayMod/317/changes#detail02015-08-20T12:30:29Z2015-08-20T12:30:29Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinGuiSpectator.java src/main/resources/mixins.replaymod.json #316 Make sure the SpawnPlayerPacket is never injected before the PlayerListItem (Jonas)job/CPReplayMod/316/changes#detail02015-08-19T13:05:57Z2015-08-19T13:05:57Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinNetHandlerPlayClient.java #315 Fix nametag rotation when spectating from animals (vanilla bug) (Jonas)job/CPReplayMod/315/changes#detail02015-08-19T12:26:27Z2015-08-19T12:26:27Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderManager.java #314 Fix arrows being invisible when viewed from specific angles (Jonas)job/CPReplayMod/314/changes#detail02015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderArrow.java src/main/resources/mixins.replaymod.json #314 Remove debug output (shame on me) (Jonas)job/CPReplayMod/314/changes#detail12015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #314 The camera entity is now thePlayer (Jonas)job/CPReplayMod/314/changes#detail22015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityPlayerSP.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinPlayerControllerMP.java #314 The fake player now has the same entity id as the recording player as assigned by the server (Jonas)job/CPReplayMod/314/changes#detail32015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/mixin/MixinNetHandlerPlayClient.java src/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #314 Add option for showing chat messages (Jonas)job/CPReplayMod/314/changes#detail42015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #314 Sort assets by name in AssetManager and ObjectManager (Jonas)job/CPReplayMod/314/changes#detail52015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayAsset.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java #314 Fail silent when language has no translations (Jonas)job/CPReplayMod/314/changes#detail62015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/localization/LocalizedResourcePack.java #314 Fix spectating being quit on world change / respawn (Jonas)job/CPReplayMod/314/changes#detail72015-08-19T10:28:42Z2015-08-19T10:28:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #313 Instead of counting all values larger than or equal 1000 as "Ambient Lighting Gamma", only count 1000 itself as "Ambient Lighting Gamma". So unless a Player manually sets his Gamma Value to 1000, the Brightness won't be reset to "Moody" anymore - before this change, every value larger than 1000 would be reset to "Moody" as well. (CrushedPixel)job/CPReplayMod/313/changes#detail02015-08-18T19:23:21Z2015-08-18T19:23:21Zsrc/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java #312 Version 1.0.3 (Jonas)job/CPReplayMod/312/changes#detail02015-08-16T20:28:27Z2015-08-16T20:28:27Zbuild.gradle #311 Fix players staying invisible even though replay has ended (Jonas)job/CPReplayMod/311/changes#detail02015-08-16T19:06:22Z2015-08-16T19:06:22Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #310 Manually unescape HTML Quote entities to be escaped quotes in the JSON to prevent MalformedJSONExceptions in the GsonApiClient (CrushedPixel)job/CPReplayMod/310/changes#detail02015-08-16T16:31:57Z2015-08-16T16:31:57Zsrc/main/java/eu/crushedpixel/replaymod/api/GsonApiClient.java #310 Custom Objects are now being saved with Path Presets instead of globally (CrushedPixel)job/CPReplayMod/310/changes#detail12015-08-16T16:31:57Z2015-08-16T16:31:57Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java #309 Update ReplayStudio, fixes some block artifacts remaining after world changes (Jonas)job/CPReplayMod/309/changes#detail02015-08-16T16:04:47Z2015-08-16T16:04:47Zlibs/replaystudio-0.0.1-SNAPSHOT-all.jar #308 Places new CustomImageObjects at Camera's exact instead of Block Position (CrushedPixel)job/CPReplayMod/308/changes#detail02015-08-16T13:41:06Z2015-08-16T13:41:06Zsrc/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #308 Apply a new ResourceLocation to each new CustomImageObject instead of sharing a ResourceLocation (CrushedPixel)job/CPReplayMod/308/changes#detail12015-08-16T13:41:06Z2015-08-16T13:41:06Zsrc/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java #307 Deep-Copies the CustomImageObjects from the original Object List in the GuiObjectManager to prevent the dirty check when closing the GUI from failing (CrushedPixel)job/CPReplayMod/307/changes#detail02015-08-16T12:54:46Z2015-08-16T12:54:46Zsrc/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #306 Prevent creation of negative length replays (Jonas)job/CPReplayMod/306/changes#detail02015-08-16T10:55:06Z2015-08-16T10:55:06Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java #305 Removed potentially misleading information about Vanilla Shader Support in Default Rendering (CrushedPixel)job/CPReplayMod/305/changes#detail02015-08-16T10:13:01Z2015-08-16T10:13:01Zsrc/main/resources/assets/replaymod/lang/en_US.lang #305 For some unknown reason, this combination of mc.toggleFullscreen() and the Swing File Chooser doesn't freeze the JVM on Windows when in Fullscreen (CrushedPixel)job/CPReplayMod/305/changes#detail12015-08-16T10:13:01Z2015-08-16T10:13:01Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #304 Fix camera being affected by portal wobbling (Jonas)job/CPReplayMod/304/changes#detail02015-08-16T09:54:31Z2015-08-16T09:54:31Zsrc/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityPlayerSP.java #303 Fix NPE when inserting new line anywhere but at the end (Jonas)job/CPReplayMod/303/changes#detail02015-08-16T09:36:01Z2015-08-16T09:36:01Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #302 Update ReplayStudio, fixes bug with gamemode -1 packets (Jonas)job/CPReplayMod/302/changes#detail02015-08-16T08:17:16Z2015-08-16T08:17:16Zlibs/replaystudio-0.0.1-SNAPSHOT-all.jar #301 Fix fire over not being rendered during normal gameplay (Jonas)job/CPReplayMod/301/changes#detail02015-08-15T14:10:54Z2015-08-15T14:10:54Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java src/main/resources/mixins.replaymod.json #300 Fix IOBE when using special keys and replay is paused (Jonas)job/CPReplayMod/300/changes#detail02015-08-15T12:53:39Z2015-08-15T12:53:39Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java #299 Correctly pause/speed up/slow down the End Portal Animation using Mixin magic (CrushedPixel)job/CPReplayMod/299/changes#detail02015-08-15T12:38:24Z2015-08-15T12:38:24Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinTileEntityEndPortalRenderer.java src/main/resources/mixins.replaymod.json #299 Correctly pause/slow down/speed up the World Border Animation using Mixin magic (CrushedPixel)job/CPReplayMod/299/changes#detail12015-08-15T12:38:24Z2015-08-15T12:38:24Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderGlobal.java #298 Fix fire overlay not being rendered when spectating (Jonas)job/CPReplayMod/298/changes#detail02015-08-14T20:19:28Z2015-08-14T20:19:28Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #297 Fix IndexOutOfBoundsException in Replay Center and Viewer when disk access is very fast (Jonas)job/CPReplayMod/297/changes#detail02015-08-14T19:18:18Z2015-08-14T19:18:18Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #296 Add error screen when renaming a replay fails (Jonas)job/CPReplayMod/296/changes#detail02015-08-14T16:45:23Z2015-08-14T16:45:23Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/resources/assets/replaymod/lang/en_US.lang #295 Version 1.0.2 (Jonas)job/CPReplayMod/295/changes#detail02015-08-14T14:40:57Z2015-08-14T14:40:57Zbuild.gradle #294 Remove the commented Donation Test Code (CrushedPixel)job/CPReplayMod/294/changes#detail02015-08-14T14:28:17Z2015-08-14T14:28:17Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #294 Redirect S19PacketEntityStatus to the Replay Player's entityID in ReplaySender (CrushedPixel)job/CPReplayMod/294/changes#detail12015-08-14T14:28:17Z2015-08-14T14:28:17Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #293 Fix hands being visible during 360° rendering (Jonas)job/CPReplayMod/293/changes#detail02015-08-14T14:21:57Z2015-08-14T14:21:57Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #292 Use FIFO queue for loaded replays in replay center/viewer (Jonas)job/CPReplayMod/292/changes#detail02015-08-14T13:18:27Z2015-08-14T13:18:27Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #291 Remove overlays during replay via mixins (Jonas)job/CPReplayMod/291/changes#detail02015-08-14T12:45:32Z2015-08-14T12:45:32Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/resources/mixins.replaymod.json #290 Prevent zoom from zooming out to the right of the timeline (Jonas)job/CPReplayMod/290/changes#detail02015-08-14T11:17:57Z2015-08-14T11:17:57Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #289 Fix client not disconnecting from server when recording is disabled (Jonas)job/CPReplayMod/289/changes#detail02015-08-14T10:57:52Z2015-08-14T10:57:52Zsrc/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #288 Disallow creation of replays with negative duration (Jonas)job/CPReplayMod/288/changes#detail02015-08-13T15:57:56Z2015-08-13T15:57:56Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiStudioPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java #287 Automatically set ending time when trimming and no time was set (Jonas)job/CPReplayMod/287/changes#detail02015-08-13T15:32:21Z2015-08-13T15:32:21Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java #286 Add more space for sec and ms fields in trimming gui (Jonas)job/CPReplayMod/286/changes#detail02015-08-13T15:27:36Z2015-08-13T15:27:36Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java #285 Save server ip used to connect (not the possibly resolved SRV address) (Jonas)job/CPReplayMod/285/changes#detail02015-08-13T13:25:55Z2015-08-13T13:25:55Zsrc/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #284 Version 1.0.1 (Jonas)job/CPReplayMod/284/changes#detail02015-08-13T09:53:20Z2015-08-13T09:53:20Zbuild.gradle #283 Loosen email validation (Jonas)job/CPReplayMod/283/changes#detail02015-08-13T09:42:15Z2015-08-13T09:42:15Zsrc/main/java/eu/crushedpixel/replaymod/utils/EmailAddressUtils.java #282 Fix invalid key id crashing the game (Jonas)job/CPReplayMod/282/changes#detail02015-08-13T09:08:35Z2015-08-13T09:08:35Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #281 Fix concurrency issues with loading replays in replay viewer (Jonas)job/CPReplayMod/281/changes#detail02015-08-13T08:58:25Z2015-08-13T08:58:25Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #281 Fix concurrency issues with loading replays in replay center (Jonas)job/CPReplayMod/281/changes#detail12015-08-13T08:58:25Z2015-08-13T08:58:25Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #280 Fix sound level map becoming null (Jonas)job/CPReplayMod/280/changes#detail02015-08-13T08:05:45Z2015-08-13T08:05:45Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #279 Fix Transparency of Custom Image Objects (CrushedPixel)job/CPReplayMod/279/changes#detail02015-08-12T22:10:24Z2015-08-12T22:10:24Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java #279 Add suspension error to language file (CrushedPixel)job/CPReplayMod/279/changes#detail12015-08-12T22:10:24Z2015-08-12T22:10:24Zsrc/main/resources/assets/replaymod/lang/en_US.lang #275 Update forge to current recommanded version (Jonas)job/CPReplayMod/275/changes#detail02015-08-12T19:12:54Z2015-08-12T19:12:54Zbuild.gradle #274 Remove SafeEntityRenderer (CrushedPixel)job/CPReplayMod/274/changes#detail02015-08-12T16:22:03Z2015-08-12T16:22:03Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java #274 Push/Pop Attributes in PathPreviewRenderer, fixing https://trello.com/c/mROgxEWF/ (CrushedPixel)job/CPReplayMod/274/changes#detail12015-08-12T16:22:03Z2015-08-12T16:22:03Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #273 Only shade the Mixin lib itself not all of its dependencies (Jonas)job/CPReplayMod/273/changes#detail02015-08-12T10:47:48Z2015-08-12T10:47:48Zbuild.gradle #272 Add ThankYou.txt containing all Kickstarter Backers >= $25 (CrushedPixel)job/CPReplayMod/272/changes#detail02015-08-12T09:51:48Z2015-08-12T09:51:48Zsrc/main/resources/ThankYou.txt #271 Updated build.gradle for Version 1.0 #hype!! (CrushedPixel)job/CPReplayMod/271/changes#detail02015-08-12T09:34:03Z2015-08-12T09:34:03Zsrc/main/resources/replaymod_logo.png build.gradle src/main/resources/mcmod.info #270 Prevent NPE in GuiReplayListEntry that can occur when the API returns an invalid Thumbnail (CrushedPixel)job/CPReplayMod/270/changes#detail02015-08-12T08:13:23Z2015-08-12T08:13:23Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java #269 Uses Mixin Magic to add BlockBreakAnimation Packets to the Replay when a Player breaks a block (CrushedPixel)job/CPReplayMod/269/changes#detail02015-08-11T18:04:27Z2015-08-11T18:04:27Zsrc/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderGlobal.java #268 Filter instances of S1BPacketEntityAttach that are referring to the Camera Entity (CrushedPixel)job/CPReplayMod/268/changes#detail02015-08-11T15:21:41Z2015-08-11T15:21:41Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #267 Disable "Modify Replay" Button in GuiReplayEditor (CrushedPixel)job/CPReplayMod/267/changes#detail02015-08-11T13:18:11Z2015-08-11T13:18:11Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java #267 Prevent NPE when removing the last Element from the "Connect Replays" list (CrushedPixel)job/CPReplayMod/267/changes#detail12015-08-11T13:18:11Z2015-08-11T13:18:11Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #267 Added Disclaimer to Replay Editor indicating that bugs may occur (CrushedPixel)job/CPReplayMod/267/changes#detail22015-08-11T13:18:11Z2015-08-11T13:18:11Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/resources/assets/replaymod/lang/en_US.lang #266 (Re)move time keyframes when trimming replay (Jonas)job/CPReplayMod/266/changes#detail02015-08-11T11:52:56Z2015-08-11T11:52:56Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java #265 Call fireValueChangeEvent() in GuiNumberInput when digits have been deleted (CrushedPixel)job/CPReplayMod/265/changes#detail02015-08-11T11:41:06Z2015-08-11T11:41:06Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java #264 Fix resizing in render progress gui being at totally the wrong position causing the rendered video to be swapped to screen (Jonas)job/CPReplayMod/264/changes#detail02015-08-10T12:44:24Z2015-08-10T12:44:24Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #263 Fix cancel button being of 0 height (Jonas)job/CPReplayMod/263/changes#detail02015-08-10T12:28:19Z2015-08-10T12:28:19Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayDownloading.java #262 Disabled many Keybindings during Camera Paths (CrushedPixel)job/CPReplayMod/262/changes#detail02015-08-09T11:10:22Z2015-08-09T11:10:22Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java #261 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)job/CPReplayMod/261/changes#detail02015-08-07T10:26:53Z2015-08-07T10:26:53Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java #260 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)job/CPReplayMod/260/changes#detail02015-08-06T11:18:21Z2015-08-06T11:18:21Zsrc/main/java/eu/crushedpixel/replaymod/api/ApiClient.java #259 Replace no name tag CT with mixin magic (Jonas)job/CPReplayMod/259/changes#detail02015-08-05T15:14:55Z2015-08-05T15:14:55Zsrc/main/java/eu/crushedpixel/replaymod/coremod/asm_Hooks.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinRender.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinRendererLivingEntity.java src/main/java/eu/crushedpixel/replaymod/coremod/NoNameTagCT.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java src/main/resources/mixins.replaymod.json #258 Replace sound manager CT with mixin magic (Jonas)job/CPReplayMod/258/changes#detail02015-08-05T14:21:35Z2015-08-05T14:21:35Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/coremod/SoundManagerCT.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinMinecraft.java src/main/resources/mixins.replaymod.json #257 Added Shortcut to toggle Interpolation ('O' key) (CrushedPixel)job/CPReplayMod/257/changes#detail02015-08-05T11:33:59Z2015-08-05T11:33:59Zsrc/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #256 Replace camera roll CT with mixin magic (Jonas)job/CPReplayMod/256/changes#detail02015-08-05T10:22:14Z2015-08-05T10:22:14Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/CameraRollCT.java #256 Replace enchantment timer CT with mixin magic (Jonas)job/CPReplayMod/256/changes#detail12015-08-05T10:22:14Z2015-08-05T10:22:14Zsrc/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderItem.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/timer/EnchantmentTimer.java src/main/java/eu/crushedpixel/replaymod/coremod/EnchantmentTimerCT.java src/main/resources/mixins.replaymod.json #255 Replace CustomEntityHandler with mixin magic (Jonas)job/CPReplayMod/255/changes#detail02015-08-04T21:29:53Z2015-08-04T21:29:53Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CubicPboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/WorldRenderer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEntityRenderer.java src/main/resources/mixins.replaymod.json src/main/java/eu/crushedpixel/replaymod/video/capturer/MultiFramePboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinEffectRenderer.java build.gradle src/main/java/eu/crushedpixel/replaymod/coremod/RenderManagerCT.java src/main/java/eu/crushedpixel/replaymod/video/capturer/SimpleOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/StereoscopicOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/StereoscopicPboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/video/EntityRendererHandler.java src/main/java/eu/crushedpixel/replaymod/video/capturer/SimplePboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CubicOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/mixin/MixinRenderManager.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java #254 Remove unnecessary localization (Jonas)job/CPReplayMod/254/changes#detail02015-08-04T21:16:28Z2015-08-04T21:16:28Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java #253 Initially set the GuiObjectManager's Keyframe Timeline's cursor position to the GuiReplayOverlay's Keyframe Timeline's cursor position (CrushedPixel)job/CPReplayMod/253/changes#detail02015-08-04T15:27:37Z2015-08-04T15:27:37Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #252 Do not send Sound Effect Packets while rendering, as they might blow your ear away afterwards (CrushedPixel)job/CPReplayMod/252/changes#detail02015-08-04T15:05:27Z2015-08-04T15:05:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #251 mc.gameSettings.mapSoundLevels might be null, handle this case properly (CrushedPixel)job/CPReplayMod/251/changes#detail02015-08-04T15:01:32Z2015-08-04T15:01:32Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #250 Added a PNG Sequence Encoding Preset (CrushedPixel)job/CPReplayMod/250/changes#detail02015-08-04T10:33:32Z2015-08-04T10:33:32Zsrc/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/resources/assets/replaymod/lang/en_US.lang #249 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)job/CPReplayMod/249/changes#detail02015-08-03T14:26:55Z2015-08-03T14:26:55Zsrc/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #248 Added Disclaimer to GuiRegister telling users that registering means they agree with ReplayMod.com's Terms of Services (CrushedPixel)job/CPReplayMod/248/changes#detail02015-08-02T11:58:32Z2015-08-02T11:58:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/resources/assets/replaymod/lang/en_US.lang #247 Disable resizing of the game window while rendering if FBOs are not enabled (CrushedPixel)job/CPReplayMod/247/changes#detail02015-07-31T12:00:43Z2015-07-31T12:00:43Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #246 The Camera Path Play/Pause button now tells the user where it's going to start (current cursor position or start) (CrushedPixel)job/CPReplayMod/246/changes#detail02015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang #246 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)job/CPReplayMod/246/changes#detail12015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #246 Fix CameraEntity#moveAbsolute(AdvancedPosition) to properly update head rotation and bounding box (CrushedPixel)job/CPReplayMod/246/changes#detail22015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #246 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. (CrushedPixel)job/CPReplayMod/246/changes#detail32015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #246 Allow for spaces in Replay Names in GuiRenameReplay and use proper variable names instead of copy-pasted SrgNames (CrushedPixel)job/CPReplayMod/246/changes#detail42015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java #246 Call Minecraft#updateDisplay in VideoRenderer if not in High Performance Mode, to resize the GuiVideoRenderer if user resized screen (requested by many users) (CrushedPixel)job/CPReplayMod/246/changes#detail52015-07-30T12:02:20Z2015-07-30T12:02:20Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #245 Pressing the chat button if a GuiMouseInput is already present closes this GuiMouseInput (easier toggle between mouse and camera mode) (CrushedPixel)job/CPReplayMod/245/changes#detail02015-07-29T20:19:49Z2015-07-29T20:19:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java #244 Added a setFPS() method to GuiVideoFramerateSlider to programmatically change the FPS value (CrushedPixel)job/CPReplayMod/244/changes#detail02015-07-27T22:03:20Z2015-07-27T22:03:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java #244 Added methods to RenderOptions to save/load a RenderOptions object from/to a Forge Configuration instance (CrushedPixel)job/CPReplayMod/244/changes#detail12015-07-27T22:03:20Z2015-07-27T22:03:20Zsrc/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java #244 The GuiRenderSettings loads their initial settings from the Replay Mod config (CrushedPixel)job/CPReplayMod/244/changes#detail22015-07-27T22:03:20Z2015-07-27T22:03:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #243 If the cursor on the Keyframe Timeline is at or near the last keyframe, play from the beginning (CrushedPixel)job/CPReplayMod/243/changes#detail02015-07-26T10:39:56Z2015-07-26T10:39:56Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #243 Fix LegacyKeyframeSetAdapter swallowing spectatedEntityID values of non-legacy Keyframes (CrushedPixel)job/CPReplayMod/243/changes#detail12015-07-26T10:39:56Z2015-07-26T10:39:56Zsrc/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java #242 Added hover message in GuiUploadFile to tell the user why they can't upload a File (CrushedPixel)job/CPReplayMod/242/changes#detail02015-07-25T13:17:14Z2015-07-25T13:17:14Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/resources/assets/replaymod/lang/en_US.lang #241 Created RegexUtils class to provide commonly used Patterns for User input validation (CrushedPixel)job/CPReplayMod/241/changes#detail02015-07-25T12:54:34Z2015-07-25T12:54:34Zsrc/main/java/eu/crushedpixel/replaymod/utils/RegexUtils.java #241 Only allow Alphanumerical characters and underscores when registering a new username (CrushedPixel)job/CPReplayMod/241/changes#detail12015-07-25T12:54:34Z2015-07-25T12:54:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java #240 Reworked ReplayProcess to get rid of own Interpolation instances (as these can be handled by the KeyframeLists) (CrushedPixel)job/CPReplayMod/240/changes#detail02015-07-25T12:12:59Z2015-07-25T12:12:59Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #239 Keyframes are now live edited (to allow for better fine tweaking of camera paths) (CrushedPixel)job/CPReplayMod/239/changes#detail02015-07-24T16:03:47Z2015-07-24T16:03:47Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java #239 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)job/CPReplayMod/239/changes#detail12015-07-24T16:03:47Z2015-07-24T16:03:47Zsrc/main/java/eu/crushedpixel/replaymod/utils/RoundUtils.java #238 Instead of ticking the world once (which updated entities and such), simply set the EntityRenderer's lightmapUpdateNeeded to true when updating Ambient Lighting (CrushedPixel)job/CPReplayMod/238/changes#detail02015-07-24T12:36:37Z2015-07-24T12:36:37Zsrc/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java src/main/resources/META-INF/replaymod_at.cfg #237 Replacing FileSystems call with File.getCanonicalFile in ReplayFileIO (which I should've used from the beginning) (CrushedPixel)job/CPReplayMod/237/changes#detail02015-07-24T12:02:52Z2015-07-24T12:02:52Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #236 Do not use Java 1.7 only File#toPath() method in ReplayFileIO#makeFolderFromPath (CrushedPixel)job/CPReplayMod/236/changes#detail02015-07-24T11:55:17Z2015-07-24T11:55:17Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #235 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)job/CPReplayMod/235/changes#detail02015-07-24T11:15:37Z2015-07-24T11:15:37Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #234 ComposedElements properly draw overlays of their underlying Elements (CrushedPixel)job/CPReplayMod/234/changes#detail02015-07-23T20:43:21Z2015-07-23T20:43:21Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java #233 Added proper toString Method to TimestampValue for easier debugging (CrushedPixel)job/CPReplayMod/233/changes#detail02015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java #233 Clearing Keyframes resets the Timeline Cursor Position (CrushedPixel)job/CPReplayMod/233/changes#detail12015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #233 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)job/CPReplayMod/233/changes#detail22015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java #233 ReplayFileIO#makeFolderFromPath removes dots (.) from file path to not confuse Windows File Systems. before: /eclipse/./replay_videos/, after: /eclipse/replay_videos/ (CrushedPixel)job/CPReplayMod/233/changes#detail32015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #233 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)job/CPReplayMod/233/changes#detail42015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #233 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)job/CPReplayMod/233/changes#detail52015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #233 Center and free the Mouse cursor whenever a GuiReplayOverlay is opened (CrushedPixel)job/CPReplayMod/233/changes#detail62015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java #233 Since ReplayHandler#addKeyframe selects the Keyframe, deselect it after loading a Path Preset (CrushedPixel)job/CPReplayMod/233/changes#detail72015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #233 To prevent particle rotations from being interpolated by MC, set prevRotationPitch and prevRotationYaw as well (CrushedPixel)job/CPReplayMod/233/changes#detail82015-07-23T17:50:25Z2015-07-23T17:50:25Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #232 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)job/CPReplayMod/232/changes#detail02015-07-22T23:13:44Z2015-07-22T23:13:44Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #231 When clicking Time/Marker Keyframes, the time is now traveled with the "Please wait" screen (CrushedPixel)job/CPReplayMod/231/changes#detail02015-07-22T21:15:24Z2015-07-22T21:15:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #230 Synchronizing the Replay Timeline now respects the Speed Slider's value as a stretch factor. Shift key ignores that stretch value. (CrushedPixel)job/CPReplayMod/230/changes#detail02015-07-21T22:00:47Z2015-07-21T22:00:47Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #229 Properly filters S2BPacketChangeGameState to include weather effects like rain or sky color change | https://trello.com/c/hE8Uck3m/ (CrushedPixel)job/CPReplayMod/229/changes#detail02015-07-21T16:12:21Z2015-07-21T16:12:21Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #228 Remove unused Quaternion Interpolators. RIP, I definitely hat fun Slerping with you! (CrushedPixel)job/CPReplayMod/228/changes#detail02015-07-21T09:50:31Z2015-07-21T09:50:31Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/SlerpInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/LerpInterpolation.java src/main/java/eu/crushedpixel/replaymod/holders/Quaternion.java #227 Learn english, Johni! (CrushedPixel)job/CPReplayMod/227/changes#detail02015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/utils/Api.java #227 Do not restrict Camera Yaw Values in GuiEditKeyframe (CrushedPixel)job/CPReplayMod/227/changes#detail12015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java #227 GuiReplayOverlay: The Keyframe Timeline should be zoomed in more initially (CrushedPixel)job/CPReplayMod/227/changes#detail22015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #227 Adjust MARKER_DISTANCE value in GuiTimeline to avoid visual glitches (CrushedPixel)job/CPReplayMod/227/changes#detail32015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java #227 Added getLinearInterpolator() and getCubicInterpolator() methods to KeyframeValue interface to allow for specific Interpolators instead of the Generic Interpolators (CrushedPixel)job/CPReplayMod/227/changes#detail42015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/holders/NumberValue.java src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java src/main/java/eu/crushedpixel/replaymod/interpolation/AdvancedPositionLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeValue.java src/main/java/eu/crushedpixel/replaymod/holders/Point.java src/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/interpolation/AdvancedPositionSplineInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/holders/Marker.java src/main/java/eu/crushedpixel/replaymod/utils/InterpolationUtils.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java #227 Added implementations for Quaternions to represent rotation values and Interpolators using the Slerp/Lerp algorithm (CrushedPixel)job/CPReplayMod/227/changes#detail52015-07-21T09:23:26Z2015-07-21T09:23:26Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/SlerpInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/LerpInterpolation.java src/main/java/eu/crushedpixel/replaymod/holders/Quaternion.java #226 Added recalculate() method to KeyframeList to recalc the underlying Interpolation (CrushedPixel)job/CPReplayMod/226/changes#detail02015-07-20T00:33:43Z2015-07-20T00:33:43Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java #225 Make GuiAdvancedButton only perform actions when enabled (CrushedPixel)job/CPReplayMod/225/changes#detail02015-07-20T00:05:58Z2015-07-20T00:05:58Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java #225 GuiArrowButton now draws from Texture instead of awful calculations (CrushedPixel)job/CPReplayMod/225/changes#detail12015-07-20T00:05:58Z2015-07-20T00:05:58Zsrc/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java #225 Created drawRotatedRectWithCustomSizedTexture method in OpenGLUtils (CrushedPixel)job/CPReplayMod/225/changes#detail22015-07-20T00:05:58Z2015-07-20T00:05:58Zsrc/main/java/eu/crushedpixel/replaymod/utils/OpenGLUtils.java #225 Implemented expected behaviour in KeyframeList#getPreviousKeyframe and KeyframeList#getNextKeyframe (CrushedPixel)job/CPReplayMod/225/changes#detail32015-07-20T00:05:58Z2015-07-20T00:05:58Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java #224 Only render Path Preview within Render Distance (CrushedPixel)job/CPReplayMod/224/changes#detail02015-07-19T23:19:28Z2015-07-19T23:19:28Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #224 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)job/CPReplayMod/224/changes#detail12015-07-19T23:19:28Z2015-07-19T23:19:28Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java #224 Only get Fields to Interpolate in Interpolation implementations if not done before -> massive performance increase (CrushedPixel)job/CPReplayMod/224/changes#detail22015-07-19T23:19:28Z2015-07-19T23:19:28Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java #224 Properly set previousCallLinear value in KeyframeList#getInterpolatedValueForPathPosition(), MASSIVELY increasing performance as the interpolation isn't recalculated all the time (CrushedPixel)job/CPReplayMod/224/changes#detail32015-07-19T23:19:28Z2015-07-19T23:19:28Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java #224 Set selected Keyframe to null upon joining a Replay (CrushedPixel)job/CPReplayMod/224/changes#detail42015-07-19T23:19:28Z2015-07-19T23:19:28Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #223 Made calculation of Markers on GuiTimeline dynamic (CrushedPixel)job/CPReplayMod/223/changes#detail02015-07-19T21:29:13Z2015-07-19T21:29:13Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/utils/RoundUtils.java #222 Split GuiEditKeyframe into multiple classes depending on Keyframe type (Jonas)job/CPReplayMod/222/changes#detail02015-07-19T14:23:02Z2015-07-19T14:23:02Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #222 General warning cleanup (Jonas)job/CPReplayMod/222/changes#detail12015-07-19T14:23:02Z2015-07-19T14:23:02Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeValue.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditingProcess.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/PasswordTextField.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/timer/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/coremod/SoundManagerCT.java src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java src/main/java/eu/crushedpixel/replaymod/assets/AssetFileUtils.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java src/main/java/eu/crushedpixel/replaymod/online/urischeme/WindowsUriScheme.java src/main/java/eu/crushedpixel/replaymod/interpolation/BasicSpline.java src/main/java/eu/crushedpixel/replaymod/studio/ProgressFilter.java #221 Fixed GuiReplaySpeedSlider and GuiVideoFramerateSlider overriding the wrong methods (CrushedPixel)job/CPReplayMod/221/changes#detail02015-07-19T13:32:22Z2015-07-19T13:32:22Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #220 Created GuiOutsideClickableElement interface for GuiElements that can be deselected/closed by clicking outside of them and properly forward mouse clicks to these elements (CrushedPixel)job/CPReplayMod/220/changes#detail02015-07-19T12:43:32Z2015-07-19T12:43:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiOutsideClickableElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #219 Fix bug where thePlayer is reset to the position of its bounding box causing the suffocation overlay to be displayed for a frame (Jonas)job/CPReplayMod/219/changes#detail02015-07-19T11:41:17Z2015-07-19T11:41:17Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #218 Added CheckBoxListener for GuiAdvancedCheckBox (CrushedPixel)job/CPReplayMod/218/changes#detail02015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/CheckBoxListener.java #218 Made GuiVideoFramerateSlider a subclass of GuiAdvancedButton and added missing @Override annotations (CrushedPixel)job/CPReplayMod/218/changes#detail12015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java #218 ComposedElement initially sorts its elements and respects their elements' y position if both are Dropdowns (CrushedPixel)job/CPReplayMod/218/changes#detail22015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java #218 Made GuiColorPicker a subclass of GuiAdvancedButton and call pickerToggled() method from own click handler methods (CrushedPixel)job/CPReplayMod/218/changes#detail32015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java #218 added getWidth() method to GuiString which returns the width of the drawn String (calculated using FontRenderer#getStringWidth()) (CrushedPixel)job/CPReplayMod/218/changes#detail42015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java #218 Added more Constructors to GuiAdvancedTextField (CrushedPixel)job/CPReplayMod/218/changes#detail52015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java #218 Right-Clicking a Position Keyframe teleports the Camera to that Keyframe's Position, Right-Clicking a Time Keyframe jumps to its Timestamp | https://trello.com/c/dL48nHyG/ (CrushedPixel)job/CPReplayMod/218/changes#detail62015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #218 Made GuiReplaySpeedSlider a subclass of GuiAdvancedButton (CrushedPixel)job/CPReplayMod/218/changes#detail72015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #218 Created dummy GuiOverlayElement interface for ComposedElement to determine which Elements to draw last (CrushedPixel)job/CPReplayMod/218/changes#detail82015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiOverlayElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java #218 GuiColorPicker#hoveringPicker only returns true if the GuiElement is enabled (CrushedPixel)job/CPReplayMod/218/changes#detail92015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java #218 Reduced Constructor sets GuiAdvancedTextField's height (CrushedPixel)job/CPReplayMod/218/changes#detail102015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java #218 Rewrote GuiRenderSettings to use the semi-new Gui System and have three instead of two pages (Video Settings, Advanced Settings, Command Line Settings) (CrushedPixel)job/CPReplayMod/218/changes#detail112015-07-19T11:39:32Z2015-07-19T11:39:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang #217 Fix GuiDropdown not functioning in GuiReplayEditor (Jonas)job/CPReplayMod/217/changes#detail02015-07-18T15:51:55Z2015-07-18T15:51:55Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #216 Fix infinite loop in exception handling (Jonas)job/CPReplayMod/216/changes#detail02015-07-18T14:38:25Z2015-07-18T14:38:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #216 Add additional checks in PBO methods (Jonas)job/CPReplayMod/216/changes#detail12015-07-18T14:38:25Z2015-07-18T14:38:25Zsrc/main/java/eu/crushedpixel/replaymod/opengl/PixelBufferObject.java #216 Fix exceptions not being handled correctly when rendering from command line (Jonas)job/CPReplayMod/216/changes#detail22015-07-18T14:38:25Z2015-07-18T14:38:25Zsrc/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #216 Add PBO frame capturer for stereoscopic, cubic and equirectangular rendering (Jonas)job/CPReplayMod/216/changes#detail32015-07-18T14:38:25Z2015-07-18T14:38:25Zsrc/main/java/eu/crushedpixel/replaymod/video/capturer/MultiFramePboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/StereoscopicPboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CubicPboOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/video/capturer/SimplePboOpenGlFrameCapturer.java #215 Fix typo in Renderer Descriptions (useable -> usable) (CrushedPixel)job/CPReplayMod/215/changes#detail02015-07-17T14:22:48Z2015-07-17T14:22:48Zsrc/main/resources/assets/replaymod/lang/en_US.lang #215 Don't render indicators in GuiReplayOverlay if current screen implements NoOverlay (CrushedPixel)job/CPReplayMod/215/changes#detail12015-07-17T14:22:48Z2015-07-17T14:22:48Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #215 Implemented NoOverlay interface for some more GUIs (CrushedPixel)job/CPReplayMod/215/changes#detail22015-07-17T14:22:48Z2015-07-17T14:22:48Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #214 Wait until world has loaded when previewing a Camera Path (CrushedPixel)job/CPReplayMod/214/changes#detail02015-07-17T12:37:17Z2015-07-17T12:37:17Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java #213 Cleaned up OpenGL calls in CustomObjectRenderer and PathPreviewRenderer (CrushedPixel)job/CPReplayMod/213/changes#detail02015-07-17T11:35:42Z2015-07-17T11:35:42Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #213 Undo removed ReplayHandler#spectateCamera() call which was inherited from ReplayHandler#setCameraEntity() call which was removed in commit ef39c74 (CrushedPixel)job/CPReplayMod/213/changes#detail12015-07-17T11:35:42Z2015-07-17T11:35:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #213 CustomImageObject#getResourceLocation() should return null if it's not registered yet (thread safety) (CrushedPixel)job/CPReplayMod/213/changes#detail22015-07-17T11:35:42Z2015-07-17T11:35:42Zsrc/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java #212 Allow all camera rotation axis to be ignored separately during rendering (Jonas)job/CPReplayMod/212/changes#detail02015-07-17T10:44:47Z2015-07-17T10:44:47Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java #211 Moved Add and Remove Buttons in GuiObjectManager 5px upwards (CrushedPixel)job/CPReplayMod/211/changes#detail02015-07-17T10:29:17Z2015-07-17T10:29:17Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #210 Rename mislabeled TimestampUtils#getMinutesFromTimestamp Method to TimestampUtils#timestampToWholeMinutes (CrushedPixel)job/CPReplayMod/210/changes#detail02015-07-17T10:17:32Z2015-07-17T10:17:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/utils/TimestampUtils.java #210 Close Toolbar in GuiReplayOverlay when GuiMouseInput is closed (CrushedPixel)job/CPReplayMod/210/changes#detail12015-07-17T10:17:32Z2015-07-17T10:17:32Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java #209 Fix getCameraEntity not being thread safe (concurrent event registration) even though called from multiple threads (Jonas)job/CPReplayMod/209/changes#detail02015-07-17T09:50:22Z2015-07-17T09:50:22Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #208 Marker Keyframes are initially selected after creating them and get properly deselected when removing them (CrushedPixel)job/CPReplayMod/208/changes#detail02015-07-17T00:31:31Z2015-07-17T00:31:31Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #207 Keyframe Timeline Length is a Magic Constant (CrushedPixel)job/CPReplayMod/207/changes#detail02015-07-17T00:26:56Z2015-07-17T00:26:56Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #207 Prevent "Synchronize Timelines" feature from exceeding the Keyframe Timeline length (CrushedPixel)job/CPReplayMod/207/changes#detail12015-07-17T00:26:56Z2015-07-17T00:26:56Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #206 Render Camera Indicator in lower right corner if Path Preview is active (CrushedPixel)job/CPReplayMod/206/changes#detail02015-07-17T00:14:06Z2015-07-17T00:14:06Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/replay_gui.png #205 Do not show Clear Keyframe Callback if no Keyframes present (CrushedPixel)job/CPReplayMod/205/changes#detail02015-07-16T23:28:21Z2015-07-16T23:28:21Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #205 Add Toolbar to GuiReplayOverlay, showing all Keybindings as handy buttons (CrushedPixel)job/CPReplayMod/205/changes#detail12015-07-16T23:28:21Z2015-07-16T23:28:21Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #205 Reorder custom Replay Mod Keybindings for better display in GuiReplayOverlay (CrushedPixel)job/CPReplayMod/205/changes#detail22015-07-16T23:28:21Z2015-07-16T23:28:21Zsrc/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #205 Added consistency to naming of Keybindings (CrushedPixel)job/CPReplayMod/205/changes#detail32015-07-16T23:28:21Z2015-07-16T23:28:21Zsrc/main/resources/assets/replaymod/lang/en_US.lang #204 Updated TimestampUtils#getMinutesFromTimestamp, allowing the returned value be higher than 60 (CrushedPixel)job/CPReplayMod/204/changes#detail02015-07-16T20:59:56Z2015-07-16T20:59:56Zsrc/main/java/eu/crushedpixel/replaymod/utils/TimestampUtils.java #203 Initially validate inputs in GuiRenderSettings (CrushedPixel)job/CPReplayMod/203/changes#detail02015-07-16T20:06:01Z2015-07-16T20:06:01Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #202 Added restriction for Encoding Presets with the yuv420 setting (width and height have to be even numbers) (CrushedPixel)job/CPReplayMod/202/changes#detail02015-07-16T19:58:16Z2015-07-16T19:58:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/resources/assets/replaymod/lang/en_US.lang #201 Fixed small mistake in localizaton (CrushedPixel)job/CPReplayMod/201/changes#detail02015-07-16T19:11:21Z2015-07-16T19:11:21Zsrc/main/resources/assets/replaymod/lang/en_US.lang #201 Fixed min/max values for GuiNumberInputs in GuiEditKeyframe (CrushedPixel)job/CPReplayMod/201/changes#detail12015-07-16T19:11:21Z2015-07-16T19:11:21Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java #201 Fixed Encoding Presets to allow for whitespaces in the File Name (CrushedPixel)job/CPReplayMod/201/changes#detail22015-07-16T19:11:21Z2015-07-16T19:11:21Zsrc/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java #201 Draw Elements in GuiRenderSettings in the correct order (CrushedPixel)job/CPReplayMod/201/changes#detail32015-07-16T19:11:21Z2015-07-16T19:11:21Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #200 Fix preview trying to read argb when there is only rgb (Jonas)job/CPReplayMod/200/changes#detail02015-07-16T19:03:21Z2015-07-16T19:03:21Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #199 Use java.util.Arrays instead of scala.actors.threadpool.Arrays in GuiKeyframeRepository to prevent a crash at runtime (CrushedPixel)job/CPReplayMod/199/changes#detail02015-07-16T18:21:56Z2015-07-16T18:21:56Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #198 removed unnecessary null check when calling ReplayHandler#getCameraEntity in ReplaySender (CrushedPixel)job/CPReplayMod/198/changes#detail02015-07-16T17:42:26Z2015-07-16T17:42:26Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #197 Do not bother with exceptions during exporting when process was cancelled (Jonas)job/CPReplayMod/197/changes#detail02015-07-16T17:10:36Z2015-07-16T17:10:36Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #196 Use RGB instead of ARGB for export and therefore speed up OpenGL to output conversion process (Jonas)job/CPReplayMod/196/changes#detail02015-07-16T16:15:41Z2015-07-16T16:15:41Zsrc/main/java/eu/crushedpixel/replaymod/video/processor/StereoscopicToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/video/frame/RGBFrame.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/processor/EquirectangularToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/frame/ARGBFrame.java src/main/java/eu/crushedpixel/replaymod/video/processor/EquirectangularToRGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/processor/CubicToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/processor/OpenGlToRGBProcessor.java src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/java/eu/crushedpixel/replaymod/utils/OpenGLUtils.java src/main/java/eu/crushedpixel/replaymod/video/processor/OpenGlToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/processor/StereoscopicToRGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/processor/CubicToRGBProcessor.java #195 Another commit to fix underlining in GuiReplayInstanceChooser... I'm so sorry Johni :( (CrushedPixel)job/CPReplayMod/195/changes#detail02015-07-16T15:47:11Z2015-07-16T15:47:11Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayInstanceChooser.java #195 CameraEntity now registers itself. It doesn't need external code doing its job! (CrushedPixel)job/CPReplayMod/195/changes#detail12015-07-16T15:47:11Z2015-07-16T15:47:11Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #194 Added Checkbox to GuiRenderSettings to enable/disable Name Tag rendering (CrushedPixel)job/CPReplayMod/194/changes#detail02015-07-16T15:29:35Z2015-07-16T15:29:35Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #193 GuiReplayInstanceChooser: Undid underlining the Replay File String and underline the Gui Title again (CrushedPixel)job/CPReplayMod/193/changes#detail02015-07-16T14:47:30Z2015-07-16T14:47:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayInstanceChooser.java #192 Add high performance rendering mode which does not render the GUI every frame (Jonas)job/CPReplayMod/192/changes#detail02015-07-16T14:24:45Z2015-07-16T14:24:45Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java #192 Add PBOs and PBO support for default rendering (Jonas)job/CPReplayMod/192/changes#detail12015-07-16T14:24:45Z2015-07-16T14:24:45Zsrc/main/java/eu/crushedpixel/replaymod/utils/Api.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/opengl/PixelBufferObject.java src/main/java/eu/crushedpixel/replaymod/video/capturer/SimplePboOpenGlFrameCapturer.java #191 Created GuiReplayInstanceChooser which allows users to define whether they want to load their modified version of an online replay or load the original (CrushedPixel)job/CPReplayMod/191/changes#detail02015-07-16T14:22:20Z2015-07-16T14:22:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayInstanceChooser.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #191 Colors "Original" and "Modified" strings in GuiReplayInstanceChooser (CrushedPixel)job/CPReplayMod/191/changes#detail12015-07-16T14:22:20Z2015-07-16T14:22:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayInstanceChooser.java #190 Fix OffsetGuiRenderer swallowing the shadow flag (Jonas)job/CPReplayMod/190/changes#detail02015-07-16T14:07:05Z2015-07-16T14:07:05Zsrc/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java #189 Use Lombok for equals() and hashCode() methods in KeyframeSet (CrushedPixel)job/CPReplayMod/189/changes#detail02015-07-16T13:05:20Z2015-07-16T13:05:20Zsrc/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java #188 ReplayHandler#spectateCamera() creates a new CameraEntity if the current instance is null (CrushedPixel)job/CPReplayMod/188/changes#detail02015-07-16T13:01:05Z2015-07-16T13:01:05Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #187 Throw ReportedException when catching an exception thrown during rendering (Jonas)job/CPReplayMod/187/changes#detail02015-07-16T12:49:25Z2015-07-16T12:49:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #186 Load download Folder from ReplayFileIO in DownloadedFileHandler (CrushedPixel)job/CPReplayMod/186/changes#detail02015-07-16T12:47:00Z2015-07-16T12:47:00Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java #186 Created getNextFreeFile method in ReplayFileIO to provide the next free file with a filename like FILENAME_X.EXTENSION (CrushedPixel)job/CPReplayMod/186/changes#detail12015-07-16T12:47:00Z2015-07-16T12:47:00Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #186 The ReplayFileAppender now saves downloaded files which were modified in the Replay Folder (CrushedPixel)job/CPReplayMod/186/changes#detail22015-07-16T12:47:00Z2015-07-16T12:47:00Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #186 Fixed NPE in CustomObjectRenderer caused by mc.getRenderViewEntity() returning null (CrushedPixel)job/CPReplayMod/186/changes#detail32015-07-16T12:47:00Z2015-07-16T12:47:00Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java #185 Prevented NPE in TickAndRenderListener (CrushedPixel)job/CPReplayMod/185/changes#detail02015-07-16T11:51:25Z2015-07-16T11:51:25Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java #185 Re-added Lossless MKV Render Preset (CrushedPixel)job/CPReplayMod/185/changes#detail12015-07-16T11:51:25Z2015-07-16T11:51:25Zsrc/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/resources/assets/replaymod/lang/en_US.lang #184 Only register changes in ReplayFileAppender if something changed - this applies to GuiKeyframeRepository, GuiObjectManager, GuiPlayerOverview, GuiAssetManager (CrushedPixel)job/CPReplayMod/184/changes#detail02015-07-16T11:38:35Z2015-07-16T11:38:35Zsrc/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/utils/BufferedImageUtils.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayAsset.java #184 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 (CrushedPixel)job/CPReplayMod/184/changes#detail12015-07-16T11:38:35Z2015-07-16T11:38:35Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java #183 Add render option for hiding player name tags (Jonas)job/CPReplayMod/183/changes#detail02015-07-16T10:57:05Z2015-07-16T10:57:05Zsrc/main/java/eu/crushedpixel/replaymod/coremod/asm_Hooks.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/NoNameTagCT.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java #182 Fix GuiAdvancedButton drawing a Tooltip if the Hover Text String is empty (CrushedPixel)job/CPReplayMod/182/changes#detail02015-07-15T22:00:39Z2015-07-15T22:00:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java #182 Filed GuiFileChooser opening an "Open" dialog when a "Save" dialog should be opened (CrushedPixel)job/CPReplayMod/182/changes#detail12015-07-15T22:00:39Z2015-07-15T22:00:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #182 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. (CrushedPixel)job/CPReplayMod/182/changes#detail22015-07-15T22:00:39Z2015-07-15T22:00:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/resources/assets/replaymod/lang/en_US.lang #181 Fix constantly re-registering the camera entity event handlers (Jonas)job/CPReplayMod/181/changes#detail02015-07-15T16:51:58Z2015-07-15T16:51:58Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java #180 Added Encoding Presets to GuiRenderSettings and removed Checkbox for Custom Resolution (CrushedPixel)job/CPReplayMod/180/changes#detail02015-07-15T14:52:23Z2015-07-15T14:52:23Zsrc/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #179 Add shadows to button and checkbox GUI (Jonas)job/CPReplayMod/179/changes#detail02015-07-15T13:55:58Z2015-07-15T13:55:58Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiButton.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiCheckbox.java #178 Prevent rendering with invalid resolution (Jonas)job/CPReplayMod/178/changes#detail02015-07-15T13:44:23Z2015-07-15T13:44:23Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/resources/assets/replaymod/lang/en_US.lang #177 Set latestModVersion to true by default so the user doesn't get an update notification if their internet failed (CrushedPixel)job/CPReplayMod/177/changes#detail02015-07-15T12:53:18Z2015-07-15T12:53:18Zsrc/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #176 Rework rendering pipeline to make better use of multithreading (Jonas)job/CPReplayMod/176/changes#detail02015-07-15T12:26:13Z2015-07-15T12:26:13Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/TiledReadPixelsRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/capturer/WorldRenderer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/OpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/FrameRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/ARGBFrame.java src/main/java/eu/crushedpixel/replaymod/video/capturer/StereoscopicOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/frame/DefaultFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/CubicOpenGlFrame.java src/main/java/eu/crushedpixel/replaymod/utils/OpenGLUtils.java src/main/java/eu/crushedpixel/replaymod/video/frame/StereoscopicFrameRenderer.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/video/frame/EquirectangularFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/processor/OpenGlToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/VanillaFrameBufferRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CubicOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/video/processor/AbstractFrameProcessor.java src/main/java/eu/crushedpixel/replaymod/video/frame/StereoscopicOpenGlFrame.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Frame.java src/main/java/eu/crushedpixel/replaymod/video/rendering/FrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/processor/StereoscopicToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipelines.java src/main/java/eu/crushedpixel/replaymod/video/frame/OpenGlFrame.java src/main/java/eu/crushedpixel/replaymod/video/rendering/FrameConsumer.java src/main/java/eu/crushedpixel/replaymod/video/processor/EquirectangularToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/frame/CubicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/processor/CubicToARGBProcessor.java src/main/java/eu/crushedpixel/replaymod/video/capturer/RenderInfo.java src/main/java/eu/crushedpixel/replaymod/video/capturer/SimpleOpenGlFrameCapturer.java src/main/java/eu/crushedpixel/replaymod/video/capturer/CaptureData.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/VanillaReadPixelsRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/utils/ByteBufferPool.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/TiledFrameBufferRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/rendering/FrameProcessor.java src/main/java/eu/crushedpixel/replaymod/video/rendering/Pipeline.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #175 Added Api Call checking if the Mod has the latest version and Message in Main Menu if not up-to-date (CrushedPixel)job/CPReplayMod/175/changes#detail02015-07-15T12:09:33Z2015-07-15T12:09:33Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/ReplayModApiMethods.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #174 In the GuiObjectManager, Keyframes can be deleted using the DELETE Key on the Keyboard (CrushedPixel)job/CPReplayMod/174/changes#detail02015-07-15T10:26:28Z2015-07-15T10:26:28Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #174 Made Keyframes in GuiObjectManager draggable (CrushedPixel)job/CPReplayMod/174/changes#detail12015-07-15T10:26:28Z2015-07-15T10:26:28Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #173 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 (CrushedPixel)job/CPReplayMod/173/changes#detail02015-07-14T11:50:26Z2015-07-14T11:50:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #172 Added support for legacy Spectator Keyframes in LegacyKeyframeSetAdapter (CrushedPixel)job/CPReplayMod/172/changes#detail02015-07-14T10:09:46Z2015-07-14T10:09:46Zsrc/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java #172 Play Camera Path button graphically didn't turn into pause button while playing (CrushedPixel)job/CPReplayMod/172/changes#detail12015-07-14T10:09:46Z2015-07-14T10:09:46Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #172 Sleepy me forgot to disable Path Previews while in Path (CrushedPixel)job/CPReplayMod/172/changes#detail22015-07-14T10:09:46Z2015-07-14T10:09:46Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #171 Added Preview for Camera's Position and look direction in Path Previews (CrushedPixel)job/CPReplayMod/171/changes#detail02015-07-14T02:32:25Z2015-07-14T02:32:25Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/resources/assets/replaymod/camera_head.png src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #171 Access Vector3d's fields directly instead of using getter which for some reason fails the gradle build task (CrushedPixel)job/CPReplayMod/171/changes#detail12015-07-14T02:32:25Z2015-07-14T02:32:25Zsrc/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #170 Fixed Custom Image Objects being rendered through blocks (CrushedPixel)job/CPReplayMod/170/changes#detail02015-07-14T00:23:15Z2015-07-14T00:23:15Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #169 Executes JFileChooser activities in Swing Thread (CrushedPixel)job/CPReplayMod/169/changes#detail02015-07-14T00:09:00Z2015-07-14T00:09:00Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #168 Replaced AWT FileDialog with Swing JFileChooser in GuiFileChooser (CrushedPixel)job/CPReplayMod/168/changes#detail02015-07-13T23:37:40Z2015-07-13T23:37:40Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #167 Disabled remove button in GuiAssetManager if no element is selected in List (CrushedPixel)job/CPReplayMod/167/changes#detail02015-07-13T23:03:00Z2015-07-13T23:03:00Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java #166 Renamed setEnabled() method in GuiElementInterface to setElementEnabled() to workaround this Forge Bug: http://www.minecraftforge.net/forum/index.php/topic,32063 (CrushedPixel)job/CPReplayMod/166/changes#detail02015-07-13T22:26:30Z2015-07-13T22:26:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #165 Using the DELETE Key, selected Keyframes can now be removed (CrushedPixel)job/CPReplayMod/165/changes#detail02015-07-13T20:28:19Z2015-07-13T20:28:19Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/handlers/keyboard/StaticKeybinding.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #164 Cleaned up ReplayHandler by unifying selectedKeyframe and selectedMarkerKeyframe into selectedKeyframe, thus only being able to select one Keyframe at once (CrushedPixel)job/CPReplayMod/164/changes#detail02015-07-13T20:10:04Z2015-07-13T20:10:04Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #163 Rendering: Deletes destination File if it already exists to prevent ffmpeg from crashing | https://trello.com/c/Ozlp5Sts/ (CrushedPixel)job/CPReplayMod/163/changes#detail02015-07-13T19:08:39Z2015-07-13T19:08:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #162 In MinecraftTicker, only handle Key Input if no GUI is open as the GUI will invoke the same dispatchKeypresses() method itself (CrushedPixel)job/CPReplayMod/162/changes#detail02015-07-13T14:09:34Z2015-07-13T14:09:34Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java #161 Created CameraPathValidator to validate Camera Paths before playing them and uses its static validateCameraPath() method whenever a Camera Path is to be started (CrushedPixel)job/CPReplayMod/161/changes#detail02015-07-13T13:49:19Z2015-07-13T13:49:19Zsrc/main/java/eu/crushedpixel/replaymod/utils/CameraPathValidator.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #160 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/ (CrushedPixel)job/CPReplayMod/160/changes#detail02015-07-13T13:27:24Z2015-07-13T13:27:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #159 Fixed blue stroke on GuiKeyframeTimeline possibly exceeding the Timeline's bounds | https://trello.com/c/IfTtmwso/ (CrushedPixel)job/CPReplayMod/159/changes#detail02015-07-13T13:19:39Z2015-07-13T13:19:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #158 Added support for Time Keyframes in GuiEditKeyframe | https://trello.com/c/h33v5cSQ/ (CrushedPixel)job/CPReplayMod/158/changes#detail02015-07-13T13:12:29Z2015-07-13T13:12:29Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/resources/assets/replaymod/lang/en_US.lang #157 Add option for whether to draw a shadow of string to GuiRenderer (Jonas)job/CPReplayMod/157/changes#detail02015-07-13T12:11:39Z2015-07-13T12:11:39Zsrc/main/java/de/johni0702/minecraft/gui/GuiRenderer.java src/main/java/de/johni0702/minecraft/gui/MinecraftGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTooltip.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiTextArea.java #156 Created LegacyKeyframeSetAdapter to properly deserialize old, non-generic PositionKeyframes and TimeKeyframes for Path Presets (CrushedPixel)job/CPReplayMod/156/changes#detail02015-07-13T11:36:29Z2015-07-13T11:36:29Zsrc/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/utils/LegacyKeyframeSetAdapter.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java #155 Fix time freezes during rendering not working (Jonas)job/CPReplayMod/155/changes#detail02015-07-13T10:51:54Z2015-07-13T10:51:54Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #154 Fix NPE when loading a replay without marker keyframes (Jonas)job/CPReplayMod/154/changes#detail02015-07-13T10:25:19Z2015-07-13T10:25:19Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #153 Fix generics in most of the Gui interfaces (Jonas)job/CPReplayMod/153/changes#detail02015-07-13T07:43:18Z2015-07-13T07:43:18Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/IGuiProgressBar.java src/main/java/de/johni0702/minecraft/gui/element/IGuiImage.java src/main/java/de/johni0702/minecraft/gui/element/IGuiCheckbox.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiProgressBar.java src/main/java/de/johni0702/minecraft/gui/element/IGuiClickable.java src/main/java/de/johni0702/minecraft/gui/element/IGuiButton.java src/main/java/de/johni0702/minecraft/gui/element/IGuiToggleButton.java src/main/java/de/johni0702/minecraft/gui/element/IGuiLabel.java #153 Clickable and Draggable now also return booleans for whether they handled the event (Jonas)job/CPReplayMod/153/changes#detail12015-07-13T07:43:18Z2015-07-13T07:43:18Zsrc/main/java/de/johni0702/minecraft/gui/function/Clickable.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiClickable.java src/main/java/de/johni0702/minecraft/gui/function/Draggable.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiTextArea.java #152 Add GuiTextArea (Jonas)job/CPReplayMod/152/changes#detail02015-07-13T07:37:18Z2015-07-13T07:37:18Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiTextArea.java src/main/java/de/johni0702/minecraft/gui/element/advanced/IGuiTextArea.java src/main/java/de/johni0702/minecraft/gui/element/advanced/GuiTextArea.java #152 Add GridLayout which orders elements in a grid with cells of equal size (Jonas)job/CPReplayMod/152/changes#detail12015-07-13T07:37:18Z2015-07-13T07:37:18Zsrc/main/java/de/johni0702/minecraft/gui/layout/GridLayout.java #151 Remove preferred size and default button size (Jonas)job/CPReplayMod/151/changes#detail02015-07-13T07:33:23Z2015-07-13T07:33:23Zsrc/main/java/de/johni0702/minecraft/gui/element/GuiElement.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java src/main/java/de/johni0702/minecraft/gui/layout/HorizontalLayout.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiButton.java src/main/java/de/johni0702/minecraft/gui/layout/CustomLayout.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiLabel.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiContainer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiCheckbox.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiImage.java src/main/java/de/johni0702/minecraft/gui/layout/VerticalLayout.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiProgressBar.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTooltip.java #150 Add layers to Gui API so specific elements can be drawn on top of others and react to mouse clicks first (Jonas)job/CPReplayMod/150/changes#detail02015-07-13T07:29:13Z2015-07-13T07:29:13Zsrc/main/java/de/johni0702/minecraft/gui/element/GuiElement.java src/main/java/de/johni0702/minecraft/gui/RenderInfo.java src/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiContainer.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiScreen.java src/main/java/de/johni0702/minecraft/gui/element/AbstractComposedGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/ComposedGuiElement.java #149 Reworked GuiEditKeyframe to use ComposedElements (CrushedPixel)job/CPReplayMod/149/changes#detail02015-07-13T00:04:38Z2015-07-13T00:04:38Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java #148 Marker Keyframes are now being saved in a KeyframeList in the ReplayHandler (CrushedPixel)job/CPReplayMod/148/changes#detail02015-07-12T23:22:58Z2015-07-12T23:22:58Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #147 Removed MarkerKeyframe and replaced it with generic type of Keyframe using the new Marker POJO (CrushedPixel)job/CPReplayMod/147/changes#detail02015-07-12T22:18:42Z2015-07-12T22:18:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/holders/Marker.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java #146 Fixed NPE in GuiFileChooser if selected file is null (CrushedPixel)job/CPReplayMod/146/changes#detail02015-07-12T21:34:27Z2015-07-12T21:34:27Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #146 Prevented NPEs if Asset linked to CustomImageObject is null (CrushedPixel)job/CPReplayMod/146/changes#detail12015-07-12T21:34:27Z2015-07-12T21:34:27Zsrc/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java #146 Cleaned up OpenGL calls in CustomObjectRenderer and PathPreviewRenderer and properly displays CustomImageObjects behind Path Preview Markers | https://trello.com/c/FaiMoTDK/ (CrushedPixel)job/CPReplayMod/146/changes#detail22015-07-12T21:34:27Z2015-07-12T21:34:27Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #145 Added support for Save File Dialogs to GuiFileChooser (CrushedPixel)job/CPReplayMod/145/changes#detail02015-07-12T20:15:07Z2015-07-12T20:15:07Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java #145 The output file can now be specified in GuiRenderSettings (CrushedPixel)job/CPReplayMod/145/changes#detail12015-07-12T20:15:07Z2015-07-12T20:15:07Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #144 Added constructor to Position which takes a BlockPos (CrushedPixel)job/CPReplayMod/144/changes#detail02015-07-12T19:09:22Z2015-07-12T19:09:22Zsrc/main/java/eu/crushedpixel/replaymod/holders/Position.java #144 Sets a new CustomImageObject's default position to the player's position (CrushedPixel)job/CPReplayMod/144/changes#detail12015-07-12T19:09:22Z2015-07-12T19:09:22Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java #143 use List interface instead of ArrayList implementation in several places (CrushedPixel)job/CPReplayMod/143/changes#detail02015-07-12T18:56:42Z2015-07-12T18:56:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/assets/CustomObjectRepository.java #142 Pass correct arguments to BoundingUtils.fitIntoBounds call in FrameRenderer to fix distorted preview (CrushedPixel)job/CPReplayMod/142/changes#detail02015-07-12T17:01:02Z2015-07-12T17:01:02Zsrc/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java #142 Added static reference to current VideoRenderer instance to allow CustomObjectRenderer to correctly interpolate Object Transformations while rendering (CrushedPixel)job/CPReplayMod/142/changes#detail12015-07-12T17:01:02Z2015-07-12T17:01:02Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java #141 Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created (CrushedPixel)job/CPReplayMod/141/changes#detail02015-07-12T14:24:32Z2015-07-12T14:24:32Zsrc/main/java/eu/crushedpixel/replaymod/holders/Transformations.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/assets/CustomObjectRepository.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/utils/RoundUtils.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/NumberValueChangeListener.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/holders/Transformation.java #140 Added ReflectionUtils helper class to find Fields with @Interpolate annotation in superclasses (Interpolators didn't account for Fields in AdvancedPosition inherited by Position) (CrushedPixel)job/CPReplayMod/140/changes#detail02015-07-12T01:34:26Z2015-07-12T01:34:26Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/utils/ReflectionUtils.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java #139 GuiLabel now auto-breaks when text is longer than canvas (Jonas)job/CPReplayMod/139/changes#detail02015-07-11T13:57:55Z2015-07-11T13:57:55Zsrc/main/java/de/johni0702/minecraft/gui/container/AbstractGuiScreen.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiLabel.java #138 Fix point conversion for stacked GuiContainers (Jonas)job/CPReplayMod/138/changes#detail02015-07-11T13:56:00Z2015-07-11T13:56:00Zsrc/main/java/de/johni0702/minecraft/gui/container/AbstractGuiContainer.java #138 Add Layout to CrashReport when drawing GUI (Jonas)job/CPReplayMod/138/changes#detail12015-07-11T13:56:00Z2015-07-11T13:56:00Zsrc/main/java/de/johni0702/minecraft/gui/container/AbstractGuiContainer.java #137 Add GuiImage (Jonas)job/CPReplayMod/137/changes#detail02015-07-11T13:52:35Z2015-07-11T13:52:35Zsrc/main/java/de/johni0702/minecraft/gui/element/GuiImage.java src/main/java/de/johni0702/minecraft/gui/GuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/IGuiImage.java src/main/java/de/johni0702/minecraft/gui/MinecraftGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiImage.java src/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java #136 Add text color and setI18nText to GuiTextField (Jonas)job/CPReplayMod/136/changes#detail02015-07-11T13:34:10Z2015-07-11T13:34:10Zsrc/main/java/de/johni0702/minecraft/gui/element/IGuiTextField.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java #135 GuiObjectManager now allows users to set Keyframes for Transformations (CrushedPixel)job/CPReplayMod/135/changes#detail02015-07-11T12:28:34Z2015-07-11T12:28:34Zsrc/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/holders/Transformations.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/holders/Transformation.java #134 Fix constructor of AdvancedPosition not storing advanced data (Jonas)job/CPReplayMod/134/changes#detail02015-07-10T12:58:17Z2015-07-10T12:58:17Zsrc/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java #133 Only use java 6 methods (Jonas)job/CPReplayMod/133/changes#detail02015-07-10T12:55:22Z2015-07-10T12:55:22Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/utils/Objects.java #130 Doesn't use a Java 1.8 Method to sort KeyframeList's contents (CrushedPixel)job/CPReplayMod/130/changes#detail02015-07-10T12:28:17Z2015-07-10T12:28:17Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java #130 Revert "Doesn't use a Java 1.8 Method to sort KeyframeList's contents" (CrushedPixel)job/CPReplayMod/130/changes#detail12015-07-10T12:28:17Z2015-07-10T12:28:17Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java #130 GuiElement interface's mouseClick method returns a boolean which is handled by ComposedElement to prevent mouse clicks on multiple elements at once (CrushedPixel)job/CPReplayMod/130/changes#detail22015-07-10T12:28:17Z2015-07-10T12:28:17Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java #128 Add GuiToggleButton (Jonas)job/CPReplayMod/128/changes#detail02015-07-10T11:01:44Z2015-07-10T11:01:44Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiToggleButton.java src/main/java/de/johni0702/minecraft/gui/element/GuiToggleButton.java src/main/java/de/johni0702/minecraft/gui/element/IGuiToggleButton.java #127 Add GuiCheckbox (Jonas)job/CPReplayMod/127/changes#detail02015-07-10T11:00:51Z2015-07-10T11:00:51Zsrc/main/java/de/johni0702/minecraft/gui/element/GuiCheckbox.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiCheckbox.java src/main/java/de/johni0702/minecraft/gui/element/IGuiCheckbox.java #126 Add hint to GuiTextField (Jonas)job/CPReplayMod/126/changes#detail02015-07-10T10:25:15Z2015-07-10T10:25:15Zsrc/main/java/de/johni0702/minecraft/gui/element/IGuiTextField.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java #125 Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll (CrushedPixel)job/CPReplayMod/125/changes#detail02015-07-10T02:28:25Z2015-07-10T02:28:25Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/Transformation.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/holders/Transformations.java src/main/java/eu/crushedpixel/replaymod/holders/NumberValue.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java src/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/holders/GuiEntryListValueEntry.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang #124 "The Commit that properly implements the disabling of Gui Elements" (CrushedPixel)job/CPReplayMod/124/changes#detail02015-07-10T01:38:30Z2015-07-10T01:38:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java #124 Allowed GuiTimeline instances to have any height (instead of fixed 22px height) and updated draw() method accordingly (CrushedPixel)job/CPReplayMod/124/changes#detail12015-07-10T01:38:30Z2015-07-10T01:38:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java #123 Add GuiProgressBar for new Gui API (Jonas)job/CPReplayMod/123/changes#detail02015-07-09T16:31:29Z2015-07-09T16:31:29Zsrc/main/java/de/johni0702/minecraft/gui/element/advanced/IGuiProgressBar.java src/main/java/de/johni0702/minecraft/gui/element/advanced/GuiProgressBar.java src/main/java/de/johni0702/minecraft/gui/element/advanced/AbstractGuiProgressBar.java #123 Use new Gui API for GuiReplayDownloading (Jonas)job/CPReplayMod/123/changes#detail12015-07-09T16:31:29Z2015-07-09T16:31:29Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayDownloading.java #122 Add new Gui API (Jonas)job/CPReplayMod/122/changes#detail02015-07-09T16:27:09Z2015-07-09T16:27:09Zsrc/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTextField.java src/main/java/de/johni0702/minecraft/gui/layout/HorizontalLayout.java src/main/java/de/johni0702/minecraft/gui/element/GuiElement.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiButton.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiContainer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractComposedGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/GuiTextField.java src/main/java/de/johni0702/minecraft/gui/element/ComposedGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/IGuiLabel.java src/main/java/de/johni0702/minecraft/gui/container/GuiScreen.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiClickable.java src/main/java/de/johni0702/minecraft/gui/element/GuiPasswordField.java src/main/java/de/johni0702/minecraft/gui/container/GuiPanel.java src/main/java/de/johni0702/minecraft/gui/function/Draggable.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiScreen.java src/main/java/de/johni0702/minecraft/gui/element/IGuiClickable.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiElement.java src/main/java/de/johni0702/minecraft/gui/function/Clickable.java src/main/java/de/johni0702/minecraft/gui/element/GuiButton.java src/main/java/de/johni0702/minecraft/gui/RenderInfo.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiPasswordField.java src/main/java/de/johni0702/minecraft/gui/element/IGuiTextField.java src/main/java/de/johni0702/minecraft/gui/layout/CustomLayout.java src/main/java/de/johni0702/minecraft/gui/container/GuiContainer.java src/main/java/de/johni0702/minecraft/gui/layout/LayoutData.java src/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiLabel.java src/main/java/de/johni0702/minecraft/gui/function/Typeable.java src/main/java/de/johni0702/minecraft/gui/element/IGuiButton.java src/main/java/de/johni0702/minecraft/gui/function/Tickable.java src/main/java/de/johni0702/minecraft/gui/function/Focusable.java src/main/java/de/johni0702/minecraft/gui/layout/VoidLayoutData.java src/main/java/de/johni0702/minecraft/gui/function/Closeable.java src/main/java/de/johni0702/minecraft/gui/layout/VerticalLayout.java src/main/java/de/johni0702/minecraft/gui/GuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/GuiLabel.java src/main/java/de/johni0702/minecraft/gui/layout/Layout.java src/main/java/de/johni0702/minecraft/gui/MinecraftGuiRenderer.java #122 Use new Gui API for GuiLoginPrompt and GuiRegister (Jonas)job/CPReplayMod/122/changes#detail12015-07-09T16:27:09Z2015-07-09T16:27:09Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java #122 Add tooltips to gui elements (Jonas)job/CPReplayMod/122/changes#detail22015-07-09T16:27:09Z2015-07-09T16:27:09Zsrc/main/java/de/johni0702/minecraft/gui/element/GuiElement.java src/main/java/de/johni0702/minecraft/gui/element/GuiTooltip.java src/main/java/de/johni0702/minecraft/gui/OffsetGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/container/AbstractGuiScreen.java src/main/java/de/johni0702/minecraft/gui/GuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractComposedGuiElement.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiElement.java src/main/java/de/johni0702/minecraft/gui/MinecraftGuiRenderer.java src/main/java/de/johni0702/minecraft/gui/element/AbstractGuiTooltip.java #121 GuiKeyframeRepository always loads the Presets from its current Data set (to respect removed/newly added presets) (CrushedPixel)job/CPReplayMod/121/changes#detail02015-07-09T14:42:24Z2015-07-09T14:42:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #120 Got rid of the OpenEmbeddedChannel, an artifact of the ReplayMod's very beginning. Rest in Peace, old friend. (CrushedPixel)job/CPReplayMod/120/changes#detail02015-07-09T14:34:19Z2015-07-09T14:34:19Zsrc/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #119 Undo replacements of "Timestamp" with "Value" in comments/javadoc in ReplaySender (CrushedPixel)job/CPReplayMod/119/changes#detail02015-07-08T21:56:57Z2015-07-08T21:56:57Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #119 Included Path Interpolation methods in KeyframeList and uses it in PathPreviewRenderer (CrushedPixel)job/CPReplayMod/119/changes#detail12015-07-08T21:56:57Z2015-07-08T21:56:57Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeValue.java src/main/java/eu/crushedpixel/replaymod/holders/Point.java src/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java #117 Finished Layout of GuiObjectManager (CrushedPixel)job/CPReplayMod/117/changes#detail02015-07-08T14:55:37Z2015-07-08T14:55:37Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java #116 Made GuiDropdown a subclass of GuiAdvancedTextfield, updating the Constructor and removing the now redundant GuiConstants entries (CrushedPixel)job/CPReplayMod/116/changes#detail02015-07-08T13:51:47Z2015-07-08T13:51:47Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #115 Made GuiDraggingNumberInput fully functional (CrushedPixel)job/CPReplayMod/115/changes#detail02015-07-08T10:14:26Z2015-07-08T10:14:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/utils/RoundUtils.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #114 Created @Interpolate annotation for Interpolators to know which fields to interpolate (instead of all public fields) (CrushedPixel)job/CPReplayMod/114/changes#detail02015-07-08T09:55:51Z2015-07-08T09:55:51Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeValue.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/interpolation/Interpolate.java src/main/java/eu/crushedpixel/replaymod/holders/Point.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java #114 Made GuiNumberInput a subclass of GuiAdvancedTextField and removed unneccessary IDs from Constructor and GuiConstants (CrushedPixel)job/CPReplayMod/114/changes#detail12015-07-08T09:55:51Z2015-07-08T09:55:51Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/GuiObjectManager.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java #113 Warning, GIGANTIC COMMIT! (CrushedPixel)job/CPReplayMod/113/changes#detail02015-07-08T02:49:16Z2015-07-08T02:49:16Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/holders/ExtendedPosition.java src/main/java/eu/crushedpixel/replaymod/holders/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeValue.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/interpolation/KeyframeList.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetAdder.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/assets/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericLinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/interpolation/Interpolation.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/Transformations.java src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/Point.java src/main/java/eu/crushedpixel/replaymod/holders/TimestampValue.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/interpolation/GenericSplineInterpolation.java #113 Created GuiMarkerTimeline to display Markers again (CrushedPixel)job/CPReplayMod/113/changes#detail12015-07-08T02:49:16Z2015-07-08T02:49:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiMarkerTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/timelines/GuiKeyframeTimeline.java #113 call super in equals/hashCode functions of KeyframesModifyEvent using Lombok (CrushedPixel)job/CPReplayMod/113/changes#detail22015-07-08T02:49:16Z2015-07-08T02:49:16Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java #112 Created Method in ReplayFileAppender to queue all registed files starting with a specific string (e.g. folder name) for deletion (CrushedPixel)job/CPReplayMod/112/changes#detail02015-07-07T18:15:45Z2015-07-07T18:15:45Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #112 Reworked AssetRepository to link every Asset to a UUID (CrushedPixel)job/CPReplayMod/112/changes#detail12015-07-07T18:15:45Z2015-07-07T18:15:45Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java #111 Created AssetFileUtils to provide valid File Extensions for various ReplayAsset implementations. This class has to be updated if new ReplayAsset implementations are added. (CrushedPixel)job/CPReplayMod/111/changes#detail02015-07-07T16:47:05Z2015-07-07T16:47:05Zsrc/main/java/eu/crushedpixel/replaymod/assets/AssetFileUtils.java #111 Created ReplayAsset interface and AssetRepository class which can contain such ReplayAssets. ReplayAssets allow users to add custom Files (so far only images, might be extended by .obj files) to the Replay which will later be used for CustomImageObjects. (CrushedPixel)job/CPReplayMod/111/changes#detail12015-07-07T16:47:05Z2015-07-07T16:47:05Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetManager.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java src/main/java/eu/crushedpixel/replaymod/assets/AssetRepository.java src/main/java/eu/crushedpixel/replaymod/registry/ResourceHelper.java src/main/java/eu/crushedpixel/replaymod/assets/ReplayImageAsset.java src/main/java/eu/crushedpixel/replaymod/utils/BoundingUtils.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/assets/ReplayAsset.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #110 Fixed GuiAdvancedTextField being focusable while disabled. This behaviour was inherited from GuiTextField. (CrushedPixel)job/CPReplayMod/110/changes#detail02015-07-07T15:24:30Z2015-07-07T15:24:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java #109 Removed backVisible field from CustomImageObject (CrushedPixel)job/CPReplayMod/109/changes#detail02015-07-07T15:04:20Z2015-07-07T15:04:20Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/holders/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #108 Updated GuiEntryList to extend GuiAdvancedTextField instead of GuiTextField (CrushedPixel)job/CPReplayMod/108/changes#detail02015-07-07T15:02:55Z2015-07-07T15:02:55Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java #107 Updated ExtendedPosition to include a scale value and added it to GuiAssetAdder (which will be renamed soon) (CrushedPixel)job/CPReplayMod/107/changes#detail02015-07-07T15:00:55Z2015-07-07T15:00:55Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiAssetAdder.java src/main/java/eu/crushedpixel/replaymod/holders/ExtendedPosition.java #106 Added setEnabled() method to GuiElement interface and implemented it everywhere (CrushedPixel)job/CPReplayMod/106/changes#detail02015-07-07T14:56:30Z2015-07-07T14:56:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java #105 Fix toggle buttons no longer working with GuiElement API (Jonas)job/CPReplayMod/105/changes#detail02015-07-07T14:45:50Z2015-07-07T14:45:50Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java #104 Move features from GuiTexturedButton to GuiAdvancedButton (Jonas)job/CPReplayMod/104/changes#detail02015-07-07T14:31:50Z2015-07-07T14:31:50Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java #103 Call super methods in equals and hashCode in ExtendedPosition (Jonas)job/CPReplayMod/103/changes#detail02015-07-07T12:40:40Z2015-07-07T12:40:40Zsrc/main/java/eu/crushedpixel/replaymod/holders/ExtendedPosition.java #102 Set fov modifier during rendering to 1 when in camera view (Jonas)job/CPReplayMod/102/changes#detail02015-07-07T12:35:04Z2015-07-07T12:35:04Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/META-INF/replaymod_at.cfg #101 Pause the recording when the integrated server is paused (Jonas)job/CPReplayMod/101/changes#detail02015-07-07T11:11:14Z2015-07-07T11:11:14Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #100 Fix NPE when there is no hint set (Jonas)job/CPReplayMod/100/changes#detail02015-07-07T10:20:59Z2015-07-07T10:20:59Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java #99 Allow replays to be started by "replay://" URIs (e.g. from browser) (Jonas)job/CPReplayMod/99/changes#detail02015-07-07T09:49:39Z2015-07-07T09:49:39Zsrc/main/java/eu/crushedpixel/replaymod/online/urischeme/UriScheme.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/online/urischeme/OSXUriScheme.java src/main/java/eu/crushedpixel/replaymod/online/urischeme/LinuxUriScheme.java src/main/java/eu/crushedpixel/replaymod/online/urischeme/WindowsUriScheme.java #98 Fixed the "M" key being typed in a TextBox adding/removing marker keyframes (CrushedPixel)job/CPReplayMod/98/changes#detail02015-07-06T14:39:58Z2015-07-06T14:39:58Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java #98 GuiAssetAdder now allows to add/remove/edit Assets in a Replay. These Assets are not being saved yet. (CrushedPixel)job/CPReplayMod/98/changes#detail12015-07-06T14:39:58Z2015-07-06T14:39:58Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetAdder.java src/main/java/eu/crushedpixel/replaymod/utils/RoundUtils.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/holders/GuiEntryListEntry.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInputWithText.java #97 Realign all nametags towards the camera when rendering 360° frames (Jonas)job/CPReplayMod/97/changes#detail02015-07-06T13:53:38Z2015-07-06T13:53:38Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/RenderManagerCT.java #96 Update ReplayStudio: Fix text messages including json quotation marks (Jonas)job/CPReplayMod/96/changes#detail02015-07-06T12:15:32Z2015-07-06T12:15:32Zlibs/replaystudio-0.0.1-SNAPSHOT-all.jar #95 Uses Lombok @NoArgsConstructor annotation instead of manually creating empty constructor in SearchQuery.java (CrushedPixel)job/CPReplayMod/95/changes#detail02015-07-06T11:55:02Z2015-07-06T11:55:02Zsrc/main/java/eu/crushedpixel/replaymod/api/replay/SearchQuery.java #94 Created GuiEntryListEntry interface for GuiEntryList contained classes to avoid toString() methods from having to be abused (CrushedPixel)job/CPReplayMod/94/changes#detail02015-07-06T11:45:02Z2015-07-06T11:45:02Zsrc/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/CustomImageObject.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/FileChooseListener.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiFileChooser.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/gui/GuiAssetAdder.java src/main/java/eu/crushedpixel/replaymod/holders/GuiEntryListStringEntry.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/holders/GuiEntryListEntry.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #93 Fix PathPreviewRenderer's broken Tessellator calls (the result was broken, but because the texture is symmetrical nobody noticed) (CrushedPixel)job/CPReplayMod/93/changes#detail02015-07-05T22:29:11Z2015-07-05T22:29:11Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java #93 Created CustomObjectRenderer to allow for BufferedImages to be rendered at a given Position. This supports Zoom and Rotation on all 3 axes. (CrushedPixel)job/CPReplayMod/93/changes#detail12015-07-05T22:29:11Z2015-07-05T22:29:11Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/registry/ResourceHelper.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/ExtendedPosition.java src/main/java/eu/crushedpixel/replaymod/holders/CustomImageObject.java #92 Deselects Items in List after deleting Replay File using ReplayViewer (CrushedPixel)job/CPReplayMod/92/changes#detail02015-07-05T16:16:31Z2015-07-05T16:16:31Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #92 Doesn't allow rendering if Optifine is installed and shows error screen (CrushedPixel)job/CPReplayMod/92/changes#detail12015-07-05T16:16:31Z2015-07-05T16:16:31Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang #91 Properly multi-threaded File Reloading in GuiReplayViewer | https://trello.com/c/shUBbD2z/ (CrushedPixel)job/CPReplayMod/91/changes#detail02015-07-05T13:36:20Z2015-07-05T13:36:20Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #90 updateCurrentList() Method in GuiReplayCenter properly checks for Thread.interrupted() to avoid long freeze screens when switching Tab (CrushedPixel)job/CPReplayMod/90/changes#detail02015-07-04T23:51:49Z2015-07-04T23:51:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #89 Added Search Tab to Replay Center | https://trello.com/c/13VNghWz/ (CrushedPixel)job/CPReplayMod/89/changes#detail02015-07-04T23:44:14Z2015-07-04T23:44:14Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/api/replay/holders/MinecraftVersion.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/api/replay/SearchQuery.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #88 Only load Replay Files once in Replay Viewer to prevent the loader Thread from clashing with itself (CrushedPixel)job/CPReplayMod/88/changes#detail02015-07-04T20:24:24Z2015-07-04T20:24:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #87 Unescapes HTML Character Entities in API calls | https://trello.com/c/Bm2Rk57m/ (CrushedPixel)job/CPReplayMod/87/changes#detail02015-07-04T19:51:14Z2015-07-04T19:51:14Zsrc/main/java/eu/crushedpixel/replaymod/api/GsonApiClient.java #86 Only limit character count in GuiTextArea if it's positive (CrushedPixel)job/CPReplayMod/86/changes#detail02015-07-04T19:42:09Z2015-07-04T19:42:09Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #86 Properly resize Replay List in Replay Center when resizing the video | https://trello.com/c/AcXGDXYY/ (CrushedPixel)job/CPReplayMod/86/changes#detail12015-07-04T19:42:09Z2015-07-04T19:42:09Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #86 Prevents duplicates from being added when resizing the Replay Viewer (CrushedPixel)job/CPReplayMod/86/changes#detail22015-07-04T19:42:09Z2015-07-04T19:42:09Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #85 Added a way to limit a GuiTextArea's maximum character count and used it in GuiUploadFile's Description Text Area (CrushedPixel)job/CPReplayMod/85/changes#detail02015-07-04T19:16:39Z2015-07-04T19:16:39Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #84 Added Progress Bar and Cancel Button when downloading a Replay File from Replay Center (GuiReplayDownloading) | https://trello.com/c/1ZPhwmp8/ (CrushedPixel)job/CPReplayMod/84/changes#detail02015-07-04T15:13:18Z2015-07-04T15:13:18Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayDownloading.java #83 Added ProgressFilter to allow for more accurate progress bar in GuiReplayEditingProcess and implemented it | https://trello.com/c/qXWxoTc1/ (CrushedPixel)job/CPReplayMod/83/changes#detail02015-07-04T12:55:03Z2015-07-04T12:55:03Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java src/main/java/eu/crushedpixel/replaymod/studio/ProgressFilter.java #83 Fixed https://trello.com/c/wwJ2XyGN/ | Jumping in time also moves cursor on Keyframe Timeline (CrushedPixel)job/CPReplayMod/83/changes#detail12015-07-04T12:55:03Z2015-07-04T12:55:03Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #82 Only rewrites Marker Keyframes in Replay File if they actually changed | https://trello.com/c/tIRxc2lg/ (CrushedPixel)job/CPReplayMod/82/changes#detail02015-07-03T11:04:51Z2015-07-03T11:04:51Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #81 Resets color before drawing Eye Icon in GuiReplayOverlay | https://trello.com/c/IxHVkYQ8/ (CrushedPixel)job/CPReplayMod/81/changes#detail02015-07-03T10:31:26Z2015-07-03T10:31:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #80 Uses ProgressUpdateListener interface in GuiUploadFile (CrushedPixel)job/CPReplayMod/80/changes#detail02015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java #80 Added a way to customize the main Command | https://trello.com/c/PAFUGf6x/ (CrushedPixel)job/CPReplayMod/80/changes#detail12015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang #80 Moved "Main Menu" Button in Replay Center to the right side because it annoyed Hudeler | https://trello.com/c/wUiKfybu/ (CrushedPixel)job/CPReplayMod/80/changes#detail22015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #80 Reworked GuiKeyframeRepository, resolving https://trello.com/c/rEuxk1ls/ (CrushedPixel)job/CPReplayMod/80/changes#detail32015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #80 Declared several variables in Method declaration final to make the code Java 1.6 compatible (CrushedPixel)job/CPReplayMod/80/changes#detail42015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #80 Cleaned up ReplaySettings code (added @Override annotations, removed non-static calls to static variable) (CrushedPixel)job/CPReplayMod/80/changes#detail52015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java #80 Added clearKeyframesCallback Replay Setting to determine whether a confirmation screen will be opened before clearing Keyframes using 'c' (CrushedPixel)job/CPReplayMod/80/changes#detail62015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/resources/assets/replaymod/lang/en_US.lang #80 Added Clean Callback Setting to GuiReplaySettings (CrushedPixel)job/CPReplayMod/80/changes#detail72015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #80 Added Callback before clearing Keyframes | https://trello.com/c/ZzOk0ju1/ (CrushedPixel)job/CPReplayMod/80/changes#detail82015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java #80 Made GuiKeyframeRepository a lot slimmer (it's so sexy now *__*) (CrushedPixel)job/CPReplayMod/80/changes#detail92015-07-03T10:26:16Z2015-07-03T10:26:16Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #78 Added new Gui with Progress Bar when editing a Replay using the ReplayEditor | https://trello.com/c/uGFDgv6E/ (CrushedPixel)job/CPReplayMod/78/changes#detail02015-07-02T21:08:23Z2015-07-02T21:08:23Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiStudioPart.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditingProcess.java src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/ProgressUpdateListener.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiProgressBar.java #77 Fixed the GuiLoadingListEntry in the ReplayViewer List being removed at a completely wrong time | https://trello.com/c/O26k7DTC/ (CrushedPixel)job/CPReplayMod/77/changes#detail02015-07-02T13:09:07Z2015-07-02T13:09:07Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #76 Only rewrite Replay Files once after Replay is closed, in order to prevent rewriting the Replay multiple times (e.g. if a Thumbnail gets added while viewing it and the Markers are added upon exiting). This also fixes the Windows File System not allowing the Replay Mod to delete the original .mcpr file because it thinks that it's still being edited. (CrushedPixel)job/CPReplayMod/76/changes#detail02015-07-02T12:41:02Z2015-07-02T12:41:02Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #76 Optimized Aspect Ratio Calculation in ReplayScreenshot to replace 1280/720 with 16/9 (CrushedPixel)job/CPReplayMod/76/changes#detail12015-07-02T12:41:02Z2015-07-02T12:41:02Zsrc/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java #75 Opens "Please wait" GUI Screen if Replay needs to be edited by ReplayFileAppender (CrushedPixel)job/CPReplayMod/75/changes#detail02015-07-02T11:25:42Z2015-07-02T11:25:42Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/ReplayExitEvent.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java #75 Made custom command line arguments respect placeholders like %FPS% (CrushedPixel)job/CPReplayMod/75/changes#detail12015-07-02T11:25:42Z2015-07-02T11:25:42Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #74 Enabled Keyboard.enableRepeatEvents in GuiRenderSettings (CrushedPixel)job/CPReplayMod/74/changes#detail02015-07-01T19:13:11Z2015-07-01T19:13:11Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #73 Created installation scripts for Windows and Unix to automatically set the ffmpeg PATH variables (CrushedPixel)job/CPReplayMod/73/changes#detail02015-07-01T13:27:35Z2015-07-01T13:27:35Zffmpeg-install-scripts/ffmpeg-path-installer.bat ffmpeg-install-scripts/ffmpeg-path-installer.sh #72 Added Support for custom ffmpeg Command Line Arguments when Rendering a Video | https://trello.com/c/69CNoWuA/ (CrushedPixel)job/CPReplayMod/72/changes#detail02015-07-01T11:28:55Z2015-07-01T11:28:55Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #71 Revert parts of "Finally gave up on trying to inject YouTube 360° Metadata into Videos and removed respective Checkbox in GuiRenderSettings" (Jonas)job/CPReplayMod/71/changes#detail02015-06-30T16:21:24Z2015-06-30T16:21:24Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #70 Finally gave up on trying to inject YouTube 360° Metadata into Videos and removed respective Checkbox in GuiRenderSettings (CrushedPixel)job/CPReplayMod/70/changes#detail02015-06-30T16:10:49Z2015-06-30T16:10:49Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #69 Fix buttons in replay settings toggling twice (Jonas)job/CPReplayMod/69/changes#detail02015-06-30T16:09:44Z2015-06-30T16:09:44Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java #68 Update ReplayStudio version to fix OOM with Hypixel replays due to high number of ServerMapDataPackets (Jonas)job/CPReplayMod/68/changes#detail02015-06-30T15:15:29Z2015-06-30T15:15:29Zlibs/replaystudio-0.0.1-SNAPSHOT-all.jar #67 RenderSettings: The Render Method Dropdown Listener calls the Y Resolution Input's moveCursorBy() Method to recalculate the aspect ratio if neccessary, resolving https://trello.com/c/unn8VGbf/ (CrushedPixel)job/CPReplayMod/67/changes#detail02015-06-30T13:00:34Z2015-06-30T13:00:34Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #66 Created a Method to play Sounds directly from .wav files instead of using the buggy Minecraft Sound System and uses it in SoundHandler#playRenderSuccessSound(), fixing https://trello.com/c/d8hDHkc5/ (CrushedPixel)job/CPReplayMod/66/changes#detail02015-06-30T12:49:24Z2015-06-30T12:49:24Zsrc/main/resources/assets/replaymod/sounds/renderSuccess.ogg src/main/resources/assets/replaymod/renderSuccess.wav src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java src/main/resources/assets/replaymod/sounds.json #65 Play the replay a few ticks in advance of the video to work around entity interpolation (Jonas)job/CPReplayMod/65/changes#detail02015-06-30T11:02:24Z2015-06-30T11:02:24Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #64 If rendering crashes while initializing, an Error Screen telling the user to install ffmpeg is displayed | https://trello.com/c/EDDIqP0V/ (CrushedPixel)job/CPReplayMod/64/changes#detail02015-06-29T23:34:03Z2015-06-29T23:34:03Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/resources/assets/replaymod/lang/en_US.lang #64 Added Bitrate Input Field for GuiRenderSettings (CrushedPixel)job/CPReplayMod/64/changes#detail12015-06-29T23:34:03Z2015-06-29T23:34:03Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #63 Compare int and Integer using Objects.equals to prevent NPE (Jonas)job/CPReplayMod/63/changes#detail02015-06-29T20:31:43Z2015-06-29T20:31:43Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java #62 Lombokize FileRating (Jonas)job/CPReplayMod/62/changes#detail02015-06-29T20:05:03Z2015-06-29T20:05:03Zsrc/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileRating.java src/main/java/eu/crushedpixel/replaymod/registry/RatedFileHandler.java #61 Reduce object creation during rendering of path preview (Jonas)job/CPReplayMod/61/changes#detail02015-06-29T19:48:08Z2015-06-29T19:48:08Zsrc/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java #61 Fix all warnings (Jonas)job/CPReplayMod/61/changes#detail12015-06-29T19:48:08Z2015-06-29T19:48:08Zsrc/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHash.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/UserFiles.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/api/mojang/MojangApiMethods.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileRating.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Textures.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/api/replay/pagination/Pagination.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/api/QueryBuilder.java src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java src/main/java/eu/crushedpixel/replaymod/recording/PacketSerializer.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/RatedFiles.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiOnOffButton.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/AuthKey.java src/main/java/eu/crushedpixel/replaymod/registry/RatedFileHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Success.java src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/timer/EnchantmentTimer.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiSettingsOnOffButton.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/TextureValue.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java src/main/java/eu/crushedpixel/replaymod/registry/PlayerHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java src/main/java/eu/crushedpixel/replaymod/utils/ZipFileUtils.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Properties.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Donated.java src/main/java/eu/crushedpixel/replaymod/gui/GuiHelpOverlay.java build.gradle src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/SearchResult.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/api/mojang/SkinDownloader.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/UrlHolder.java src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java src/main/java/eu/crushedpixel/replaymod/api/GsonApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileInfo.java src/main/java/eu/crushedpixel/replaymod/api/ApiException.java src/main/java/eu/crushedpixel/replaymod/api/SimpleApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/video/ScreenCapture.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/registry/UploadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Favorites.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Profile.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/utils/StreamTools.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/utils/EmailAddressUtils.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiLoadingListEntry.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/api/replay/SearchQuery.java src/main/java/eu/crushedpixel/replaymod/studio/VersionValidator.java src/main/java/eu/crushedpixel/replaymod/holders/PacketData.java src/main/java/eu/crushedpixel/replaymod/replay/TimeHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java src/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java src/main/java/eu/crushedpixel/replaymod/holders/PlayerVisibility.java src/main/java/eu/crushedpixel/replaymod/coremod/EnchantmentTimerCT.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Rating.java src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/AuthConfirmation.java src/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #60 Allow Camera Tilt Reset while other Keys (e.g. Movement) are pressed (CrushedPixel)job/CPReplayMod/60/changes#detail02015-06-29T19:25:17Z2015-06-29T19:25:17Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java #59 Prevent ArrayIndexOutOfBoundsException when loading a newly created Camera Path by loading it from the dirty version | https://trello.com/c/WPikP6ig/ (CrushedPixel)job/CPReplayMod/59/changes#detail02015-06-29T14:04:32Z2015-06-29T14:04:32Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #58 Updated FileRating Holder class to fit updated get_ratings API call which now returns a boolean instead of numeric string (CrushedPixel)job/CPReplayMod/58/changes#detail02015-06-29T14:02:47Z2015-06-29T14:02:47Zsrc/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileRating.java #57 Does not render Player's item/hand if Spectating a Spectator Mode Player (CrushedPixel)job/CPReplayMod/57/changes#detail02015-06-29T13:45:57Z2015-06-29T13:45:57Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #56 Does not render Players at all if they're invisible (e.g. Spectator Mode) - resolving https://trello.com/c/Hy1NaAKu/ (CrushedPixel)job/CPReplayMod/56/changes#detail02015-06-29T13:44:17Z2015-06-29T13:44:17Zsrc/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java src/main/java/eu/crushedpixel/replaymod/events/handlers/SpectatingHandler.java #55 While Recording, only insert S19PacketEntityHeadLook for recording player if value actually changed | https://trello.com/c/9MZeTBgj/ (CrushedPixel)job/CPReplayMod/55/changes#detail02015-06-29T13:35:27Z2015-06-29T13:35:27Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java #54 Added a static helper class to determine whether an Entity can be spectated or not - this results in DRY code. While doing so, excluded mc.thePlayer from the spectateable Entities, resolving https://trello.com/c/anFRmsfM/ (CrushedPixel)job/CPReplayMod/54/changes#detail02015-06-29T13:23:07Z2015-06-29T13:23:07Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/CrosshairRenderHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/SpectatingHandler.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java #53 Only displays Crosshair if hovered entity can be spectated | https://trello.com/c/CJBVrB2O/ (CrushedPixel)job/CPReplayMod/53/changes#detail02015-06-29T13:07:37Z2015-06-29T13:07:37Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/CrosshairRenderHandler.java #52 Fix race condition causing timestamps to be written in reverse order (Jonas)job/CPReplayMod/52/changes#detail02015-06-29T13:02:07Z2015-06-29T13:02:07Zsrc/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java #51 Only render Crosshair if hovered Entity can be spectated | https://trello.com/c/CJBVrB2O/ (CrushedPixel)job/CPReplayMod/51/changes#detail02015-06-29T12:31:57Z2015-06-29T12:31:57Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/handlers/CrosshairRenderHandler.java #50 Updated ChatMessageHandler to use Minecraft's Chat Component System instead of Strings with Color Codes | https://trello.com/c/jdl5t5Wj/ (CrushedPixel)job/CPReplayMod/50/changes#detail02015-06-29T11:44:52Z2015-06-29T11:44:52Zsrc/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java #50 Requires at least two Position one Time Keyframe for Camera Paths/Rendering | https://trello.com/c/qJZSno6o/ (CrushedPixel)job/CPReplayMod/50/changes#detail12015-06-29T11:44:52Z2015-06-29T11:44:52Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #49 Use ffmpeg for video exporting (default webm) (Jonas)job/CPReplayMod/49/changes#detail02015-06-29T11:19:27Z2015-06-29T11:19:27Zsrc/main/java/eu/crushedpixel/replaymod/utils/StreamPipe.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java libs/monte-cc.jar src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/utils/StringUtils.java #48 Rewrote Camera Movement to only respect previous motion direction | Fixes https://trello.com/c/y7nIqj47/ (CrushedPixel)job/CPReplayMod/48/changes#detail02015-06-29T10:55:17Z2015-06-29T10:55:17Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java #47 Executes mc.refreshResources() in main thread to fix ConcurrentModificationExceptions | https://trello.com/c/4gBrdiyB/104 (CrushedPixel)job/CPReplayMod/47/changes#detail02015-06-29T10:30:32Z2015-06-29T10:30:32Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #46 Fixed https://trello.com/c/SHnKmEbd/108 (Spectating Players isn't possible using right click) (CrushedPixel)job/CPReplayMod/46/changes#detail02015-06-29T10:26:02Z2015-06-29T10:26:02Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java #46 Implemented https://trello.com/c/zflHjAQm/109 | Make Spectating possible using left mouse button ("normal" Spectator Mode behaviour) (CrushedPixel)job/CPReplayMod/46/changes#detail12015-06-29T10:26:02Z2015-06-29T10:26:02Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java #45 Open OOM gui screen instead of crash report on OOM (Jonas)job/CPReplayMod/45/changes#detail02015-06-29T07:55:36Z2015-06-29T07:55:36Zsrc/main/java/eu/crushedpixel/replaymod/timer/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #44 Disable recording of debug worlds (Jonas)job/CPReplayMod/44/changes#detail02015-06-28T17:50:35Z2015-06-28T17:50:35Zsrc/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #43 Fix particle alignment during default rendering by not using ActiveRenderInfo but instead calculating it ourselves (Jonas)job/CPReplayMod/43/changes#detail02015-06-28T16:30:25Z2015-06-28T16:30:25Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java #42 Realign all particles towards the camera when rendering 360° frames (Jonas)job/CPReplayMod/42/changes#detail02015-06-28T16:14:20Z2015-06-28T16:14:20Zsrc/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java #41 Added try/catch block around Language Pack downloader in build.gradle to allow building even if ReplayMod.com is offline (thanks Julian) (CrushedPixel)job/CPReplayMod/41/changes#detail02015-06-24T15:56:07Z2015-06-24T15:56:07Zbuild.gradle #41 Prevented repeated Freezes caused by LocalizedResourcePack if ReplayMod.com is not available (CrushedPixel)job/CPReplayMod/41/changes#detail12015-06-24T15:56:07Z2015-06-24T15:56:07Zsrc/main/java/eu/crushedpixel/replaymod/localization/LocalizedResourcePack.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #40 Added Render Success Sound Effect (CrushedPixel)job/CPReplayMod/40/changes#detail02015-06-22T11:20:27Z2015-06-22T11:20:27Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/sounds/renderSuccess.ogg src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/assets/replaymod/sounds.json #40 Fixed possible NPE in Minecraft#sendClickBlockToController caused by MinecraftTicker (CrushedPixel)job/CPReplayMod/40/changes#detail12015-06-22T11:20:27Z2015-06-22T11:20:27Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java #39 Prevented NPE in StringUtils#splitStringInMultipleRows (CrushedPixel)job/CPReplayMod/39/changes#detail02015-06-18T14:03:19Z2015-06-18T14:03:19Zsrc/main/java/eu/crushedpixel/replaymod/utils/StringUtils.java #39 Timelines now only jump when left-clicked, and jumping to a Marker is done via right-click (CrushedPixel)job/CPReplayMod/39/changes#detail12015-06-18T14:03:19Z2015-06-18T14:03:19Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java #39 Added Keyframe type dependant title to GuiEditKeyframe (CrushedPixel)job/CPReplayMod/39/changes#detail22015-06-18T14:03:19Z2015-06-18T14:03:19Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/resources/assets/replaymod/lang/en_US.lang #39 Added compatibility with GuiTextField#drawTextBox() method in GuiAdvancedTextField (CrushedPixel)job/CPReplayMod/39/changes#detail32015-06-18T14:03:19Z2015-06-18T14:03:19Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java #38 Replay Timeline doesn't draw blue Spectator Keyframes connections anymore (CrushedPixel)job/CPReplayMod/38/changes#detail02015-06-18T10:04:59Z2015-06-18T10:04:59Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java #37 Adapted improved Password requirements (up to 32 instead of up to 16 characters) (CrushedPixel)job/CPReplayMod/37/changes#detail02015-06-17T10:06:37Z2015-06-17T10:06:37Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/resources/assets/replaymod/lang/en_US.lang #36 Improve cubic to equirectangular conversion by only computing pixel locations once (Jonas)job/CPReplayMod/36/changes#detail02015-06-17T08:23:42Z2015-06-17T08:23:42Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/video/frame/EquirectangularFrameRenderer.java #35 Properly resets GuiReplaySpeedSlider's text value when calling reset() function (CrushedPixel)job/CPReplayMod/35/changes#detail02015-06-16T20:37:31Z2015-06-16T20:37:31Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java #35 Removed unused MarkerButton code from GuiReplayOverlay (CrushedPixel)job/CPReplayMod/35/changes#detail12015-06-16T20:37:31Z2015-06-16T20:37:31Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #35 Only allows Living Entities and Paintings to be spectated (CrushedPixel)job/CPReplayMod/35/changes#detail22015-06-16T20:37:31Z2015-06-16T20:37:31Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java #35 Removed debug message in GuiPlayerOverview (CrushedPixel)job/CPReplayMod/35/changes#detail32015-06-16T20:37:31Z2015-06-16T20:37:31Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java #34 Made Advanced Settings ToggleButtons toggleable (Path Interpolation and Force Render Chunks setting) (CrushedPixel)job/CPReplayMod/34/changes#detail02015-06-16T19:41:26Z2015-06-16T19:41:26Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #33 Custom Key inputs are only handled when no GUI (or GuiMouseInput) open (CrushedPixel)job/CPReplayMod/33/changes#detail02015-06-16T19:36:56Z2015-06-16T19:36:56Zsrc/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java #32 Fix crash on exit of replay (no longer processing clicks mid-rendering) and OpenGL error warnings (Jonas)job/CPReplayMod/32/changes#detail02015-06-16T17:34:00Z2015-06-16T17:34:00Zsrc/main/java/eu/crushedpixel/replaymod/timer/MCTimerHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/video/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/timer/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #31 Disabled Upload Button in Replay Viewer by Default (to prevent ArrayIndexOutOfBoundsException) (CrushedPixel)job/CPReplayMod/31/changes#detail02015-06-15T21:17:24Z2015-06-15T21:17:24Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java #30 Added PathPreviewRenderer to draw a Preview of the current Camera Path into the World (Jonas)job/CPReplayMod/30/changes#detail02015-06-15T13:01:08Z2015-06-15T13:01:08Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiSettingsOnOffButton.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiOnOffButton.java #30 Added Keybinding to toggle Path Preview Visibility (Jonas)job/CPReplayMod/30/changes#detail12015-06-15T13:01:08Z2015-06-15T13:01:08Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #30 Passes File Description to API when Uploading (Jonas)job/CPReplayMod/30/changes#detail22015-06-15T13:01:08Z2015-06-15T13:01:08Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java #29 Refactored GuiTextArea#getTextWithNewlines() (CrushedPixel)job/CPReplayMod/29/changes#detail02015-06-15T12:10:03Z2015-06-15T12:10:03Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #28 Undid useless Array instantiation (CrushedPixel)job/CPReplayMod/28/changes#detail02015-06-15T12:03:58Z2015-06-15T12:03:58Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #27 Passes File Description to API when Uploading (CrushedPixel)job/CPReplayMod/27/changes#detail02015-06-15T12:00:43Z2015-06-15T12:00:43Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java #26 Added Keybinding to toggle Path Preview Visibility (CrushedPixel)job/CPReplayMod/26/changes#detail02015-06-15T09:56:13Z2015-06-15T09:56:13Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #25 Cleaned up aftermath of previous merge (CrushedPixel)job/CPReplayMod/25/changes#detail02015-06-15T09:46:28Z2015-06-15T09:46:28Zsrc/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java #24 Added PathPreviewRenderer to draw a Preview of the current Camera Path into the World (CrushedPixel)job/CPReplayMod/24/changes#detail02015-06-15T09:42:03Z2015-06-15T09:42:03Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java src/main/java/eu/crushedpixel/replaymod/events/handlers/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/events/KeyframesModifyEvent.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiSettingsOnOffButton.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MinecraftTicker.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/events/handlers/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/events/handlers/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiOnOffButton.java #23 Add GuiTextArea (Jonas)job/CPReplayMod/23/changes#detail02015-06-14T13:56:51Z2015-06-14T13:56:51Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiString.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Category.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTextArea.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedCheckBox.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #23 Remove unused method in GuiTimeline (Jonas)job/CPReplayMod/23/changes#detail12015-06-14T13:56:51Z2015-06-14T13:56:51Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #22 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 (CrushedPixel)job/CPReplayMod/22/changes#detail02015-06-14T08:43:05Z2015-06-14T08:43:05Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/replay_gui.png #21 Got rid of cancerous Cloneable interface and fixed possible NPE when cloning a Position Keyframe (CrushedPixel)job/CPReplayMod/21/changes#detail02015-06-12T21:28:52Z2015-06-12T21:28:52Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java #21 Fixed possible NPEs if Keyframes in List being null (CrushedPixel)job/CPReplayMod/21/changes#detail12015-06-12T21:28:52Z2015-06-12T21:28:52Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java #21 Malformed Metadata files don't make the GuiReplayListEntry spam error messages anymore (CrushedPixel)job/CPReplayMod/21/changes#detail22015-06-12T21:28:52Z2015-06-12T21:28:52Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java #20 Changed KeyInputHandler not to oppress Key Inputs when not in Replay (CrushedPixel)job/CPReplayMod/20/changes#detail02015-06-12T20:50:37Z2015-06-12T20:50:37Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #20 Prevented NPE in GuiReplayListEntry draw method (CrushedPixel)job/CPReplayMod/20/changes#detail12015-06-12T20:50:37Z2015-06-12T20:50:37Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java #19 Add method to TooltipRenderer which accepts Color instead of ARGB int (Jonas)job/CPReplayMod/19/changes#detail02015-06-10T16:49:08Z2015-06-10T16:49:08Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/utils/TooltipRenderer.java #18 Marker names are now being displayed when hovering over them (CrushedPixel)job/CPReplayMod/18/changes#detail02015-06-10T14:44:43Z2015-06-10T14:44:43Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #17 Markers can now be removed using the M key (in the replay) (CrushedPixel)job/CPReplayMod/17/changes#detail02015-06-09T21:22:41Z2015-06-09T21:22:41Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #16 Markers are now being saved upon exiting the Replay (CrushedPixel)job/CPReplayMod/16/changes#detail02015-06-09T21:16:56Z2015-06-09T21:16:56Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #15 Keyframe Presets now ignore Marker Keyframes and those are not overwritten when loading a preset (CrushedPixel)job/CPReplayMod/15/changes#detail02015-06-09T21:05:46Z2015-06-09T21:05:46Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #15 Took Moesh trolling to the next level (CrushedPixel)job/CPReplayMod/15/changes#detail12015-06-09T21:05:46Z2015-06-09T21:05:46Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #14 Markers are now subclasses of Keyframe (CrushedPixel)job/CPReplayMod/14/changes#detail02015-06-09T20:55:36Z2015-06-09T20:55:36Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/holders/Marker.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/holders/MarkerKeyframe.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #13 Added Event Markers to Replay, which allow players to quickly mark important events while recording (M key by default) (CrushedPixel)job/CPReplayMod/13/changes#detail02015-06-09T14:08:30Z2015-06-09T14:08:30Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/holders/Marker.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #12 Added support for Descriptions in API Client (CrushedPixel)job/CPReplayMod/12/changes#detail02015-06-04T17:26:47Z2015-06-04T17:26:47Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #11 The Replay Viewer now loads its entries asynchronously to prevent Minecraft from freezing whenever the Replay Viewer is opened (CrushedPixel)job/CPReplayMod/11/changes#detail02015-06-04T16:00:02Z2015-06-04T16:00:02Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiLoadingListEntry.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #11 Set maximum username length to 16 (CrushedPixel)job/CPReplayMod/11/changes#detail12015-06-04T16:00:02Z2015-06-04T16:00:02Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java #11 Fix relative coordinates being taken as absolute (Jonas)job/CPReplayMod/11/changes#detail22015-06-04T16:00:02Z2015-06-04T16:00:02Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Removed unnecessary reloading of GuiReplayCenter (CrushedPixel)job/CPReplayMod/10/changes#detail02015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #10 Matched API Client to online API return values and calls: (CrushedPixel)job/CPReplayMod/10/changes#detail12015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/client/holders/FileInfo.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java #10 Added get_favorites API call to ApiClient (CrushedPixel)job/CPReplayMod/10/changes#detail22015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/client/holders/Favorites.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java #10 Added Pagination Handlers for the Replay Center (CrushedPixel)job/CPReplayMod/10/changes#detail32015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/client/pagination/DownloadedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/client/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/Pagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/FavoritedFilePagination.java #10 Fitted ApiClient to online API (CrushedPixel)job/CPReplayMod/10/changes#detail42015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/client/SimpleApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java #10 Added "Downloaded" Tab to Replay Center to be able to open downloaded replays (CrushedPixel)job/CPReplayMod/10/changes#detail52015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/client/pagination/DownloadedFilePagination.java src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/FavoritedFilePagination.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #10 Fixed Pagination not being updated correctly (CrushedPixel)job/CPReplayMod/10/changes#detail62015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiLoadingListEntry.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/FavoritedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/Pagination.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/registry/FavoritedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #10 Indicates current Tab in the Replay Center by deactivating the according button (CrushedPixel)job/CPReplayMod/10/changes#detail72015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java #10 Prevent constant NPE exceptions being thrown and ignored (which caused extremely high CPU load) (Jonas)job/CPReplayMod/10/changes#detail82015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java #10 Added support for Mojang API calls in ApiClient (CrushedPixel)job/CPReplayMod/10/changes#detail92015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Properties.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Donated.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/UserFiles.java src/main/java/eu/crushedpixel/replaymod/api/client/SimpleApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/ReplayModApiMethods.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Category.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/SearchResult.java src/main/java/eu/crushedpixel/replaymod/api/mojang/SkinDownloader.java src/main/java/eu/crushedpixel/replaymod/api/client/QueryBuilder.java src/main/java/eu/crushedpixel/replaymod/api/client/GsonApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiException.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Rating.java src/main/java/eu/crushedpixel/replaymod/api/replay/pagination/DownloadedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/UrlHolder.java src/main/java/eu/crushedpixel/replaymod/api/mojang/MojangApiMethods.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Textures.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileInfo.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/FileInfo.java src/main/java/eu/crushedpixel/replaymod/api/GsonApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/pagination/Pagination.java src/main/java/eu/crushedpixel/replaymod/api/ApiException.java src/main/java/eu/crushedpixel/replaymod/api/SimpleApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/api/QueryBuilder.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/UserFiles.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/DownloadedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Favorites.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/AuthKey.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Category.java src/main/java/eu/crushedpixel/replaymod/api/replay/pagination/FavoritedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/Profile.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Success.java src/main/java/eu/crushedpixel/replaymod/api/replay/pagination/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/Pagination.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/SearchResult.java src/main/java/eu/crushedpixel/replaymod/api/client/SearchQuery.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/FileUploader.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/mojang/holders/TextureValue.java src/main/java/eu/crushedpixel/replaymod/api/replay/SearchQuery.java src/main/java/eu/crushedpixel/replaymod/api/client/pagination/FavoritedFilePagination.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthConfirmation.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Success.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthKey.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Rating.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Donated.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/AuthConfirmation.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Favorites.java #10 Replaced Spectate Selection GUI with Player Overview GUI, added way to hide specific players (CrushedPixel)job/CPReplayMod/10/changes#detail102015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/spectate/SpectateHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/registry/PlayerHandler.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #10 Started creating GuiEditKeyframe (CrushedPixel)job/CPReplayMod/10/changes#detail112015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/registry/FavoritedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #10 Added Option to save Player Visibility Settings in Replay (CrushedPixel)job/CPReplayMod/10/changes#detail122015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/holders/PlayerVisibility.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/registry/PlayerHandler.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #10 DRYed ReplayFileIO code to add/remove files from Replay File (CrushedPixel)job/CPReplayMod/10/changes#detail132015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #10 Moved ResourceHelper to registry package (CrushedPixel)job/CPReplayMod/10/changes#detail142015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java src/main/java/eu/crushedpixel/replaymod/registry/ResourceHelper.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/utils/ResourceHelper.java #10 Keyframes are now moveable by dragging them on the real timeline (CrushedPixel)job/CPReplayMod/10/changes#detail152015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java #10 Renamed "Camera Tilt" to "Camera Roll" (new naming convention!) (CrushedPixel)job/CPReplayMod/10/changes#detail162015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/coremod/ClassTransformer.java src/main/java/eu/crushedpixel/replaymod/coremod/CameraRollCT.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/coremod/CameraTiltingCT.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/coremod/EnchantmentTimerCT.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/utils/TimestampUtils.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #10 GuiEditKeyframe now allows the user to set the Keyframe's exact position on the timeline (CrushedPixel)job/CPReplayMod/10/changes#detail172015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java #10 Implemented Left and Right Direction GuiArrowButton (CrushedPixel)job/CPReplayMod/10/changes#detail182015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiEditKeyframe.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java #10 Fixed NPE when using wrong instance check (It was late, don't blame me) (CrushedPixel)job/CPReplayMod/10/changes#detail192015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java #10 Do not render additional frames while jumping (Jonas)job/CPReplayMod/10/changes#detail202015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang #10 Pause after synchronous jumping (Jonas)job/CPReplayMod/10/changes#detail212015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java #10 Rework rendering (Jonas)job/CPReplayMod/10/changes#detail222015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/CameraRollCT.java src/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/video/frame/DefaultFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/video/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/video/frame/StereoscopicFrameRenderer.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/java/eu/crushedpixel/replaymod/video/frame/EquirectangularFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/TilingFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/interpolation/Interpolation.java src/main/java/eu/crushedpixel/replaymod/video/entity/TilingEntityRenderer.java src/main/resources/assets/replaymod/logo.jpg src/main/java/eu/crushedpixel/replaymod/video/frame/CubicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/utils/JailingQueue.java src/main/java/eu/crushedpixel/replaymod/timer/MCTimerHandler.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java #10 Added GuiRenderSettings to customize rendering (CrushedPixel)job/CPReplayMod/10/changes#detail232015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java #10 Fixed NoSuchFieldError in SplinePoint class (CrushedPixel)job/CPReplayMod/10/changes#detail242015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java #10 Localized GuiVideoRenderer (CrushedPixel)job/CPReplayMod/10/changes#detail252015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang #10 Centered Elements of GuiRenderSettings (CrushedPixel)job/CPReplayMod/10/changes#detail262015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #10 Excluded CameraEntity from rendered Entities (untested) (CrushedPixel)job/CPReplayMod/10/changes#detail272015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java #10 Excluded mc.thePlayer from being rendered (CrushedPixel)job/CPReplayMod/10/changes#detail282015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #10 Prevented NPE when moving watched Objects to DataWatcher (CrushedPixel)job/CPReplayMod/10/changes#detail292015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java #10 Fix entities not being rendered in the first frame (Jonas)job/CPReplayMod/10/changes#detail302015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/META-INF/replaymod_at.cfg #10 Adjusted ApiClient to support "unrating" files (CrushedPixel)job/CPReplayMod/10/changes#detail312015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/replay/holders/Rating.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java #10 Replay is now definitely exited once a Player returns to the Main screen (CrushedPixel)job/CPReplayMod/10/changes#detail322015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #10 Added support for get_ratings API call to retrieve list of liked/disliked files (CrushedPixel)job/CPReplayMod/10/changes#detail332015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/api/replay/ReplayModApiMethods.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileRating.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/RatedFiles.java #10 Close downloading-terrain-screen when swallowing the PlayerPosLook packet (Jonas)job/CPReplayMod/10/changes#detail342015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 You can now Like/Dislike files from the Replay Center (CrushedPixel)job/CPReplayMod/10/changes#detail352015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/replay/holders/Rating.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/registry/RatedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/ApiError.java #10 Set name of unnamed threads (Jonas)job/CPReplayMod/10/changes#detail362015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Use ASM instead of inheritance to override methods in RenderGlobal (Jonas)job/CPReplayMod/10/changes#detail372015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/ForceChunkLoadingCT.java src/main/java/eu/crushedpixel/replaymod/renderer/ChunkLoadingRenderGlobal.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java #10 Fix force chunk loading class transformer for obfuscated environments (Jonas)job/CPReplayMod/10/changes#detail382015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/coremod/ForceChunkLoadingCT.java #10 Started implementing Spectator Hand Rendering (CrushedPixel)job/CPReplayMod/10/changes#detail392015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/RatedFileHandler.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/FileRating.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/registry/FavoritedFileHandler.java #10 Prevented NPEs in PacketSpawnMob and PacketSpawnPlayer by inserting dummy values. (CrushedPixel)job/CPReplayMod/10/changes#detail402015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java #10 Spectating a Player now displays his Hand/Item (CrushedPixel)job/CPReplayMod/10/changes#detail412015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 Added SkinProvider to provide loaded Skins for loaded Players in a Replay (CrushedPixel)job/CPReplayMod/10/changes#detail422015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/utils/SkinProvider.java #10 Made SpectatorRenderer code readable for the average human who does not happen to know all of the MCPBot's field and function name translations. (CrushedPixel)job/CPReplayMod/10/changes#detail432015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/resources/META-INF/replaymod_at.cfg #10 Cleanup, relocate and split up GuiReplayOverlay (Jonas)job/CPReplayMod/10/changes#detail442015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java src/main/resources/assets/replaymod/extended_gui.png src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiRecordingOverlay.java src/main/resources/assets/replaymod/timeline_icons.png src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #10 Fix compile error (missing method, removed in 9f3a97f) (Jonas)job/CPReplayMod/10/changes#detail452015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java #10 Remove unnecessary mouse movements (Jonas)job/CPReplayMod/10/changes#detail462015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #10 Add preview to default frame renderer (Jonas)job/CPReplayMod/10/changes#detail472015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/frame/DefaultFrameRenderer.java #10 Always use custom entity renderer for improved performance and consistency (Jonas)job/CPReplayMod/10/changes#detail482015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java #10 Removed Reflection Classes from Source entirely (CrushedPixel)job/CPReplayMod/10/changes#detail492015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/fields.csv src/main/resources/methods.csv src/main/java/eu/crushedpixel/replaymod/registry/ResourceHelper.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/resources/META-INF/replaymod_at.cfg src/main/resources/params.csv src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/reflection/MCPNames.java #10 Only render overlay gui once (Jonas)job/CPReplayMod/10/changes#detail502015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiRecordingOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #10 Since the Register API call now requires the client's access token in order to validate his Minecraft login, it is now being provided. (CrushedPixel)job/CPReplayMod/10/changes#detail512015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java #10 Replaced insecure Minecraft account authentication with server join technique (CrushedPixel)job/CPReplayMod/10/changes#detail522015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHash.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/api/mojang/MojangApiMethods.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java #10 Fix partial render ticks being reset during sync packet sending (Jonas)job/CPReplayMod/10/changes#detail532015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Added Code to troll Moesh (CrushedPixel)job/CPReplayMod/10/changes#detail542015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 Allow for simpler repositioning of the preview (Jonas)job/CPReplayMod/10/changes#detail552015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #10 Fix entity metadata recording in spawn packets (Jonas)job/CPReplayMod/10/changes#detail562015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java #10 Save resource packs to replay file and use those during replay (Jonas)job/CPReplayMod/10/changes#detail572015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Fix missing resource packs if URL contains redirect (e.g. Hypixel) (Jonas)job/CPReplayMod/10/changes#detail582015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/api/SimpleApiClient.java #10 Commented Donator check (CrushedPixel)job/CPReplayMod/10/changes#detail592015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 Added GuiProgressBar and implemented it in GuiUploadFile (CrushedPixel)job/CPReplayMod/10/changes#detail602015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiProgressBar.java #10 Added optional parameter to GuiProgressBar to be able to customize the progress text (CrushedPixel)job/CPReplayMod/10/changes#detail612015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiProgressBar.java #10 Fixed NPE in GuiReplayEditor when no Replays are available (returns to main menu) (CrushedPixel)job/CPReplayMod/10/changes#detail622015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiStudioPart.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiStudioPart.java #10 Do not close replay if an exception is caught processing a packet (Jonas)job/CPReplayMod/10/changes#detail632015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #10 If resource pack is not located within replay file, fall back to minecraft handling (Jonas)job/CPReplayMod/10/changes#detail642015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Added Spectator Keyframes and handles them properly in both normal and rendered Replay Paths (CrushedPixel)job/CPReplayMod/10/changes#detail652015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java #10 Only fill data watcher if it doesn't exist (Jonas)job/CPReplayMod/10/changes#detail662015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java #10 Added TooltipRenderer to mimic Item Tooltip Rendering for hover texts and replaced some error/info messages to use the TooltipRenderer (CrushedPixel)job/CPReplayMod/10/changes#detail672015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/utils/StringUtils.java src/main/java/eu/crushedpixel/replaymod/utils/TooltipRenderer.java #10 Properly render spectator hand in all custom rendering modes (Jonas)job/CPReplayMod/10/changes#detail682015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java #10 Recreate mouse input of replay overlay when the screen size changes (Jonas)job/CPReplayMod/10/changes#detail692015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #10 Remove scrollbar movement on first click (Jonas)job/CPReplayMod/10/changes#detail702015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java #10 Added untranslated hoverKey property to GuiTexturedButton which is to be displayed when hovering over the Button (CrushedPixel)job/CPReplayMod/10/changes#detail712015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java #10 Use component like system for gui overlay (Jonas)job/CPReplayMod/10/changes#detail722015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiScrollbar.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java #10 Fix incorrect entity positions after jumping (Jonas)job/CPReplayMod/10/changes#detail732015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/META-INF/replaymod_at.cfg #10 Removed the opening of GuiReplaySaving to allow for more general approach (CrushedPixel)job/CPReplayMod/10/changes#detail742015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 Whenever a Replay File is being written or modified and the user is not in-game, a GuiReplaySaving is opened and asks him to wait (CrushedPixel)job/CPReplayMod/10/changes#detail752015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 Add extensions to paths and visibility in replay files (preserves backwards compatibility) (Jonas)job/CPReplayMod/10/changes#detail762015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java #10 Added Eyecon as indicator that Ambient Lighting is enabled (CrushedPixel)job/CPReplayMod/10/changes#detail772015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java src/main/java/eu/crushedpixel/replaymod/utils/TooltipRenderer.java #10 Use UUIDs instead of entity ids for storing invisible players (Jonas)job/CPReplayMod/10/changes#detail782015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/InvisibilityRender.java src/main/java/eu/crushedpixel/replaymod/gui/GuiPlayerOverview.java src/main/java/eu/crushedpixel/replaymod/holders/PlayerVisibility.java src/main/java/eu/crushedpixel/replaymod/registry/PlayerHandler.java #10 Added dirty check before rewriting Keyframe Repository (CrushedPixel)job/CPReplayMod/10/changes#detail792015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #10 Made GuiVideoRenderer pretty (CrushedPixel)job/CPReplayMod/10/changes#detail802015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang #10 Automatically registers GuiReplaySaving Objects in constructor to avoid forgetting them (CrushedPixel)job/CPReplayMod/10/changes#detail812015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #10 Automatically registers SpectatorRenderer Objects in constructor to avoid forgetting them (CrushedPixel)job/CPReplayMod/10/changes#detail822015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 Added Render Time and Time Left display to GuiVideoRenderer (CrushedPixel)job/CPReplayMod/10/changes#detail832015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/utils/DurationUtils.java #10 Changed GuiProgressBar color to Grey because people complained that Red raped their eyes (CrushedPixel)job/CPReplayMod/10/changes#detail842015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiProgressBar.java #10 Update ReplayStudio and use its ReplayFile class in trimReplay (Jonas)job/CPReplayMod/10/changes#detail852015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiTrimPart.java libs/replaystudio-0.0.1-SNAPSHOT-all.jar src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java #10 Add render option for sky color (green-screen effect) (Jonas)job/CPReplayMod/10/changes#detail862015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/frame/DefaultFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/StereoscopicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/video/entity/TilingEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/EquirectangularFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/TilingFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/CubicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java #10 Fixed Race Condition which locked the user in the GuiReplaySaving caused by Minecraft opening the GUI in a delayed thread (CrushedPixel)job/CPReplayMod/10/changes#detail872015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java #10 Play sounds during replay relative to camera (Jonas)job/CPReplayMod/10/changes#detail882015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/coremod/SoundManagerCT.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Fix NPE if there is no player info for a player entity (Jonas)job/CPReplayMod/10/changes#detail892015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/utils/SkinProvider.java #10 Changed GuiRenderSettings to have "Advanced" settings (CrushedPixel)job/CPReplayMod/10/changes#detail902015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiToggleButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/utils/TooltipRenderer.java #10 Adjusted Y Position of Checkboxes in GuiRenderSettings (advanced tab) (CrushedPixel)job/CPReplayMod/10/changes#detail912015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #10 Added black outline to GuiColorPicker's Color Preview and Picker (CrushedPixel)job/CPReplayMod/10/changes#detail922015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiColorPicker.java #10 Prevented NPE when joining a Singleplayer World after spectating an Entity in the Replay Viewer (CrushedPixel)job/CPReplayMod/10/changes#detail932015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #10 Added Shutdown Hook to save Replay Files which are being recorded (instead of leaving a lonely and sad .tmcpr file) (CrushedPixel)job/CPReplayMod/10/changes#detail942015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 Prevents GuiRenderSettings from being opened if not enough keyframes present (CrushedPixel)job/CPReplayMod/10/changes#detail952015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/gui/overlay/GuiReplayOverlay.java #10 Fix dead player artifacts remaining in the world after sync jumping (Jonas)job/CPReplayMod/10/changes#detail962015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Register SpectatorRenderer in EVENT_BUS to call RenderHandEvent (CrushedPixel)job/CPReplayMod/10/changes#detail972015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java #10 Renamed Greenscreen into Chroma Keying (because some grammatically correct people told me to do so) (CrushedPixel)job/CPReplayMod/10/changes#detail982015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/resources/assets/replaymod/lang/en_US.lang #10 Made DataListener properly free its GuiReplaySaving again (CrushedPixel)job/CPReplayMod/10/changes#detail992015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 Right clicking an Entity now spectates it (CrushedPixel)job/CPReplayMod/10/changes#detail1002015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java #10 rayTrace() modifies returned MovingObjectPosition objects to always be a "MISS" (hides block outline and container crosshair) (CrushedPixel)job/CPReplayMod/10/changes#detail1012015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #10 Crosshairs are visible while in Replay Viewer (to indicate a spectate-able entity) (CrushedPixel)job/CPReplayMod/10/changes#detail1022015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayGuiRegistry.java #10 Notifies GUI Elements about certain events in GuiRenderSettings (CrushedPixel)job/CPReplayMod/10/changes#detail1032015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #10 Fixed Render Time Taken display in GuiVideoRenderer (CrushedPixel)job/CPReplayMod/10/changes#detail1042015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java #10 Removed invalid isDirty() method in GuiKeyframeRepository (CrushedPixel)job/CPReplayMod/10/changes#detail1052015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #10 Update ReplayStudio and add connect replay functionality to replay editor (Jonas)job/CPReplayMod/10/changes#detail1062015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java libs/replaystudio-0.0.1-SNAPSHOT-all.jar src/main/java/eu/crushedpixel/replaymod/studio/ConnectMetadataFilter.java src/main/java/eu/crushedpixel/replaymod/gui/replayeditor/GuiConnectPart.java #10 Add git commit to version and add version to generated replay files (Jonas)job/CPReplayMod/10/changes#detail1072015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/mcmod.info src/main/java/eu/crushedpixel/replaymod/ReplayMod.java build.gradle src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 The ReplayFileAppender now changes Replay Files in one go (on Windows machines) if there is already a File to be added (CrushedPixel)job/CPReplayMod/10/changes#detail1082015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java #10 Only set Render Distance Max Value if no Optifine installed (CrushedPixel)job/CPReplayMod/10/changes#detail1092015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 DataListener Shutdown Hook only does its job if the Replay hasn't been saved before. This prevents the Replay from being corrupted when quitting Minecraft. (CrushedPixel)job/CPReplayMod/10/changes#detail1102015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/recording/DataListener.java #10 Fix dead lock when jumping after end of replay has been reached (Jonas)job/CPReplayMod/10/changes#detail1112015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #10 Prevented endless loop in ReplayFileAppender (CrushedPixel)job/CPReplayMod/10/changes#detail1122015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #10 Removed redundant GuiCancelRender (replaced by GuiVideoRender) (CrushedPixel)job/CPReplayMod/10/changes#detail1132015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiCancelRender.java #10 Rewrote Camera Movement to be FPS consistent (CrushedPixel)job/CPReplayMod/10/changes#detail1142015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #10 Since Files in ReplayFileAppender can be null (if their name entry should be removed from the ZIP), a null check was added when calling delete() (CrushedPixel)job/CPReplayMod/10/changes#detail1152015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java #10 Made Camera Movement Speed adjustable by Mousewheel (CrushedPixel)job/CPReplayMod/10/changes#detail1162015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java #10 Spectator Keyframes are now colored blue, and the timespan during which an Entity is spectated is tinted (CrushedPixel)job/CPReplayMod/10/changes#detail1172015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiKeyframeTimeline.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java src/main/resources/assets/replaymod/replay_gui.png src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTimeline.java #10 Added Option to hide Server IP when uploading a Replay File (CrushedPixel)job/CPReplayMod/10/changes#detail1182015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/api/replay/FileUploader.java src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java #10 Fixed ArrayIndexOutOfBoundsException when iterating over MouseInput KeyBindings (CrushedPixel)job/CPReplayMod/10/changes#detail1192015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java #10 Added Ratings to GuiReplayListEntry display (CrushedPixel)job/CPReplayMod/10/changes#detail1202015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java #10 Added support for short Replay File Names in Replay Viewer (CrushedPixel)job/CPReplayMod/10/changes#detail1212015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #10 Allow custom resolution for all video rendering modes (Jonas)job/CPReplayMod/10/changes#detail1222015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/TiledReadPixelsRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/FrameRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/frame/FrameRenderer.java src/main/java/eu/crushedpixel/replaymod/renderer/SpectatorRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/DefaultFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/utils/OpenGLUtils.java src/main/java/eu/crushedpixel/replaymod/video/frame/StereoscopicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/video/frame/EquirectangularFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/video/frame/TilingFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/VanillaFrameBufferRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java src/main/java/eu/crushedpixel/replaymod/video/entity/TilingEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/frame/CubicFrameRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/VanillaReadPixelsRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/TiledFrameBufferRenderingStrategy.java src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java #10 Fix java 1.6 compatibility (Jonas)job/CPReplayMod/10/changes#detail1232015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/studio/ConnectMetadataFilter.java src/main/java/eu/crushedpixel/replaymod/api/ApiClient.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java #10 Fix typo in Stereoscopic Render Description (CrushedPixel)job/CPReplayMod/10/changes#detail1242015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/resources/assets/replaymod/lang/en_US.lang #10 Manually toggle GuiCheckButtons in GuiRenderSettings' actionPerformed (CrushedPixel)job/CPReplayMod/10/changes#detail1252015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java #10 Fix shader compatibility in default renderer (Jonas)job/CPReplayMod/10/changes#detail1262015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/video/entity/CubicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/strategy/VanillaFrameBufferRenderingStrategy.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/video/entity/StereoscopicEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/video/entity/CustomEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/coremod/EntityRendererCT.java #10 Only set view entity if it's not already set (Jonas)job/CPReplayMod/10/changes#detail1272015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #10 Only handle key inputs during replay (Jonas)job/CPReplayMod/10/changes#detail1282015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java #10 Localized SecondsToString method in DurationUtils (CrushedPixel)job/CPReplayMod/10/changes#detail1292015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/utils/DurationUtils.java src/main/resources/assets/replaymod/lang/en_US.lang #10 Added information about online files (favorites, author etc.) to GuiReplayListEntry (CrushedPixel)job/CPReplayMod/10/changes#detail1302015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java src/main/java/eu/crushedpixel/replaymod/gui/online/ReplayFileList.java src/main/java/eu/crushedpixel/replaymod/api/replay/holders/Category.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java #10 In the Replay Viewer, the "Upload" button is no longer disabled when not logged in, instead it forwards to a Login Prompt on button click (CrushedPixel)job/CPReplayMod/10/changes#detail1312015-06-04T14:24:10Z2015-06-04T14:24:10Zsrc/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java #9 Allowed Keyboard Inputs in GuiMouseInput (CrushedPixel)job/CPReplayMod/9/changes#detail02015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java #9 Localized Keyboard Bindings and added "Synchronize Timeline" and "Clear Keyframes" (CrushedPixel)job/CPReplayMod/9/changes#detail12015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Fixed time not standing still when it should during a Camera Path (CrushedPixel)job/CPReplayMod/9/changes#detail22015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java #9 Fixed Block breaking and placing malfunctioning while not in Replay (CrushedPixel)job/CPReplayMod/9/changes#detail32015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java #9 Added proper .equals and hashCode methods for Keyframes (CrushedPixel)job/CPReplayMod/9/changes#detail42015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java #9 Added Keyframe Repository, which is stored in Replay File itself and allows Camera Path Presets to be saved and loaded (CrushedPixel)job/CPReplayMod/9/changes#detail52015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayFileAppender.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/registry/FileCopyHandler.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeSet.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #9 Added support for Miscellaneous category (CrushedPixel)job/CPReplayMod/9/changes#detail62015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/api/client/holders/Category.java #9 Download latest translations from website and include them in the final jar file (Jonas)job/CPReplayMod/9/changes#detail72015-05-15T17:53:27Z2015-05-15T17:53:27Zbuild.gradle #9 Fixed UnsupportedOperationException when adding Keyframes to Preset (CrushedPixel)job/CPReplayMod/9/changes#detail82015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #9 Fixed Keybind Settings being reset upon restarting the mod (CrushedPixel)job/CPReplayMod/9/changes#detail92015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #9 Added localization support for Replay Mod API error messages (CrushedPixel)job/CPReplayMod/9/changes#detail102015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/api/client/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/api/client/FileUploader.java #9 Added UploadedFileHandler to keep track of files that have already been uploaded (CrushedPixel)job/CPReplayMod/9/changes#detail112015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/api/client/FileUploader.java src/main/java/eu/crushedpixel/replaymod/registry/UploadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java #9 Added GuiRegister to allow users to create a new account on ReplayMod.com from the Mod itself (CrushedPixel)job/CPReplayMod/9/changes#detail122015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/registry/UploadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/utils/EmailAddressUtils.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java #9 Rearranged Input Fields and according Label Strings in Register and Login GUI (looks a lot better now) (CrushedPixel)job/CPReplayMod/9/changes#detail132015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java #9 Added prerequisites for future Camera Tilt feature (CrushedPixel)job/CPReplayMod/9/changes#detail142015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #9 Minor code refactoring (CrushedPixel)job/CPReplayMod/9/changes#detail152015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiRegister.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Replace reflection with getters and access transformers where possible (Jonas)job/CPReplayMod/9/changes#detail162015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/timer/MCTimerHandler.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java build.gradle src/main/java/eu/crushedpixel/replaymod/gui/PasswordTextField.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Updated Email translations (CrushedPixel)job/CPReplayMod/9/changes#detail172015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang #9 Authkey is now stored in .config file to allow automatic logging in (CrushedPixel)job/CPReplayMod/9/changes#detail182015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/api/client/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java #9 Add tilting of camera (Jonas)job/CPReplayMod/9/changes#detail192015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/coremod/CameraTiltingCT.java #9 Added Camera Tilt Reset Key (CrushedPixel)job/CPReplayMod/9/changes#detail202015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #9 Included Camera Tilt to Camera Paths (CrushedPixel)job/CPReplayMod/9/changes#detail212015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/utils/ResourceHelper.java #9 When restarting the Replay, Speed setting is now being kept (CrushedPixel)job/CPReplayMod/9/changes#detail222015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #9 Made Camera Paths take the shortest way between two head rotation values (instead of spinning unnecessarily often) (CrushedPixel)job/CPReplayMod/9/changes#detail232015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java #9 Removed some debug output from Replay Handler (CrushedPixel)job/CPReplayMod/9/changes#detail242015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #9 Removed possible sources of issues with the Replay Speed value (CrushedPixel)job/CPReplayMod/9/changes#detail252015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java src/main/java/eu/crushedpixel/replaymod/gui/GuiKeyframeRepository.java #9 Clean up and restructure the replay sender (Jonas)job/CPReplayMod/9/changes#detail262015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFile.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Started adding support for downloading online files (CrushedPixel)job/CPReplayMod/9/changes#detail272015-05-15T17:53:27Z2015-05-15T17:53:27Zgradle/wrapper/gradle-wrapper.properties src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/gui/online/ReplayFileList.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java src/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/resources/assets/replaymod/lang/en_US.lang build.gradle src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Replay Files that are published on ReplayMod.com are now downloadable (CrushedPixel)job/CPReplayMod/9/changes#detail282015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java #9 Added 'p' shortcut to Play/Pause the Replay (CrushedPixel)job/CPReplayMod/9/changes#detail292015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java #9 Removed unnecessary dot from downloaded file names (CrushedPixel)job/CPReplayMod/9/changes#detail302015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/registry/DownloadedFileHandler.java #9 Adapted authkey check to new website return values and prepared for future username display (CrushedPixel)job/CPReplayMod/9/changes#detail312015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthConfirmation.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java #9 Prevent SOE when replaying sessions recorded on faster machines (Jonas)job/CPReplayMod/9/changes#detail322015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/resources/META-INF/replaymod_at.cfg src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java #9 Forge 1.8-11.14.1 requires its NetworkDispatcher to be present in the netty pipeline (Jonas)job/CPReplayMod/9/changes#detail332015-05-15T17:53:27Z2015-05-15T17:53:27Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java #8 Started localizing the Chat Messages and GUI (CrushedPixel)job/CPReplayMod/8/changes#detail02015-04-30T12:17:17Z2015-04-30T12:17:17Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Category.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #8 Localized GUI Strings (CrushedPixel)job/CPReplayMod/8/changes#detail12015-04-30T12:17:17Z2015-04-30T12:17:17Zsrc/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayStudio.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayEditor.java src/main/java/eu/crushedpixel/replaymod/gui/GuiCancelRender.java .gitignore src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java #8 Generate proper .gitignore (Jonas)job/CPReplayMod/8/changes#detail22015-04-30T12:17:17Z2015-04-30T12:17:17Z.gitignore #8 Translations are now automatically downloaded from the Replay Mod API (CrushedPixel)job/CPReplayMod/8/changes#detail32015-04-30T12:17:17Z2015-04-30T12:17:17Zsrc/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/localization/LocalizedResourcePack.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java #8 Properly decodes HTML special characters (like cyrillic letters) when downloading a translation (CrushedPixel)job/CPReplayMod/8/changes#detail42015-04-30T12:17:17Z2015-04-30T12:17:17Zsrc/main/java/eu/crushedpixel/replaymod/localization/LocalizedResourcePack.java #8 Added missing Localization Strings in Options Menu (CrushedPixel)job/CPReplayMod/8/changes#detail52015-04-30T12:17:17Z2015-04-30T12:17:17Zsrc/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/resources/assets/replaymod/lang/en_US.lang src/main/java/eu/crushedpixel/replaymod/localization/LocalizedResourcePack.java #7 Added uncommited source files (CrushedPixel)job/CPReplayMod/7/changes#detail02015-04-25T15:57:17Z2015-04-25T15:57:17Zsrc/main/java/eu/crushedpixel/replaymod/events/MouseInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/gui/GuiHelpOverlay.java #6 Removed "Null returned as hitResult" error message from log (CrushedPixel)job/CPReplayMod/6/changes#detail02015-04-25T15:55:49Z2015-04-25T15:55:49Zsrc/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java #5 Refactored and reformatted code to use less static variables (CrushedPixel)job/CPReplayMod/5/changes#detail02015-04-25T07:23:28Z2015-04-25T07:23:28Zsrc/main/java/eu/crushedpixel/replaymod/replay/LesserDataWatcher.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java src/main/java/eu/crushedpixel/replaymod/utils/ImageUtils.java src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearInterpolation.java src/main/java/eu/crushedpixel/replaymod/replay/spectate/SpectateHandler.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiException.java src/main/java/eu/crushedpixel/replaymod/api/client/GsonApiClient.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Rating.java src/main/java/eu/crushedpixel/replaymod/reflection/MCPNames.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/FileInfo.java src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java src/main/java/eu/crushedpixel/replaymod/timer/MCTimerHandler.java src/main/java/eu/crushedpixel/replaymod/gui/online/ReplayFileList.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiMethods.java src/main/java/eu/crushedpixel/replaymod/recording/PacketSerializer.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java src/main/java/eu/crushedpixel/replaymod/registry/LightingHandler.java src/main/java/eu/crushedpixel/replaymod/registry/FileCopyHandler.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageHandler.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/ReplayList.java src/main/java/eu/crushedpixel/replaymod/coremod/LoadingPlugin.java src/main/java/eu/crushedpixel/replaymod/timer/EnchantmentTimer.java src/main/java/eu/crushedpixel/replaymod/utils/ResourceHelper.java src/main/java/eu/crushedpixel/replaymod/coremod/ClassTransformer.java src/main/java/eu/crushedpixel/replaymod/api/client/FileUploader.java src/main/java/eu/crushedpixel/replaymod/utils/MouseUtils.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java src/main/java/eu/crushedpixel/replaymod/utils/ZipFileUtils.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthKey.java src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java src/main/java/eu/crushedpixel/replaymod/reflection/MCPEnvironment.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayStudio.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiMouseInput.java src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/SelectionListener.java src/main/java/eu/crushedpixel/replaymod/registry/ReplayGuiRegistry.java src/main/java/eu/crushedpixel/replaymod/api/client/SimpleApiClient.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Category.java src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java src/main/java/eu/crushedpixel/replaymod/renderer/SafeEntityRenderer.java src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java src/main/java/eu/crushedpixel/replaymod/api/client/QueryBuilder.java src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageRequests.java src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java src/main/java/eu/crushedpixel/replaymod/video/ScreenCapture.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java src/main/java/eu/crushedpixel/replaymod/holders/TimeInfo.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/UserFiles.java src/main/java/eu/crushedpixel/replaymod/registry/KeybindRegistry.java src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java src/main/java/eu/crushedpixel/replaymod/api/client/SearchPagination.java src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java src/main/java/eu/crushedpixel/replaymod/gui/PasswordTextField.java src/main/java/eu/crushedpixel/replaymod/holders/Position.java src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/video/ReplayTimer.java src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java src/main/java/eu/crushedpixel/replaymod/utils/StreamTools.java src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java src/main/java/eu/crushedpixel/replaymod/video/VideoWriter.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/ApiError.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/SearchResult.java src/main/java/eu/crushedpixel/replaymod/api/client/SearchQuery.java src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java src/main/java/eu/crushedpixel/replaymod/interpolation/Cubic.java src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java src/main/java/eu/crushedpixel/replaymod/gui/GuiCancelRender.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java src/main/java/eu/crushedpixel/replaymod/studio/VersionValidator.java src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Success.java src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiStudioPart.java src/main/java/eu/crushedpixel/replaymod/holders/PacketData.java src/main/java/eu/crushedpixel/replaymod/replay/PacketInfo.java src/main/java/eu/crushedpixel/replaymod/replay/TimeHandler.java src/main/java/eu/crushedpixel/replaymod/replay/PacketDeserializer.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java src/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java src/main/java/eu/crushedpixel/replaymod/api/client/holders/Donated.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java src/main/java/eu/crushedpixel/replaymod/interpolation/BasicSpline.java #4 Pushed missing ReplayStudio dependency (CrushedPixel)job/CPReplayMod/4/changes#detail02015-04-21T20:46:31Z2015-04-21T20:46:31Zlibs/replaystudio-0.0.1-SNAPSHOT-all.jar #4 Pushed missing FileCopyHandler (CrushedPixel)job/CPReplayMod/4/changes#detail12015-04-21T20:46:31Z2015-04-21T20:46:31Zsrc/main/java/eu/crushedpixel/replaymod/registry/FileCopyHandler.java #3 Updated build.gradle to use local distributions of Replay Studio instead of mvn repo (which didn't work on Mac) (crushedpixelmaps)job/CPReplayMod/3/changes#detail02015-04-21T20:39:05Z2015-04-21T20:39:05Zgradle/wrapper/gradle-wrapper.properties build.gradle #3 Updated build.gradle to use local distributions of Replay Studio instead of mvn repo (which didn't work on Mac) (crushedpixelmaps)job/CPReplayMod/3/changes#detail12015-04-21T20:39:05Z2015-04-21T20:39:05Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/events/KeyInputHandler.java src/main/java/eu/crushedpixel/replaymod/events/TickAndRenderListener.java build.gradle src/main/java/eu/crushedpixel/replaymod/video/ReplayScreenshot.java src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java #3 Made Screenshots save as soon as the file is ready to allow compatibility with non-unix file systems (crushedpixelmaps)job/CPReplayMod/3/changes#detail22015-04-21T20:39:05Z2015-04-21T20:39:05Zsrc/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java src/main/java/eu/crushedpixel/replaymod/ReplayMod.java