X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=bffb16052eab5ce67593c85d8296d430d0bd57ed;hb=d9479668b752772803e523561bc544a6c7efe725;hp=fa5b9e45de312059aed05884faf00b2da6e12c91;hpb=7a8e465114815815796c2ebbe5f2e018a9265a3f;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index fa5b9e45..bffb1605 100644 --- a/src/files.c +++ b/src/files.c @@ -2814,8 +2814,9 @@ static int LoadLevel_CUS3(File *file, int chunk_size, struct LevelInfo *level) for (x = 0; x < 3; x++) ei->content.e[x][y] = getMappedElement(getFile16BitBE(file)); + // bits 0 - 31 of "has_event[]" event_bits = getFile32BitBE(file); - for (j = 0; j < NUM_CHANGE_EVENTS; j++) + for (j = 0; j < MIN(NUM_CHANGE_EVENTS, 32); j++) if (event_bits & (1 << j)) ei->change->has_event[j] = TRUE; @@ -10085,6 +10086,10 @@ static struct TokenInfo server_setup_tokens[] = TYPE_STRING, &setup.player_uuid, "player_uuid" }, + { + TYPE_INTEGER, + &setup.player_version, "player_version" + }, { TYPE_SWITCH, &setup.use_api_server, TEST_PREFIX "use_api_server" @@ -10209,6 +10214,10 @@ static struct TokenInfo editor_cascade_setup_tokens[] = TYPE_SWITCH, &setup.editor_cascade.el_ge, "editor.cascade.el_ge" }, + { + TYPE_SWITCH, + &setup.editor_cascade.el_es, "editor.cascade.el_es" + }, { TYPE_SWITCH, &setup.editor_cascade.el_ref, "editor.cascade.el_ref" @@ -10913,6 +10922,7 @@ static void setSetupInfoToDefaults_AutoSetup(struct SetupInfo *si) static void setSetupInfoToDefaults_ServerSetup(struct SetupInfo *si) { si->player_uuid = NULL; // (will be set later) + si->player_version = 1; // (will be set later) si->use_api_server = TRUE; si->api_server_hostname = getStringCopy(API_SERVER_HOSTNAME); @@ -10942,6 +10952,7 @@ static void setSetupInfoToDefaults_EditorCascade(struct SetupInfo *si) si->editor_cascade.el_steel_chars = FALSE; si->editor_cascade.el_ce = FALSE; si->editor_cascade.el_ge = FALSE; + si->editor_cascade.el_es = FALSE; si->editor_cascade.el_ref = FALSE; si->editor_cascade.el_user = FALSE; si->editor_cascade.el_dynamic = FALSE; @@ -11275,6 +11286,7 @@ void LoadSetup_ServerSetup(void) { // player UUID does not yet exist in setup file setup.player_uuid = getStringCopy(getUUID()); + setup.player_version = 2; SaveSetup_ServerSetup(); } @@ -11972,6 +11984,7 @@ int get_parameter_value(char *value_raw, char *suffix, int type) string_has_parameter(value, "pingpong") ? ANIM_PINGPONG : string_has_parameter(value, "pingpong2") ? ANIM_PINGPONG2 : string_has_parameter(value, "random") ? ANIM_RANDOM : + string_has_parameter(value, "random_static") ? ANIM_RANDOM_STATIC : string_has_parameter(value, "ce_value") ? ANIM_CE_VALUE : string_has_parameter(value, "ce_score") ? ANIM_CE_SCORE : string_has_parameter(value, "ce_delay") ? ANIM_CE_DELAY : @@ -11979,6 +11992,7 @@ int get_parameter_value(char *value_raw, char *suffix, int type) string_has_parameter(value, "vertical") ? ANIM_VERTICAL : string_has_parameter(value, "centered") ? ANIM_CENTERED : string_has_parameter(value, "all") ? ANIM_ALL : + string_has_parameter(value, "tiled") ? ANIM_TILED : ANIM_DEFAULT); if (string_has_parameter(value, "once"))