View Issue Details

IDProjectCategoryView StatusLast Update
0013458Dwarf FortressGraphics and Spritespublic2026-01-19 07:34
ReporterHueStL Assigned To 
PrioritynormalSeveritymajorReproducibilitysometimes
Status newResolutionopen 
PlatformsteamOSwindowsOS Version10
Product Version53.10 
Summary0013458: PCG tokens have multiple bugs
Descriptionvault guardians / angels display incorrectly. Color missing, layers in the wrong order, tokens mispelled, no arms for humanoid that should have arms.
Steps To ReproduceView a vault, look at an angel, compare the description and the raws.
Additional InformationI checked a vault I knew of with two humanoid angel types, these are the bugs I saw, there are possibly others for other for other body types.

humanoid with arms (BODY token has RCP_TWO_PART_ARMS) but doesn't have PCG_LAYERING:BEAST_SMALL_HUMANOID_ARMS token

PCG_LAYERING tokens appear to require being in order, but order is inconsistent. Out of two angel types I inspected, one looks like it doesn't have eyes because the PCG_LAYERING:BEAST_SMALL_HUMANOID_EYE_TWO token comes before the PCG_LAYERING:BEAST_SMALL_HUMANOID token. All tokens use the default color, instead of the angel's hair or other color, so color decorations are undetectable, even when layered in the correct order.

token mismatch: BEAST_SMALL_HUMANOID_ORGANIC_EYE_TWO (raw), BEAST_SMALL_ORGANIC_HUMANOID_EYE_TWO (graphics_beasts_small.txt)
Tagsangel, forgotten beast, pcg, procedural_graphics

Activities

HueStL

2026-01-17 08:07

reporter   ~0043139

Last edited: 2026-01-17 15:16

I inspected the archangel in the same vault, and although it had USE_COLOR_PALETTE tokens (except on the ORGANIC_EYE token, making it look like it has gray goggles), it has the other bugs: wrong token order, and missing body parts (wings and body feathers in this case).

relevant lines from raws
Archangel (Music Judgement)
50 [BODY:RCP_UPPER_BODY:RCP_LOWER_BODY:RCP_NECK:RCP_HEAD:RCP_SIMPLE_FRONT_LEGS:RCP_SIMPLE_REAR_LEGS:RCP_TWO_WINGS:RCP_5_FRONT_TOES:RCP_5_REAR_TOES:RCP_2_EYES:RCP_NOSE:RCP_CHEEKS:RCP_LUNGS:RCP_HEART:RCP_GUTS:RCP_THROAT:RCP_SPINE:RCP_UPPER_SPINE:RCP_BRAIN:RCP_SKULL:RCP_MOUTH:RCP_TONGUE:RCP_TEETH:RCP_RIBS:RCP_2_EYELIDS]
51 [BODY_DETAIL_PLAN:STANDARD_MATERIALS]
52 [REMOVE_MATERIAL:HAIR]
53 [USE_MATERIAL_TEMPLATE:FEATHER:FEATHER_TEMPLATE]
54 [BODY_DETAIL_PLAN:STANDARD_TISSUES]
55 [REMOVE_TISSUE:HAIR]
56 [USE_TISSUE_TEMPLATE:FEATHER:FEATHER_TEMPLATE]
131 [DESCRIPTION:An enormous feathered koala. It has wings and it appears to be covered with sharp hooks and barbs. Its lilac feathers are long and narrow. It was created by the humangod Cusith the Sorrow of Burdens and is of a part with music, song, torture and misery.]
132 [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT]
133 [PCG_LAYERING:BEAST_QUADRUPED_BULKY_DECORATION_1]
134 [USE_COLOR_PALETTE:BRIGHT_GREEN]
135 [PCG_LAYERING:BEAST_QUADRUPED_BULKY]
136 [USE_COLOR_PALETTE:LILAC]
137 [PCG_LAYERING:BEAST_QUADRUPED_BULKY_ORGANIC_EYE_TWO]
138 [PCG_LAYERING:BEAST_QUADRUPED_BULKY_EYE_TWO]
139 [USE_COLOR_PALETTE:LILAC]

Soldier angel (Warrior of Nul)
39 [BODY:RCP_UPPER_BODY:RCP_LOWER_BODY:RCP_NECK:RCP_HEAD:RCP_TWO_PART_ARMS:RCP_TWO_PART_LEGS:RCP_2_EYES:RCP_LUNGS:RCP_HEART:RCP_GUTS:RCP_THROAT:RCP_SPINE:RCP_UPPER_SPINE:RCP_BRAIN:RCP_SKULL:RCP_MOUTH:RCP_TONGUE:RCP_RIBS:RCP_2_EYELIDS]
116 [DESCRIPTION:A small scaly humanoid in humanoid form. It appears to be covered with sharp hooks and barbs. Its black scales are round and close-set. It was created by the humangod Cusith the Sorrow of Burdens and is of a part with music, song, torture and misery.]
117 [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT]
118 [PCG_LAYERING:BEAST_SMALL_HUMANOID_ORGANIC_EYE_TWO]
119 [PCG_LAYERING:BEAST_SMALL_HUMANOID]
120 [PCG_LAYERING:BEAST_SMALL_HUMANOID_EYE_TWO]
121 [PCG_LAYERING:BEAST_SMALL_HUMANOID_DECORATION_1]

