Commit Graph

228 Commits

Author SHA1 Message Date
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
Jozufozu
cb47ca8452 Reload
- Redo shader loading
 - Now loads an immutable SourceFile containing some metadata
 - Replace legacy compilation pipeline with improved new one using new api
 - Builtins are defined in one file, now "header"
 - New ErrorReporter/ErrorBuilder methods
 - Fancier shader loading errors
2021-08-08 22:35:27 -07:00
zelophed
ca02ac038f Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java
2021-08-07 01:23:43 +02:00
PepperBell
99be93e8a6 Synchronization
- Make PonderRegistry use a ThreadLocal current namespace
- Add synchronized blocks to some methods that modify maps or lists
- Move some non-thread safe method calls to the event.enqueueWork
lambdas
2021-07-31 17:28:41 -07:00
zelophed
0fe3230640 color me surprised
- move functionality of ColorHelper into a new Color class
- replace usage of java.awt.Color with our own color in most cases
2021-07-31 14:21:19 +02:00
Jozufozu
17421df5ce Contraptions have l a y e r s
- SBB contraption rendering is done through Flywheel's RenderLayerEvent
 - Fix instanced tile rendering on contraptions and in ponder worlds
 - Bump flywheel version
 - Some package-info.javas
2021-07-28 14:25:50 -07:00
Jozufozu
cb8e6d92d5 Contraptions use flywheel for vanilla tiles
- Update more usage of glActiveTexture to the enum wrapper
 - Fix superglue rendering in the solid layer
 - Fix issue caused by states with different textures on contraptions
 - Bump flywheel version
2021-07-26 16:27:18 -07:00
simibubi
b6b6b32e96 SuperBustedBuffer
- Removed obsolete milk filling/draining code and recipes
- Fixed lack of transforms on cpu rendered stuff
- Move fluid remapper to RemapHelper
2021-07-24 22:32:27 +02:00
Jozufozu
a52b6d766f MaterialGroups and massive refactors
- Move material stuff to its own package
 - The various render functions in the material tree now bind to specific render layers
 - Instancers can choose which layer to use
 - The layers are SOLID, CUTOUT, and TRANSPARENT
 - More layers are likely unnecessary, but we'll see
 - Deprecate functions in MaterialManager in favor of more builderesque ones using MaterialGroups
 - Catching up with Flywheel
 - Remove MatrixStacker in favor of Flywheel's TransformStack (thread safety too)
2021-07-21 20:30:35 -07:00
a048285699 Bulk remap, compiles 2021-07-15 11:32:03 +02:00
PepperBell
e3386c178a Minor SBB clean up
- Allow custom light from dual (utility) light method to be applied
- Reorganize and rename some members
2021-07-10 22:39:42 -07:00
simibubi
2821fd7135 Lamptank
- Fixed custom rendered models rendering full bright when supposed to render full dark
2021-07-11 01:14:38 +02:00
Jozufozu
f1da8b8f1e Cull code to fix crash on mac
- A bunch of dead code removal
2021-07-10 15:20:34 -07:00
PepperBell
b5c0684dd6 Rendering refactors
- Fix fluid rendering in JEI scenes
- Add more separate options to SuperByteBuffer
- Fix copper backtank diffuse when worn
- Fix enchantment glint on custom rendered items; Closes #1846
2021-07-03 01:03:37 -07:00
PepperBell
4bf61e049d Organize imports 2021-06-27 11:03:21 -07:00
JozsefA
3ce4e2c5e8 Cleanup flywheel event listeners, fix crash on server startup 2021-06-23 13:19:03 -07:00
JozsefA
d189efd987 Whoops missed some classes 2021-06-23 00:16:24 -07:00
JozsefA
aeff644cc3 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/assets/create/lang/en_us.json
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pl_pl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
#	src/main/java/com/simibubi/create/AllContainerTypes.java
#	src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerTileEntity.java
#	src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintEntity.java
#	src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintOverlayRenderer.java
#	src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java
#	src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintScreen.java
#	src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java
#	src/main/java/com/simibubi/create/content/logistics/item/LinkedControllerScreen.java
#	src/main/java/com/simibubi/create/content/logistics/item/filter/AttributeFilterScreen.java
#	src/main/java/com/simibubi/create/content/logistics/item/filter/FilterContainer.java
#	src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java
#	src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java
#	src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java
#	src/main/java/com/simibubi/create/foundation/gui/mainMenu/CreateMainMenuScreen.java
#	src/main/java/com/simibubi/create/foundation/ponder/content/ChainDriveScenes.java
#	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
#	src/main/resources/META-INF/mods.toml
#	src/main/resources/assets/create/lang/default/messages.json
#	src/main/resources/assets/create/lang/default/tooltips.json
2021-06-19 16:11:18 -07:00
JozsefA
652111c233 Yeet 2021-06-19 00:29:18 -07:00