Commit Graph
100 Commits
Author SHA1 Message Date
Jonas Herzig da59c75f8b Update jGui (fixes #249)
20e11e0 Remove length limit from GuiFileChooserPopup text field
2020-07-13 19:04:32 +02:00
Jonas Herzig e090e8f4f3 Fix crash when video file name contains whitespace (fixes #250) 2020-07-13 19:04:32 +02:00
Jonas Herzig f1885ece41 Fix non-player entity freezing on chunk unload in 1.14+ (fixes #203) 2020-07-13 19:03:41 +02:00
Jonas Herzig dc31605b29 Change forge run dir from "eclipse" to "run"
I don't even know why it was at "eclipse" in the first place.
2020-07-13 16:07:48 +02:00
Jonas Herzig f83216ab91 Include only the mod meta data file for the respective loader
Also clean up the entire processResources block in the process cause it was a
mere coincidence that it has worked properly.
2020-07-13 16:07:48 +02:00
Jonas Herzig ecee63491c Remove mods.toml (modlauncher was never supported anyway) 2020-07-13 16:07:48 +02:00
Jonas Herzig 9c49fdf4d1 Remove explicit FAPI dep and instead bundle the required modules
Also need to update ModMenu because the version we depended on still bundled the
snapshot FAPI and that was only fine because we overwrote it with our version.
2020-07-13 16:07:48 +02:00
Jonas Herzig 62bbf0efd6 Update IDEA setup instructions
Configuring the annotation processor is done automatically as of IDEA 2020.1.

Run configs for 1.14+ versions should now be generated automatically once the
referenced PR is merged (or when using a local build of it).
2020-07-13 16:07:48 +02:00
Jonas Herzig e83805bee6 Remove MP4_HIGH preset (fixes #254)
It results in unreasonably high bit rates which regularly confuses users.
The Custom preset should generally be preferred.
2020-07-13 16:04:39 +02:00
Jonas Herzig f1f1f5dde2 Fix tests failing because they cannot access jGui classes 2020-07-13 16:01:28 +02:00
Jonas Herzig 9b98575c0b Get rid of preshadow plugin, it doesn't play nice with recent IDEA 2020-07-13 16:01:28 +02:00
Jonas Herzig ffa66dd905 Remove long broken reprod gradle setup 2020-07-13 16:01:28 +02:00
Jonas Herzig 54b515fd2b Merge remote-tracking branch 'origin/develop' into snapshot 2020-07-13 16:01:01 +02:00
Jonas Herzig 5bf6773655 Merge remote-tracking branch 'origin/develop' into snapshot 2020-06-28 22:07:49 +02:00
Jonas Herzig 7118d55d62 Update to 1.16.1 2020-06-28 21:57:45 +02:00
Jonas Herzig dc9fcb11cd Update to 1.16-rc1 2020-06-21 15:29:07 +02:00
Jonas Herzig 82200a7c34 Update to 1.16-pre6 2020-06-15 21:12:06 +02:00
Jonas Herzig 30aa992ddb Update to 1.16-pre5 2020-06-15 11:14:30 +02:00
Jonas Herzig 2ffde14c60 Update to 1.16-pre1 2020-06-15 09:44:37 +02:00
Jonas Herzig 14b84c5e1b Fix remapping of jGui using incorrect mappings
We used to include the raw jGui source in our jar and then had the main remapJar
task remap both of them to intermediary. This however does not work properly
when jGui needs additional mapping (e.g. because of mixin), resulting in
non-remapped mixins with fail to apply at runtime.

With this commit, we no longer include jGui in our raw jar and instead now have
shadowJar depend on jGui's remapJar task.
2020-06-15 08:58:02 +02:00
Jonas Herzig 88be6b3935 Update to 20w22a (minimal mode only) 2020-06-04 13:03:34 +02:00
Jonas Herzig 6210cb09aa Fix recording in minimal mode 2020-06-04 11:44:54 +02:00
Jonas Herzig 20b410f963 Release 2.3.1 2020-05-24 14:08:45 +02:00
Jonas Herzig ef13d020a2 Fix incorrect screen and crash when encountering replay restrictions 2020-05-24 13:39:15 +02:00
Jonas Herzig fabe4783c8 Make Replay Viewer button work with CustomMainMenu (fixes #195) 2020-05-24 13:38:10 +02:00
Jonas Herzig ef79331037 Remove online features, they're no longer available 2020-05-24 12:38:57 +02:00
Jonas Herzig 244aeb244f Fix incorrect 1.14.4-forge to 1.12.2 mapping
This causes the reverse conversion to incorrect results again but I cannot
currently be bothered to fix that.
2020-05-23 23:24:24 +02:00
Jonas Herzig ea95863b4a Update ReplayStudio (fixes #173) 2020-05-23 22:54:11 +02:00
Jonas Herzig 3c526a6cd4 Support MM1 in addition to MM2 (fixes #162)
Cause the latest OptiFabric on 1.14.4 still ships that and it has no support for
entrypoints.
2020-05-23 22:31:01 +02:00
Jonas Herzig 363a8d595c Apply OF chunk building bug fix only during rendering (fixes #164) 2020-05-23 22:05:42 +02:00
Jonas Herzig d1ff98c76a Fix 1.12.2 to 1.14.4-forge conversion 2020-05-23 20:13:54 +02:00
Jonas Herzig 1123341182 Fix RM not loading another mod loads mixin first (fixes #181) 2020-05-23 20:06:18 +02:00
Jonas Herzig a23f18d92e Fix fabric dependency declaration (fixes #187) 2020-05-23 14:37:44 +02:00
Jonas Herzig 154952a8ac Change ModCore messages cause people keep thinking those are errors 2020-05-23 14:37:44 +02:00
Jonas Herzig b68d077b38 Update preprocess plugin and enable parallel builds by default 2020-05-23 13:25:37 +02:00
Jonas Herzig c0be8da65b Release 2.3.0 2020-05-08 13:09:42 +02:00
Jonas Herzig b534d1395d Update ReplayStudio, fixes squashing of empty columns (fixes #151) 2020-05-08 12:23:35 +02:00
Jonas Herzig 4e5122db5d Close packet output stream before saving replay
Aside from being best practice, this is necessary for the recording CRC to be
written to the replay file (cause that only happens on close).

Also potentially fixes https://github.com/ReplayMod/ReplayMod/issues/144 though
that should already be covered by ZipReplayFile tracking and closing all of its
`OutputStream`s before saving.
2020-05-08 11:38:12 +02:00
Jonas Herzig 8193006aea Update ReplayStudio, fixes cache invalidation when recording changes 2020-05-08 11:29:33 +02:00
Jonas Herzig 4aa256d53b Cleanup raw and cache files after some time (fixes #143) 2020-05-08 10:57:34 +02:00
Jonas Herzig 62c6b36f08 Fix crash when minimizing on Windows during rendering (fixes #140)
Hopefully, haven't actually tried it cause, you know, Windows (and minimizing
with just xfwm4 doesn't exhibit the same behavior).
2020-05-08 10:17:49 +02:00
Jonas Herzig a1cee391fb Render GuiOverlays before (i.e. behind) debug overlay
Also fixes https://github.com/ReplayMod/ReplayMod/issues/155
2020-05-08 09:45:06 +02:00
Jonas Herzig d4192b354c [1.15] Fix dead-lock due to data race during rendering (fixes #156) 2020-05-08 09:45:06 +02:00
Jonas Herzig d24800160b Improve MarkerProcessor output generation (fixes multiple issues)
In particular:
- No longer generate any replays when auto-recording is off and recording is
never enabled from the ingame menu (fixes #138)
- Do not generate an additional empty replay file when recording was stopped in
ingame menu (fixes #147)
- only do squash if there are further output replays (fixes #142)
- Use the input file name as output file name even if there was a split (as long
as it's the only output file, e.g. because recording was never un-paused after
the split)
2020-05-08 09:45:06 +02:00
Jonas Herzig 9fb4dce367 Reset export arguments when upgrading from old version (fixes #148) 2020-05-08 09:45:06 +02:00
Jonas Herzig 811f52dc17 Throw helpful error message when rendering with sodium (see #150) 2020-05-08 09:45:06 +02:00
Jonas Herzig 72ce522813 Ensure task queue is not locked during rendering (fixes #157)
Similar to 3fedc22 in effect and cause. However tasks are executed, they just
cannot be submitted pre-1.14 because MC would continuously hold the lock on the
scheduledTasks queue for the entire renderVideo call.
2020-05-07 14:11:02 +02:00
Jonas Herzig 316f4e2c3c Prevent keyframe time from being set out of bounds (fixes #152) 2020-05-07 11:45:01 +02:00
Jonas Herzig 0962f1895e Fix 1.14.4 forge and fabric jars having the same name (fixes #149)
This caused one of them to be deployed at random, e.g. forge for 2.3.0-b1,
obviously resulting in an unusable build.
2020-05-07 11:20:20 +02:00
Jonas Herzig 8e05a67c5e Pre-release 1 of 2.3.0 2020-04-22 10:48:44 +02:00
Jonas Herzig 715bd8d366 Fix doRelease gradle task 2020-04-22 10:48:07 +02:00
Jonas Herzig 195942cd62 Add .gitkeep files to versions/{1.14.4,1.15.2} 2020-04-22 10:38:58 +02:00
Jonas Herzig 9dfd25c3fd Update README 2020-04-22 10:10:01 +02:00
Jonas Herzig 3d71f7c526 [Pre-1.12] Include less-outdated netty library for ReplayStudio
On 1.12+ MC's bundled version is sufficiently up-to-date but before that it
didn't have e.g. `ByteBuf.retainedSlice`.
2020-04-21 23:08:04 +02:00
Jonas Herzig 05f617a885 Use ReplayOutputStream for packet writing
We didn't used to do that because it would have required us to serialize and
then de-serialize as MCProtocolLib only to re-serialize each packet.
With ReplayStudio v2, we only have to convert to from MC's ByteBuf types to
ReplayStudio's ByteBuf (fairly trivial).

This also allows us to automatically make use of ReplayStudio's backwards
compatibility features: We didn't used to record the login phase pre-1.14 and we
still don't, so we now would have to inject a fake login packet (because we're
no longer generating legacy-version replay files) but ReplayOutputStream can
do that for us.
Without this commit, any pre-1.14 replays generated are unplayable due to the
missing LoginSuccess packet.
2020-04-21 22:58:55 +02:00
Jonas Herzig c8b7e5b213 [Forge] Fix saving of CustomPayload packets 2020-04-21 22:04:01 +02:00
Jonas Herzig 1249ca4167 Add ModCore integration 2020-04-21 21:30:24 +02:00
Jonas Herzig b852a1787d Downgrade pre-1.12 back to Mixin 0.7.10 2020-04-21 21:11:31 +02:00
Jonas Herzig a733d301fd Update preview gui framebuffer size regardless of performance mode
This used to be more of an issue in the past but `displaySizeChanged` has gotten
pretty cheap by now and not updating it will basically make the rendering GUI
useless once you resize even once.
2020-04-17 13:56:19 +02:00
Jonas Herzig 059063430c Update ReplayStudio (fixes #134)
9117411 ReplayOutputStream must not change ByteBuf reader index of packet
2020-04-17 01:24:46 +02:00
Jonas Herzig 7c35e1c7d1 Set CameraEntity.noClip depending on spectator state (fixes #136)
This field is used to decide whether or not to render the inside-block overlay,
as such we want it to be set while we're in spectator mode).

This wasn't a problem before 1.15 because we also cancel the renderHand call
while we're in spectator mode and the same method which renders your hand also
renders the overlay, so we were inadvertently canceling that at the same time.
With 1.15, that's still the case except when using OF, which splits the method
apart by adding three boolean arguments indicating which part to execute.
2020-04-16 23:59:00 +02:00
Jonas Herzig 3b72a67d2b Persist gradle (and loom) cache between Jenkins jobs 2020-04-16 18:51:01 +02:00
Jonas Herzig 808793a121 Switch from Drone to Jenkins 2020-04-16 18:50:59 +02:00
Jonas Herzig 023a1bcf0f Fix :1.7.10:setup{CI,Decomp}Workspace
For details see the referenced FG commit.
Related commit for 1.8+: 190210f
2020-04-16 18:50:51 +02:00
Jonas Herzig 5953435dc5 [1.14+] Fix reading of lang files with CRLFs (mitigates #132) 2020-04-16 14:55:46 +02:00
Jonas Herzig 0d3a689f17 [1.14+] Fix "Player Overview" title
We used to remap the old language key layout for inputs to the one used by
fabric but didn't consider that we might still be directly referencing the old
key somewhere else (e.g. for the Player Overview title).

With this commit, we retain the original and add the new mapping.
2020-04-16 14:48:23 +02:00
Jonas Herzig f8b22d449c [1.14] Work around bug in mixin causing Accessors to not resolve
This intentionally breaks the mixin in a development environment but makes the
compiled jar work in a live environment (which is probably more useful given the
primary version is 1.15 now).
2020-04-15 19:47:12 +02:00
Jonas Herzig f96ed03f12 Update loom: 0.2.2 → 0.2.6 2020-04-15 19:41:21 +02:00
Jonas Herzig 3fedc22899 Execute task queue even when rendering a paused replay (fixes #129)
The task queue is executed by MC each frame, not just each tick, so we should do
so as well. Most async actions also rely on it to re-synchronize with the
rendering thread, e.g. skins won't load if we never poll the task queue.
2020-04-15 18:42:39 +02:00
Jonas Herzig a514e53d11 [1.7.10] Disable tests for now 2020-04-15 18:34:25 +02:00
Jonas Herzig 4586cb5382 Only update timeline when default iterp type changed (fixes #127) 2020-04-15 17:40:26 +02:00
Jonas Herzig 6ccb576637 Update lombok (see #127) 2020-04-15 17:26:53 +02:00
Jonas Herzig 82f86122c8 Handle third-party buttons without text in ingame menu (see #120) 2020-04-15 16:56:16 +02:00
Jonas Herzig 39ccf60f15 Update ReplayStudio
6990c48 SquashFilter: Fix leaking of MapData packets
2020-04-08 23:49:13 +02:00
Jonas Herzig f5afeb918c Fixup mixin config changes of c119392
- Remove MixinRenderGlobal, it's now called Mixin_ForceChunkLoading
- Re-add MixinChunkRenderWorker (1.8-1.14) which was accidentally removed
2020-04-08 23:26:02 +02:00
Jonas Herzig dafbeb34d4 Workaround a bug in OF which incorrectly queues chunks (fixes #123) 2020-04-08 22:43:02 +02:00
Jonas Herzig 5aa1d7be53 Update 1.14.4 fabric-api version to 0.4.3 (fixes #101) 2020-04-08 17:46:01 +02:00
Jonas Herzig c5476025ec Fix terrain not rendering with OF shaders enabled (fixes #122)
This was caused by us setting `needsTerrainUpdate` to false during the shadow
pass in order to break out of the ForceChunkLoading loop (cause OF doesn't
update chunks during the shadow pass). However, this inadvertently caused the
chunk updates to be skipped during the normal pass as well if there didn't
happen to be another reasons for updating.

To fix this, we simply move the shadow pass check into the ForceChunkLoading
mixin and skip the entire loop during the shadow pass.
2020-04-08 17:45:06 +02:00
Jonas Herzig 8f7d263ad9 Fix livelock caused by OF not properly resetting ChunkVisibility
This can lead to a livelock when rendering with shaders after exiting a
singleplayer world (3/4 chance of breakage on each exit).
2020-04-08 14:18:25 +02:00
Jonas Herzig 97f901408e Reduce mixin plugin log message verbosity to debug level 2020-04-08 12:59:59 +02:00
Jonas Herzig 1d7a49907c Fix compilation with Mixin 0.8 on ForgeGradle 2020-04-07 17:20:04 +02:00
Jonas Herzig 9970ac798a Update 1.14.4 fabric-loader (for Mixin 0.8) 2020-04-07 15:40:42 +02:00
Jonas Herzig 5d0ea19c72 Fix rendering not being cancelled until unpaused (fixes #125) 2020-04-07 15:30:40 +02:00
Jonas Herzig 7613fdd4c3 Abort rendering when window receives close request even when paused
Previously we'd get stuck in the paused render loop even when window close was
requested.
2020-04-07 15:26:07 +02:00
Jonas Herzig 31caa68b34 Fix hover pos not respecting gui scale in render gui (fixes #124) 2020-04-07 15:25:19 +02:00
Jonas Herzig b6ff3855a1 Fix rendering gui framebuffer size when not paused (fixes #126) 2020-04-07 15:10:29 +02:00
Jonas Herzig 3be3072082 Run video rendering from runLater
Prevents any issues arising from the fact that we would otherwise be somewhere
deep in the GUI lib button handling call stack.
2020-04-07 14:51:16 +02:00
Jonas Herzig 3f4156b91b Stop using interrupts to abort the rendering process (fixes #119)
They ended up lingering around and breaking any further blocking operations,
resulting in random errors afterwards. And using them was really unnecessary
anyway.
2020-04-06 20:56:22 +02:00
Jonas Herzig e3f621b86a Work around the fact that our mixins may be loaded before Optifabric 2020-04-06 20:39:15 +02:00
Jonas Herzig 27bdc78688 Give up on end portal animation mixin when OF is installed 2020-04-06 20:38:53 +02:00
Jonas Herzig ed6ba740bb Workaround OF breaking spectator hand mixin 2020-04-06 20:37:45 +02:00
Jonas Herzig 4c577c4559 Update non-fabric versions to Mixin 0.8 2020-04-06 20:33:44 +02:00
Jonas Herzig 51e10d890a Update ReplayStudio (fixes #121) 2020-04-06 15:21:39 +02:00
Jonas Herzig b4a2c1b266 Fix race condition between inbound and injected packets (fixes #118)
In the case of #118, this was resulting in the EntityTrackerUpdate packet (which
contains info on which skin layers should be visible) sometimes ending up before
the SpawnPlayer packet, hence the players outer skin layers being invisible at
the start of the recording.
2020-04-06 15:14:47 +02:00
Jonas Herzig ee68a63233 Fix Redirect target in MixinRenderLivingBase for 1.15 (see #120)
For some reason this applied fine in a development environment (even though the
method signature changed significantly), hence why I didn't notice it being
broken. It did not work (just like one would expect) in a live environment.
2020-04-06 13:19:11 +02:00
Jonas Herzig b119d2d127 ./gradlew :1.15.2:setCoreVersion
Also `./gradlew :jGui:1.15.2:setCoreVersion`.
2020-04-06 13:18:37 +02:00
Jonas Herzig f3c4092c72 Update preprocessor 2020-04-06 12:14:05 +02:00
Jonas Herzig 065d713e94 Update ReplayStudio
338c5a8 RandomAccessReplay: Handle light packets arriving after chunk packet
1658b5e SquashFilter: Fix entity delta position not being reset on teleport
2020-04-02 15:34:56 +02:00
Jonas Herzig de40b5aa47 Fix spectating via point&click on fabric 2020-04-02 15:31:59 +02:00
Jonas Herzig c119392c92 Implement chunk forcing during rendering for 1.15 2020-04-02 14:15:05 +02:00