Skip to content
Permalink
Browse files

Merge remote-tracking branch 'origin/master' into vulkan2

  • Loading branch information...
madame-rachelle committed Apr 15, 2019
2 parents 06222a1 + a8c4740 commit 73efe707ac8030820655a3e0de07cb0b60de64fd
Showing with 1,085 additions and 54 deletions.
  1. +1 −3 src/d_iwad.cpp
  2. +1 −1 src/d_main.cpp
  3. +0 −6 src/d_netinfo.cpp
  4. +1 −2 src/d_player.h
  5. +0 −9 src/gamedata/fonts/v_font.cpp
  6. +2 −0 src/gamedata/g_mapinfo.cpp
  7. +0 −2 src/gamedata/gi.h
  8. +9 −11 src/gamedata/w_wad.cpp
  9. +2 −2 src/gamedata/w_wad.h
  10. +4 −1 src/menu/menu.cpp
  11. +91 −0 src/menu/menudef.cpp
  12. +3 −2 src/menu/playermenu.cpp
  13. +1 −0 src/p_user.cpp
  14. +4 −0 src/utility/namedef.h
  15. +3 −1 wadsrc/static/iwadinfo.txt
  16. +53 −1 wadsrc/static/menudef.txt
  17. +1 −0 wadsrc/static/zscript.txt
  18. +2 −0 wadsrc/static/zscript/ui/menu/menu.zs
  19. +556 −0 wadsrc/static/zscript/ui/menu/newplayermenu.zs
  20. +7 −2 wadsrc/static/zscript/ui/menu/optionmenu.zs
  21. +66 −1 wadsrc/static/zscript/ui/menu/playerdisplay.zs
  22. +10 −10 wadsrc/static/zscript/ui/menu/playermenu.zs
  23. +268 −0 wadsrc_extra/static/filter/chex.chex3/language.csv
  24. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/002D.lmp
  25. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0410.lmp
  26. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0411.lmp
  27. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0412.lmp
  28. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0413.lmp
  29. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0414.lmp
  30. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0415.lmp
  31. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0416.lmp
  32. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0417.lmp
  33. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0418.lmp
  34. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0419.lmp
  35. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041A.lmp
  36. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041B.lmp
  37. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041C.lmp
  38. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041D.lmp
  39. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041E.lmp
  40. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/041F.lmp
  41. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0420.lmp
  42. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0421.lmp
  43. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0422.lmp
  44. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0423.lmp
  45. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0424.lmp
  46. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0425.lmp
  47. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0426.lmp
  48. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0427.lmp
  49. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0428.lmp
  50. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/0429.lmp
  51. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042A.lmp
  52. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042B.lmp
  53. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042C.lmp
  54. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042D.lmp
  55. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042E.lmp
  56. BIN wadsrc_extra/static/filter/game-chex/fonts/bigfont/042F.lmp
  57. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/00C6.lmp
  58. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/00D0.lmp
  59. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/00D8.lmp
  60. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/00DD.lmp
  61. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/00DE.lmp
  62. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0100.lmp
  63. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0102.lmp
  64. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0104.lmp
  65. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0106.lmp
  66. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0108.lmp
  67. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/010C.lmp
  68. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/010E.lmp
  69. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0112.lmp
  70. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0114.lmp
  71. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0118.lmp
  72. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/011A.lmp
  73. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/011C.lmp
  74. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0124.lmp
  75. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0134.lmp
  76. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0141.lmp
  77. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0143.lmp
  78. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0147.lmp
  79. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0154.lmp
  80. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0158.lmp
  81. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/015A.lmp
  82. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/015C.lmp
  83. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/015E.lmp
  84. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0160.lmp
  85. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0162.lmp
  86. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/016C.lmp
  87. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/016E.lmp
  88. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0179.lmp
  89. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/017B.lmp
  90. BIN wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/017D.lmp
  91. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C6.lmp
  92. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D0.lmp
  93. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D8.lmp
  94. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DD.lmp
  95. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DE.lmp
  96. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0100.lmp
  97. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0102.lmp
  98. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0104.lmp
  99. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0106.lmp
  100. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/010C.lmp
  101. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/010E.lmp
  102. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0110.lmp
  103. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0112.lmp
  104. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0114.lmp
  105. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0118.lmp
  106. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/011A.lmp
  107. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0141.lmp
  108. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0143.lmp
  109. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0147.lmp
  110. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0154.lmp
  111. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0158.lmp
  112. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/015A.lmp
  113. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/015E.lmp
  114. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0160.lmp
  115. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0162.lmp
  116. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/016E.lmp
  117. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0179.lmp
  118. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/017B.lmp
  119. BIN wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/017D.lmp
