… | |
… | |
113 | $table->add (1, 2, new CFClient::UI::CheckBox state => $CFG->{fast}, connect_changed => sub { |
113 | $table->add (1, 2, new CFClient::UI::CheckBox state => $CFG->{fast}, connect_changed => sub { |
114 | my ($self, $value) = @_; |
114 | my ($self, $value) = @_; |
115 | $CFG->{fast} = $value; |
115 | $CFG->{fast} = $value; |
116 | }); |
116 | }); |
117 | |
117 | |
118 | $table->add (0, 2, new CFClient::UI::Label align => 1, text => "Fog of War"); |
118 | $table->add (0, 3, new CFClient::UI::Label align => 1, text => "Fog of War"); |
119 | $table->add (1, 2, new CFClient::UI::Slider range => [$CFG->{fow_intensity}, 0, 1 + 0.001, 0.001], connect_changed => sub { |
119 | $table->add (1, 3, new CFClient::UI::Slider range => [$CFG->{fow_intensity}, 0, 1 + 0.001, 0.001], connect_changed => sub { |
120 | my ($self, $value) = @_; |
120 | my ($self, $value) = @_; |
121 | $CFG->{fow_intensity} = $value; |
121 | $CFG->{fow_intensity} = $value; |
122 | }); |
122 | }); |
123 | |
123 | |
|
|
124 | $table->add (0, 4, new CFClient::UI::Label align => 1, text => "Smooth FoW"); |
|
|
125 | $table->add (1, 4, new CFClient::UI::CheckBox state => $CFG->{fow_smooth}, connect_changed => sub { |
|
|
126 | my ($self, $value) = @_; |
|
|
127 | $CFG->{fow_smooth} = $value; |
|
|
128 | }); |
|
|
129 | |
124 | $table->add (1, 4, new CFClient::UI::Button expand => 1, align => 0, text => "Apply", connect_activate => sub { |
130 | $table->add (1, 5, new CFClient::UI::Button expand => 1, align => 0, text => "Apply", connect_activate => sub { |
125 | destroy_screen (); |
131 | destroy_screen (); |
126 | init_screen (); |
132 | init_screen (); |
127 | }); |
133 | }); |
128 | |
134 | |
129 | $vbox->add (new CFClient::UI::Label align => 0, text => "Server Setup"); |
135 | $vbox->add (new CFClient::UI::Label align => 0, text => "Server Setup"); |
… | |
… | |
163 | }); |
169 | }); |
164 | $CFClient::UI::TOPLEVEL->add ($dialog); |
170 | $CFClient::UI::TOPLEVEL->add ($dialog); |
165 | } |
171 | } |
166 | |
172 | |
167 | sub sdl_init { |
173 | sub sdl_init { |
168 | SDL::Init SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO |
174 | SDL::Init SDL_INIT_AUDIO | SDL_INIT_VIDEO |
169 | and die "SDL::Init failed!\n"; |
175 | and die "SDL::Init failed!\n"; |
170 | } |
176 | } |
171 | |
177 | |
172 | sub init_screen { |
178 | sub init_screen { |
173 | sdl_init; |
179 | sdl_init; |
… | |
… | |
394 | my %DEF_CFG = ( |
400 | my %DEF_CFG = ( |
395 | width => 640, |
401 | width => 640, |
396 | height => 480, |
402 | height => 480, |
397 | fast => 0, |
403 | fast => 0, |
398 | fow_intensity => 0.45, |
404 | fow_intensity => 0.45, |
|
|
405 | fow_smooth => 1, |
399 | fullscreen => 0, |
406 | fullscreen => 0, |
400 | sdl_mode => 0, |
407 | sdl_mode => 0, |
401 | mapsize => 100, |
408 | mapsize => 100, |
402 | host => "crossfire.schmorp.de", |
409 | host => "crossfire.schmorp.de", |
403 | port => 13327, |
410 | port => 13327, |