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

Comparing deliantra/Deliantra-Client/bin/deliantra (file contents):
Revision 1.67 by root, Mon Sep 1 10:00:29 2008 UTC vs.
Revision 1.73 by root, Wed Sep 3 06:07:39 2008 UTC

121} 121}
122 122
123BEGIN { 123BEGIN {
124 $SIG{__DIE__} = sub { 124 $SIG{__DIE__} = sub {
125 return if $^S; 125 return if $^S;
126 crash ("CRASH/DIE: $_[0]" => 1); 126 crash "CRASH/DIE: $_[0]" => 1;
127 DC::fatal Carp::longmess "$_[0]"; 127 DC::fatal Carp::longmess "$_[0]";
128 } 128 }
129} 129}
130 130
131use DC::OpenGL (); 131use DC::OpenGL ();
145 145
146$SIG{QUIT} = sub { Carp::cluck "QUIT" }; 146$SIG{QUIT} = sub { Carp::cluck "QUIT" };
147$SIG{PIPE} = 'IGNORE'; 147$SIG{PIPE} = 'IGNORE';
148 148
149$EV::DIED = sub { 149$EV::DIED = sub {
150 crash ("CRASH/EV::DIED: $@" => 1); 150 crash "CRASH/EV::DIED: $@" => 1;
151 DC::fatal Carp::longmess $@; 151 DC::fatal Carp::longmess $@;
152}; 152};
153 153
154my $MAX_FPS = 60; 154my $MAX_FPS = 60;
155 155
245 my $buf = delete $CONN->{wbuf}; 245 my $buf = delete $CONN->{wbuf};
246 246
247 $buf .= pack "n/a*", "exti " . JSON::XS::encode_json [clientlog => undef, substr $msg, 0, 8000]; 247 $buf .= pack "n/a*", "exti " . JSON::XS::encode_json [clientlog => undef, substr $msg, 0, 8000];
248 248
249 AnyEvent::Util::fh_nonblocking $fh, 0; 249 AnyEvent::Util::fh_nonblocking $fh, 0;
250
251 syswrite $fh, $buf; 250 syswrite $fh, $buf;
252 AnyEvent::Util::fh_nonblocking $fh, 1; 251 AnyEvent::Util::fh_nonblocking $fh, 1;
253 252
254 $msg =~ s/\s+$//; 253 $msg =~ s/\s+$//;
255 254
256 # backtrace as second step, in case it crashes, too 255 # backtrace as second step, in case it crashes, too
257 crash (Carp::longmess "$msg\nbacktrace, for client version $DC::VERSION, generated") 256 crash Carp::longmess "$msg\nbacktrace, for client version $DC::VERSION, generated"
258 if $backtrace; 257 if $backtrace;
259}; 258};
260 259
261############################################################################# 260#############################################################################
262 261
2250 DC::SDL_Init DC::SDL_INIT_AUDIO #| DC::SDL_NOPARACHUTE 2249 DC::SDL_Init DC::SDL_INIT_AUDIO #| DC::SDL_NOPARACHUTE
2251 and die "SDL::Init failed!\n"; 2250 and die "SDL::Init failed!\n";
2252} 2251}
2253 2252
2254sub video_init { 2253sub video_init {
2254 DC::set_theme $CFG->{theme};
2255
2255 DC::SDL_InitSubSystem DC::SDL_INIT_VIDEO if $SDL_REINIT; 2256 DC::SDL_InitSubSystem DC::SDL_INIT_VIDEO if $SDL_REINIT;
2256 $SDL_REINIT = 0; 2257 $SDL_REINIT = 0;
2257 2258
2258 @SDL_MODES = DC::SDL_ListModes 8, $CFG->{disable_alpha} ? 0 : 8; 2259 @SDL_MODES = DC::SDL_ListModes 8, $CFG->{disable_alpha} ? 0 : 8;
2259 @SDL_MODES = DC::SDL_ListModes 8, 8 unless @SDL_MODES; 2260 @SDL_MODES = DC::SDL_ListModes 8, 8 unless @SDL_MODES;
2263 @SDL_MODES = sort { $a->[0] * $a->[1] <=> $b->[0] * $b->[1] } @SDL_MODES; 2264 @SDL_MODES = sort { $a->[0] * $a->[1] <=> $b->[0] * $b->[1] } @SDL_MODES;
2264 2265
2265 if (!defined $CFG->{sdl_mode} or $CFG->{sdl_mode} > $#SDL_MODES) { 2266 if (!defined $CFG->{sdl_mode} or $CFG->{sdl_mode} > $#SDL_MODES) {
2266 $CFG->{sdl_mode} = 0; # lowest resolution by default 2267 $CFG->{sdl_mode} = 0; # lowest resolution by default
2267 2268
2268 # now choose biggets mode <= 1024x768 2269 # now choose biggest mode <= 1024x768
2269 for (0 .. $#SDL_MODES) { 2270 for (0 .. $#SDL_MODES) {
2270 if ($SDL_MODES[$_][0] * $SDL_MODES[$_][1] <= 1024 * 768) { 2271 if ($SDL_MODES[$_][0] * $SDL_MODES[$_][1] <= 1024 * 768) {
2271 $CFG->{sdl_mode} = $_; 2272 $CFG->{sdl_mode} = $_;
2272 } 2273 }
2273 } 2274 }
2465 $BUTTONBAR->show; 2466 $BUTTONBAR->show;
2466 $SETUP_DIALOG->show; 2467 $SETUP_DIALOG->show;
2467 $MESSAGE_WINDOW->show; 2468 $MESSAGE_WINDOW->show;
2468 } 2469 }
2469 2470
2470 $MODE_SLIDER->set_range ([$CFG->{sdl_mode}, 0, $#SDL_MODES, 1, 1]); 2471 $MODE_SLIDER->set_range ([$CFG->{sdl_mode}, 0, scalar @SDL_MODES, 1, 1]);
2471 $MODE_SLIDER->emit (changed => $CFG->{sdl_mode}); 2472 $MODE_SLIDER->emit (changed => $CFG->{sdl_mode});
2472 2473
2473 $CAVEAT_LABEL->set_text ("None :)"); 2474 $CAVEAT_LABEL->set_text ("None :)");
2474 $CAVEAT_LABEL->set_text ("Software Rendering (very slow)") 2475 $CAVEAT_LABEL->set_text ("Software Rendering (very slow)")
2475 unless DC::SDL_GL_GetAttribute DC::SDL_GL_ACCELERATED_VISUAL; 2476 unless DC::SDL_GL_GetAttribute DC::SDL_GL_ACCELERATED_VISUAL;
2640 inv_sort => "mtime", 2641 inv_sort => "mtime",
2641 default => "profile", # default profile 2642 default => "profile", # default profile
2642 show_tips => 1, 2643 show_tips => 1,
2643 logview_max_par => 1000, 2644 logview_max_par => 1000,
2644 shift_fire_stop => 0, 2645 shift_fire_stop => 0,
2646 theme => "wood",
2645 ); 2647 );
2646 2648
2647 while (my ($k, $v) = each %DEF_CFG) { 2649 while (my ($k, $v) = each %DEF_CFG) {
2648 $CFG->{$k} = $v unless exists $CFG->{$k}; 2650 $CFG->{$k} = $v unless exists $CFG->{$k};
2649 } 2651 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines