45
47
class wkz_abfrage_t : public werkzeug_t {
47
49
wkz_abfrage_t() : werkzeug_t() { id = WKZ_ABFRAGE | GENERAL_TOOL; }
48
const char *get_tooltip(spieler_t *) { return translator::translate("Abfrage"); }
50
const char *get_tooltip(const spieler_t *) const { return translator::translate("Abfrage"); }
49
51
const char *work( karte_t *, spieler_t *, koord3d );
50
52
virtual bool is_init_network_save() const { return true; }
51
53
virtual bool is_work_network_save() const { return true; }
58
60
static bool wkz_remover_intern(spieler_t *sp, karte_t *welt, koord3d pos, const char *&msg);
60
62
wkz_remover_t() : werkzeug_t() { id = WKZ_REMOVER | GENERAL_TOOL; }
61
const char *get_tooltip(spieler_t *) { return translator::translate("Abriss"); }
63
const char *get_tooltip(const spieler_t *) const { return translator::translate("Abriss"); }
62
64
const char *work( karte_t *, spieler_t *, koord3d );
63
65
virtual bool is_init_network_save() const { return true; }
70
72
sint16 drag_height;
72
74
wkz_raise_t() : werkzeug_t() { offset = Z_GRID; id = WKZ_RAISE_LAND | GENERAL_TOOL; }
73
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price("Anheben", sp->get_welt()->get_einstellungen()->cst_alter_land); }
75
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Anheben", sp->get_welt()->get_settings().cst_alter_land); }
74
76
virtual image_id get_icon(spieler_t *) const { return grund_t::underground_mode==grund_t::ugm_all ? IMG_LEER : icon; }
75
77
bool init( karte_t *, spieler_t * ) { is_dragging = false; return true; }
76
78
bool exit( karte_t *, spieler_t * ) { is_dragging = false; return true; }
86
88
sint16 drag_height;
88
90
wkz_lower_t() : werkzeug_t() { offset = Z_GRID; id = WKZ_LOWER_LAND | GENERAL_TOOL; }
89
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price("Absenken", sp->get_welt()->get_einstellungen()->cst_alter_land); }
91
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Absenken", sp->get_welt()->get_settings().cst_alter_land); }
90
92
virtual image_id get_icon(spieler_t *) const { return grund_t::underground_mode==grund_t::ugm_all ? IMG_LEER : icon; }
91
93
bool init( karte_t *, spieler_t * ) { is_dragging = false; return true; }
92
94
bool exit( karte_t *, spieler_t * ) { is_dragging = false; return true; }
102
104
wkz_setslope_t() : werkzeug_t() { id = WKZ_SETSLOPE | GENERAL_TOOL; }
103
105
static const char *wkz_set_slope_work( karte_t *welt, spieler_t *sp, koord3d pos, int slope );
104
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price("Built artifical slopes", sp->get_welt()->get_einstellungen()->cst_set_slope); }
106
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Built artifical slopes", sp->get_welt()->get_settings().cst_set_slope); }
105
107
virtual bool is_init_network_save() const { return true; }
106
108
const char *check( karte_t *, spieler_t *, koord3d );
107
109
virtual const char *work( karte_t *welt, spieler_t *sp, koord3d k ) { return wkz_set_slope_work( welt, sp, k, atoi(default_param) ); }
110
112
class wkz_restoreslope_t : public werkzeug_t {
112
114
wkz_restoreslope_t() : werkzeug_t() { id = WKZ_RESTORESLOPE | GENERAL_TOOL; }
113
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price("Restore natural slope", sp->get_welt()->get_einstellungen()->cst_set_slope); }
115
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Restore natural slope", sp->get_welt()->get_settings().cst_set_slope); }
114
116
virtual bool is_init_network_save() const { return true; }
115
117
const char *check( karte_t *, spieler_t *, koord3d );
116
118
virtual const char *work( karte_t *welt, spieler_t *sp, koord3d k ) { return wkz_setslope_t::wkz_set_slope_work( welt, sp, k, RESTORE_SLOPE ); }
119
121
class wkz_marker_t : public kartenboden_werkzeug_t {
121
123
wkz_marker_t() : kartenboden_werkzeug_t() { id = WKZ_MARKER | GENERAL_TOOL; }
122
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price("Marker", sp->get_welt()->get_einstellungen()->cst_buy_land); }
124
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Marker", sp->get_welt()->get_settings().cst_buy_land); }
123
125
virtual const char *work( karte_t *welt, spieler_t *sp, koord3d k );
124
126
virtual bool is_init_network_save() const { return true; }
127
129
class wkz_clear_reservation_t : public werkzeug_t {
129
131
wkz_clear_reservation_t() : werkzeug_t() { id = WKZ_CLEAR_RESERVATION | GENERAL_TOOL; }
130
const char *get_tooltip(spieler_t *) { return translator::translate("Clear block reservation"); }
132
const char *get_tooltip(const spieler_t *) const { return translator::translate("Clear block reservation"); }
131
133
bool init( karte_t *, spieler_t * );
132
134
bool exit( karte_t *, spieler_t * );
133
135
virtual const char *work( karte_t *, spieler_t *, koord3d );
137
139
class wkz_transformer_t : public kartenboden_werkzeug_t {
139
141
wkz_transformer_t() : kartenboden_werkzeug_t() { id = WKZ_TRANSFORMER | GENERAL_TOOL; }
140
const char *get_tooltip(spieler_t *);
142
const char *get_tooltip(const spieler_t *) const;
141
143
virtual const char *work( karte_t *, spieler_t *, koord3d );
142
144
virtual bool is_init_network_save() const { return true; }
145
147
class wkz_add_city_t : public kartenboden_werkzeug_t {
147
149
wkz_add_city_t() : kartenboden_werkzeug_t() { id = WKZ_ADD_CITY | GENERAL_TOOL; }
148
const char *get_tooltip(spieler_t *sp) { return tooltip_with_price( "Found new city", sp->get_welt()->get_einstellungen()->cst_found_city ); }
150
const char *get_tooltip(const spieler_t *sp) const { return tooltip_with_price("Found new city", sp->get_welt()->get_settings().cst_found_city); }
149
151
virtual const char *work( karte_t *, spieler_t *, koord3d );
150
152
virtual bool is_init_network_save() const { return true; }
154
156
class wkz_buy_house_t : public kartenboden_werkzeug_t {
156
158
wkz_buy_house_t() : kartenboden_werkzeug_t() { id = WKZ_BUY_HOUSE | GENERAL_TOOL; }
157
const char *get_tooltip(spieler_t *) { return translator::translate("Haus kaufen"); }
159
const char *get_tooltip(const spieler_t *) const { return translator::translate("Haus kaufen"); }
158
160
const char *work( karte_t *, spieler_t *, koord3d );
159
161
virtual bool is_init_network_save() const { return true; }
164
166
class wkz_change_city_size_t : public werkzeug_t {
166
168
wkz_change_city_size_t() : werkzeug_t() { id = WKZ_CHANGE_CITY_SIZE | GENERAL_TOOL; }
167
const char *get_tooltip(spieler_t *) { return translator::translate( atoi(default_param)>=0 ? "Grow city" : "Shrink city" ); }
169
const char *get_tooltip(const spieler_t *) const { return translator::translate( atoi(default_param)>=0 ? "Grow city" : "Shrink city" ); }
168
170
bool init( karte_t *, spieler_t * );
169
171
virtual const char *work( karte_t *, spieler_t *, koord3d );
170
172
virtual bool is_init_network_save() const { return true; }
173
175
class wkz_plant_tree_t : public kartenboden_werkzeug_t {
175
177
wkz_plant_tree_t() : kartenboden_werkzeug_t() { id = WKZ_PLANT_TREE | GENERAL_TOOL; }
176
const char *get_tooltip(spieler_t *) { return translator::translate( "Plant tree" ); }
178
const char *get_tooltip(const spieler_t *) const { return translator::translate( "Plant tree" ); }
177
179
virtual const char *move( karte_t *welt, spieler_t *sp, uint16 b, koord3d k ) { return b==1 ? work(welt,sp,k) : NULL; }
178
180
virtual const char *work( karte_t *, spieler_t *, koord3d );
179
181
virtual bool is_init_network_save() const { return true; }
217
219
wkz_wegebau_t() : two_click_werkzeug_t(), besch(NULL) { id = WKZ_WEGEBAU | GENERAL_TOOL; }
218
220
virtual image_id get_icon(spieler_t *) const;
219
virtual const char *get_tooltip(spieler_t *);
221
virtual const char *get_tooltip(const spieler_t *) const;
220
222
virtual const char* get_default_param(spieler_t *) const;
221
virtual bool is_selected( karte_t *welt ) const;
223
virtual bool is_selected(const karte_t *welt ) const;
222
224
virtual bool init( karte_t *, spieler_t * );
223
225
virtual bool is_move_network_save(spieler_t *sp) const { return two_click_werkzeug_t::is_move_network_save(sp) && (besch && (besch->get_styp()!=1 || besch->get_wtyp()==air_wt)); }
224
226
virtual bool is_init_network_save() const { return true; }
231
233
wkz_build_cityroad() : wkz_wegebau_t() { id = WKZ_CITYROAD | GENERAL_TOOL; }
232
234
virtual const weg_besch_t *get_besch(uint16,bool) const;
233
235
virtual image_id get_icon(spieler_t *sp) const { return werkzeug_t::get_icon(sp); }
234
virtual bool is_selected( karte_t *welt ) const { return werkzeug_t::is_selected(welt); }
236
virtual bool is_selected(const karte_t *welt ) const { return werkzeug_t::is_selected(welt); }
235
237
virtual bool is_init_network_save() const { return true; }
246
248
wkz_brueckenbau_t() : two_click_werkzeug_t() { id = WKZ_BRUECKENBAU | GENERAL_TOOL; }
247
249
virtual image_id get_icon(spieler_t *) const { return grund_t::underground_mode==grund_t::ugm_all ? IMG_LEER : icon; }
248
const char *get_tooltip(spieler_t *);
250
const char *get_tooltip(const spieler_t *) const;
249
251
virtual bool is_move_network_save(spieler_t *) const { return false;}
250
252
virtual bool is_init_network_save() const { return true; }
258
260
virtual uint8 is_valid_pos( karte_t *, spieler_t *, const koord3d &, const char *&, const koord3d & );
260
262
wkz_tunnelbau_t() : two_click_werkzeug_t() { id = WKZ_TUNNELBAU | GENERAL_TOOL; }
261
const char *get_tooltip(spieler_t *);
263
const char *get_tooltip(const spieler_t *) const;
262
264
virtual bool is_move_network_save(spieler_t *) const { return false;}
263
265
const char *check( karte_t *, spieler_t *, koord3d );
264
266
virtual bool is_init_network_save() const { return true; }
297
299
wkz_wayobj_t(bool b=true) : two_click_werkzeug_t(), build(b) { id = WKZ_WAYOBJ | GENERAL_TOOL; };
298
virtual const char *get_tooltip(spieler_t *);
299
virtual bool is_selected(karte_t *welt) const;
300
virtual const char *get_tooltip(const spieler_t *) const;
301
virtual bool is_selected(const karte_t *welt) const;
300
302
virtual bool init( karte_t *, spieler_t * );
301
303
virtual bool is_init_network_save() const { return true; }
319
321
wkz_station_t() : werkzeug_t() { id = WKZ_STATION | GENERAL_TOOL; }
320
322
virtual image_id get_icon(spieler_t *) const;
321
const char *get_tooltip(spieler_t *);
323
const char *get_tooltip(const spieler_t *) const;
322
324
bool init( karte_t *, spieler_t * );
323
325
const char *check( karte_t *, spieler_t *, koord3d );
324
326
virtual const char *work( karte_t *, spieler_t *, koord3d );
365
367
wkz_depot_t() : werkzeug_t() { id = WKZ_DEPOT | GENERAL_TOOL; }
366
368
virtual image_id get_icon(spieler_t *sp) const { return sp->get_player_nr()==1 ? IMG_LEER : icon; }
367
const char *get_tooltip(spieler_t *);
369
const char *get_tooltip(const spieler_t *) const;
368
370
bool init( karte_t *, spieler_t * );
369
371
virtual const char *work( karte_t *, spieler_t *, koord3d );
370
372
virtual bool is_init_network_save() const { return true; }
381
383
class wkz_build_haus_t : public kartenboden_werkzeug_t {
383
385
wkz_build_haus_t() : kartenboden_werkzeug_t() { id = WKZ_BUILD_HAUS | GENERAL_TOOL; }
384
const char *get_tooltip(spieler_t *) { return translator::translate("Built random attraction"); }
386
const char *get_tooltip(const spieler_t *) const { return translator::translate("Built random attraction"); }
385
387
bool init( karte_t *, spieler_t * );
386
388
virtual const char *work( karte_t *, spieler_t *, koord3d );
387
389
virtual bool is_init_network_save() const { return true; }
399
401
class wkz_build_industries_land_t : public kartenboden_werkzeug_t {
401
403
wkz_build_industries_land_t() : kartenboden_werkzeug_t() { id = WKZ_LAND_CHAIN | GENERAL_TOOL; }
402
const char *get_tooltip(spieler_t *) { return translator::translate("Build land consumer"); }
404
const char *get_tooltip(const spieler_t *) const { return translator::translate("Build land consumer"); }
403
405
bool init( karte_t *, spieler_t * );
404
406
virtual const char *work( karte_t *, spieler_t *, koord3d );
405
407
virtual bool is_init_network_save() const { return true; }
408
410
class wkz_build_industries_city_t : public kartenboden_werkzeug_t {
410
412
wkz_build_industries_city_t() : kartenboden_werkzeug_t() { id = WKZ_CITY_CHAIN | GENERAL_TOOL; }
411
const char *get_tooltip(spieler_t *) { return translator::translate("Build city market"); }
413
const char *get_tooltip(const spieler_t *) const { return translator::translate("Build city market"); }
412
414
bool init( karte_t *, spieler_t * );
413
415
virtual const char *work( karte_t *, spieler_t *, koord3d );
414
416
virtual bool is_init_network_save() const { return true; }
417
419
class wkz_build_factory_t : public kartenboden_werkzeug_t {
419
421
wkz_build_factory_t() : kartenboden_werkzeug_t() { id = WKZ_BUILD_FACTORY | GENERAL_TOOL; }
420
const char *get_tooltip(spieler_t *) { return translator::translate("Build city market"); }
422
const char *get_tooltip(const spieler_t *) const { return translator::translate("Build city market"); }
421
423
bool init( karte_t *, spieler_t * );
422
424
virtual const char *work( karte_t *, spieler_t *, koord3d );
423
425
virtual bool is_init_network_save() const { return true; }
426
428
class wkz_link_factory_t : public two_click_werkzeug_t {
428
430
wkz_link_factory_t() : two_click_werkzeug_t() { id = WKZ_LINK_FACTORY | GENERAL_TOOL; }
429
const char *get_tooltip(spieler_t *) { return translator::translate("Connect factory"); }
431
const char *get_tooltip(const spieler_t *) const { return translator::translate("Connect factory"); }
430
432
virtual bool is_init_network_save() const { return true; }
432
434
virtual const char *do_work( karte_t *, spieler_t *, const koord3d &, const koord3d & );
438
440
class wkz_headquarter_t : public kartenboden_werkzeug_t {
440
const haus_besch_t *next_level( spieler_t *sp );
442
const haus_besch_t *next_level( const spieler_t *sp ) const;
442
444
wkz_headquarter_t() : kartenboden_werkzeug_t() { id = WKZ_HEADQUARTER | GENERAL_TOOL; }
443
const char *get_tooltip(spieler_t *);
445
const char *get_tooltip(const spieler_t *) const;
444
446
bool init( karte_t *, spieler_t * );
445
447
virtual const char *work( karte_t *, spieler_t *, koord3d );
446
448
virtual bool is_init_network_save() const { return true; }
450
452
class wkz_lock_game_t : public werkzeug_t {
452
454
wkz_lock_game_t() : werkzeug_t() { id = WKZ_LOCK_GAME | GENERAL_TOOL; }
453
const char *get_tooltip(spieler_t *) { return translator::translate("Lock game"); }
455
const char *get_tooltip(const spieler_t *) const { return translator::translate("Lock game"); }
454
456
const char *work( karte_t *welt, spieler_t *, koord3d );
455
457
virtual bool is_init_network_save() const { return true; }
459
461
class wkz_add_citycar_t : public werkzeug_t {
461
463
wkz_add_citycar_t() : werkzeug_t() { id = WKZ_ADD_CITYCAR | GENERAL_TOOL; }
462
const char *get_tooltip(spieler_t *) { return translator::translate("Add random citycar"); }
464
const char *get_tooltip(const spieler_t *) const { return translator::translate("Add random citycar"); }
463
465
virtual const char *work( karte_t *, spieler_t *, koord3d );
464
466
virtual bool is_init_network_save() const { return true; }
468
470
class wkz_forest_t : public two_click_werkzeug_t {
470
472
wkz_forest_t() : two_click_werkzeug_t() { id = WKZ_FOREST | GENERAL_TOOL; }
471
const char *get_tooltip(spieler_t *) { return translator::translate("Add forest"); }
473
const char *get_tooltip(const spieler_t *) const { return translator::translate("Add forest"); }
473
475
virtual const char *do_work( karte_t *, spieler_t *, const koord3d &, const koord3d & );
474
476
virtual void mark_tiles( karte_t *, spieler_t *, const koord3d &, const koord3d & );
502
504
wkz_make_stop_public_t() : werkzeug_t() { id = WKZ_MAKE_STOP_PUBLIC | GENERAL_TOOL; }
503
505
bool init( karte_t *, spieler_t * );
504
506
bool exit( karte_t *w, spieler_t *s ) { return init(w,s); }
505
const char *get_tooltip(spieler_t *);
507
const char *get_tooltip(const spieler_t *) const;
506
508
virtual const char *move( karte_t *, spieler_t *, uint16 /* buttonstate */, koord3d );
507
509
virtual const char *work( karte_t *, spieler_t *, koord3d );
508
510
virtual bool is_init_network_save() const { return true; }
513
515
class wkz_pause_t : public werkzeug_t {
515
517
wkz_pause_t() : werkzeug_t() { id = WKZ_PAUSE | SIMPLE_TOOL; }
516
const char *get_tooltip(spieler_t *) { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Pause"); }
518
const char *get_tooltip(const spieler_t *) const { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Pause"); }
517
519
image_id get_icon(spieler_t *) const { return umgebung_t::networkmode ? IMG_LEER : icon; }
518
bool is_selected(karte_t *welt) const { return welt->is_paused(); }
520
bool is_selected(const karte_t *welt) const { return welt->is_paused(); }
519
521
bool init( karte_t *welt, spieler_t * ) {
520
522
if( !umgebung_t::networkmode ) {
521
523
welt->set_fast_forward(0);
531
533
class wkz_fastforward_t : public werkzeug_t {
533
535
wkz_fastforward_t() : werkzeug_t() { id = WKZ_FASTFORWARD | SIMPLE_TOOL; }
534
const char *get_tooltip(spieler_t *) { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Fast forward"); }
536
const char *get_tooltip(const spieler_t *) const { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Fast forward"); }
535
537
image_id get_icon(spieler_t *) const { return umgebung_t::networkmode ? IMG_LEER : icon; }
536
bool is_selected(karte_t *welt) const { return welt->is_fast_forward(); }
538
bool is_selected(const karte_t *welt) const { return welt->is_fast_forward(); }
537
539
bool init( karte_t *welt, spieler_t * ) {
538
540
if( !umgebung_t::networkmode ) {
539
541
welt->set_pause(0);
549
551
class wkz_screenshot_t : public werkzeug_t {
551
553
wkz_screenshot_t() : werkzeug_t() { id = WKZ_SCREENSHOT | SIMPLE_TOOL; }
552
const char *get_tooltip(spieler_t *) { return translator::translate("Screenshot"); }
554
const char *get_tooltip(const spieler_t *) const { return translator::translate("Screenshot"); }
553
555
bool init( karte_t *, spieler_t * ) {
554
556
display_snapshot();
555
557
create_win( new news_img("Screenshot\ngespeichert.\n"), w_time_delete, magic_none);
563
565
class wkz_increase_industry_t : public werkzeug_t {
565
567
wkz_increase_industry_t() : werkzeug_t() { id = WKZ_INCREASE_INDUSTRY | SIMPLE_TOOL; }
566
const char *get_tooltip(spieler_t *) { return translator::translate("Increase Industry density"); }
567
bool init( karte_t *welt, spieler_t * ) {
568
fabrikbauer_t::increase_industry_density( welt, false );
568
const char *get_tooltip(const spieler_t *) const { return translator::translate("Increase Industry density"); }
569
bool init( karte_t *welt, spieler_t * );
573
572
/* prissi: undo building */
574
573
class wkz_undo_t : public werkzeug_t {
576
575
wkz_undo_t() : werkzeug_t() { id = WKZ_UNDO | SIMPLE_TOOL; }
577
const char *get_tooltip(spieler_t *) { return translator::translate("Undo last ways construction"); }
576
const char *get_tooltip(const spieler_t *) const { return translator::translate("Undo last ways construction"); }
578
577
bool init( karte_t *, spieler_t *sp ) {
579
578
if(!sp->undo() && is_local_execution()) {
580
579
create_win( new news_img("UNDO failed!"), w_time_delete, magic_none);
589
588
class wkz_switch_player_t : public werkzeug_t {
591
590
wkz_switch_player_t() : werkzeug_t() { id = WKZ_SWITCH_PLAYER | SIMPLE_TOOL; }
592
const char *get_tooltip(spieler_t *) { return translator::translate("Change player"); }
591
const char *get_tooltip(const spieler_t *) const { return translator::translate("Change player"); }
593
592
bool init( karte_t *welt, spieler_t * ) {
594
593
welt->switch_active_player( welt->get_active_player_nr()+1, true );
603
602
class wkz_step_year_t : public werkzeug_t {
605
604
wkz_step_year_t() : werkzeug_t() { id = WKZ_STEP_YEAR | SIMPLE_TOOL; }
606
const char *get_tooltip(spieler_t *) { return translator::translate("Step timeline one year"); }
605
const char *get_tooltip(const spieler_t *) const { return translator::translate("Step timeline one year"); }
607
606
bool init( karte_t *welt, spieler_t * ) {
608
607
welt->step_year();
613
612
class wkz_change_game_speed_t : public werkzeug_t {
615
614
wkz_change_game_speed_t() : werkzeug_t() { id = WKZ_CHANGE_GAME_SPEED | SIMPLE_TOOL; }
616
const char *get_tooltip(spieler_t *) {
615
const char *get_tooltip(const spieler_t *) const {
617
616
int faktor = atoi(default_param);
618
617
return faktor>0 ? translator::translate("Accelerate time") : translator::translate("Deccelerate time");
626
625
class wkz_zoom_in_t : public werkzeug_t {
628
627
wkz_zoom_in_t() : werkzeug_t() { id = WKZ_ZOOM_IN | SIMPLE_TOOL; }
629
const char *get_tooltip(spieler_t *) { return translator::translate("zooming in"); }
628
const char *get_tooltip(const spieler_t *) const { return translator::translate("zooming in"); }
630
629
bool init( karte_t *welt, spieler_t * ) {
631
630
win_change_zoom_factor(true);
632
631
welt->set_dirty();
639
638
class wkz_zoom_out_t : public werkzeug_t {
641
640
wkz_zoom_out_t() : werkzeug_t() { id = WKZ_ZOOM_OUT | SIMPLE_TOOL; }
642
const char *get_tooltip(spieler_t *) { return translator::translate("zooming out"); }
641
const char *get_tooltip(const spieler_t *) const { return translator::translate("zooming out"); }
643
642
bool init( karte_t *welt, spieler_t * ) {
644
643
win_change_zoom_factor(false);
645
644
welt->set_dirty();
652
651
class wkz_show_coverage_t : public werkzeug_t {
654
653
wkz_show_coverage_t() : werkzeug_t() { id = WKZ_SHOW_COVERAGE | SIMPLE_TOOL; }
655
const char *get_tooltip(spieler_t *) { return translator::translate("show station coverage"); }
656
bool is_selected(karte_t *) const { return umgebung_t::station_coverage_show; }
654
const char *get_tooltip(const spieler_t *) const { return translator::translate("show station coverage"); }
655
bool is_selected(const karte_t *) const { return umgebung_t::station_coverage_show; }
657
656
bool init( karte_t *welt, spieler_t * ) {
658
657
umgebung_t::station_coverage_show = !umgebung_t::station_coverage_show;
659
658
welt->set_dirty();
667
666
class wkz_show_name_t : public werkzeug_t {
669
668
wkz_show_name_t() : werkzeug_t() { id = WKZ_SHOW_NAMES | SIMPLE_TOOL; }
670
const char *get_tooltip(spieler_t *) {
669
const char *get_tooltip(const spieler_t *) const {
671
670
return translator::translate(
672
671
(umgebung_t::show_names>>2)==2 ? "hide station names" :
673
672
(umgebung_t::show_names&1) ? "show waiting bars" : "show station names");
700
699
class wkz_show_grid_t : public werkzeug_t {
702
701
wkz_show_grid_t() : werkzeug_t() { id = WKZ_SHOW_GRID | SIMPLE_TOOL; }
703
const char *get_tooltip(spieler_t *) { return translator::translate("show grid"); }
704
bool is_selected(karte_t *) const { return grund_t::show_grid; }
702
const char *get_tooltip(const spieler_t *) const { return translator::translate("show grid"); }
703
bool is_selected(const karte_t *) const { return grund_t::show_grid; }
705
704
bool init( karte_t *welt, spieler_t * ) {
706
705
grund_t::toggle_grid();
707
706
welt->set_dirty();
715
714
class wkz_show_trees_t : public werkzeug_t {
717
716
wkz_show_trees_t() : werkzeug_t() { id = WKZ_SHOW_TREES | SIMPLE_TOOL; }
718
const char *get_tooltip(spieler_t *) { return translator::translate("hide trees"); }
719
bool is_selected(karte_t *) const { return umgebung_t::hide_trees; }
717
const char *get_tooltip(const spieler_t *) const { return translator::translate("hide trees"); }
718
bool is_selected(const karte_t *) const { return umgebung_t::hide_trees; }
720
719
bool init( karte_t *welt, spieler_t * ) {
721
720
umgebung_t::hide_trees = !umgebung_t::hide_trees;
722
721
welt->set_dirty();
730
729
class wkz_show_houses_t : public werkzeug_t {
732
731
wkz_show_houses_t() : werkzeug_t() { id = WKZ_SHOW_HOUSES | SIMPLE_TOOL; }
733
const char *get_tooltip(spieler_t *) {
732
const char *get_tooltip(const spieler_t *) const {
734
733
return translator::translate(
735
734
umgebung_t::hide_buildings==0 ? "hide city building" :
736
735
(umgebung_t::hide_buildings==1) ? "hide all building" : "show all building");
752
751
wkz_show_underground_t() : werkzeug_t() { id = WKZ_SHOW_UNDERGROUND | SIMPLE_TOOL; }
753
752
static sint8 save_underground_level;
754
const char *get_tooltip(spieler_t *);
755
bool is_selected(karte_t *) const;
753
const char *get_tooltip(const spieler_t *) const;
754
bool is_selected(const karte_t *) const;
756
755
void draw_after( karte_t *w, koord pos ) const;
757
756
bool init( karte_t *welt, spieler_t * );
758
757
virtual const char *work( karte_t *, spieler_t *, koord3d );
766
765
wkz_rotate90_t() : werkzeug_t() { id = WKZ_ROTATE90 | SIMPLE_TOOL; }
767
766
image_id get_icon(spieler_t *) const { return umgebung_t::networkmode ? IMG_LEER : icon; }
768
const char *get_tooltip(spieler_t *) { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Rotate map"); }
767
const char *get_tooltip(const spieler_t *) const { return umgebung_t::networkmode ? translator::translate("deactivated in online mode") : translator::translate("Rotate map"); }
769
768
bool init( karte_t *welt, spieler_t * ) {
770
769
if( !umgebung_t::networkmode ) {
771
770
welt->rotate90();
780
779
class wkz_quit_t : public werkzeug_t {
782
781
wkz_quit_t() : werkzeug_t() { id = WKZ_QUIT | SIMPLE_TOOL; }
783
const char *get_tooltip(spieler_t *) { return translator::translate("Beenden"); }
782
const char *get_tooltip(const spieler_t *) const { return translator::translate("Beenden"); }
784
783
bool init( karte_t *welt, spieler_t * ) {
785
784
destroy_all_win( true );
786
785
welt->beenden( true );
794
793
class wkz_fill_trees_t : public werkzeug_t {
796
795
wkz_fill_trees_t() : werkzeug_t() { id = WKZ_FILL_TREES | SIMPLE_TOOL; }
797
const char *get_tooltip(spieler_t *) { return translator::translate("Fill trees"); }
796
const char *get_tooltip(const spieler_t *) const { return translator::translate("Fill trees"); }
798
797
bool init( karte_t *welt, spieler_t * ) {
799
798
if( default_param ) {
800
799
baum_t::fill_trees( welt, atoi(default_param) );
807
806
class wkz_daynight_level_t : public werkzeug_t {
809
808
wkz_daynight_level_t() : werkzeug_t() { id = WKZ_DAYNIGHT_LEVEL | SIMPLE_TOOL; }
810
const char *get_tooltip(spieler_t *);
809
const char *get_tooltip(const spieler_t *) const;
811
810
bool init( karte_t *, spieler_t * );
812
811
virtual bool is_init_network_save() const { return true; }
813
812
virtual bool is_work_network_save() const { return true; }
817
/* change day/night view manually */
818
815
class wkz_vehicle_tooltips_t : public werkzeug_t {
820
817
wkz_vehicle_tooltips_t() : werkzeug_t() { id = WKZ_VEHICLE_TOOLTIPS | SIMPLE_TOOL; }
821
const char *get_tooltip(spieler_t *) { return translator::translate("Toggle vehicle tooltips"); }
822
bool init( karte_t *, spieler_t * ) {
818
const char *get_tooltip(const spieler_t *) const { return translator::translate("Toggle vehicle tooltips"); }
819
bool init( karte_t *welt, spieler_t * ) {
823
820
umgebung_t::show_vehicle_states = (umgebung_t::show_vehicle_states+1)%3;
826
824
virtual bool is_init_network_save() const { return true; }
830
828
class wkz_toggle_pax_station_t : public werkzeug_t {
832
830
wkz_toggle_pax_station_t() : werkzeug_t() { id = WKZ_TOOGLE_PAX | SIMPLE_TOOL; }
833
const char *get_tooltip(spieler_t *) { return translator::translate("5LIGHT_CHOOSE"); }
834
bool is_selected(karte_t *welt) const { return welt->get_einstellungen()->get_show_pax(); }
831
const char *get_tooltip(const spieler_t *) const { return translator::translate("5LIGHT_CHOOSE"); }
832
bool is_selected(const karte_t *welt) const { return welt->get_settings().get_show_pax(); }
835
833
bool init( karte_t *welt, spieler_t * ) {
836
welt->access_einstellungen()->set_show_pax( !welt->get_einstellungen()->get_show_pax() );
834
settings_t& s = welt->get_settings();
835
s.set_show_pax(!s.get_show_pax());
839
838
bool exit( karte_t *w, spieler_t *s ) { return init(w,s); }
843
842
class wkz_toggle_pedestrians_t : public werkzeug_t {
845
844
wkz_toggle_pedestrians_t() : werkzeug_t() { id = WKZ_TOOGLE_PEDESTRIANS | SIMPLE_TOOL; }
846
const char *get_tooltip(spieler_t *) { return translator::translate("6LIGHT_CHOOSE"); }
847
bool is_selected(karte_t *welt) const { return welt->get_einstellungen()->get_random_pedestrians(); }
845
const char *get_tooltip(const spieler_t *) const { return translator::translate("6LIGHT_CHOOSE"); }
846
bool is_selected(const karte_t *welt) const { return welt->get_settings().get_random_pedestrians(); }
848
847
bool init( karte_t *welt, spieler_t * ) {
849
welt->access_einstellungen()->set_random_pedestrians( !welt->get_einstellungen()->get_random_pedestrians() );
848
settings_t& s = welt->get_settings();
849
s.set_random_pedestrians(!s.get_random_pedestrians());
852
852
bool exit( karte_t *w, spieler_t *s ) { return init(w,s); }
853
853
virtual bool is_init_network_save() const { return false; }
856
class wkz_toggle_reservation_t : public werkzeug_t {
858
wkz_toggle_reservation_t() : werkzeug_t() { id = WKZ_TOGGLE_RESERVATION | SIMPLE_TOOL; }
859
const char *get_tooltip(const spieler_t *) const { return translator::translate("show/hide block reservations"); }
860
bool is_selected(const karte_t*) const { return schiene_t::show_reservations; }
861
bool init( karte_t *welt, spieler_t * ) {
862
schiene_t::show_reservations ^= 1;
866
virtual bool is_init_network_save() const { return true; }
867
virtual bool is_work_network_save() const { return true; }
870
class wkz_view_owner_t : public werkzeug_t {
872
wkz_view_owner_t() : werkzeug_t() { id = WKZ_VIEW_OWNER | SIMPLE_TOOL; }
873
const char *get_tooltip(const spieler_t *) const { return translator::translate("show/hide object owner"); }
874
bool is_selected(const karte_t*) const { return ding_t::show_owner; }
875
bool init( karte_t *welt, spieler_t * ) {
876
ding_t::show_owner ^= 1;
880
virtual bool is_init_network_save() const { return true; }
881
virtual bool is_work_network_save() const { return true; }
884
/******************************** Internal tools ***********/
856
885
/* internal simple tools needed for networksynchronisation */
857
886
class wkz_traffic_level_t : public werkzeug_t {
859
888
wkz_traffic_level_t() : werkzeug_t() { id = WKZ_TRAFFIC_LEVEL | SIMPLE_TOOL; }
860
const char *get_tooltip(spieler_t *) { return translator::translate("6WORLD_CHOOSE"); }
861
bool is_selected(karte_t *) const { return false; }
889
const char *get_tooltip(const spieler_t *) const { return translator::translate("6WORLD_CHOOSE"); }
890
bool is_selected(const karte_t *) const { return false; }
862
891
bool init( karte_t *welt, spieler_t * ) {
863
892
assert( default_param );
864
welt->access_einstellungen()->set_verkehr_level( atoi(default_param) );
893
welt->get_settings().set_verkehr_level(atoi(default_param));
867
896
virtual bool is_init_network_save() const { return false; }