Commit Graph

1735 Commits

Author SHA1 Message Date
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
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
5bf6773655 Merge remote-tracking branch 'origin/develop' into snapshot 2020-06-28 22:07:49 +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
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
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
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
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
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
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
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
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
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
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
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