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

Comparing deliantra/Deliantra-Client/bin/cfplus (file contents):
Revision 1.53 by root, Mon Jun 5 00:56:44 2006 UTC vs.
Revision 1.61 by root, Tue Jun 6 03:05:16 2006 UTC

25# need to do it again because that pile of garbage called PAR nukes it before main 25# need to do it again because that pile of garbage called PAR nukes it before main
26unshift @INC, $ENV{PAR_TEMP} 26unshift @INC, $ENV{PAR_TEMP}
27 if %PAR::LibCache; 27 if %PAR::LibCache;
28 28
29use Time::HiRes 'time'; 29use Time::HiRes 'time';
30use Pod::POM;
31use Event; 30use Event;
32 31
33use Crossfire; 32use Crossfire;
34use Crossfire::Protocol::Constants; 33use Crossfire::Protocol::Constants;
35 34
38use CFClient; 37use CFClient;
39use CFClient::OpenGL (); 38use CFClient::OpenGL ();
40use CFClient::Protocol; 39use CFClient::Protocol;
41use CFClient::UI; 40use CFClient::UI;
42use CFClient::MapWidget; 41use CFClient::MapWidget;
42
43$SIG{QUIT} = sub { Carp::cluck "QUIT" };
43 44
44$Event::DIED = sub { 45$Event::DIED = sub {
45 # TODO: display dialog box or so 46 # TODO: display dialog box or so
46 Carp::confess $_[1];#d#TODO: remove when stable 47 Carp::confess $_[1];#d#TODO: remove when stable
47 CFClient::error $_[1]; 48 CFClient::error $_[1];
90our $SETUP_NOTEBOOK; 91our $SETUP_NOTEBOOK;
91our $SETUP_SERVER; 92our $SETUP_SERVER;
92our $SETUP_KEYBOARD; 93our $SETUP_KEYBOARD;
93our $SETUP_SPELLS; 94our $SETUP_SPELLS;
94 95
96our $STATS_WINDOW;
97our $MESSAGE_WINDOW;
95our $FLOORBOX; 98our $FLOORBOX;
96our $GAUGES; 99our $GAUGES;
97our $STATWIDS; 100our $STATWIDS;
98 101
99our $SDL_ACTIVE; 102our $SDL_ACTIVE;
120 $STATUSBOX->add (CFClient::UI::Label::escape $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); 123 $STATUSBOX->add (CFClient::UI::Label::escape $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]);
121} 124}
122 125
123sub debug { 126sub debug {
124 $DEBUG_STATUS->set_text ($_[0]); 127 $DEBUG_STATUS->set_text ($_[0]);
128}
129
130sub destroy_query_dialog {
131 (delete $_[0]{query_dialog})->destroy
132 if $_[0]{query_dialog};
133}
134
135# server query dialog
136sub server_query {
137 my ($conn, $flags, $prompt) = @_;
138
139 $conn->{query_dialog} = my $dialog = new CFClient::UI::FancyFrame
140 x => "center",
141 y => "center",
142 title => "Server Query",
143 child => my $vbox = new CFClient::UI::VBox,
144 ;
145
146 my @dialog = my $label = new CFClient::UI::Label
147 max_w => $::WIDTH * 0.4,
148 ellipsise => 0,
149 text => $prompt;
150
151 if ($flags & CS_QUERY_YESNO) {
152 push @dialog, my $hbox = new CFClient::UI::HBox;
153
154 $hbox->add (new CFClient::UI::Button
155 text => "No",
156 on_activate => sub {
157 $conn->send ("reply n");
158 $dialog->destroy;
159 }
160 );
161 $hbox->add (new CFClient::UI::Button
162 text => "Yes",
163 on_activate => sub {
164 $conn->send ("reply y");
165 destroy_query_dialog $conn;
166 },
167 );
168
169 $dialog->focus_in;
170
171 } elsif ($flags & CS_QUERY_SINGLECHAR) {
172 $dialog->{tooltip} = "Press a key (click on the entry to make sure it has keyboard focus)";
173
174 if ($prompt =~ /Now choose a character|Press any key for the next race/i) {
175 $MESSAGE_WINDOW->show;
176
177 unshift @dialog, new CFClient::UI::Label
178 max_w => $::WIDTH * 0.4,
179 ellipsise => 0,
180 markup => "\nOr use your keyboard:\n";
181
182 unshift @dialog, my $table = new CFClient::UI::Table;
183
184 $table->add (0, 0, new CFClient::UI::Button
185 text => "Next Race",
186 on_activate => sub {
187 $conn->send ("reply n");
188 destroy_query_dialog $conn;
189 },
190 );
191 $table->add (2, 0, new CFClient::UI::Button
192 text => "Accept",
193 on_activate => sub {
194 $conn->send ("reply d");
195 destroy_query_dialog $conn;
196 },
197 );
198
199 unshift @dialog, new CFClient::UI::Label
200 max_w => $::WIDTH * 0.4,
201 ellipsise => 0,
202 markup =>
203 "<big><b>Character Creation: Race</b></big>\n\n"
204 . "Look at the <b>Messages</b> window to see a description of this race "
205 . "(<small>or hover with your mouse over the bottommost entry in the status area in the lower left area of the screen</small>) "
206 . "and the center of the screen to see how this race looks like "
207 . "(<small>this is below this dialog window, you may need to click on the display area to make it visible</small>).\n\n"
208 . "You can look at another race, or accept this race (you will come back to this race eventually, "
209 . "so you can take your time making this important choice."
210 ;
211
212 } elsif ($prompt =~ /roll new stats/) {
213 if (my $stat = delete $conn->{stat_change_with}) {
214 $conn->send ("reply $stat");
215 destroy_query_dialog $conn;
216 return;
217 }
218
219 $STATS_WINDOW->show;
220 $MESSAGE_WINDOW->hide;
221
222 unshift @dialog, new CFClient::UI::Label
223 max_w => $::WIDTH * 0.4,
224 ellipsise => 0,
225 markup => "\nOr use your keyboard:\n";
226
227 unshift @dialog, my $table = new CFClient::UI::Table;
228
229 # left: re-roll
230 $table->add (0, 0, new CFClient::UI::Button
231 text => "Roll Again",
232 on_activate => sub {
233 $conn->send ("reply y");
234 destroy_query_dialog $conn;
235 },
236 );
237
238 # center: swap stats
239 my ($sw1, $sw2) = map +(new CFClient::UI::Combobox
240 value => $_,
241 options => [
242 [Str => 1, "Strength ($conn->{stat}{+CS_STAT_STR})"],
243 [Dex => 2, "Dexterity ($conn->{stat}{+CS_STAT_DEX})"],
244 [Con => 3, "Constitution ($conn->{stat}{+CS_STAT_CON})"],
245 [Int => 4, "Intelligence ($conn->{stat}{+CS_STAT_INT})"],
246 [Wis => 5, "Wisdom ($conn->{stat}{+CS_STAT_WIS})"],
247 [Pow => 6, "Power ($conn->{stat}{+CS_STAT_POW})"],
248 [Cha => 7, "Charisma ($conn->{stat}{+CS_STAT_CHA})"],
249 ],
250 ), 1 .. 2;
251
252 $table->add (2, 0, new CFClient::UI::Button
253 text => "Swap Stats",
254 on_activate => sub {
255 $conn->{stat_change_with} = $sw2->{value};
256 $conn->send ("reply $sw1->{value}");
257 destroy_query_dialog $conn;
258 },
259 );
260 $table->add (2, 1, new CFClient::UI::HBox children => [$sw1, $sw2]);
261
262 # right: accept
263 $table->add (4, 0, new CFClient::UI::Button
264 text => "Accept",
265 on_activate => sub {
266 $conn->send ("reply n");
267 $STATS_WINDOW->hide;
268 destroy_query_dialog $conn;
269 },
270 );
271
272 unshift @dialog, new CFClient::UI::Label
273 max_w => $::WIDTH * 0.4,
274 ellipsise => 0,
275 markup =>
276 "<big><b>Character Creation: Stats</b></big>\n\n"
277 . "Look at the <b>Stats</b> window to see your basic stats "
278 . "(first column: 1 strength, 2 dexterity, 3 constitution, 4 intelligence, 5 wisdom, 6 power and 7 charisma).\n\n"
279 . "You can create another set of stats, swap two stat values with each other or accept the stats as they are now and continue. "
280 . "Race selection will influence those values later on."
281 ;
282 }
283
284 push @dialog, my $entry = new CFClient::UI::Entry
285 on_changed => sub {
286 $conn->send ("reply $_[1]");
287 destroy_query_dialog $conn;
288 },
289 ;
290
291 $entry->focus_in;
292
293 } else {
294 $dialog->{tooltip} = "Enter the reply and press return (click on the entry to make sure it has keyboard focus)";
295
296 push @dialog, my $entry = new CFClient::UI::Entry
297 $flags & CS_QUERY_HIDEINPUT ? (hidden => "*") : (),
298 on_activate => sub {
299 $conn->send ("reply $_[1]");
300 destroy_query_dialog $conn;
301 },
302 ;
303
304 $entry->focus_in;
305 }
306
307 $vbox->add (@dialog);
308 $dialog->show;
125} 309}
126 310
127sub start_game { 311sub start_game {
128 status "logging in..."; 312 status "logging in...";
129 313
148 map_widget => $MAPWIDGET, 332 map_widget => $MAPWIDGET,
149 logview => $LOGVIEW, 333 logview => $LOGVIEW,
150 statusbox => $STATUSBOX, 334 statusbox => $STATUSBOX,
151 map => $MAP, 335 map => $MAP,
152 mapmap => $MAPMAP, 336 mapmap => $MAPMAP,
337 query => \&server_query,
153 338
154 sound_play => sub { 339 sound_play => sub {
155 my ($x, $y, $soundnum, $type) = @_; 340 my ($x, $y, $soundnum, $type) = @_;
156 341
157 $SDL_MIXER 342 $SDL_MIXER
182 367
183 return unless $CONN; 368 return unless $CONN;
184 369
185 status "connection closed"; 370 status "connection closed";
186 371
372 destroy_query_dialog $CONN;
187 $CONN->destroy; 373 $CONN->destroy;
188 $CONN = 0; # false, does not autovivify 374 $CONN = 0; # false, does not autovivify
189} 375}
190 376
191sub graphics_setup { 377sub graphics_setup {
440 626
441 $win 627 $win
442} 628}
443 629
444 630
445sub make_stats_window { 631sub stats_window {
446 my $tgw = new CFClient::UI::FancyFrame 632 my $tgw = new CFClient::UI::FancyFrame
447 y => $HEIGHT * (2/8), 633 y => $HEIGHT * (2/8),
448 x => "max", 634 x => "max",
449 title => "Stats", 635 title => "Stats",
450 name => "stats_window"; 636 name => "stats_window";
711 my $dialog = new CFClient::UI::FancyFrame 897 my $dialog = new CFClient::UI::FancyFrame
712 title => "Server List", 898 title => "Server List",
713 name => 'metaserver_dialog', 899 name => 'metaserver_dialog',
714 x => 'center', 900 x => 'center',
715 y => 'center', 901 y => 'center',
902 z => 3,
716 child => (my $vbox = new CFClient::UI::VBox), 903 child => (my $vbox = new CFClient::UI::VBox),
717 on_visibility_change => sub { 904 on_visibility_change => sub {
718 update_metaserver if $_[1]; 905 update_metaserver if $_[1];
719 }, 906 },
720 ; 907 ;
849 title => "Messages", 1036 title => "Messages",
850 border_bg => [1, 1, 1, 1], 1037 border_bg => [1, 1, 1, 1],
851 bg => [0, 0, 0, 0.75], 1038 bg => [0, 0, 0, 0.75],
852 x => "max", 1039 x => "max",
853 y => 0, 1040 y => 0,
854 force_w => $::WIDTH / 3, 1041 force_w => $::WIDTH * 0.4,
855 force_h => $::HEIGHT / 5, 1042 force_h => $::HEIGHT * 0.5,
856 child => (my $vbox = new CFClient::UI::VBox); 1043 child => (my $vbox = new CFClient::UI::VBox);
857 1044
858 $vbox->add ($LOGVIEW); 1045 $vbox->add ($LOGVIEW);
859 1046
860 $vbox->add (my $input = new CFClient::UI::Entry 1047 $vbox->add (my $input = new CFClient::UI::Entry
903sub open_quit_dialog { 1090sub open_quit_dialog {
904 unless ($QUIT_DIALOG) { 1091 unless ($QUIT_DIALOG) {
905 $QUIT_DIALOG = new CFClient::UI::FancyFrame 1092 $QUIT_DIALOG = new CFClient::UI::FancyFrame
906 x => "center", 1093 x => "center",
907 y => "center", 1094 y => "center",
1095 z => 50,
908 title => "Really Quit?", 1096 title => "Really Quit?",
909 ; 1097 ;
910 1098
911 $QUIT_DIALOG->add (my $vb = new CFClient::UI::VBox expand => 1); 1099 $QUIT_DIALOG->add (my $vb = new CFClient::UI::VBox expand => 1);
912 1100
934sub autopickup_setup { 1122sub autopickup_setup {
935 my $table = new CFClient::UI::Table; 1123 my $table = new CFClient::UI::Table;
936 1124
937 for ( 1125 for (
938 ["General", 0, 0, 1126 ["General", 0, 0,
939 ["Enable autopickup" => CFClient::Pickup::PU_NEWMODE], 1127 ["Enable autopickup" => PICKUP_NEWMODE],
940 ["Inhibit autopickup" => CFClient::Pickup::PU_INHIBIT], 1128 ["Inhibit autopickup" => PICKUP_INHIBIT],
941 ["Stop before pickup" => CFClient::Pickup::PU_STOP], 1129 ["Stop before pickup" => PICKUP_STOP],
942 ["Debug autopickup" => CFClient::Pickup::PU_DEBUG], 1130 ["Debug autopickup" => PICKUP_DEBUG],
943 ], 1131 ],
944 ["Weapons", 0, 6, 1132 ["Weapons", 0, 6,
945 ["All weapons" => CFClient::Pickup::PU_ALLWEAPON], 1133 ["All weapons" => PICKUP_ALLWEAPON],
946 ["Missile weapons" => CFClient::Pickup::PU_MISSILEWEAPON], 1134 ["Missile weapons" => PICKUP_MISSILEWEAPON],
947 ["Bows" => CFClient::Pickup::PU_BOW], 1135 ["Bows" => PICKUP_BOW],
948 ["Arrows" => CFClient::Pickup::PU_ARROW], 1136 ["Arrows" => PICKUP_ARROW],
949 ], 1137 ],
950 ["Armour", 0, 12, 1138 ["Armour", 0, 12,
951 ["Helmets" => CFClient::Pickup::PU_HELMET], 1139 ["Helmets" => PICKUP_HELMET],
952 ["Shields" => CFClient::Pickup::PU_SHIELD], 1140 ["Shields" => PICKUP_SHIELD],
953 ["Body Armour" => CFClient::Pickup::PU_ARMOUR], 1141 ["Body Armour" => PICKUP_ARMOUR],
954 ["Boots" => CFClient::Pickup::PU_BOOTS], 1142 ["Boots" => PICKUP_BOOTS],
955 ["Gloves" => CFClient::Pickup::PU_GLOVES], 1143 ["Gloves" => PICKUP_GLOVES],
956 ["Cloaks" => CFClient::Pickup::PU_CLOAK], 1144 ["Cloaks" => PICKUP_CLOAK],
957 ], 1145 ],
958 1146
959 ["Readables", 2, 2, 1147 ["Readables", 2, 2,
960 ["Spellbooks" => CFClient::Pickup::PU_SPELLBOOK], 1148 ["Spellbooks" => PICKUP_SPELLBOOK],
961 ["Skillscrolls" => CFClient::Pickup::PU_SKILLSCROLL], 1149 ["Skillscrolls" => PICKUP_SKILLSCROLL],
962 ["Normal Books/Scrolls" => CFClient::Pickup::PU_READABLES], 1150 ["Normal Books/Scrolls" => PICKUP_READABLES],
963 ], 1151 ],
964 ["Misc", 2, 7, 1152 ["Misc", 2, 7,
965 ["Food" => CFClient::Pickup::PU_FOOD], 1153 ["Food" => PICKUP_FOOD],
966 ["Drinks" => CFClient::Pickup::PU_DRINK], 1154 ["Drinks" => PICKUP_DRINK],
967 ["Valuables (Money, Gems)" => CFClient::Pickup::PU_VALUABLES], 1155 ["Valuables (Money, Gems)" => PICKUP_VALUABLES],
968 ["Keys" => CFClient::Pickup::PU_KEY], 1156 ["Keys" => PICKUP_KEY],
969 ["Magical Items" => CFClient::Pickup::PU_MAGICAL], 1157 ["Magical Items" => PICKUP_MAGICAL],
970 ["Potions" => CFClient::Pickup::PU_POTION], 1158 ["Potions" => PICKUP_POTION],
971 ["Magic Devices" => CFClient::Pickup::PU_MAGIC_DEVICE], 1159 ["Magic Devices" => PICKUP_MAGIC_DEVICE],
972 ["Ignore cursed" => CFClient::Pickup::PU_NOT_CURSED], 1160 ["Ignore cursed" => PICKUP_NOT_CURSED],
973 ["Jewelery" => CFClient::Pickup::PU_JEWELS], 1161 ["Jewelery" => PICKUP_JEWELS],
974 ], 1162 ],
975 ) 1163 )
976 { 1164 {
977 my ($title, $x, $y, @bits) = @$_; 1165 my ($title, $x, $y, @bits) = @$_;
978 $table->add ($x, $y, new CFClient::UI::Label text => $title, align => 1, fg => [1, 1, 0]); 1166 $table->add ($x, $y, new CFClient::UI::Label text => $title, align => 1, fg => [1, 1, 0]);
998 } 1186 }
999 1187
1000 $table 1188 $table
1001} 1189}
1002 1190
1003sub make_inventory_window { 1191sub inventory_window {
1004 my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame 1192 my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame
1005 x => "center", 1193 x => "center",
1006 y => "center", 1194 y => "center",
1007 force_w => $WIDTH * 9/10, 1195 force_w => $WIDTH * 9/10,
1008 force_h => $HEIGHT * 9/10, 1196 force_h => $HEIGHT * 9/10,
1125 1313
1126sub make_help_window { 1314sub make_help_window {
1127 my $win = new CFClient::UI::FancyFrame 1315 my $win = new CFClient::UI::FancyFrame
1128 x => 'center', 1316 x => 'center',
1129 y => 'center', 1317 y => 'center',
1318 z => 2,
1130 name => 'doc_browser', 1319 name => 'doc_browser',
1131 force_w => int $WIDTH * 7/8, 1320 force_w => int $WIDTH * 7/8,
1132 force_h => int $HEIGHT * 7/8, 1321 force_h => int $HEIGHT * 7/8,
1133 title => "Documentation"; 1322 title => "Documentation";
1134 1323
1146 my ($pod, $label) = @$_; 1335 my ($pod, $label) = @$_;
1147 1336
1148 $buttons->add (new CFClient::UI::Button 1337 $buttons->add (new CFClient::UI::Button
1149 text => $label, 1338 text => $label,
1150 on_activate => sub { 1339 on_activate => sub {
1151 my $parser = new Pod::POM; 1340 my $pom = CFClient::load_pod CFClient::find_rcfile "pod/$pod.pod",
1152 my $pom = $parser->parse_file (CFClient::find_rcfile "pod/$pod.pod"); 1341 doc_viewer => 1, sub { CFClient::pod_to_pango_list $_[0] };
1153 1342
1154 $viewer->clear; 1343 $viewer->clear;
1155 1344
1156 $viewer->add_paragraph ([1, 1, 1, 1], $_->[1], $_->[0]) 1345 $viewer->add_paragraph ([1, 1, 1, 1], $_->[1], $_->[0])
1157 for @{ CFClient::pod_to_pango_list $pom }; 1346 for @$pom;
1158 1347
1159 $viewer->set_offset (0); 1348 $viewer->set_offset (0);
1160 }, 1349 },
1161 ); 1350 );
1162 } 1351 }
1209 $DEBUG_STATUS->show; 1398 $DEBUG_STATUS->show;
1210 1399
1211 $BIND_EDITOR = new CFClient::UI::BindEditor (x => "max", y => 0); 1400 $BIND_EDITOR = new CFClient::UI::BindEditor (x => "max", y => 0);
1212 1401
1213 $STATUSBOX = new CFClient::UI::Statusbox; 1402 $STATUSBOX = new CFClient::UI::Statusbox;
1214 $STATUSBOX->add ("Use <b>Alt-Enter</b> to toggle fullscreen mode", pri => -100, color => [1, 1, 1, 0.8]); 1403 $STATUSBOX->add ("Use <b>Alt-Enter</b> to toggle fullscreen mode", timeout => 864000, pri => -100, color => [1, 1, 1, 0.8]);
1215 1404
1216 (new CFClient::UI::Frame 1405 (new CFClient::UI::Frame
1217 bg => [0, 0, 0, 0.4], 1406 bg => [0, 0, 0, 0.4],
1218 force_x => 0, 1407 force_x => 0,
1219 force_y => "max", 1408 force_y => "max",
1250 1439
1251 $LOGVIEW = new CFClient::UI::TextView 1440 $LOGVIEW = new CFClient::UI::TextView
1252 expand => 1, 1441 expand => 1,
1253 font => $FONT_FIXED, 1442 font => $FONT_FIXED,
1254 fontsize => $::CFG->{log_fontsize}, 1443 fontsize => $::CFG->{log_fontsize},
1444 indent => -4,
1255 can_hover => 1, 1445 can_hover => 1,
1256 can_events => 1, 1446 can_events => 1,
1257 tooltip => "<b>Server Log</b>. This text viewer contains all the messages sent by the server.", 1447 tooltip => "<b>Server Log</b>. This text viewer contains all the messages sent by the server.",
1258 ; 1448 ;
1259 1449
1266 force_w => $::WIDTH * 0.6, 1456 force_w => $::WIDTH * 0.6,
1267 force_h => $::HEIGHT * 0.6, 1457 force_h => $::HEIGHT * 0.6,
1268 ; 1458 ;
1269 1459
1270 $SETUP_DIALOG->add ($SETUP_NOTEBOOK = new CFClient::UI::Notebook expand => 1, debug => 1, 1460 $SETUP_DIALOG->add ($SETUP_NOTEBOOK = new CFClient::UI::Notebook expand => 1, debug => 1,
1271 filter => new CFClient::UI::ScrolledWindow xxx => 1, expand => 1, scroll_y => 1); 1461 filter => new CFClient::UI::ScrolledWindow expand => 1, scroll_y => 1);
1272 1462
1273 $SETUP_NOTEBOOK->add (Server => $SETUP_SERVER = server_setup, 1463 $SETUP_NOTEBOOK->add (Server => $SETUP_SERVER = server_setup,
1274 "Configure the server to play on, your username, password and other server-related options."); 1464 "Configure the server to play on, your username, password and other server-related options.");
1275 $SETUP_NOTEBOOK->add (Pickup => autopickup_setup, 1465 $SETUP_NOTEBOOK->add (Pickup => autopickup_setup,
1276 "Configure autopicking stetings, i.e. which items you will pick up automatically when walking over them."); 1466 "Configure autopickup settings, i.e. which items you will pick up automatically when walking (or running) over them.");
1277 $SETUP_NOTEBOOK->add (Graphics => graphics_setup, 1467 $SETUP_NOTEBOOK->add (Graphics => graphics_setup,
1278 "Configure the video mode, performance, fonts and other graphical aspects of the game."); 1468 "Configure the video mode, performance, fonts and other graphical aspects of the game.");
1279 $SETUP_NOTEBOOK->add (Audio => audio_setup, 1469 $SETUP_NOTEBOOK->add (Audio => audio_setup,
1280 "Configure the use of audio, sound effects and background music."); 1470 "Configure the use of audio, sound effects and background music.");
1281 $SETUP_NOTEBOOK->add (Keyboard => $SETUP_KEYBOARD = keyboard_setup, 1471 $SETUP_NOTEBOOK->add (Keyboard => $SETUP_KEYBOARD = keyboard_setup,
1282 "Lets you define, edit and delete bindings." 1472 "Lets you define, edit and delete bindings."
1283 . "There is a shortcut for making bindings: Left Control + Insert opens the binding editor " 1473 . "There is a shortcut for making bindings: <b>Left Control + Insert</b> opens the binding editor "
1284 . "with nothing set and the recording started. After doing the actions you " 1474 . "with nothing set and the recording started. After doing the actions you "
1285 . "want to record press Insert and you will be asked to press a key-combo. " 1475 . "want to record press <b>Insert</b> and you will be asked to press a key-combo. "
1286 . "After pressing the combo the binding will be saved automatically and the " 1476 . "After pressing the combo the binding will be saved automatically and the "
1287 . "binding editor closes"); 1477 . "binding editor closes");
1288 $SETUP_NOTEBOOK->add (Spells => $SETUP_SPELLS = spell_setup, 1478 $SETUP_NOTEBOOK->add (Spells => $SETUP_SPELLS = spell_setup,
1289 "Displays all spells you have and lets you edit keyboard shortcuts for them."); 1479 "Displays all spells you have and lets you edit keyboard shortcuts for them.");
1290 1480
1291 $BUTTONBAR = new CFClient::UI::HBox x => 0, y => 0; 1481 $BUTTONBAR = new CFClient::UI::Buttonbar x => 0, y => 0, z => 200; # put on top
1292 1482
1293 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Setup", other => $SETUP_DIALOG, 1483 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Setup", other => $SETUP_DIALOG,
1294 tooltip => "Toggles a dialog where you can configure all aspects of this client."); 1484 tooltip => "Toggles a dialog where you can configure all aspects of this client.");
1295 1485
1296 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Message Window", other => message_window, 1486 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Message Window", other => $MESSAGE_WINDOW = message_window,
1297 tooltip => "Toggles the server message log, where the client collects <i>all</i> messages from the server."); 1487 tooltip => "Toggles the server message log, where the client collects <i>all</i> messages from the server.");
1298 1488
1299 make_gauge_window->show; # 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 1489 make_gauge_window->show; # 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
1300 1490
1301 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => make_stats_window, 1491 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => $STATS_WINDOW = stats_window,
1302 tooltip => "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times."); 1492 tooltip => "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times.");
1303 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Inventory", other => make_inventory_window, 1493 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Inventory", other => inventory_window,
1304 tooltip => "Toggles the inventory window, where you can manage your loot (or treasures :). " 1494 tooltip => "Toggles the inventory window, where you can manage your loot (or treasures :). "
1305 . "You can also hit the <b>Tab</b>-key to show/hide the Inventory."); 1495 . "You can also hit the <b>Tab</b>-key to show/hide the Inventory.");
1306 1496
1307 $BUTTONBAR->add (new CFClient::UI::Button 1497 $BUTTONBAR->add (new CFClient::UI::Button
1308 text => "Save Config", 1498 text => "Save Config",
1570 map_scale => 1, 1760 map_scale => 1,
1571 fow_enable => 1, 1761 fow_enable => 1,
1572 fow_intensity => 0.45, 1762 fow_intensity => 0.45,
1573 fow_smooth => 0, 1763 fow_smooth => 0,
1574 gui_fontsize => 1, 1764 gui_fontsize => 1,
1575 log_fontsize => 1, 1765 log_fontsize => 0.7,
1576 gauge_fontsize=> 1, 1766 gauge_fontsize=> 1,
1577 gauge_size => 0.35, 1767 gauge_size => 0.35,
1578 stat_fontsize => 1, 1768 stat_fontsize => 0.7,
1579 mapsize => 100, 1769 mapsize => 100,
1580 host => "crossfire.schmorp.de", 1770 host => "crossfire.schmorp.de",
1581 say_command => 'say', 1771 say_command => 'say',
1582 audio_enable => 1, 1772 audio_enable => 1,
1583 bgm_enable => 1, 1773 bgm_enable => 1,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines