diff options
Diffstat (limited to 'apps/gui/textarea.c')
-rw-r--r-- | apps/gui/textarea.c | 20 |
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 | ||
23 | void gui_textarea_clear(struct screen * display) | 25 | void 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 | |||
81 | void 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 | } | ||