#include "cliglobs.h"Go to the source code of this file.
Defines | |
| #define | MONTHGRAPH_STYLE_ECONOMY 1 |
| #define | MONTHGRAPH_STYLE_SUSTAIN 2 |
| #define | MONTHGRAPH_STYLE_MIN MONTHGRAPH_STYLE_ECONOMY |
| #define | MONTHGRAPH_STYLE_MAX MONTHGRAPH_STYLE_SUSTAIN |
| #define | CB_SPACE 20 |
Functions | |
| char * | current_month (int current_time) |
| void | draw_cb_box (int row, int col, int checked) |
| int | ask_launch_rocket_click (int x, int y) |
| int | ask_launch_rocket_now (int x, int y) |
| void | display_rocket_result_dialog (int result) |
| void | draw_background (void) |
| void | screen_full_refresh (void) |
| void | init_fonts (void) |
| void | initialize_monthgraph (void) |
| void | rotate_mini_screen (void) |
| void | advance_mps_style (void) |
| void | update_main_screen (int full_refresh) |
| void | connect_transport_main_screen (void) |
| void | refresh_main_screen (void) |
| void | refresh_mps (void) |
| void | advance_monthgraph_style (void) |
| void | refresh_monthgraph (void) |
| void | draw_small_yellow_bezel (int x, int y, int h, int w) |
| void | init_pbars (void) |
| void | Fgl_getrect (Rect *r, void *buffer) |
| void | Fgl_putrect (Rect *r, void *buffer) |
| void | mini_screen_help (void) |
| void | status_message (char *m1, char *m2) |
| void | print_time_for_year (void) |
| void | rotate_main_screen (void) |
| void | screen_setup (void) |
| void | init_mini_map_mouse (void) |
| void | mini_map_handler (int x, int y, int button) |
| void | mini_aux_handler (int x, int y, int button) |
| void | display_info_message (int colour, char *ss, char *xs) |
| void | reset_status_message (void) |
Variables | |
| unsigned char | main_font [2048] |
| unsigned char | start_font1 [2048] |
| unsigned char | start_font2 [4096] |
| unsigned char | start_font3 [4096] |
| int | monthgraph_style |
| int | mps_global_style |
| char | screen_refreshing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 1635 of file screen.c. 01636 {
01637 monthgraph_style = (monthgraph_style % 2) + 1;
01638 if (monthgraph_style == MONTHGRAPH_STYLE_ECONOMY) {
01639 monthgraph_style_timeout = real_time + 10000;
01640 } else {
01641 monthgraph_style_timeout = real_time + 4000;
01642 }
01643 }
|
|
|
Definition at line 1619 of file screen.c. 01620 {
01621 mps_global_style = mps_global_style++;
01622 if (mps_global_style > MPS_GLOBAL_STYLE_MAX) {
01623 mps_global_style = MPS_GLOBAL_STYLE_MIN;
01624 }
01625 mps_global_style_timeout = real_time + 6000;
01626 }
|
|
||||||||||||
|
Definition at line 2611 of file screen.c. 02612 {
02613 return yn_dial_box (_("ROCKET LAUNCH"),
02614 _("You can launch the rocket now or wait until later."),
02615 _("If you wait, it costs you *only* money to keep the"),
02616 _("rocket ready. Launch?"));
02617 }
|
|
||||||||||||
|
Definition at line 2620 of file screen.c. 02621 {
02622 return yn_dial_box (_("Rocket ready to launch"),
02623 _("You can launch it now or wait until later."),
02624 _("If you wait it will continue costing you money."),
02625 _("Launch it later by clicking on the rocket area."));
02626 }
|
|
|
Definition at line 110 of file screen.c. 00111 {
00112 Rect* b = &scr.main_win;
00113
00114 connect_transport (main_screen_originx, main_screen_originy,
00115 b->w / 16, b->h / 16);
00116 }
|
|
|
Definition at line 16 of file lclib.c. 00017 {
00018 return _(months[(current_time % NUMOF_DAYS_IN_YEAR) / NUMOF_DAYS_IN_MONTH]);
00019 }
|
|
||||||||||||||||
|
Definition at line 2357 of file screen.c. 02358 {
02359 if (suppress_popups) {
02360 /* display in the message area */
02361 Rect* b = &scr.status_message_1;
02362 int num_char = b->w / 9 - 1;
02363 char *sm1, *sm2;
02364 if ((sm1 = (char *) malloc (num_char+1)) == 0)
02365 malloc_failure ();
02366 if ((sm2 = (char *) malloc (num_char+1)) == 0)
02367 malloc_failure ();
02368
02369 format_status_message (sm1,sm2,num_char,ss,xs);
02370 status_message(sm1,sm2);
02371 free (sm1);
02372 free (sm2);
02373 } else {
02374 /* display as dialog box */
02375 if (xs) {
02376 dialog_box(colour,3,
02377 0,0,ss,
02378 0,0,xs,
02379 2,' ',_("OK"));
02380 } else {
02381 dialog_box(colour,2,
02382 0,0,ss,
02383 2,' ',_("OK"));
02384 }
02385 }
02386 }
|
|
|
Definition at line 2629 of file screen.c. 02630 {
02631 switch (result) {
02632 case ROCKET_LAUNCH_BAD:
02633 ok_dial_box ("launch-fail.mes", BAD, 0L);
02634 break;
02635 case ROCKET_LAUNCH_GOOD:
02636 ok_dial_box ("launch-good.mes", GOOD, 0L);
02637 break;
02638 case ROCKET_LAUNCH_EVAC:
02639 ok_dial_box ("launch-evac.mes", GOOD, 0L);
02640 break;
02641 }
02642 }
|
|
|
Definition at line 94 of file screen.c. 00095 {
00096 /* XXX: we don't need to draw the whole background! */
00097 /* GCS: but this routine is only called on a full refresh, so it's OK */
00098
00099 #if defined (LC_X11) || defined (WIN32)
00100 /* Draw border region, but don't put into pixmap */
00101 draw_border ();
00102 /* Draw main area */
00103 Fgl_fillbox (0, 0, pixmap_width, pixmap_height, TEXT_BG_COLOUR);
00104 #else /* SVGALIB */
00105 Fgl_fillbox (0, 0, display.winW, display.winH, TEXT_BG_COLOUR);
00106 #endif
00107 }
|
|
||||||||||||||||
|
Definition at line 2112 of file screen.c. 02113 {
02114 int x, y;
02115 char* graphic;
02116 Rect* mcb = &scr.market_cb;
02117
02118 y = mcb->y + 4 + (4 * 8) + (row * CB_SPACE);
02119 x = mcb->x + 12 + (col * 12) * 8;
02120 graphic = checked ? checked_box_graphic : unchecked_box_graphic;
02121 Fgl_putbox (x, y, 16, 16, graphic);
02122 }
|
|
||||||||||||||||||||
|
|
|
||||||||||||
|
Definition at line 2645 of file screen.c. 02646 {
02647 Fgl_getbox(r->x,r->y,r->w,r->h,buffer);
02648 }
|
|
||||||||||||
|
Definition at line 2651 of file screen.c. 02652 {
02653 Fgl_putbox(r->x,r->y,r->w,r->h,buffer);
02654 }
|
|
|
Definition at line 828 of file screen.c. 00829 {
00830 #if defined (WIN32)
00831 init_windows_font();
00832 #endif
00833 load_fonts();
00834 #if defined (SVGALIB)
00835 gl_setwritemode (FONT_COMPRESSED);
00836 #endif
00837 Fgl_setfont (8, 8, main_font);
00838 Fgl_setfontcolors (TEXT_BG_COLOUR, TEXT_FG_COLOUR);
00839 }
|
|
|
Definition at line 847 of file screen.c. 00848 {
00849 mini_map_handle = mouse_register(&scr.mini_map,&mini_map_handler);
00850 mini_aux_handle = mouse_register(&scr.mini_map_aux,&mini_aux_handler);
00851 }
|
|
|
Definition at line 21 of file pbar.c. 00022 {
00023 int i, p;
00024 for (p = 0; p < NUM_PBARS; p++) {
00025 pbars[p].data_size = 0;
00026 pbars[p].oldtot = 0;
00027 pbars[p].tot = 0;
00028 pbars[p].diff = 0;
00029 for (i = 0; i < PBAR_DATA_SIZE; i++)
00030 pbars[p].data[i] = 0;
00031 }
00032
00033 }
|
|
|
Definition at line 1964 of file screen.c. 01965 {
01966 int i;
01967
01968 monthgraph_size = scr.monthgraph.w;
01969
01970 monthgraph_pop = (int*) malloc (sizeof(int) * monthgraph_size);
01971 if (monthgraph_pop == 0) {
01972 malloc_failure ();
01973 }
01974 monthgraph_starve = (int*) malloc (sizeof(int) * monthgraph_size);
01975 if (monthgraph_starve == 0) {
01976 malloc_failure ();
01977 }
01978 monthgraph_nojobs = (int*) malloc (sizeof(int) * monthgraph_size);
01979 if (monthgraph_nojobs == 0) {
01980 malloc_failure ();
01981 }
01982 monthgraph_ppool = (int*) malloc (sizeof(int) * monthgraph_size);
01983 if (monthgraph_ppool == 0) {
01984 malloc_failure ();
01985 }
01986 for (i = 0; i < monthgraph_size; i++) {
01987 monthgraph_pop[i] = 0;
01988 monthgraph_starve[i] = 0;
01989 monthgraph_nojobs[i] = 0;
01990 monthgraph_ppool[i] = 0;
01991 }
01992 }
|
|
||||||||||||||||
|
Definition at line 883 of file screen.c. 00884 {
00885 if (button == LC_MOUSE_MIDDLEBUTTON) {
00886 rotate_main_screen ();
00887 return;
00888 } else if (button == LC_MOUSE_RIGHTBUTTON) {
00889 mini_screen_help ();
00890 return;
00891 }
00892 rotate_mini_screen ();
00893 }
|
|
||||||||||||||||
|
Definition at line 855 of file screen.c. 00856 {
00857 Rect* b = &scr.mini_map;
00858
00859 if (button == LC_MOUSE_RIGHTBUTTON) {
00860 mini_screen_help ();
00861 return;
00862 }
00863 if (mini_screen_flags == MINI_SCREEN_COAL_FLAG && !coal_survey_done) {
00864 if (yn_dial_box (_("Coal survey"),
00865 _("This will cost you 1 million"),
00866 _("After that it's is free to call again"),
00867 _("Do coal survey?")) == 0)
00868 {
00869 return;
00870 }
00871 do_coal_survey ();
00872 print_total_money ();
00873 return;
00874 }
00875 adjust_main_origin (x - scr.main_win.w / 32,
00876 y - scr.main_win.h / 32, 1);
00877
00878 if (mini_screen_flags == MINI_SCREEN_PORT_FLAG)
00879 draw_mini_screen ();
00880 }
|
|
|
Definition at line 980 of file screen.c. 00981 {
00982 switch (mini_screen_flags)
00983 {
00984 case MINI_SCREEN_NORMAL_FLAG:
00985 activate_help ("msb-normal.hlp");
00986 break;
00987 case MINI_SCREEN_POL_FLAG:
00988 activate_help ("msb-pol.hlp");
00989 break;
00990 case MINI_SCREEN_UB40_FLAG:
00991 activate_help ("msb-ub40.hlp");
00992 break;
00993 case MINI_SCREEN_STARVE_FLAG:
00994 activate_help ("msb-starve.hlp");
00995 break;
00996 case MINI_SCREEN_POWER_FLAG:
00997 activate_help ("msb-power.hlp");
00998 break;
00999 case MINI_SCREEN_FIRE_COVER:
01000 activate_help ("msb-fire.hlp");
01001 break;
01002 case MINI_SCREEN_CRICKET_COVER:
01003 activate_help ("msb-cricket.hlp");
01004 break;
01005 case MINI_SCREEN_HEALTH_COVER:
01006 activate_help ("msb-health.hlp");
01007 break;
01008 case MINI_SCREEN_COAL_FLAG:
01009 activate_help ("msb-coal.hlp");
01010 break;
01011 }
01012 }
|
|
|
|
|
|
Definition at line 119 of file screen.c. 00120 {
00121 connect_transport_main_screen ();
00122 update_main_screen (1);
00123 update_mini_screen ();
00124 dialog_refresh();
00125 }
|
|
|
Definition at line 1646 of file screen.c. 01647 {
01648 do_monthgraph (1);
01649 }
|
|
|
Definition at line 1629 of file screen.c. 01630 {
01631 mappoint_stats (-2, -2, mps_global_style);
01632 }
|
|
|
Definition at line 1920 of file screen.c. 01921 {
01922 status_message_1(0);
01923 status_message_2(0);
01924 #if defined (WIN32)
01925 UpdateWindow (display.hWnd);
01926 #endif
01927 update_scoreboard.message_area = 0;
01928 }
|
|
|
Definition at line 142 of file screen.c. 00143 {
00144 if (main_screen_flag == MAIN_SCREEN_NORMAL_FLAG) {
00145 main_screen_flag = MAIN_SCREEN_EQUALS_MINI;
00146 } else {
00147 main_screen_flag = MAIN_SCREEN_NORMAL_FLAG;
00148 }
00149 refresh_main_screen ();
00150 }
|
|
|
Definition at line 896 of file screen.c. 00897 {
00898 switch (mini_screen_flags)
00899 {
00900 case MINI_SCREEN_NORMAL_FLAG:
00901 mini_screen_flags = MINI_SCREEN_POL_FLAG;
00902 break;
00903 case MINI_SCREEN_POL_FLAG:
00904 mini_screen_flags = MINI_SCREEN_UB40_FLAG;
00905 break;
00906 case MINI_SCREEN_UB40_FLAG:
00907 mini_screen_flags = MINI_SCREEN_STARVE_FLAG;
00908 break;
00909 case MINI_SCREEN_STARVE_FLAG:
00910 mini_screen_flags = MINI_SCREEN_POWER_FLAG;
00911 break;
00912 #if defined (commentout)
00913 case MINI_SCREEN_PORT_FLAG:
00914 /* Not in the rotation schedule */
00915 #endif
00916 case MINI_SCREEN_POWER_FLAG:
00917 mini_screen_flags = MINI_SCREEN_FIRE_COVER;
00918 break;
00919 case MINI_SCREEN_FIRE_COVER:
00920 mini_screen_flags = MINI_SCREEN_CRICKET_COVER;
00921 break;
00922 case MINI_SCREEN_CRICKET_COVER:
00923 mini_screen_flags = MINI_SCREEN_HEALTH_COVER;
00924 break;
00925 case MINI_SCREEN_HEALTH_COVER:
00926 mini_screen_flags = MINI_SCREEN_COAL_FLAG;
00927 break;
00928 case MINI_SCREEN_COAL_FLAG:
00929 mini_screen_flags = MINI_SCREEN_NORMAL_FLAG;
00930 break;
00931 }
00932 update_mini_screen ();
00933
00934 if (main_screen_flag == MAIN_SCREEN_EQUALS_MINI) {
00935 refresh_main_screen ();
00936 }
00937 }
|
|
|
Definition at line 668 of file screen.c. 00669 {
00670 screen_refreshing++;
00671 draw_background ();
00672
00673 monthgraph_full_refresh ();
00674 mps_full_refresh ();
00675 pbars_full_refresh ();
00676 mini_full_refresh ();
00677
00678 /* GCS FIX: what about during MT? */
00679 if (selected_module_type == CST_GREEN)
00680 draw_main_window_box (red (8));
00681 else
00682 draw_main_window_box (green (8));
00683
00684 draw_menu ();
00685 draw_help ();
00686 #if defined (commentout)
00687 draw_load ();
00688 draw_save ();
00689 draw_quit ();
00690 draw_help ();
00691 #endif
00692 draw_pause (pause_flag);
00693 draw_slow (slow_flag & !pause_flag);
00694 draw_med (med_flag & !pause_flag);
00695 draw_fast (fast_flag & !pause_flag);
00696 draw_results ();
00697
00698 draw_modules ();
00699
00700 /* GCS: What about resize during load/save/prefs? */
00701 /* WCK: We could just lock resize off when we enter them. */
00702 if (help_flag) {
00703 refresh_help_page ();
00704 }
00705 refresh_main_screen ();
00706
00707 /* Text status area */
00708 print_date();
00709 print_time_for_year();
00710 print_total_money();
00711 draw_selected_module_cost();
00712
00713 refresh_pbars();
00714 redraw_mouse(); /* screen_setup used to do this */
00715 screen_refreshing--;
00716 }
|
|
|
Definition at line 543 of file screen.c. 00544 {
00545 /* draw the graph boxes */
00546 monthgraph_full_refresh ();
00547 monthgraph_style_timeout = real_time + 10000;
00548 mps_full_refresh ();
00549 mps_global_style_timeout = real_time + 10000;
00550
00551 /* load the pbar graphics */
00552 /* XXX: WCK: pbar_setup? */
00553 up_pbar1_graphic = load_graphic ("pbarup1.csi");
00554 up_pbar2_graphic = load_graphic ("pbarup2.csi");
00555 down_pbar1_graphic = load_graphic ("pbardown1.csi");
00556 down_pbar2_graphic = load_graphic ("pbardown2.csi");
00557 pop_pbar_graphic = load_graphic ("pbarpop.csi");
00558 tech_pbar_graphic = load_graphic ("pbartech.csi");
00559 food_pbar_graphic = load_graphic ("pbarfood.csi");
00560 jobs_pbar_graphic = load_graphic ("pbarjobs.csi");
00561 coal_pbar_graphic = load_graphic ("pbarcoal.csi");
00562 goods_pbar_graphic = load_graphic ("pbargoods.csi");
00563 ore_pbar_graphic = load_graphic ("pbarore.csi");
00564 steel_pbar_graphic = load_graphic ("pbarsteel.csi");
00565 money_pbar_graphic = load_graphic ("pbarmoney.csi");
00566 init_pbars ();
00567
00568 /* draw the box around the main window */
00569 draw_main_window_box (green (8));
00570 /* load the checked and unchecked box graphics */
00571 checked_box_graphic = load_graphic ("checked_box.csi");
00572 unchecked_box_graphic = load_graphic ("unchecked_box.csi");
00573
00574 /* load minimap buttons (but don't draw) */
00575 ms_normal_button_graphic = load_graphic ("ms-normal-button.csi");
00576 ms_pollution_button_graphic = load_graphic ("ms-pollution-button.csi");
00577 ms_fire_cover_button_graphic = load_graphic ("ms-fire-cover-button.csi");
00578 ms_health_cover_button_graphic
00579 = load_graphic ("ms-health-cover-button.csi");
00580 ms_cricket_cover_button_graphic
00581 = load_graphic ("ms-cricket-cover-button.csi");
00582 ms_ub40_button_graphic = load_graphic ("ms-ub40-button.csi");
00583 ms_coal_button_graphic = load_graphic ("ms-coal-button.csi");
00584 ms_starve_button_graphic = load_graphic ("ms-starve-button.csi");
00585 ms_power_button_graphic = load_graphic ("ms-power-button.csi");
00586 ms_ocost_button_graphic = load_graphic ("ms-ocost-button.csi");
00587
00588 /* draw the pause button */
00589 pause_button1_off = load_graphic ("pause-offl.csi");
00590 pause_button2_off = load_graphic ("pause-offr.csi");
00591 pause_button1_on = load_graphic ("pause-onl.csi");
00592 pause_button2_on = load_graphic ("pause-onr.csi");
00593 draw_pause (0);
00594
00595 /* draw the slow button */
00596 slow_button1_off = load_graphic ("slow-offl.csi");
00597 slow_button2_off = load_graphic ("slow-offr.csi");
00598 slow_button1_on = load_graphic ("slow-onl.csi");
00599 slow_button2_on = load_graphic ("slow-onr.csi");
00600 draw_slow (0);
00601
00602 /* draw the medium button */
00603 med_button1_off = load_graphic ("norm-offl.csi");
00604 med_button2_off = load_graphic ("norm-offr.csi");
00605 med_button1_on = load_graphic ("norm-onl.csi");
00606 med_button2_on = load_graphic ("norm-onr.csi");
00607 draw_med (0);
00608
00609 /* draw the fast button */
00610 fast_button1_off = load_graphic ("fast-offl.csi");
00611 fast_button2_off = load_graphic ("fast-offr.csi");
00612 fast_button1_on = load_graphic ("fast-onl.csi");
00613 fast_button2_on = load_graphic ("fast-onr.csi");
00614 draw_fast (0);
00615
00616 /* draw the results button */
00617 results_button1 = load_graphic ("results-l.csi");
00618 results_button2 = load_graphic ("results-r.csi");
00619 draw_results ();
00620
00621 /* draw the t-overwrite button and load 'on button' */
00622 #if defined (commentout)
00623 toveron_button1 = load_graphic ("tover1-on.csi");
00624 toveroff_button1 = load_graphic ("tover1-off.csi");
00625 toveron_button2 = load_graphic ("tover2-on.csi");
00626 toveroff_button2 = load_graphic ("tover2-off.csi");
00627 draw_tover (0);
00628
00629 #ifdef LC_X11
00630 /* draw the confine mouse button */
00631 confine_button = load_graphic ("mouse-confined.csi");
00632 unconfine_button = load_graphic ("mouse-free.csi");
00633 draw_confine (0);
00634 #endif
00635 #endif
00636
00637 /* Load and draw menu buttons */
00638 #if defined (commentout)
00639 menu_button_graphic = load_graphic ("menu-button.csi");
00640 #endif
00641 draw_menu ();
00642 draw_help ();
00643 #if defined (commentout)
00644 load_button_graphic = load_graphic ("load-button.csi");
00645 draw_load ();
00646 save_button_graphic = load_graphic ("save-button.csi");
00647 draw_save ();
00648 quit_button_graphic = load_graphic ("quit-button.csi");
00649 draw_quit ();
00650 help_button_graphic = load_graphic ("help-button.csi");
00651 draw_help ();
00652 #endif
00653
00654 /* GCS moved selection to here */
00655 set_selected_module (CST_TRACK_LR);
00656
00657 #ifdef SCREEN_SETUP_DRAWS
00658 mini_full_refresh ();
00659
00660 redraw_mouse ();
00661
00662 update_main_screen ();
00663 #endif
00664
00665 }
|
|
||||||||||||
|
Definition at line 1909 of file screen.c. 01910 {
01911 status_message_1(m1);
01912 status_message_2(m2);
01913 #if defined (WIN32)
01914 UpdateWindow (display.hWnd);
01915 #endif
01916 update_scoreboard.message_area = real_time + 10000;
01917 }
|
|
|
Definition at line 153 of file screen.c. 00154 {
00155 if (main_screen_flag == MAIN_SCREEN_NORMAL_FLAG) {
00156 update_main_screen_normal (full_refresh);
00157 } else {
00158 switch (mini_screen_flags) {
00159 case MINI_SCREEN_NORMAL_FLAG:
00160 update_main_screen_normal (full_refresh);
00161 break;
00162 case MINI_SCREEN_POL_FLAG:
00163 update_main_screen_pollution ();
00164 break;
00165 case MINI_SCREEN_UB40_FLAG:
00166 update_main_screen_ub40 ();
00167 break;
00168 case MINI_SCREEN_STARVE_FLAG:
00169 update_main_screen_starve ();
00170 break;
00171 case MINI_SCREEN_POWER_FLAG:
00172 update_main_screen_power ();
00173 break;
00174 case MINI_SCREEN_FIRE_COVER:
00175 update_main_screen_fire_cover ();
00176 break;
00177 case MINI_SCREEN_CRICKET_COVER:
00178 update_main_screen_cricket_cover ();
00179 break;
00180 case MINI_SCREEN_HEALTH_COVER:
00181 update_main_screen_health_cover ();
00182 break;
00183 case MINI_SCREEN_COAL_FLAG:
00184 if (coal_survey_done) {
00185 update_main_screen_coal ();
00186 } else {
00187 update_main_screen_normal (full_refresh);
00188 }
00189 break;
00190 }
00191 }
00192 #if defined (WIN32)
00193 /* GCS -- I have a feeling this is wrong ... */
00194 if (full_refresh) {
00195 UpdateWindow (display.hWnd);
00196 }
00197 #else
00198 if (mouse_type == MOUSE_TYPE_SQUARE)
00199 redraw_mouse ();
00200 #endif
00201 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.9.1