Skip to content

Commit b880731

Browse files
fix G_GetNamedComplevel() not actually returning (but setting) gameversion
1 parent 982c75a commit b880731

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src/g_compatibility.c

+6-10
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ typedef struct
7878
{
7979
md5_digest_t checksum;
8080
option_t *options;
81-
demo_version_t complevel;
81+
char *complevel;
8282
} comp_record_t;
8383

8484
static comp_record_t *comp_database;
@@ -128,15 +128,11 @@ void G_ParseCompDatabase(void)
128128
continue;
129129
}
130130

131-
record.complevel = DV_MBF21;
131+
record.complevel = NULL;
132132
const char *complevel = JS_GetStringValue(level, "complevel");
133133
if (complevel)
134134
{
135-
demo_version_t new_complevel = G_GetNamedComplevel(complevel);
136-
if (new_complevel != DV_NONE)
137-
{
138-
record.complevel = new_complevel;
139-
}
135+
record.complevel = M_StringDuplicate(complevel);
140136
}
141137

142138
json_t *js_options = JS_GetObject(level, "options");
@@ -230,10 +226,10 @@ void G_ApplyLevelCompatibility(int lump)
230226
memcpy(old_comp, comp, sizeof(*comp));
231227
restore_comp = true;
232228

233-
demo_version_t new_demover = record->complevel;
234-
if (new_demover != DV_MBF21)
229+
char *new_demover = record->complevel;
230+
if (new_demover)
235231
{
236-
demo_version = new_demover;
232+
demo_version = G_GetNamedComplevel(new_demover);
237233
G_ReloadDefaults(true);
238234
I_Printf(VB_INFO, "Automatically setting compatibility level \"%s\"",
239235
G_GetCurrentComplevelName());

0 commit comments

Comments
 (0)