diff --git a/src/g_game.c b/src/g_game.c index 2f86dc500..14748a158 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4878,7 +4878,16 @@ void G_LoadGameData(void) gamedata->pendingkeyrounds = READUINT32(save.p); gamedata->pendingkeyroundoffset = READUINT8(save.p); - gamedata->keyspending = READUINT8(save.p); + + if (versionMinor < 3) + { + gamedata->keyspending = READUINT8(save.p); + } + else + { + gamedata->keyspending = READUINT16(save.p); + } + gamedata->chaokeys = READUINT16(save.p); gamedata->everloadedaddon = (boolean)READUINT8(save.p); @@ -5277,7 +5286,7 @@ void G_SaveGameData(void) length = (4+1+1+ 4+4+ (4*GDGT_MAX)+ - 4+1+1+2+ + 4+1+2+2+ 1+1+1+ 4+ (MAXEMBLEMS+(MAXUNLOCKABLES*2)+MAXCONDITIONSETS)+ @@ -5412,7 +5421,7 @@ void G_SaveGameData(void) WRITEUINT32(save.p, gamedata->pendingkeyrounds); // 4 WRITEUINT8(save.p, gamedata->pendingkeyroundoffset); // 1 - WRITEUINT8(save.p, gamedata->keyspending); // 1 + WRITEUINT16(save.p, gamedata->keyspending); // 2 WRITEUINT16(save.p, gamedata->chaokeys); // 2 WRITEUINT8(save.p, gamedata->everloadedaddon); // 1 diff --git a/src/m_cond.h b/src/m_cond.h index 08b3e28e0..fb96a14b7 100644 --- a/src/m_cond.h +++ b/src/m_cond.h @@ -273,7 +273,7 @@ struct gamedata_t // Chao Key condition bypass UINT32 pendingkeyrounds; UINT8 pendingkeyroundoffset; - UINT8 keyspending; + UINT16 keyspending; UINT16 chaokeys; // SPECIFIC SPECIAL EVENTS