@@ -132,9 +132,7 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize,
do
{
sc.MustGetString();
if(sc.Compare("NoTextcolor")) iwad->flags |= GI_NOTEXTCOLOR;
else if (sc.Compare("NoBigFont")) iwad->flags |= GI_IGNOREBIGFONTLUMP;
else if(sc.Compare("Poly1")) iwad->flags |= GI_COMPATPOLY1;
if(sc.Compare("Poly1")) iwad->flags |= GI_COMPATPOLY1;
else if(sc.Compare("Poly2")) iwad->flags |= GI_COMPATPOLY2;
else if(sc.Compare("Shareware")) iwad->flags |= GI_SHAREWARE;
else if(sc.Compare("Teaser2")) iwad->flags |= GI_TEASER2;
@@ -2388,7 +2388,7 @@ void D_DoomMain (void)
}

if (!batchrun) Printf ("W_Init: Init WADfiles.\n");
Wads.InitMultipleFiles (allwads);
Wads.InitMultipleFiles (allwads, iwad_info->DeleteLumps);
allwads.Clear();
allwads.ShrinkToFit();
SetMapxxFlag();
@@ -489,12 +489,6 @@ int userinfo_t::PlayerClassChanged(const char *classname)
return classnum;
}

int userinfo_t::PlayerClassNumChanged(int classnum)
{
*static_cast<FIntCVar *>((*this)[NAME_PlayerClass]) = classnum;
return classnum;
}

int userinfo_t::ColorSetChanged(int setnum)
{
*static_cast<FIntCVar *>((*this)[NAME_ColorSet]) = setnum;
@@ -264,8 +264,7 @@ struct userinfo_t : TMap<FName,FBaseCVar *>
int SkinNumChanged(int skinnum);
int GenderChanged(const char *gendername);
int PlayerClassChanged(const char *classname);
int PlayerClassNumChanged(int classnum);
uint32_t ColorChanged(const char *colorname);
uint32_t ColorChanged(const char *colorname);
uint32_t ColorChanged(uint32_t colorval);
int ColorSetChanged(int setnum);
};
@@ -1169,15 +1169,6 @@ void V_InitFontColors ()

