Overhaul#20
Open
LengthenedGradient wants to merge 5 commits into
Open
Conversation
Added the stuff for families Updated hook names
Sorry, I got carried away and didn't make incremental commits. A lot of bugfixes, especially surrounding blockers. They add a surprising amount of caveats. Bigly overhauled families, they are now properly a component of contraptions rather than a thing sitting alongside them. Big optimizations in bulk movements such as merging/splitting. Physical, parented, center of mass is tracked for families and contraptions Simplified the internal tracking of entities -- no more entIndex nonsense New lifecycle hooks for families: cfw.family.init(family) cfw.family.removed(family) cfw.family.added(family, ent) cfw.family.subbed(family, ent, wasPhysical) cfw.family.merged(family, oldFamily) cfw.family.split(oldFamily, newFamily, newAncestor) cfw.family.ancestorRemoved(family, oldAncestor, newAncestor) cfw.family.ancestorInserted(family, oldAncestor, newAncestor) cfw.family.becameRoot(family) / cfw.family.becameSubFamily(family) cfw.family.massChanged(family, ent, newMass) Renamed contraption/family.created to init Added cfw.contraption.massChanged(contraption, ent, newMass) Added ENT:GetChildren detour for blockers New function: CFW.addTransformProxy(ownerClass, ownerField, proxyClass, proxyField) With addTransformProxy, an entity parented to a turret now links to the turret drive in CFW, not the rotator. The rotator is fully excluded from contraption connectivity — SetParent separates the engine parent (the proxy, for transforms) from the logical parent (what CFW links/GetParent reports). Anything walking CFW links/families around turrets will see the drive, never the rotator.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Large CFW rework:
CFW.addTransformProxyreplaces the previous parent detour system used for stuff like acf_turret entities