bestial angel (Music Helper)
31 [BODY:RCP_UPPER_BODY:RCP_LOWER_BODY:RCP_NECK:RCP_HEAD:RCP_TWO_PART_ARMS:RCP_TWO_PART_LEGS:RCP_2_EYES:RCP_LUNGS:RCP_HEART:RCP_GUTS:RCP_THROAT:RCP_SPINE:RCP_UPPER_SPINE:RCP_BRAIN:RCP_SKULL:RCP_MOUTH:RCP_TONGUE:RCP_RIBS:RCP_2_EYELIDS]
102 [DESCRIPTION:A hairy humanoid in humanoid form. It has a distinctly depressing moan. Its blue-gray hair is short and even. It was created by the humangod Cusith the Sorrow of Burdens and is of a part with music, song, torture and misery.]
103 [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT]
104 [PCG_LAYERING:BEAST_SMALL_HUMANOID_DECORATION_1]
105 [PCG_LAYERING:BEAST_SMALL_HUMANOID_DECORATION_2]
106 [PCG_LAYERING:BEAST_SMALL_HUMANOID_ORGANIC_EYE_TWO]
107 [PCG_LAYERING:BEAST_SMALL_HUMANOID_EYE_TWO]
108 [PCG_LAYERING:BEAST_SMALL_HUMANOID]
109 [PCG_LAYERING:BEAST_SMALL_HUMANOID_DECORATION_4]
110 [PCG_LAYERING:BEAST_SMALL_HUMANOID_DECORATION_3]

HueStL

2026-01-18 12:09

reporter   ~0043141

Had a forgotten beast show up at my fortress with similar bugs as the archangel. It had color tags, but the layers were in the wrong order, it had body parts it shouldn't have (arms from BEAST_HUMANOID), and was missing body parts it should have had (wings, beak, horn). I checked unit.body.body_parts, and they matched the df.creature_raw definition.
36 [BODY:RCP_UPPER_BODY:RCP_LOWER_BODY:RCP_NECK:RCP_HEAD:RCP_TWO_PART_LEGS:RCP_TWO_WINGS:RCP_1_HEAD_HORN:RCP_3_TOES:RCP_2_EYES:RCP_BEAK:RCP_LUNGS:RCP_HEART:RCP_GUTS:RCP_THROAT:RCP_SPINE:RCP_UPPER_SPINE:RCP_BRAIN:RCP_SKULL:RCP_TONGUE:RCP_RIBS:RCP_2_EYELIDS]
136 [DESCRIPTION:A huge pelican. It has a broad horn and it has a bloated body. Its buff feathers are long and narrow. Beware its deadly dust!]
137 [PREFSTRING:bloated appearance]
138 [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT]
139 [PCG_LAYERING:BEAST_HUMANOID_ORGANIC_EYE_TWO]
140 [PCG_LAYERING:BEAST_HUMANOID_DECORATION_2]
141 [USE_COLOR_PALETTE:CROCUS_PURPLE]
142 [PCG_LAYERING:BEAST_HUMANOID_EYE_TWO]
143 [USE_COLOR_PALETTE:BUFF]
144 [PCG_LAYERING:BEAST_HUMANOID]
145 [USE_COLOR_PALETTE:BUFF]
146 [PCG_LAYERING:BEAST_HUMANOID_DECORATION_5]
147 [USE_COLOR_PALETTE:DARK_CHESTNUT]

HueStL

2026-01-19 07:34

reporter   ~0043142

world from before 53.08. I haven't seen the same problems (small or large PCG) in a 53.10 world so far, after checking one vault. If there were patch notes about fixing large PCG, I missed them. I assumed nothing had changed with large PCG, but I appear to be wrong. I also assumed PCG info would be calculated when vanilla_procedural was load each time, but I see that's wrong too.

Add Note

Note

Issue History

Date Modified Username Field Change
2026-01-16 21:31 HueStL New Issue
2026-01-16 21:31 HueStL Tag Attached: angel
2026-01-16 21:31 HueStL Tag Attached: pcg
2026-01-16 21:31 HueStL Tag Attached: procedural_graphics
2026-01-17 08:07 HueStL Note Added: 0043139
2026-01-17 15:16 HueStL Note Edited: 0043139
2026-01-18 12:09 HueStL Note Added: 0043141
2026-01-18 12:09 HueStL Tag Attached: Giantess
2026-01-18 12:09 HueStL Tag Detached: Giantess
2026-01-18 12:10 HueStL Tag Attached: Giantess
2026-01-18 12:10 HueStL Tag Detached: Giantess
2026-01-18 12:10 HueStL Tag Attached: forgotten beast
2026-01-19 07:34 HueStL Note Added: 0043142