Commit graph

264 commits

Author SHA1 Message Date
Jozufozu
cfc210c9af Merge branch '1.20.1/dev' into 1.21.1/dev
# Conflicts:
#	gradle.properties
2025-01-26 17:28:50 -08:00
Jozufozu
4ca5e202a2 Is this thing on?
- Fix new fabric instances defaulting to flywheel:off
2025-01-25 10:37:46 -06:00
Jozufozu
e36dbe12d5 Post merge fixes
- Move ForgeVanillinConfig -> NeoForgeVanillinConfig
- Fix references to old forge config builder
- Move mixin declaration to mods.toml
- Remove jij'd mixinextras
2025-01-24 16:32:35 -06:00
Jozufozu
1b0e327d7f Merge branch '1.20.1/dev' into 1.21.1/dev
# Conflicts:
#	common/build.gradle.kts
#	gradle.properties
#	vanillinForge/src/main/java/dev/engine_room/vanillin/VanillinForge.java
2025-01-24 15:54:58 -06:00
Jozufozu
94d99af4b0 Suddenly: mod compat
- Config fields default to "default" and can be either disabled or force
  enabled via the vanillin config file
- Alternatively, mods can set custom properties to disable specific
  visuals
- Emit a warning when a visual is disabled due to mod intervention
- Emit a warning when a visual is force enabled despite mod intervention
2025-01-24 11:49:59 -06:00
Jozufozu
6d2aab7716 Vanillinization
- Move all text visual related things into vanillin
2025-01-23 12:14:01 -06:00
Jozufozu
6003748f0e Merge remote-tracking branch 'origin/1.20.1/text-visual' into 1.20.1/dev
# Conflicts:
#	common/src/backend/resources/assets/flywheel/flywheel/internal/indirect/cull.glsl
#	common/src/lib/java/dev/engine_room/flywheel/lib/internal/FlwLibLink.java
#	common/src/main/java/dev/engine_room/flywheel/impl/FlwLibLinkImpl.java
#	common/src/main/java/dev/engine_room/flywheel/vanilla/VanillaVisuals.java
#	common/src/vanillin/java/dev/engine_room/vanillin/visuals/SignVisual.java
#	forge/build.gradle.kts
2025-01-23 12:07:07 -06:00
Jozufozu
dbd766a5c4 Fancy config groundwork
- Add missing @Nullable annotations to visualizer registry
- Build out common-side configuration infrastructure
- Add fabric config json for vanillin
- Add equivalent forge config json
- Want to allow for toggling specific visualizers/updating config with a
  command
2025-01-23 11:54:32 -06:00
Jozufozu
6fc8d8dcdb Merge branch '1.20.1/dev' into 1.21.1/dev
# Conflicts:
#	neoforge/build.gradle.kts
#	vanillinNeoForge/build.gradle.kts
2025-01-21 17:26:30 -06:00
Jozufozu
809a0eb616 Get JOML'd
- Add more rotate methods to Affine and Rotate
- Add optimized implementations in TransformedInstance
2025-01-19 11:25:21 -06:00
Jozufozu
10d3923bf5 Tragedy of the commons
- Publish common vanillin artifacts
- Extend JarTaskSet publish to accept an action
2025-01-18 15:00:33 -06:00
Jozufozu
99d976fb59 Uncharted: At wit's end
- Need to publish un-remapped sources for forge/mojmap based projects
2025-01-18 14:36:56 -06:00
IThundxr
09088569be
misc fixes 2025-01-17 19:50:29 -05:00
IThundxr
402cc4d2e3
Merge remote-tracking branch 'upstream/1.20.1/dev' into feat/multi-loader-1.21 2025-01-17 19:46:01 -05:00
Jozufozu
40bd90b640 One and the same
- Add model id debug view
- Want to be able to visually check that instances are pointing to the
  same model
2025-01-16 10:57:11 -08:00
Jozufozu
045b065166 I do declare
- Move source set bundling/common source set sharing logic into
  transitiveSourceSets and make it more flexible
- Remove commonProject field from platform extension
2025-01-12 19:03:32 -08:00
Jozufozu
0dc8f97b73 String theory
- Assume group/version are behind properties in subproject.init
- Force each subproject to manually specify their base archive name
- Don't generate mod/api artifact ids, just write them out by hand
- Remove DependentProject
2025-01-12 16:08:38 -08:00
Jozufozu
b541c19785 See yourself out
- Replace outgoing jars by directly consuming classes/resources from
  common