while ((lump = Wads.FindLump ("TEXTCOLO", &lastlump)) != -1)
{
if (gameinfo.flags & GI_NOTEXTCOLOR)
{
// Chex3 contains a bad TEXTCOLO lump, probably to force all text to be green.
// This renders the Gray, Gold, Red and Yellow color range inoperable, some of
// which are used by the menu. So we have no choice but to skip this lump so that
// all colors work properly.
// The text colors should be the end user's choice anyway.
if (Wads.GetLumpFile(lump) == Wads.GetIwadNum()) continue;
}
FScanner sc(lump);
while (sc.GetString())
{
@@ -2059,6 +2059,8 @@ void FMapInfoParser::ParseEpisodeInfo ()
ParseAssign();
sc.MustGetString ();
pic = sc.String;
// If no name has been specified, synthesize a string table reference with the same name as the patch.
if (name.IsEmpty()) name.Format("$%s", sc.String);
}
else if (sc.Compare ("remove"))
{
@@ -48,9 +48,7 @@ enum
GI_COMPATSTAIRS = 0x00000020, // same for stairbuilding
GI_COMPATPOLY1 = 0x00000040, // Hexen's MAP36 needs old polyobject drawing
GI_COMPATPOLY2 = 0x00000080, // so does HEXDD's MAP47
GI_NOTEXTCOLOR = 0x00000100, // Chex Quest 3 would have everything green
GI_IGNORETITLEPATCHES = 0x00000200, // Ignore the map name graphics when not runnning in English language
GI_IGNOREBIGFONTLUMP = 0x00000400, // Needed for Chex Quest 3, so that the extended internal font can be used instead.
};

#include "gametype.h"
@@ -134,7 +134,7 @@ void FWadCollection::DeleteAll ()
//
//==========================================================================

void FWadCollection::InitMultipleFiles (TArray<FString> &filenames)
void FWadCollection::InitMultipleFiles (TArray<FString> &filenames, const TArray<FString> &deletelumps)
{
int numfiles;

@@ -154,7 +154,7 @@ void FWadCollection::InitMultipleFiles (TArray<FString> &filenames)
I_FatalError ("W_InitMultipleFiles: no files found");
}
RenameNerve();
RenameSprites();
RenameSprites(deletelumps);
FixMacHexen();

// [RH] Set up hash table
@@ -755,7 +755,7 @@ void FWadCollection::InitHashChains (void)
//
//==========================================================================

void FWadCollection::RenameSprites ()
void FWadCollection::RenameSprites (const TArray<FString> &deletelumps)
{
bool renameAll;
bool MNTRZfound = false;
@@ -894,16 +894,14 @@ void FWadCollection::RenameSprites ()
}
else if (LumpInfo[i].lump->Namespace == ns_global)
{
if (LumpInfo[i].wadnum == GetIwadNum() && deletelumps.Find(LumpInfo[i].lump->Name) < deletelumps.Size())
{
LumpInfo[i].lump->Name[0] = 0; // Lump must be deleted from directory.
}
// Rename the game specific big font lumps so that the font manager does not have to do problematic special checks for them.
if (!strcmp(LumpInfo[i].lump->Name, altbigfont))
strcpy(LumpInfo[i].lump->Name, "BIGFONT");

if (LumpInfo[i].wadnum == GetIwadNum() && gameinfo.flags & GI_IGNOREBIGFONTLUMP)
else if (!strcmp(LumpInfo[i].lump->Name, altbigfont))
{
if (!strcmp(LumpInfo[i].lump->Name, "BIGFONT"))
{
LumpInfo[i].lump->Name[0] = 0;
}
strcpy(LumpInfo[i].lump->Name, "BIGFONT");
}
}
}
@@ -117,7 +117,7 @@ class FWadCollection
int GetIwadNum() { return IwadIndex; }
void SetIwadNum(int x) { IwadIndex = x; }

void InitMultipleFiles (TArray<FString> &filenames);
void InitMultipleFiles (TArray<FString> &filenames, const TArray<FString> &deletelumps);
void AddFile (const char *filename, FileReader *wadinfo = NULL);
int CheckIfWadLoaded (const char *name);

@@ -213,7 +213,7 @@ class FWadCollection
void InitHashChains (); // [RH] Set up the lumpinfo hashing

