Commit Graph
100 Commits
Author SHA1 Message Date
Jonas Herzig 000048cc8f Support 1.15 button hover style for textured buttons 2020-09-04 20:56:05 +02:00
Jonas Herzig 8fac84bfe9 Merge branch 'release-2.4.4' into develop 2020-09-04 12:01:56 +02:00
Jonas Herzig ebcf2bfa7b Release 2.4.4 2020-09-04 11:47:02 +02:00
Jonas Herzig 8ef3ab8647 Stop relying on fabric-api internals to inject resource packs
Fixes compatibility with fabric-api 0.20+
2020-09-04 11:37:25 +02:00
Jonas Herzig d039009a9f Workaround Optifine breaking charTyped events 2020-09-01 12:54:30 +02:00
Jonas Herzig 9211fb524c Persist render queue in replay file (closes #317) 2020-08-29 21:21:34 +02:00
Jonas Herzig 4a6c0acc8b Add "Add to Queue" button to keyframe repository (closes #168) 2020-08-29 19:13:59 +02:00
Jonas Herzig a92aa9cbbd Add Edit button to render queue 2020-08-29 19:13:04 +02:00
Jonas Herzig f13e8834d6 Have render job name be determined directly by output file name 2020-08-29 19:13:04 +02:00
Jonas Herzig 1188ce4360 Swap parent relation between render settings and queue
Previously you'd access the render queue from the render settings screen which
was arguably the wrong way around (e.g. you weren't able to access the queue
when your current keyframes were incorrect even if you only wanted to render
those in the queue).

Now the render button opens the queue which can open a new settings popup. To
save people who don't need the queue from always having to go through it, the
queue will immediately open a new settings popup if does not yet have any jobs.
2020-08-29 19:13:04 +02:00
Jonas Herzig ae63b32268 Allow rendering of selected entries in render queue gui 2020-08-29 19:13:04 +02:00
Jonas Herzig fbed279e34 Add multi-select to render queue gui 2020-08-29 14:46:04 +02:00
Jonas Herzig d95af541c7 Default render queue job name to output file name (closes #267) 2020-08-29 14:27:07 +02:00
Jonas Herzig db9db0280b Find ffmpeg.exe anywhere in .minecraft folder (closes #347)
Thanks to Lucky56 for testing!
2020-08-29 14:27:07 +02:00
Jonas Herzig 098300f0db Stop blocking all UI during path playback (closes #269)
Instead, just copy the timeline before playback.
2020-08-29 14:27:07 +02:00
Jonas Herzig 9314eab7ff Make video timeline length configurable (closes #261) 2020-08-29 14:27:07 +02:00
Jonas Herzig c9b57dbcd7 Handle Ctrl+A, Ctrl+C and Ctrl+V in the keyframe repository 2020-08-29 14:27:07 +02:00
Jonas Herzig 9f590e93ce Add copy/paste buttons to keyframe repository (closes #318) 2020-08-29 14:27:07 +02:00
Jonas Herzig e294ebe8c9 Add multi-select to keyframe repository (see #318) 2020-08-29 14:27:07 +02:00
Jonas Herzig fbf53d3842 Add option to use night vision for full brightness (closes #315) 2020-08-29 10:34:12 +02:00
Jonas Herzig 9a27138e78 Fix crash when config is missing a value 2020-08-29 10:19:01 +02:00
Jonas Herzig 9c6f040364 Change F1 while replay gui is focused to only hide it (closes #259)
Previously pressing F1 while the replay gui is focused (i.e. while the mouse is
visible) would toggle the global hudHidden state.
Now it only toggles the hidden state for the replay itself, allowing the
remainder to still be recorded with e.g. OBS where a full render isn't needed.
2020-08-29 09:32:18 +02:00
Jonas Herzig 39f958a7bb Fix F1 not functioning on 1.14+ while replay gui is focused 2020-08-29 09:30:57 +02:00
Jonas Herzig 103d2204d6 Load replays in order of last modified (closes #346) 2020-08-29 09:09:10 +02:00
Jonas Herzig c2d4ac20dc Add rename/discard options to "Replay Saving" gui (closes #319) 2020-08-28 21:21:25 +02:00
Jonas Herzig ab2b89f838 Add per-server overwrite for auto-recording setting (closes #313) 2020-08-28 18:31:25 +02:00
Jonas Herzig ebe6da28fb Run recovery in background with progress indicator (closes #326) 2020-08-28 16:34:09 +02:00
Jonas Herzig 26f3c3639c Add progress bar to "Saving Replay" indicator (closes #325) 2020-08-28 16:15:39 +02:00
Jonas Herzig 739d5b2807 Add key hints to buttons which have corresponding keybindings 2020-08-28 15:58:02 +02:00
Jonas Herzig fd48e56238 Add keybindings for the two keyframe buttons (closes #312)
And one to add a position keyframe even when spectating.
And one to press both buttons with a single key.
2020-08-28 15:45:34 +02:00
Jonas Herzig c2f51d41fa ./gradlew :1.16.2:setCoreVersion 2020-08-28 14:55:40 +02:00
Jonas Herzig 9001fdc9de Cleanup 1.15.2 <-> 1.16.2 conversion 2020-08-28 14:50:28 +02:00
Jonas Herzig 16c759f1dd Drop lombok, it has been causing too much confusion
Basically the result of the Delombok function, except we use IntelliJ's equals,
hashCode and toString and don't re-organize imports (cause that breaks the
preprocessor) and a bunch of manual cleanup was necessary (and half the classes
weren't even converted).
2020-08-28 14:06:31 +02:00
Jonas Herzig 23e51d7099 Release 2.4.3 2020-08-22 17:17:40 +02:00
Jonas Herzig 1208fb92a1 Add .gitkeep file to 1.16.2 folder 2020-08-22 17:12:32 +02:00
Jonas Herzig 27edfcb4f3 Fix incompatibility with mods which mixin into Main (fixes #327) 2020-08-22 14:04:05 +02:00
Jonas Herzig 34b0369775 Merge branch 'mc-1.16.2' into release-2.4.3 2020-08-22 13:40:43 +02:00
Jonas Herzig 0edebdc8d3 Merge pull request #279 from LindaJuffermans:docs-0721-quickmode-icon 2020-08-22 13:40:02 +02:00
Jonas Herzig 7c229c0216 Enable git's autocrlf 2020-08-22 13:36:16 +02:00
Jonas Herzig 2a8c802d43 Merge pull request #257 from LindaJuffermans:develop 2020-08-22 13:33:18 +02:00
Jonas Herzig 8ffb98efd1 Fix recording of client-triggered world events in 1.16+ (fixes #333) 2020-08-16 10:03:55 +02:00
Jonas Herzig da275a6080 Update to 1.16.2 2020-08-11 18:16:08 +02:00
Jonas Herzig 0e77235ef9 Update to MC 1.16.2-rc1 2020-08-09 13:55:00 +02:00
Jonas Herzig 3ba37ab05c Merge pull request #308 from LindaJuffermans/docs-0804-ffmpeg-431
ffmpeg 4.3.1 supports h264/h265
2020-08-04 16:08:09 +02:00
Jonas Herzig d065868abb Release 2.4.2 2020-08-03 10:31:36 +02:00
Jonas Herzig eb2c2f2e6b Merge pull request #306 from LindaJuffermans/docs-0801-sodium
Sodium cannot be enable during rendering.
2020-08-01 21:33:36 +02:00
Jonas Herzig 9dc5e62b64 Merge pull request #297 from LindaJuffermans/docs-0730-screens
Updated screenshots to latest version of ReplayMod
2020-07-30 16:27:17 +02:00
Jonas Herzig 21dbafb860 Merge pull request #298 from LindaJuffermans/docs-0730-camera-symbol
Path preview icon is not shown when the path is shown.
2020-07-30 16:24:58 +02:00
Jonas Herzig bd5af16e1e Merge pull request #293 from LindaJuffermans/docs-0728-randompatches
Crash using ReplayMod with RandomPatches
2020-07-29 11:06:37 +02:00
Jonas Herzig 335eb93858 Merge pull request #285 from LindaJuffermans/docs-0726-baritone
Crash using ReplayMod with Baritone
2020-07-26 11:01:10 +02:00
Jonas Herzig 621587c65e Release 2.4.1 2020-07-25 22:40:32 +02:00
Jonas Herzig fd7b6030f9 Fix keybinding conflicts on 1.14+ (fixes #268)
This fixes both, replay-exclusive keybindings blocking vanilla ones as well as
vanilla keybindings blocking replay-exclusive ones.

The magic happens in Mixin_ContextualKeyBindings.
2020-07-25 21:40:02 +02:00
Jonas Herzig 063657af4c Fix DELETE keybinding on 1.14+ (fixes #270) 2020-07-25 19:52:18 +02:00
Jonas Herzig 8d82953c0b Fix hands always rendering with 1.16 OF shaders (fixes #280) 2020-07-25 19:33:19 +02:00
Jonas Herzig a4b6e92627 Position recording control buttons relative to Exit (fixes #281) 2020-07-25 18:43:33 +02:00
Jonas Herzig 35cc78c70c Fix crash due to invalid characters in video file name (fixes #265)
037d54f Prevent FileChooserPopup from selecting invalid file names
2020-07-25 17:19:38 +02:00
Jonas Herzig 5983d99354 Fix jittering once a tick during rendering pre-1.16 (fixes #264)
The fetching of the ticks variable was accidentally moved to before the timer
update while updating to 1.16, this caused the interpolation to be off by one
tick each frame in which the timer advances to the next tick.
2020-07-25 17:02:56 +02:00
Jonas Herzig fc1ae0e109 Hide unsupported render methods in settings gui (fixes #284) 2020-07-25 17:02:24 +02:00
Jonas Herzig 34a7465b8e Merge pull request #283 from LindaJuffermans/docs-0722-oldanimations
Crash using ReplayMod with OldAnimationsMod
2020-07-22 21:38:48 +02:00
Jonas Herzig 2957f46ade Merge branch 'stable' into docs-0722-oldanimations 2020-07-22 21:38:29 +02:00
Jonas Herzig 83cc4a035a Merge pull request #282 from LindaJuffermans/docs-0722-patchermod
Crash using ReplayMod with Patcher
2020-07-22 21:37:37 +02:00
Jonas Herzig f578f0df20 Merge pull request #277 from LindaJuffermans/docs-0721-accounts
Added Accounts section to explain discontinuing and new Discord support structure.
2020-07-21 21:53:34 +02:00
Jonas Herzig 7510f717a4 Merge pull request #278 from LindaJuffermans/docs-0721-quickmode
Added Quick Mode section and reference from timeline jumping
2020-07-21 21:50:10 +02:00
Jonas Herzig 72bc8c87ee Merge pull request #276 from LindaJuffermans/docs-0721-thumbnails
Removed Replay Center reference in Thumbnails
2020-07-21 21:44:05 +02:00
Jonas Herzig 3273b3c239 Merge pull request #275 from LindaJuffermans/docs-0721-ffmpeg-notes3
Added ffmpeg details
2020-07-21 21:38:40 +02:00
Jonas Herzig 23849bc8c4 Merge pull request #247 from LindaJuffermans/develop
Minor doc changes
2020-07-04 19:36:54 +02:00
Jonas Herzig a4af8c2610 Release 2.3.2 2020-06-28 21:31:47 +02:00
Jonas Herzig bc05566d2e Update ReplayStudio
fc8a66d Fix handling of view pos/dist packets in MC 1.14+ quick mode
2828174 Fix reading and writing of unload chunk packets pre-1.9 (fixes #210)
42bd0fe Fix map data being swallowed by squash filter (fixes #232)
2020-06-28 21:12:12 +02:00
Jonas Herzig 0ab1db9517 Improve handling of CrashException in runLater (fixes #205) 2020-06-28 21:12:12 +02:00
Jonas Herzig a6f5931e7e Fix output file render setting not being saved (fixes #229) 2020-06-28 21:12:12 +02:00
Jonas Herzig 513f53f1ee Open output file popup in folder and with name of current file 2020-06-28 21:12:12 +02:00
Jonas Herzig 6038d3c4df [1.14+] Fix resource pack loading during rendering (fixes #182) 2020-06-28 21:12:12 +02:00
Jonas Herzig 72b44c368b [1.8] Fix incorrect event bus for deferred runLater (fixes #206) 2020-06-28 21:12:12 +02:00
Jonas Herzig 058346d247 Workaround a bug in MC where light is not updated (fixes #209)
MC stores server light data and only applies it during the next frame.
Therefore, if there is no frame between receiving the chunk and block changes in
it (like when jumping in replays), then the light update from the block change
gets lost.
2020-06-28 21:12:12 +02:00
Jonas Herzig 0ba651d19c Fix recording of client player's metadata after respawn (fixes #212)
1.15 removed the data tracker syncing from the spawn packet, so we now need to
send that explicitly.
2020-06-28 21:12:12 +02:00
Jonas Herzig 8e1f9f5a9c Fix quick mode sending async-mode packets when paused
This wasn't much of on issue because no tick events are fired normally while
paused. When seeking we do however manually run a tick for better result, and
this manual tick would cause this async sending code to run and seek wildly into
the future.
2020-06-28 21:12:12 +02:00
Jonas Herzig c04f3ab185 Fix shift+play camera path requiring time keyframes (fixes #218) 2020-06-28 21:12:12 +02:00
Jonas Herzig bad79ab286 Throw IOException when ImageIO.read return null (fixes #201) 2020-06-28 21:12:12 +02:00
Jonas Herzig 9f3808f0ff Render gui overlay even when event was cancelled (fixes #170)
Cause Lunatrius' InGame-Info-XML mod cancels it and we don't actually care about the event, just about when it's called.
2020-06-28 21:12:12 +02:00
Jonas Herzig 5f284fcd3d Fix spectating when clicking with unlocked cursor (fixes #224)
> If you misclick the add keyframe button or something, you end up specating
instead and you have to find the camera angle again
2020-06-28 21:12:12 +02:00
Jonas Herzig 04c902a792 [1.8.9] Fix launching in development environment 2020-06-28 21:12:12 +02:00
Jonas Herzig 33ec18ad1e Merge pull request #240 from ThomasBerends/feature/docs-upgrade
Overall upgrade of documentation
2020-06-25 20:47:01 +02:00
Jonas Herzig af8803d6b5 WIP 1.15 and ReplayStudio v2 update 2020-03-13 14:18:19 +01:00
Jonas Herzig 8bc0b0a4df Update preprocessor and replace 1.13.2 subproject with 1.14.4-forge
The new preprocessor version brings first-party support for fabric, in
particular for automatically fetching mappings loom and for
automatically remapping between MC versions via intermediary mappings.
This will come in handy when updating to 1.15.

It also supports automatic remapping between fabric and forge on the
same MC version (by going mcp<->srg<->mojang<->intermediary<->yarn).
Therefore this commit replaces the previous 1.13.2 (forge) subproject
with a 1.14.4-forge one. Instead of manually providing full mappings for
1.14.4-fabric to 1.13.2-forge and partial (classes) for 1.13.2-forge to
1.12.2-forge, we now only need partial (classes) for 1.12.2-forge to
1.14.4-forge and preprocessor will take care of the forge to fabric
step (in fact, our mapping file for that is currently completely empty).

In an attempt to write an IDE (IntelliJ) plugin for quicker and easier
working with the preprocessor (e.g. immediately mapping single files
from within the IDE, jumping between different versions for the same
file), the preprocessor gradle plugin declaration now requires you to
explicitly specify variables in the common.gradle and the overall
relationship between projects in the build.gradle (latter is required
anyway, so the plugin can know where it should map between forge and
fabric and which subprojects are which versions).
Since that necessitated some changes to the build.gradle file, I took
the opportunity to convert it to Kotlin. As such we now also use
Gradle's newer plugin-block with the pluginManagement-block instead of
manually declaring buildScript (not for the common.gradle though), which
imo is nicer anyway and comes with various advantages (see gradle docs).

There were also some remapping bugs fixed and some new ones
introduced (e.g. manually declared inner class mappings seem to no
longer function properly under certain conditions).
There's also support for remapping Kotlin now. Just saying.
2020-01-12 23:34:10 +01:00
Jonas Herzig f51298e2a3 Update Mixin (fixes GH-66) 2019-08-04 17:16:52 +02:00
Jonas Herzig d8ce4275af Update ReplayStudio for misc MCProtocolLib fixes 2019-08-04 17:13:56 +02:00
Jonas Herzig c7b0780111 Fix playback once end has been reached on 1.8 (and some above) 2019-08-04 15:06:27 +02:00
Jonas Herzig 94d6e7cb4b Fix mouse wheel speed outside of gui screen on 1.13+ 2019-07-27 11:51:39 +02:00
Jonas Herzig ea6e452dd0 Pre-release 7 of 2.2.0 2019-07-19 22:44:05 +02:00
Jonas Herzig 7d6c263ce0 Update MCProtocolLib for modded entity attribute types on 1.12.2
E.g. "forge.swimSpeed" introduced in some later 1.12.2 Forge
2019-07-19 21:49:10 +02:00
Jonas Herzig 9c25396016 Gracefully handle incomplete QuickMode cache 2019-07-19 21:49:10 +02:00
Jonas Herzig 1245f38267 Fix 360 camera stabilization on 1.13+ 2019-07-19 21:49:10 +02:00
Jonas Herzig 5bd9b0cb6b Fix LoginCompressionS2CPacket being recorded in replay file on 1.13+ 2019-07-19 21:49:10 +02:00
Jonas Herzig 08f09dca6e Update MCProtocolLib to fix certain chunk unload packets on 1.8(.9) 2019-07-19 19:34:25 +02:00
Jonas Herzig 3cd21b8a78 Guard against corrupted config files on 1.14 2019-07-19 14:48:00 +02:00
Jonas Herzig 67d7af2dc3 Update to MC 1.14.4 2019-07-19 14:25:42 +02:00
Jonas Herzig c4c4b75022 Pre-release 6 of 2.2.0 2019-07-12 21:06:27 +02:00
Jonas Herzig 4a115cd1a5 Fix NoSuchMethodError due to OpenNBT binary incompatibility on MC<1.12 2019-07-12 19:50:47 +02:00
Jonas Herzig 06fe165249 Fix toString call which breaks due to Windows not defaulting to UFT8 2019-07-12 19:18:32 +02:00
Jonas Herzig aea222d176 Fix deadlock when jumping backwards in 1.7.10 under certain conditions
Not entirely sure how to fulfill those conditions but the fix should be
fairly self-explanatory anyway.
2019-07-08 14:52:42 +02:00