41 init (mynpc, dlg_file, size);
46 string path = dlg_file;
47 string file = strrchr (dlg_file,
'.') ? strrchr (dlg_file,
'.') + 1 : dlg_file;
49 audio::play_wave (-1, 0);
68 set_background (*theme);
69 set_trans_background (
true);
85 ((
image*)face)->resize (64, 64);
91 name->set_font (*(fonts[0]));
93 ((
label*)name)->resize (64, 0);
94 name->set_form (label::AUTO_HEIGHT);
99 sel->set_scrollbar (*theme);
102 sel->set_mode (win_select::MODE_BRIGHTNESS);
103 sel->set_layout (win_container::LIST_LAYOUT);
104 sel->set_space_with_border (5);
105 sel->set_space_with_object (5);
106 sel->set_circle (
true);
107 sel->set_visible_scrollbar (
true);
116 sel->set_signal_connect (makeFunctor (*
this, &dialog_screen::on_select),
117 win_event::ACTIVATE_KEY);
123 set_focus_object (sel);
125 set_visible_border (
true);
126 set_visible_background (
true);
132 PyObject *args = PyTuple_New (2);
137 if (!dlg->
init (path, file, args))
139 cout <<
"\n*** Error loading dialogue script " << file <<
"\n";
189 for (
string txt = dlg->
text (); txt !=
""; txt = dlg->
text (), i++)
192 l->set_font (i == 0 ? *fonts[dlg->
npc_color ()] : *fonts[1]);
194 ((
label*)l)->resize(190,0);
195 l->set_form(label::AUTO_HEIGHT);
199 cur_answers.push_back (l);
205 sel->set_default_object (cur_answers.front ());
210 cur_answers[0]->set_can_be_selected (
false);
211 sel->set_default_object (cur_answers[1]);
223 void dialog_screen::on_select ()
226 answer = sel->get_selected_position () - 1;
231 cur_answers.clear ();
236 void dialog_screen::insert_plugin ()
243 if (new_portrait == portrait)
return;
244 else portrait = new_portrait;
246 if (new_portrait ==
"")
248 face->image::resize (64, 64);
249 face->fillrect (0, 0, 64, 64, 0x00ff00ff);
252 face->load_pnm(
string (
"gfx/portraits/") + new_portrait);
253 face->set_mask(
true);
260 name->set_text (new_name);