X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=3be57faf78ea796d4bd4e638bd56b4bd72f2f829;hb=bb0b4d6b538a625aaa98a25190891ef1fb766168;hp=19a649b91a522ee1288c9ea2f0e199fe00726ba9;hpb=119c080134473a08d0abaae1a7a11b85c3f1e427;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 19a649b9..3be57faf 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -939,7 +939,6 @@ void GetOptions(int argc, char *argv[], rw_base_path = getProgramMainDataPath(); /* initialize global program options */ - options.display_name = NULL; options.server_host = NULL; options.server_port = 0; @@ -1010,15 +1009,6 @@ void GetOptions(int argc, char *argv[], exit(0); } - else if (strncmp(option, "-display", option_len) == 0) - { - if (option_arg == NULL) - Error(ERR_EXIT_HELP, "option '%s' requires an argument", option_str); - - options.display_name = option_arg; - if (option_arg == next_option) - options_left++; - } else if (strncmp(option, "-basepath", option_len) == 0) { if (option_arg == NULL) @@ -2705,6 +2695,9 @@ int get_parameter_value(char *value_raw, char *suffix, int type) string_has_parameter(value, "all") ? ANIM_ALL : ANIM_DEFAULT); + if (string_has_parameter(value, "once")) + result |= ANIM_ONCE; + if (string_has_parameter(value, "reverse")) result |= ANIM_REVERSE; @@ -2716,7 +2709,8 @@ int get_parameter_value(char *value_raw, char *suffix, int type) } else if (strEqual(suffix, ".class")) { - result = get_hash_from_key(value); + result = (strEqual(value, ARG_UNDEFINED) ? ARG_UNDEFINED_VALUE : + get_hash_from_key(value)); } else if (strEqual(suffix, ".style")) { @@ -2754,48 +2748,6 @@ int get_parameter_value(char *value_raw, char *suffix, int type) return result; } -struct ScreenModeInfo *get_screen_mode_from_string(char *screen_mode_string) -{ - static struct ScreenModeInfo screen_mode; - char *screen_mode_string_x = strchr(screen_mode_string, 'x'); - char *screen_mode_string_copy; - char *screen_mode_string_pos_w; - char *screen_mode_string_pos_h; - - if (screen_mode_string_x == NULL) /* invalid screen mode format */ - return NULL; - - screen_mode_string_copy = getStringCopy(screen_mode_string); - - screen_mode_string_pos_w = screen_mode_string_copy; - screen_mode_string_pos_h = strchr(screen_mode_string_copy, 'x'); - *screen_mode_string_pos_h++ = '\0'; - - screen_mode.width = atoi(screen_mode_string_pos_w); - screen_mode.height = atoi(screen_mode_string_pos_h); - - return &screen_mode; -} - -void get_aspect_ratio_from_screen_mode(struct ScreenModeInfo *screen_mode, - int *x, int *y) -{ - float aspect_ratio = (float)screen_mode->width / (float)screen_mode->height; - float aspect_ratio_new; - int i = 1; - - do - { - *x = i * aspect_ratio + 0.000001; - *y = i; - - aspect_ratio_new = (float)*x / (float)*y; - - i++; - } - while (aspect_ratio_new != aspect_ratio && *y < screen_mode->height); -} - static void FreeCustomArtworkList(struct ArtworkListInfo *, struct ListNodeInfo ***, int *);