- Move source set bundling/common source set sharing logic into
transitiveSourceSets and make it more flexible
- Remove commonProject field from platform extension
- 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
- 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_"
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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"
- 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
- Switch to Y X Z ordering
- In theory this will be more coherent since the first lut step on the
GPU will have a more constrained range of values in the worst case
- LightLut now does incremental updates java-side
- Still requires a full upload when changed, though it does not take up
much space
- ShaderLightVisualStorage now actually triggers removal of light
section from the lut
- Don't initialize instancers if they have 0 instances
- Never shrink the index pool
- Actually process recently allocated meshes to avoid growing the list
forever
- Fix hiz test bounds clamping, good ol off by 1 error
- Remove check for useMin since it's never used and the depth reduce
shader is hard-coded already
- Replace monolithic lut building function with a class representing a
layer of the lut
- Actually need 2 classes because int[] and Object[] aren't trivial to
make a type parameter, and we don't really want to be boxing ints here
- No longer need sorted inputs
- Should fix index out of bounds crash caused by reserving space for the
wrong index layer
- This will make it much easier to change the coordinate ordering scheme
- Clean up VertexWriter to closer match BufferBuilder
- Clean up MeshEmitter on Fabric/NeoForge and remove BufferBuilderAccessor
- Remove model data and model data lookup parameters in NeoForge model builders; use IBlockGetterExtension#getModelData instead
- Fix artifact Minecraft version
* Automated testing
* Testing testing
- Use 2 spaces for indents yaml
- Move setupTestMod to PlatformExtension
- Allow specifying the sourceSet for the testMod artifact
- Rename things to camelCase
- Use rootCompile from transitiveSourceSets for the testMod source sets
- Use a blanket remapTestModJar task in the gh actions build
* Fail slowly
- We want to know the results of both tests regardless
* Add workflow dispatch
* Shoes should be steel toed, dangerous stuff
* Update build.yml
* fix modid
* Update FlywheelTestModClient.java
* add debug logging
* fix syntax issues
* fix issues
* Update build.yml
* Add debug logging
* more logging
* get testmod from correct dir
* switch to env var
* Why wait?
- Immediately audit on client tick
* DidObfuscate
- Fix RenderSystemMixin on fabric
- setShaderFogShape's arguments need to be remapped, but the name of the
function should not be. Fortunately mixin allows matching by function
name alone
* Clever commit title
- Change the Fabric mod ID to match Forge
- Move "Flywheel Test Mod" to static
- Cleanup start/stop messages
- Use the client start event on Fabric
---------
Co-authored-by: Jozufozu <jozsefaug@gmail.com>
- Generic pain relief
- Use new Instance[] rather than capturing the class object of the
instance type
- Make InstancePage static, but manually track the instancer parent so
we can check when stealing
- Simplify array creation helpers and make them static
- Mark InstanceHandleImpl#state as UnknownNullability
- Only upload changed page frame descriptors
- In the instancer, track changed contents separately from changed
validity, so we can separately upload objects and descriptors