int getFileVersion(File *file)
{
+ int version_super = getByteFromFile(file);
int version_major = getByteFromFile(file);
int version_minor = getByteFromFile(file);
int version_patch = getByteFromFile(file);
- int version_build = getByteFromFile(file);
- return VERSION_IDENT(version_major, version_minor, version_patch,
- version_build);
+ return VERSION_IDENT(version_super, version_major, version_minor,
+ version_patch);
}
int putFileVersion(FILE *file, int version)
{
if (file != NULL)
{
+ int version_super = VERSION_SUPER(version);
int version_major = VERSION_MAJOR(version);
int version_minor = VERSION_MINOR(version);
int version_patch = VERSION_PATCH(version);
- int version_build = VERSION_BUILD(version);
+ fputc(version_super, file);
fputc(version_major, file);
fputc(version_minor, file);
fputc(version_patch, file);
- fputc(version_build, file);
}
return 4;
char *name;
} translate_key[] =
{
+ /* return and escape keys */
+ { KSYM_Return, "XK_Return", "return" },
+ { KSYM_Escape, "XK_Escape", "escape" },
+
/* normal cursor keys */
{ KSYM_Left, "XK_Left", "cursor left" },
{ KSYM_Right, "XK_Right", "cursor right" },
return result;
}
+int get_player_nr_from_string(char *s)
+{
+ static char *player_text[] =
+ {
+ "player_1",
+ "player_2",
+ "player_3",
+ "player_4",
+
+ NULL
+ };
+
+ char *s_lower = getStringToLower(s);
+ int result = 0;
+ int i;
+
+ for (i = 0; player_text[i] != NULL; i++)
+ if (strEqual(s_lower, player_text[i]))
+ result = i;
+
+ free(s_lower);
+
+ return result;
+}
+
/* ------------------------------------------------------------------------- */
/* functions for generic lists */
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)
+ {
+ Key key = getKeyFromX11KeyName(token);
+
+ if (key != KSYM_UNDEFINED)
+ result = -(int)key;
+ }
+
+ 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);
// 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_raw);
+ }
else if (strEqual(suffix, ".class"))
{
result = (strEqual(value, ARG_UNDEFINED) ? ARG_UNDEFINED_VALUE :
if (string_has_parameter(value, "reverse"))
result |= STYLE_REVERSE;
+
+ if (string_has_parameter(value, "passthrough_clicks"))
+ result |= STYLE_PASSTHROUGH;
+
+ if (string_has_parameter(value, "multiple_actions"))
+ result |= STYLE_MULTIPLE_ACTIONS;
}
else if (strEqual(suffix, ".fade_mode"))
{