Commit Graph
100 Commits
Author SHA1 Message Date
Jonas Herzig 8ff27437af Add configurable, small Replay Viewer button (closes #471) 2021-03-14 12:12:53 +01:00
Jonas Herzig c6b41d76fa Document valid values for MultipleChoiceSettings in config file 2021-03-14 12:12:53 +01:00
Jonas Herzig 4ca4f2def6 Auto-reload config file on changes (Fabric only) 2021-03-14 12:12:53 +01:00
Jonas Herzig 61d67a5e80 Remove OpenEye (closes #465)
It is not available for Fabric and we stopped using it.
2021-03-14 12:12:53 +01:00
Jonas Herzig b7309283e9 Rename MixinRendererLivingEntity -> Mixin_HideNameTags_LivingEntity 2021-03-14 12:12:53 +01:00
Jonas Herzig a97190de1e Move MixinRendererLivingEntity into 1.8.9 project 2021-03-14 12:12:53 +01:00
Jonas Herzig c17fc79ab2 Rename MixinRender -> Mixin_HideNameTags 2021-03-14 12:12:53 +01:00
Jonas Herzig 1924963d75 Move MixinOpenGlHelper into 1.7.10 project 2021-03-14 12:12:53 +01:00
Jonas Herzig aba34d6c6f Rename Mixin_CubicRotation -> Mixin_Omnidirectional_Rotation 2021-03-14 12:12:53 +01:00
Jonas Herzig db5708f338 Rename MixinFrustum -> Mixin_Omnidirectional_DisableFrustumCulling 2021-03-14 12:12:53 +01:00
Jonas Herzig 6974f8e60c Rename MixinCamera -> Mixin_StabilizeCamera 2021-03-14 12:12:53 +01:00
Jonas Herzig 3ec81d5c35 Split MixinEntityRenderer into multiple, more focused files 2021-03-14 12:12:53 +01:00
Jonas Herzig fad89626e5 Move 1.7.10 code from MixinEntityRenderer to Mixin_ForceChunkLoading 2021-03-14 12:12:53 +01:00
Jonas Herzig e7a1fafdf9 Extract Mixin_ChromaKeyDisableFog from other mixins 2021-03-14 12:12:53 +01:00
Jonas Herzig cf1d7537e8 Move MixinEffectRenderer into 1.8.9 project 2021-03-14 12:12:53 +01:00
Jonas Herzig 10426f9d39 Move MixinChunkRenderWorker into 1.14.4 project 2021-03-14 12:12:53 +01:00
Jonas Herzig 2fb4f73ae4 Move ChunkRenderDispatcherAccessor into 1.14.4 project 2021-03-14 12:12:53 +01:00
Jonas Herzig 6289545d84 Remove forge/fml event bus from MCVer 2021-03-14 12:12:53 +01:00
Jonas Herzig cfb9e15b8a Make use of new @Pattern feature to centralize version-aware code
That is, most of the business code should not be aware that it is being compiled
to multiple versions even when it heavily interacts with MC, preprocessor
statements should be an escape hatch, not the norm.
Similarly, code should not be forced to do `MCVer.getWindow(mc)` instead of the
much more intuitive `mc.getWindow()`, and a new preprocessor (technically remap)
feature makes this possible by defining "search and replace"-like patterns (but
smarter in that they are type-aware) in one or more central places (the
"Patterns.java" files) which then are applied all over the code base.

In a way, this is another step in the automatic back-porting process where
preprocessor statements are used when we cannot yet do something automatically.
Previously we "merely" automatically converted between different mapping, this
new feature now also allows us to automatically perform simple refactoring
tasks like changing field access to a getter+setter (e.g. `mc.getWindow()`), or
changing how a method is called (e.g. `BufferBuilder.begin`), or changing a
method call chain (e.g. `dispatcher.camera.getYaw()`), or most other
search-and-replace-like changes and any combination of those.
The only major limitation is that the replacement itself is not smart, so
arguments must be kept in same order (or be temporarily assigned to local
variables which then can be used in any order).
2021-03-14 12:12:51 +01:00
Jonas Herzig 06a46e6f38 Use callback-style events for crosshair and hotbar render events 2021-02-28 09:52:19 +01:00
Jonas Herzig da16b0fb78 Add 1.14.4 <> 1.12.2 mapping for Option <> GameSettings.Options 2021-02-28 09:52:19 +01:00
Jonas Herzig f34b88cf7e Move MixinShader into 1.7.10 project 2021-02-28 09:52:19 +01:00
Jonas Herzig d7dde42add Move HideInvisibleEntities into 1.12.2 project 2021-02-28 09:52:19 +01:00
Jonas Herzig 5f652ec7f2 Move DisableBetterSprinting into 1.12.2 project 2021-02-28 09:52:19 +01:00
Jonas Herzig 05d7971332 Move mapwriter.MixinMinecraft into 1.12.2 project 2021-02-28 09:52:19 +01:00
Jonas Herzig 4eeaca5af1 Use MainWindowAccessor across all versions 2021-02-28 09:52:19 +01:00
Jonas Herzig e4da7f331b DRY main MC window resizing 2021-02-28 09:52:19 +01:00
Jonas Herzig 3fbb4b50ea Rename ChunkLoadingRenderGlobal → ForceChunkLoadingHook
More descriptive, less MCP.
2021-02-28 09:52:19 +01:00
Jonas Herzig ab5b101f96 Add stub ChunkLoadingRenderGlobal for 1.7.10
Allows us to get rid of all preprocessor guards around its usages.
2021-02-28 09:52:19 +01:00
Jonas Herzig c729654f04 Split off 1.14.4 overwrite from ChunkLoadingRenderGlobal 2021-02-28 09:52:19 +01:00
Jonas Herzig f19ee8ba63 Split off 1.14.4 overwrite from Mixin_ForceChunkLoading 2021-02-28 09:52:19 +01:00
Jonas Herzig 90bbc68443 Replace reflection in ChunkLoadingRenderGlobal with mixin 2021-02-28 09:52:19 +01:00
Jonas Herzig 4b4d18026b Move GLStateTracker into 1.7.10 project 2021-02-28 09:52:19 +01:00
Jonas Herzig 74580e6649 Remove redundant preprocessor statements 2021-02-28 09:52:19 +01:00
Jonas Herzig 87b55e187c Replace a few //#if statements with mapping file entries 2021-02-28 09:52:19 +01:00
Jonas Herzig 026bc1fdcb Move MixinWorldClient into 1.12.2 project 2021-02-28 09:52:19 +01:00
Jonas Herzig 470669b1f7 Move MixinRenderManager into 1.12.2 project 2021-02-23 01:21:44 +01:00
Jonas Herzig b8bcb4967f Move MixinFMLClientHandler into 1.7.10 project 2021-02-23 01:05:48 +01:00
Jonas Herzig 6fa746a2e3 Move MixinEntityRenderer into 1.7.10 project 2021-02-23 01:01:55 +01:00
Jonas Herzig 01d47279fd Split off 1.12.2 overwrite from MixinCamera 2021-02-23 00:59:56 +01:00
Jonas Herzig 06db2ebb92 Move MixinS26PacketMapChunkBulk into 1.7.10 project 2021-02-23 00:47:01 +01:00
Jonas Herzig 6068aabea7 Move MixinPlayerControllerMP into 1.12.2 project 2021-02-23 00:45:12 +01:00
Jonas Herzig 6bc130312a Move MixinNetworkDispatcher into 1.12.2 project 2021-02-23 00:41:22 +01:00
Jonas Herzig ba7c478da1 Split off 1.12.2 overwrite from MixinNetHandlerLoginClient 2021-02-23 00:41:22 +01:00
Jonas Herzig 25247a2371 Move MixinGuiScreen into 1.7.10 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 22d1048999 Move FMLHandshakeFilter into 1.12.2 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 6094422792 Split off highly version-dependent code from ModCompat 2021-02-23 00:41:22 +01:00
Jonas Herzig 029b228b26 Move ReplayModTweaker into 1.12.2 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 9bde5fae49 Move ResourcePackRepositoryAccessor into 1.7.10 project 2021-02-23 00:41:22 +01:00
Jonas Herzig f15eaf95c1 Split off 1.12.2 overwrite from MixinKeyboardListener 2021-02-23 00:41:22 +01:00
Jonas Herzig 9e152f2655 Move GLStateTrackerTransformer into 1.7.10 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 1329f2d703 Move GLErrorTransformer into 1.7.10 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 66c1f63219 Move GuiFactory into 1.12.2 project 2021-02-23 00:41:22 +01:00
Jonas Herzig 633bc19650 Use callback-style events throughout all versions
Removes the need for //#if statements on each and every event handler.
Instead we now always use the equivalent Callback and have one central 1.12.2
class which forwards Forge events to the callbacks.
2021-02-23 00:41:22 +01:00
Jonas Herzig 0be2082fe7 Split off highly version dependent code from ReplayMod 2021-02-20 00:43:49 +01:00
Jonas Herzig bc9d8cb3d1 Split off highly version dependent code from SettingsRegistry 2021-02-20 00:43:46 +01:00
Jonas Herzig 9a67a64555 Drop server-side restrictions implementation
I don't think this sees sufficient use to justify updating.
Especially because it's non-trivial with forge's network changes.
Ping me if you actually used this.
2021-02-20 00:43:46 +01:00
Jonas Herzig 1a35234b0a Move LoadingPlugin into 1.12.2 project 2021-02-19 23:02:39 +01:00
Jonas Herzig 9d81265213 Update preprocessor plugin 2021-02-19 23:01:43 +01:00
Jonas Herzig bcde675775 Update jGui 2021-02-19 17:32:41 +01:00
Jonas Herzig 8c2d7d096c Merge branch 'stable' into develop 2021-02-19 11:58:28 +01:00
Jonas Herzig ff47174fd6 Release 2.5.2 2021-02-17 21:56:30 +01:00
Jonas Herzig c0a95d278e Add toString implementation to RenderSettings
We print them to the log in a few places, that's fairly useless without a
toString implementation.
2021-02-17 21:53:07 +01:00
Jonas Herzig fed90b5597 Update ReplayStudio
a1f82a7 Properly handle same-dimension respawns in squash and quick mode (fixes #139, fixes #455)
7b84461 Fix NPE if there is a block change at time 0 (fixes #446)
ee9d7d5 Switch to LGPLv3+ as primary license
2021-02-17 18:20:48 +01:00
Jonas Herzig 51a4ade37e Fix slow drifting in FullReplaySender replay time (fixes #451) 2021-02-17 15:16:33 +01:00
Jonas Herzig 2f0160c4f6 Update loom to 0.5 (closes #453) 2021-02-17 11:39:57 +01:00
Jonas Herzig 56e5df65d5 Use vanilla sound engine to play render success sound (fixes #286) 2021-02-17 11:27:09 +01:00
Jonas Herzig 5f0218929b Process sub-selection of render jobs in displayed order (fixes #488) 2021-02-17 03:33:14 +01:00
Jonas Herzig 6d0d50f5b3 Fix "Render All" button in render queue (fixes #447) 2021-02-17 03:06:52 +01:00
Jonas Herzig c54638db30 Update ReplayStudio (fixes #368)
e7d5bf5 Fix wrap around for LinearInterpolator
2021-02-17 02:57:10 +01:00
Jonas Herzig cdb93a1716 Fix spectating via clicking on forge (fixes #432) 2021-02-17 02:55:49 +01:00
Jonas Herzig 02a731e018 Update jGui (fixes #429)
3596f15 Improve timeline time indicators for really long (1h+) timelines
2021-02-17 01:39:38 +01:00
Jonas Herzig ae0b0e3f13 Allow any entity to be spectated on 1.8+ (fixes #382)
Idk why this was restricted in the first place, ask Marius: 163faddd
2021-02-17 01:19:29 +01:00
Jonas Herzig a9a0c2ddc3 Update jGui (fixes #428)
e3cd741 Re-open GuiOverlay if externally closed while `!closeable`
5a90b8b Fix GuiOverlay.closeable not being respected on 1.14+
2021-02-17 01:19:29 +01:00
Jonas Herzig 72d5d43ad2 Suppress CancellationException when stopping camera path 2021-02-17 01:19:29 +01:00
Jonas Herzig a5f874e571 Fix crash with certain render output file values (fixes #396) 2021-02-17 01:19:29 +01:00
Jonas Herzig 9dfdfd6fe3 Update bundled mixin version (fixes #438) 2021-02-17 01:19:29 +01:00
Jonas Herzig d8cae487c2 Rename build scripts: build -> root and common -> build
This way it's easier for people not familiar with the preprocessor setup to find
what they are looking for.
2021-02-17 00:13:42 +01:00
Jonas Herzig 7e5734067f Remove jcenter repo, it will be shutting down
We have only been using it for the shadow plugin which is also available in the
plugins.gradle.org repo.
2021-02-17 00:13:42 +01:00
Jonas Herzig 19ff1ef38b Do not bother recovering useless replays (fixes #444)
Useless replays being those for which auto-recording was disabled and Start
never pressed.
2021-02-16 22:38:39 +01:00
Jonas Herzig 57c7362e34 Merge branch 'stable' into develop 2020-11-22 17:10:27 +01:00
Jonas Herzig dabb64340e Release 2.5.1 2020-11-22 16:19:28 +01:00
Jonas Herzig 99b1528dcc Update doRelease task for current branching model 2020-11-22 16:18:22 +01:00
Jonas Herzig 673964ea6a Hide Saving Replay popup when no output is produced (fixes #420)
I.e. if the had Auto-Recording disabled and never pressed start, there won't be
any replays and it would just be the Done button, which is pointless.
2020-11-22 16:04:14 +01:00
Jonas Herzig c3c59ec1c0 Trim video file extension from glb file name (fixes #422) 2020-11-22 15:18:41 +01:00
Jonas Herzig d06ef47f1c Update ReplayStudio (fixes #426) 2020-11-22 15:15:41 +01:00
Jonas Herzig 68ca92e8a2 Update changelog URL 2020-11-22 15:06:28 +01:00
Jonas Herzig f7f20ee6cb Add setting to disable Saving Replay rename dialog (closes #423) 2020-11-22 15:03:24 +01:00
Jonas Herzig f895a13b61 Apply Saving Replay dialog when pressing Enter (closes #424) 2020-11-22 14:55:07 +01:00
Jonas Herzig 4739d2278b Fix render settings not saving when rendering (fixes #425)
Clicking Cancel or Add to Queue does save them but clicking Render does not.

This is caused by the fact that the GuiRenderSettings are now a popup and no
longer their own screen, so to close them, we need to call its close method, not
close the entire screen.
2020-11-22 14:53:40 +01:00
Jonas Herzig d4b7fdf949 Update remap (fixes #414)
Support remapping of mixin targets declared in static fields (specifically
`core.MixinKeyboardListener:ON_KEY_PRESSED`).

String literals in annotations can be specified in a static final field instead
of inline (so you can e.g. use the same literal in multiple places).
This commit adds support for remapping those external literals.
2020-11-22 14:31:03 +01:00
Jonas Herzig ee02944391 Fix crash when rendering ODS without depth export (fixes #418) 2020-11-22 13:00:37 +01:00
Jonas Herzig 36276d32b6 Fix camera path export roll being inverted (fixes #427) 2020-11-22 09:14:51 +01:00
Jonas Herzig 6879729633 Fix OpenEXR export option throwing UnsatisfiedLinkError on Windows 2020-11-15 13:17:00 +01:00
Jonas Herzig 4a5d971be5 Release 2.5.0 2020-11-14 10:01:46 +01:00
Jonas Herzig bcaf946f13 Move .gitkeep from 1.16.3 to 1.16.4 folder (fixup c620e2c) 2020-11-14 09:55:36 +01:00
Jonas Herzig 514c4fb30d Merge pull request #412 from LindaJuffermans/docs-201110-labymod370
LabyMod update 3.7.x has been tested with ReplayMod and works.
2020-11-10 13:35:55 +01:00
Jonas Herzig 0f67ba157e Merge pull request #408 from LindaJuffermans/docs-201107-direct-ffmpeg-link
Update ffmpeg link to the essential release ZIP file directly.
2020-11-08 10:15:42 +01:00
Jonas Herzig 1b4e68e4b2 Merge pull request #410 from LindaJuffermans/docs-201107-quickmode-194
Quick Mode is only available for MC 1.9.4 and up.
2020-11-08 10:13:24 +01:00
Jonas Herzig d3f1ce92b9 Merge pull request #407 from LindaJuffermans/docs-201107-resourceloader
Resource Loader is not compatible
2020-11-07 16:02:27 +01:00