mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 19:20:46 +00:00
1734 lines
47 KiB
Text
1734 lines
47 KiB
Text
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Main Memu
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
LISTMENU "MainMenu"
|
|
{
|
|
ScriptId 0
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
ifgame(fury)
|
|
{
|
|
position 40, 130, 60
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
position 160, 55, 115
|
|
centermenu
|
|
animatedtransition
|
|
}
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
class "Duke.MainMenu"
|
|
}
|
|
else
|
|
{
|
|
class "Redneck.MainMenu"
|
|
}
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
//NativeTextItem "$MNU_NEWGAME", "m", "MultiMenu" // In EDuke this replaces "New Game" when in networking mode. Kept here as a reminder.
|
|
ifgame(fury)
|
|
{
|
|
NativeTextItem "$MNU_CONTINUE", "l", "LoadGameMenu"
|
|
}
|
|
else
|
|
{
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
}
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
NativeTextItem "$MNU_HELP", "h", "HelpMenu"
|
|
NativeTextItem "$MNU_CREDITS", "c", "CreditsMenu"
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
ifgame(Blood)
|
|
{
|
|
position 160, 45, 150
|
|
caption "Blood"
|
|
class "Blood.ListMenu"
|
|
centermenu
|
|
Linespacing 20
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
NativeTextItem "$MNU_MULTIPLAYER", "m", "MultiMenu"
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
NativeTextItem "$MNU_HELP", "h", "HelpMenu"
|
|
NativeTextItem "$MNU_CREDITS", "c", "CreditsMenu"
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
Position 55, 32
|
|
Linespacing 17
|
|
class "ShadowWarrior.MainMenu"
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
NativeTextItem "$MNU_SAVEGAME", "s", "SaveGameMenu"
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
//NativeTextItem "$MNU_COOLSTUFF", "h", "HelpMenu" // Perfectly useless retro ads. :D
|
|
ifshareware(false)
|
|
{
|
|
NativeTextItem "$MNU_CREDITS", "c", "CreditsMenu"
|
|
}
|
|
else
|
|
{
|
|
NativeTextItem "$MNU_HOWTOORDER", "h", "CreditsMenu"
|
|
}
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Ingame Memu (same as above with a few more options)
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
LISTMENU "IngameMenu"
|
|
{
|
|
ScriptId 50
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
ifgame(fury)
|
|
{
|
|
position 40, 130, 60
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
position 160, 55, 115
|
|
centermenu
|
|
animatedtransition
|
|
}
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
class "Duke.MainMenu"
|
|
}
|
|
else
|
|
{
|
|
class "Redneck.MainMenu"
|
|
}
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
NativeTextItem "$MNU_SAVEGAME", "s", "SaveGameMenu"
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
NativeTextItem "$MNU_HELP", "h", "HelpMenu"
|
|
NativeTextItem "$MNU_ENDGAME", "e", "EndgameMenu"
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
ifgame(Blood)
|
|
{
|
|
position 160, 45, 150
|
|
caption "Blood"
|
|
class "Blood.ListMenu"
|
|
centermenu
|
|
Linespacing 17
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
NativeTextItem "$MNU_SAVEGAME", "s", "SaveGameMenu"
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
NativeTextItem "$MNU_HELP", "h", "HelpMenu"
|
|
NativeTextItem "$MNU_CREDITS", "c", "CreditsMenu"
|
|
NativeTextItem "$MNU_ENDGAME", "e", "EndgameMenu"
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
Position 55, 32
|
|
Linespacing 17
|
|
class "ShadowWarrior.MainMenu"
|
|
NativeTextItem "$MNU_NEWGAME", "n", "EpisodeMenu"
|
|
NativeTextItem "$MNU_LOADGAME", "l", "LoadGameMenu"
|
|
NativeTextItem "$MNU_SAVEGAME", "s", "SaveGameMenu"
|
|
NativeTextItem "$MNU_OPTIONS", "o", "OptionsMenu"
|
|
ifshareware(false)
|
|
{
|
|
NativeTextItem "$MNU_CREDITS", "c", "CreditsMenu"
|
|
}
|
|
else
|
|
{
|
|
NativeTextItem "$MNU_HOWTOORDER", "h", "CreditsMenu"
|
|
}
|
|
NativeTextItem "$MNU_QUITGAME", "q", "QuitMenu"
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Episode and skill menu are filled in programmatically
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
LISTMENU "EpisodeMenu"
|
|
{
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides) // Ion Fury does not use this menu.
|
|
{
|
|
caption "$MNU_SELECTEPISODE"
|
|
position 160, 48, 142
|
|
centermenu
|
|
fixedspacing 5
|
|
animatedtransition
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
class "Duke.ListMenu"
|
|
}
|
|
else
|
|
{
|
|
class "Redneck.ListMenu"
|
|
}
|
|
}
|
|
ifgame(blood)
|
|
{
|
|
caption "$MNU_EPISODES"
|
|
position 160, 45, 150
|
|
class "Blood.ListMenu"
|
|
centermenu
|
|
Linespacing 20
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
caption "$MNU_EPISODES"
|
|
Position 35, 32
|
|
Linespacing 17
|
|
}
|
|
|
|
ScriptId 100
|
|
}
|
|
|
|
LISTMENU "SkillMenu"
|
|
{
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
ifgame(fury)
|
|
{
|
|
position 160, 55, 115
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
position 160, 55, 115
|
|
centermenu
|
|
animatedtransition
|
|
}
|
|
caption "$MNU_SELECTSKILL"
|
|
fixedspacing 5
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
class "Duke.ListMenu"
|
|
}
|
|
else
|
|
{
|
|
class "Redneck.ListMenu"
|
|
}
|
|
animatedtransition
|
|
}
|
|
ifgame(blood)
|
|
{
|
|
caption "$MNU_DIFFICULTY"
|
|
position 160, 60, 150
|
|
class "Blood.ListMenu"
|
|
centermenu
|
|
Linespacing 20
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
caption "$MNU_DIFFICULTY"
|
|
Position 35, 32
|
|
Linespacing 17
|
|
}
|
|
ScriptId 110
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// The custom menus are only supported by the EDuke32 frontend.
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
LISTMENU "CustomGameMenu"
|
|
{
|
|
caption "$MNU_NEWGAME"
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
ScriptId 102
|
|
class "Duke.ListMenu"
|
|
centermenu
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu1"
|
|
{
|
|
position 160, 48, 142
|
|
centermenu
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu2"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu3"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu4"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu5"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu6"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
LISTMENU "CustomSubMenu7"
|
|
{
|
|
position 160, 48, 142
|
|
ifgame(fury)
|
|
{
|
|
fixedspacing 2
|
|
}
|
|
else
|
|
{
|
|
fixedspacing 5
|
|
animatedtransition
|
|
}
|
|
centermenu
|
|
ScriptId 103
|
|
class "Duke.ListMenu"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
ImageScroller "HelpMenu"
|
|
{
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
ImageItem "TEXTSTORY", 400
|
|
ImageItem "F1HELP", 401
|
|
class "Duke.ImageScrollerMenu"
|
|
ifgame(Duke, Nam, WW2GI)
|
|
{
|
|
animatedtransition
|
|
}
|
|
}
|
|
ifgame(Redneck, RedneckRides)
|
|
{
|
|
ImageItem "TEXTSTORY"
|
|
ImageItem "F1HELP"
|
|
ifgame(RedneckRides)
|
|
{
|
|
ImageItem "RRTILE1636"
|
|
}
|
|
animatedtransition
|
|
}
|
|
ifgame(blood)
|
|
{
|
|
class "Blood.ImageScrollerMenu"
|
|
// The duplication here is to integrate the alternating versions of HELP3
|
|
QAVAnimationItem "Help4.qav"
|
|
QAVAnimationItem "Help5.qav"
|
|
QAVAnimationItem "Help3.qav"
|
|
QAVAnimationItem "Help4.qav"
|
|
QAVAnimationItem "Help5.qav"
|
|
QAVAnimationItem "Help3b.qav"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
// The menu has no default binding, but if someone tries to open it anyway show the cool retro ads that were shipped with the game. :D
|
|
ImageItem "#5262"
|
|
ifshareware(false)
|
|
{
|
|
ImageItem "#5261"
|
|
}
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Credits menu. This is logically highly game specific.
|
|
// Note that this has been split into two submenus so that the engine
|
|
// credits can be handled in a generic fashion instead of having to define
|
|
// them for each game natively.
|
|
//
|
|
// Engine credits are now in the options menu, i.e. the generic part of the menu.
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
ImageScroller "CreditsMenu"
|
|
{
|
|
ifgame(Duke, Nam, WW2GI)
|
|
{
|
|
ImageItem "CREDITSTEXT1", 990
|
|
ImageItem "CREDITSTEXT2", 991
|
|
ImageItem "CREDITSTEXT3", 992
|
|
animatedtransition
|
|
class "Duke.ImageScrollerMenu"
|
|
}
|
|
ifgame(fury)
|
|
{
|
|
// Ion Fury does not have a separate credits menu, so if someone tries to open it anyway, use the same screens as "Help" but start on the one for the credits.
|
|
ImageItem "F1HELP", 401
|
|
ImageItem "TEXTSTORY", 400
|
|
class "Duke.ImageScrollerMenu"
|
|
}
|
|
ifgame(Redneck)
|
|
{
|
|
// no point putting this into the string table.
|
|
TextItem "ORIGINAL CONCEPT, DESIGN AND DIRECTION\n\nDREW MARKHAM", 80
|
|
TextItem "PRODUCED BY\n\nGREG GOODRICH", 80
|
|
TextItem "GAME PROGRAMMING\n\nRAFAEL PAIZ", 80
|
|
TextItem "ART DIRECTORS\n\nCLAIRE PRADERIE MAXX KAUFMAN ", 80
|
|
TextItem "LEAD LEVEL DESIGNER\nALEX MAYBERRY\n\nLEVEL DESIGN\nMAL BLACKWELL\nSVERRE KVERNMO", 80
|
|
TextItem "SENIOR ANIMATOR AND ARTIST\n\nJASON HOOVER", 80
|
|
TextItem "TECHNICAL DIRECTOR\n\nBARRY DEMPSEY", 80
|
|
TextItem "MOTION CAPTURE SPECIALIST AND\nCHARACTER ANIMATION\nAMIT DORON\n\nA.I. PROGRAMMING\nARTHUR DONAVAN\n\nADDITIONAL ANIMATION\nGEORGE KARL", 60
|
|
TextItem "CHARACTER DESIGN\nCORKY LEHMKUHL\n\nMAP PAINTERS\nVIKTOR ANTONOV\nMATTHIAS BEEGUER\nSTEPHAN BURLE\n\nSCULPTORS\nGEORGE ENGEL\nJAKE GARBER\nJEFF HIMMEL", 50
|
|
TextItem "CHARACTER VOICES\n\nLEONARD\nBURTON GILLIAM\n\nBUBBA, BILLY RAY, SKINNY OL' COOT\nAND THE TURD MINION\nDREW MARKHAM\n\nSHERIFF LESTER T. HOBBES\nMOJO NIXON\n\nALIEN VIXEN\nPEGGY JO JACOBS", 40
|
|
TextItem "SOUND DESIGN\nGARY BRADFIELD\n\nMUSIC\nMOJO NIXON\nTHE BEAT FARMERS\nTHE REVEREND HORTON HEAT\nCEMENT POND\n\nADDITIONAL SOUND EFFECTS\nJIM SPURGIN", 50
|
|
TextItem "MOTION CAPTURE ACTOR\nJ.P. MANOUX\n\nMOTION CAPTURE VIXEN\nSHAWN WOLFE", 80
|
|
TextItem "PRODUCTION ASSISTANCE\nMINERVA MAYBERRY\n\nNUTS AND BOLTS\nSTEVE GOLDBERG\nMARCUS HUTCHINSON\n\nBEAN COUNTING\nMAX YOSHIKAWA\n\nADMINISTRATIVE ASSISTANCE\nSERAFIN LEWIS", 50
|
|
TextItem "LOCATION MANAGER, LOUISIANA\nRICK SKINNER\n\nLOCATION SCOUT, LOUISIANA\nBRIAN BENOS\n\nPHOTOGRAPHER\nCARLOS SERRAO", 70
|
|
TextItem "ADDITIONAL 3D MODELING BY\n3 NAME 3D\nVIEWPOINT DATALABS INTERNATIONAL\n\nAUDIO RECORDED AT\nPACIFIC OCEAN POST, SANTA MONICA, C.A.\n\nCEMENT POND TRACKS RECORDED AT\nDREAMSTATE RECORDING, BURBANK, C.A.\n\nRECORDING ENGINEER\nDAVE AHLERT", 50
|
|
TextItem "3D BUILD ENGINE LICENSED FROM\n3D REALMS ENTERTAINMENT\n\nBUILD ENGINE AND RELATED TOOLS\nCREATED BY KEN SILVERMAN", 80
|
|
TextItem "FOR INTERPLAY\n\nLEAD TESTER\nDARRELL JONES\n\nTESTERS\nTIM ANDERSON\nERICK LUJAN\nTIEN TRAN", 60
|
|
TextItem "IS TECHS\nBILL DELK\nAARON MEYERS\n\nCOMPATIBILITY TECHS\nMARC DURAN\nDAN FORSYTH\nDEREK GIBBS\nAARON OLAIZ\nJACK PARKER", 60
|
|
TextItem "DIRECTOR OF COMPATIBILITY\nPHUONG NGUYEN\n\nASSISTANT QA DIRECTOR\nCOLIN TOTMAN\n\nQA DIRECTOR\nCHAD ALLISON", 70
|
|
TextItem "INTERPLAY PRODUCER\nBILL DUGAN\n\nINTERPLAY LINE PRODUCER\nCHRIS BENSON\n\nPRODUCT MANAGER\nJIM VEEVAERT\n\nPUBLIC RELATIONS\nERIKA PRICE", 50
|
|
TextItem "SPECIAL THANKS\n\nJIM GAUER\nPAUL VAIS\nSCOTT MILLER\nTODD REPLOGLE\nCHUCK BUECHE\nCARTER LIPSCOMB\nJOHN CONLEY\nDON MAGGI", 60
|
|
TextItem "EXTRA SPECIAL THANKS\n\nBRIAN FARGO", 80
|
|
TextItem "REDNECK RAMPAGE\n(c) 1997 XATRIX ENTERTAINMENT, INC.\n\nREDNECK RAMPAGE IS A TRADEMARK OF\nINTERPLAY PRODUCTIONS", 60
|
|
animatedtransition
|
|
}
|
|
ifgame(RedneckRides)
|
|
{
|
|
TextItem "ORIGINAL CONCEPT, DESIGN AND DIRECTION\n\nDREW MARKHAM", 80
|
|
TextItem "ART DIRECTION AND ADDITIONAL DESIGN\n\nCORKY LEHMKUHL", 80
|
|
TextItem "PRODUCED BY\n\nGREG GOODRICH", 80
|
|
TextItem "GAME PROGRAMMING\n\nJOSEPH AURILI", 80
|
|
TextItem "ORIGINAL GAME PROGRAMMING\n\nRAFAEL PAIZ", 80
|
|
TextItem "LEVEL DESIGN\n\nRHETT BALDWIN & AARON BARBER", 80
|
|
TextItem "ORIGINAL ART DIRECTION AND SUPPORT\n\nMAXX KAUFMAN & CLAIRE PRADERIE-MARKHAM", 80
|
|
TextItem "COMPUTER GRAPHICS SUPERVISOR &\nCHARACTER ANIMATION DIRECTION\n\nBARRY DEMPSEY", 80
|
|
TextItem "SENIOR ANIMATOR & MODELER\n\nJASON HOOVER", 80
|
|
TextItem "CHARACTER ANIMATION &\nMOTION CAPTURE SPECIALIST\n\nAMIT DORON", 80
|
|
TextItem "SOUND DESIGN &\nMUSIC PRODUCTION COORDINATION\n\nGARY BRADFIELD", 80
|
|
TextItem "INTRODUCTION ANIMATION\n\nDOMINIQUE DROZDZ", 80
|
|
TextItem "ARTIST\n\nMATTHIAS BEEGUER", 80
|
|
TextItem "ADDITIONAL ART\n\nVIKTOR ANTONOV", 80
|
|
TextItem "PRODUCTION COORDINATOR\n\nVICTORIA SYLVESTER", 80
|
|
TextItem "CHARACTER VOICES\n\nLEONARD\nBURTON GILLIAM\n\nDAISY MAE\nTARA CHARENDOFF\n\nBUBBA, BILLY RAY, SKINNY OL' COOT,\nFRANK THE BIKER, THE TURD MINION\n& ALL OTHER VARIOUS RAMBLINGS...\nDREW MARKHAM", 40
|
|
TextItem "SPECIAL APPEARENCE BY\n\nSHERIFF LESTER T. HOBBES\nMOJO NIXON\n\nALIEN VIXEN\nPEGGY JO JACOBS", 70
|
|
TextItem "REDNECK RAMPAGE TITLE TRACK & CYBERSEX\nWRITTEN & PERFORMED BY\nMOJO NIXON\n\n(c) MUFFIN'STUFFIN' MUSIC (BMI)\nADMINISTERED BY BUG.", 70
|
|
TextItem "MUSIC\n\nDISGRACELAND\nTINY D & THE SOFA KINGS\n\nBANJO AND GUITAR PICKIN\nJOHN SCHLOCKER\nHOWARD YEARWOOD", 60
|
|
TextItem "RECORDING ENGINEER\nDAVE AHLERT\n\nRECORDING ASSISTANCE\nJEFF GILBERT", 80
|
|
TextItem "MOTION CAPTURE ACTOR\nJ.P. MANOUX\n\nMOTION CAPTURE ACTRESS\nSHAWN WOLFE", 80
|
|
TextItem "THIS GAME COULD NOT HAVE BEEN MADE WITHOUT\nALEX MAYBERRY\nMAL BLACKWELL\n\nNUTS AND BOLTS\nSTEVE GOLDBERG\n\nBEAN COUNTING\nMAX YOSHIKAWA\n\nADMINISTRATIVE ASSISTANCE\nMINERVA MAYBERRY", 50
|
|
TextItem "FOR INTERPLAY\n\nPRODUCER\nBILL DUGAN\n\nLINE PRODUCER\nCHRIS BENSON\n\nLEAD TESTER\nDARRELL JONES", 60
|
|
TextItem "TESTERS\n\nTIM ANDERSON\nPRIMO PULANCO\nMARK MCCARTY\nBRIAN AXLINE", 70
|
|
TextItem "PRODUCTION BABY\n\nPAULINE MARIE MARKHAM", 80
|
|
TextItem "ORIGINAL PRODUCTION BABY\n\nALYSON KAUFMAN", 80
|
|
TextItem "3D BUILD ENGINE LICENSED FROM\n3D REALMS ENTERTAINMENT\n\nBUILD ENGINE AND RELATED TOOLS\nCREATED BY KEN SILVERMAN", 80
|
|
TextItem "SPECIAL THANKS\n\nSCOTT MILLER\nGEORGE BROUSSARD", 80
|
|
TextItem "EXTRA SPECIAL THANKS\n\nBRIAN FARGO", 80
|
|
TextItem "REDNECK RAMPAGE RIDES AGAIN\n(c) 1998 XATRIX ENTERTAINMENT, INC.\n\nREDNECK RAMPAGE RIDES AGAIN\nIS A TRADEMARK OF\nINTERPLAY PRODUCTIONS", 70
|
|
animatedtransition
|
|
}
|
|
ifgame(blood)
|
|
{
|
|
class "Blood.ImageScrollerMenu"
|
|
QAVAnimationItem "Credits.qav"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
ifshareware(true)
|
|
{
|
|
ImageItem "#5110"
|
|
ImageItem "#5112"
|
|
}
|
|
ImageItem "#5111"
|
|
ImageItem "#5118"
|
|
ImageItem "#4979"
|
|
ImageItem "#5113"
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Base definition for load game menu. Only the configurable part is done here
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
ListMenu "LoadGameMenu"
|
|
{
|
|
Caption "$MNU_LOADGAME"
|
|
Position 0, 40
|
|
Class "LoadMenu" // uses its own implementation
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Base definition for save game menu. Only the configurable part is done here
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
ListMenu "SaveGameMenu"
|
|
{
|
|
Caption "$MNU_SAVEGAME"
|
|
Position 0, 40
|
|
Class "SaveMenu" // uses its own implementation
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// The generic options menus start here
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue "YesNo"
|
|
{
|
|
0, "$TXT_NO"
|
|
1, "$TXT_YES"
|
|
}
|
|
|
|
OptionValue "NoYes"
|
|
{
|
|
0, "$TXT_YES"
|
|
1, "$TXT_NO"
|
|
}
|
|
|
|
OptionValue "OnOff"
|
|
{
|
|
0, "$OPTVAL_OFF"
|
|
1, "$OPTVAL_ON"
|
|
}
|
|
|
|
OptionValue "OffOn"
|
|
{
|
|
0, "$OPTVAL_ON"
|
|
1, "$OPTVAL_OFF"
|
|
}
|
|
|
|
OptionValue AutoOffOn
|
|
{
|
|
-1, "$OPTVAL_AUTO"
|
|
0, "$OPTVAL_OFF"
|
|
1, "$OPTVAL_ON"
|
|
}
|
|
|
|
OptionMenuSettings
|
|
{
|
|
Linespacing 17
|
|
// todo: implement color themes that fit the games
|
|
}
|
|
|
|
DefaultOptionMenu
|
|
{
|
|
Position 85
|
|
}
|
|
|
|
OptionMenu "OptionsMenu"
|
|
{
|
|
Caption "$MNU_OPTIONS"
|
|
Submenu "$OPTMNU_CONTROLS", "CustomizeControls"
|
|
Submenu "$OPTMNU_MOUSE", "MouseOptions"
|
|
Submenu "$OPTMNU_JOYSTICK", "JoystickOptions"
|
|
StaticText " "
|
|
Submenu "$OPTMNU_PLAYER", "NewPlayerMenu"
|
|
Submenu "$OPTMNU_SOUND", "SoundOptions"
|
|
Submenu "$OPTMNU_DISPLAY", "VideoOptions"
|
|
Submenu "$OPTMNU_VIDEO", "VideoModeMenu"
|
|
Submenu "$OPTMNU_GAMEPLAY", "GameplayOptions"
|
|
Submenu "$OPTMNU_MISCELLANEOUS", "MiscOptions"
|
|
StaticText " "
|
|
SafeCommand "$OPTMNU_DEFAULTS", "reset2defaults"
|
|
SafeCommand "$OPTMNU_RESETTOSAVED", "reset2saved"
|
|
Command "$OPTMNU_CONSOLE", "menuconsole"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Controls Menu
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionMenu "CustomizeControls"// protected
|
|
{
|
|
Title "$CNTRLMNU_TITLE"
|
|
|
|
Submenu "$CNTRLMNU_ACTION" , "ActionControlsMenu"
|
|
Submenu "$CNTRLMNU_CHAT" , "ChatControlsMenu"
|
|
Submenu "$CNTRLMNU_WEAPONS" , "WeaponsControlMenu"
|
|
Submenu "$CNTRLMNU_INVENTORY" , "InventoryControlsMenu"
|
|
Submenu "$CNTRLMNU_OTHER" , "OtherControlsMenu"
|
|
//Submenu "$MAPCNTRLMNU_CONTROLS" , "MapControlsMenu" // todo after thorough cleanup
|
|
}
|
|
|
|
OptionMenu "ActionControlsMenu"// protected
|
|
{
|
|
Title "$CNTRLMNU_ACTION_TITLE"
|
|
ScrollTop 2
|
|
StaticTextSwitchable "$CNTRLMNU_SWITCHTEXT1", "$CNTRLMNU_SWITCHTEXT2", "ControlMessage"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_ATTACK" , "+fire"
|
|
ifgame(Blood, Duke, Nam, WW2GI, Fury)
|
|
{
|
|
Control "$CNTRLMNU_ALTATTACK" , "+alt_fire"
|
|
}
|
|
ifgame(Duke, Nam, WW2GI, Fury, ShadowWarrior)
|
|
{
|
|
Control "$CNTRLMNU_ALTWEAPON" , "+alt_weapon"
|
|
}
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_USE" , "+open"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_FORWARD" , "+move_forward"
|
|
Control "$CNTRLMNU_BACK" , "+move_backward"
|
|
Control "$CNTRLMNU_MOVELEFT" , "+strafe_left"
|
|
Control "$CNTRLMNU_MOVERIGHT" , "+strafe_right"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_TURNLEFT" , "+turn_left"
|
|
Control "$CNTRLMNU_TURNRIGHT" , "+turn_right"
|
|
Control "$CNTRLMNU_TURN180" , "+turn_around"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_JUMP" , "+jump"
|
|
Control "$CNTRLMNU_CROUCH" , "+crouch"
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
// Fixme: Make this work in all games
|
|
Control "$CNTRLMNU_TOGGLECROUCH" , "+toggle_crouch"
|
|
}
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_MOUSELOOK" , "+mouse_aiming"
|
|
Control "$CNTRLMNU_MLOOKTOGGLE" , "togglemouseaim"
|
|
|
|
Control "$CNTRLMNU_AIMUP" , "+aim_up"
|
|
Control "$CNTRLMNU_AIMDOWN" , "+aim_down"
|
|
Control "$CNTRLMNU_LOOKUP" , "+look_up"
|
|
Control "$CNTRLMNU_LOOKDOWN" , "+look_down"
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
Control "$CNTRLMNU_LOOKLEFT" , "+look_left"
|
|
Control "$CNTRLMNU_LOOKRIGHT" , "+look_right"
|
|
}
|
|
Control "$CNTRLMNU_CENTERVIEW" , "+center_view"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_RUN" , "+run"
|
|
Control "$CNTRLMNU_TOGGLERUN" , "toggle cl_autorun"
|
|
Control "$CNTRLMNU_STRAFE" , "+strafe"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_SCOREBOARD" , "+show_dukematch_scores"
|
|
}
|
|
|
|
OptionMenu "ChatControlsMenu"// protected
|
|
{
|
|
Title "$CNTRLMNU_CHAT_TITLE"
|
|
ScrollTop 2
|
|
StaticTextSwitchable "$CNTRLMNU_SWITCHTEXT1", "$CNTRLMNU_SWITCHTEXT2", "ControlMessage"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_SAY" , "+send_message"
|
|
}
|
|
|
|
OptionMenu "WeaponsControlMenu"// protected
|
|
{
|
|
Title "$CNTRLMNU_WEAPONS_TITLE"
|
|
ScrollTop 2
|
|
StaticTextSwitchable "$CNTRLMNU_SWITCHTEXT1", "$CNTRLMNU_SWITCHTEXT2", "ControlMessage"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_NEXTWEAPON" , "+next_weapon"
|
|
Control "$CNTRLMNU_PREVIOUSWEAPON" , "+previous_weapon"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_SLOT1" , "+weapon_1"
|
|
Control "$CNTRLMNU_SLOT2" , "+weapon_2"
|
|
Control "$CNTRLMNU_SLOT3" , "+weapon_3"
|
|
Control "$CNTRLMNU_SLOT4" , "+weapon_4"
|
|
Control "$CNTRLMNU_SLOT5" , "+weapon_5"
|
|
Control "$CNTRLMNU_SLOT6" , "+weapon_6"
|
|
Control "$CNTRLMNU_SLOT7" , "+weapon_7"
|
|
Control "$CNTRLMNU_SLOT8" , "+weapon_8"
|
|
Control "$CNTRLMNU_SLOT9" , "+weapon_9"
|
|
Control "$CNTRLMNU_SLOT0" , "+weapon_10"
|
|
StaticText ""
|
|
Control "$CNTRLMNU_HOLSTER" , "+holster_weapon"
|
|
ifgame(Fury)
|
|
{
|
|
Control "$CNTRLMNU_RELOAD" , "+steroids"
|
|
}
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
Control "$CNTRLMNU_QUICKKICK" , "+quick_kick"
|
|
}
|
|
|
|
ifgame(Redneck, RedneckRides)
|
|
{
|
|
Control "$CNTRLMNU_PEE" , "+quick_kick"
|
|
}
|
|
ifgame(Blood)
|
|
{
|
|
Control "$CNTRLMNU_PROXIMITYBOMBS","+proximitybombs"
|
|
Control "$CNTRLMNU_REMOTEBOMBS" ,"+remotebombs"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
Control "$CNTRLMNU_SMOKEBOMB","+smoke_bomb"
|
|
Control "$CNTRLMNU_GASBOMB" ,"+gas_bomb"
|
|
Control "$CNTRLMNU_FLASHBOMB","+flash_bomb"
|
|
Control "$CNTRLMNU_CALTROPS" ,"+caltrops"
|
|
}
|
|
|
|
}
|
|
|
|
OptionMenu "InventoryControlsMenu"// protected
|
|
{
|
|
Title "$CNTRLMNU_INVENTORY_TITLE"
|
|
ScrollTop 2
|
|
StaticTextSwitchable "$CNTRLMNU_SWITCHTEXT1", "$CNTRLMNU_SWITCHTEXT2", "ControlMessage"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_USEITEM" , "+inventory"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_NEXTITEM" , "+inventory_right"
|
|
Control "$CNTRLMNU_PREVIOUSITEM" , "+inventory_left"
|
|
|
|
ifgame(Duke)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_HOLODUKE" , "+holo_duke"
|
|
Control "$CNTRLMNU_JETPACK" , "+jetpack"
|
|
Control "$CNTRLMNU_NIGHTVISION" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
Control "$CNTRLMNU_STEROIDS" , "+steroids"
|
|
}
|
|
ifgame(Fury)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_RADAR" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
}
|
|
ifgame(Nam)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_HOLOSOLDIER" , "+holo_duke"
|
|
Control "$CNTRLMNU_HUEY" , "+jetpack"
|
|
Control "$CNTRLMNU_NIGHTVISION" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
Control "$CNTRLMNU_TANKMODE" , "+steroids"
|
|
}
|
|
ifgame(WW2GI)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_FIRE MISSION" , "+holo_duke"
|
|
Control "$CNTRLMNU_NIGHTVISION" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
Control "$CNTRLMNU_SMOKES" , "+steroids"
|
|
}
|
|
ifgame(Redneck, RedneckRides)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_BEER" , "+holo_duke"
|
|
Control "$CNTRLMNU_COWPIE" , "+jetpack"
|
|
Control "$CNTRLMNU_YEEHAA" , "+nightvision"
|
|
Control "$CNTRLMNU_WHISKEY" , "+medkit"
|
|
Control "$CNTRLMNU_MOONSHINE" , "+steroids"
|
|
}
|
|
ifgame(Blood)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_CRYSTALBALL" , "+crystalball"
|
|
Control "$CNTRLMNU_JUMPBOOTS" , "+jetpack"
|
|
Control "$CNTRLMNU_BEASTVISION" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
StaticText ""
|
|
Control "$CNTRLMNU_NIGHTVISION" , "+nightvision"
|
|
Control "$CNTRLMNU_MEDKIT" , "+medkit"
|
|
}
|
|
}
|
|
|
|
OptionMenu "OtherControlsMenu"// protected
|
|
{
|
|
Title "$CNTRLMNU_OTHER_TITLE"
|
|
ScrollTop 2
|
|
StaticTextSwitchable "$CNTRLMNU_SWITCHTEXT1", "$CNTRLMNU_SWITCHTEXT2", "ControlMessage"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_AUTOMAP" , "+map"
|
|
Control "$MAPCNTRLMNU_TOGGLEFOLLOW","+map_follow_mode"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_CHASECAM" , "+third_person_view"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_SCREENSHOT" , "screenshot"
|
|
Control "$CNTRLMNU_CONSOLE" , "toggleconsole"
|
|
Control "$CNTRLMNU_PAUSE" , "pause"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_DISPLAY_INC" , "+enlarge_Screen"
|
|
Control "$CNTRLMNU_DISPLAY_DEC" , "+shrink_screen"
|
|
Control "$CNTRLMNU_TOGGLE_MESSAGES" , "togglemessages"
|
|
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_OPEN_HELP" , "openhelpmenu"
|
|
Control "$CNTRLMNU_OPEN_SAVE" , "opensavemenu"
|
|
Control "$CNTRLMNU_OPEN_LOAD" , "openloadmenu"
|
|
Control "$CNTRLMNU_OPEN_OPTIONS" , "openmenu optionsmenu"
|
|
Control "$CNTRLMNU_OPEN_DISPLAY" , "openmenu displayoptions"
|
|
Control "$CNTRLMNU_EXIT_TO_MAIN" , "menu_endgame"
|
|
Control "$CNTRLMNU_MENU_QUIT" , "menu_quit"
|
|
|
|
StaticText ""
|
|
Control "$CNTRLMNU_QUICKSAVE" , "quicksave"
|
|
Control "$CNTRLMNU_QUICKLOAD" , "quickload"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Mouse Menu
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue "Corners"
|
|
{
|
|
-1, "$OPTVAL_OFF"
|
|
0, "$OPTVAL_UPPERLEFT"
|
|
1, "$OPTVAL_UPPERRIGHT"
|
|
2, "$OPTVAL_LOWERLEFT"
|
|
3, "$OPTVAL_LOWERRIGHT"
|
|
}
|
|
|
|
OptionValue "MenuMouse"
|
|
{
|
|
0, "$TXT_NO"
|
|
1, "$TXT_YES"
|
|
2, "$OPTVAL_TOUCHSCREENLIKE"
|
|
}
|
|
|
|
OptionString "Cursors"
|
|
{
|
|
"None", "$OPTVAL_DEFAULT"
|
|
"cursor", "$OPTSTR_SIMPLEARROW"
|
|
"-", "$OPTSTR_SYSTEMCURSOR"
|
|
}
|
|
|
|
OptionMenu "MouseOptions" //protected
|
|
{
|
|
Title "$MOUSEMNU_TITLE"
|
|
Option "$MOUSEMNU_ENABLEMOUSE", "in_mouse", "YesNo"
|
|
Option "$MOUSEMNU_MOUSEINMENU", "m_use_mouse", "MenuMouse", "use_mouse"
|
|
Option "$MOUSEMNU_SHOWBACKBUTTON", "m_show_backbutton", "Corners", "use_mouse"
|
|
// todo Option "$MOUSEMNU_CURSOR", "vid_cursor", "Cursors"
|
|
StaticText ""
|
|
Slider "$MOUSEMNU_SENSITIVITY", "mouse_sensitivity", 0.5, 2.5, 0.1
|
|
Option "$MOUSEMNU_NOPRESCALE", "m_noprescale", "NoYes"
|
|
Option "$MOUSEMNU_SMOOTHMOUSE", "in_mousesmoothing", "YesNo"
|
|
StaticText ""
|
|
Slider "$MOUSEMNU_TURNSPEED", "in_mousescalex", -4, 4, 0.2
|
|
Slider "$MOUSEMNU_MOUSELOOKSPEED", "in_mousescaley", -4, 4, 0.2
|
|
//Slider "$MOUSEMNU_FORWBACKSPEED", "in_mouseforward", 0, 2.5, 0.1
|
|
//Slider "$MOUSEMNU_STRAFESPEED", "in_mouseside", 0, 2.5, 0.1
|
|
StaticText ""
|
|
Option "$MOUSEMNU_ALWAYSMOUSELOOK", "in_mousemode", "OnOff"
|
|
Option "$MOUSEMNU_INVERTMOUSE", "in_mouseflip", "OnOff"
|
|
// Do we need this? Option "$MOUSEMNU_LOOKSTRAFE", "lookstrafe", "OnOff"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Joystick Menu
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionMenu "JoystickOptions"//Defaults" //protected
|
|
{
|
|
Title "$JOYMNU_OPTIONS"
|
|
Option "$JOYMNU_ENABLE", "use_joystick", "YesNo"
|
|
Option "$JOYMNU_NOMENU", "m_blockcontrollers", "YesNo"
|
|
/*IfOption(Windows)
|
|
{
|
|
Option "$JOYMNU_DINPUT", "joy_dinput", "YesNo"
|
|
Option "$JOYMNU_XINPUT", "joy_xinput", "YesNo"
|
|
Option "$JOYMNU_PS2", "joy_ps2raw", "YesNo"
|
|
}*/
|
|
StaticText ""
|
|
StaticTextSwitchable "$JOYMNU_NOCON", "$JOYMNU_CONFIG", "ConfigureMessage"
|
|
StaticTextSwitchable " ", "$JOYMNU_DISABLED1", "ConnectMessage1"
|
|
StaticTextSwitchable " ", "$JOYMNU_DISABLED2", "ConnectMessage2"
|
|
|
|
// The rest will be filled in by joystick code if devices get connected or disconnected
|
|
}
|
|
|
|
OptionMenu "JoystickOptions1" //protected
|
|
{
|
|
Title "$JOYMNU_OPTIONS"
|
|
}
|
|
|
|
OptionValue "JoyAxisMapNames"
|
|
{
|
|
-1, "$OPTVAL_NONE"
|
|
0, "$OPTVAL_TURNING"
|
|
1, "$OPTVAL_LOOKINGUPDOWN"
|
|
2, "$OPTVAL_MOVINGFORWARD"
|
|
3, "$OPTVAL_STRAFING"
|
|
4, "$OPTVAL_MOVINGUPDOWN"
|
|
}
|
|
|
|
OptionValue "Inversion"
|
|
{
|
|
0, "$OPTVAL_NOTINVERTED"
|
|
1, "$OPTVAL_INVERTED"
|
|
}
|
|
|
|
OptionMenu "JoystickConfigMenu" //protected
|
|
{
|
|
Title "$JOYMNU_TITLE"
|
|
Class "JoystickConfigMenu"
|
|
// Will be filled in by joystick code.
|
|
}
|
|
|
|
|
|
OptionValue "PlayerColors"
|
|
{
|
|
0, "$OPTVAL_AUTO"
|
|
1, "$TXT_COLOR_BLUE"
|
|
2, "$TXT_COLOR_RED"
|
|
3, "$TXT_COLOR_GREEN"
|
|
4, "$TXT_COLOR_GRAY"
|
|
5, "$TXT_COLOR_DARKGRAY"
|
|
6, "$TXT_COLOR_DARKGREEN"
|
|
7, "$TXT_COLOR_BROWN"
|
|
8, "$TXT_COLOR_DARKBLUE"
|
|
9, "$TXT_COLOR_LIGHTRED"
|
|
//10, "$TXT_COLOR_YELLOW"
|
|
}
|
|
|
|
OptionValue "PlayerColorsSW"
|
|
{
|
|
0, "$TXT_COLOR_BROWN"
|
|
1, "$TXT_COLOR_GRAY"
|
|
2, "$TXT_COLOR_PURPLE"
|
|
3, "$TXT_COLOR_RED"
|
|
4, "$TXT_COLOR_YELLOW"
|
|
5, "$TXT_COLOR_DULLGREEN"
|
|
6, "$TXT_COLOR_GREEN"
|
|
7, "$TXT_COLOR_BLUE"
|
|
}
|
|
|
|
OptionValue "PlayerTeam"
|
|
{
|
|
0, "$TXT_COLOR_BLUE"
|
|
1, "TXT_COLOR_RED"
|
|
2, "TXT_COLOR_GREEN"
|
|
3, "TXT_COLOR_GRAY"
|
|
}
|
|
|
|
OptionValue "Gender"
|
|
{
|
|
0, "$OPTVAL_MALE"
|
|
1, "$OPTVAL_FEMALE"
|
|
2, "$OPTVAL_NEUTRAL"
|
|
3, "$OPTVAL_OTHER"
|
|
}
|
|
|
|
|
|
OptionMenu "NewPlayerMenu" //protected
|
|
{
|
|
Title "$MNU_PLAYERSETUP"
|
|
TextField "$PLYRMNU_NAME", playername
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
|
|
{
|
|
Option "$PLYRMNU_PLAYERCOLOR", "playercolor", "PlayerColors"
|
|
}
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
// This curently does not get applied to the single player game.
|
|
Option "$PLYRMNU_PLAYERCOLOR", "playercolor", "PlayerColorsSW"
|
|
}
|
|
Option "$PLYRMNU_PLAYERGENDER", "playergender", "Gender"
|
|
Option "$PLYRMNU_TEAM", "playerteam", "PlayerTeam"
|
|
Submenu "$PLRMNU_TAUNTS", "TauntsMenu"
|
|
Class "NewPlayerMenu"
|
|
}
|
|
|
|
OptionMenu "TauntsMenu" //protected
|
|
{
|
|
Title "$PLRMNU_TAUNTS"
|
|
TextField "1", "combatmacro0"
|
|
TextField "2", "combatmacro1"
|
|
TextField "3", "combatmacro2"
|
|
TextField "4", "combatmacro3"
|
|
TextField "5", "combatmacro4"
|
|
TextField "6", "combatmacro5"
|
|
TextField "7", "combatmacro6"
|
|
TextField "8", "combatmacro7"
|
|
TextField "9", "combatmacro8"
|
|
TextField "10", "combatmacro9"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Game Setup
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue "AimMode"
|
|
{
|
|
0, "$OPTVAL_NEVER"
|
|
1, "$OPTVAL_ALWAYS"
|
|
2, "$OPTRAL_HITSCAN"
|
|
}
|
|
|
|
OptionValue "RunMode"
|
|
{
|
|
0, "$PLRMNU_TOGGLE"
|
|
1, "$PLRMNU_OVERRIDE"
|
|
}
|
|
|
|
OptionValue "WeapSwitch"
|
|
{
|
|
0, "$OPTVAL_NEVER"
|
|
1, "$PLRMNU_IFNEW"
|
|
3, "$PLRMNU_PREFERRED"
|
|
}
|
|
|
|
|
|
OptionMenu GameplayOptions //protected
|
|
{
|
|
Title "$GMPLYMNU_TITLE"
|
|
Option "$PLRMNU_AUTOAIM", "cl_autoaim", "AimMode"
|
|
Option "$PLRMNU_ALWAYSRUN", "cl_autorun", "OnOff"
|
|
Option "$PLRMNU_RUNMODE", "cl_runmode", "RunMode"
|
|
ifgame(ShadowWarrior)
|
|
{
|
|
Option "$PLRMNU_EQUIP", "cl_weaponswitch", "OnOff" // does not have the 'preferred' option.
|
|
}
|
|
else
|
|
{
|
|
Option "$PLRMNU_EQUIP", "cl_weaponswitch", "WeapSwitch"
|
|
}
|
|
Option "$PLRMNU_PLOCK", "adult_lockout", "OnOff" // I won't bother password protecting this piece of window dressing
|
|
// StaticText ""
|
|
// Option "Record Demo", "m_recstat", "OnOff"
|
|
// Submenu "Cheats" "CheatsMenu
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Display options
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue "FilterModes"
|
|
{
|
|
0, "$OPTVAL_NONE"
|
|
2, "$OPTVAL_NONENEARESTMIPMAP"
|
|
4, "$OPTVAL_NONELINEARMIPMAP"
|
|
6, "$OPTVAL_NONETRILINEAR"
|
|
3, "$OPTVAL_LINEAR_2"
|
|
1, "$OPTVAL_BILINEAR"
|
|
5, "$OPTVAL_TRILINEAR"
|
|
}
|
|
|
|
OptionValue "Anisotropy"
|
|
{
|
|
1, "$OPTVAL_OFF"
|
|
2, "$OPTVAL_2X"
|
|
4, "$OPTVAL_4X"
|
|
8, "$OPTVAL_8X"
|
|
16, "$OPTVAL_16X"
|
|
}
|
|
|
|
OptionMenu "VideoOptions" //protected
|
|
{
|
|
Title "$DSPLYMNU_TITLE"
|
|
|
|
Submenu "$OPTMNU_HUD", "HUDOptions"
|
|
Submenu "$OPTMNU_POLYMOST", "PolymostOptions"
|
|
|
|
Slider "$DSPLYMNU_GAMMA", "vid_gamma", 0.75, 3.0, 0.05, 2
|
|
Slider "$DSPLYMNU_BRIGHTNESS", "vid_brightness", -0.8,0.8, 0.05,2
|
|
Slider "$DSPLYMNU_CONTRAST", "vid_contrast", 0.1, 3.0, 0.1
|
|
Slider "$DSPLYMNU_SATURATION", "vid_saturation", -3.0, 3.0, 0.25, 2
|
|
|
|
StaticText ""
|
|
Option "$DSPLYMNU_VOXELS", "r_voxels", "OnOff"
|
|
StaticText ""
|
|
Slider "$DSPLYMNU_FOV", "r_fov", 60, 130, 10, 1
|
|
|
|
StaticText ""
|
|
Option "$GLTEXMNU_TEXFILTER", hw_texfilter, "FilterModes"
|
|
Option "$GLTEXMNU_ANISOTROPIC", hw_anisotropy, "Anisotropy"
|
|
}
|
|
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// HUD options
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue "HUDMessages"
|
|
{
|
|
0, "$OPTVAL_OFF"
|
|
1, "$OPTVAL_ON"
|
|
2, "$DSPLYMNU_GENERIC"
|
|
}
|
|
|
|
OptionMenu "HUDOptions" //protected
|
|
{
|
|
Title "$OPTMNU_HUD"
|
|
|
|
Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 11.0, 1.0, -1
|
|
ifgame(duke, nam, ww2gi, redneck, redneckrides, fury) // Fixme: The scaling really needs to be taken out of the game code.
|
|
{
|
|
Slider "$DSPLYMNU_SBSCALE", "hud_scale", 0.3, 1.0, 0.1, 2
|
|
}
|
|
Option "$DSPLYMNU_LEVELSTATS", "hud_stats", "OnOff"
|
|
ifgame(duke, nam, ww2gi, redneck, redneckrides, fury)
|
|
{
|
|
Slider "$DSPLYMNU_TEXTSCALE", "hud_textscale", 0.3, 1.0, 0.1, 2
|
|
}
|
|
StaticText ""
|
|
Option "$DSPLYMNU_MESSAGES", "hud_messages", "HudMessages"
|
|
StaticText ""
|
|
Option "$DSPLYMNU_CROSSHAIR", "cl_crosshair", OnOff
|
|
Slider "$DSPLYMNU_CROSSHAIRSCALE", "cl_crosshairscale", 50, 100, 10, 1
|
|
}
|
|
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Polymost options
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionMenu "PolymostOptions"
|
|
{
|
|
Title "Polympost Options"
|
|
Option "$POLYMOST_TC", "hw_hightile", "OnOff"
|
|
Option "$POLYMOST_CACHE", "r_precache", "OnOff"
|
|
StaticText ""
|
|
Option "$POLYMOST_DETAIL", "hw_detailmapping", "OnOff", "hw_hightile"
|
|
Option "$POLYMOST_GLOW", "hw_glowmapping", "OnOff", "hw_hightile"
|
|
StaticText ""
|
|
Option "$POLYMOST_PALETTEEMU", "hw_useindexedcolortextures", "OnOff"
|
|
Option "$POLYMOST_PALINTER", "hw_shadeinterpolate", "OnOff", "hw_useindexedcolortextures"
|
|
StaticText ""
|
|
Option "$POLYMOST_MODELS", "hw_models", "OnOff"
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Sound options
|
|
// Many of these options are not active, but will be needed should I manage to transition
|
|
// the entire sound system to OpenAL 3D. So it is easier to just copy all this verbatim
|
|
// and only disable the options not yet usable instead of deleting the content.
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue SampleRates
|
|
{
|
|
//0, "$OPTVAL_DEFAULT"
|
|
//4000, "$OPTVAL_4000HZ"
|
|
//8000, "$OPTVAL_8000HZ"
|
|
11025, "$OPTVAL_11025HZ"
|
|
22050, "$OPTVAL_22050HZ"
|
|
32000, "$OPTVAL_32000HZ"
|
|
44100, "$OPTVAL_44100HZ"
|
|
48000, "$OPTVAL_48000HZ"
|
|
}
|
|
|
|
|
|
OptionValue BufferSizes
|
|
{
|
|
0, "$OPTVAL_DEFAULT"
|
|
64, "$OPTVAL_64SAMPLES"
|
|
128, "$OPTVAL_128SAMPLES"
|
|
256, "$OPTVAL_256SAMPLES"
|
|
512, "$OPTVAL_512SAMPLES"
|
|
1024, "$OPTVAL_1024SAMPLES"
|
|
2048, "$OPTVAL_2048SAMPLES"
|
|
4096, "$OPTVAL_4096SAMPLES"
|
|
}
|
|
|
|
OptionString ALDevices
|
|
{
|
|
// filled in by the sound code
|
|
}
|
|
|
|
OptionString ALResamplers
|
|
{
|
|
// filled in by the sound code
|
|
}
|
|
|
|
OptionString SpeakerModes
|
|
{
|
|
"Auto", "$OPTSTR_AUTO"
|
|
"Mono", "$OPTSTR_MONO"
|
|
"Stereo", "$OPTSTR_STEREO"
|
|
"Prologic", "$OPTSTR_PROLOGIC"
|
|
"Quad", "$OPTSTR_QUAD"
|
|
"Surround", "$OPTSTR_SURROUND"
|
|
"5.1", "$OPTSTR_5POINT1"
|
|
"7.1", "$OPTSTR_7POINT1"
|
|
}
|
|
|
|
|
|
OptionMenu OpenALSoundItems //protected
|
|
{
|
|
Title "$OPENALMNU_TITLE"
|
|
Option "$OPENALMNU_PLAYBACKDEVICE", "snd_aldevice", "ALDevices"
|
|
Option "$OPENALMNU_ENABLEEFX", "snd_efx", "OnOff"
|
|
Option "$OPENALMNU_RESAMPLER", "snd_alresampler", "ALResamplers"
|
|
}
|
|
|
|
|
|
OptionValue MidiDevices
|
|
{
|
|
// filled in by the sound code
|
|
}
|
|
|
|
OptionMenu SoundOptions //protected
|
|
{
|
|
Title "$SNDMNU_TITLE"
|
|
Slider "$MODMNU_MASTERVOLUME", "snd_mastervolume", 0, 1, 0.05, 2
|
|
StaticText " "
|
|
Option "$SNDMNU_SNDENABLED", "snd_enabled", "YesNo"
|
|
Slider "$SNDMNU_SFXVOLUME", "snd_fxvolume", 0, 255, 2, 1
|
|
//Slider "$SNDMNU_SFXVOLUME", "snd_sfxvolume", 0, 1, 0.05, 2 // Todo: Change value type
|
|
Option "$SNDMNU_MUSENABLED", "mus_enabled", "YesNo"
|
|
Slider "$SNDMNU_MUSICVOLUME", "mus_volume", 0, 1, 0.05, 2
|
|
Option "$SNDMNU_MENUSOUND", "menu_sounds", "OnOff" // placeholder until the slider can be made to work
|
|
//Slider "$SNDMNU_MENUVOLUME", "snd_menuvolume", 0, 1, 0.05, 2
|
|
StaticText " "
|
|
Option "$SNDMNU_MIDIDEVICE", "snd_mididevice", "MidiDevices"
|
|
StaticText " "
|
|
//Option "$SNDMNU_UNDERWATERREVERB", "snd_waterreverb", "OnOff"
|
|
//Option "$SNDMNU_RANDOMIZEPITCHES", "snd_pitched", "OnOff"
|
|
Slider "$SNDMNU_CHANNELS", "snd_numchannels", 64, 128, 8, 0
|
|
staticText ""
|
|
ifgame (Blood, ShadowWarrior, Redneck, RedneckRides)
|
|
{
|
|
Option "$SNDMNU_CDEMU", "mus_redbook", "OnOff"
|
|
}
|
|
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides, ShadowWarrior)
|
|
{
|
|
Option "$SNDMNU_AMBIENCE", "snd_ambience", "OnOff"
|
|
Option "$SNDMNU_SPEECH", "snd_speech", "OnOff"
|
|
}
|
|
StaticText " "
|
|
Submenu "$SNDMNU_ADVANCED", "AdvSoundOptions"
|
|
}
|
|
|
|
/*=======================================
|
|
*
|
|
* Advanced Sound Options Menu
|
|
*
|
|
*=======================================*/
|
|
|
|
OptionValue OplCores
|
|
{
|
|
0, "$OPTVAL_MAMEOPL2"
|
|
1, "$OPTVAL_DOSBOXOPL3"
|
|
2, "$OPTVAL_JAVAOPL3"
|
|
3, "$OPTVAL_NUKEDOPL3"
|
|
}
|
|
|
|
|
|
OptionMenu AdvSoundOptions //protected
|
|
{
|
|
Title "$ADVSNDMNU_TITLE"
|
|
Option "$ADVSNDMNU_SAMPLERATE", "snd_mixrate", "SampleRates"
|
|
//Option "$ADVSNDMNU_HRTF", "snd_hrtf", "AutoOffOn"
|
|
Option "$ADVSNDMNU_FLIPSTEREO", "snd_reversestereo", "OnOff"
|
|
StaticText " "
|
|
//Option "$SNDMNU_BACKGROUND", "i_soundinbackground", "OnOff"
|
|
//StaticText " "
|
|
|
|
ifoption(openal)
|
|
{
|
|
StaticText " "
|
|
Submenu "$SNDMNU_OPENAL", "OpenALSoundItems"
|
|
}
|
|
|
|
StaticText " "
|
|
Submenu "$SNDMNU_MIDIPLAYER", "MidiPlayerOptions"
|
|
Submenu "$SNDMNU_MODREPLAYER", "ModReplayerOptions"
|
|
StaticText " "
|
|
Command "$SNDMNU_RESTART", "restartsound"
|
|
}
|
|
|
|
|
|
OptionMenu TimidityConfigMenu //protected
|
|
{
|
|
Title "$ADVSNDMNU_SELCONFIG"
|
|
}
|
|
|
|
OptionMenu FluidPatchsetMenu //protected
|
|
{
|
|
Title "$ADVSNDMNU_SELCONFIG"
|
|
}
|
|
|
|
/*=======================================
|
|
*
|
|
* Module Replayer Options Menu
|
|
*
|
|
*=======================================*/
|
|
|
|
OptionValue ModQuality
|
|
{
|
|
0.0, "$OPTVAL_ALIASING"
|
|
1.0, "$OPTVAL_LINEAR_1"
|
|
2.0, "$OPTVAL_CUBIC"
|
|
3.0, "$OPTVAL_BLEP" // Band-limited step
|
|
4.0, "$OPTVAL_LINEARSLOW"
|
|
5.0, "$OPTVAL_BLAM" // Band-limited linear
|
|
6.0, "$OPTVAL_CUBICSLOW"
|
|
7.0, "$OPTVAL_SINC"
|
|
}
|
|
|
|
|
|
OptionValue ModVolumeRamps
|
|
{
|
|
0.0, "$OPTVAL_NONE"
|
|
1.0, "$OPTVAL_NOTEONOFFONLY"
|
|
2.0, "$OPTVAL_FULLRAMPING"
|
|
}
|
|
|
|
|
|
|
|
OptionMenu ModReplayerOptions //protected
|
|
{
|
|
Title "$MODMNU_TITLE"
|
|
Slider "$MODMNU_MASTERVOLUME", "mod_dumb_mastervolume", 1, 16, 0.5, 1
|
|
Option "$ADVSNDMNU_SAMPLERATE", "mod_samplerate", "SampleRates"
|
|
Option "$MODMNU_QUALITY", "mod_interp", "ModQuality"
|
|
Option "$MODMNU_VOLUMERAMPING", "mod_volramp", "ModVolumeRamps"
|
|
StaticText " "
|
|
Option "$MODMNU_CHIPOMATIC", "mod_autochip", "OnOff"
|
|
// TODO if the menu system is ever rewritten: Provide a decent
|
|
// mechanism to edit the chip-o-matic settings like you can with
|
|
// the foo_dumb preferences in foobar2000.
|
|
}
|
|
|
|
/*=======================================
|
|
*
|
|
* MIDI player
|
|
*
|
|
*=======================================*/
|
|
|
|
OptionValue TimidityReverb
|
|
{
|
|
0, "$OPTVAL_OFF"
|
|
1, "$OPTVAL_STANDARD"
|
|
2, "$ADVSNDMNU_GLOBAL"
|
|
3, "$ADVSNDMNU_FREEVERB"
|
|
4, "$ADVSNDMNU_GLOBAL_FREEVERB"
|
|
}
|
|
|
|
OptionMenu MidiPlayerOptions //protected
|
|
{
|
|
Title "$SNDMNU_MIDIPLAYER"
|
|
Submenu "$ADVSNDMNU_FLUIDSYNTH", "FluidsynthOptions"//, 0, 1
|
|
Submenu "$ADVSNDMNU_TIMIDITY", "TimidityOptions"//, 0, 1
|
|
Submenu "$ADVSNDMNU_OPLSYNTHESIS", "OPLOptions"//, 0, 1
|
|
}
|
|
|
|
OptionMenu FluidsynthOptions //protected
|
|
{
|
|
Title "$ADVSNDMNU_FLUIDSYNTH"
|
|
LabeledSubMenu "$ADVSNDMNU_SELCONFIG", "fluid_patchset", "FluidPatchsetMenu"
|
|
Slider "$ADVSNDMNU_FLUIDGAIN", "fluid_gain", 0, 10, 0.5, 1
|
|
Option "$ADVSNDMNU_REVERB", "fluid_reverb", "OnOff"
|
|
Option "$ADVSNDMNU_CHORUS", "fluid_chorus", "OnOff"
|
|
Slider "$ADVSNDMNU_MIDIVOICES", "fluid_voices", 16, 4096, 16, 0
|
|
// other CVARs need to be revieved for usefulness
|
|
}
|
|
|
|
OptionMenu TimidityOptions //protected
|
|
{
|
|
Title "$ADVSNDMNU_TIMIDITY"
|
|
LabeledSubMenu "$ADVSNDMNU_SELCONFIG", "timidity_config", "TimidityConfigMenu"
|
|
Option "$ADVSNDMNU_REVERB", "timidity_reverb", "TimidityReverb"
|
|
Slider "$ADVSNDMNU_REVERB_LEVEL", "timidity_reverb_level", 9, 127, 1, 0
|
|
Option "$ADVSNDMNU_CHORUS", "timidity_chorus", "OnOff"
|
|
// other CVARs need to be revieved for usefulness
|
|
}
|
|
|
|
OptionMenu OPLOptions //protected
|
|
{
|
|
Title "$ADVSNDMNU_OPLSYNTHESIS"
|
|
Option "$ADVSNDMNU_OPLCORES", "opl_core", "OplCores"
|
|
Slider "$ADVSNDMNU_OPLNUMCHIPS", "opl_numchips", 1, 8, 1, 0
|
|
Option "$ADVSNDMNU_OPLFULLPAN", "opl_fullpan", "OnOff"
|
|
}
|
|
|
|
/*=======================================
|
|
*
|
|
* Video mode menu
|
|
* Even more than the sound, much of this has no backing
|
|
* and needs replacement of the backend.
|
|
*
|
|
*=======================================*/
|
|
|
|
OptionValue ForceRatios
|
|
{
|
|
0.0, "$OPTVAL_OFF"
|
|
3.0, "4:3"
|
|
1.0, "16:9"
|
|
5.0, "17:10"
|
|
2.0, "16:10"
|
|
4.0, "5:4"
|
|
6.0, "21:9"
|
|
}
|
|
OptionValue Ratios
|
|
{
|
|
0.0, "4:3"
|
|
4.0, "5:4"
|
|
1.0, "16:9"
|
|
2.0, "16:10"
|
|
3.0, "17:10"
|
|
6.0, "21:9"
|
|
-1, "$OPTVAL_ALL"
|
|
}
|
|
OptionValue ScaleModes
|
|
{
|
|
0, "$OPTVAL_SCALENEAREST"
|
|
1, "$OPTVAL_SCALELINEAR"
|
|
2, "640x400"
|
|
3, "960x600"
|
|
4, "1280x800"
|
|
5, "$OPTVAL_CUSTOM"
|
|
}
|
|
OptionValue CropAspect
|
|
{
|
|
0, "$OPTVAL_STRETCH"
|
|
1, "$OPTVAL_LETTERBOX"
|
|
}
|
|
|
|
OptionValue MaxFps
|
|
{
|
|
0, "$OPTVAL_UNLIMITED"
|
|
60, "$OPTVAL_60FPS"
|
|
75, "$OPTVAL_75FPS"
|
|
90, "$OPTVAL_90FPS"
|
|
120, "$OPTVAL_120FPS"
|
|
144, "$OPTVAL_144FPS"
|
|
200, "$OPTVAL_200FPS"
|
|
}
|
|
|
|
OptionMenu VideoModeMenu //protected
|
|
{
|
|
Title "$VIDMNU_TITLE"
|
|
|
|
StaticText "Caution: This menu is currently"
|
|
StaticText "not functional!"
|
|
|
|
Option "$VIDMNU_RENDERMODE", "vid_rendermode", "RenderMode"
|
|
Option "$VIDMNU_FULLSCREEN", "fullscreen", "YesNo"
|
|
|
|
IfOption(Mac)
|
|
{
|
|
Option "$VIDMNU_HIDPI", "vid_hidpi", "YesNo"
|
|
}
|
|
IfOption(Windows)
|
|
{
|
|
Option "$DSPLYMNU_GPUSWITCH", vid_gpuswitch, "GPUSwitch"
|
|
}
|
|
|
|
Option "$VIDMNU_FORCEASPECT", "vid_aspect", "ForceRatios"
|
|
Option "$VIDMNU_CROPASPECT", "vid_cropaspect", "CropAspect"
|
|
Option "$VIDMNU_SCALEMODE", "vid_scalemode", "ScaleModes"
|
|
Slider "$VIDMNU_SCALEFACTOR", "vid_scalefactor", 0.25, 2.0, 0.25, 2
|
|
|
|
StaticText " "
|
|
Option "$DSPLYMNU_VSYNC", "vid_vsync", "OnOff"
|
|
Option "$VIDMNU_MAXFPS", "r_maxfps", "MaxFps"
|
|
|
|
StaticText ""
|
|
StaticText "$VIDMNU_CUSTOMRES"
|
|
TextField "$VIDMNU_CUSTOMX", menu_resolution_custom_width
|
|
TextField "$VIDMNU_CUSTOMY", menu_resolution_custom_height
|
|
Option "$VIDMNU_USELINEAR", "vid_scale_customlinear", "YesNo"
|
|
StaticText ""
|
|
Command "$VIDMNU_APPLYW", "menu_resolution_commit_changes 0"
|
|
Command "$VIDMNU_APPLYFS", "menu_resolution_commit_changes 1"
|
|
StaticText ""
|
|
|
|
SubMenu "$VIDMNU_RESPRESET", CustomResolutionMenu
|
|
}
|
|
|
|
OptionMenu CustomResolutionMenu //protected
|
|
{
|
|
Title "$VIDMNU_RESPRESETTTL"
|
|
|
|
StaticText "$VIDMNU_RESPRESETHEAD"
|
|
StaticText ""
|
|
StaticText "$VIDMNU_ASPECT43"
|
|
Command "640x480", "menu_resolution_set_custom 640 480"
|
|
Command "1024x768", "menu_resolution_set_custom 1024 768"
|
|
Command "1280x960", "menu_resolution_set_custom 1280 960"
|
|
Command "1600x1200", "menu_resolution_set_custom 1600 1200"
|
|
StaticText ""
|
|
StaticText "$VIDMNU_ASPECT54"
|
|
Command "1280x1024", "menu_resolution_set_custom 1280 1024"
|
|
StaticText ""
|
|
StaticText "$VIDMNU_ASPECT169"
|
|
Command "960x540", "menu_resolution_set_custom 960 540"
|
|
Command "(720p HD) 1280x720", "menu_resolution_set_custom 1280 720"
|
|
Command "1366x768", "menu_resolution_set_custom 1366 768"
|
|
Command "(1080p HD) 1920x1080", "menu_resolution_set_custom 1920 1080"
|
|
Command "(1440p HD) 2560x1440", "menu_resolution_set_custom 2560 1440"
|
|
Command "(4K UHD) 3840x2160", "menu_resolution_set_custom 3840 2160"
|
|
StaticText ""
|
|
StaticText "$VIDMNU_ASPECT1610"
|
|
Command "960x600", "menu_resolution_set_custom 960 600"
|
|
Command "1280x800", "menu_resolution_set_custom 1280 800"
|
|
Command "1440x900", "menu_resolution_set_custom 1440 900"
|
|
Command "1680x1050", "menu_resolution_set_custom 1680 1050"
|
|
Command "1920x1200", "menu_resolution_set_custom 1920 1200"
|
|
}
|
|
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// Misc menu
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
OptionValue Autosave
|
|
{
|
|
0, "$OPTVAL_ALWAYS"
|
|
1, "$OPTVAL_SCRIPTSONLY"
|
|
2, "$OPTVAL_NEVER"
|
|
}
|
|
|
|
OptionMenu "MiscOptions" //protected
|
|
{
|
|
Title "$MISCMNU_TITLE"
|
|
//Indent 220
|
|
IfOption(Windows)
|
|
{
|
|
Option "$MISCMNU_WINFULLSCREENTOGGLE", "k_allowfullscreentoggle", "OnOff"
|
|
}
|
|
IfOption(Mac)
|
|
{
|
|
Option "$MISCMNU_MACFULLSCREENTOGGLE", "k_allowfullscreentoggle", "OnOff"
|
|
}
|
|
Option "$MISCMNU_QUERYIWAD", "queryiwad", "OnOff"
|
|
StaticText " "
|
|
//Option "$MISCMNU_ALLCHEATS", "allcheats", "OnOff"
|
|
Option "$MISCMNU_ENABLEAUTOSAVES", "disableautosave", "Autosave"
|
|
//Option "$MISCMNU_SAVELOADCONFIRMATION", "saveloadconfirmation", "OnOff"
|
|
Slider "$MISCMNU_AUTOSAVECOUNT", "autosavecount", 1, 20, 1, 0
|
|
//Option "$MISCMNU_QUICKSAVEROTATION", "quicksaverotation", "OnOff"
|
|
Slider "$MISCMNU_QUICKSAVECOUNT", "quicksaverotationcount", 1, 20, 1, 0
|
|
Option "$MISCMNU_INTERSCROLL", "nointerscrollabort", "OffOn"
|
|
ifgame(shadowwarrior)
|
|
{
|
|
Option "$MISCMNU_DARTS", "sw_darts", "OnOff"
|
|
Option "$MISCMNU_NINJA", "sw_ninjahack", "OnOff"
|
|
}
|
|
//StaticText " "
|
|
//Option "$OPTMNU_LANGUAGE", "language", "LanguageOptions" - not ready yet
|
|
|
|
}
|
|
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
//
|
|
// No multiplayer support for now, but kept for documentation.
|
|
//
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
LISTMENU "MultiMenu"
|
|
{
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
position 160, 55, 135
|
|
centermenu
|
|
fixedspacing 5
|
|
ifgame(Duke, Nam, WW2GI, Fury)
|
|
{
|
|
class "Duke.ListMenu"
|
|
}
|
|
else
|
|
{
|
|
class "Redneck.ListMenu"
|
|
}
|
|
animatedtransition
|
|
NativeTextItem "$MNU_PLAYERSETUP", "p", "PlayerSetupMenu"
|
|
}
|
|
ifgame(blood)
|
|
{
|
|
position 160, 80, 150
|
|
class "Blood.ListMenu"
|
|
centermenu
|
|
Linespacing 20
|
|
}
|
|
ifgame(shadowwarrior)
|
|
{
|
|
position 160, 80, 150
|
|
class "ShadowWarrior.ListMenu"
|
|
centermenu
|
|
Linespacing 20
|
|
}
|
|
|
|
Caption "$MNU_NETWORKGAME"
|
|
NativeTextItem "$MNU_JOINGAME", "j", "JoinGameMenu"
|
|
NativeTextItem "$MNU_HOSTGAME", "h", "HostGameMenu"
|
|
}
|
|
|
|
OptionMenu "HostGameMenu"
|
|
{
|
|
title "$MNU_HOSTGAME"
|
|
Submenu "$NETMNU_OPTIONS", "MultiOptionsMenu"
|
|
Command "$NETMNU_LAUNCH", "Launch_MP" // currently a no-op
|
|
}
|
|
|
|
OptionMenu "JoinGameMenu"
|
|
{
|
|
TextField "$NETMNU_SERVER", "m_server"
|
|
TextField "$NETMNU_PORT", "m_netport"
|
|
SafeCommand "$NETMNU_CONNECT", "MultiConnect"
|
|
}
|
|
|
|
OptionValue "MultiGameType"
|
|
{
|
|
0, "$NETMNU_GAMETYPE1"
|
|
1, "$NETMNU_GAMETYPE2"
|
|
2, "$NETMNU_GAMETYPE3"
|
|
3, "$NETMNU_GAMETYPE4"
|
|
4, "$NETMNU_GAMETYPE5"
|
|
}
|
|
|
|
OptionValue "MultiEpisode"
|
|
{
|
|
0, "1"
|
|
0, "2"
|
|
0, "3"
|
|
0, "4"
|
|
0, "5"
|
|
0, "6"
|
|
0, "7"
|
|
}
|
|
|
|
OptionMenu "MultiOptionsMenu"
|
|
{
|
|
title "$NETMNU_OPTIONS"
|
|
Option "$NETMNU_GAMETYPE", "m_coop", "MultiGameType"
|
|
Option "$NETMNU_EPISODE", "m_episode_number", "MultiEpisode"
|
|
Option "$NETMNU_LEVEL", "m_level_number", "MultiEpisode"
|
|
Submenu "$MNU_USERMAP", "MultiUserMap" // todo: fileselect item
|
|
Option "$NETMNU_MONSTERS", "m_monsters", "OnOff"
|
|
Option "$NETMNU_MARKERS", "m_marker", "OnOff"
|
|
Option "$NETMNU_MAPEXITS", "m_noexit", "OnOff"
|
|
Option "$NETMNU_FFIRE", "m_ffire", "OnOff"
|
|
SafeCommand "$NETMNU_ACCEPT", "MultiAccept"
|
|
}
|