--- lincity-1.13.1.old/geometry.c +++ lincity-1.13.1/geometry.c @@ -360,7 +360,10 @@ /* Complete refresh of the screen required here */ #if !defined (SVGALIB) - screen_full_refresh (); + /* Prevent refresh if no init done yet (happens if the WM + * disregards hints and resizes the splash screen). */ + if (monthgraph_nojobs) + screen_full_refresh (); #endif } --- lincity-1.13.1.old/main.c +++ lincity-1.13.1/main.c @@ -575,7 +575,7 @@ int execute_timestep (void) { - static int next_time_step = 0; + static long next_time_step = 0; int real_quit_flag = 0; if (market_cb_flag == 0 && help_flag == 0 --- lincity-1.13.1.old/modules/substation.c +++ lincity-1.13.1/modules/substation.c @@ -101,8 +101,11 @@ format_power (s, sizeof(s), MP_INFO(x,y).int_5); mps_store_title(i++,_("Local Demand")); mps_store_title(i++,s); - i++; + if (MP_INFO(x,y).int_6 == 0) + return; + + i++; mps_store_title(i++,_("Grid Status")); format_power (s, sizeof(s), grid[MP_INFO(x,y).int_6]->max_power); --- lincity-1.13.1.old/modules/windmill.c +++ lincity-1.13.1/modules/windmill.c @@ -97,6 +97,10 @@ mps_store_sfp(i++,_("Tech"), MP_INFO(x,y).int_2 * 100.0 / MAX_TECH_LEVEL); + + if (MP_INFO(x,y).int_6 == 0) + return; + i++; mps_store_title(i++,_("Grid Status")); --- lincity-1.13.1.old/mouse.c +++ lincity-1.13.1/mouse.c @@ -1057,6 +1057,7 @@ and set to 1 if the existing transport if the more expensive sort (e.g. GROUP_RAIL when overwriting GROUP_ROAD). */ +extern inline int mt_erase (int x, int y); inline int mt_erase(int x, int y) { @@ -1094,6 +1095,7 @@ return 0; } +extern inline int mt_temp (int x, int y); inline int mt_temp(int x, int y) { @@ -1128,6 +1130,7 @@ return 0; } +extern inline int mt_perm (int x, int y); inline int mt_perm(int x, int y) { --- lincity-1.13.1.old/pixmap.h +++ lincity-1.13.1/pixmap.h @@ -19,7 +19,7 @@ void initialize_pixmap (void); void resize_pixmap (int new_width, int new_height); int pixmap_getpixel (int x, int y); -inline int pixmap_index (int x, int y); +int pixmap_index (int x, int y); int pixmap_getpixel (int x, int y); void pixmap_setpixel (int x, int y, int col); void pixmap_hline (int x1, int y1, int x2, int col); --- lincity-1.13.1.old/simulate.c +++ lincity-1.13.1/simulate.c @@ -85,6 +85,7 @@ MP_GROUP(x,y) = get_group_of_type(fill); if (MP_GROUP(x,y) < 0) MP_GROUP(x,y) = GROUP_BARE; MP_INFO(x,y).population = 0; + MP_INFO(x,y).coal_reserve = 0; MP_INFO(x,y).flags = 0; MP_INFO(x,y).int_1 = 0; MP_INFO(x,y).int_2 = 0; --- lincity-1.13.1.old/splash.c +++ lincity-1.13.1/splash.c @@ -164,7 +164,8 @@ si_scroll_text (void) { char s[LC_PATH_MAX], line1[100], line2[100], line3[100], c; - int i, t, l1c = 0, l2c = 0, l3c = 0; + int i, l1c = 0, l2c = 0, l3c = 0; + long t; FILE *inf1, *inf2, *inf3; #ifdef LC_X11 XEvent xev; @@ -272,7 +273,7 @@ #endif while (real_time < t) { - lc_usleep (1); + lc_usleep(1000*(t-real_time)); get_real_time (); } }