diff --git a/src/g_inventory/a_keys.cpp b/src/g_inventory/a_keys.cpp index f123e048c..817340579 100644 --- a/src/g_inventory/a_keys.cpp +++ b/src/g_inventory/a_keys.cpp @@ -229,7 +229,7 @@ static void PrintMessage (const char *str) // //=========================================================================== -static void ParseLock(FScanner &sc) +static void ParseLock(FScanner &sc, int ¤tnumber) { int i,r,g,b; int keynum; @@ -246,7 +246,6 @@ static void ParseLock(FScanner &sc) sc.MustGetStringName("{"); } - int currentnumber = 0; if (keynum == 0 || keynum < -1) { sc.ScriptError("Lock index %d out of range", keynum); @@ -418,7 +417,7 @@ static void CreateSortedKeyList() void P_InitKeyMessages() { - int lastlump, lump; + int lastlump, lump, currentnumber = 0; lastlump = 0; @@ -430,12 +429,13 @@ void P_InitKeyMessages() { if (sc.Compare("LOCK")) { - ParseLock(sc); + ParseLock(sc, currentnumber); } else if (sc.Compare("CLEARLOCKS")) { // clear all existing lock definitions and key numbers ClearLocks(); + currentnumber = 0; } else {