… | |
… | |
167 | $table->add (1, $row++, new CFClient::UI::Slider range => [$CFG->{stat_fontsize}, 0.7, 1.7, 0.1], connect_changed => sub { |
167 | $table->add (1, $row++, new CFClient::UI::Slider range => [$CFG->{stat_fontsize}, 0.7, 1.7, 0.1], connect_changed => sub { |
168 | $CFG->{stat_fontsize} = 0.1 * int $_[1] * 10; |
168 | $CFG->{stat_fontsize} = 0.1 * int $_[1] * 10; |
169 | &set_stats_window_fontsize; |
169 | &set_stats_window_fontsize; |
170 | }); |
170 | }); |
171 | |
171 | |
172 | $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Gauge width"); |
|
|
173 | $table->add (1, $row++, new CFClient::UI::Slider range => [$CFG->{gauge_w_size}, 0.1, 0.5, 0.02], connect_changed => sub { |
|
|
174 | $CFG->{gauge_w_size} = $_[1]; |
|
|
175 | my $h = int ($HEIGHT * $CFG->{gauge_size}); |
|
|
176 | my $w = int ($WIDTH * $CFG->{gauge_w_size}); |
|
|
177 | $GAUGES->{win}->set_size ($w, $h); |
|
|
178 | $GAUGES->{win}->{y} = $HEIGHT - $h; |
|
|
179 | $GAUGES->{win}->{x} = $WIDTH - $w; |
|
|
180 | $GAUGES->{win}->update; |
|
|
181 | }); |
|
|
182 | |
|
|
183 | $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Gauge height"); |
172 | $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Gauge height"); |
184 | $table->add (1, $row++, new CFClient::UI::Slider range => [$CFG->{gauge_size}, 0.2, 0.8, 0.02], connect_changed => sub { |
173 | $table->add (1, $row++, new CFClient::UI::Slider range => [$CFG->{gauge_size}, 0.2, 0.8, 0.02], connect_changed => sub { |
185 | $CFG->{gauge_size} = $_[1]; |
174 | $CFG->{gauge_size} = $_[1]; |
186 | my $h = int ($HEIGHT * $CFG->{gauge_size}); |
175 | my $h = int ($HEIGHT * $CFG->{gauge_size}); |
187 | my $w = int ($WIDTH * $CFG->{gauge_w_size}); |
|
|
188 | $GAUGES->{win}->set_size ($w, $h); |
176 | $GAUGES->{win}->set_size ($WIDTH, $h); |
189 | $GAUGES->{win}->{y} = $HEIGHT - $h; |
177 | $GAUGES->{win}->{y} = $HEIGHT - $h; |
190 | $GAUGES->{win}->{x} = $WIDTH - $w; |
178 | $GAUGES->{win}->{x} = 0; |
191 | $GAUGES->{win}->update; |
179 | $GAUGES->{win}->update; |
192 | }); |
180 | }); |
193 | |
181 | |
194 | |
182 | |
195 | $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Gauge fontsize"); |
183 | $table->add (0, $row, new CFClient::UI::Label valign => 0, align => 1, text => "Gauge fontsize"); |
… | |
… | |
245 | } |
233 | } |
246 | } |
234 | } |
247 | |
235 | |
248 | sub make_gauge_window { |
236 | sub make_gauge_window { |
249 | my $gh = int ($HEIGHT * $CFG->{gauge_size}); |
237 | my $gh = int ($HEIGHT * $CFG->{gauge_size}); |
250 | my $gw = int ($WIDTH * $CFG->{gauge_w_size}); |
238 | # my $gw = int ($WIDTH * $CFG->{gauge_w_size}); |
251 | |
239 | |
252 | my $win = new CFClient::UI::Frame ( |
240 | my $win = new CFClient::UI::Frame ( |
253 | y => $HEIGHT - $gh, x => $WIDTH - $gw, req_w => $gw, req_h => $gh |
241 | y => $HEIGHT - $gh, x => 0, req_w => $WIDTH, req_h => $gh |
254 | ); |
242 | ); |
255 | $win->add (my $vb = new CFClient::UI::VBox); |
243 | $win->add (my $vb = new CFClient::UI::VBox); |
256 | |
244 | |
257 | $vb->add (my $hb = new CFClient::UI::HBox expand => 1); |
245 | $vb->add (my $hbg = new CFClient::UI::HBox expand => 1); |
|
|
246 | |
|
|
247 | |
|
|
248 | $hbg->add (new CFClient::UI::Empty expand => 1); |
|
|
249 | $hbg->add (my $hb = new CFClient::UI::HBox); |
258 | $hb->add (my $hg = new CFClient::UI::Gauge type => 'hp', expand => 1); |
250 | $hb->add (my $hg = new CFClient::UI::Gauge type => 'hp'); |
259 | $hb->add (my $mg = new CFClient::UI::Gauge type => 'mana', expand => 1); |
251 | $hb->add (my $mg = new CFClient::UI::Gauge type => 'mana'); |
260 | $hb->add (my $gg = new CFClient::UI::Gauge type => 'grace', expand => 1); |
252 | $hb->add (my $gg = new CFClient::UI::Gauge type => 'grace'); |
261 | $hb->add (my $fg = new CFClient::UI::Gauge type => 'food', expand => 1); |
253 | $hb->add (my $fg = new CFClient::UI::Gauge type => 'food'); |
|
|
254 | |
262 | $vb->add (my $exp = new CFClient::UI::Label valign => 0, align => -1, text => "XP:"); |
255 | $vb->add (my $exp = new CFClient::UI::Label valign => 0, align => 1, text => "XP:"); |
263 | $vb->add (my $lvl = new CFClient::UI::Label valign => 0, align => -1, text => "Lvl:"); |
256 | # $vb->add (my $lvl = new CFClient::UI::Label valign => 0, align => 1, text => "Lvl:"); |
|
|
257 | $vb->add (my $rng = new CFClient::UI::Label valign => 0, align => 1, text => "Rng:"); |
264 | |
258 | |
265 | |
259 | |
266 | $GAUGES = { |
260 | $GAUGES = { |
267 | exp => $exp, lvl => $lvl, win => $win, |
261 | exp => $exp,# lvl => $lvl, |
|
|
262 | win => $win, range => $rng, |
268 | food => $fg, mana => $mg, hp => $hg, grace => $gg |
263 | food => $fg, mana => $mg, hp => $hg, grace => $gg |
269 | }; |
264 | }; |
270 | $win |
265 | $win |
271 | } |
266 | } |
272 | |
267 | |
… | |
… | |
280 | |
275 | |
281 | $vb->add (my $hb = new CFClient::UI::HBox expand => 1); |
276 | $vb->add (my $hb = new CFClient::UI::HBox expand => 1); |
282 | |
277 | |
283 | $hb->add (my $tbl = new CFClient::UI::Table expand => 1); |
278 | $hb->add (my $tbl = new CFClient::UI::Table expand => 1); |
284 | |
279 | |
285 | $tbl->add (0, 0, $STATWIDS->{st_str_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "S"); |
280 | $tbl->add (0, 0, $STATWIDS->{st_str_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Str"); |
286 | $tbl->add (0, 1, $STATWIDS->{st_dex_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "D"); |
281 | $tbl->add (0, 1, $STATWIDS->{st_dex_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Dex"); |
287 | $tbl->add (0, 2, $STATWIDS->{st_con_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Co"); |
282 | $tbl->add (0, 2, $STATWIDS->{st_con_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Con"); |
288 | $tbl->add (0, 3, $STATWIDS->{st_int_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "I"); |
283 | $tbl->add (0, 3, $STATWIDS->{st_int_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Int"); |
289 | $tbl->add (0, 4, $STATWIDS->{st_wis_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "W"); |
284 | $tbl->add (0, 4, $STATWIDS->{st_wis_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wis"); |
290 | $tbl->add (0, 5, $STATWIDS->{st_pow_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "P"); |
285 | $tbl->add (0, 5, $STATWIDS->{st_pow_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Pow"); |
291 | $tbl->add (0, 6, $STATWIDS->{st_cha_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Ch"); |
286 | $tbl->add (0, 6, $STATWIDS->{st_cha_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Cha"); |
292 | |
287 | |
293 | $tbl->add (1, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
288 | $tbl->add (1, 0, $STATWIDS->{st_str} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
294 | $tbl->add (1, 1, $STATWIDS->{st_dex} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
289 | $tbl->add (1, 1, $STATWIDS->{st_dex} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
295 | $tbl->add (1, 2, $STATWIDS->{st_con} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
290 | $tbl->add (1, 2, $STATWIDS->{st_con} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
296 | $tbl->add (1, 3, $STATWIDS->{st_int} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
291 | $tbl->add (1, 3, $STATWIDS->{st_int} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
297 | $tbl->add (1, 4, $STATWIDS->{st_wis} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
292 | $tbl->add (1, 4, $STATWIDS->{st_wis} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
298 | $tbl->add (1, 5, $STATWIDS->{st_pow} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
293 | $tbl->add (1, 5, $STATWIDS->{st_pow} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
299 | $tbl->add (1, 6, $STATWIDS->{st_cha} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
294 | $tbl->add (1, 6, $STATWIDS->{st_cha} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
300 | |
295 | |
301 | $tbl->add (2, 0, $STATWIDS->{st_wc_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wc"); |
296 | $tbl->add (2, 0, $STATWIDS->{st_wc_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Wc"); |
302 | $tbl->add (2, 1, $STATWIDS->{st_ac_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Ac"); |
297 | $tbl->add (2, 1, $STATWIDS->{st_ac_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Ac"); |
303 | $tbl->add (2, 2, $STATWIDS->{st_dam_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Dam"); |
298 | $tbl->add (2, 2, $STATWIDS->{st_dam_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Dam"); |
304 | $tbl->add (2, 3, $STATWIDS->{st_arm_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Arm"); |
299 | $tbl->add (2, 3, $STATWIDS->{st_arm_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Arm"); |
305 | $tbl->add (2, 4, $STATWIDS->{st_spd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Sp"); |
300 | $tbl->add (2, 4, $STATWIDS->{st_spd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "Sp"); |
306 | $tbl->add (2, 5, $STATWIDS->{st_wspd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "WSp"); |
301 | $tbl->add (2, 5, $STATWIDS->{st_wspd_lbl} = new CFClient::UI::Label valign => 0, align => +1, text => "WSp"); |
307 | |
302 | |
308 | $tbl->add (3, 0, $STATWIDS->{st_wc} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
303 | $tbl->add (3, 0, $STATWIDS->{st_wc} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
309 | $tbl->add (3, 1, $STATWIDS->{st_ac} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
304 | $tbl->add (3, 1, $STATWIDS->{st_ac} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
310 | $tbl->add (3, 2, $STATWIDS->{st_dam} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
305 | $tbl->add (3, 2, $STATWIDS->{st_dam} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
311 | $tbl->add (3, 3, $STATWIDS->{st_arm} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
306 | $tbl->add (3, 3, $STATWIDS->{st_arm} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
312 | $tbl->add (3, 4, $STATWIDS->{st_spd} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
307 | $tbl->add (3, 4, $STATWIDS->{st_spd} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
313 | $tbl->add (3, 5, $STATWIDS->{st_wspd} = new CFClient::UI::Label valign => 0, align => -1, text => ""); |
308 | $tbl->add (3, 5, $STATWIDS->{st_wspd} = new CFClient::UI::Label valign => 0, align => +1, text => ""); |
314 | |
309 | |
315 | $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1); |
310 | $hb->add (my $tbl2 = new CFClient::UI::Table expand => 1); |
316 | |
311 | |
317 | my $row = 0; |
312 | my $row = 0; |
318 | my $col = 0; |
313 | my $col = 0; |
319 | |
314 | |
320 | for (qw/slow holyw conf fire depl magic |
315 | for (qw/slow holyw conf fire depl magic |
321 | drain acid pois para deat phys |
316 | drain acid pois para deat phys |
322 | blind fear tund elec cold ghit/) |
317 | blind fear tund elec cold ghit/) |
323 | { |
318 | { |
324 | $tbl2->add ($col, $row, new CFClient::UI::Image image => "ui/resist/resist_$_.png"); |
|
|
325 | $tbl2->add ($col + 1, $row, |
319 | $tbl2->add ($col , $row, |
326 | $STATWIDS->{"res_$_"} = |
320 | $STATWIDS->{"res_$_"} = |
327 | new CFClient::UI::Label text => "0", align => -1, valign => 0 |
321 | new CFClient::UI::Label text => "0", align => +1, valign => 0 |
328 | ); |
322 | ); |
|
|
323 | $tbl2->add ($col + 1, $row, new CFClient::UI::Image image => "ui/resist/resist_$_.png"); |
329 | |
324 | |
330 | $row++; |
325 | $row++; |
331 | if ($row % 6 == 0) { |
326 | if ($row % 6 == 0) { |
332 | $col += 2; |
327 | $col += 2; |
333 | $row = 0; |
328 | $row = 0; |
… | |
… | |
355 | |
350 | |
356 | $GAUGES->{hp} ->set_value ($hp, $hp_m); |
351 | $GAUGES->{hp} ->set_value ($hp, $hp_m); |
357 | $GAUGES->{mana} ->set_value ($sp, $sp_m); |
352 | $GAUGES->{mana} ->set_value ($sp, $sp_m); |
358 | $GAUGES->{food} ->set_value ($fo, $fo_m); |
353 | $GAUGES->{food} ->set_value ($fo, $fo_m); |
359 | $GAUGES->{grace} ->set_value ($gr, $gr_m); |
354 | $GAUGES->{grace} ->set_value ($gr, $gr_m); |
360 | $GAUGES->{exp} ->set_text ("XP: " . ($stats->{11} || $stats->{28})); |
355 | $GAUGES->{exp} ->set_text ("XP: " . ($stats->{11} || $stats->{28}) * 1 |
|
|
356 | ." LVL: " . $stats->{12} * 1); |
|
|
357 | my $rng = $stats->{20}; |
|
|
358 | $rng =~ s/^Range: //; # thank you so much dear server |
|
|
359 | $GAUGES->{range} ->set_text ("Rng: " . $rng); |
361 | $GAUGES->{lvl} ->set_text ("LVL: " . $stats->{12}); |
360 | # $GAUGES->{lvl} ->set_text ("LVL: " . $stats->{12}); |
362 | $STATWIDS->{title} ->set_text ("Title: " . $stats->{21}); |
361 | $STATWIDS->{title} ->set_text ("Title: " . $stats->{21}); |
363 | |
362 | |
364 | if (0) { # this code can vanish, just wanted to preserver it for a checkin |
363 | if (0) { # this code can vanish, just wanted to preserver it for a checkin |
365 | $STATWIDS->{st_str} ->set_text (sprintf "S%d", $stats->{5}); |
364 | $STATWIDS->{st_str} ->set_text (sprintf "S%d", $stats->{5}); |
366 | $STATWIDS->{st_dex} ->set_text (sprintf "D%d", $stats->{8}); |
365 | $STATWIDS->{st_dex} ->set_text (sprintf "D%d", $stats->{8}); |
… | |
… | |
1110 | fow_smooth => 0, |
1109 | fow_smooth => 0, |
1111 | gui_fontsize => 1, |
1110 | gui_fontsize => 1, |
1112 | log_fontsize => 1, |
1111 | log_fontsize => 1, |
1113 | gauge_fontsize => 1, |
1112 | gauge_fontsize => 1, |
1114 | gauge_size => 0.35, |
1113 | gauge_size => 0.35, |
1115 | gauge_w_size => 0.14, |
|
|
1116 | stat_fontsize => 1, |
1114 | stat_fontsize => 1, |
1117 | mapsize => 100, |
1115 | mapsize => 100, |
1118 | host => "crossfire.schmorp.de", |
1116 | host => "crossfire.schmorp.de", |
1119 | say_command => 'say', |
1117 | say_command => 'say', |
1120 | audio_enable => 1, |
1118 | audio_enable => 1, |