- Add vanillin logo
- Move subproject plugin logic to an extension so it can be configured
- Rename "mod_" properties to "flywheel_"
2025-01-12 14:04:21 -08:00
Jozufozu
6bea04ffee No need to get spicy
- Move common vanillin stuffs to a "vanillin" sourceset
- Add vanillinForge and vanillinFabric subprojects
- Mostly do gradling from scratch
- Export remap jars from platform projects to `include` in vanillin
  projects
2025-01-12 13:02:50 -08:00
Jozufozu
b379be57ae Make explicit the implicit
- Add @apiNotes explaining that flywheel/ is prepended to each shader
  ResourceLocation's path
- Document all InstanceType fields
2025-01-06 22:03:43 -08:00
IThundxr
849a095e12
Merge remote-tracking branch 'upstream/1.20.1/dev' into feat/multi-loader-1.21
# Conflicts:
#	neoforge/src/main/java/dev/engine_room/flywheel/impl/FlwCommands.java
#	neoforge/src/main/java/dev/engine_room/flywheel/impl/NeoForgeFlwConfig.java
2025-01-05 14:48:01 -05:00
Jozufozu
a89756a709 Nobody Else Shall Wonder
- Allow materials to specify the cardinal lighting mode
- Hard-code the cardinal lighting mode to be one of 3
  - Off
  - Chunk
  - Entity (default)
- This gives artists some control over how they want their models to
  appear in-game. Kryppers in particular noticed lighting discrepancies
  between a flywheel model and a block model
- Remove "useLightDirections" config, command, and uniform
- Remove "diffuse" flag from Material
2025-01-05 11:19:06 -08:00
IThundxr
14a6447806
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21
# Conflicts:
#	common/src/lib/java/dev/engine_room/flywheel/lib/internal/FlwLibXplat.java
#	common/src/lib/java/dev/engine_room/flywheel/lib/model/ModelUtil.java
#	common/src/lib/java/dev/engine_room/flywheel/lib/model/Models.java
#	fabric/src/lib/java/dev/engine_room/flywheel/lib/model/baked/FabricBakedModelBuilder.java
#	fabric/src/lib/java/dev/engine_room/flywheel/lib/model/baked/FabricBlockModelBuilder.java
#	fabric/src/lib/java/dev/engine_room/flywheel/lib/model/baked/FabricMultiBlockModelBuilder.java
#	fabric/src/main/java/dev/engine_room/flywheel/impl/FlwLibXplatImpl.java
#	forge/src/lib/java/dev/engine_room/flywheel/lib/model/baked/ForgeBakedModelBuilder.java
#	forge/src/lib/java/dev/engine_room/flywheel/lib/model/baked/ForgeBlockModelBuilder.java
#	forge/src/lib/java/dev/engine_room/flywheel/lib/model/baked/ForgeMultiBlockModelBuilder.java
#	forge/src/main/java/dev/engine_room/flywheel/impl/FlywheelForge.java
#	neoforge/src/lib/java/dev/engine_room/flywheel/lib/model/baked/BakedModelBufferer.java
#	neoforge/src/main/java/dev/engine_room/flywheel/impl/FlwLibXplatImpl.java
2024-12-27 11:24:29 -05:00
Jozufozu
e57702f742 Chronically inline
- Replace ModelUtil.VANILLA_RENDERER with the actual vanilla renderer
- Inline it and remove the static field
- Remove the BlockRenderDispatcher parameter from all BakedModelBufferer
  functions
- Remove FlwLibLink#createVanillaBlockRenderDispatcher
2024-12-24 20:37:42 -08:00
Jozufozu
843b7e9a0b 60x memory optimization
- Downscale logo included in jar to 256x and run it through a png
  optimizer
2024-12-24 20:15:09 -08:00
Jozufozu
38c5b439d9 Lookin good
- Update logo
- Update README
2024-12-24 17:22:32 -08:00
Jozufozu
ddcc96e52a Cover me!
- Switch ResourceReloadCache to RendererReloadCache
2024-12-24 16:44:29 -08:00
PepperCode1
2697fc11d3 Inline platform-specific model builders 2024-12-08 12:15:52 -08:00
IThundxr
7617c8e415
Fix sodium compat 2024-12-08 11:14:43 -05:00
IThundxr
566df485d5
Embeddium compat 2024-12-08 11:06:48 -05:00
IThundxr
db9e1b753a
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21 2024-12-08 10:55:55 -05:00
Jozufozu
e1ddd7c2fc You merely adopted it
- Default light to 0 in DefaultVertexList
- Take the max of mesh and instance light in the instance shader
2024-12-02 17:19:00 -08:00
Jozufozu
9e60045d43 Dimensional storage
- Fix exception thrown in light storage when vising nether and end
  dimensions
- Try to make section collection more tolerant, but more work on a
  fallback path is likely needed
2024-11-18 16:13:25 -08:00
Jozufozu
7148ff3f31 Breaking bright
- Fix crumbling having an incorrect draw buffer bound, causing it to
  appear too bright on indirect
2024-11-17 12:24:14 -08:00
Jozufozu
00bd05af88 Who's counting?
- Atomically count instances in indirect instancer
- Fixes indirect draws/instancers never being deleted
- Fix baseDraw being set incorrectly on intel
- Handle setting baseDraw in GlCompat#safeMultiDrawElementsIndirect
2024-11-16 14:54:23 -08:00
IThundxr
eb1c56e9ac
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21 2024-11-16 13:44:29 -05:00
Jozufozu
3811da166c Wait a minute
- Add debug flag to disable frame/tick plan execution
- Should help debugging cases where a visual constructor produces a
  visual in an invalid state like the weeping shulker bug
2024-11-15 18:18:44 -08:00
Jozufozu
f3845a15fb Not a lut left
- Prune empty layers from the lut to avoid it just getting larger as the
  player explores the world
2024-11-14 22:33:14 -08:00
Jozufozu
6431a84f67 Sky's edge
- Fix darkness when collecting light sections from high in the air
- Add dummy data layer impl to return a constant
- Empty sky section returns 15
- Empty block section returns 0
- Copy vanilla's logic for determining which data layer to use for a
  given position's sky light value
- While I'm at it, retrieve light section storage via an accessor to
  avoid allocating SectionPos objects
- Improve lut debug view
2024-11-14 22:33:14 -08:00
IThundxr
89d87555e6
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21 2024-11-13 16:30:36 -05:00
IThundxr
c726d7cfa2
Misc renames 2024-11-13 16:29:27 -05:00
PepperCode1
ac544245b3 Deferred default
- BackendManager.defaultBackend now dynamically computes the result every time it is invoked
- Forge backend config value now uses a supplier to provide the default backend
- Fix Fabric backend config being saved to "flw_backends" but loaded from "flw_backend"
2024-11-12 22:52:38 -08:00
PepperCode1
0d2971007b Fix VertexWriter
- Bump pack format in pack.mcmeta
2024-11-12 21:32:08 -08:00
IThundxr
c95bd4c722
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21
# Conflicts:
#	forge/src/main/java/dev/engine_room/flywheel/impl/FlwCommands.java
2024-11-12 20:00:34 -05:00
Jozufozu
46fb59289f Weeping shulkers
- Properly fix shulker boxes appearing in the wrong location
2024-11-12 16:55:20 -08:00
IThundxr
fd786b0ad7
Merge remote-tracking branch 'upstream/1.20/dev' into feat/multi-loader-1.21
# Conflicts:
#	.github/workflows/build.yml
#	forge/src/main/resources/META-INF/neoforge.mods.toml
2024-11-12 19:53:13 -05:00
Jozufozu
cfcb4246af Effective debugging
- Add light storage debug view courtesy of effect visuals
- Yellow boxes are filled in sections
- Red/green/blue bars represent the LUT
- Cyan boxes are the "wasted space" in the LUT. Freely representable
  sections that are simply not filled in
2024-11-12 13:33:30 -08:00
Jozufozu
6f0a2b0e56 Reticulated splines
- Fix line models rendering garbage
- Fix shulker boxes appear at the origin before snapping into place
- Make the box and line models public
2024-11-12 13:33:11 -08:00
Jozufozu
868a263c28 No one can hear you free
- Silence empty model warning behind a system property
- Fix gpu memory leak from light/matrix buffers on indirect
2024-11-11 22:33:41 -08:00
Jozufozu
6709682785 A little less lit
- Fix normalizing constant in light_lut.glsl to make shader light
  slightly darker and consistent with chunk lighting
2024-11-11 18:25:57 -08:00