Commit graph

246 commits

Author SHA1 Message Date
PepperCode1
fcb5267ae0 Merge branch 'mc1.18/dev' into mc1.18/global-railways
Conflicts:
	gradle.properties
	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
2022-02-21 10:51:42 -08:00
PepperCode1
0cf0d3930e Shuffling the shade
- Update Flywheel and add support for unshaded quads
- Fix models marking shafts and other parts as unshaded
- Refactor SchematicRenderer buffer building
- Improve block entity render bounding box caching
- Fix #2785
2022-02-19 21:42:40 -08:00
simibubi
34bc21658a "|" means go
- Added Signals
- Nixie tubes no longer have a base plate
- Nixie tubes can now mount to walls
- Nixie tubes display signal info when mounted to a signal box
- Train speeds are now configurable
- More Jank patrol
- Track debug now on 'H' & 'J'
2022-02-16 03:14:31 +01:00
PepperCode1
160e823282 JEI and glowing fixes
- Fix sequenced assembly scene in newer JEI versions; Fix #2779
- Fix inconsistent JEI fan scenes; Fix #2748
- Fix glowing RenderTypes not respecting lightmap values
2022-02-13 14:04:52 -08:00
PepperCode1
3aa0644426 Diffuse fixes II
- Add ForcedDiffuseState to push/pop forced diffuse calculators
- Transform the SBB instead of the global PoseStack when applying ponder
transforms
- Tweak used shaders in RenderTypes
- Rename LerpedFloat.Interpolater to Interpolator
- Update Flywheel
2022-02-12 21:15:41 -08:00
PepperCode1
99e94f7c6e Update Flywheel + diffuse fixes
- Fix ponder diffuse when using shaders
- Partially fix incorrect diffuse formula being used in the nether
- Invalidate schematic renderers at the appropriate time
2022-02-08 20:58:13 -08:00
PepperCode1
3c71e8041b Remove unnecessary code
- Remove block vertex color code
- Remove experimentalRendering config
- Move as much Item.Properties configuration to AllItems as possible
2022-02-06 12:22:43 -08:00
Jozufozu
962975a09d Beziterating
- Instanced tracks
 - Cleaner bezier connection iteration
2022-02-06 01:07:17 -08:00
Jozufozu
d3bbeb5a7a Reorganize and simplify
- Remove AllMaterialSpecs#flwInit
2022-01-17 16:42:24 -08:00
Jozufozu
74a147db30 Remove "states" field from program jsons 2022-01-17 16:42:24 -08:00
Jozufozu
88d8d24663 Separate vertex and fragment shaders and templates 2022-01-17 16:42:24 -08:00
Jozufozu
9f64ae4e9a Almost sane shaders
- No more ShaderContext. Programs are directly retrieved through ProgramCompilers.
 - Templates don't need generics
 - Remove ExtensibleGlProgram
2022-01-17 16:42:24 -08:00
Jozufozu
2856594cc8 Pass RenderLayer into contraption structure context 2022-01-17 16:42:23 -08:00
Jozufozu
0b25335f8e Compile everything on the fly 2022-01-17 16:42:23 -08:00
Jozufozu
2b6348855a Shader sanity
- Keeping up with Flywheel changes
2022-01-17 16:42:23 -08:00
Jozufozu
0ff67382ee Fix visual artifacts with contraptions while using opfine.
- Fix darkening of tile entities while using shaders

I think the buffers from the shadow pass were bleeding into the color pass.
2022-01-06 13:05:29 -08:00
PepperCode1
c8ba7b88cc Update to Flywheel 0.5.1 2022-01-03 23:52:36 -08:00
PepperCode1
cf3dac6ad0 Prevent loading connected textures on server
- Wrap ConnectedTextureBehaviour and AllSpriteShifts instances in
Suppliers where necessary
- Use client connection's instead of level's RecipeManager when finding
recipes for JEI
- Add missing override annotations in SymmetryEffectPacket
- Organize imports
2022-01-03 15:23:42 -08:00
Jozufozu
d98a07736c No more diffuse divide
- Move PlacementSimulationWorld to Flywheel as VirtualRenderWorld
 - Simplify ModelTransformer
 - Model doesn't need #configure
 - Bump Flywheel build
2021-12-25 15:56:15 -08:00
Jozufozu
3cb84a5db5 Merge branch 'mc1.18/flwbatching' into mc1.18/dev 2021-12-22 22:06:07 -08:00
Jozufozu
748c25b3ec Better config/backend to account for multiple engines
- Rename probably too many things
 - Needs to be tested with Optifine
2021-12-22 22:00:27 -08:00
Jozufozu
97490e51ca Finally safe vertex formats
- true to false for Pepper
 - IBufferedModel -> BufferedModel
 - VertexFormat -> BufferLayout
 - Use ImmutableList in BufferLayout
 - LayoutItem naming consistency
 - Try to reduce usage of raw BufferLayouts
 - Move vertex interfaces to api package
 - #createWriter and #createReader in VertexType
 - Some documentation
2021-12-22 02:45:46 -08:00
Jozufozu
b8034b4b2e util and core cleanup
- Consolidate/audit utility classes
 - Move more towards sane vertex types
2021-12-22 00:22:43 -08:00
Jozufozu
aa96a28f0b Make the BatchingEngine not jittery
- Stop having threads compete for a single BufferBuilder
 - ...by skirting around minecraft's BufferSource
 - Begin work on making vertex writing sane
2021-12-21 22:47:30 -08:00
PepperCode1
7942b570f0 Brackets, models, and reload listeners
- Fix bracket contraption rotation; Fix #1856
- Make sure KineticTileEntityRenderer only renders once
- Make use of new ModelUtil method in BakedModelRenderHelper
- Clear up BracketedKineticBlockModel and PipeAttachmentModel logic
- Replace ISimpleReloadListener usage with ResourceManagerReloadListener
2021-12-21 13:44:00 -08:00
Jozufozu
3e01d3f441 Batching Engine
- Implement alternate backend using SBBs
2021-12-15 17:13:09 -08:00
PepperBell
080b048b2f SmarterTileEntity
- Clean up SyncedTileEntity and SmartTileEntity
- Allow schematicannons to be rotated based on placement angle
- Fix DirectionalExtenderScrollOptionSlot rotation
- Remove deprecated usage of JsonReader and LazyLoadedValue
- Move ToolSelectionScreen to content.schematics.client
- Organize imports
- Update to 1.18.1
2021-12-10 16:58:05 -08:00
Jozufozu
2efbcdbd6b No more material spec, everything is StructType 2021-12-09 16:42:13 -08:00
Jozufozu
ef5afd42c3 Move api package 2021-12-09 15:32:55 -08:00
Jozufozu
1a3f27abc8 Reorganize, rename, refactor, 0.4.0
- Move most user facing interfaces to flywheel.api package
 - Refactor InstanceData to have no package private classes
 - Remove 'I' prefix from many interfaces
 - ILightUpdateListener -> LightListener
 - IMultiProgram -> ContextAwareProgram
 - IFlatLight -> FlatLit
 - All materials use the same vertex format: UNLIT_MODEL
2021-12-09 00:44:43 -08:00
PepperBell
c6e630a60c The copper commit
- Match Create's copper block variants with vanilla's copper block
variants
- Add CopperBlockSet and CopperRegistries
- Remove copper plating block and OxidizableBlock
- Add remaps for copper ore and copper block and organize RemapHelper
- Fix belt funnel model names
- Bump required Forge version to 37.1.0
- Organize imports
2021-12-03 23:48:55 -08:00
Jozufozu
85b1b86883 Unsafe writers for StructTypes
- Bump flywheel build
2021-12-02 19:32:40 -08:00
PepperBell
1fdf1ff7e9 Destroyed and deprecated
- Fix rotation indicator particles
- Fix sail dyeing
- Turn BreakProgressHook into DestroyProgressRenderingHandler interface
- Refactor overlay rendering to properly use API
- Change SpriteShiftEntry to use StitchedSprites
- Use OnDatapackSyncEvent instead of mixin
- Organize foundation.ponder package
- Remove usage of deprecated:
-   Durability bar methods
-   Constants class
2021-11-27 14:49:43 -08:00
Jozufozu
028ac4bbda Transform stack changes
- Add ToolBoxInstance
 - Move from MatrixTransformStack to TransformStack.cast where possible
 - SuperByteBuffer implements transform traits on its own
 - Bump flywheel build
