1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
/* ---------------------------------------------------------------------- *
* cliglobs.c
* This file is part of lincity.
* Lincity is copyright (c) I J Peters 1995-1997, (c) Greg Sharp 1997-2001.
* ---------------------------------------------------------------------- */
#include "cliglobs.h"
#include "common.h"
#include "geometry.h"
#include "lcintl.h"
Screen_Geometry scr;
short mappointoldtype[WORLD_SIDE_LEN][WORLD_SIDE_LEN];
int lc_mouse_type;
char progbox[(PROGBOXW + 16) * (PROGBOXH + 16)];
/* Preferences */
int overwrite_transport_flag = 0;
int suppress_popups = 0;
int time_multiplex_stats = 0;
int no_init_help = 0;
int confine_flag = 0; /* Only used for X11 */
int skip_splash_screen = 0;
int suppress_firsttime_module_help = 0;
int main_screen_flag = MAIN_SCREEN_NORMAL_FLAG;
int mappoint_stats_flag = 0, mappoint_stats_time = 0;
int mini_screen_flags = MINI_SCREEN_NORMAL_FLAG;
int mini_screen_time = 0;
int mini_screen_port_x, mini_screen_port_y;
float gamma_correct_red = 0.0, gamma_correct_green = 0.0, gamma_correct_blue = 0.0;
int mouse_initialized = 0;
int cs_mouse_x, cs_mouse_y, cs_mouse_button; /* current mouse status */
int cs_mouse_shifted = 0; /* shift key pressed with mouse. */
int cs_mouse_xmax, cs_mouse_ymax, omx, omy, mox = 10, moy = 10;
int mouse_hide_count;
#if defined (WIN32)
/* int cs_current_mouse_x, cs_current_mouse_y, cs_current_mouse_button; */
int cs_square_mouse_visible = 0;
#endif
int kmousex, kmousey, kmouse_val, reset_mouse_flag, mt_flag = 0;
char under_square_mouse_pointer_top[20 * 2 * 4];
char under_square_mouse_pointer_left[18 * 2 * 4];
char under_square_mouse_pointer_right[18 * 2 * 4];
char under_square_mouse_pointer_bottom[20 * 2 * 4];
int mouse_type = MOUSE_TYPE_NORMAL;
int mt_start_posx, mt_start_posy, mt_current_posx, mt_current_posy;
char *months[] =
{N_("Jan"), N_("Feb"), N_("Mar"), N_("Apr"),
N_("May"), N_("Jun"), N_("Jul"), N_("Aug"),
N_("Sep"), N_("Oct"), N_("Nov"), N_("Dec")};
char *up_pbar1_graphic, *up_pbar2_graphic;
char *down_pbar1_graphic, *down_pbar2_graphic, *pop_pbar_graphic;
char *tech_pbar_graphic, *food_pbar_graphic, *jobs_pbar_graphic;
char *money_pbar_graphic, *coal_pbar_graphic, *goods_pbar_graphic;
char *ore_pbar_graphic, *steel_pbar_graphic;
char *pause_button1_off, *pause_button2_off;
char *pause_button1_on, *pause_button2_on;
char *fast_button1_off, *fast_button2_off;
char *fast_button1_on, *fast_button2_on;
char *med_button1_off, *med_button2_off;
char *med_button1_on, *med_button2_on;
char *slow_button1_off, *slow_button2_off;
char *slow_button1_on, *slow_button2_on;
char *results_button1, *results_button2;
char *toveron_button1, *toveron_button2;
char *toveroff_button1, *toveroff_button2;
#ifdef LC_X11
char *confine_button, *unconfine_button;
#endif
int pause_flag = 0, slow_flag = 0, med_flag = 0, fast_flag = 0;
char *ms_pollution_button_graphic, *ms_normal_button_graphic;
char *ms_fire_cover_button_graphic, *ms_health_cover_button_graphic;
char *ms_cricket_cover_button_graphic;
char *ms_ub40_button_graphic, *ms_coal_button_graphic;
char *ms_starve_button_graphic, *ms_ocost_button_graphic;
char *ms_power_button_graphic;
char *checked_box_graphic, *unchecked_box_graphic;
char market_cb_gbuf[MARKET_CB_W * MARKET_CB_H];
int market_cb_flag = 0, mcbx, mcby, market_cb_drawn_flag = 0;
int port_cb_flag = 0, port_cb_drawn_flag = 0;
/* GCS -- this one is difficult to deal with.
LinCity will give your money back if you bulldoze
the most recently constructed building (i.e. if
you make a mistake. How does this fit into a
multiplayer game? Not at all, I suppose... */
int help_flag, numof_help_buttons, help_history_count, help_return_val;
int block_help_exit;
int help_button_x[MAX_NUMOF_HELP_BUTTONS];
int help_button_y[MAX_NUMOF_HELP_BUTTONS];
int help_button_w[MAX_NUMOF_HELP_BUTTONS];
int help_button_h[MAX_NUMOF_HELP_BUTTONS];
char help_button_s[MAX_NUMOF_HELP_BUTTONS][MAX_LENOF_HELP_FILENAME];
char help_button_history[MAX_HELP_HISTORY][MAX_LENOF_HELP_FILENAME];
char *help_button_graphic, help_graphic[MAX_ICON_LEN];
char *quit_button_graphic, *load_button_graphic, *save_button_graphic;
char *menu_button_graphic;
int quit_flag, network_flag, load_flag, save_flag;
int prefs_flag = 0, prefs_drawn_flag = 0;
int monument_bul_flag, river_bul_flag, shanty_bul_flag;
int must_release_button = 0, let_one_through = 0;
int db_yesbox_x1, db_yesbox_x2, db_yesbox_y1, db_yesbox_y2;
int db_nobox_x1, db_nobox_x2, db_nobox_y1, db_nobox_y2;
int db_flag, db_yesbox_clicked, db_nobox_clicked;
char okmessage[22][74];
int db_okbox_x1, db_okbox_x2, db_okbox_y1, db_okbox_y2, db_okflag, db_okbox_clicked;
int suppress_ok_buttons;
disp display;
int borderx, bordery;
int command_line_debug = 0;
#ifdef LC_X11
int winX, winY, mouse_button;
char *bg_color = NULL;
int verbose = FALSE; /* display settings if TRUE */
int stay_in_front = FALSE; /* Try to stay in clear area of the screen. */
int text_bg = 0;
int text_fg = 255;
int x_key_value;
int x_key_shifted = 0; /* Is the key shifted? */
int xclip_x1, xclip_y1, xclip_x2, xclip_y2, clipping_flag = 0;
long unsigned int colour_table[256];
unsigned char *open_font;
int open_font_height, suppress_next_expose = 0;
Cursor pirate_cursor;
#ifdef USE_PIXMAPS
Pixmap icon_pixmap[NUM_OF_TYPES];
char icon_pixmap_flag[NUM_OF_TYPES];
#endif
#endif
#ifdef WIN32
int mouse_button;
char *bg_color = NULL;
char dummy1[1024];
char dummy2[1024];
int verbose = FALSE; /* display settings if TRUE */
int stay_in_front = FALSE; /* Try to stay in clear area of the screen. */
int text_bg = 0;
int text_fg = 255;
int x_key_value = 0; /* GCS: Add initialization value */
BOOL x_key_shifted = FALSE; /* Is the key shifted? */
int xclip_x1, xclip_y1, xclip_x2, xclip_y2, clipping_flag = 0;
long unsigned int colour_table[256];
unsigned char *open_font;
int open_font_height, suppress_next_expose = 0;
#if defined (USE_PIXMAPS)
HBITMAP icon_pixmap[NUM_OF_TYPES];
char icon_pixmap_flag[NUM_OF_TYPES];
#endif
#endif /* WIN32 */
|