View Issue Details

IDProjectCategoryView StatusLast Update
0009764Dwarf FortressArtistic Images (engravings etc)public2016-06-11 11:38
Reporterkane_t Assigned To 
PrioritylowSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version0.43.02 
Summary0009764: Player-specified images treat "artifact" design elements as normal items
DescriptionWhen adding an Artifact as a design element in a user-specified art image, the game uses the wrong ID, leading the artifact to be referred to as a normal item.

Specifically, when the game generates art images with Artifact elements, it uses the item ID, and the element is then described as "(Artifact Name), the (item type)." When the player selects an Artifact as a design element in the image specification screen, however, the artifact ID is used, and the game describes the element as just "an (item type)," leaving out the name of the artifact. (And some other minor cosmetic differences in the description.)

Probably, the game was supposed to be using the artifact ID all along, and the image specification is doing it right, but older code is expecting the item ID instead.
Steps To Reproduce1) Create a figurine or statue, with a custom image, which includes any named artifact as a design element.
2) View the description of the image, note that it doesn't include the artifact's name.
3) In DFHack, or another memory-editing or debugging tool, find the art_image instance for that image, and then find the element that refers to the artifact.
4) Note that the item_id is actually the artifact record ID (a small number, probably < 9999 for a world with default settings). Change the item_id to instead actually be the item ID (a large number, probably > 40,000).
5) Check the description again, note that it now correctly states the artifact's name.
Additional InformationIn DFHack's lua interface, the art images are stored in df.global.world.art_image_chunks. (The chunks aren't loaded until you view the image.) The design elements are in the art_image's vector of art_image_element*s, and the concrete type for artifacts is art_image_element_itemst.
Tagsart, image

Activities

kane_t

2016-05-17 14:03

reporter   ~0035203

Last edited: 2016-05-17 14:03

Note: this doesn't apply to artifacts whose artifact ID is the same as their item ID, of which there are quite a few. Presumably, it's every artifact created during worldgen. So you'll have to use artifacts that were created during your Fortress mode game.

(Sorry I didn't mention that in the description, I'd edit it in if I could.)

Add Note

Note

Issue History

Date Modified Username Field Change
2016-05-17 13:57 kane_t New Issue
2016-05-17 14:03 kane_t Note Added: 0035203
2016-05-17 14:03 kane_t Note Edited: 0035203
2016-06-11 11:38 kane_t Tag Attached: art
2016-06-11 11:38 kane_t Tag Attached: image