Skip to content

[FEATURE] Marking Shaders#2

Open
mqole wants to merge 5 commits intosyndicate-ss14:masterfrom
mqole:marking-shaders
Open

[FEATURE] Marking Shaders#2
mqole wants to merge 5 commits intosyndicate-ss14:masterfrom
mqole:marking-shaders

Conversation

@mqole
Copy link
Copy Markdown
Contributor

@mqole mqole commented Mar 15, 2026

About the PR

Added shader support for character customizable markings.

Ideologically a port of github.com/impstation/imp-station-14/pull/842 by widgetbeck, but because of nubody all the code had to be rewritten. So its all original. Beck is fine w the relicense even if it wasnt

Opportunity to rewrite this also meant I got to make it possible to apply multiple shaders to a single marking, which aint in the imp implementation. See media for an example yaml.

ALSO- set debug random characters to false because i got pissed off testing this not being able to do markings but i can change that back if people want

Why / Balance

Prerequisite for a LOT of bullshit

Technical details

MarkingPrototype now has an additional 'shaders' datafield, which takes a dictionary of two strings: state, and shader name.
If this field is undefined, markings will use the default shader.

Shaders are modified in ApplyMarkings. Unfortunately shader layer methods arent in the system, so we had to grab SpriteComponent. This isnt ideal but I'm not fucking with robust toolbox. In a beautiful world shaders would be attached to sprites directly anyway

Media

image

Requirements

  • I have read and am following the Macrocosm Pull Request Conventions .
  • I have added media to this PR or it does not require an in-game showcase.

Breaking changes

Markings now support shaders on individual sprite layers. Please see the associated PR for an example on how to implement this.

mqole and others added 4 commits March 15, 2026 14:17
@mqole
Copy link
Copy Markdown
Contributor Author

mqole commented Mar 15, 2026

legit test fail but i cant fully parse the error message. will look into it

@mqole mqole added the Licensed All code in this PR is licensed under MIT with permission obtained from all authors. label Mar 17, 2026
Comment thread Content.Client/Body/VisualBodySystem.cs
hivehum pushed a commit that referenced this pull request Apr 27, 2026
* init

new disks are in. can be spawned or printed. no weights or correctly bound techs yet.

* tweak textures and naming

* make tech disks respect their tier and discipline

* make tech console respect tier weight

* yml fixes (forgo a million things)

* meow :3 reworked to use GenericVisualizer

* moved staticPrice comp to shared to support different pricing per tier

* unhardcoded prices; tweaked log messages

* cleanup

* a few fixes

* updated pricing to match weights

* lowering prices I forgor how many of them science can print

* what

* t3 texture, logger, factory

* move PriceCalculationEvent & EstimatedPriceCalculationEvent to shared

* remove static price comp; use EntProtoId for disk proto

* moved staticPrice comp back to server

* cleanup: price event, visualizer enums & yml

* ummove PriceCalculationEvent

* ummove PriceCalculationEvent attempt #2

* more unmoving

* fixes

* predict onExamine

* review changes

* small cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Licensed All code in this PR is licensed under MIT with permission obtained from all authors. S: Merge Conflict S: Needs Review size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants