Implement female uniform masking.

This commit is contained in:
Pieter-Jan Briers
2020-01-21 18:11:15 +01:00
parent 5481959018
commit 9beb7e48d4
14 changed files with 104 additions and 4 deletions

View File

@@ -91,6 +91,7 @@
- type: Clothing
sprite: Clothing/uniform_clown.rsi
femaleMask: UniformTop
- type: entity
parent: UniformBase
@@ -141,4 +142,4 @@
state: captain
- type: Clothing
sprite: Clothing/captain_uniform.rsi
sprite: Clothing/captain_uniform.rsi

View File

@@ -17,7 +17,14 @@
description: A bright red toolbox, stocked with emergency tools
components:
- type: Sprite
texture: Objects/Tools/toolbox_r.png
layers:
- shader: stencilClear
- texture: Objects/Tools/wrench.png
shader: stencilMask
- texture: Objects/Tools/toolbox_r.png
shader: stencilDraw
- type: Icon
texture: Objects/Tools/toolbox_r.png

View File

@@ -58,7 +58,18 @@
sprite: Mob/human.rsi
state: human_l_leg
- shader: stencilClear
sprite: Mob/human.rsi
state: human_l_leg
- shader: stencilMask
map: ["enum.HumanoidVisualLayers.StencilMask"]
sprite: Mob/masking_helpers.rsi
state: female_full
visible: false
- map: ["enum.Slots.INNERCLOTHING"]
shader: stencilDraw
- map: ["enum.Slots.IDCARD"]
- map: ["enum.Slots.GLOVES"]
- map: ["enum.Slots.SHOES"]
@@ -174,7 +185,16 @@
sprite: Mob/human.rsi
state: human_l_leg
- shader: stencilClear
- shader: stencilMask
map: ["enum.HumanoidVisualLayers.StencilMask"]
sprite: Mob/masking_helpers.rsi
state: female_full
visible: false
- map: ["enum.Slots.INNERCLOTHING"]
shader: stencilDraw
- map: ["enum.Slots.IDCARD"]
- map: ["enum.Slots.GLOVES"]
- map: ["enum.Slots.SHOES"]

View File

@@ -0,0 +1,25 @@
- type: shader
id: stencilClear
kind: source
path: "/Shaders/stencilclear.swsl"
stencil:
ref: 0
op: Replace
func: Always
- type: shader
id: stencilMask
kind: source
path: "/Shaders/stencilmask.swsl"
stencil:
ref: 1
op: Replace
func: Always
- type: shader
id: stencilDraw
kind: canvas
stencil:
ref: 1
op: Keep
func: NotEqual

View File

@@ -0,0 +1,3 @@
void fragment() {
COLOR = vec4(0);
}

View File

@@ -0,0 +1,7 @@
void fragment() {
if (texture(TEXTURE, UV).a == 0) {
discard; // Discard if no alpha so that there's a hole in the stencil buffer.
}
COLOR = vec4(0);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

View File

@@ -0,0 +1 @@
{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "female_full", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "female_top", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}]}