ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/bin/pclient
(Generate patch)

Comparing deliantra/Deliantra-Client/bin/pclient (file contents):
Revision 1.166 by elmex, Sun Apr 23 02:50:44 2006 UTC vs.
Revision 1.169 by root, Mon Apr 24 02:41:48 2006 UTC

36our @SDL_MODES; 36our @SDL_MODES;
37our $WIDTH; 37our $WIDTH;
38our $HEIGHT; 38our $HEIGHT;
39our $FULLSCREEN; 39our $FULLSCREEN;
40our $FONTSIZE; 40our $FONTSIZE;
41
42our $FONT_PROP;
43our $FONT_FIXED;
41 44
42our $MAP; 45our $MAP;
43our $MAPWIDGET; 46our $MAPWIDGET;
44our $BUTTONBAR; 47our $BUTTONBAR;
45our $LOGVIEW; 48our $LOGVIEW;
139 my ($self, $value) = @_; 142 my ($self, $value) = @_;
140 $CFG->{fast} = $value; 143 $CFG->{fast} = $value;
141 } 144 }
142 ); 145 );
143 146
147 $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Map Scale");
148 $table->add (1, $row++, new CFClient::UI::Slider
149 range => [$CFG->{map_scale}, 0.25, 2, 0.05],
150 tooltip => "Enlarge or shrink the displayed map",
151 connect_changed => sub {
152 my ($self, $value) = @_;
153 $CFG->{map_scale} = 0.05 * int $value / 0.05;
154 }
155 );
156
144 $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Fog of War"); 157 $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Fog of War");
145 $table->add (1, $row++, new CFClient::UI::CheckBox 158 $table->add (1, $row++, new CFClient::UI::CheckBox
146 state => $CFG->{fow_enable}, 159 state => $CFG->{fow_enable},
147 tooltip => "Fog-of-War marks areas that cannot be seen by the player", 160 tooltip => "Fog-of-War marks areas that cannot be seen by the player",
148 connect_changed => sub { 161 connect_changed => sub {
219 range => [$CFG->{gauge_fontsize}, 0.5, 2.0, 0.1], 232 range => [$CFG->{gauge_fontsize}, 0.5, 2.0, 0.1],
220 tooltip => "Adjusts the fontsize of the gauges at the bottom right", 233 tooltip => "Adjusts the fontsize of the gauges at the bottom right",
221 connect_changed => sub { 234 connect_changed => sub {
222 $CFG->{gauge_fontsize} = 0.1 * int $_[1] * 10; 235 $CFG->{gauge_fontsize} = 0.1 * int $_[1] * 10;
223 &set_gauge_window_fontsize; 236 &set_gauge_window_fontsize;
224 #$GAUGES->{win}->check_size;
225 #$GAUGES->{win}->update;
226 } 237 }
227 ); 238 );
228 239
229 $table->add (1, $row++, new CFClient::UI::Button 240 $table->add (1, $row++, new CFClient::UI::Button
230 expand => 1, align => 0, text => "Apply", 241 expand => 1, align => 0, text => "Apply",
231 tooltip => "Apply the video settings (unless they are auto-apply)", 242 tooltip => "Apply the video settings",
232 connect_activate => sub { 243 connect_activate => sub {
233 video_shutdown (); 244 video_shutdown ();
234 video_init (); 245 video_init ();
235 } 246 }
236 ); 247 );
265 } 276 }
266 ); 277 );
267 278
268 $table->add (1, $row++, new CFClient::UI::Button 279 $table->add (1, $row++, new CFClient::UI::Button
269 expand => 1, align => 0, text => "Apply", 280 expand => 1, align => 0, text => "Apply",
270 tooltip => "Apply the audio settings that are not auto-apply", 281 tooltip => "Apply the audio settings",
271 connect_activate => sub { 282 connect_activate => sub {
272 audio_shutdown (); 283 audio_shutdown ();
273 audio_init (); 284 audio_init ();
274 } 285 }
275 ); 286 );
285 296
286sub set_gauge_window_fontsize { 297sub set_gauge_window_fontsize {
287 for (map { $GAUGES->{$_} } grep { $_ ne 'win' } keys %{$GAUGES}) { 298 for (map { $GAUGES->{$_} } grep { $_ ne 'win' } keys %{$GAUGES}) {
288 $_->set_fontsize ($::CFG->{gauge_fontsize}); 299 $_->set_fontsize ($::CFG->{gauge_fontsize});
289 } 300 }
301
302# local $GAUGES->{win}{parent};#d#
303# use PApp::Util; open D, ">:utf8", "d"; print D PApp::Util::dumpval $GAUGES->{win}; close D;
290} 304}
291 305
292sub make_gauge_window { 306sub make_gauge_window {
293 my $gh = int ($HEIGHT * $CFG->{gauge_size}); 307 my $gh = int ($HEIGHT * $CFG->{gauge_size});
294# my $gw = int ($WIDTH * $CFG->{gauge_w_size}); 308# my $gw = int ($WIDTH * $CFG->{gauge_w_size});
295 309
296 my $win = new CFClient::UI::Frame ( 310 my $win = new CFClient::UI::Frame (
297 y => $HEIGHT - $gh, x => 0, req_w => $WIDTH, req_h => $gh 311 y => $HEIGHT - $gh, x => 0, user_w => $WIDTH, user_h => $gh
298 ); 312 );
299 $win->add (my $vb = new CFClient::UI::VBox); 313 $win->add (my $vb = new CFClient::UI::VBox);
300 314
301 $vb->add (my $hbg = new CFClient::UI::HBox expand => 1); 315 $vb->add (my $hbg = new CFClient::UI::HBox expand => 1);
302
303 316
304 $hbg->add (new CFClient::UI::Empty expand => 1); 317 $hbg->add (new CFClient::UI::Empty expand => 1);
305 $hbg->add (my $hb = new CFClient::UI::HBox); 318 $hbg->add (my $hb = new CFClient::UI::HBox);
306 $hb->add (my $hg = new CFClient::UI::Gauge type => 'hp', tooltip => "Health points"); 319 $hb->add (my $hg = new CFClient::UI::Gauge type => 'hp', tooltip => "Health points");
307 $hb->add (my $mg = new CFClient::UI::Gauge type => 'mana', tooltip => "Spellpoints"); 320 $hb->add (my $mg = new CFClient::UI::Gauge type => 'mana', tooltip => "Spellpoints");
313 326
314 $GAUGES = { 327 $GAUGES = {
315 exp => $exp, win => $win, range => $rng, 328 exp => $exp, win => $win, range => $rng,
316 food => $fg, mana => $mg, hp => $hg, grace => $gg 329 food => $fg, mana => $mg, hp => $hg, grace => $gg
317 }; 330 };
331
332 &set_gauge_window_fontsize;
333
318 $win 334 $win
319} 335}
320 336
321sub make_stats_window { 337sub make_stats_window {
322 my $tgw = new CFClient::UI::FancyFrame (x => $WIDTH * 2/5, y => 0, title => "Stats"); 338 my $tgw = new CFClient::UI::FancyFrame (x => $WIDTH * 2/5, y => 0, title => "Stats");
323 339
324 $tgw->add (my $vb = new CFClient::UI::VBox); 340 $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); 341 $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); 342 $vb->add ($STATWIDS->{map} = new CFClient::UI::Label valign => 0, align => -1, text => "Map:", expand => 1);
328 343
329 $vb->add (my $hb = new CFClient::UI::HBox expand => 1); 344 $vb->add (my $hb = new CFClient::UI::HBox expand => 1);
330 345
331 $hb->add (my $tbl = new CFClient::UI::Table expand => 1); 346 $hb->add (my $tbl = new CFClient::UI::Table expand => 1);
332 347
348 $tbl->add (0, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
349 $tbl->add (0, 1, $STATWIDS->{st_dex} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
350 $tbl->add (0, 2, $STATWIDS->{st_con} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
351 $tbl->add (0, 3, $STATWIDS->{st_int} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
352 $tbl->add (0, 4, $STATWIDS->{st_wis} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
353 $tbl->add (0, 5, $STATWIDS->{st_pow} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
354 $tbl->add (0, 6, $STATWIDS->{st_cha} = new CFClient::UI::Label valign => 0, align => +1, template => "30");
355
333 $tbl->add (0, 0, $STATWIDS->{st_str_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Str"); 356 $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"); 357 $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"); 358 $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"); 359 $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"); 360 $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"); 361 $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"); 362 $tbl->add (1, 6, $STATWIDS->{st_cha_lbl} = new CFClient::UI::Label valign => 0, align => -1, text => "Cha");
340 363
341 $tbl->add (1, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => +1, text => ""); 364 $tbl->add (2, 0, $STATWIDS->{st_wc} = new CFClient::UI::Label valign => 0, align => +1, template => "-120");
365 $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 => ""); 366 $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 => ""); 367 $tbl->add (2, 3, $STATWIDS->{st_arm} = new CFClient::UI::Label valign => 0, align => +1, template => "120");
368 $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 => ""); 369 $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 370
349 $tbl->add (2, 0, $STATWIDS->{st_wc_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wc"); 371 $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"); 372 $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"); 373 $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"); 374 $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"); 375 $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"); 376 $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 377
363 $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1); 378 $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1);
364 379
365 my $row = 0; 380 my $row = 0;
366 my $col = 0; 381 my $col = 0;
389 drain acid pois para deat phys 404 drain acid pois para deat phys
390 blind fear tund elec cold ghit/) 405 blind fear tund elec cold ghit/)
391 { 406 {
392 $tbl2->add ($col, $row, 407 $tbl2->add ($col, $row,
393 $STATWIDS->{"res_$_"} = 408 $STATWIDS->{"res_$_"} =
394 new CFClient::UI::Label text => "0", align => +1, valign => 0 409 new CFClient::UI::Label
410 template => "-100%",
411 align => +1,
412 valign => 0,
413 tooltip => $resist_names{$_}
395 ); 414 );
396 $tbl2->add ($col + 1, $row, new CFClient::UI::Image can_hover => 1, can_events => 1, image => "ui/resist/resist_$_.png", tooltip => $resist_names{$_}); 415 $tbl2->add ($col + 1, $row, new CFClient::UI::Image
416 can_hover => 1,
417 can_events => 1,
418 image => "ui/resist/resist_$_.png",
419 tooltip => $resist_names{$_}
420 );
397 421
398 $row++; 422 $row++;
399 if ($row % 6 == 0) { 423 if ($row % 6 == 0) {
400 $col += 2; 424 $col += 2;
401 $row = 0; 425 $row = 0;
406 update_stats_window ({}); 430 update_stats_window ({});
407 431
408 $tgw 432 $tgw
409} 433}
410 434
435sub formsep {
436 reverse join ",", grep length, split /(...)/, reverse $_[0] * 1
437}
438
411sub update_stats_window { 439sub update_stats_window {
412 my ($stats) = @_; 440 my ($stats) = @_;
413 441
414 # i love text protocols!!! 442 # i love text protocols!!!
415 my $hp = $stats->{1} * 1; 443 my $hp = $stats->{Crossfire::Protocol::CS_STAT_HP} * 1;
416 my $hp_m = $stats->{2} * 1; 444 my $hp_m = $stats->{Crossfire::Protocol::CS_STAT_MAXHP} * 1;
417 my $sp = $stats->{3} * 1; 445 my $sp = $stats->{Crossfire::Protocol::CS_STAT_SP} * 1;
418 my $sp_m = $stats->{4} * 1; 446 my $sp_m = $stats->{Crossfire::Protocol::CS_STAT_MAXSP} * 1;
419 my $fo = $stats->{18} * 1; 447 my $fo = $stats->{Crossfire::Protocol::CS_STAT_FOOD} * 1;
420 my $fo_m = 999; 448 my $fo_m = 999;
421 my $gr = $stats->{23} * 1; 449 my $gr = $stats->{Crossfire::Protocol::CS_STAT_GRACE} * 1;
422 my $gr_m = $stats->{24} * 1; 450 my $gr_m = $stats->{Crossfire::Protocol::CS_STAT_MAXGRACE} * 1;
423 451
424 $GAUGES->{hp} ->set_value ($hp, $hp_m); 452 $GAUGES->{hp} ->set_value ($hp, $hp_m);
425 $GAUGES->{mana} ->set_value ($sp, $sp_m); 453 $GAUGES->{mana} ->set_value ($sp, $sp_m);
426 $GAUGES->{food} ->set_value ($fo, $fo_m); 454 $GAUGES->{food} ->set_value ($fo, $fo_m);
427 $GAUGES->{grace} ->set_value ($gr, $gr_m); 455 $GAUGES->{grace} ->set_value ($gr, $gr_m);
428 $GAUGES->{exp} ->set_text ("XP: " . ($stats->{11} || $stats->{28}) * 1 456 $GAUGES->{exp} ->set_text ("Exp: " . (formsep $stats->{Crossfire::Protocol::CS_STAT_EXP64})
429 ." LVL: " . $stats->{12} * 1); 457 . " (lvl " . ($stats->{Crossfire::Protocol::CS_STAT_LEVEL} * 1) . ")");
430 my $rng = $stats->{20}; 458 my $rng = $stats->{Crossfire::Protocol::CS_STAT_RANGE};
431 $rng =~ s/^Range: //; # thank you so much dear server 459 $rng =~ s/^Range: //; # thank you so much dear server
432 $GAUGES->{range} ->set_text ("Rng: " . $rng); 460 $GAUGES->{range} ->set_text ("Rng: " . $rng);
433 my $title = $stats->{21}; 461 my $title = $stats->{Crossfire::Protocol::CS_STAT_TITLE};
434 $title =~ s/^Player: //; 462 $title =~ s/^Player: //;
435 $STATWIDS->{title} ->set_text ("Title: " . $title); 463 $STATWIDS->{title} ->set_text ("Title: " . $title);
436 464
437 $STATWIDS->{st_str} ->set_text (sprintf "%d", $stats->{5}); 465 $STATWIDS->{st_str} ->set_text (sprintf "%d", $stats->{5});
438 $STATWIDS->{st_dex} ->set_text (sprintf "%d", $stats->{8}); 466 $STATWIDS->{st_dex} ->set_text (sprintf "%d", $stats->{8});
439 $STATWIDS->{st_con} ->set_text (sprintf "%d", $stats->{9}); 467 $STATWIDS->{st_con} ->set_text (sprintf "%d", $stats->{9});
440 $STATWIDS->{st_int} ->set_text (sprintf "%d", $stats->{6}); 468 $STATWIDS->{st_int} ->set_text (sprintf "%d", $stats->{6});
441 $STATWIDS->{st_wis} ->set_text (sprintf "%d", $stats->{7}); 469 $STATWIDS->{st_wis} ->set_text (sprintf "%d", $stats->{7});
442 $STATWIDS->{st_pow} ->set_text (sprintf "%d", $stats->{22}); 470 $STATWIDS->{st_pow} ->set_text (sprintf "%d", $stats->{22});
443 $STATWIDS->{st_cha} ->set_text (sprintf "%d", $stats->{10}); 471 $STATWIDS->{st_cha} ->set_text (sprintf "%d", $stats->{10});
444 $STATWIDS->{st_wc} ->set_text (sprintf "%d", $stats->{13}); 472 $STATWIDS->{st_wc} ->set_text (sprintf "%d", $stats->{13});
445 $STATWIDS->{st_ac} ->set_text (sprintf "%d", $stats->{14}); 473 $STATWIDS->{st_ac} ->set_text (sprintf "%d", $stats->{14});
446 $STATWIDS->{st_dam} ->set_text (sprintf "%d", $stats->{15}); 474 $STATWIDS->{st_dam} ->set_text (sprintf "%d", $stats->{15});
447 $STATWIDS->{st_arm} ->set_text (sprintf "%d", $stats->{16}); 475 $STATWIDS->{st_arm} ->set_text (sprintf "%d", $stats->{16});
448 $STATWIDS->{st_spd} ->set_text (sprintf "%.1f", $stats->{17}); 476 $STATWIDS->{st_spd} ->set_text (sprintf "%.1f", $stats->{Crossfire::Protocol::CS_STAT_SPEED});
449 $STATWIDS->{st_wspd}->set_text (sprintf "%.1f", $stats->{19}); 477 $STATWIDS->{st_wspd}->set_text (sprintf "%.1f", $stats->{Crossfire::Protocol::CS_STAT_WEAP_SP});
450 478
451 my %tbl = ( 479 my %tbl = (
452 phys => 100, 480 phys => 100,
453 magic => 101, 481 magic => 101,
454 fire => 102, 482 fire => 102,
577 605
578 $vbox->add (new CFClient::UI::Flopper 606 $vbox->add (new CFClient::UI::Flopper
579 expand => 1, 607 expand => 1,
580 text => "Metaserver", 608 text => "Metaserver",
581 other => $METASERVER, 609 other => $METASERVER,
582 tooltip => "Show a list of aviable crossfire servers", 610 tooltip => "Show a list of avaible crossfire servers",
583 connect_open => sub { 611 connect_open => sub {
584 update_metaserver $HOST; 612 update_metaserver $HOST;
585 } 613 }
586 ); 614 );
587 } 615 }
648 user_h => int $::HEIGHT / 5, 676 user_h => int $::HEIGHT / 5,
649 child => (my $vbox = new CFClient::UI::VBox); 677 child => (my $vbox = new CFClient::UI::VBox);
650 678
651 $vbox->add ($LOGVIEW = new CFClient::UI::TextView 679 $vbox->add ($LOGVIEW = new CFClient::UI::TextView
652 expand => 1, 680 expand => 1,
681 font => $FONT_FIXED,
653 fontsize => $::CFG->{log_fontsize}, 682 fontsize => $::CFG->{log_fontsize},
654 ); 683 );
655 684
656 $vbox->add (my $input = new CFClient::UI::Entry 685 $vbox->add (my $input = new CFClient::UI::Entry
657 connect_focus_in => sub { 686 connect_focus_in => sub {
751 780
752 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Client Setup", other => client_setup); 781 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Client Setup", other => client_setup);
753 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Server Setup", other => server_setup); 782 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Server Setup", other => server_setup);
754 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Message Window", other => message_window); 783 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Message Window", other => message_window);
755 784
785 $CFClient::UI::ROOT->add (make_gauge_window); # XXX: this has to be set before make_stats_window as make_stats_window calls update_stats_window which updated the gauges also X-D
786 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => make_stats_window);
787
756 $BUTTONBAR->add (new CFClient::UI::Button text => "Save Config", connect_activate => sub { 788 $BUTTONBAR->add (new CFClient::UI::Button text => "Save Config", connect_activate => sub {
757 CFClient::write_cfg "$Crossfire::VARDIR/pclientrc"; 789 CFClient::write_cfg "$Crossfire::VARDIR/pclientrc";
758 status "Configuration Saved"; 790 status "Configuration Saved";
759 }); 791 });
760 792
761 $CFClient::UI::ROOT->add (make_gauge_window); # XXX: this has to be set before make_stats_window as make_stats_window calls update_stats_window which updated the gauges also X-D
762 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => make_stats_window);
763
764 $BUTTONBAR->{children}[1]->emit ("activate"); # pop up server setup 793 $BUTTONBAR->{children}[1]->emit ("activate"); # pop up server setup
765
766
767} 794}
768 795
769sub video_shutdown { 796sub video_shutdown {
770 $CFClient::UI::ROOT->{children} = []; 797 $CFClient::UI::ROOT->{children} = [];
771 undef $SDL_ACTIVE; 798 undef $SDL_ACTIVE;
1146 $MAPWIDGET->add_command ("ready_skill $skill", "", sub { 1173 $MAPWIDGET->add_command ("ready_skill $skill", "", sub {
1147 }); 1174 });
1148 $MAPWIDGET->add_command ("use_skill $skill", "", sub { 1175 $MAPWIDGET->add_command ("use_skill $skill", "", sub {
1149 }); 1176 });
1150 } 1177 }
1178}
1179
1180sub conn::container_add {
1181 my ($self, $id, $items) = @_;
1182
1183 # 0 floor
1184 # $self-<{player}{tag} => player inv
1185 #use PApp::Util; warn PApp::Util::dumpval $self->{container}{$self->{player}{tag}};
1186}
1187
1188sub conn::container_clear {
1189 my ($self, $id) = @_;
1190# use PApp::Util; warn PApp::Util::dumpval $self->{container}{0};
1151} 1191}
1152 1192
1153%SDL_CB = ( 1193%SDL_CB = (
1154 CFClient::SDL_QUIT => sub { 1194 CFClient::SDL_QUIT => sub {
1155 Event::unloop -1; 1195 Event::unloop -1;
1190 sdl_mode => 0, 1230 sdl_mode => 0,
1191 width => 640, 1231 width => 640,
1192 height => 480, 1232 height => 480,
1193 fullscreen => 0, 1233 fullscreen => 0,
1194 fast => 0, 1234 fast => 0,
1235 map_scale => 0.5,
1195 fow_enable => 1, 1236 fow_enable => 1,
1196 fow_intensity => 0.45, 1237 fow_intensity => 0.45,
1197 fow_smooth => 0, 1238 fow_smooth => 0,
1198 gui_fontsize => 1, 1239 gui_fontsize => 1,
1199 log_fontsize => 1, 1240 log_fontsize => 1,
1221@SDL_MODES or CFClient::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)"; 1262@SDL_MODES or CFClient::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)";
1222 1263
1223$CFG->{sdl_mode} = 0 if $CFG->{sdl_mode} > @SDL_MODES; 1264$CFG->{sdl_mode} = 0 if $CFG->{sdl_mode} > @SDL_MODES;
1224 1265
1225{ 1266{
1226 my @fonts = map CFClient::find_rcfile $_, qw(uifont.ttf uifontb.ttf uifonti.ttf uifontbi.ttf); 1267 my @fonts = map CFClient::find_rcfile "fonts/$_", qw(
1268 DejaVuSans.ttf
1269 DejaVuSansMono.ttf
1270 DejaVuSans-Bold.ttf
1271 DejaVuSansMono-Bold.ttf
1272 DejaVuSans-Oblique.ttf
1273 DejaVuSansMono-Oblique.ttf
1274 DejaVuSans-BoldOblique.ttf
1275 DejaVuSansMono-BoldOblique.ttf
1276 );
1227 1277
1228 CFClient::add_font $_ for @fonts; 1278 CFClient::add_font $_ for @fonts;
1229 CFClient::set_font $fonts[0]; 1279
1280 $FONT_PROP = new_from_file CFClient::Font $fonts[0];
1281 $FONT_FIXED = new_from_file CFClient::Font $fonts[1];
1282
1283 $FONT_PROP->make_default;
1230} 1284}
1231 1285
1232video_init; 1286video_init;
1233audio_init; 1287audio_init;
1234 1288

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines