aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/narrative.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2019-03-01 23:28:27 +0100
committerThomas White <taw@bitwiz.me.uk>2019-03-01 23:28:27 +0100
commitf2bfe89481217625f74224289947f7bcd839c55f (patch)
tree3765c509ea18462d4beef835db6f48ce38adb5d2 /libstorycode/narrative.c
parent6cfd53611912442ba7f89fc5cbdb9f8c8a90c85b (diff)
Debug narrative rendering machinery
Diffstat (limited to 'libstorycode/narrative.c')
-rw-r--r--libstorycode/narrative.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/libstorycode/narrative.c b/libstorycode/narrative.c
index 85f5410..81c69b1 100644
--- a/libstorycode/narrative.c
+++ b/libstorycode/narrative.c
@@ -48,6 +48,16 @@ void narrative_free(Narrative *n)
}
+static struct narrative_item *add_item(Narrative *n)
+{
+ struct narrative_item *new_items;
+ new_items = realloc(n->items, (n->n_items+1)*sizeof(struct narrative_item));
+ if ( new_items == NULL ) return NULL;
+ n->items = new_items;
+ return &n->items[n->n_items++];
+}
+
+
void narrative_add_prestitle(Narrative *n, const char *text)
{
}
@@ -58,8 +68,17 @@ void narrative_add_bp(Narrative *n, const char *text)
}
-void narrative_add_text(Narrative *n, const char *text)
+void narrative_add_text(Narrative *n, char *text)
{
+ struct narrative_item *item;
+
+ item = add_item(n);
+ if ( item == NULL ) return;
+
+ item->type = NARRATIVE_ITEM_TEXT;
+ item->text = text;
+ item->align = ALIGN_LEFT;
+ item->layout = NULL;
}