X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmisc.c;h=1ca457c90d8c68abafdced7011cc1cba291efd23;hb=1cacebfb41c20889c904155001a5b88ace962348;hp=e412be85952f6febbb39cba65c5311b400dfc850;hpb=2fe0fbc2a34fd4b50081f1829931dea3ca2c4c1c;p=rocksndiamonds.git diff --git a/src/misc.c b/src/misc.c index e412be85..1ca457c9 100644 --- a/src/misc.c +++ b/src/misc.c @@ -233,6 +233,7 @@ void GetOptions(char *argv[]) "Options:\n" " -d, --display machine:0 X server display\n" " -l, --levels directory alternative level directory\n" + " -s, --serveronly only start network server\n" " -n, --network network multiplayer game\n" " -v, --verbose verbose mode\n", program_name); @@ -260,6 +261,18 @@ void GetOptions(char *argv[]) printf("--levels == '%s'\n", level_directory); } + else if (strncmp(option, "-network", option_len) == 0) + { + printf("--network\n"); + + standalone = FALSE; + } + else if (strncmp(option, "-serveronly", option_len) == 0) + { + printf("--serveronly\n"); + + serveronly = TRUE; + } else if (strncmp(option, "-verbose", option_len) == 0) { printf("--verbose\n"); @@ -356,3 +369,16 @@ void Error(int mode, char *format_str, ...) CloseAllAndExit(1); } } + +/* like memcpy, but guaranteed to handle overlap when s <= t */ +void copydown(char *s, char *t, int n) +{ + for (; n; n--) + *(s++) = *(t++); +} + +void fatal(char *s) +{ + fprintf(stderr, "%s.\n", s); + exit(1); +}