Started 1 yr 0 mo ago
Took 1 min 6 sec

Success Build #357 (Dec 10, 2015 10:23:49 PM)

Build Artifacts
replaymod-1.0.7.jar10.97 MB view
Changes
  1. Added function to detect whether karyonix' Shaders Mod is installed (detail)
  2. If the Shaders Mod is installed, call EntityRenderer#renderWorld to allow it to make some preparations (detail)
  3. Use Minecraft's Framebuffer in the OpenGlFrameCapturer, and do NOT delete it after rendering (detail)
  4. 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. (detail)
  5. Use while loop to iterate over buffer contents in GuiVideoRenderer's Video preview to prevent the buffer from underflowing (detail)
  6. Shows error screen when trying to render ODS videos with Shaders Mod (detail)
  7. Use ASM to replace Frustum's ClippingHelper with NoCullingClippingHelper (detail)
  8. Cleaned up EntityRendererCT (detail)
  9. Created ShaderFrameTimeCounter to control Shader Mod's Shader.frameTimeCounter variable to synchronize leaves/grass waving with Replay Speed (detail)
  10. Disable PBO Pipelines when rendering with Shaders Mod installed because of an incompatibility (detail)
  11. Only replace frustum's CullingHelper in EntityRenderer if rendering a video (detail)
  12. Print stacktrace if frameTimeCounter was not found in Shaders class (for future version easier debugging) (detail)
  13. Created  ClassTransformer for Shader Mod's ClippingHelperShadow to make isBoxInFrustum always return true if rendering a video (force render chunks) (detail)
  14. Temporarily disabled forced chunk calculation when running ShadersMod, as displayListEntitiesDirty never became false when rendering (detail)
  15. Simplify GuiReplaySpeedSlider's code by removing obsolete drawButton Method which was the same as the parent's method (detail)
  16. Possibly found a solution to force load all chunks with Shaders installed. To be verified (detail)
  17. 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. (detail)
  18. 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. (detail)
  19. Because we're now always using the Minecraft framebuffer, we also need to call Minecraft#resize when rendering without the Shaders Mod installed (detail)
  20. Determine whether all chunks are loaded by RenderChunk.renderChunksUpdated being 0 (detail)
  21. The xRes and yRes input fields in GuiRenderSettings now update each other for an 1:1 aspect ratio when using ODS rendering (detail)
  22. GuiNumberInput's value Getters now always return a value between the minimum and maximum (if defined) (detail)
  23. Replaced old JailingQueue system with a new way to stop chunk compilations while rendering (detail)
  24. Replace poor lock system with ReadWriteLock system (detail)
  25. Created ChunkRenderDispatcherCT to make queueChunkUpdates field volatile (detail)
  26. Removing some CT debug output (detail)
  27. 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 (detail)
  28. The Shaders Mod seemed to like keeping us in an eternal do/while loop (detail)
  29. 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. (detail)
  30. Removed now obsolete MixinChunkRenderDispatcher (detail)
  31. Made ChunkLoadingRenderGlobal's ReadWriteLock non-static (detail)
  32. 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) (detail)
  33. Compare our framebuffer's size to the Display's size BEFORE rendering to properly update the gui size (detail)
  34. We don't need that weird chunk loading difference check anymore (detail)
  35. Gracefully offer the queueChunkUpdates the LockingChunkCompileTasks, but be persistent until they accept our gift. (detail)
  36. Take the "up to one second" in Johni's comment a bit more literally (detail)
  37. Johni says I may not ignore this exception. (detail)
  38. The ChunkRenderDispatcher#queueChunkUpdates does not need to be non-final and therefore does not have to be volatile -> removed ChunkRenderDispatcherCT (detail)
  39. Move Shaders Mod detection from postInit() to a static block (detail)
  40. Re-enabled rendering with PBOs enabled (detail)
  41. Have a maximum of 10 timeouts when offering LockingChunkCompileTasks to queueChunkUpdates (detail)
  42. Render the guiFramebuffer with correct width/height arguments (detail)
  43. 1.0.7 (detail)

Started by BitBucket push by CrushedPixel

Revision: 67037e844ea136e1db80e28dd0354e40445d46d9
  • refs/remotes/origin/master