Commit Graph

1392 Commits

Author SHA1 Message Date
Jonas Herzig
4c6684236b Fix compilation of 1.11.2 2020-03-30 03:18:00 +02:00
Jonas Herzig
8b7ef8d1e3 1.13 is dead (followup to 8bc0b0a) 2020-03-30 02:52:47 +02:00
Jonas Herzig
49ea1ae40a Fix compilation of 1.12.2 2020-03-30 02:52:21 +02:00
Jonas Herzig
13283fb5d2 Fix compilation of 1.14.4-forge 2020-03-30 02:52:13 +02:00
Jonas Herzig
eb1fbed0d8 Fix compilation of 1.15.1 2020-03-30 01:05:26 +02:00
Jonas Herzig
5c13995e59 Fix compilation of 1.14.4 2020-03-30 01:03:46 +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
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
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
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
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
Jonas Herzig
ac60e58da2 Fix nested runLater on 1.7.10 2019-07-08 11:58:55 +02:00
Jonas Herzig
45ef15359e Fix replay not properly starting during rendering on 1.7.10 2019-07-08 11:30:15 +02:00
Jonas Herzig
c4d2be9e89 Make thread requirements of ReplayHandler#setup explicit and fix illegal usage 2019-07-08 09:53:47 +02:00
Jonas Herzig
a0e397d1d5 Add support for camera roll on 1.7.10 2019-07-06 21:24:26 +02:00
Jonas Herzig
989a54b067 Fix stack overflow after entity tracker popup has been shown
Failure to load the entity tracker usually (not always) results in
`entityTracker` remaining to be `null`, so there has to be an additional
condition for aborting the thenRun-loadEntityTracker-…-recursion.
2019-07-06 17:37:28 +02:00
Jonas Herzig
31d327efc7 Fix entity tracker loading error popup never being shown 2019-07-06 17:35:10 +02:00
Jonas Herzig
d47c899ef8 Fix advanced screenshot writer (switch from rgb to bgra) 2019-07-06 13:59:46 +02:00
Jonas Herzig
55924c1d46 Fix serialization of settings on Fabric 2019-07-06 13:05:20 +02:00
Jonas Herzig
731ea1ab9f Fix NPE when adding marker during recording before player is spawned
Can happen e.g. when auto-recording is disabled
2019-07-06 12:56:39 +02:00
Jonas Herzig
67e300bcff Fix NPE in MarkerProcessor when unnamed markers are present 2019-07-06 12:50:31 +02:00
Jonas Herzig
7eecb2664d Fix rendering of sky (or anything with textures disabled) during ODS 2019-06-30 20:32:54 +02:00
Jonas Herzig
7299ecd0ce Fix main/offhand items of spectated player not being updated 2019-06-30 15:46:52 +02:00
Jonas Herzig
4fe2fee456 Fix constant equip sound when spectating player with head gear in replay 2019-06-30 15:46:09 +02:00
Jonas Herzig
b2b0ca1cd1 Fix recording of certain mobs on Hypixel
For some reason hypixel is sending duplicate entity meta data entries
in their spawn packets.
We'll now be ignoring all but the last one for each id (should match
how vanilla handles these).
2019-06-30 13:14:47 +02:00
Jonas Herzig
7241036e61 AWT is forbidden on 1.13+ (this includes BufferedImage)
Instead use NativeImage on 1.13+ via newly introduced Image class.
See Image docs for details.

Also fixes an issue with thumbnail taking on 1.13+: The original
ScreenshotHelper method is now async, luckily there's a sync
variant and as a bonus it directly returns a NativeImage so we can
skip having to read the screenshot from disk.
2019-06-30 12:12:13 +02:00
Jonas Herzig
c051b0ba3b Fix crash when quickly double-clicking the "Load"-replay button
This has previously been fixed for quadruple-clicking on the replay
itself but for some reason has not been fixed for simply double-clicking
the "Load" button.
2019-06-28 17:38:55 +02:00
Jonas Herzig
801f0871d5 Fix framebuffer resizing for rendering on 1.13+ 2019-06-28 17:23:07 +02:00
Jonas Herzig
fcb8cc329b Fix second column of RM settings being displaced by long dropdown labels 2019-06-28 16:57:25 +02:00
Jonas Herzig
a9f7e09e64 Fix RM settings being shown in random order 2019-06-28 16:56:15 +02:00
Jonas Herzig
2351698b66 Show popup when replay saving/postprocessing fails
because asking people for logs turned out to not be a viable strategy
when they can figure out how to get back their replay on their own…
2019-06-28 16:43:13 +02:00
Jonas Herzig
9320bd931b Fix container GUIs opening in 1.14+
Not sure why MC has yet another packet for those now but tbh idc.
2019-06-28 15:29:40 +02:00
Jonas Herzig
654a640a60 Fix tracking of enabled state for primary texture 2019-06-28 15:01:45 +02:00
Jonas Herzig
214da6ba59 Update to MC 1.14.3 2019-06-24 18:36:12 +02:00
Jonas Herzig
862c8d9b36 Update preprocessor
- Switch from ECJ to IDEA (with potential for kotlin)
- Can pull SRG mappings from FG, reducing amount of manual mappings (basically just class mappings and fixing errors in SRG mappings)
2019-06-24 17:15:33 +02:00
Jonas Herzig
b846d5308e Fix FullBrightness having no effect during rendering 2019-06-21 22:20:45 +02:00
Jonas Herzig
e7deed73b5 Fix NPE when jumping to beginning of replay (before player is spawned) 2019-06-21 22:14:22 +02:00
Jonas Herzig
4213d37c76 Fix race-condition-induced dead lock on replay restart in 1.14+
MC clears it scheduled tasks on disconnect. If we don't wait for
that to have happened on the async sender, then we might loose
some of the initial handshake packets (resulting in a dead lock in
fabric's registry syncing code).
2019-06-21 22:06:04 +02:00
Jonas Herzig
75c4c7213f Fix NPE applying camera keyframes when camera entity is not yet loaded
Still not sure when this can happen but users are reporting it:
https://www.replaymod.com/forum/thread/2548#post10627
2019-06-21 12:05:05 +02:00
Jonas Herzig
f1f760a0e9 [1.14] Fix ingame menu buttons with ModMenu installed 2019-06-21 07:34:22 +02:00
Jonas Herzig
b8d319eba9 Skip world during video rendering if it has not yet been loaded 2019-06-21 07:34:22 +02:00
Jonas Herzig
de0f40f4dd [1.14] Allow opening of replay settings via ModMenu 2019-06-20 18:44:38 +02:00
Jonas Herzig
5305352b77 [1.14] Mark mod as client-side-only in ModMenu 2019-06-20 18:44:26 +02:00
Jonas Herzig
44a70c8ecf [1.14] Fix invalid mod icon (icons on fabric must be square) 2019-06-20 18:44:26 +02:00