diff --git a/source/duke3d/src/game.cpp b/source/duke3d/src/game.cpp index cbb4fca86..ad020799a 100644 --- a/source/duke3d/src/game.cpp +++ b/source/duke3d/src/game.cpp @@ -192,6 +192,7 @@ enum gametokens T_NAME, T_LOCKED, T_HIDDEN, + T_USERCONTENT, }; void G_HandleSpecialKeys(void) @@ -5337,6 +5338,7 @@ static int parsedefinitions_game(scriptfile *pScript, int firstPass) { "locked", T_LOCKED }, { "hidden", T_HIDDEN }, { "choice", T_CHOICE }, + { "usercontent", T_USERCONTENT }, }; static const tokenlist newGameSubchoiceTokens[] = { @@ -5696,6 +5698,11 @@ static int parsedefinitions_game(scriptfile *pScript, int firstPass) entry.flags |= MGE_Hidden; break; } + case T_USERCONTENT: + { + entry.flags |= MGE_UserContent; + break; + } } } diff --git a/source/duke3d/src/menus.cpp b/source/duke3d/src/menus.cpp index eb54ef7d4..a8c9bd943 100644 --- a/source/duke3d/src/menus.cpp +++ b/source/duke3d/src/menus.cpp @@ -1788,7 +1788,9 @@ void Menu_Init(void) ++s; } - if (s == 0) + if (entry.flags & MGE_UserContent) + e_meo.linkID = MENU_USERMAP; + else if (s == 0) e_meo.linkID = MENU_SKILL; ++e; diff --git a/source/duke3d/src/menus.h b/source/duke3d/src/menus.h index dad40e37c..66c38a16f 100644 --- a/source/duke3d/src/menus.h +++ b/source/duke3d/src/menus.h @@ -504,6 +504,7 @@ enum MenuGameplayEntryFlags { MGE_Locked = 1u<<0u, MGE_Hidden = 1u<<1u, + MGE_UserContent = 1u<<2u, }; typedef struct MenuGameplayEntry