X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/micropolis/blobdiff_plain/6a5fa4e03967ab980cdc7ef96a42400bc29b4414..refs/heads/legacy:/src/sim/sim.c diff --git a/src/sim/sim.c b/src/sim/sim.c index 79a7817..60fef68 100644 --- a/src/sim/sim.c +++ b/src/sim/sim.c @@ -61,6 +61,12 @@ */ #include "sim.h" +void signal_init(); +void sim_update_evaluations(void); +void sim_update_editors(void); +void sim_update_budgets(void); +void sim_update_graphs(void); +void sim_update_maps(void); /* Sim City */ @@ -88,6 +94,7 @@ char *StartupName = NULL; int WireMode = 0; int MultiPlayerMode = 0; int SugarMode = 0; +int LegacyMode = 0; int TilesAnimated = 0; int DoAnimation = 1; int DoMessages = 1; @@ -97,6 +104,7 @@ char *FirstDisplay = NULL; int ExitReturn = 0; +void sim_exit(int val) { tkMustExit = 1; @@ -104,7 +112,7 @@ sim_exit(int val) } -sim_really_exit(int val) +void sim_really_exit(int val) { DoStopMicropolis(); @@ -222,7 +230,7 @@ sim_init(void) int triedToBailOnce = 0; void -SignalExitHandler() +SignalExitHandler(int sig) { if (triedToBailOnce) { exit(-1); @@ -236,17 +244,18 @@ SignalExitHandler() } +void signal_init() { - signal(SIGHUP, (void (*)())SignalExitHandler); - signal(SIGINT, (void (*)())SignalExitHandler); - signal(SIGQUIT, (void (*)())SignalExitHandler); - signal(SIGTERM, (void (*)())SignalExitHandler); + signal(SIGHUP, (void (*)(int))SignalExitHandler); + signal(SIGINT, (void (*)(int))SignalExitHandler); + signal(SIGQUIT, (void (*)(int))SignalExitHandler); + signal(SIGTERM, (void (*)(int))SignalExitHandler); } void -sim_update() +sim_update(void) { gettimeofday(&now_time, NULL); @@ -267,6 +276,7 @@ sim_update() } +void sim_update_editors(void) { SimView *view; @@ -285,6 +295,7 @@ sim_update_editors(void) } +void sim_update_maps(void) { SimView *view; @@ -319,12 +330,14 @@ sim_update_maps(void) } +void sim_update_graphs(void) { graphDoer(); } +void sim_update_budgets(void) { if ((sim_skips != 0) && @@ -336,6 +349,7 @@ sim_update_budgets(void) } +void sim_update_evaluations(void) { if ((sim_skips != 0) && @@ -409,7 +423,7 @@ short *CellDst = NULL; void sim_heat(void) { - int x, y, l, r, u, d; + int x, y; static int a = 0; short *src, *dst; register int fl = heat_flow; @@ -546,7 +560,6 @@ sim_heat(void) } } - void sim_timeout_loop(short doSim) { @@ -557,6 +570,7 @@ sim_timeout_loop(short doSim) } +void sim_loop(int doSim) { #ifdef CAM @@ -614,11 +628,12 @@ int main(int argc, char *argv[]) { int c, errflg = 0; - extern int isatty(); + extern int isatty(int); printf("Welcome to X11 Multi Player Micropolis version %s by Will Wright, Don Hopkins.\n", MicropolisVersion); printf("Copyright (C) 2002 by Electronic Arts, Maxis. All rights reserved.\n"); + printf("Support for newer Unix systems and new bugs added by Michael Gernoth.\n"); while (!errflg && !tkMustExit &&