X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=d57b503061e83e0aac175d7e350cd6fb32b5423f;hb=8996c42ebfda1439fbf40a6a4c13129f760ecf2d;hp=d31ed248b7d4c9322da95812042ab6fcf14716d0;hpb=3e10387c490e2db8997d6e909d7d13d71fe876e3;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index d31ed248..d57b5030 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -2806,6 +2806,25 @@ int get_anim_parameter_value(char *s) return result; } +int get_anim_action_parameter_value(char *token) +{ + int result = getImageIDFromToken(token); + + if (result == -1) + { + char *gfx_token = getStringCat2("gfx.", token); + + result = getImageIDFromToken(gfx_token); + + checked_free(gfx_token); + } + + if (result == -1) + result = ANIM_EVENT_ACTION_NONE; + + return result; +} + int get_parameter_value(char *value_raw, char *suffix, int type) { char *value = getStringToLower(value_raw); @@ -2887,6 +2906,11 @@ int get_parameter_value(char *value_raw, char *suffix, int type) // add optional "click:anim_X" or "click:anim_X.part_X" parameter result |= get_anim_parameter_value(value); } + else if (strEqual(suffix, ".init_event_action") || + strEqual(suffix, ".anim_event_action")) + { + result = get_anim_action_parameter_value(value); + } else if (strEqual(suffix, ".class")) { result = (strEqual(value, ARG_UNDEFINED) ? ARG_UNDEFINED_VALUE :