summaryrefslogtreecommitdiff
path: root/apps/gui/textarea.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/textarea.c')
-rw-r--r--apps/gui/textarea.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/apps/gui/textarea.c b/apps/gui/textarea.c
index 0dd063c493..b30667df4e 100644
--- a/apps/gui/textarea.c
+++ b/apps/gui/textarea.c
@@ -19,6 +19,8 @@
19 19
20#include "textarea.h" 20#include "textarea.h"
21#include "font.h" 21#include "font.h"
22#include "lang.h"
23#include "talk.h"
22 24
23void gui_textarea_clear(struct screen * display) 25void gui_textarea_clear(struct screen * display)
24{ 26{
@@ -51,7 +53,8 @@ int gui_textarea_put_message(struct screen * display,
51 int i; 53 int i;
52 gui_textarea_clear(display); 54 gui_textarea_clear(display);
53 for(i=0;i<message->nb_lines && i+ystart<display->nb_lines;i++) 55 for(i=0;i<message->nb_lines && i+ystart<display->nb_lines;i++)
54 display->puts_scroll(0, i+ystart, (unsigned char *)message->message_lines[i]); 56 display->puts_scroll(0, i+ystart, P2STR((unsigned char *)message->
57 message_lines[i]));
55 gui_textarea_update(display); 58 gui_textarea_update(display);
56 return(i); 59 return(i);
57} 60}
@@ -74,3 +77,18 @@ void gui_textarea_update_nblines(struct screen * display)
74#endif 77#endif
75 display->nb_lines = height / display->char_height; 78 display->nb_lines = height / display->char_height;
76} 79}
80
81void talk_text_message(struct text_message * message, bool enqueue)
82{
83 int line;
84 if(message)
85 for(line=0; line<message->nb_lines; line++)
86 {
87 long id = P2ID((unsigned char *)message->message_lines[line]);
88 if(id>=0)
89 {
90 talk_id(id, enqueue);
91 enqueue = true;
92 }
93 }
94}