private:
void RenameSprites();
void RenameSprites(const TArray<FString> &deletelumps);
void RenameNerve();
void FixMacHexen();
void DeleteAll();
@@ -66,7 +66,6 @@ CVAR (Bool, show_obituaries, true, CVAR_ARCHIVE)
CVAR (Int, m_showinputgrid, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
CVAR(Bool, m_blockcontrollers, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)


CVAR (Float, snd_menuvolume, 0.6f, CVAR_ARCHIVE)
CVAR(Int, m_use_mouse, 2, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
CVAR(Int, m_show_backbutton, 0, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
@@ -518,6 +517,10 @@ void M_SetMenu(FName menu, int param)
void ActivateEndGameMenu();
ActivateEndGameMenu();
return;

case NAME_Playermenu:
menu = NAME_NewPlayerMenu; // redirect the old player menu to the new one.
break;
}

// End of special checks
@@ -48,6 +48,8 @@
#include "i_system.h"
#include "v_video.h"
#include "gstrings.h"
#include "teaminfo.h"
#include "r_data/sprites.h"


void ClearSaveGames();
@@ -1543,6 +1545,95 @@ void M_CreateMenus()
{
I_BuildALResamplersList(*opt);
}
opt = OptionValues.CheckKey(NAME_PlayerTeam);
if (opt != nullptr)
{
auto op = *opt;
op->mValues.Resize(Teams.Size() + 1);
op->mValues[0].Value = 0;
op->mValues[0].Text = "$OPTVAL_NONE";
for (unsigned i = 0; i < Teams.Size(); i++)
{
op->mValues[i+1].Value = i+1;
op->mValues[i+1].Text = Teams[i].GetName();
}
}
opt = OptionValues.CheckKey(NAME_PlayerClass);
if (opt != nullptr)
{
auto op = *opt;
int o = 0;
if (!gameinfo.norandomplayerclass && PlayerClasses.Size() > 1)
{
op->mValues.Resize(PlayerClasses.Size()+1);
op->mValues[0].Value = -1;
op->mValues[0].Text = "$MNU_RANDOM";
o = 1;
}
else op->mValues.Resize(PlayerClasses.Size());
for (unsigned i = 0; i < PlayerClasses.Size(); i++)
{
op->mValues[i+o].Value = i;
op->mValues[i+o].Text = GetPrintableDisplayName(PlayerClasses[i].Type);
}
}
}


DEFINE_ACTION_FUNCTION(DMenu, UpdateColorsets)
{
PARAM_PROLOGUE;
PARAM_POINTER(playerClass, FPlayerClass);

TArray<int> PlayerColorSets;

EnumColorSets(playerClass->Type, &PlayerColorSets);

auto opt = OptionValues.CheckKey(NAME_PlayerColors);
if (opt != nullptr)
{
auto op = *opt;
op->mValues.Resize(PlayerColorSets.Size() + 1);
op->mValues[0].Value = -1;
op->mValues[0].Text = "$OPTVAL_CUSTOM";
for (unsigned i = 0; i < PlayerColorSets.Size(); i++)
{
auto cset = GetColorSet(playerClass->Type, PlayerColorSets[i]);
op->mValues[i + 1].Value = PlayerColorSets[i];
op->mValues[i + 1].Text = cset? cset->Name.GetChars() : "?"; // The null case should never happen here.
}
}
return 0;
}

DEFINE_ACTION_FUNCTION(DMenu, UpdateSkinOptions)
{
PARAM_PROLOGUE;
PARAM_POINTER(playerClass, FPlayerClass);

auto opt = OptionValues.CheckKey(NAME_PlayerSkin);
if (opt != nullptr)
{
auto op = *opt;

if ((GetDefaultByType(playerClass->Type)->flags4 & MF4_NOSKIN) || players[consoleplayer].userinfo.GetPlayerClassNum() == -1)
{
op->mValues.Resize(1);
op->mValues[0].Value = -1;
op->mValues[0].Text = "$OPTVAL_DEFAULT";
}
else
{
op->mValues.Clear();
for (unsigned i = 0; i < Skins.Size(); i++)
{
op->mValues.Reserve(1);
op->mValues.Last().Value = i;
op->mValues.Last().Text = Skins[i].Name;
}
}
}
return 0;
}

//=============================================================================
@@ -133,8 +133,9 @@ DEFINE_ACTION_FUNCTION(DPlayerMenu, ClassChanged)
PARAM_POINTER(cls, FPlayerClass);
if (DMenu::InMenu)
{
players[consoleplayer].userinfo.PlayerClassNumChanged(gameinfo.norandomplayerclass ? sel : sel - 1);
cvar_set("playerclass", sel == 0 && !gameinfo.norandomplayerclass ? "Random" : GetPrintableDisplayName(cls->Type).GetChars());
const char *pclass = sel == -1 ? "Random" : GetPrintableDisplayName(cls->Type).GetChars();
players[consoleplayer].userinfo.PlayerClassChanged(pclass);
cvar_set("playerclass", pclass);
}
return 0;
}
@@ -1380,6 +1380,7 @@ void P_PredictPlayer (player_t *player)

act->flags &= ~MF_PICKUP;
act->flags2 &= ~MF2_PUSHWALL;
act->renderflags &= ~RF_NOINTERPOLATEVIEW;
player->cheats |= CF_PREDICTING;

