[go: up one dir, main page]

File: main.h

package info (click to toggle)
lincity 1.11-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 3,460 kB
  • ctags: 2,642
  • sloc: cpp: 24,598; makefile: 246; sh: 15; perl: 10
file content (277 lines) | stat: -rwxr-xr-x 10,776 bytes parent folder | download | duplicates (2)
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
// main.h    part of lin-city
// Copyright (c) I J Peters 1995,1996.  Please read the file 'COPYRIGHT'.

#if defined (WIN32)
char LIBDIR[_MAX_PATH];
#endif

struct TYPE main_types[NUM_OF_TYPES];
struct MAPPOINT mappoint[WORLD_SIDE_LEN][WORLD_SIDE_LEN];
int mappointpol[WORLD_SIDE_LEN][WORLD_SIDE_LEN];
short mappointtype[WORLD_SIDE_LEN][WORLD_SIDE_LEN];
short mappointoldtype[WORLD_SIDE_LEN][WORLD_SIDE_LEN];
int sbut[NUMOF_SELECT_BUTTONS];
int group_count[NUMOF_GROUPS];
int lc_mouse_type;
char progbox[(PROGBOXW+16)*(PROGBOXH+16)];
int dummy123[100];
char colour_pal_file[256],opening_pic[256],graphic_path[256],fontfile[256];
char opening_path[256];
char helppath[256],message_path[256],given_scene[256];
#if defined (WIN32)
char windowsfontfile[256];
#endif
char *lc_save_dir,*askdir_path[4];
char *lc_temp_file;
int askdir_lines;

int no_init_help,pix_double=0;
int selected_type; // the type selected by buttons to draw in main win
int selected_button; // the button selected. So we can work out the cost
int selected_type_cost;
int select_button_type[NUMOF_GROUPS]; // button number => selected type
char *select_button_graphic[NUMOF_GROUPS];
// char select_button_message[NUMOF_GROUPS][100];
int select_button_cost[NUMOF_GROUPS];
int select_button_cost_mul[NUMOF_GROUPS];
int select_button_bul_cost[NUMOF_GROUPS];
int select_button_tech[NUMOF_GROUPS];
int select_button_tflag[NUMOF_GROUPS];
int select_button_help_flag[NUMOF_GROUPS];
char select_button_help[NUMOF_GROUPS][20];
char type_string[NUMOF_GROUPS][MAPPOINT_STATS_W/8];
int old_selected_button=0;
int mappoint_array_x[WORLD_SIDE_LEN],mappoint_array_y[WORLD_SIDE_LEN];
int mappoint_stats_flag=0,mappoint_stats_time=0;
int mini_screen_flags=0,mini_screen_time=0;
int mini_screen_port_x,mini_screen_port_y;
int fire_chance[NUMOF_GROUPS];
#if defined (WIN32)
int usleep_counter = 0;
#else
int real_start_time;
#endif
int real_time;
// int buf1[10];
struct timeval lc_timeval;
// int buf2[10];
int numof_shanties,numof_communes;
float gamma_correct_red=0.0,gamma_correct_green=0.0,gamma_correct_blue=0.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 cs_mouse_button_repeat,mouse_hide_count,cs_mouse_button_delay;
#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;
int overwrite_transport_flag=0,modern_windmill_flag=0;
int sust_dig_ore_coal_tip_flag=0,sust_port_flag=0,sustain_flag=0;
int sust_dig_ore_coal_count=0,sust_port_count=0,sust_old_money=0;
int sust_old_money_count=0,sust_old_population=0,sust_old_population_count=0;
int sust_old_tech=0,sust_old_tech_count=0,sust_fire_count=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,make_dir_ok_flag,lc_save_dir_len;

int mt_start_posx,mt_start_posy,mt_current_posx,mt_current_posy;
int main_screen_originx,main_screen_originy;

int total_time=0;
int population,starving_population,food_in_markets,jobs_in_markets;
int housed_population;
int coal_in_markets,goods_in_markets,ore_in_markets,steel_in_markets;
int unemployed_population,people_pool;
// int dummy1[10];
int substationx[MAX_NUMOF_SUBSTATIONS],substationy[MAX_NUMOF_SUBSTATIONS];
int numof_substations=0;
int marketx[MAX_NUMOF_MARKETS],markety[MAX_NUMOF_MARKETS],numof_markets=0;
int numof_health_centres,max_pop_ever=0,total_evacuated=0,total_births=0;

int screen_refresh_flag=1;

