summaryrefslogtreecommitdiffstats
path: root/dimension/realize.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-02-28 13:23:38 -0500
committerTavian Barnes <tavianator@gmail.com>2010-02-28 13:23:38 -0500
commit0e6d09432d7c22c8c0f3acedefc1afac67624a8d (patch)
treee888b15d4dd155c2c7dc46065509e124d873f4a9 /dimension/realize.c
parent5f4baeb85dbdb26ea56b214280eeb0f6233c1861 (diff)
downloaddimension-0e6d09432d7c22c8c0f3acedefc1afac67624a8d.tar.xz
Allow bare finishes in object modifiers.
Diffstat (limited to 'dimension/realize.c')
-rw-r--r--dimension/realize.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/dimension/realize.c b/dimension/realize.c
index b20ec9f..e5dfcb4 100644
--- a/dimension/realize.c
+++ b/dimension/realize.c
@@ -590,6 +590,18 @@ dmnsn_realize_object_modifiers(dmnsn_astnode astnode, dmnsn_object *object)
dmnsn_delete_texture(object->texture);
object->texture = dmnsn_realize_texture(modifier);
break;
+ case DMNSN_AST_PIGMENT:
+ if (!object->texture)
+ object->texture = dmnsn_new_texture();
+ dmnsn_delete_pigment(object->texture->pigment);
+ object->texture->pigment = dmnsn_realize_pigment(modifier);
+ break;
+ case DMNSN_AST_FINISH:
+ if (!object->texture)
+ object->texture = dmnsn_new_texture();
+ dmnsn_delete_finish(object->texture->finish);
+ object->texture->finish = dmnsn_realize_finish(modifier);
+ break;
case DMNSN_AST_INTERIOR:
dmnsn_delete_interior(object->interior);