2021-11-23 18:16:57 -08:00
PepperBell
7b4f9f924f Over-rendered
- Replace AngleHelper.horizontalAngle with horizontalAngleNew (return 0
instead of -90 for vertical directions)
- Fix FluidRenderer not calculating correct UVs for integer positions
- Fix FluidRenderer rendering streams and flowing texture incorrectly
- Slightly improve performance of outlines
- Rename PartialBufferer to CachedBufferer
- Move specific code out of SuperByteBufferCache into CachedBufferer and
BakedModelRenderHelper
- Move Compartment inside SuperByteBufferCache
- Rename some methods and fields
2021-11-21 00:44:37 -08:00
PepperBell
795ef07b38 Fix Flywheel contraption lighting
- Fix some events being registered to the wrong event bus
- Organize some event registration
- Fully fix FluidRenderer
2021-11-10 22:15:26 -08:00
simibubi
91e03de96b Blocks of Cogs
- Slightly tweaked cogwheel models
- Added Encased Cogwheels and Encased Large Cogwheels
2021-11-10 02:41:49 +01:00
PepperBell
ab8f6a01ce Chipped away too much
- Fix formatting and tooltip depth regressions
- Fix outline rendering
2021-11-07 00:26:41 -07:00
PepperBell
e0b496f807 Chipped away 2021-11-06 20:59:58 -07:00
PepperBell
1c23302544 Chipping away, Part III 2021-11-02 19:04:52 -07:00
simibubi
00b6a32e77 Chipping away, Part II 2021-11-02 16:25:48 +01:00
PepperBell
0cb7a0260e Chipping away 2021-11-01 22:18:30 -07:00
simibubi
741fa401d8 Move to official class names
- also updated buildscript to 1.17
- some remap corruption from compilation errors in flw/next
2021-11-02 00:08:20 +01:00
simibubi
8f1fd1c94e Merge remote-tracking branch 'origin/flw/next' into mc1.17/dev 2021-11-01 19:49:50 +01:00
PepperBell
fd1990f732 Dyed toolbox fixes
- Add in-world toolbox dyeing
- Fix toolbox dyeing recipe not keeping stack NBT
- Fix toolbox handle rendering on solid layer
- Fix shadows for items on belts
- Clean up other in-world dyeing and dyed block code
2021-10-30 12:43:34 -07:00
PepperBell
9870431db8 Miscellaneous refactors
- Refactor custom rendered items; The renderer now creates the model
instead of the other way around
- Only tick wrench cog rotation and linked controller renderer if client
is not paused
- Move all model swapping code from CreateClient to ModelSwapper
- Register client resource reload listener before initial resource
reload
- Use TextureStitchEvent.Post event instead of resource reload listener
for filling sprites of SpriteShiftEntries
- Reuse Random instance in PartialItemModelRenderer
- Make all config fields final
- Merge package foundation.renderState into foundation.render
- Move BreakProgressHook from package foundation to foundation.block
- Rename ResourceReloadHandler to ClientResourceReloadListener
- Rename ProperDirectionalBlock to WrenchableDirectionalBlock
2021-10-16 01:46:49 -07:00
PepperBell
d72f343fdf Various cleanup
- Remove Create namespace restriction in CTSpriteShifter
- Add method to register ponder chapter lang
- Clean up palette block code; Closes #386
- Clean up tag code
- Use Create.asResource in as many places as possible
- Organize imports
2021-10-02 13:02:27 -07:00
Jozufozu
069506ae09 Initial data/struct format refactor
- Inspired by jellysquid3's vertex sinks
 - More robust/extensible solution for data writes
2021-09-12 14:49:01 -07:00
Jozufozu
322902d056 Some decoupling
- New Loader class in charge of loading and compiling everything
 - ShaderSources now only loads sources
 - ShaderSources is immutable now
 - Resolver singleton in charge of managing name resolutions
 - ProgramSpecs go through Resolver
 - WorldShaderPipeline no longer needs reference to ShaderSources
2021-08-10 15:20:52 -07:00
Jozufozu
208c6eff89 A heck of a lot
- Reorganize everything
 - Isolate SourceFile related things
 - Should consider decoupling ShaderLoader from resource loading
 - Document a lot of newer things
 - Index functions
 - Awkward WorldContext builder
 - Template responsible for providing shader inputs
 - Template is now an abstract class
 - Template provides GLSL version
 - ProgramSpecs now only accept one file
2021-08-10 02:06:23 -07:00