BackupNodeList(act, act->touching_sectorlist, &sector_t::touching_thinglist, PredictionTouchingSectors_sprev_Backup, PredictionTouchingSectorsBackup);
@@ -1083,3 +1083,7 @@ xx(MapMarker)
xx(Spawn2)
xx(LevelLocals)
xx(Level)
xx(PlayerTeam)
xx(PlayerColors)
xx(PlayerSkin)
xx(NewPlayerMenu)
@@ -105,9 +105,10 @@ IWad
Config = "Chex"
IWADName = "chex3.wad"
Mapinfo = "mapinfo/chex.txt"
Compatibility = "NoTextcolor", "NoBigFont"
MustContain = "E1M1", "CYCLA1", "FLMBA1", "MAPINFO"
BannerColors = "ff ff 00", "00 c0 00"
IgnoreTitlePatches = 1
DeleteLumps = "LANGUAGE", "TEXTCOLO", "DBIGFONT"
}

IWad
@@ -120,6 +121,7 @@ IWad
Mapinfo = "mapinfo/chex.txt"
MustContain = "E1M1", "E4M1", "W94_1", "POSSH0M0"
BannerColors = "ff ff 00", "00 c0 00"
IgnoreTitlePatches = 1
}

IWad
@@ -369,7 +369,7 @@ OptionMenu "OptionsMenu" protected
Submenu "$OPTMNU_MOUSE", "MouseOptions"
Submenu "$OPTMNU_JOYSTICK", "JoystickOptions"
StaticText " "
Submenu "$OPTMNU_PLAYER", "PlayerMenu"
Submenu "$OPTMNU_PLAYER", "NewPlayerMenu"
Submenu "$OPTMNU_GAMEPLAY", "GameplayOptions"
Submenu "$OPTMNU_COMPATIBILITY", "CompatibilityOptions"
Submenu "$OPTMNU_AUTOMAP", "AutomapOptions"
@@ -401,6 +401,58 @@ OptionValue "Gender"
3, "$OPTVAL_OTHER"
}

OptionValue "PlayerTeam"
{
// Filled in programmatically
}

OptionValue "PlayerColors"
{
// Filled in programmatically
}

OptionValue "PlayerClass"
{
// Filled in programmatically
}

OptionValue "PlayerSkin"
{
// Filled in programmatically
}

/*
IfGame(Doom, Heretic, Strife, Chex)
{
MouseWindow 0, 220
PlayerDisplay 220, 48, "20 00 00", "80 00 40", 1, "PlayerDisplay"
}
IfGame(Hexen)
{
MouseWindow 0, 220
PlayerDisplay 220, 48, "00 07 00", "40 53 40", 1, "PlayerDisplay"
}
*/

OptionMenu "NewPlayerMenu"
{
Title "$MNU_PLAYERSETUP"
PlayerNameField "$PLYRMNU_NAME"
PlayerTeamItem "$PLYRMNU_TEAM", "PlayerTeam"
PlayerColorItem "$PLYRMNU_PLAYERCOLOR", "PlayerColors"
PlayerColorSlider "$PLYRMNU_RED", 0
PlayerColorSlider "$PLYRMNU_GREEN", 1
PlayerColorSlider "$PLYRMNU_BLUE", 2
PlayerClassItem "$PLYRMNU_PLAYERCLASS", "PlayerClass"
PlayerSkinItem "$PLYRMNU_PLAYERSKIN", "PlayerSkin"
PlayerGenderItem "$PLYRMNU_PLAYERGENDER", "Gender"
AutoaimSlider "$PLYRMNU_AUTOAIM"
PlayerSwitchOnPickupItem "$PLYRMNU_SWITCHONPICKUP", "OffOn"
Option "$PLYRMNU_ALWAYSRUN", cl_run, "OnOff"
Class "NewPlayerMenu"
}

// The old player menu is kept for mods that redefine it.
ListMenu "PlayerMenu"
{
StaticTextCentered 160, 6, "$MNU_PLAYERSETUP"
@@ -246,6 +246,7 @@ version "3.8"
#include "zscript/ui/menu/messagebox.zs"
#include "zscript/ui/menu/optionmenu.zs"
#include "zscript/ui/menu/optionmenuitems.zs"
#include "zscript/ui/menu/newplayermenu.zs"
#include "zscript/ui/menu/playercontrols.zs"
#include "zscript/ui/menu/playerdisplay.zs"
#include "zscript/ui/menu/playermenu.zs"
Oops, something went wrong.

0 comments on commit 73efe70

Please sign in to comment.
You can’t perform that action at this time.