… | |
… | |
36 | our @SDL_MODES; |
36 | our @SDL_MODES; |
37 | our $WIDTH; |
37 | our $WIDTH; |
38 | our $HEIGHT; |
38 | our $HEIGHT; |
39 | our $FULLSCREEN; |
39 | our $FULLSCREEN; |
40 | our $FONTSIZE; |
40 | our $FONTSIZE; |
|
|
41 | |
|
|
42 | our $FONT_PROP; |
|
|
43 | our $FONT_FIXED; |
41 | |
44 | |
42 | our $MAP; |
45 | our $MAP; |
43 | our $MAPWIDGET; |
46 | our $MAPWIDGET; |
44 | our $BUTTONBAR; |
47 | our $BUTTONBAR; |
45 | our $LOGVIEW; |
48 | our $LOGVIEW; |
… | |
… | |
226 | } |
229 | } |
227 | ); |
230 | ); |
228 | |
231 | |
229 | $table->add (1, $row++, new CFClient::UI::Button |
232 | $table->add (1, $row++, new CFClient::UI::Button |
230 | expand => 1, align => 0, text => "Apply", |
233 | expand => 1, align => 0, text => "Apply", |
231 | tooltip => "Apply the video settings (unless they are auto-apply)", |
234 | tooltip => "Apply the video settings", |
232 | connect_activate => sub { |
235 | connect_activate => sub { |
233 | video_shutdown (); |
236 | video_shutdown (); |
234 | video_init (); |
237 | video_init (); |
235 | } |
238 | } |
236 | ); |
239 | ); |
… | |
… | |
265 | } |
268 | } |
266 | ); |
269 | ); |
267 | |
270 | |
268 | $table->add (1, $row++, new CFClient::UI::Button |
271 | $table->add (1, $row++, new CFClient::UI::Button |
269 | expand => 1, align => 0, text => "Apply", |
272 | expand => 1, align => 0, text => "Apply", |
270 | tooltip => "Apply the audio settings that are not auto-apply", |
273 | tooltip => "Apply the audio settings", |
271 | connect_activate => sub { |
274 | connect_activate => sub { |
272 | audio_shutdown (); |
275 | audio_shutdown (); |
273 | audio_init (); |
276 | audio_init (); |
274 | } |
277 | } |
275 | ); |
278 | ); |
… | |
… | |
320 | |
323 | |
321 | sub make_stats_window { |
324 | sub make_stats_window { |
322 | my $tgw = new CFClient::UI::FancyFrame (x => $WIDTH * 2/5, y => 0, title => "Stats"); |
325 | my $tgw = new CFClient::UI::FancyFrame (x => $WIDTH * 2/5, y => 0, title => "Stats"); |
323 | |
326 | |
324 | $tgw->add (my $vb = new CFClient::UI::VBox); |
327 | $tgw->add (my $vb = new CFClient::UI::VBox); |
325 | $vb->add (my $uhb = new CFClient::UI::HBox); |
|
|
326 | $uhb->add ($STATWIDS->{title} = new CFClient::UI::Label valign => 0, align => -1, text => "Title:", expand => 1); |
328 | $vb->add ($STATWIDS->{title} = new CFClient::UI::Label valign => 0, align => -1, text => "Title:", expand => 1); |
327 | $uhb->add ($STATWIDS->{map} = new CFClient::UI::Label valign => 0, align => -1, text => "Map:", expand => 1); |
329 | $vb->add ($STATWIDS->{map} = new CFClient::UI::Label valign => 0, align => -1, text => "Map:", expand => 1); |
328 | |
330 | |
329 | $vb->add (my $hb = new CFClient::UI::HBox expand => 1); |
331 | $vb->add (my $hb = new CFClient::UI::HBox expand => 1); |
330 | |
332 | |
331 | $hb->add (my $tbl = new CFClient::UI::Table expand => 1); |
333 | $hb->add (my $tbl = new CFClient::UI::Table expand => 1); |
332 | |
334 | |
|
|
335 | $tbl->add (0, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
336 | $tbl->add (0, 1, $STATWIDS->{st_dex} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
337 | $tbl->add (0, 2, $STATWIDS->{st_con} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
338 | $tbl->add (0, 3, $STATWIDS->{st_int} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
339 | $tbl->add (0, 4, $STATWIDS->{st_wis} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
340 | $tbl->add (0, 5, $STATWIDS->{st_pow} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
341 | $tbl->add (0, 6, $STATWIDS->{st_cha} = new CFClient::UI::Label valign => 0, align => +1, template => "30"); |
|
|
342 | |
333 | $tbl->add (0, 0, $STATWIDS->{st_str_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Str"); |
343 | $tbl->add (1, 0, $STATWIDS->{st_str_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Str"); |
334 | $tbl->add (0, 1, $STATWIDS->{st_dex_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Dex"); |
344 | $tbl->add (1, 1, $STATWIDS->{st_dex_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Dex"); |
335 | $tbl->add (0, 2, $STATWIDS->{st_con_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Con"); |
345 | $tbl->add (1, 2, $STATWIDS->{st_con_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Con"); |
336 | $tbl->add (0, 3, $STATWIDS->{st_int_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Int"); |
346 | $tbl->add (1, 3, $STATWIDS->{st_int_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Int"); |
337 | $tbl->add (0, 4, $STATWIDS->{st_wis_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wis"); |
347 | $tbl->add (1, 4, $STATWIDS->{st_wis_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Wis"); |
338 | $tbl->add (0, 5, $STATWIDS->{st_pow_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Pow"); |
348 | $tbl->add (1, 5, $STATWIDS->{st_pow_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Pow"); |
339 | $tbl->add (0, 6, $STATWIDS->{st_cha_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Cha"); |
349 | $tbl->add (1, 6, $STATWIDS->{st_cha_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Cha"); |
340 | |
350 | |
341 | $tbl->add (1, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
351 | $tbl->add (2, 0, $STATWIDS->{st_wc} = new CFClient::UI::Label valign => 0, align => +1, template => "-120"); |
|
|
352 | $tbl->add (2, 1, $STATWIDS->{st_ac} = new CFClient::UI::Label valign => 0, align => +1, template => "-120"); |
342 | $tbl->add (1, 1, $STATWIDS->{st_dex} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
353 | $tbl->add (2, 2, $STATWIDS->{st_dam} = new CFClient::UI::Label valign => 0, align => +1, template => "120"); |
343 | $tbl->add (1, 2, $STATWIDS->{st_con} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
344 | $tbl->add (1, 3, $STATWIDS->{st_int} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
354 | $tbl->add (2, 3, $STATWIDS->{st_arm} = new CFClient::UI::Label valign => 0, align => +1, template => "120"); |
|
|
355 | $tbl->add (2, 4, $STATWIDS->{st_spd} = new CFClient::UI::Label valign => 0, align => +1, template => "10.54"); |
345 | $tbl->add (1, 4, $STATWIDS->{st_wis} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
356 | $tbl->add (2, 5, $STATWIDS->{st_wspd} = new CFClient::UI::Label valign => 0, align => +1, template => "9"); |
346 | $tbl->add (1, 5, $STATWIDS->{st_pow} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
347 | $tbl->add (1, 6, $STATWIDS->{st_cha} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
348 | |
357 | |
349 | $tbl->add (2, 0, $STATWIDS->{st_wc_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wc"); |
358 | $tbl->add (3, 0, $STATWIDS->{st_wc_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Wc"); |
350 | $tbl->add (2, 1, $STATWIDS->{st_ac_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Ac"); |
359 | $tbl->add (3, 1, $STATWIDS->{st_ac_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Ac"); |
351 | $tbl->add (2, 2, $STATWIDS->{st_dam_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Dam"); |
360 | $tbl->add (3, 2, $STATWIDS->{st_dam_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Dam"); |
352 | $tbl->add (2, 3, $STATWIDS->{st_arm_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Arm"); |
361 | $tbl->add (3, 3, $STATWIDS->{st_arm_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Arm"); |
353 | $tbl->add (2, 4, $STATWIDS->{st_spd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Sp"); |
362 | $tbl->add (3, 4, $STATWIDS->{st_spd_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Sp"); |
354 | $tbl->add (2, 5, $STATWIDS->{st_wspd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "WSp"); |
363 | $tbl->add (3, 5, $STATWIDS->{st_wspd_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "WSp"); |
355 | |
|
|
356 | $tbl->add (3, 0, $STATWIDS->{st_wc} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
357 | $tbl->add (3, 1, $STATWIDS->{st_ac} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
358 | $tbl->add (3, 2, $STATWIDS->{st_dam} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
359 | $tbl->add (3, 3, $STATWIDS->{st_arm} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
360 | $tbl->add (3, 4, $STATWIDS->{st_spd} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
361 | $tbl->add (3, 5, $STATWIDS->{st_wspd} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
|
|
362 | |
364 | |
363 | $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1); |
365 | $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1); |
364 | |
366 | |
365 | my $row = 0; |
367 | my $row = 0; |
366 | my $col = 0; |
368 | my $col = 0; |
… | |
… | |
389 | drain acid pois para deat phys |
391 | drain acid pois para deat phys |
390 | blind fear tund elec cold ghit/) |
392 | blind fear tund elec cold ghit/) |
391 | { |
393 | { |
392 | $tbl2->add ($col, $row, |
394 | $tbl2->add ($col, $row, |
393 | $STATWIDS->{"res_$_"} = |
395 | $STATWIDS->{"res_$_"} = |
394 | new CFClient::UI::Label text => "0", align => +1, valign => 0 |
396 | new CFClient::UI::Label |
|
|
397 | template => "-100%", |
|
|
398 | align => +1, |
|
|
399 | valign => 0, |
|
|
400 | tooltip => $resist_names{$_} |
395 | ); |
401 | ); |
396 | $tbl2->add ($col + 1, $row, new CFClient::UI::Image can_hover => 1, can_events => 1, image => "ui/resist/resist_$_.png", tooltip => $resist_names{$_}); |
402 | $tbl2->add ($col + 1, $row, new CFClient::UI::Image |
|
|
403 | can_hover => 1, |
|
|
404 | can_events => 1, |
|
|
405 | image => "ui/resist/resist_$_.png", |
|
|
406 | tooltip => $resist_names{$_} |
|
|
407 | ); |
397 | |
408 | |
398 | $row++; |
409 | $row++; |
399 | if ($row % 6 == 0) { |
410 | if ($row % 6 == 0) { |
400 | $col += 2; |
411 | $col += 2; |
401 | $row = 0; |
412 | $row = 0; |
… | |
… | |
648 | user_h => int $::HEIGHT / 5, |
659 | user_h => int $::HEIGHT / 5, |
649 | child => (my $vbox = new CFClient::UI::VBox); |
660 | child => (my $vbox = new CFClient::UI::VBox); |
650 | |
661 | |
651 | $vbox->add ($LOGVIEW = new CFClient::UI::TextView |
662 | $vbox->add ($LOGVIEW = new CFClient::UI::TextView |
652 | expand => 1, |
663 | expand => 1, |
|
|
664 | font => $FONT_FIXED, |
653 | fontsize => $::CFG->{log_fontsize}, |
665 | fontsize => $::CFG->{log_fontsize}, |
654 | ); |
666 | ); |
655 | |
667 | |
656 | $vbox->add (my $input = new CFClient::UI::Entry |
668 | $vbox->add (my $input = new CFClient::UI::Entry |
657 | connect_focus_in => sub { |
669 | connect_focus_in => sub { |
… | |
… | |
1219 | @SDL_MODES or CFClient::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)"; |
1231 | @SDL_MODES or CFClient::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)"; |
1220 | |
1232 | |
1221 | $CFG->{sdl_mode} = 0 if $CFG->{sdl_mode} > @SDL_MODES; |
1233 | $CFG->{sdl_mode} = 0 if $CFG->{sdl_mode} > @SDL_MODES; |
1222 | |
1234 | |
1223 | { |
1235 | { |
1224 | my @fonts = map CFClient::find_rcfile $_, qw(uifont.ttf uifontb.ttf uifonti.ttf uifontbi.ttf); |
1236 | my @fonts = map CFClient::find_rcfile "fonts/$_", qw( |
|
|
1237 | DejaVuSans.ttf |
|
|
1238 | DejaVuSansMono.ttf |
|
|
1239 | DejaVuSans-Bold.ttf |
|
|
1240 | DejaVuSansMono-Bold.ttf |
|
|
1241 | DejaVuSans-Oblique.ttf |
|
|
1242 | DejaVuSansMono-Oblique.ttf |
|
|
1243 | DejaVuSans-BoldOblique.ttf |
|
|
1244 | DejaVuSansMono-BoldOblique.ttf |
|
|
1245 | ); |
1225 | |
1246 | |
1226 | CFClient::add_font $_ for @fonts; |
1247 | CFClient::add_font $_ for @fonts; |
1227 | CFClient::set_font $fonts[0]; |
1248 | |
|
|
1249 | $FONT_PROP = new_from_file CFClient::Font $fonts[0]; |
|
|
1250 | $FONT_FIXED = new_from_file CFClient::Font $fonts[1]; |
|
|
1251 | |
|
|
1252 | $FONT_PROP->make_default; |
1228 | } |
1253 | } |
1229 | |
1254 | |
1230 | video_init; |
1255 | video_init; |
1231 | audio_init; |
1256 | audio_init; |
1232 | |
1257 | |