int group_colour[]={
	GROUP_BARE_COLOUR,GROUP_POWER_LINE_COLOUR,GROUP_POWER_SOURCE_COLOUR
	,GROUP_SUBSTATION_COLOUR,GROUP_RESIDENCE_COLOUR
	,GROUP_ORGANIC_FARM_COLOUR,GROUP_MARKET_COLOUR,GROUP_TRACK_COLOUR
	,GROUP_COALMINE_COLOUR,GROUP_RAIL_COLOUR
	,GROUP_POWER_SOURCE_COAL_COLOUR,GROUP_ROAD_COLOUR
	,GROUP_INDUSTRY_L_COLOUR,GROUP_UNIVERSITY_COLOUR
	,GROUP_COMMUNE_COLOUR,GROUP_OREMINE_COLOUR
	,GROUP_TIP_COLOUR,GROUP_EX_PORT_COLOUR
	,GROUP_INDUSTRY_H_COLOUR,GROUP_PARKLAND_COLOUR
	,GROUP_RECYCLE_COLOUR,GROUP_WATER_COLOUR
	,GROUP_HEALTH_COLOUR,GROUP_ROCKET_COLOUR
	,GROUP_WINDMILL_COLOUR,GROUP_MONUMENT_COLOUR
	,GROUP_SCHOOL_COLOUR,GROUP_BLACKSMITH_COLOUR
	,GROUP_MILL_COLOUR,GROUP_POTTERY_COLOUR
	,GROUP_FIRESTATION_COLOUR,GROUP_CRICKET_COLOUR
	,GROUP_BURNT_COLOUR,GROUP_SHANTY_COLOUR};

int income_tax,coal_tax,total_money=0,income_tax_rate,coal_tax_rate;
int unemployment_cost,transport_cost;
int other_cost,university_cost,recycle_cost,school_cost,windmill_cost;
int dole_rate,transport_cost_rate,cricket_cost;
int goods_tax,goods_tax_rate;
int export_tax,export_tax_rate,import_cost,import_cost_rate;
int tech_level,highest_tech_level,unnat_deaths,deaths_cost;
int health_cost,rocket_pad_cost,fire_cost,ly_fire_cost;
int ly_university_cost,ly_recycle_cost,ly_school_cost,ly_deaths_cost;
int ly_health_cost,ly_rocket_pad_cost,ly_interest,ly_windmill_cost;
int ly_cricket_cost;
char *months[]= {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"
		,"Sep","Oct","Nov","Dec" };

int monthgraph_pop[MAPPOINT_STATS_W],monthgraph_starve[MAPPOINT_STATS_W];
int monthgraph_nojobs[MAPPOINT_STATS_W],monthgraph_ppool[MAPPOINT_STATS_W];
int tpopulation,tstarving_population,tunemployed_population;
int total_pollution_deaths=0,total_starve_deaths=0,total_unemployed_days=0;
int total_unemployed_years=0;
float pollution_deaths_history=0.0,starve_deaths_history=0.0;
float unemployed_history=0.0;

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;
int confine_flag=0;
#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;
int university_intake_rate;

int waste_goods;
int power_made,power_used,coal_made,coal_used;
int goods_made,goods_used,ore_made,ore_used;
int diffgraph_power[MAPPOINT_STATS_W],diffgraph_coal[MAPPOINT_STATS_W];
int diffgraph_goods[MAPPOINT_STATS_W],diffgraph_ore[MAPPOINT_STATS_W];
int diffgraph_population[MAPPOINT_STATS_W],diff_old_population;
int rockets_launched,rockets_launched_success;
int last_built_x,last_built_y;
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;
int quit_flag,load_flag,save_flag,cheat_flag;
int monument_bul_flag,river_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;
int coal_survey_done;

char save_names[10][42];

int pbar_pops[12],pbar_pop_oldtot,pbar_pop_olddiff;
int pbar_techs[12],pbar_tech_oldtot,pbar_tech_olddiff;
int pbar_foods[12],pbar_food_oldtot,pbar_food_olddiff;
int pbar_jobs[12],pbar_jobs_oldtot,pbar_jobs_olddiff;
int pbar_coal[12],pbar_coal_oldtot,pbar_coal_olddiff;
int pbar_goods[12],pbar_goods_oldtot,pbar_goods_olddiff;
int pbar_ore[12],pbar_ore_oldtot,pbar_ore_olddiff;
int pbar_steel[12],pbar_steel_oldtot,pbar_steel_olddiff;
int pbar_money[12],pbar_money_oldtot,pbar_money_olddiff;

int ex_tax_dis[NUMOF_DISCOUNT_TRIGGERS]={
        EX_DISCOUNT_TRIGGER_1,
        EX_DISCOUNT_TRIGGER_2,
        EX_DISCOUNT_TRIGGER_3,
        EX_DISCOUNT_TRIGGER_4,
        EX_DISCOUNT_TRIGGER_5,
        EX_DISCOUNT_TRIGGER_6,
        };

//  X stuff --------------------------------------
                                                        
#ifdef LC_X11
int             winX, winY,mouse_button;
unsigned int    winW, winH;
disp            display;

char    *bg_color = NULL;
char dummy1[1024];
char    pixmap[(640+BORDERX*2)*(480+BORDERY*2)];
char dummy2[1024];
char    myfont[256*8];
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     xclip_x1,xclip_y1,xclip_x2,xclip_y2,clipping_flag=0;
int     borderx,bordery;
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
disp            display;
char    *bg_color = NULL;
char	dummy1[1024];
char    pixmap[(640+BORDERX*2)*(480+BORDERY*2)];
char	dummy2[1024];
char    myfont[256*8];
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;
int     borderx,bordery;
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 */