Skip to content

Volumetric armor meshes#599

Draft
LengthenedGradient wants to merge 169 commits into
devfrom
volumetric-armor-meshes
Draft

Volumetric armor meshes#599
LengthenedGradient wants to merge 169 commits into
devfrom
volumetric-armor-meshes

Conversation

@LengthenedGradient

Copy link
Copy Markdown
Member

Draft PR for organization and testing

Temporary placeholders; subject to change
Eventually intended to function similar to the P2M controller. Will likely support compile/decompile actions for ease of building.
Reuse old work that's still salvageable
This may be better for storage later.
Will need to remove backwards compatibility placeholders later.
Certain classes like primitives will reinitialize, so we shouldn't generate the mesh twice if we know it will be replaced.
From elsewhere in the codebase: "skull is around 7-8mm on average for humans, but this gets thicker with bigger creatures; further modified by bone density compared to steel"
Render server (orange) and client (purple) convex vertices to demonstrate desync
This stuff is 2.5x the density of steel. Probably worth more in KE/CE than now.
Network convex materials, so armor properties can be computed on the client.
Similar to trace but as an image.

Prevent Toolgun effect from firing when doing armor scans. Also prevent combos from affecting each other, e.g. CTRL vs CTRL + SHIFT.
Add penetration slider which colors are scaled off of.
Singleplayer prediction issues, underlayed image not appearing.
Lazy initialize material instead of using a timer delay.
Ideally we shouldn't hard code the locations unless we have to.
Should only be used for tool information
Pseudo contraptions will have similar structures to regular contraptions, but for the purposes of a list of entities. This way, contraption and sphere search metrics can use the same pipeline.

Refactored both contraption readout and cost breakdown to match this.
ACF.CostLimit global added. Defaults to 500.

Randomly checks all contraption's costs and disables those that exceed the limit.
Converts all supported sprops on an old dupe with armor applied to them into their primitive equivalents
Armor was only saved to entity modifiers if done through the player's tool. This has been fixed.
While storing everything as indices is useful for serialization, that could just be done in a one time step.

It doesn't make so much sense to reindex when doing many intersection queries.
When the user clips inside of an entity, trace.normal returns abnormal directions, if at all. Use this instead.
Should stop annoying errors when it can't apply to existing primitives
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants