exenetbattlerbnv2.pk3

PK3 529 KiB 0 map(s)

Counts

endoom0
graphics0
lumps149
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "08880a52-ed5d-4e09-9012-49cbf1cf74c7",
    "sha1": "9c92fcc1a84cbdd0b66b34b167232c79e4114932",
    "sha256": "825c905483b83059aaf33ba31c40f8a1bace8af57155f9b6c78f2458acd2fe1e",
    "filenames": [
      "exenetbattlerbnv2.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2022/01/03 00:28:43",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2022/01/03 00:28:43",
    "file": {
      "type": "PK3",
      "size": 541662,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/9c92fcc1a84cbdd0b66b34b167232c79e4114932/9c92fcc1a84cbdd0b66b34b167232c79e4114932.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 149,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "SBARINFO.V.txt",
        "contents": "//VERTICAL BARS\nheight 0;\n\nstatusbar fullscreen, forcescaled\n{\nInInventory not NoHud, 1\n{\nInInventory not NoHealthBar, 1\n{\n//DrawImage \"MGEXEBAR\", 24, 8;\nDrawImage \"EXEHPBAR\", 33, 50;\n//DrawBar \"BARHEALT\", \"BAREMPTY\", Health, vertical, 24, 8;\n\tInInventory LightTeamFlag, 1{DrawImage \"LBAR\", 24, 3;}\n\tInInventory WilyTeamFlag, 1{DrawImage \"WBAR\", 24, 3;}\n\tInInventory CossackTeamFlag, 1{DrawImage \"CBAR\", 24, 3;}\n\tInInventory KingTeamFlag, 1{DrawImage \"KBAR\", 24, 3;}\n\tDrawNumber 5,\"BNNUMFONT\",Untranslated,EXEHealth,alignment(right),64,51;\n\nInInventory SkullShieldCheck, 1{DrawBar \"BARFLS5\", \"NOBAR\", SkullShieldCheck, vertical, 24, 8;}\nInInventory SkullBarrierProtection, 1{DrawBar \"BARFLS5\", \"NOBAR\", SkullShieldCheck, vertical, 24, 8;}\nInInventory BasicArmor, 1{DrawBar \"BARAMT31\", \"NOBAR\", Armor, vertical, 24, 8;}\n\nDrawSelectedInventory INDEXFONT ,24, 64, 37, 64, white;\nDrawImage weaponicon, 16, 64;\n\n}\n\n//Assists\nInInventory RushJetCounter, 5{DrawImage \"RUSHH2H8\", 290,16;}\nInInventory RushJetCounter, 1{DrawImage \"RUSHOUT\", 290,16;}\nInInventory RushMarineCounter, 1{InInventory IsUnderWater, 1{\n\t\tInInventory RushMarineCounter, 5{DrawImage \"RUSHO0\", 290,8;}\n\t\tInInventory RushMarineCounter, 1{DrawImage \"RUSHMOUT\", 290,8;}}\n\tInInventory Not IsUnderWater, 1{DrawImage \"RUSHP0\", 290,8;}}\n\nInInventory BeatCallCheck, 1{DrawImage \"BEATD0\", 298,16;}\nInInventory BeatCounter, 5{DrawImage \"BEATB8B2\", 298,16;}\nInInventory BeatCounter, 1{DrawImage \"BEATOUT\",298,16;}\nInInventory BeatSupportActivated, 1{DrawImage \"BSPTA0\",314,16;}\nInInventory BeatSupportFired, 1 {DrawImage \"BSPTB0\",314,16;}\nInInventory Flashed, 1{DrawImage \"FBLIND\",  -30,-20;}\nInInventory EnergyBalancerActive, 1{DrawImage \"NRGOUT\", 267, 10;}\n\n//Boss Health\nInInventory BossHealth1, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth1, vertical, 292, 8;}\nInInventory BossHealth2, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth2, vertical, 292, 8;}\nInInventory BossHealth3, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth3, vertical, 292, 8;}\nInInventory BossHealth4, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth4, vertical, 292, 8;}\nInInventory BossHealth5, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth5, vertical, 292, 8;}\nInInventory BossHealth6, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth6, vertical, 292, 8;}\nInInventory BossHealth7, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth7, vertical, 306, 8;}\nInInventory BossHealth8, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth8, vertical, 292, 8;}\nInInventory EvilRobotShield, 1{DrawBar \"BARAMM32\", \"BAREMPTY\", BossHealth1, vertical, 292, 8;}\n\n// Misc\nInInventory TimeStoppedCounter, 1{DrawImage \"FLASHS\", 36, 0;}\n\nInInventory MegaBusterEXE{\n\t//DrawImage \"VBGBAR\", 16, 0;\n\t//InInventory CustomAmmo,1{DrawBar\"VDABAR\", \"VEMBAR\", Ammo1, vertical, 18, 8;\n\t//InInventory CustomAmmo,30{Drawbar\"VDBBAR\",\"VEMBAR\",Ammo1,vertical,18,8;\n\t//InInventory CustomAmmo,60{Drawbar\"VDCBAR\",\"VEMBAR\",Ammo1,vertical,18,8;\n\t//InInventory CustomAmmo,90{Drawbar\"VDDBAR\",\"VEMBAR\",Ammo1,vertical,18,8;}}}}\n\t//else{DrawImage \"VEMBAR\", 18, 8;}}\n\t}\n\nInInventory ParaPlusTrigger, 1{DrawImage \"BTTLF0\", 8,78;}\nInInventory AttackUpStack, 30{DrawImage \"BTTLE0\", 15,86;}\nInInventory AttackUpStack, 20{DrawImage \"BTTLE0\", 15,82;}\nInInventory AttackUpStack, 10{DrawImage \"BTTLE0\", 15,78;}\n}\n}"
      },
      {
        "source": "pk3",
        "name": "SBARINFO.H.txt",
        "contents": "//HORIZONTAL BARS\nheight 0;\n\nstatusbar normal, forcescaled\n{\nInInventory not NoHud, 1\n{\nInInventory not NoHealthBar, 1\n{\n//DrawImage \"MGEXEBAR\", 24, 8;\nDrawImage \"EXEHPBAR\", 33, 50;\n//DrawBar \"BARHEALT\", \"BAREMPTY\", Health, vertical, 24, 8;\n\tInInventory LightTeamFlag, 1{DrawImage \"LBARH\", 130, 179;}\n\tInInventory WilyTeamFlag, 1{DrawImage \"WBARH\", 130, 179;}\n\tInInventory CossackTeamFlag, 1{DrawImage \"CBARH\", 130, 179;}\n\tInInventory KingTeamFlag, 1{DrawImage \"KBARH\", 130, 179;}\n\tDrawNumber 5,\"BNNUMFONT\",Untranslated,EXEHealth,alignment(right),64,51;\n\nInInventory SkullShieldCheck, 1{DrawBar \"VARFLS5\", \"VNOBAR\", SkullShieldCheck, horizontal, 130, 184;}\nInInventory SkullBarrierProtection, 1{DrawBar \"VARFLS5\", \"VNOBAR\", SkullShieldCheck, horizontal, 130, 184;}\nInInventory BasicArmor, 1{DrawBar \"VARAMT31\", \"VNOBAR\", Armor, horizontal, 130, 184;}\n\n//IfCVarInt mm8bdm_healthnumber, 1\n/*\nInInventory AmmoNumberFlag, 1\n{\n\tWeaponAmmo not BusterAmmo\n\t{\n\t\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/ /*alignment(left),150,177;\n\t\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Ammo1, alignment(left), 80, 177;\n\t}\n}\n\n//IfCVarInt mm8bdm_healthnumber, 1\nInInventory HealthNumberFlag, 1\n{\n\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/ /*alignment(left),150,177;\n\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Health, alignment(left), 152, 177;\n}\n}\n*/\n\nDrawSelectedInventory INDEXFONT ,122, 184, 120, 185, white;\nDrawImage weaponicon, 50, 184;\n\nInInventory ParaPlusTrigger, 1{DrawImage \"BTTLF0\", 8,78;}\nInInventory AttackUpStack, 10{DrawImage \"BTTLE0\", 15,86;}\nInInventory AttackUpStack, 20{DrawImage \"BTTLE0\", 15,82;}\nInInventory AttackUpStack, 30{DrawImage \"BTTLE0\", 15,78;}\n}\n\n//Assists\nInInventory RushJetCounter, 5{DrawImage \"RUSHH2H8\", 290,16;}\nInInventory RushJetCounter, 1{DrawImage \"RUSHOUT\", 290,16;}\nInInventory RushMarineCounter, 1{InInventory IsUnderWater, 1{\n\tInInventory RushMarineCounter, 5{DrawImage \"RUSHO0\", 290,8;}\n\tInInventory RushMarineCounter, 1{DrawImage \"RUSHMOUT\", 290,8;}}\n\tInInventory Not IsUnderWater, 1{DrawImage \"RUSHP0\", 290,8;}}\nInInventory BeatCallCheck, 1{DrawImage \"BEATD0\", 298,16;}\nInInventory BeatCounter, 5{DrawImage \"BEATB8B2\", 298,16;}\nInInventory BeatCounter, 1{DrawImage \"BEATOUT\",298,16;}\nInInventory BeatSupportActivated, 1{DrawImage \"BSPTA0\",314,16;}\nInInventory BeatSupportFired, 1 {DrawImage \"BSPTB0\",314,16;}\nInInventory Flashed, 1{DrawImage \"FBLIND\",  -30,-20;}\nInInventory EnergyBalancerActive, 1{DrawImage \"NRGOUT\", 267, 10;}\n\n//Boss Health\nInInventory BossHealth1, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth1, horizontal, 202, 184;}\nInInventory BossHealth2, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth2, horizontal, 202, 184;}\nInInventory BossHealth3, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth3, horizontal, 202, 184;}\nInInventory BossHealth4, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth4, horizontal, 202, 184;}\nInInventory BossHealth5, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth5, horizontal, 202, 184;}\nInInventory BossHealth6, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth6, horizontal, 202, 184;}\nInInventory BossHealth7, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth7, horizontal, 202, 168;}\nInInventory BossHealth8, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth8, horizontal, 202, 184;}\nInInventory EvilRobotShield, 1{DrawBar \"VARAMM32\", \"VAREMPTY\", BossHealth1, horizontal, 202, 184;}\n\n// Misc\nInInventory TimeStoppedCounter, 1{DrawImage \"FLASHS\", 36, 0;}\n\nInInventory MegaBusterEXE{\n\t//DrawImage \"VBGBAR\", 16, 0;\n\t//InInventory CustomAmmo,1{DrawBar\"VDABAR\", \"VEMBAR\", Ammo1, vertical, 18, 8;\n\t//InInventory CustomAmmo,30{Drawbar\"VDBBAR\",\"VEMBAR\",Ammo1,vertical,18,8;\n\t//InInventory CustomAmmo,60{Drawbar\"VDCBAR\",\"VEMBAR\",Ammo1,vertical,18,8;\n\t//InInventory CustomAmmo,90{Drawbar\"VDDBAR\",\"VEMBAR\",Ammo1,vertical,18,8;}}}}\n\t//else{DrawImage \"VEMBAR\", 18, 8;}}\n\t}\n\nInInventory ParaPlusTrigger, 1{DrawImage \"BTTLF0\", 8,78;}\nInInventory AttackUpStack, 10{DrawImage \"BTTLE0\", 15,86;}\nInInventory AttackUpStack, 20{DrawImage \"BTTLE0\", 15,82;}\nInInventory AttackUpStack, 30{DrawImage \"BTTLE0\", 15,78;}\n}\n}"
      },
      {
        "source": "pk3",
        "name": "FONTDEFS.txt",
        "contents": "BNNUMFONT\n\t{\n\t\t0 STYS8BN0\n\t\t1 STYS8BN1\n\t\t2 STYS8BN2\n\t\t3 STYS8BN3\n\t\t4 STYS8BN4\n\t\t5 STYS8BN5\n\t\t6 STYS8BN6\n\t\t7 STYS8BN7\n\t\t8 STYS8BN8\n\t\t9 STYS8BN9\n\t}"
      },
      {
        "source": "pk3",
        "name": "MENUDEF.txt",
        "contents": "//-------------------------------------------------------------------------------------------\n//\n// Note:\n// Much of the menu structure defined here is accessed internally by CCMDs\n// and menu generation code. If you want to design your own menus make sure\n// that they are named identically and that links to all important submenus\n// are present.\n//\n//-------------------------------------------------------------------------------------------\n\nDEFAULTLISTMENU\n{\n\tFont \"BigFont\", \"Untranslated\"\n\tIfGame(Doom, Chex)\n\t{\n\t\tSelector \"M_SKULL1\", -32, -5\n\t\tLinespacing 16\n\t\tFont \"BigFont\", \"MenuWhite\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tSelector \"M_CURS1\", -28, -5\n\t\tLinespacing 19\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tSelector \"M_SLCTR1\", -28, -1\n\t\tLinespacing 20\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The main menu. There's a lot of differences here between the games\n//\n//-------------------------------------------------------------------------------------------\n\nLISTMENU \"MainMenu\"\n{\n\tIfGame(Doom, Chex)\n\t{\n\t\tStaticPatch 94, 2, \"M_DOOM\"\n\t\tPosition 97, 72\n\t\tIfOption(ReadThis)\n\t\t{\n\t\t\tPosition 97, 64\n\t\t}\n\t}\n\tIfGame(Strife)\n\t{\n\t\tStaticPatch 84, 2, \"M_STRIFE\"\n\t\tPosition 97, 45\n\t}\n\tIfGame(Heretic)\n\t{\n\t\tStaticPatch 88, 0, \"M_HTIC\"\n\t\tStaticPatch 40, 10, \"M_SKL01\"\n\t\tStaticPatch 232, 10, \"M_SKL00\"\n\t\tPosition 110, 56\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tStaticPatch 88, 0, \"M_HTIC\"\n\t\tStaticPatch 37, 80, \"FBULB0\"\n\t\tStaticPatch 278, 80, \"FBULA0\"\n\t\tPosition 110, 56\n\t}\n\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tFont \"DBIGFONT\", \"MenuCyan\"\n\t\tTextItem \"Jack in\", \"s\", \"PlayerclassMenu\"\n\t\tFont \"DBIGFONT\", \"MenuBlue\"\n\t\tTextItem \"Netbattle\", \"m\", \"ZA_MultiplayerOptions\" // [Russ]\n\t\tFont \"DBIGFONT\", \"MenuPurple\"\n\t\tTextItem \"Player Profile\", \"p\", \"PlayerMenu\"\n\t\tFont \"DBIGFONT\", \"MenuWhite\"\n\t\tTextItem \"Library\", \"l\", \"LibraryMenu\"\n\t\tFont \"DBIGFONT\", \"MenuYellow\"\n\t\tTextItem \"Options\", \"o\", \"OptionsMenu\"\n\t\tFont \"DBIGFONT\", \"MenuRed\"\n\t\tTextItem \"Jack Out\", \"q\", \"QuitMenu\"\n\t}\n\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tTextItem \"$MNU_NEWGAME\", \"n\", \"PlayerclassMenu\"\n\t\tTextItem \"$MNU_OPTIONS\", \"o\", \"OptionsMenu\"\n\t\tTextItem \"$MNU_GAMEFILES\", \"g\", \"GameFilesMenu\"\n\t\tTextItem \"$MNU_INFO\", \"i\", \"ReadThisMenu\"\n\t\tTextItem \"$MNU_QUITGAME\", \"q\", \"QuitMenu\"\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Important note about the following template menus:\n// Don't even think about replacing them with something that's not an empty menu\n// with some static elements only. Proper function is not guaranteed then.\n//\n//-------------------------------------------------------------------------------------------\n\n//-------------------------------------------------------------------------------------------\n//\n// The player class menu\n// The init code will set the first item to 'autoselect' if it's the only one.\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"PlayerclassMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$NEWGAME\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CNEWGAME\"\n\t}\n\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticTextCentered 160, 15, \"$MNU_CHOOSECLASS\"\n\t\tPosition 48, 63\n\t\tPlayerDisplay 220, 63, \"20 00 00\", \"80 00 40\"\n\t\tMouseWindow 0, 220\n\t}\n\tIfGame(Heretic)\n\t{\n\t\tStaticTextCentered 160, 15, \"$MNU_CHOOSECLASS\"\n\t\tPosition 80, 50\n\t\tPlayerDisplay 220, 50, \"20 00 00\", \"80 00 40\"\n\t\tMouseWindow 0, 220\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tStaticText 34, 24, \"$MNU_CHOOSECLASS\"\n\t\tPosition 66, 58\n\t\tPlayerDisplay 174, 8, \"00 07 00\", \"40 53 40\"\n\t\tMouseWindow 0, 174\n\t}\n\t// The rest of this menu will be set up based on the actual player definitions.\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The episode menu\n// The init code will set the first item to 'autoselect' if it's the only one.\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"EpisodeMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$NEWGAME\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CNEWGAME\"\n\t}\n\n\tIfGame(Doom, Chex)\n\t{\n\t\tPosition 48, 63\n\t\tStaticPatch 54, 38, \"M_EPISOD\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tPosition 48, 63\n\t\tStaticText 54, 38, \"$MNU_EPISODE\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPosition 80, 50\n\t}\n\t// items will be filled in by MAPINFO\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The skill menu\n// Most of this will be filled in at runtime\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"SkillMenu\"\n{\n\n\tIfGame(Doom, Chex)\n\t{\n\t\tStaticPatch 96, 14, \"M_NEWG\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tStaticPatch 96, 14, \"M_NGAME\"\n\t}\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatch 54, 38, \"M_SKILL\"\n\t\tPosition 48, 63\n\t}\n\tIfGame (Heretic)\n\t{\n\t\tPosition 38, 30\n\t}\n\tIfGame (Hexen)\n\t{\n\t\tStaticText 74, 16, \"$MNU_CHOOSESKILL\"\n\t\tPosition 160, 44\n\t\tcentermenu\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Raven's game files menu\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"GameFilesMenu\"\n{\n\tPosition 110, 60\n\tTextItem \"$MNU_LOADGAME\", \"l\", \"LoadGameMenu\"\n\tTextItem \"$MNU_SAVEGAME\", \"s\", \"SaveGameMenu\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Base definition for load game menu. Only the configurable part is done here\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"LoadGameMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$LOADNET\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CLOADNET\"\n\t}\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatchCentered 160, -20, \"M_LOADG\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tStaticTextCentered 160, -10, \"$MNU_LOADGAME\"\n\t}\n\tPosition 80,54\n\tClass \"LoadMenu\"\t// uses its own implementation\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Base definition for save game menu. Only the configurable part is done here\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"SaveGameMenu\"\n{\n\tNetgameMessage \"$SAVENET\" // [TP] Zandronum doesn't allow the client to save the game.\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatchCentered 160, -20, \"M_SAVEG\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tStaticTextCentered 160, -10, \"$MNU_SAVEGAME\"\n\t}\n\tPosition 80,54\n\tClass \"SaveMenu\"\t// uses its own implementation\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The option menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"YesNo\"\n{\n\t0, \"No\"\n\t1, \"Yes\"\n}\n\nOptionValue \"NoYes\"\n{\n\t0, \"Yes\"\n\t1, \"No\"\n}\n\nOptionValue \"OnOff\"\n{\n\t0, \"Off\"\n\t1, \"On\"\n}\n\nOptionValue \"OffOn\"\n{\n\t0, \"On\"\n\t1, \"Off\"\n}\n\nOptionMenuSettings\n{\n\t// These can be overridden if a different menu fonts requires it.\n\tLinespacing 8\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tLinespacing 9\n\t}\n}\n\nDefaultOptionMenu\n{\n\tPosition -15\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPosition -13\n\t}\n}\n\n// [TP] Zandronum additions, these get filled in by the engine\nOptionValue ZA_Levels {}\nOptionValue ZA_Bots {}\nOptionValue ZA_Announcers {}\n// [TP] --\n\n//  MM8BDM\nOptionValue 8BDM_MapCards\n{\n\t0.0, \"Never\"\n\t1.0, \"Maps only\"\n\t2.0, \"Maps and Bosses\"\n}\n\nOptionValue \"MM8Music\"\n{\n\t0, \"Random\"\n\t1, \"PSX\"\n\t2, \"Saturn\"\n}\n\nOptionValue \"MM10Music\"\n{\n\t0, \"Random\"\n\t1, \"MM10\"\n\t2, \"Gameboy\"\n}\n\nOptionMenu \"OptionsMenu\"\n{\n\tTitle \"OPTIONS\"\n\t// [Russ] These were moved to the main menu.\n\t//Submenu \"Multiplayer Options\",\t\t\"ZA_MultiplayerOptions\" // [TP]\n\t//StaticText \" \" // [TP]\n\tSubmenu \"Customize Controls\",\t\t\"CustomizeControls\"\n\tSubmenu \"Mouse options\",\t\t\t\"MouseOptions\"\n\tSubmenu \"Joystick options\",\t\t\t\"JoystickOptions\"\n\tStaticText \" \"\n\tSubmenu \"Message Options\", \t\t\t\"MessageOptions\"\n\tStaticText \" \"\n\tSubmenu \"Sound Options\",\t\t\t\"SoundOptions\"\n\tSubmenu \"Display Options\",\t\t\t\"VideoOptions\"\n\tSubmenu \"Set video mode\",\t\t\t\"VideoModeMenu\"\n\tSubmenu \"Advanced Options\",\t\t\t\"8BDMAdvancedOptions\"\n\n\tStaticText \" \"\n\n\tStaticText\t\"MM8BDM Options\", 1\n\tStaticText \" \"\n\tOption \"Display Health Number\",\t\t\t\"mm8bdm_healthnumber\", \"OnOff\"\n\tOption \"Display Ammo Number\",\t\t\t\"mm8bdm_ammonumber\", \"OnOff\"\n\tOption \"Pickup Weapon Colors\",\t\t\t\"mm8bdm_noenergycolors\", \"OffOn\"\n\tOption \"Show Critical Death Gibs\",\t\t\"mm8bdm_enablegibs\", \"OnOff\"\n\tOption \"Show Map Creator Cards\",\t\t\"mm8bdm_mapcards\", \"8BDM_MapCards\"\n\tOption \"CTF Objective Compass\",\t\t\t\"mm8bdm_noctfradar\", \"OffOn\"\n\n\tStaticText \" \"\n\n\tStaticText\t\"Music Preferences\", 1\n\tStaticText \" \"\n\tOption \"Tengu Man Stage\",\t\t\t\"mm8bdm_music_tenguman\", \"MM8Music\"\n\tOption \"Enker Stage\",\t\t\t\"mm8bdm_music_enker\", \"MM10Music\"\n\tOption \"Punk Stage\",\t\t\t\"mm8bdm_music_punk\", \"MM10Music\"\n\tOption \"Ballade Stage\",\t\t\t\"mm8bdm_music_ballade\", \"MM10Music\"\n\n}\n\nOptionMenu \"8BDMAdvancedOptions\"\n{\n\tTitle \"ADVANCED OPTIONS\"\n\tSubmenu \"Gameplay Options\",\t\t\t\"GameplayOptions\"\n\tSubmenu \"Compatibility Options\",\t\"CompatibilityOptions\"\n\tSubmenu \"Automap Options\",\t\t\t\"AutomapOptions\"\n\tSubmenu \"HUD Options\",\t\t\t\t\"HUDOptions\"\n\tSubmenu \"Miscellaneous Options\",\t\"MiscOptions\"\n\tStaticText \" \"\n\tSubmenu \"Load Game (Doom)\", \"LoadGameMenu\"\n\tSubmenu \"Save Game (Doom)\", \"SaveGameMenu\"\n\tStaticText \" \"\n\tSafeCommand \"Boost Save Data\", \"boostsavedata\"\n    StaticText \" \"\n\tSafeCommand \"Reset to defaults\",\t\"reset2defaults\"\n\tSafeCommand\t\"Reset to last saved\",\t\"reset2saved\"\n\tCommand \"Go to console\",\t\t\t\"menuconsole\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The player menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"Gender\"\n{\n\t0, \"Male\"\n\t1, \"Female\"\n\t2, \"Other\"\n}\n\nOptionValue \"Autoaim\"\n{\n\t0, \"Never\"\n\t1, \"Very low\"\n\t2, \"Low\"\n\t3, \"Medium\"\n\t4, \"High\"\n\t5, \"Very high\"\n\t6, \"Always\"\n}\n\nListMenu \"PlayerMenu\"\n{\n\tStaticTextCentered 160, 6, \"$MNU_PLAYERSETUP\"\n\tFont \"SmallFont\"//, \"White\", \"Cyan\"\n\tLinespacing 14\n\tPosition 48, 36\n\tIfGame(Doom, Heretic, Strife, Chex)\n\t{\n\t\tMouseWindow 0, 220\n\t\tPlayerDisplay 220, 55, \"00 00 00\", \"00 AA AA\", 1, \"PlayerDisplay\"\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tMouseWindow 0, 220\n\t\tPlayerDisplay 220, 75, \"00 07 00\", \"40 53 40\", 1, \"PlayerDisplay\"\n\t}\n\n\tIfGame (Doom, Strife, Chex)\n\t{\n\t\tPlayerNameBox \"Name\", 0, \"Playerbox\"\n\t\tSelector \"-\", -16, -1\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPlayerNameBox \"Name\", 5, \"Playerbox\"\n\t\tSelector \"-\", -16, 1\n\t}\n\n\t// [TP] Zandronum does not store team in userinfo\n\t// ValueText \"Team\", \"Team\"\n\t// [TP] For now Zandronum doesn't support colorsets either.\n\t// ValueText \"Color\", \"Color\"\n\tLinespacing 14\n\t//Slider \"Red\", \"Red\", 0, 255, 16\n\t//Slider \"Green\", \"Green\", 0, 255, 16\n\t//Linespacing 14\n\t//Slider \"Blue\", \"Blue\", 0, 255, 16\n\tValueText \"BatlData\", \"Class\"\n\tValueText \"Skin\", \"Skin\"\n\tValueText \"Gender\", \"Gender\", \"Gender\"\n\tValueText \"Autoaim\", \"Autoaim\", \"Autoaim\"\n\t//Slider \"Handicap\", \"Handicap\", 0, 200, 5 // [TP]\n\t// [TP] This is moved to weapon setup\n\t// ValueText \"Switch on pickup\", \"Switch\", \"OffOn\"\n\tValueText \"Always Run\", \"AlwaysRun\", \"OnOff\"\n\t//ValueText \"Chat Substitution\", \"chat_substitution\", \"OnOff\" (doesn't work :/)\n\tTextItem \"Weapon Setup\", \"w\", \"ZA_WeaponSetup\" // [TP]\n\n\tClass \"PlayerMenu\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Controls Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue JoinMenuKeys\n{\n\t0.0, \"Space\"\n\t1.0, \"Enter\"\n}\n\nOptionMenu \"CustomizeControls\"\n{\n\tTitle \"CUSTOMIZE CONTROLS\"\n\tScrollTop 2\n\tStaticTextSwitchable \t\"ENTER to change, BACKSPACE to clear\", \"Press new key for control, ESC to cancel\", \"ControlMessage\"\n\t// [Russ] MM8BDM core controls\n\tStaticText \t\"\"\n\tStaticText\t\"Basic Controls\", 1\n\tControl \t\"Move forward\",\t\t\t\"+forward\"\n\tControl \t\"Move backward\",\t\t\"+back\"\n\tControl \t\"Move left\",\t\t\t\"+moveleft\"\n\tControl \t\"Move right\",\t\t\t\"+moveright\"\n\tControl \t\"Jump\",\t\t\t\t\t\"+jump\"\n\tControl \t\"Primary Fire\",\t\t\t\"+attack\"\n\tControl \t\"Alternate Fire\",\t\t\"+altattack\"\n\tControl \t\"Next weapon\",\t\t\t\"weapnext\"\n\tControl \t\"Previous weapon\",\t\t\"weapprev\"\n\tControl \t\"Use item\",\t\t\t\t\"invuse\"\n\tControl \t\"Next item\",\t\t\t\"invnext\"\n\tControl \t\"Previous item\",\t\t\"invprev\"\n\tControl \t\"Show Scoreboard\",\t\t\"+showscores\"\n\n\tStaticText\t\"\"\n\tStaticText \t\"Expanded Controls\", 1\n\tControl \t\"Primary Fire\",\t\t\t\"+attack\"\n\tControl \t\"Alternate Fire\",\t\t\"+altattack\"\n\t//Control \t\"Weapon Reload\",\t\t\"+reload\"\n\t//Control \t\"Weapon Zoom\",\t\t\t\"+zoom\"\n\tControl \t\"Move forward\",\t\t\t\"+forward\"\n\tControl \t\"Move backward\",\t\t\"+back\"\n\tControl \t\"Strafe left\",\t\t\t\"+moveleft\"\n\tControl \t\"Strafe right\",\t\t\t\"+moveright\"\n\tControl \t\"Turn left\",\t\t\t\"+left\"\n\tControl \t\"Turn right\",\t\t\t\"+right\"\n\tControl \t\"Jump\",\t\t\t\t\t\"+jump\"\n\tControl \t\"Crouch\",\t\t\t\t\"+crouch\"\n\tControl \t\"Crouch Toggle\",\t\t\"crouch\"\n\tControl \t\"Fly / Swim up\",\t\t\"+moveup\"\n\tControl \t\"Fly / Swim down\",\t\t\"+movedown\"\n\t//Control \t\"Stop flying\",\t\t\t\"land\"\n\tControl \t\"Mouse look\",\t\t\t\"+mlook\"\n\tControl \t\"Keyboard look\",\t\t\"+klook\"\n\tControl \t\"Look up\",\t\t\t\t\"+lookup\"\n\tControl \t\"Look down\",\t\t\t\"+lookdown\"\n\tControl \t\"Center view\",\t\t\t\"centerview\"\n\tControl\t\t\"Run Toggle\",\t\t\t\"toggle cl_run\"\n\tControl \t\"Run\",\t\t\t\t\t\"+speed\"\n\tControl \t\"Strafe\",\t\t\t\t\"+strafe\"\n\tControl \t\"Show Scoreboard\",\t\t\"+showscores\"\n\tControl\t\t\"Show medals\",\t\t\t\"+showmedals\" // [TP]\n\tStaticText \t\"\"\n\tStaticText \t\"Weapons\", 1\n\tControl \t\"Next weapon\",\t\t\t\"weapnext\"\n\tControl \t\"Previous weapon\",\t\t\"weapprev\"\n\tControl\t\t\"Weapon Slot 1\",\t\t\"slot 1\"\n\tControl\t\t\"Weapon Slot 2\",\t\t\"slot 2\"\n\tControl\t\t\"Weapon Slot 3\",\t\t\"slot 3\"\n\tControl\t\t\"Weapon Slot 4\",\t\t\"slot 4\"\n\tControl\t\t\"Weapon Slot 5\",\t\t\"slot 5\"\n\tControl\t\t\"Weapon Slot 6\",\t\t\"slot 6\"\n\tControl\t\t\"Weapon Slot 7\",\t\t\"slot 7\"\n\tControl\t\t\"Weapon Slot 8\",\t\t\"slot 8\"\n\tControl\t\t\"Weapon Slot 9\",\t\t\"slot 9\"\n\tControl\t\t\"Weapon Slot 0\",\t\t\"slot 0\"\n\tStaticText \t\"\"\n\tStaticText \t\"Inventory\", 1\n\tControl \t\"Use item\",\t\t\t\t\"invuse\"\n\tControl \t\"Use all items\",\t\t\"invuseall\"\n\tControl \t\"Next item\",\t\t\t\"invnext\"\n\tControl \t\"Previous item\",\t\t\"invprev\"\n\tControl \t\"Drop item\",\t\t\t\"invdrop\"\n\tControl\t\t\"Query item\",\t\t\t\"invquery\"\n\tControl \t\"Drop weapon\",\t\t\t\"weapdrop\"\n\t// [TP] Voting controls\n\tStaticText \t\"\"\n\tStaticText \t\"Multiplayer Interaction\", 1\n\tControl \t\"Chat\",\t\t\t\t\t\"messagemode\"\n\tControl \t\"Team Chat\",\t\t\t\"messagemode2\"\n\tControl\t\t\"Vote yes\",\t\t\t\t\"vote_yes\"\n\tControl\t\t\"Vote no\",\t\t\t\t\"vote_no\"\n\t// [TP] --\n\tStaticText \t\"\"\n\tStaticText \t\"Other\", 1\n\tControl \t\"Use / Open\",\t\t\t\"+use\"\n\tControl \t\"Toggle automap\",\t\t\"togglemap\"\n\tControl \t\"Chasecam\",\t\t\t\t\"chase\"\n\tControl \t\"Coop spy\",\t\t\t\t\"spynext\"\n\tControl \t\"Screenshot\",\t\t\t\"screenshot\"\n\tControl\t\t\"Spectate\",\t\t\t\t\"spectate\" // [TP]\n\tControl\t\t\"Taunt\",\t\t\t\t\"taunt\" // [TP]\n\tOption\t\t\"Join the game\",\t\t\"joinmenukey\", \"JoinMenuKeys\" // [TP]\n\tControl\t\t\"Join the game (custom)\", \"menu_join\" // [TP]\n\tControl\t\t\"Display Map Author Card\",\t\"mapcard\"\n\tControl  \t\"Open console\",\t\t\t\"toggleconsole\"\n\tStaticText \t\"\"\n\tStaticText \t\"Strife Popup Screens\", 1\n\tControl \t\"Mission objectives\",\t\"showpop 1\"\n\tControl \t\"Keys list\",\t\t\t\"showpop 2\"\n\tControl \t\"Weapons/ammo/stats\",\t\"showpop 3\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Mouse Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"Corners\"\n{\n\t-1, \"Off\"\n\t0, \"Upper left\"\n\t1, \"Upper right\"\n\t2, \"Lower left\"\n\t3, \"Lower right\"\n}\n\nOptionValue \"MenuMouse\"\n{\n\t0, \"No\"\n\t1, \"Yes\"\n\t2, \"Touchscreen-like\"\n}\n\nOptionString \"Cursors\"\n{\n\t\"None\", \"Default\"\n\t\"cursor\", \"Simple arrow\"\n\t\"doomcurs\", \"Doom\"\n\t\"herecurs\", \"Heretic\"\n\t\"hexncurs\", \"Hexen\"\n\t\"strfcurs\", \"Strife\"\n\t\"chexcurs\", \"Chex\"\n\t\"-\", \"System cursor\"\n}\n\nOptionMenu \"MouseOptions\"\n{\n\tTitle \"MOUSE OPTIONS\"\n\tOption \"Enable mouse\",\t\t\t\t\"use_mouse\", \"YesNo\"\n\tOption \"Enable mouse in menus\",\t\"m_use_mouse\", \"MenuMouse\", \"use_mouse\"\n\tOption \"Show back button\",\t\t\"m_show_backbutton\", \"Corners\", \"use_mouse\"\n\tOption \"Cursor\",\t\t\t\t\"vid_cursor\", \"Cursors\"\n\tStaticText \t\"\"\n\tSlider \"Overall sensitivity\",\t\t\"mouse_sensitivity\", 0.5, 2.5, 0.1\n\tOption \"Prescale mouse movement\",\t\"m_noprescale\", \"NoYes\"\n\tOption \"Smooth mouse movement\",\t\t\"smooth_mouse\", \"YesNo\"\n\tStaticText \t\"\"\n\tSlider \"Turning speed\",\t\t\t\t\"m_yaw\", 0, 2.5, 0.1\n\tSlider \"Mouselook speed\",\t\t\t\"m_pitch\", 0, 2.5, 0.1\n\tSlider \"Forward/Backward speed\",\t\"m_forward\", 0, 2.5, 0.1\n\tSlider \"Strafing speed\",\t\t\t\"m_side\", 0, 2.5, 0.1\n\tStaticText \t\"\"\n\tOption \"Always Mouselook\",\t\t\t\"freelook\", \"OnOff\"\n\tOption \"Invert Mouse\",\t\t\t\t\"invertmouse\", \"OnOff\"\n\tOption \"Lookspring\",\t\t\t\t\"lookspring\", \"OnOff\"\n\tOption \"Lookstrafe\",\t\t\t\t\"lookstrafe\", \"OnOff\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Joystick Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu \"JoystickOptions\"\n{\n\tTitle \"CONTROLLER OPTIONS\"\n\t// Will be filled in by joystick code.\n}\n\nOptionValue \"JoyAxisMapNames\"\n{\n\t-1, \"None\"\n\t0, \"Turning\"\n\t1, \"Looking Up/Down\"\n\t2, \"Moving Forward\"\n\t3, \"Strafing\"\n\t4, \"Moving Up/Down\"\n}\n\nOptionValue \"Inversion\"\n{\n\t0, \"Not Inverted\"\n\t1, \"Inverted\"\n}\n\nOptionMenu \"JoystickConfigMenu\"\n{\n\tTitle \"CONFIGURE CONTROLLER\"\n\tClass \"JoystickConfigMenu\"\n\t// Will be filled in by joystick code.\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Video Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue ColumnMethods\n{\n\t0.0, \"Original\"\n\t1.0, \"Optimized\"\n}\n\nOptionValue RocketTrailTypes\n{\n\t0.0, \"Off\"\n\t1.0, \"Particles\"\n\t2.0, \"Sprites\"\n\t3.0, \"Sprites & Particles\"\n}\n\nOptionValue BloodTypes\n{\n\t0.0, \"Sprites\"\n\t1.0, \"Sprites & Particles\"\n\t2.0, \"Particles\"\n}\n\nOptionValue PuffTypes\n{\n\t0.0, \"Sprites\"\n\t1.0, \"Particles\"\n}\n\nOptionValue Wipes\n{\n\t0.0, \"None\"\n\t1.0, \"Melt\"\n\t2.0, \"Burn\"\n\t3.0, \"Crossfade\"\n}\n\nOptionValue Endoom\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Only modified\"\n}\n\nOptionValue Contrast\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Smooth\"\n}\n\nOptionValue Fuzziness\n{\n\t0.0, \"Translucent\"\n\t1.0, \"Fuzz\"\n\t2.0, \"Shadow\"\n}\n\n// [TP]\nOptionValue ZA_RespawnInvulEffects\n{\n\t0.0, \"None\"\n\t1.0, \"Skulltag\"\n\t2.0, \"ZDoom\"\n}\n\nOptionMenu \"GLTextureGLOptions\"\n{\n\tTitle \"TEXTURE OPTIONS\"\n\tOption \"Textures enabled\",\t\t\tgl_texture,\t\t\t\t\t\t\"YesNo\"\n\tOption \"Texture Filter mode\",\t\tgl_texture_filter,\t\t\t\t\"FilterModes\"\n\tOption \"Anisotropic filter\",\t\tgl_texture_filter_anisotropic,\t\"Anisotropy\"\n\tOption \"Texture Format\",\t\t\tgl_texture_format,\t\t\t\t\"TextureFormats\"\n\tOption \"Enable hires textures\",\t\tgl_texture_usehires,\t\t\t\"YesNo\"\n\tOption \"High Quality Resize mode\",\tgl_texture_hqresize,\t\t\t\"HqResizeModes\"\n\tOption \"Resize textures\",\t\t\tgl_texture_hqresize_textures,\t\"OnOff\"\n\tOption \"Resize sprites\",\t\t\tgl_texture_hqresize_sprites,\t\"OnOff\"\n\tOption \"Resize fonts\",\t\t\t\tgl_texture_hqresize_fonts,\t\t\"OnOff\"\n\tOption \"Precache GL textures\",\t\tgl_precache,\t\t\t\t\t\"YesNo\"\n\tOption \"Camera textures offscreen\",\tgl_usefb,\t\t\t\t\t\t\"OnOff\"\n\tOption \"Trim sprite edges\",\t\t\tgl_trimsprites,\t\t\t\t\t\"OnOff\"\n}\n\nOptionMenu \"GLLightOptions\"\n{\n\tTitle \"DYNAMIC LIGHTS\"\n\tOption \"Dynamic Lights enabled\",\tgl_lights,\t\t\t\t\t\t\"YesNo\"\n\tOption \"Enable light definitions\",\tgl_attachedlights,\t\t\t\t\"YesNo\"\n\tOption \"Clip lights\",\t\t\t\tgl_lights_checkside,\t\t\t\"YesNo\"\n\tOption \"Lights affect sprites\",\t\tgl_light_sprites,\t\t\t\t\"YesNo\"\n\tOption \"Lights affect particles\",\tgl_light_particles,\t\t\t\t\"YesNo\"\n\tOption \"Force additive lighting\",\tgl_lights_additive,\t\t\t\t\"YesNo\"\n\tSlider \"Light intensity\",\t\t\tgl_lights_intensity, \t\t\t0.0, 1.0, 0.1\n\tSlider \"Light size\",\t\t\t\tgl_lights_size,\t\t\t\t\t0.0, 2.0, 0.1\n\tOption \"Use shaders for lights\",\tgl_dynlight_shader,\t\t\t\t\"YesNo\"\n}\n\nOptionMenu \"GLPrefOptions\"\n{\n\tTitle \"OPENGL PREFERENCES\"\n\tOption \"Sector light mode\",\t\t\tgl_lightmode,\t\t\t\t\t\"LightingModes\"\n\tOption \"Fog mode\",\t\t\t\t\tgl_fogmode,\t\t\t\t\t\t\"FogMode\"\n\tOption \"Fog forces fullbright\",\t\tgl_brightfog,\t\t\t\t\t\"YesNo\"\n\tSlider \"Weapon light strength\",\t\tgl_weaponlight,\t\t\t\t\t0,32, 2\n\tOption \"Environment map on mirrors\",gl_mirror_envmap,\t\t\t\t\"OnOff\"\n\tOption \"Enhanced night vision mode\",gl_enhanced_nightvision,\t\t\"OnOff\"\n\tOption \"ENV shows stealth monsters\",gl_enhanced_nv_stealth,\t\t\t\"EnhancedStealth\"\n\tOption \"Force brightness in fog\",\tgl_spritebrightfog,\t\t\t\t\"OnOff\"\n\tOption \"Adjust sprite clipping\",\tgl_spriteclip,\t\t\t\t\t\"SpriteclipModes\"\n\tOption \"Smooth sprite edges\",\t\tgl_sprite_blend,\t\t\t\t\"OnOff\"\n\tOption \"Fuzz Style\",\t\t\t\tgl_fuzztype,\t\t\t\t\t\"FuzzStyle\"\n\tOption \"Sprite billboard\",\t\t\tgl_billboard_mode,\t\t\t\t\"BillboardModes\"\n\tOption \"Particle style\",\t\t\tgl_particles_style,\t\t\t\t\"Particles\"\n\tSlider \"Ambient light level\",\t\tgl_light_ambient,\t\t\t\t1.0, 255.0, 5.0\n\tOption \"Rendering quality\",\t\t\tgl_render_precise,\t\t\t\t\"Precision\"\n\tOption \"Use vertex buffer\",\t\t\tgl_usevbo,\t\t\t\t\t\t\"VBOModes\"\n\t// [BB]\n\tOption \"Use models\",\t\t\t\tgl_use_models,\t\t\t\t\t\"OnOff\"\n}\n\nOptionMenu \"GLShaderOptions\"\n{\n\tTitle \"SHADER OPTIONS\"\n\tOption \"Enable brightness maps\",\tgl_brightmap_shader,\t\t\t\"OnOff\"\n\tOption \"Shaders for texture warp\",\tgl_warp_shader,\t\t\t\t\t\"OnOff\"\n\tOption \"Shaders for fog\",\t\t\tgl_fog_shader,\t\t\t\t\t\"OnOff\"\n\tOption \"Shaders for colormaps\",\t\tgl_colormap_shader,\t\t\t\t\"OnOff\"\n\tOption \"Shaders for glowing textures\",\tgl_glow_shader,\t\t\t\t\"OnOff\"\n}\nOptionMenu \"OpenGLOptions\"\n{\n\tTitle \"OPENGL OPTIONS\"\n\tSubmenu \"Dynamic Light Options\",\t\"GLLightOptions\"\n\tSubmenu \"Texture Options\", \t\t\t\"GLTextureGLOptions\"\n\tSubmenu \"Shader Options\", \t\t\t\"GLShaderOptions\"\n\tSubmenu \"Preferences\", \t\t\t\t\"GLPrefOptions\"\n}\n\nOptionMenu \"VideoOptions\"\n{\n\tTitle \"DISPLAY OPTIONS\"\n\n\tSubmenu \"OpenGL Options\", \t\t\t\"OpenGLOptions\"\n\tSubmenu \"Scoreboard Options\", \t\t\"ScoreboardOptions\"\n\tStaticText \" \"\n\tSlider \"Screen size\",\t\t\t\t\"screenblocks\", 3.0, 12.0, 1.0, 0\n\tSlider \"Brightness\",\t\t\t\t\"Gamma\", 0.75, 3.0, 0.05, 2\n\tOption \"Vertical Sync\",\t\t\t\t\"vid_vsync\", \"OnOff\"\n\tOption \"Column render mode\",\t\t\"r_columnmethod\", \"ColumnMethods\"\n\n\tIfOption(Windows)\n\t{\n\t\tOption\t\"Show ENDOOM screen\",\t\"showendoom\", \"Endoom\"\n\t\t//Option \"DirectDraw palette hack\", \"vid_palettehack\", \"OnOff\"\n\t\t//Option \"Use attached surfaces\", \"vid_attachedsurfaces\", \"OnOff\"\n\t}\n\n\tOption \"Stretch short skies\",\t\t\"r_stretchsky\", \"OnOff\"\n\tOption \"Use fuzz effect(Doom)\",\t\t\t\"r_drawfuzz\", \"Fuzziness\"\n\t//Slider \"Lost Soul translucency\",\t\"transsouls\", 0.25, 1.0, 0.05, 2\n\tOption \"Use fake contrast\",\t\t\t\"r_fakecontrast\", \"Contrast\"\n\t//Option \"Rocket Trails\",\t\t\t\t\"cl_rockettrails\", \"RocketTrailTypes\"\n\t//Option \"Blood Type\",\t\t\t\t\"cl_bloodtype\", \"BloodTypes\"\n\t//Option \"Bullet Puff Type\",\t\t\t\"cl_pufftype\", \"PuffTypes\"\n\tSlider \"Number of particles\",\t\t\"r_maxparticles\", 100, 10000, 100, 0\n\tOption \"Show player sprites\",\t\t\"r_drawplayersprites\", \"OnOff\"\n\tOption \"Death camera\",\t\t\t\t\"r_deathcamera\", \"OnOff\"\n\tOption \"Teleporter zoom\",\t\t\t\"telezoom\", \"OnOff\"\n\tSlider \"Earthquake shake intensity\",\t\"r_quakeintensity\", 0.0, 1.0, 0.05, 2\n\tOption \"Interpolate monster movement\",\t\"nomonsterinterpolation\", \"NoYes\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// HUD menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue DisplayTagsTypes\n{\n\t0.0, \"None\"\n\t1.0, \"Items\"\n\t2.0, \"Weapons\"\n\t3.0, \"Both\"\n}\n\nOptionValue TextColors\n{\n\t0.0, \"\\cabrick\"\n\t1.0, \"\\cbtan\"\n\t2.0, \"\\ccgray\"\n\t3.0, \"\\cdgreen\"\n\t4.0, \"\\cebrown\"\n\t5.0, \"\\cfgold\"\n\t6.0, \"\\cgred\"\n\t7.0, \"\\chblue\"\n\t8.0, \"\\ciorange\"\n\t9.0, \"\\cjwhite\"\n\t10.0, \"\\ckyellow\"\n\t11.0, \"\\cldefault\"\n\t12.0, \"\\cmblack\"\n\t13.0, \"\\cnlight blue\"\n\t14.0, \"\\cocream\"\n\t15.0, \"\\cpolive\"\n\t16.0, \"\\cqdark green\"\n\t17.0, \"\\crdark red\"\n\t18.0, \"\\csdark brown\"\n\t19.0, \"\\ctpurple\"\n\t20.0, \"\\cudark gray\"\n\t21.0, \"\\cvcyan\"\n}\n\nOptionValue Crosshairs\n{\n\t// will be filled in from the XHAIRS lump\n}\n\nOptionValue ZDoomHexen\n{\n\t0.0, \"ZDoom\"\n\t1.0, \"Hexen\"\n}\n\nOptionValue ZDoomStrife\n{\n\t0.0, \"ZDoom\"\n\t1.0, \"Strife\"\n}\n\n// [TP]\nOptionValue ZA_VotingDisplay\n{\n\t0, \"Minimal\"\n\t1, \"Fullscreen\"\n}\n\n// [TP]\nOptionValue ZA_FullscreenHUD\n{\n\t0, \"Classic style\"\n\t1, \"New style\"\n}\n\nOptionMenu \"HUDOptions\"\n{\n\tTitle \"HUD Options\"\n\tSubmenu \"Alternative HUD\",\t\t\t\"AltHudOptions\"\n\tStaticText \" \"\n\tOption \"Default Crosshair\",\t\t\t\"crosshair\", \"Crosshairs\"\n\tOption \"Force default crosshair\",\t\"crosshairforce\", \"OnOff\"\n\tOption \"Grow crosshair when picking up items\",\t\"crosshairgrow\", \"OnOff\"\n\tColorPicker \"Crosshair color\", \t\t\"crosshaircolor\"\n\tOption \"Crosshair shows health\",\t\"crosshairhealth\", \"OnOff\"\n\tOption \"Scale crosshair\",\t\t\t\"crosshairscale\", \"OnOff\"\n\tOption \"Voting display\",\t\t\t\"cl_showfullscreenvote\", \"ZA_VotingDisplay\"\n\tOption \"Fullscreen HUD\",\t\t\t\"cl_stfullscreenhud\", \"ZA_FullscreenHUD\"\n\tStaticText \" \"\n\tOption \"Large frag messages\",\t\t\"cl_showlargefragmessages\",\t\"YesNo\" // [TP]\n\tOption \"Draw coop info\",\t\t\t\"cl_drawcoopinfo\", \"YesNo\" // [TP]\n\tOption \"Display nametags\",\t\t\t\"displaynametags\", \"DisplayTagsTypes\"\n\tOption \"Nametag color\",\t\t\t\t\"nametagcolor\", \"TextColors\", \"displaynametags\"\n\tOption \"Stretch status bar\",\t\t\"st_scale\", \"OnOff\"\n\tOption \"Stretch Fullscreen HUD\",\t\"hud_scale\", \"OnOff\"\n\tOption \"Use old ouch mug shot formula\",\t\"st_oldouch\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Hexen weapon flashes\",\t\t\"pf_hexenweaps\",\t\"ZDoomHexen\"\n\tOption \"Poison damage flashes\",\t\t\"pf_poison\",\t\t\"ZDoomHexen\"\n\tOption \"Ice death flashes\",\t\t\t\"pf_ice\",\t\t\t\"ZDoomHexen\"\n\tOption \"Poison Buildup flashes\",\t\"pf_hazard\",\t\t\"ZDoomStrife\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Alternative HUD\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"AMCoordinates\"\n{\n\t0, \"Player\"\n\t1, \"Map\"\n}\n\nOptionValue \"AltHUDScale\"\n{\n\t0, \"Off\"\n\t1, \"Scale to 640x400\"\n\t2, \"Pixel double\"\n}\n\nOptionValue \"AltHUDTime\"\n{\n\t0, \"Off\"\n\t1, \"Level, milliseconds\"\n\t2, \"Level, seconds\"\n\t3, \"Level\"\n\t4, \"Hub, seconds\"\n\t5, \"Hub\"\n\t6, \"Total, seconds\"\n\t7, \"Total\"\n\t8, \"System, seconds\"\n\t9, \"System\"\n}\n\nOptionMenu \"AltHUDOptions\"\n{\n\tTitle \"Alternative HUD\"\n\t//Indent 220\n\tOption \"Enable alternative HUD\",\t\t\t\t\"hud_althud\", \"OnOff\"\n\tOption \"Stretch alternative HUD\",\t\t\t\t\"hud_althudscale\", \"AltHUDScale\"\n\tOption \"Show secret count\",\t\t\t\t\t\t\"hud_showsecrets\", \"OnOff\"\n\tOption \"Show monster count\",\t\t\t\t\t\"hud_showmonsters\", \"OnOff\"\n\tOption \"Show item count\",\t\t\t\t\t\t\"hud_showitems\", \"OnOff\"\n\tOption \"Show stamina and accuracy\",\t\t\t\t\"hud_showstats\", \"OnOff\"\n\tOption \"Show berserk\",\t\t\t\t\t\t\t\"hud_berserk_health\", \"OnOff\"\n\tOption \"Show time\",\t\t\t\t\t\t\t\t\"hud_showtime\", \"AltHUDTime\"\n\tOption \"Time color\",\t\t\t\t\t\t\t\"hud_timecolor\", \"TextColors\"\n\tSlider \"Red ammo display below %\",\t\t\t\t\"hud_ammo_red\", 0, 100, 1, 0\n\tSlider \"Yellow ammo display below %\",\t\t\t\"hud_ammo_yellow\", 0, 100, 1, 0\n\tSlider \"Red health display below\",\t\t\t\t\"hud_health_red\", 0, 100, 1, 0\n\tSlider \"Yellow health display below\",\t\t\t\"hud_health_yellow\", 0, 100, 1, 0\n\tSlider \"Green health display below\",\t\t\t\"hud_health_green\", 0, 100, 1, 0\n\tSlider \"Red armor display below\",\t\t\t\t\"hud_armor_red\", 0, 100, 1, 0\n\tSlider \"Yellow armor display below\",\t\t\t\"hud_armor_yellow\", 0, 100, 1, 0\n\tSlider \"Green armor display below\",\t\t\t\t\"hud_armor_green\", 0, 100, 1, 0\n\tStaticText \" \"\n\tStaticText \"Alternative Automap HUD\", 1\n\toption \"Map title color\",\t\t\t\t\t\t\"hudcolor_titl\", \"TextColors\"\n\toption \"Map time color\",\t\t\t\t\t\t\"hudcolor_ltim\", \"TextColors\"\n\toption \"Hub time color\",\t\t\t\t\t\t\"hudcolor_time\", \"TextColors\"\n\toption \"Total time color\",\t\t\t\t\t\t\"hudcolor_ttim\", \"TextColors\"\n\toption \"Coordinate color\",\t\t\t\t\t\t\"hudcolor_xyco\", \"TextColors\"\n\toption \"Coordinate mode\",\t\t\t\t\t\t\"map_point_coordinates\", \"AMCoordinates\"\n\toption \"Statistics name color\",\t\t\t\t\t\"hudcolor_statnames\", \"TextColors\"\n\toption \"Statistics color\",\t\t\t\t\t\t\"hudcolor_stats\", \"TextColors\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Misc menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue Autosave\n{\n\t0,\t\"Always\"\n\t1,\t\"Scripts Only\"\n\t2,\t\"Never\"\n}\n\nOptionValue dehopt\n{\n\t0,\t\"Never\"\n\t1,\t\"All\"\n\t2,\t\"Only last one\"\n}\n\nOptionMenu \"MiscOptions\"\n{\n\tTitle \"Miscellaneous Options\"\n\t//Indent 220\n\tIfOption(Windows)\n\t{\n\t\tOption \"Merge left+right Alt/Ctrl/Shift\", \t\t\"k_mergekeys\", \"OnOff\"\n\t\tOption \"Alt-Enter toggles fullscreen\",\t\t\t\"k_allowfullscreentoggle\", \"OnOff\"\n\t}\n\tOption \"Show IWAD selection dialog\",\t\t\t\"queryiwad\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Enable cheats from all games\",\t\t\t\"allcheats\", \"OnOff\"\n\tOption \"Enable autosaves\",\t\t\t\t\t\t\"disableautosave\", \"Autosave\"\n\tSlider \"Number of autosaves\",\t\t\t\t\t\"autosavecount\", 1, 20, 1, 0\n\tOption \"Load *.deh/*.bex lumps\",\t\t\t\t\"dehload\", \"dehopt\"\n\tStaticText \" \"\n\tOption \"Cache nodes\",\t\t\t\t\t\t\t\"gl_cachenodes\", \"OnOff\"\n\tSlider \"Time threshold for node caching\",\t\t\"gl_cachetime\", 0.0, 2.0, 0.1\n\tSafeCommand \"Clear node cache\",\t\t\t\t\t\"clearnodecache\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue MapColorTypes\n{\n\t0, \"Custom\"\n\t1, \"Traditional Doom\"\n\t2, \"Traditional Strife\"\n\t3, \"Traditional Raven\"\n}\n\nOptionValue SecretTypes\n{\n\t0, \"Never\"\n\t1, \"Only when found\"\n\t2, \"Always\"\n}\n\nOptionValue RotateTypes\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"On for overlay only\"\n}\n\nOptionValue OverlayTypes\n{\n\t0, \"Off\"\n\t1, \"Overlay+Normal\"\n\t2, \"Overlay Only\"\n}\n\nOptionValue MaplabelTypes\n{\n\t0, \"Never\"\n\t1, \"Always\"\n\t2, \"Not for hubs\"\n}\n\nOptionValue STSTypes\n{\n\t0, \"Off\"\n\t1, \"Front\"\n\t2, \"Animated\"\n\t3, \"Rotated\"\n}\n\nOptionValue MapBackTypes\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Map defined colors only\"\n}\n\nOptionMenu AutomapOptions\n{\n\tTitle \"AUTOMAP OPTIONS\"\n\tOption \"Map color set\",\t\t\t\t\"am_colorset\", \"MapColorTypes\"\n\tOption \"Allow map defined colors\",\t\"am_customcolors\", \"YesNo\"\n\tSubmenu \"Set custom colors\",\t\t\"MapColorMenu\"\n\tSubmenu \"Customize map controls\",\t\"MapControlsMenu\"\n\tStaticText \" \"\n\tOption \"Rotate automap\",\t\t\t\"am_rotate\", \"RotateTypes\"\n\tOption \"Overlay automap\",\t\t\t\"am_overlay\", \"OverlayTypes\"\n\tOption \"Enable textured display\",\t\"am_textured\", \"OnOff\"\n\tOption \"Follow player\",\t\t\t\t\"am_followplayer\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Show item counts\",\t\t\t\"am_showitems\", \"OnOff\"\n\tOption \"Show monster counts\",\t\t\"am_showmonsters\", \"OnOff\"\n\tOption \"Show secret counts\",\t\t\"am_showsecrets\", \"OnOff\"\n\tOption \"Show time elapsed\",\t\t\t\"am_showtime\", \"OnOff\"\n\tOption \"Show total time elapsed\",\t\"am_showtotaltime\", \"OnOff\"\n\tOption \"Show secrets on map\",\t\t\"am_map_secrets\", \"SecretTypes\"\n\tOption \"Show map label\",\t\t\t\"am_showmaplabel\", \"MaplabelTypes\"\n\tOption \"Draw map background\",\t\t\"am_drawmapback\", \"MapBackTypes\"\n\tOption \"Show keys (cheat)\",\t\t\t\"am_showkeys\", \"OnOff\"\n\tOption \"Show trigger lines\",\t\t\"am_showtriggerlines\", \"OnOff\"\n\tOption \"Show things as sprites\",\t\"am_showthingsprites\", \"STSTypes\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Controls\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu MapControlsMenu\n{\n\tTitle \"CUSTOMIZE MAP CONTROLS\"\n\tScrollTop 2\n\tStaticTextSwitchable \t\"ENTER to change, BACKSPACE to clear\", \"Press new key for control, ESC to cancel\", \"ControlMessage\"\n\tStaticText \t\"\"\n\tStaticText \"Map Controls\", 1\n\tMapControl \"Pan left\",\t\t\"+am_panleft\"\n\tMapControl \"Pan right\",\t\t\"+am_panright\"\n\tMapControl \"Pan up\",\t\t\"+am_panup\"\n\tMapControl \"Pan down\",\t\t\"+am_pandown\"\n\tMapControl \"Zoom in\",\t\t\"+am_zoomin\"\n\tMapControl \"Zoom out\",\t\t\"+am_zoomout\"\n\tMapControl \"Toggle zoom\",\t\"am_gobig\"\n\tMapControl \"Toggle follow\",\t\"am_togglefollow\"\n\tMapControl \"Toggle grid\",\t\"am_togglegrid\"\n\tMapControl \"Toggle texture\",\"am_toggletexture\"\n\tMapControl \"Set mark\",\t\t\"am_setmark\"\n\tMapControl \"Clear mark\",\t\"am_clearmarks\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Colors\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu MapColorMenu\n{\n\tTitle \"CUSTOMIZE MAP COLORS\"\n\tSafeCommand \"Restore default custom colors\", \"am_restorecolors\"\n\tStaticText \" \"\n\tColorPicker \"Background\",\t\t\t\t\t\t\t\t\"am_backcolor\"\n\tColorPicker \"You\",\t\t\t\t\t\t\t\t\t\t\"am_yourcolor\"\n\tColorPicker \"1-sided walls\",\t\t\t\t\t\t\t\"am_wallcolor\"\n\tColorPicker \"2-sided walls with different floors\",\t\t\"am_fdwallcolor\"\n\tColorPicker \"2-sided walls with different ceilings\",\t\"am_cdwallcolor\"\n\tColorPicker \"2-sided walls with 3D floors\",\t\t\t\t\"am_efwallcolor\"\n\tColorPicker \"Map grid\",\t\t\t\t\t\t\t\t\t\"am_gridcolor\"\n\tColorPicker \"Center point\",\t\t\t\t\t\t\t\t\"am_xhaircolor\"\n\tColorPicker \"Not-yet-seen walls\",\t\t\t\t\t\t\"am_notseencolor\"\n\tColorPicker \"Locked doors\",\t\t\t\t\t\t\t\t\"am_lockedcolor\"\n\tColorPicker \"Teleporter to the same map\",\t\t\t\t\"am_intralevelcolor\"\n\tColorPicker \"Teleporter to a different map\",\t\t\t\"am_interlevelcolor\"\n\tColorPicker \"Secret sector\",\t\t\t\t\t\t\t\"am_secretsectorcolor\"\n\tColorPicker \"Special trigger lines\",\t\t\t\t\t\"am_specialwallcolor\"\n\tStaticText \" \"\n\tStaticText \"Cheat Mode\", 1\n\tColorPicker \"Invisible 2-sided walls\",\t\t\"am_tswallcolor\"\n\tColorPicker \"Secret walls\",\t\t\t\t\t\"am_secretwallcolor\"\n\tColorPicker \"Actors\",\t\t\t\t\t\t\"am_thingcolor\"\n\tColorPicker \"Monsters\",\t\t\t\t\t\t\"am_thingcolor_monster\"\n\tColorPicker \"non-counting Monsters\",\t\t\"am_thingcolor_ncmonster\"\n\tColorPicker \"Friends\",\t\t\t\t\t\t\"am_thingcolor_friend\"\n\tColorPicker \"Items\",\t\t\t\t\t\t\"am_thingcolor_item\"\n\tColorPicker \"Count Items\",\t\t\t\t\t\"am_thingcolor_citem\"\n\tStaticText \" \"\n\tStaticText \"Overlay Mode\", 1\n\tColorPicker \"You\",\t\t\t\t\t\t\t\"am_ovyourcolor\"\n\tColorPicker \"1-sided walls\",\t\t\t\t\"am_ovwallcolor\"\n\tColorPicker \"2-sided walls with different floors\",\t\t\"am_ovfdwallcolor\"\n\tColorPicker \"2-sided walls with different ceilings\",\t\"am_ovcdwallcolor\"\n\tColorPicker \"2-sided walls with 3D floors\",\t\t\t\t\"am_ovefwallcolor\"\n\tColorPicker \"Not-yet-seen walls\",\t\t\t\"am_ovunseencolor\"\n\tColorPicker \"Locked doors\",\t\t\t\t\"am_ovlockedcolor\"\n\tColorPicker \"Teleporter to the same map\",\t\t\t\t\t\"am_ovtelecolor\"\n\tColorPicker \"Teleporter to a different map\",\t\t\t\"am_ovinterlevelcolor\"\n\tColorPicker \"Secret sector\",\t\t\t\t\"am_ovsecretsectorcolor\"\n\tColorPicker \"Special trigger lines\",\t\t\"am_ovspecialwallcolor\"\n\tStaticText \" \"\n\tStaticText \"Overlay Cheat Mode\", 1\n\tColorPicker \"Invisible 2-sided walls\",\t\t\"am_ovotherwallscolor\"\n\tColorPicker \"Secret walls\",\t\t\t\t\t\"am_ovsecretwallcolor\"\n\tColorPicker \"Actors\",\t\t\t\t\t\t\"am_ovthingcolor\"\n\tColorPicker \"Monsters\",\t\t\t\t\t\t\"am_ovthingcolor_monster\"\n\tColorPicker \"non-counting Monsters\",\t\t\"am_ovthingcolor_ncmonster\"\n\tColorPicker \"Friends\",\t\t\t\t\t\t\"am_ovthingcolor_friend\"\n\tColorPicker \"Items\",\t\t\t\t\t\t\"am_ovthingcolor_item\"\n\tColorPicker \"Count Items\",\t\t\t\t\t\"am_ovthingcolor_citem\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Color Picker\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu ColorPickerMenu\n{\n\tTitle \"SELECT COLOR\"\n\t// This menu will be created by the calling code\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Messages\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue ScaleValues\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Double\"\n}\n\nOptionValue MessageLevels\n{\n\t0.0, \"Item Pickup\"\n\t1.0, \"Obituaries\"\n\t2.0, \"Critical Messages\"\n}\n\n// [TP]\nOptionValue ZA_ChatSound\n{\n\t0, \"Off\"\n\t1, \"Default\"\n\t2, \"Doom 1\"\n\t3, \"Doom 2\"\n}\n\n// [TP]\nOptionValue ZA_ColorInMessages\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Not in chat\"\n}\n\nOptionMenu MessageOptions\n{\n\tTitle \t\"MESSAGES\"\n\tSubMenu \"Text scaling\",\t\t\t\t\"ZA_TextScaling\" // [TP]\n\tOption \"Show messages\",\t\t\t\t\"show_messages\", \"OnOff\"\n\tOption \"Show obituaries\",\t\t\t\"show_obituaries\", \"OnOff\"\n\tOption \"Chat sound\",\t\t\t\t\"chat_sound\", \"ZA_ChatSound\" // [TP]\n\tOption \"Scale text in high res\", \t\"con_scaletext\", \"ScaleValues\"\n\tOption \"Minimum message level\", \t\"msg\", \"MessageLevels\"\n\tOption \"Center messages\",\t\t\t\"con_centernotify\", \"OnOff\"\n\tOption \"Color in messages\",\t\t\t\"con_colorinmessages\", \"ZA_ColorInMessages\" // [TP]\n\tSlider \"Message Duration\",\t\t\t\"con_notifytime\", 1, 10, .5\n\tSlider \"Maximum Message Amount\",\t\"con_notifylines\", 1, 10, 1\n\tStaticText \" \"\n\tStaticText \"Message Colors\", 1\n\tStaticText \" \"\n\tOption \"Item Pickup\",\t\t\t\t\"msg0color\", \"TextColors\"\n\tOption \"Obituaries\",\t\t\t\t\"msg1color\", \"TextColors\"\n\tOption \"Critical Messages\",\t\t\t\"msg2color\", \"TextColors\"\n\tOption \"Chat Messages\",\t\t\t\t\"msg3color\", \"TextColors\"\n\tOption \"Team Messages\",\t\t\t\t\"msg4color\", \"TextColors\"\n\tOption \"Centered Messages\",\t\t\t\"msgmidcolor\", \"TextColors\"\n\tStaticText \" \"\n\tOption \"Screenshot messages\",\t\t\"screenshot_quiet\",\t\"OffOn\"\n\tOption \"Detailed save messages\",\t\"longsavemessages\",\t\"OnOff\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Scoreboard\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu ScoreboardOptions\n{\n\tTitle \"SCOREBOARD OPTIONS\"\n\tStaticText \"Cooperative Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_cooperative_enable\", \"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_cooperative_headingcolor\", \"TextColors\"\n\tOption \"Your Player Color\",\t\t\"sb_cooperative_yourplayercolor\", \"TextColors\"\n\tOption \"Other Players' Color\",\t\"sb_cooperative_otherplayercolor\", \"TextColors\"\n\tStaticText \" \"\n\tStaticText \" \"\n\tStaticText \"Deathmatch Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_deathmatch_enable\",\t\"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_deathmatch_headingcolor\", \"TextColors\"\n\tOption \"Your Player Color\",\t\t\"sb_deathmatch_yourplayercolor\", \"TextColors\"\n\tOption \"Other Players' Color\",\t\"sb_deathmatch_otherplayercolor\", \"TextColors\"\n\tStaticText \" \"\n\tStaticText \" \"\n\tStaticText \"Team Deathmatch Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_teamdeathmatch_enable\", \"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_teamdeathmatch_headingcolor\", \"TextColors\"\n}\n\n/*=======================================\n *\n * Gameplay Options (dmflags) Menu\n *\n *=======================================*/\n\nOptionValue  SmartAim\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Never friends\"\n\t3.0, \"Only monsters\"\n}\n\nOptionValue  FallingDM\n{\n\t0, \"Off\"\n\t1, \"Old\"\n\t2, \"Hexen\"\n\t3, \"Strife\"\n}\n\nOptionValue  JumpCrouch\n{\n\t0, \"Default\"\n\t1, \"Off\"\n\t2, \"On\"\n}\n\nOptionMenu GameplayOptions\n{\n\tTitle \t\"GAMEPLAY OPTIONS\"\n\t//Indent 222\n\tOption \"Teamplay\",\t\t\t\t\"teamplay\",\t\"OnOff\"\n\tSlider\t\"Team damage scalar\",\t\"teamdamage\", 0, 1, 0.05\n\tStaticText \" \"\n\tOption \"Smart Autoaim\",\t\t\t\"sv_smartaim\", \"SmartAim\"\n\tStaticText \" \"\n\tOption \"Falling damage\",\t\t\"sv_fallingdamage\", \"FallingDM\"\n\tOption \"Drop weapon\",\t\t\t\"sv_weapondrop\", \"YesNo\"\n\tOption \"Double ammo\",\t\t\t\"sv_doubleammo\", \"YesNo\"\n\tOption \"Infinite ammo\",\t\t\t\"sv_infiniteammo\", \"YesNo\"\n\tOption \"Infinite inventory\",\t\"sv_infiniteinventory\", \"YesNo\"\n\tOption \"No monsters\",\t\t\t\"sv_nomonsters\", \"YesNo\"\n\tOption \"No monsters to exit\",\t\"sv_killallmonsters\", \"YesNo\"\n\tOption \"Monsters respawn\",\t\t\"sv_monsterrespawn\", \"YesNo\"\n\tOption \"No respawn\",\t\t\t\"sv_norespawn\", \"YesNo\"\n\tOption \"Items respawn\",\t\t\t\"sv_itemrespawn\", \"YesNo\"\n\tOption \"Big powerups respawn\",\t\"sv_respawnsuper\", \"YesNo\"\n\tOption \"Fast monsters\",\t\t\t\"sv_fastmonsters\", \"YesNo\"\n\tOption \"Degeneration\",\t\t\t\"sv_degeneration\", \"YesNo\"\n\tOption \"Allow Autoaim\",\t\t\t\"sv_noautoaim\", \"NoYes\"\n\tOption \"Allow Suicide\",\t\t\t\"sv_disallowsuicide\", \"NoYes\"\n\tOption \"Allow jump\",\t\t\t\"sv_jump\", \"JumpCrouch\"\n\tOption \"Allow crouch\",\t\t\t\"sv_crouch\", \"JumpCrouch\"\n\tOption \"Allow freelook\",\t\t\"sv_nofreelook\", \"NoYes\"\n\tOption \"Allow FOV\",\t\t\t\t\"sv_nofov\", \"NoYes\"\n\t// [TP] Zandronum has this CVar under a different name\n\t// Option \"Allow BFG aiming\",\t\t\"sv_nobfgaim\", \"NoYes\"\n\tOption \"Allow BFG aiming\",\t\t\"sv_bfgfreeaim\", \"YesNo\"\n\tOption \"Allow automap\",\t\t\t\"sv_noautomap\", \"NoYes\"\n\tOption \"Automap allies\",\t\t\"sv_noautomapallies\", \"NoYes\"\n\tOption \"Allow spying\",\t\t\t\"sv_disallowspying\", \"NoYes\"\n\tOption \"Chasecam cheat\",\t\t\"sv_chasecam\", \"YesNo\"\n\tOption \"Check ammo for weapon switch\",\t\"sv_dontcheckammo\", \"NoYes\"\n\tOption \"Icon's death kills its spawns\",\t\"sv_killbossmonst\", \"YesNo\"\n\tOption \"End sector counts for kill %\",\t\"sv_nocountendmonst\", \"NoYes\"\n\t// [TP] Zandronum dmflags\n\tOption \"Allow player identification\",\t\"sv_noidentifytarget\", \"NoYes\"\n\tOption \"Unblock players\",\t\t\"sv_unblockplayers\", \"YesNo\"\n\tOption \"Unblock allies\",\t\t\"sv_unblockallies\", \"YesNo\"\n\tOption \"Allow rocket jumping\",\t\"sv_norocketjumping\", \"NoYes\"\n\tOption \"Allow item dropping\",\t\"sv_nodrop\", \"NoYes\"\n\tOption \"Award damage dealt\",\t\"sv_awarddamageinsteadkills\", \"YesNo\"\n\tOption \"Force OpenGL defaults\",\t\"sv_forcegldefaults\", \"YesNo\"\n\tOption \"Force translucency\",\t\"sv_forcealpha\", \"YesNo\"\n\tOption \"Full blood brightness\",\t\"sv_maxbloodscalar\", \"YesNo\"\n\t// [TP] --\n\n\tStaticText \" \"\n\tStaticText \"Deathmatch Settings\",1\n\tOption \"Weapons stay\",\t\t\t\"sv_weaponstay\", \"YesNo\"\n\tOption \"Allow powerups\",\t\t\"sv_noitems\", \"NoYes\"\n\tOption \"Allow health\",\t\t\t\"sv_nohealth\", \"NoYes\"\n\tOption \"Allow armor\",\t\t\t\"sv_noarmor\", \"NoYes\"\n\tOption \"Spawn farthest\",\t\t\"sv_spawnfarthest\", \"YesNo\"\n\tOption \"Same map\",\t\t\t\t\"sv_samelevel\", \"YesNo\"\n\tOption \"Force respawn\",\t\t\t\"sv_forcerespawn\", \"YesNo\"\n\tOption \"Allow exit\",\t\t\t\"sv_noexit\", \"NoYes\"\n\tOption \"Barrels respawn\",\t\t\"sv_barrelrespawn\", \"YesNo\"\n\t// [TP] Zandronum has this CVar under a different name\n\t// Option \"Respawn protection\",\t\"sv_respawnprotect\", \"YesNo\"\n\tOption \"Respawn protection\",\t\"sv_norespawninvul\", \"NoYes\"\n\tOption \"Lose frag if fragged\",\t\"sv_losefrag\", \"YesNo\"\n\tOption \"Keep frags gained\",\t\t\"sv_keepfrags\", \"YesNo\"\n\tOption \"No team switching\",\t\t\"sv_noteamswitch\", \"YesNo\"\n\t// [TP] Zandronum deathmatch settings\n\tOption \"Keep teams across levels\", \"sv_keepteams\", \"YesNo\"\n\tOption \"Apply LMS spectator settings\",\t\"sv_applylmsspectatorsettings\", \"YesNo\"\n\tOption \"Medals\",\t\t\t\t\"sv_nomedals\", \"NoYes\"\n\t// [TP] --\n\n\tStaticText \" \"\n\tStaticText \"Cooperative Settings\",1\n\tOption \"Spawn multi. weapons\", \t\"sv_noweaponspawn\", \"NoYes\"\n\t// [TP] Zandronum uses different names for these CVars\n\t/*\n\tOption \"Lose entire inventory\",\t\"sv_cooploseinventory\", \"YesNo\"\n\tOption \"Keep keys\",\t\t\t\t\"sv_cooplosekeys\", \"NoYes\"\n\tOption \"Keep weapons\",\t\t\t\"sv_cooploseweapons\", \"NoYes\"\n\tOption \"Keep armor\",\t\t\t\"sv_cooplosearmor\", \"NoYes\"\n\tOption \"Keep powerups\",\t\t\t\"sv_cooplosepowerups\", \"NoYes\"\n\tOption \"Keep ammo\",\t\t\t\t\"sv_cooploseammo\", \"NoYes\"\n\tOption \"Lose half ammo\",\t\t\"sv_coophalveammo\", \"YesNo\"\n\t*/\n\tOption \"Lose entire inventory\",\t\"sv_coop_loseinventory\", \"YesNo\"\n\tOption \"Keep keys\",\t\t\t\t\"sv_coop_losekeys\", \"NoYes\"\n\tOption \"Keep weapons\",\t\t\t\"sv_coop_loseweapons\", \"NoYes\"\n\tOption \"Keep armor\",\t\t\t\"sv_coop_losearmor\", \"NoYes\"\n\tOption \"Keep powerups\",\t\t\t\"sv_coop_losepowerups\", \"NoYes\"\n\tOption \"Keep ammo\",\t\t\t\t\"sv_coop_loseammo\", \"NoYes\"\n\tOption \"Lose half ammo\",\t\t\"sv_coop_halveammo\", \"YesNo\"\n\tOption \"Spawn where died\",\t\t\"sv_samespawnspot\", \"YesNo\"\n\t// [TP] Zandronum co-operative settings\n\tOption \"Spawn singleplayer actors\", \"sv_coop_spactorspawn\", \"YesNo\"\n\tOption \"Share keys\",\t\t\t\"sv_sharekeys\", \"YesNo\"\n\tOption \"Allow coop info\",\t\t\"sv_nocoopinfo\", \"NoYes\"\n\t// [TP] --\n\tClass \"GameplayMenu\"\n}\n\n/*=======================================\n *\n * Compatibility Options Menu\n *\n *=======================================*/\n\nOptionValue CompatModes\n{\n\t0, \"Default\"\n\t1, \"Doom\"\n\t2, \"Doom (strict)\"\n\t3, \"Boom\"\n\t6, \"Boom (strict)\"\n\t5, \"MBF\"\n\t4, \"ZDoom 2.0.63\"\n}\n\nOptionMenu \"CompatibilityOptions\"\n{\n\tTitle \"COMPATIBILITY OPTIONS\"\n\tOption \"Compatibility mode\",\t\t\t\t\t\t\"compatmode\", \"CompatModes\", \"\", 1\n\n\t// [JDM] Separated ZDoom and Zandronum compatibility options\n\tStaticText \" \"\n\tStaticText \"Vanilla/Boom Compatibility\",1\n\tOption \"Find shortest textures like Doom\",\t\t\t\"compat_SHORTTEX\", \"YesNo\"\n\tOption \"Use buggier stair building\",\t\t\t\t\"compat_stairs\", \"YesNo\"\n\tOption \"Find neighboring light like Doom\",\t\t\t\"compat_LIGHT\", \"YesNo\"\n\tOption \"Limit Pain Elementals' Lost Souls\",\t\t\t\"compat_LIMITPAIN\", \"YesNo\"\n\tOption \"Don't let others hear your pickups\",\t\t\"compat_SILENTPICKUP\", \"YesNo\"\n\tOption \"Actors are infinitely tall\",\t\t\t\t\"compat_nopassover\", \"YesNo\"\n\tOption \"Enable wall running\",\t\t\t\t\t\t\"compat_WALLRUN\", \"YesNo\"\n\tOption \"Spawn item drops on the floor\",\t\t\t\t\"compat_NOTOSSDROPS\", \"YesNo\"\n\tOption \"All special lines can block <use>\",\t\t\t\"compat_USEBLOCKING\", \"YesNo\"\n\tOption \"Disable BOOM door light effect\",\t\t\t\"compat_NODOORLIGHT\", \"YesNo\"\n\tOption \"Raven scrollers use original speed\",\t\t\"compat_RAVENSCROLL\", \"YesNo\"\n\tOption \"Use original sound target handling\",\t\t\"compat_SOUNDTARGET\", \"YesNo\"\n\tOption \"DEH health settings like Doom2.exe\",\t\t\"compat_DEHHEALTH\", \"YesNo\"\n\tOption \"Self ref. sectors don't block shots\",\t\t\"compat_TRACE\", \"YesNo\"\n\tOption \"Monsters get stuck over dropoffs\",\t\t\t\"compat_DROPOFF\", \"YesNo\"\n\tOption \"Monsters cannot cross dropoffs\",\t\t\t\"compat_CROSSDROPOFF\", \"YesNo\"\n\tOption \"Monsters see invisible players\",\t\t\t\"compat_INVISIBILITY\", \"YesNo\"\n\tOption \"Boom scrollers are additive\",\t\t\t\t\"compat_BOOMSCROLL\", \"YesNo\"\n\tOption \"Inst. moving floors are not silent\",\t\t\"compat_silentinstantfloors\", \"YesNo\"\n\tOption \"Sector sounds use center as source\",\t\t\"compat_SECTORSOUNDS\", \"YesNo\"\n\tOption \"Use Doom heights for missile clipping\",\t\t\"compat_MISSILECLIP\", \"YesNo\"\n\tOption \"Allow any bossdeath for level special\",\t\t\"compat_ANYBOSSDEATH\", \"YesNo\"\n\tOption \"No Minotaur floor flames in water\",\t\t\t\"compat_MINOTAUR\", \"YesNo\"\n\tOption \"Original A_Mushroom speed in DEH mods\",\t\t\"compat_MUSHROOM\", \"YesNo\"\n\tOption \"Monster movement is affected by effects\",\t\"compat_MBFMONSTERMOVE\", \"YesNo\"\n\tOption \"Crushed monsters can be resurrected\",\t\t\"compat_CORPSEGIBS\", \"YesNo\"\n\tOption \"Friendly monsters aren't blocked\",\t\t\t\"compat_NOBLOCKFRIENDS\", \"YesNo\"\n\tOption \"Invert sprite sorting\",\t\t\t\t\t\t\"compat_SPRITESORT\", \"YesNo\"\n\tOption \"Use Doom code for hitscan checks\",\t\t\t\"compat_HITSCAN\", \"YesNo\"\n\tOption \"Cripple sound for silent BFG trick\",\t\t\"compat_soundslots\", \"YesNo\"\n\tOption \"Draw polyobjects like Hexen\",\t\t\t\t\"compat_POLYOBJ\", \"YesNo\"\n\tOption \"Ignore Y offsets on masked midtextures\",\t\"compat_MASKEDMIDTEX\", \"YesNo\"\n\tOption \"Cannot travel straight NSEW\",\t\t\t\t\"compat_badangles\", \"YesNo\"\n\tOption \"Use Doom's floor motion behavior\",\t\t\t\"compat_floormove\", \"YesNo\"\n\n\t// [TP] Zandronum compatibility settings\n\tStaticText \" \"\n\tStaticText \"Old Zan/ST/ZDoom Compatibility\",1\n\tOption \"Limit air movement\",\t\t\t\t\t\t\"compat_limited_airmovement\", \"YesNo\"\n\tOption \"Item grab like vanilla\",\t\t\t\t\t\"compat_plasmabump\", \"YesNo\"\n\tOption \"Respawn instantly\",\t\t\t\t\t\t\t\"compat_instantrespawn\", \"YesNo\"\n\tOption \"No taunts\",\t\t\t\t\t\t\t\t\t\"compat_disabletaunts\", \"YesNo\"\n\tOption \"Use old intermission screens/music\",\t\t\"compat_oldintermission\", \"YesNo\"\n\tOption \"No stealth monsters\",\t\t\t\t\t\t\"compat_disablestealthmonsters\", \"YesNo\"\n\tOption \"Splash damage is infinitely tall\",\t\t\t\"compat_oldradiusdmg\", \"YesNo\"\n\tOption \"No crosshairs\",\t\t\t\t\t\t\t\t\"compat_nocrosshair\", \"YesNo\"\n\tOption \"Always switch weapons on pickup\",\t\t\t\"compat_oldweaponswitch\", \"YesNo\"\n\tOption \"NET scripts are client-side\",\t\t\t\t\"compat_netscriptsareclientside\", \"YesNo\"\n\tOption \"Clients send full button info\",\t\t\t\t\"compat_clientssendfullbuttoninfo\", \"YesNo\"\n\tOption \"Forbid the 'land' console command\",\t\t\t\"compat_noland\", \"YesNo\"\n\tOption \"Use the old pseudo-RNG\",\t\t\t\t\t\"compat_oldrandom\", \"YesNo\"\n\tOption \"Spheres float like in Skulltag\",\t\t\t\"compat_nogravity_spheres\", \"YesNo\"\n\tOption \"Player scripts resume after disconnect\",\t\"compat_dont_stop_player_scripts_on_disconnect\", \"YesNo\"\n\tOption \"Explosion thrust like old ZDoom versions\",\t\"compat_explosionthrust\", \"YesNo\"\n\tOption \"Dropped items pass through bridges\",\t\t\"compat_bridgedrops\", \"YesNo\"\n\tOption \"Vertical movement like old ZDoom versions\",\t\"compat_oldzdoomzmovement\", \"YesNo\"\n\tOption \"Weapons must be lowered fully\",\t\t\t\t\"compat_fullweaponlower\", \"YesNo\"\n\tOption \"Auto-aiming has vertical holes\",\t\t\t\"compat_autoaim\", \"YesNo\"\n\tOption \"West facing spawns are silent\",\t\t\t\t\"compat_silentwestspawns\", \"YesNo\"\n\n\tClass \"CompatibilityMenu\"\n}\n\n/*=======================================\n *\n * Sound Options Menu\n *\n *=======================================*/\n\nOptionValue SampleRates\n{\n\t0,\t\t\"Default\"\n\t4000,\t\"4000 Hz\"\n\t8000,\t\"8000 Hz\"\n\t11025,\t\"11025 Hz\"\n\t22050,\t\"22050 Hz\"\n\t32000,\t\"32000 Hz\"\n\t44100,\t\"44100 Hz\"\n\t48000,\t\"48000 Hz\"\n}\n\nOptionValue BufferSizes\n{\n\t   0, \"Default\"\n\t  64, \"64 samples\"\n\t 128, \"128 samples\"\n\t 256, \"256 samples\"\n\t 512, \"512 samples\"\n\t1024, \"1024 samples\"\n\t2048, \"2048 samples\"\n\t4096, \"4096 samples\"\n}\n\nOptionValue BufferCounts\n{\n\t   0, \"Default\"\n\t   2, \"2\"\n\t   3, \"3\"\n\t   4, \"4\"\n\t   5, \"5\"\n\t   6, \"6\"\n\t   7, \"7\"\n\t   8, \"8\"\n\t   9, \"9\"\n\t  10, \"10\"\n\t  11, \"11\"\n\t  12, \"12\"\n}\n\nOptionString SoundOutputsWindows\n{\n\t\"Default\",\t\t\"Default\"\n\t\"DirectSound\",\t\"DirectSound\"\n\t\"WASAPI\",\t\t\"Vista WASAPI\"\n\t\"ASIO\",\t\t\t\"ASIO\"\n\t\"WaveOut\",\t\t\"WaveOut\"\n\t\"OpenAL\",\t\t\"OpenAL (very beta)\"\n\t\"No sound\",\t\t\"No sound\"\n}\n\nOptionString SoundOutputsUnix\n{\n\t\"Default\",\t\t\"Default\"\n\t\"OSS\",\t\t\t\"OSS\"\n\t\"ALSA\",\t\t\t\"ALSA\"\n\t\"SDL\",\t\t\t\"SDL\"\n\t\"ESD\",\t\t\t\"ESD\"\n\t\"PulseAudio\",\t\"PulseAudio\"\n\t\"No sound\",\t\t\"No sound\"\n}\n\nOptionString SoundOutputsMac\n{\n\t\"Sound Manager\",\t\"Sound Manager\"\n\t\"Core Audio\",\t\t\"Core Audio\"\n\t\"No sound\",\t\t\t\"No sound\"\n}\n\nOptionString OutputFormats\n{\n\t\"PCM-8\",\t\t\"8-bit\"\n\t\"PCM-16\",\t\t\"16-bit\"\n\t\"PCM-24\",\t\t\"24-bit\"\n\t\"PCM-32\",\t\t\"32-bit\"\n\t\"PCM-Float\",\t\"32-bit float\"\n}\n\nOptionString SpeakerModes\n{\n\t\"Auto\",\t\t\"Auto\"\n\t\"Mono\",\t\t\"Mono\"\n\t\"Stereo\",\t\"Stereo\"\n\t\"Prologic\",\t\"Dolby Prologic Decoder\"\n\t\"Quad\",\t\t\"Quad\"\n\t\"Surround\",\t\"5 speakers\"\n\t\"5.1\",\t\t\"5.1 speakers\"\n\t\"7.1\",\t\t\"7.1 speakers\"\n}\n\nOptionString Resamplers\n{\n\t\"NoInterp\",\t\t\"No interpolation\"\n\t\"Linear\",\t\t\"Linear\"\n\t\"Cubic\",\t\t\"Cubic\"\n\t\"Spline\",\t\t\"Spline\"\n}\n\nOptionValue MidiDevices\n{\n\t// filled in by the sound code\n}\n\nOptionMenu SoundOptions\n{\n\tTitle \"SOUND OPTIONS\"\n\tSlider \"Sounds volume\",\t\t\"snd_sfxvolume\", 0, 1, 0.05\n\tSlider \"Menu volume\",\t\t\"snd_menuvolume\", 0, 1, 0.05\n\tSlider \"Music volume\",\t\t\"snd_musicvolume\", 0, 1, 0.05\n\tSlider \"Announcer volume\",\t\"snd_announcervolume\", 0, 1, 0.05 // [TP]\n\tOption \"Announcer\",\t\t\t\"cl_announcer\", \"ZA_Announcers\" // [TP]\n\tOption \"MIDI device\",\t\t\"snd_mididevice\", \"MidiDevices\"\n\tStaticText \" \"\n\tOption \"Underwater reverb\",\t\"snd_waterreverb\", \"OnOff\"\n\tSlider \"Underwater cutoff\",\t\"snd_waterlp\", 0, 2000, 50, 0\n\tOption \"Randomize pitches\",\t\"snd_pitched\", \"OnOff\"\n\tSlider \"Sound channels\",\t\"snd_channels\", 8, 256, 8, 0\n\tOption \"Play connect sound\", \"cl_connectsound\", \"YesNo\" // [TP]\n\tOption \"Multiple announcer sounds\", \"cl_allowmultipleannouncersounds\", \"YesNo\" // [TP]\n\tStaticText \" \"\n\tCommand \"Restart sound\",\t\"snd_reset\"\n\tStaticText \" \"\n\tIfOption(Windows)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsWindows\"\n\t}\n\tIfOption(Unix)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsUnix\"\n\t}\n\tIfOption(Mac)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsMac\"\n\t}\n\tOption \"Output format\",\t\t\"snd_output_format\", \"OutputFormats\"\n\tOption \"Speaker mode\",\t\t\"snd_speakermode\", \"SpeakerModes\"\n\tOption \"Resampler\",\t\t\t\"snd_resampler\", \"Resamplers\"\n\tOption \"HRTF filter\",\t\t\"snd_hrtf\", \"OnOff\"\n\n\tStaticText \" \"\n\tSubmenu \"Advanced options\",\t\t\t\"AdvSoundOptions\"\n\tSubmenu \"Module replayer options\",\t\"ModReplayerOptions\"\n}\n\n/*=======================================\n *\n * Advanced Sound Options Menu\n *\n *=======================================*/\n\nOptionValue GusMemory\n{\n\t0, \"Unlimited\"\n\t1, \"256K\"\n\t2, \"512K\"\n\t3, \"768K\"\n\t4, \"1024K\"\n}\n\nOptionValue OplCores\n{\n\t0, \"MAME OPL2\"\n\t1, \"DOSBox OPL3\"\n\t2, \"Java OPL3\"\n}\n\nOptionMenu AdvSoundOptions\n{\n\tTitle \"ADVANCED SOUND OPTIONS\"\n\tOption \"Sample rate\",\t\t\t\"snd_samplerate\", \"SampleRates\"\n\tOption \"Buffer size\",\t\t\t\"snd_buffersize\", \"BufferSizes\"\n\tOption \"Buffer count\",\t\t\t\"snd_buffercount\", \"BufferCounts\"\n\tStaticText \" \"\n\tStaticText \"OPL Synthesis\",\t1\n\tSlider \"Number of emulated OPL chips\", \"opl_numchips\", 1, 8, 1, 0\n\tOption \"Full MIDI stereo panning\", \"opl_fullpan\", \"OnOff\"\n\tOption \"OPL Emulator Core\", \"opl_core\", \"OplCores\"\n\tStaticText \" \"\n\tStaticText \"GUS Emulation\",\t1\n\tSlider \"MIDI voices\",\t\"midi_voices\", 16, 256, 4, 0\n\tOption \"Emulate TiMidity\", \"midi_timiditylike\", \"OnOff\"\n\tOption \"Read DMXGUS lumps\", \"midi_dmxgus\", \"OnOff\"\n\tOption \"GUS memory size\", \"gus_memsize\", \"GusMemory\"\n}\n\n/*=======================================\n *\n * Module Replayer Options Menu\n *\n *=======================================*/\n\nOptionValue ModReplayers\n{\n\t0.0, \"FMOD\"\n\t1.0, \"foo_dumb\"\n}\n\nOptionValue ModInterpolations\n{\n\t0.0, \"None\"\n\t1.0, \"Linear\"\n\t2.0, \"Cubic\"\n}\n\nOptionValue ModVolumeRamps\n{\n\t0.0, \"None\"\n\t1.0, \"Logarithmic\"\n\t2.0, \"Linear\"\n\t3.0, \"XM=lin, else none\"\n\t4.0, \"XM=lin, else log\"\n}\n\nOptionMenu ModReplayerOptions\n{\n\tTitle \"MODULE REPLAYER OPTIONS\"\n\tOption \"Replayer engine\",\t\t\"mod_dumb\", \"ModReplayers\"\n\tStaticText \" \"\n\tOption \"Sample rate\",\t\t\t\"mod_samplerate\", \"SampleRates\", \"mod_dumb\"\n\tOption \"Interpolation\",\t\t\t\"mod_interp\", \"ModInterpolations\", \"mod_dumb\"\n\tOption \"Volume ramping\",\t\t\"mod_volramp\", \"ModVolumeRamps\", \"mod_dumb\"\n\tStaticText \" \"\n\tOption \"Chip-o-matic\",\t\t\t\"mod_autochip\", \"OnOff\", \"mod_dumb\"\n\t// TODO if the menu system is ever rewritten: Provide a decent\n\t// mechanism to edit the chip-o-matic settings like you can with\n\t// the foo_dumb preferences in foobar2000.\n}\n\n/*=======================================\n *\n * Video mode menu\n *\n *=======================================*/\n\nOptionValue ForceRatios\n{\n\t0.0, \"Off\"\n\t3.0, \"4:3\"\n\t1.0, \"16:9\"\n\t5.0, \"17:10\"\n\t2.0, \"16:10\"\n\t4.0, \"5:4\"\n}\nOptionValue Ratios\n{\n\t0.0, \"4:3\"\n\t1.0, \"16:9\"\n\t2.0, \"16:10\"\n\t3.0, \"17:10\"\n\t -1, \"All\"\n}\nOptionValue RatiosTFT\n{\n\t0.0, \"4:3\"\n\t4.0, \"5:4\"\n\t1.0, \"16:9\"\n\t2.0, \"16:10\"\n\t3.0, \"17:10\"\n\t -1, \"All\"\n}\n\n// [BB]\nOptionValue Renderers\n{\n\t0.0, \"Software\"\n\t1.0, \"OpenGL\"\n}\n\nOptionMenu VideoModeMenu\n{\n\tTitle \"VIDEO MODE\"\n\n\tOption \"Fullscreen\",\t\t\t\"fullscreen\", \"YesNo\"\n\tOption \"Aspect ratio\",\t\t\t\"menu_screenratios\", \"Ratios\"\n\t// [BB]\n\tOption \"Renderer\",\t\t\t\"vid_renderer\", \"Renderers\"\n\tOption \"Force aspect ratio\",\t\"vid_aspect\", \"ForceRatios\"\n\tOption \"Enable 5:4 aspect ratio\",\"vid_tft\", \"YesNo\"\n\tStaticText \" \"\n\tScreenResolution \"res_0\"\n\tScreenResolution \"res_1\"\n\tScreenResolution \"res_2\"\n\tScreenResolution \"res_3\"\n\tScreenResolution \"res_4\"\n\tScreenResolution \"res_5\"\n\tScreenResolution \"res_6\"\n\tScreenResolution \"res_7\"\n\tScreenResolution \"res_8\"\n\tScreenResolution \"res_9\"\n\tStaticTextSwitchable \"Press ENTER to set mode\", \"\", \"VMEnterText\"\n\tStaticText \" \"\n\tStaticTextSwitchable \"T to test mode for 5 seconds\", \"Please wait 5 seconds...\", \"VMTestText\"\n\tclass VideoModeMenu\n}\n\n// =================================================================================================\n//\n// MULTIPLAYER OPTIONS\n//\n// =================================================================================================\n\nOptionValue ZA_AllowSkins\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"No cheat skins\"\n}\n\nOptionValue ZA_OverridePlayerColors\n{\n\t0.0, \"Never\"\n\t1.0, \"FFA only\"\n\t2.0, \"With 2 teams max\"\n\t3.0, \"Always\"\n}\n\nOptionMenu ZA_MultiplayerOptions\n{\n\tTitle \"MULTIPLAYER OPTIONS\"\n\n\tSubMenu\t\t\"Offline Skirmish\",\t\t\t\"ZA_SkirmishMenu\"\n\tSubMenu\t\t\"Network Options\",\t\t\t\"ZA_NetworkOptions\"\n\tSubMenu\t\t\"Player Setup\",\t\t\t\t\"PlayerMenu\"\n\tSubMenu\t\t\"Log in\",\t\t\t\t\t\"ZA_LoginMenu\"\n\t//SubMenu\t\t\"Browse servers\",\t\t\t\"ZA_Browser\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Spectate\",\t\t\t\t\t\"menu_spectate\"\n\tCommand\t\t\"Switch teams\",\t\t\t\t\"menu_changeteam\"\n\tCommand\t\t\"Disconnect\",\t\t\t\t\"menu_disconnect\"\n\tStaticText\t\" \"\n\tSubMenu\t\t\"Call a vote\",\t\t\t\t\"ZA_CallVote\"\n\tSubMenu\t\t\"Ignore a player\",\t\t\t\"ZA_IgnoreMenu\"\n\tStaticText\t\" \"\n\tOption\t\t\"Start as spectator\",\t\t\"cl_startasspectator\",\t\t\"YesNo\"\n\tTextField\t\"Server password\",\t\t\t\"cl_password\"\n\tTextField\t\"Server join password\",\t\t\"cl_joinpassword\"\n\tOption\t\t\"Reset frags at join\",\t\t\"cl_dontrestorefrags\",\t\t\"YesNo\"\n\tOption\t\t\"Hide country\",\t\t\t\t\"cl_hidecountry\",\t\t\t\"YesNo\"\n\tOption\t\t\"Respawn using attack key\",\t\"cl_respawnonfire\",\t\t\t\"YesNo\"\n\tStaticText\t\" \"\n\tOption\t\t\"Skins\",\t\t\t\t\t\"cl_skins\",\t\t\t\t\t\"ZA_AllowSkins\"\n\tOption\t\t\"Taunts\",\t\t\t\t\t\"cl_taunts\",\t\t\t\t\"OnOff\"\n\tOption\t\t\"Icons\",\t\t\t\t\t\"cl_icons\",\t\t\t\t\t\"OnOff\"\n\tOption\t\t\"Identify players\",\t\t\t\"cl_identifytarget\",\t\t\"OnOff\"\n\tOption\t\t\"Show spawn spots\",\t\t\t\"cl_showspawns\",\t\t\t\"YesNo\"\n\tSlider\t\t\"Spectator move speed\",\t\t\"cl_spectatormove\",\t\t\t0.1, 5.0, 0.1\n}\n\n// =================================================================================================\n//\n// NETWORK OPTIONS\n//\n// =================================================================================================\n\nOptionValue ZA_UnlagType\n{\n\t0.0, \"Gametic\"\n\t1.0, \"Ping\"\n}\n\nOptionValue ZA_UpdateRate\n{\n\t1.0, \"Fastest (every tick)\"\n\t2.0, \"Medium (every second tick)\"\n\t3.0, \"Slow (every third tick)\"\n}\n\nOptionValue ZA_ConnectionType\n{\n\t0.0, \"56k / ISDN\"\n\t1.0, \"DSL\"\n}\n\nOptionMenu ZA_NetworkOptions\n{\n\tTitle \"NETWORK OPTIONS\"\n\n\tOption\t\t\"Connection type\",\t\t\t\"cl_connectiontype\",\t\t\"ZA_ConnectionType\"\n\tOption\t\t\"Unlagged\",\t\t\t\t\t\"cl_unlagged\",\t\t\t\t\"OnOff\"\n\tOption\t\t\"Unlag Type\",\t\t\t\t\"cl_ping_unlagged\",\t\t\t\"ZA_UnlagType\"\n\tOption\t\t\"Update Rate\",\t\t\t\t\"cl_ticsperupdate\",\t\t\t\"ZA_UpdateRate\"\n\tOption\t\t\"Hitscan decals\",\t\t\t\"cl_hitscandecalhack\",\t\t\"OnOff\"\n\tOption\t\t\"Clientside puffs\",\t\t\t\"cl_clientsidepuffs\",\t\t\"OnOff\"\n}\n\n// =================================================================================================\n//\n// OFFLINE SKIRMISH\n//\n// =================================================================================================\n\nOptionValue ZA_Gamemode\n{\n\t0, \"Cooperative\"\n\t1, \"Survival Cooperative\"\n\t2, \"Invasion\"\n\t3, \"Deathmatch\"\n\t4, \"Team Deathmatch\"\n\t5, \"Duel\"\n\t6, \"Terminator\"\n\t7, \"Last Man Standing\"\n\t8, \"Team Last Man Standing\"\n\t9, \"Possession\"\n\t10, \"Team Possession\"\n\t11, \"Teamgame (ACS)\"\n\t12, \"Capture The Flag\"\n\t13, \"One Flag CTF\"\n\t14, \"Skulltag\"\n\t15, \"Domination\"\n}\n\nOptionValue ZA_Modifier\n{\n\t0, \"None\"\n\t1, \"Instagib\"\n\t2, \"Buckshot\"\n}\n\nOptionMenu ZA_SkirmishMenu\n{\n\tTitle\t\t\"SKIRMISH\"\n\tOption\t\t\"Level\",\t\t\t\t\"menu_skirmishlevel\",\t\t\t\"ZA_Levels\"\n\tOption\t\t\"Game Mode\",\t\t\t\"menu_skirmishgamemode\",\t\t\"ZA_Gamemode\"\n\tOption\t\t\"Modifier\",\t\t\t\t\"menu_skirmishmodifier\",\t\t\"ZA_Modifier\"\n\tStaticText\t\" \"\n\tNumberField\t\"Timelimit\",\t\t\t\"menu_skirmishtimelimit\"\n\tNumberField\t\"Fraglimit\",\t\t\t\"menu_skirmishfraglimit\"\n\tNumberField\t\"Pointlimit\",\t\t\t\"menu_skirmishpointlimit\"\n\tNumberField\t\"Duellimit\",\t\t\t\"menu_skirmishduellimit\"\n\tNumberField\t\"Winlimit\",\t\t\t\t\"menu_skirmishwinlimit\"\n\tNumberField\t\"Wavelimit\",\t\t\t\"menu_skirmishwavelimit\", 0, 10\n\tStaticText\t\" \"\n\tNumberField\t\"Skill\",\t\t\t\t\"menu_skirmishskill\", 0, 4\n\tNumberField\t\"Botskill\",\t\t\t\t\"menu_skirmishbotskill\", 0, 4\n\tStaticText\t\" \"\n\tSubMenu\t\t\"Bot Setup\",\t\t\t\"ZA_BotSetup\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Start Game!\",\t\t\t\"menu_startskirmish\"\n}\n\n// Gets filled in by the engine\nOptionMenu ZA_BotSetup\n{\n\tTitle \"BOT SETUP\"\n\tClass \"BotSetupMenu\"\n\tIndent 80\n}\n\nOptionValue ZA_ServerType\n{\n\t0.0, \"Internet\"\n\t1.0, \"Local\"\n}\n\nOptionValue ZA_ServerSortType\n{\n\t0.0, \"Ping\"\n\t1.0, \"Server Name\"\n\t2.0, \"Map Name\"\n\t3.0, \"Players\"\n}\n\nOptionValue ZA_ServerGamemode\n{\n\t0, \"Any mode\"\n\t1, \"Cooperative\"\n\t2, \"Survival Cooperative\"\n\t3, \"Invasion\"\n\t4, \"Deathmatch\"\n\t5, \"Team Deathmatch\"\n\t6, \"Duel\"\n\t7, \"Terminator\"\n\t8, \"Last Man Standing\"\n\t9, \"Team Last Man Standing\"\n\t10, \"Possession\"\n\t11, \"Team Possession\"\n\t12, \"Teamgame (ACS)\"\n\t13, \"Capture The Flag\"\n\t14, \"One Flag CTF\"\n\t15, \"Skulltag\"\n\t16, \"Domination\"\n}\n\nOptionMenu ZA_ServerInfo\n{\n\tTitle \"SERVER INFORMATION\"\n\tClass \"ServerInfoMenu\"\n\tIndent 80\n}\n\nOptionMenu ZA_Browser\n{\n\tTitle \"SERVER BROWSER\"\n\tClass \"BrowserMenu\"\n\tIndent 80\n\n\tOption\t\t\"Servers\",\t\t\"menu_browser_servers\",\t\t\"ZA_ServerType\"\n\tOption\t\t\"Gametype\",\t\t\"menu_browser_gametype\",\t\t\"ZA_ServerGamemode\"\n\tOption\t\t\"Sort by\",\t\t\"menu_browser_sortby\",\t\t\"ZA_ServerSortType\"\n\tOption\t\t\"Show empty\",\t\t\"menu_browser_showempty\",\t\t\"YesNo\"\n\tOption\t\t\"Show full\",\t\t\"menu_browser_showfull\",\t\t\"YesNo\"\n\tStaticText\t\" \"\n\tStaticText\t\" \" // Header\n\tStaticText\t\" \"\n\tServerBrowserSlot 0\n\tServerBrowserSlot 1\n\tServerBrowserSlot 2\n\tServerBrowserSlot 3\n\tServerBrowserSlot 4\n\tServerBrowserSlot 5\n\tServerBrowserSlot 6\n\tServerBrowserSlot 7\n\tStaticText\t\" \"\n\tCommand\t\t\"Refresh\",\t\t\t\"querymaster\"\n\tSubmenu\t\t\"Get server info\",\t\t\t\"ZA_ServerInfo\"\n\tCommand\t\t\"Join game!\",\t\t\t\"menu_join_selected_server\"\n}\n\n// =================================================================================================\n//\n// TEXT SCALING\n//\n// =================================================================================================\n\nOptionMenu ZA_TextScaling\n{\n\tTitle \"TEXT SCALING\"\n\tClass \"TextScalingMenu\"\n\n\tOption\t\t\"Enable text scaling\",\t\"con_scaletext\",\t\t\t\t\"ScaleValues\"\n\tSlider\t\t\"Text size scalar\",\t\t\"menu_textsizescalar\",\t\t\t0, 24, 1\n\tTextField\t\"Virtual width\",\t\t\"con_virtualwidth\", \"con_scaletext\"\n\tTextField\t\"Virtual height\",\t\t\"con_virtualheight\", \"con_scaletext\"\n\tOption\t\t\"Use screen ratio\",\t\t\"con_scaletext_usescreenratio\",\t\"YesNo\", \"con_scaletext\"\n\n\tStaticText \"Sample text\", 1\n\t// Sample text is filled in by the engine\n}\n\n// =================================================================================================\n//\n// VOTING MENU\n//\n// =================================================================================================\n\nOptionValue ZA_VoteLimitTypes\n{\n\t0, \"Fraglimit\"\n\t1, \"Timelimit\"\n\t2, \"Winlimit\"\n\t3, \"Duellimit\"\n\t4, \"Pointlimit\"\n}\n\nOptionMenu ZA_CallVote\n{\n\tTitle \"CALL VOTE\"\n\tNetGameOnly\n\n\tSubMenu\t\t\"Kick a player\",\t\t\"ZA_CallKickVote\"\n\tSubMenu\t\t\"Change the map\",\t\t\"ZA_CallMapVote\"\n\tSubMenu\t\t\"Change a limit\",\t\t\"ZA_CallLimitVote\"\n}\n\nOptionMenu ZA_CallKickVote\n{\n\tTitle\t\t\"KICK A PLAYER\"\n\n\tPlayerField\t\"Player\",\t\t\t\t\"menu_callvoteplayer\",\t\t\tNoBots, NotSelf\n\tOption\t\t\"Ban for 10 minutes\",\t\"menu_callvoteban\",\t\t\t\t\"YesNo\"\n\tStaticText \" \"\n\tTextField\t\"Reason for kick\",\t\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_callkickvote\"\n}\n\nOptionMenu ZA_CallMapVote\n{\n\tTitle\t\t\"CHANGE MAP\"\n\n\tOption\t\t\"Map\",\t\t\t\t\t\"menu_callvotemap\",\t\t\t\t\"ZA_Levels\"\n\tOption\t\t\"Intermission\",\t\t\t\"menu_callvoteintermission\",\t\"YesNo\"\n\tStaticText\t\" \"\n\tTextField\t\"Reason for change\",\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_callmapvote\"\n}\n\nOptionMenu ZA_CallLimitVote\n{\n\tTitle\t\t\"CHANGE LIMIT\"\n\n\tOption\t\t\"Limit\",\t\t\t\t\"menu_callvotelimit\",\t\t\t\"ZA_VoteLimitTypes\"\n\tTextField\t\"New value\",\t\t\t\"menu_callvotevalue\"\n\tStaticText\t\" \"\n\tTextField\t\"Reason for change\",\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_calllimitvote\"\n}\n\n// =================================================================================================\n//\n// IGNORE A PLAYER MENU\n//\n// =================================================================================================\n\nOptionValue ZA_IgnoreDuration\n{\n\t0, \"Indefinitely\"\n\t10, \"10 minutes\"\n\t20, \"20 minutes\"\n\t30, \"30 minutes\"\n}\n\nOptionValue ZA_IgnoreAction\n{\n\t0, \"Ignore\"\n\t1, \"Unignore\"\n}\n\nOptionMenu ZA_IgnoreMenu\n{\n\tTitle \"IGNORE A PLAYER\"\n\tNetGameOnly\n\n\tPlayerField\t\"Player\",\t\t\t\t\"menu_ignoreplayer\",\t\t\tNoBots, NotSelf\n\t// [TP] Perhaps this could be a slider? But then we need to somehow make it display\n\t// 0 as \"indefinitely\". Qt solved this (although with spinboxes) with a \"special value\"\n\t// attribute which is displayed instead of the value when the value is at the minimum.\n\t// Maybe something similar could be done here? This needs to be coordinated with ZDoom though.\n\tOption\t\t\"Duration\",\t\t\t\t\"menu_ignoreduration\",\t\t\t\"ZA_IgnoreDuration\"\n\tStaticText\t\" \"\n\tOption\t\t\"Action\",\t\t\t\t\"menu_ignoreaction\",\t\t\t\"ZA_IgnoreAction\"\n\tCommand\t\t\"Execute!\",\t\t\t\t\"menu_ignore\"\n}\n\n// =================================================================================================\n//\n// JOIN MENU\n//\n// =================================================================================================\n\nOptionMenu ZA_JoinMenu\n{\n\tTitle\t\t\"JOIN GAME\"\n\n\tStaticText\t\"You are spectating.\"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tCommand\t\t\"Join game\",\t\t\t\"menu_joingame\"\n\tCommand\t\t\"How to play\",\t\t\t\"menu_help\"\n}\n\nOptionMenu ZA_JoinTeamMenu\n{\n\tTitle\t\t\"JOIN TEAM\"\n\n\tStaticText\t\"Please select a team.\"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tCommand\t\t\"Auto-select\",\t\t\t\"menu_autoselect\"\n\tStaticText\t\" \"\n\tJoinMenuTeamOption\n\tCommand\t\t\"Load Battle Data\",\t\t\t\"menu_joingame\"\n\tStaticText\t\" \"\n\tCommand\t\t\"How to play\",\t\t\t\"menu_help\"\n}\n\nOptionMenu ZA_SelectClassMenu\n{\n\tTitle\t\t\"PLAYER CLASS SELECTION\"\n\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tJoinMenuPlayerClassOption\n\tStaticText\t\" \"\n\tCommand\t\t\"Load Battle Data\",\t\t\t\"menu_joingamewithclass\"\n}\n\n// =================================================================================================\n//\n// WEAPON SETUP\n//\n// =================================================================================================\n\nOptionValue \"ZA_RailgunColors\"\n{\n\t0, \"Blue\"\n\t1, \"Red\"\n\t2, \"Yellow\"\n\t3, \"Black\"\n\t4, \"Silver\"\n\t5, \"Gold\"\n\t6, \"Green\"\n\t7, \"White\"\n\t8, \"Purple\"\n\t9, \"Orange\"\n\t10, \"Rainbow\"\n}\n\nOptionValue ZA_SwitchOnPickup\n{\n\t0, \"Never\"\n\t1, \"Only higher ranked\"\n\t2, \"Always\"\n\t3, \"Use PWO\"\n}\n\nOptionMenu ZA_WeaponSetup\n{\n\tTitle\t\t\"WEAPON SETUP\"\n\tIndent 170\n\n\tOption\t\t\"Switch on pickup\",\t\t\"switchonpickup\",\t\t\t\t\"ZA_SwitchOnPickup\"\n\tOption\t\t\"Switch without ammo\",\t\"cl_noammoswitch\",\t\t\t\t\"YesNo\"\n\tOption\t\t\"Railgun color\",\t\t\"railcolor\",\t\t\t\t\t\"ZA_RailgunColors\"\n\n\tClass WeaponSetupMenu\n}\n\n// =================================================================================================\n//\n// LOGIN MENU\n//\n// =================================================================================================\n\nOptionMenu ZA_LoginMenu\n{\n\tNetGameOnly\n\tTitle \"LOG IN\"\n\n\tTextField\t\"Username\",\t\t\t\t\"menu_authusername\"\n\tTextField\t\"Password\",\t\t\t\t\"menu_authpassword\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Log in\",\t\t\t\t\"menu_login\"\n}\n\n// =================================================================================================\n//\n// Bot skill menu\n//\n// =================================================================================================\n\nListMenu \"BotSkillMenu\"\n{\n\tStaticPatch 48, 24, \"M_BSKILL\"\n\tPosition 38, 54\n\tPatchItem \"M_MOMMY\", \"m\", \"ChooseBotSkill\", 0\n\tPatchItem \"M_PAIN\", \"a\", \"ChooseBotSkill\", 1\n\tPatchItem \"M_BRING\",\"b\", \"ChooseBotSkill\", 2\n\tPatchItem \"M_THRIVE\",\"t\", \"ChooseBotSkill\", 3\n\tPatchItem \"M_BNMARE\",\"n\", \"ChooseBotSkill\", 4\n}\n\n//Netbattle\n\nOptionMenu \"LibraryMenu\"\n{\n\tTitle \"\"\n\tTitle \"\"\n\tTitle \"\"\n\tSubmenu \"Standard Library\",\t\t\t\"StandardChipsList\"\n\tSubmenu \"Support Library\",\t\"SupportChipsList\"\n\tSubmenu \"Custom Info\",\t\"CustomChipsList\"\n}\n\nOptionMenu \"StandardChipsList\"\n{\nStaticText \" \"\nStaticText \" \"\nStaticText \" \"\nStaticText \"1. Yo-Yo (40) Shoots Fwrd & Rtrns, Multi-hit.\"\nStaticText \"2. Cactball (30) Bounces fst, rebnds off enmys, max 3 hit.\"\nStaticText \"3. Hi-Cannon (60) Single shot.\"\nStaticText \"4. Boomer (60) Rebnds off walls 4 times, starts right.\"\nStaticText \"5. TimeBomb (150) An area-wide heavy time bomb.\"\n}\n\nOptionMenu \"SupportChipsList\"\n{\nStaticText \" \"\nStaticText \" \"\nStaticText \" \"\nStaticText \"1. Recov10 Recover 10 health.\"\nStaticText \"2. Attck10 Next chip +10 damage.\"\nStaticText \"3. Paraplus Next chip stun, no mercy.\"\n}\n\nOptionMenu \"CustomChipsList\"\n{\nStaticText \" \"\nStaticText \" \"\nStaticText \" \"\nStaticText \"Set ChipRandomDisable to 1 to have custom games!\"\nStaticText \" \"\nStaticText \"Set ChipCommon1/2/3 to change common chips!\"\nStaticText \"Set ChipUncommon1/2 to change uncommon chips!\"\nStaticText \"Set ChipSupport1 to change support chips!\"\nStaticText \" \"\nStaticText \"Use the Library ID numbers!\"\nStaticText \"Let the game randomize chips once first!\"\n}"
      },
      {
        "source": "pk3",
        "name": "GAMEINFO.txt",
        "contents": "startuptitle = \"EXE Netbattle\"\nstartupcolors = \"38 BC FF\", \"00 00 AA\"\niwad = \"megagame.wad\""
      },
      {
        "source": "pk3",
        "name": "TEXTCOLOURS.txt",
        "contents": "MenuRed {\n\t\t#000000 #000000 0 123\n\t\t#E30000 #E30000 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#E30000 #E30000 124 256\n}\nMenuOrange {\n\t\t#000000 #000000 0 123\n\t\t#FF6A00 #FF6A00 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#FF6A00 #FF6A00 124 256\n}\nMenuYellow {\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n}\nMenuGreen {\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n}\nMenuCyan {\n\t\t#000000 #000000 0 123\n\t\t#00E8E4 #00E8E4 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#00E8E4 #00E8E4 124 256\n}\nMenuBlue {\n\t\t#000000 #000000 0 123\n\t\t#0078FC #0078FC 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#0078FC #0078FC 124 256\n}\nMenuPurple {\n\t\t#000000 #000000 0 123\n\t\t#B800B8 #B800B8 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#B800B8 #B800B8 124 256\n}"
      },
      {
        "source": "pk3",
        "name": "GAMEMODE.txt",
        "contents": "LastManStanding\t{\n\tremoveflag DONTSPAWNMAPTHINGS\n}\n\nTeamLMS\t{\n\tremoveflag DONTSPAWNMAPTHINGS\n}\n\n/*\nCOOPERATIVE\nDEATHMATCH\nTEAMGAME\nUSEFLAGASTEAMITEM\nPLAYERSEARNKILLS\nPLAYERSEARNFRAGS\nPLAYERSEARNPOINTS\nPLAYERSEARNWINS\nDONTSPAWNMAPTHINGS\nMAPRESETS\nDEADSPECTATORS\nPLAYERSONTEAMS\nUSEMAXLIVES\nUSETEAMITEM\nMAPRESET_RESETS_MAPTIME"
      },
      {
        "source": "pk3",
        "name": "ReadMe.txt",
        "contents": "How to add chips:\n1. ACS array\n2. Chip system\n3. Weapon/Projectile\n4. Graphic/Sounds\n5. Library"
      },
      {
        "source": "pk3",
        "name": "actors/classbases.txt",
        "contents": "#include \"actors/classbase0.txt\"\n#include \"actors/classbase1.txt\"\n#include \"actors/classbase2.txt\"\n#include \"actors/classbase.txt\"\n\n#include \"actors/classbase-flags.txt\""
      },
      {
        "source": "pk3",
        "name": "actors/classbase0.txt",
        "contents": "actor ClassBase0 : PlayerPawn\n{\nplayer.displayname \"megaman\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.8, 0.8\nplayer.sidemove 0.78, 0.78\nplayer.jumpz 10\nplayer.colorrange 0 0\nplayer.startitem \"MegaBuster\"\nplayer.startitem \"BusterAmmo\", 3\nSpecies \"Player\"\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\n+QUICKTORETALIATE\ndamagefactor \"Dummy\", 0.0\nPlayer.MaxSkinSizeFactor 0, 0\nscale 2.5\nbloodtype \"MegamanBlood\"\n\nStates\n{\nSuperSpawn:\n\"----\" A 1 A_Jump(256,\"Spawn\")\nwait\nSuperClassPain:\n\"----\" A 1 A_Jump(256,\"ClassPain\")\nwait\nSuperClassDeath:\n\"----\" A 1 A_Jump(256,\"ClassDeath\")\nwait\n\nMegamanBusterPain:\n\"----\" A 0 A_PlaySound(\"pain/BNBUSTERHIT\",CHAN_AUTO,0.8,0,0.8)\ngoto MegamanPain+1\nMegamanPain:\n\"----\" A 0 A_PlaySound(\"pain/BNHIT\",\"body\",1,0)\n\"----\" A 1\n\"----\" A 1\n\"----\" AAAAAAAAA 2\n\"----\" A 1\ngoto SuperSpawn\n\nMegamanDeath:\n\"----\" A 0 A_PlaySound(\"pain/BNDeath\",\"body\",1,0)\n\"----\" A 20 A_SpawnItemEx(\"FakeBNDeath\")\nMegamanExplode:\nTNT1 A 0 //A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nMegamanFall:\nTNT1 A 0\nMegamanErase:\nTNT1 A 1 A_CheckPlayerDone\nwait\n\n// SINGLEPLAYER STUFF\nTheEnd: // Used in the original ending\n\"####\" G 4\nloop\nWalkForward:\n\"####\" BBBBBCCCCCDDDDDEEEEE 1 A_Recoil(-0.8)\nloop\nCreditWalk:\n\"####\" BCDE 8\nloop\nCreditRun:\n\"####\" BCDE 5\nloop\nDozerCarry:\n\"####\" BBBBCCCCDDDDEEEEBBBBCCCCDDDDBBBBCCCCDDDD 1 A_Recoil(-1)\n\"####\" F 10 A_Stop\n\"####\" F -1\nstop\nDozerThrow:\n\"####\" F 0 A_ChangeFlag(\"THRUACTORS\",1)\n\"####\" F 20 ThrustThingZ(0, 60, 0, 1)\n\"####\" G 20\n\"####\" A -1\nstop\nEndlessPain:\n\"####\" H -1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/classbase1.txt",
        "contents": "actor ClassBase1 : ClassBase0\n{\nStates\n{\nPain:\n\"----\" A 0\n\"----\" A 0\ngoto SuperClassPain\nPainHitStun:\n\"----\" A 0\n\"----\" A 0 A_ScaleVelocity(0.95)\ngoto SuperClassPain\nPainHitStunBig:\n\"----\" A 0\n\"----\" A 0 A_ScaleVelocity(0.85)\ngoto SuperClassPain\nDeath:\n\"----\" A 0 A_GiveInventory(\"ClassDeathPickup\",1)\ngoto SuperClassDeath\n\nClassPain:\n\"####\" H 0\nMegamanPain:\n\"----\" A 0 A_JumpIfInventory(\"GravityHoldPainPower\",1,\"GravityHoldWait\")\n\"----\" A 0 A_JumpIfInventory(\"WilyIcePainPower\",1,\"WilyIceWait\")\ngoto \"Super::MegamanPain\"\nGravityHoldWait:\n\"----\" A 2\n\"----\" A 0 A_CheckFloor(2)\n\"----\" A 0 ThrustThingZ(0,150,1,0)\n\"----\" A 0\ngoto \"Super::MegamanPain\"\nWilyIceWait:\n\"----\" A 30\n\"----\" A 30\n\"----\" A 0 SetPlayerProperty(0,0,0)\n\"----\" A 0 A_TakeInventory(\"IceVision\",1)\ngoto SuperSpawn\n\nClassDeath:\n\"####\" H 0\nMegamanDeath:\n\"----\" A 0 A_JumpIfInventory(\"ExplodeDeathFlag\",1,\"MegamanExplode\")\n\"----\" A 0 A_JumpIfInventory(\"FallingDeathFlag\",1,\"MegamanFall\")\n\"----\" A 0 A_JumpIfInventory(\"RisingDeathFlag\",1,\"MegamanRise\")\n\"----\" A 0 A_JumpIfInventory(\"IceDeathFlag\",1,\"MegamanIce\")\ngoto \"Super::MegamanDeath\"\nMegamanRise:\n\"----\" A 0 A_ChangeFlag(\"NOINTERACTION\", 1)\nRiseMyMegaman:\n\"----\" A 1 ThrustThingZ(0,10,0,1)\n\"----\" A 0 A_JumpIf(ceilingz-z<=(height+1), \"RiseMyMegamanEnd\")\n\"----\" A 0 A_GiveInventory(\"RiseMyMegamanFlag\", 1)\n\"----\" A 0 A_JumpIfInventory(\"RiseMyMegamanFlag\", 35, \"RiseMyMegamanEnd\")\nloop\n/*RiseMyMegamanEnd:\n\"----\" A 0\ngoto MegamanExplode*/\nRiseMyMegamanEnd:\n\"----\" A 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 0)\ngoto MegamanFall\nMegamanIce:\n\"----\" A 1 A_PlayerScream\n\"----\" A 0 ACS_ExecuteAlways(998,0,105,1)\n\"----\" A 0 A_FreezeDeath\n\"----\" A 35\n\"----\" A 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\ngoto MegamanErase\n\nPain.GravityHold:\n\"----\" A 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\n\"----\" A 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\n\"----\" A 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\n\"----\" A 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\n\"----\" A 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto GravityForceNo\nGravityForce4:\n\"----\" A 0 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceB\nGravityForce3:\n\"----\" A 0 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceB\nGravityForce2:\n\"----\" A 0 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceB\nGravityForce1:\n\"----\" A 0 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceB\nGravityForceB:\n\"----\" A 0 A_GiveInventory(\"GravityHoldPainPower\",1)\nGoto Pain+1\nGravityForceNo:\n\"----\" A 0 A_CheckFloor(2)\n\"----\" A 0 ThrustThingZ(0,150,1,0)\n\"----\" A 0\nGoto Pain+1\n\nPain.WilyIce:\n\"----\" A 0 SetPlayerProperty(0,1,4)\n\"----\" A 0 A_SpawnItemEx(\"ImFrozen\")\n\"----\" A 0 A_GiveInventory(\"IceVision\",1)\n\"----\" A 0 A_Stop\n\"----\" A 0 A_GiveInventory(\"WilyIcePainPower\",1)\nGoto Pain+1\n\nDeath.Beam:\n//Death.GravityHold:\nDeath.instagib:\nDeath.Telefrag:\n\"----\" A 0 A_GiveInventory(\"ExplodeDeathFlag\",1)\ngoto Death\nDeath.Falling:\n\"----\" A 0 A_GiveInventory(\"FallingDeathFlag\",1)\ngoto Death\nDeath.WindStorm:\nDeath.GravityHold:\nDeath.TornadoBlow:\n\"----\" A 0 A_GiveInventory(\"RisingDeathFlag\",1)\ngoto Death\n\nIce:\n\"----\" A 0 A_GiveInventory(\"IceDeathFlag\",1)\ngoto Death\n\n//////////////////\n\nPain.BotSight:\nPLY1 B 5 HealThing(1)\ngoto SuperSpawn\nPain.ProtoBuster:\nPain.DarkMan:\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.BassBuster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.CentaurFlash:\nPain.FreezeCracker:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.OilSlider:\nPain.BassBuster:\nPain.WaveBurner:\nPain.WaveBurnerUW:\nPain.Gamma:\nPain.Misc:\nPain.Treble:\nPain.FlameSwordSpark:\nPLY1 H 0\nGoto pain+1\nPain.Reggae:\nTNT1 A 0 A_PlaySoundEx(\"item/reggae\", \"SoundSlot7\", 0)\nGoto Pain+1\nPain.WaterBalloon:\nPain.FlashBomb:\nPain.RemoteMine:\nPain.IceWall:\nPLY1 H 0 A_ScaleVelocity(0.9)\nGoto Pain+1\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\nPLY1 H 0 A_JumpIfInventory(\"SpreadDrillProtect\", 1 ,2)\nPLY1 H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\nPLY1 H 0 A_GiveInventory(\"SpreadDrillProtect\", 1)\nGoto pain+1\nPain.FlameSword:\nPLY1 H 0 A_GiveInventory(\"FlameSwordProtect\", 1)\nPLY1 HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\npain.LaserTrident:\nPLY1 H 0 A_GiveInventory(\"LaserTridentProtect\", 1)\ngoto pain+1\nPain.WindStorm:\nPain.FlingDamage:\nPLY1 H 0 //ThrustThing(random(0,255),50,1,0)\nPLY1 H 0 ThrustThing(random(0,255),5,0,0)\nPLY1 H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nPLY1 H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nPLY1 H 0\nPLY1 H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nPLY1 H 0 A_GiveInventory(\"BrightBlind\",125)\nPLY1 H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nPLY1 H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nPLY1 H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nPLY1 H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nPLY1 H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nPLY1 H 0 A_Stop\nGoto Pain+1\nPain.ConcreteShot:\nPLY1 H 0 A_JumpIfInventory(\"ConcreteVision\", 1, \"ConcreteReset\")\nPLY1 H 0 A_GiveInventory(\"ConcreteVision\", 1)\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\nPLY1 H 0 A_SpawnItemEx(\"ConcreteWatcher\")\ngoto Pain+1\nConcreteReset:\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\ngoto Pain+1\nPain.TornadoBlow:\nPLY1 H 0 ThrustThingZ(0, 60, 0, 0)\ngoto Pain+1\nPain.WilyFire:\nPLY1 H 0 A_SpawnItemEx(\"ImOnFire\")\nPLY1 H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nPLY1 H 0\nPLY1 H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nPain.TimeStopper:\nPLY1 H 0 A_GiveInventory(\"TimeStopActivator\", 1)\nGoto Pain+1\nBeatAssist:\nPLY1 H 0\nPLY1 H 0 HealThing(2)\nPLY1 H 0 ACS_ExecuteAlways(205, 0)\nGoto Pain+1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/classbase2.txt",
        "contents": "actor ClassBase2 : ClassBase1\n{\nStates\n{\nPain.IFrames35:\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStunBig+1\n\nPain.IFrames30:\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStunBig+1\n\nPain.IFrames25:\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStun+1\n\nPain.IFrames20:\n\"----\" HHHHHHHHHHHHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStun+1\n\nPain.IFrames15:\n\"----\" HHHHHHHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStun+1\n\nPain.IFrames10:\n\"----\" HHHHHHHHHH 0 A_GiveInventory(\"PowerIFrames\",1)\n\"----\" H 0 A_SpawnItemEx(\"IFrameVisualHelper\")\nGoto PainHitStun+1\n\nPain.NoIFrames:\n\"----\" H 0\nGoto PainHitStun+1\n\nPain.NoIFramesBuster:\n\"----\" H 0\nGoto MegamanBusterPain\n\nPain.WoodHit:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveInventory(\"WoodHitStun\",1)\nGoto Pain\n\n/*Pain.SolarGun:\n\"----\" H 0 A_GiveInventory(\"SolarGunProtect\",1)\nGoto Pain+1\n\nPain.SolarSword:\n\"----\" H 0 A_SpawnItemEx(\"GoAwaySword\")\nGoto Pain+1\n\nPain.SolarSwordBike:\n\"----\" H 0 A_SpawnItemEx(\"GoAwayBikeSword\")\nGoto Pain+1\n\nPain.NeonBulb:\n\"----\" H 0\nGoto PainHitStunBig+1\n\nPain.SparkArm:\n\"----\" H 0 A_GiveInventory(\"SparkArmProtect\")\nGoto Pain+1\n\nPain.FlashLight:\n\"----\" H 0 A_GiveInventory(\"FlashBulbSlow\", 1)\n\"----\" H 0 A_GiveInventory(\"FlashStopperFlash\", 1)\nGoto Pain+1\n\nPain.KingdomCrusher:\n\"----\" H 0 A_GiveInventory(\"KingdomCrusherProtect\")\nGoto Pain+1\n\nPain.ScreenDivide:\n\"----\" H 0 A_GiveInventory(\"ScreenDivideProtect\",1)\nGoto PainHitStunBig+1\n\nPain.ColonelCannon:\n\"----\" H 0 A_SpawnItemEx(\"CannonPush\",1)\nGoto Pain+1\n\nPain.AspireBreak:\n\"----\" H 0 A_SpawnItemEx(\"AspireCapeFX\",1)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\n\"----\" H 0\nGoto Pain+1*/ //old\n}\n}\n\nACTOR PowerIFrames : PowerProtection\n{\n  DamageFactor \"Normal\", 0.0\n  Powerup.Duration 1\n  +INVENTORY.ADDITIVETIME\n}"
      },
      {
        "source": "pk3",
        "name": "actors/classbase.txt",
        "contents": "actor ClassBase : ClassBase2 {}"
      },
      {
        "source": "pk3",
        "name": "actors/classbase-flags.txt",
        "contents": "actor ClassDeathPickup : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 SetPlayerProperty(0, 0, 4)\nTNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\nTNT1 A 0 A_TakeInventory(\"ConcreteTime\", 999)\nTNT1 A 0 A_NoBlocking\nTNT1 A 0 A_GiveInventory(\"CutterFlag\",999)\nTNT1 A 0 A_GiveInventory(\"IsDead\",1)\nTNT1 A 0 A_Stop\nTNT1 A 0 A_GiveToTarget(\"KilledMeStock\",1)\nTNT1 A 0 A_GiveToTarget(\"KilledMe\",1)\nstop\n}\n}\n\nactor PainPower : Powerup\n{\npowerup.duration 3\n}\n\nactor GravityHoldPainPower : PainPower {}\nactor WilyIcePainPower : PainPower {}\n\nactor TypeDeathFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor ExplodeDeathFlag : TypeDeathFlag {}\nactor FallingDeathFlag : TypeDeathFlag {}\nactor RisingDeathFlag : TypeDeathFlag {}\nactor IceDeathFlag : TypeDeathFlag {}\n\nactor RiseMyMegamanFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 35\n}"
      },
      {
        "source": "pk3",
        "name": "actors/EXECTools.txt",
        "contents": "actor BaseWeaponEXE : Weapon\n{\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.ALT_AMMO_OPTIONAL\n+WEAPON.ALT_USES_BOTH\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOAIM\ninventory.pickupsound \"weapon/weaponup\"\nStates\n{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 1 //A_GiveInventory(\"MM8BDMWepSpawnFunc\",1)\n\t\tTNT1 A 1 A_Jump(256, \"SpawnLoop\")\n\t\twait\n\tSpawnLoop:\n\t\tWEAP X 1\n\t\tloop\n\tAltfire:\n\t\t\"----\" A 1 A_JumpIfInventory(\"BusterAmmo\", 1, \"Fire\")\n\t\t\"----\" A 1 A_Jump(256, \"NoAmmo\")\n\t\twait\n\tFlashloop:\n\t\tTNT1 A 0\n\t\tstop\n\tNoFlash:\n\t\tTNT1 A 0\n\t\tstop\n\tSound.BusterCharge:\n\t\tTNT1 A 9 A_PlaySoundEx(\"weapon/adapterchargeloop\",\"Weapon\",0)\n\t\tTNT1 A 1 A_JumpIfInventory(\"WeaponCharge\",1,\"Sound.BusterCharge\")\n        stop\n    Sound.GBCharge:\n\t\tTNT1 A 6 A_PlaySoundEx(\"weapon/gbcharge\",\"Weapon\",0)\n\t\tTNT1 A 1 A_JumpIfInventory(\"WeaponCharge\",1,\"Sound.GBCharge\")\n\t\tstop\n}\n}\n\nactor BasicHelper\n{//CBM dont sue please, it's very helpful!\n+MISSILE\n-SOLID\n+NOCLIP\n+NOINTERACTION\n+NOGRAVITY\n+DONTBLAST\n+DONTREFLECT\n+THRUACTORS\n+NOBLOCKMAP\nrenderstyle none\nradius 2\nheight 2\nStates\n{\nSpawn:\nTNT1 A 1\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor BasicClientSide\n{//:))\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nradius 2\nheight 2\nscale 2.5\n}\n\nactor BasicClassItem : CustomInventory\n{//Same here!\nInventory.Amount 1\nInventory.Maxamount 1\nInventory.Icon \"NULLICON\"\nInventory.PickupMessage \"YOU GOT PLACEHOLDER!\"\nInventory.PickupSound \"GNT/Treasure\"\n+INVBAR\n//+COUNTITEM\nTag \"You forgot the Tag\"\nScale 2.0\nStates\n{\nSpawn:\nCARY W 1\nwait\nNo:\nTNT1 A 0\nfail\n}\n}\n\nactor IFrameVisualHelper : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2 A_GiveToTarget(\"Alpha60_P\")\nTNT1 A 1 A_JumpIfInTargetInventory(\"PowerIFrames\",1,1)\ngoto Spawn2\nTNT1 A 2 A_GiveToTarget(\"Alpha80_P\")\nTNT1 A 1 A_JumpIfInTargetInventory(\"PowerIFrames\",1,\"Spawn\")\ngoto Spawn2\nSpawn2:\nTNT1 A 1 A_GiveToTarget(\"Alpha100_P\")\nstop\n}\n}\n\nactor Alpha60_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.6,0)\nstop}}\nactor Alpha80_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.8,0)\nstop}}\nactor Alpha100_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(1,0)\nstop}}\n\nactor ExeHealth : Ammo\n{\ninventory.amount 1\ninventory.maxamount 9999\n+INVENTORY.IGNORESKILL\n}\n\nactor OnceC : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.IGNORESKILL\n}\n\nactor FakeBNDeath : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2 A_GiveToTarget(\"Alpha90_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha80_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha70_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha60_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha50_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha40_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha30_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha20_P\")\nTNT1 A 2 A_GiveToTarget(\"Alpha10_P\")\nstop\n}\n}\n\nactor Alpha90_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.9,0)\nstop}}\nactor Alpha70_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.7,0)\nstop}}\nactor Alpha50_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.5,0)\nstop}}\nactor Alpha40_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.4,0)\nstop}}\nactor Alpha30_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.3,0)\nstop}}\nactor Alpha20_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.2,0)\nstop}}\nactor Alpha10_P : CustomInventory {States {Pickup:\nTNT1 A 0\nTNT1 A 0 A_SetTranslucent(0.1,0)\nstop}}\n\nactor UnSolid : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor ReSolidifier : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_CheckFlag(\"SOLID\",\"Spawn3\",AAPTR_TARGET)\nTNT1 A 0 A_GiveToTarget(\"UnSolid\",1)\nSpawn2:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"ReSolidifierCheck_P\",1)\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"UnSolid\",1,\"Spawn2a\")\nTNT1 A 0 A_CheckFlag(\"SOLID\",\"Spawn3\",AAPTR_TARGET)\ngoto SuperDeath\nSpawn2a:\nTNT1 A 0 //A_JumpIfInTargetInventory(\"StaminaFlag\",1,\"Spawn2\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nTNT1 A 0 A_JumpIfInventory(\"WeaponCharge\",10,\"Spawn2H\")\ngoto Spawn2\nSpawn2H:\nTNT1 A 0 A_GiveToTarget(\"ReSolidifier_UnSolid_P\",1)\nTNT1 A 0 A_TakeInventory(\"WeaponCharge\",100)\ngoto Spawn2\nSpawn3:\nTNT1 A 1 //A_GiveToTarget(\"StaminaFlag\",5)\nTNT1 A 0 //A_JumpIfInTargetInventory(\"StaminaFlag\",496,2)\nTNT1 A 0 A_CheckFlag(\"SOLID\",\"Spawn3\",AAPTR_TARGET)\nTNT1 A 0\nstop\nSuperDeath:\nTNT1 A 1\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor ReSolidifierCheck_P : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ReSolidifierCheck\",0,0,0,momx,momy,momz,0,8,0)\nstop\n}\n}\n\nactor ReSolidifier_UnSolid_P : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 DamageThing(1,15)\nstop\n}\n}\n\nactor ReSolidifierCheck\n{\nPROJECTILE\n+DONTSPLASH\n+SKYEXPLODE\n+DONTBLAST\n+DONTREFLECT\n+THRUGHOST\n//+NOINTERACTION\n//+NOCLIP\nDamage (0)\n//radius 160\n//height 160\n//radius 16\n//height 56\nradius 24\nheight 84\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nTNT1 A 0 A_GiveToTarget(\"ReSolidify\",1)\nstop\nDeath:\nXDeath:\nTNT1 A 0 //A_TakeFromTarget(\"Health\",1)\nstop\n}\n}\n\nactor ReSolidify : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"UnSolid\",1,\"Pickup2\")\nstop\nPickup2:\nTNT1 A 0 A_ChangeFlag(\"SOLID\",1)\nTNT1 A 0 A_TakeInventory(\"UnSolid\",1)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/ConstIntList.txt",
        "contents": "const int DYE_MEGAMANEXE = 10700;"
      },
      {
        "source": "pk3",
        "name": "actors/CoreReplace.txt",
        "contents": "actor SmallHealthEXE : BaseMM8BDMHealth REPLACES SmallHealth\n{\ninventory.amount 30\ninventory.maxamount 1000\ninventory.pickupmessage \"$PU_SMALLHEALTH\"\n+COUNTITEM\ninventory.pickupsound \"item/energyup\"\nScale 2.0\nStates\n{\nSpawnLoop:\nHBAL AB 6\nloop\n}\n}\n\nactor BigHealthEXE : BaseMM8BDMHealth REPLACES BigHealth\n{\ninventory.amount 75\ninventory.maxamount 1000\nScale 2.0\ninventory.pickupmessage \"$PU_LARGEHEALTH\"\ninventory.pickupsound \"item/energyup/large\"\n+COUNTITEM\nStates\n{\nSpawnLoop:\nHBAL CD 6\nloop\n}\n}\n\nactor WeaponEnergyEXE : BaseMM8BDMItem REPLACES WeaponEnergy\n{\ninventory.pickupmessage \"$PU_SMALLENERGY\"\ninventory.amount 1\ninventory.pickupsound \"item/energyup\"\nScale 2.0\nStates\n{\nSpawnLoop:\nEBAL A 0\n//EBAL A 0 A_JumpIf(tid!=0, 2)\n//EBAL A 0 Thing_ChangeTID(0,999)\n//EBAL AB 6\n//Goto SpawnLoop+3\nstop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),\"Success\")\nfail\nSuccess:\nTNT1 A 0 ACS_ExecuteAlways(992,0,30)\nstop\n}\n}\n\nactor BigWeaponEnergyEXE : BaseMM8BDMItem REPLACES BigWeaponEnergy\n{\n//$Category MM8BDM-Energy\n//$Title Big Weapon Energy\n//$Sprite EBALC0\n//Inventory.RespawnTics 350\ninventory.pickupmessage \"$PU_LARGEENERGY\"\n+COUNTITEM\ninventory.pickupsound \"item/energyup/large\"\nScale 2.0\nStates\n{\nSpawnLoop:\nEBAL C 0\n//EBAL C 0 A_JumpIf(tid!=0, 2)\n//EBAL C 0 Thing_ChangeTID(0,999)\n//EBAL CD 6\n//Goto SpawnLoop+3\nstop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),\"Success\")\nfail\nSuccess:\nTNT1 A 0 ACS_ExecuteAlways(992,0,72)\nstop\n}\n}\n\nactor MegaHealthEXE : BaseMM8BDMHealth REPLACES MegaHealth\n{\n//$Category MM8BDM-Energy\n//$Title Mega Health\n//$Sprite HBALE0\n//Inventory.RespawnTics 550\ninventory.amount 150\ninventory.maxamount 1000\nScale 2.0\ninventory.pickupmessage \"Picked up a mega health capsule.\"\ninventory.pickupsound \"item/energyup/large\"\n+COUNTITEM\nStates\n{\nSpawnLoop:\nHBAL E 0\nEBAL F 0 A_JumpIf(tid!=0, 2)\nHBAL E 0 Thing_ChangeTID(0, 999)\nHBAL EF 6\nGoto SpawnLoop+3\nloop\n}\n}\n\nactor MegaWeaponEnergyEXE : BaseMM8BDMItem REPLACES MegaWeaponEnergy\n{\n//$Category MM8BDM-Energy\n//$Title Mega Weapon Energy\n//$Sprite EBALI0\n//Inventory.RespawnTics 350\ninventory.pickupmessage \"Picked up a mega energy capsule.\"\n+COUNTITEM\ninventory.pickupsound \"item/energyup/large\"\nScale 2.0\nStates\n{\nSpawnLoop:\nEBAL I 0\n//EBAL I 0 A_JumpIf(tid!=0, 2)\n//EBAL I 0 Thing_ChangeTID(0,999)\n//EBAL IJ 6\n//Goto SpawnLoop+3\nstop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),\"Success\")\nfail\nSuccess:\n//TNT1 A 0 ACS_ExecuteAlways(992, 0, 0, 1)\nTNT1 A 0 ACS_Execute(992, 0, 255)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/MegaBody/Megabuster.txt",
        "contents": "actor Megaman.exe : ClassBase\n{\nplayer.displayname \"MegaMan.ExE\"\nplayer.startitem \"MegaBusterEXE\"\nSpecies \"Megaman\"\nplayer.maxhealth 1000\nhealth 1000\nplayer.forwardmove 1.7, 1.5\nplayer.sidemove 1.6, 1.6\nplayer.jumpz 12\nradius 25\nScale 2\n+NOSKIN\nStates\n{\nSpawn:\nMEXT A 0\nMEXT B 1\nMEXT A 1\nGoto Spawn+2\nSee:\nMEXT BCDE 5\nGoto Spawn\nMissile:\nMEXT F 5\nMEXT G 4\ngoto Spawn\n\nPain.Falling:\n\"----\" H 0 A_GiveInventory(\"PitRespawn\",1)\nGoto Pain+1\nPain.Telefrag:\n\"----\" H 0 A_ChangeFlag(\"Solid\",False)\n\"----\" H 0 A_SpawnItemEx(\"Resolidifier\")\ngoto Pain+1\n\nDeath.Beam:\nDeath.instagib:\nDeath.Telefrag:\nDeath.TopSpin:\nDeath.DawnBreaker:\nDeath.Gib:\ngoto Death\n}\n}\n\nactor PitRespawn : ArtiTeleport\n{\ninventory.maxamount 0\n+COUNTITEM\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nSpawn:\nTNT1 A 1\nloop\n}\n}\n\nactor MegaBusterEXE : BaseWeaponEXE\n{\nweapon.ammouse 1\nweapon.ammogive 3\nweapon.slotnumber 1\ninventory.pickupmessage \"\\cgYou found : MegaBuster !\"\nobituary \"%o was deleted by %k's MegaBuster.\"\ntag \"MegaBstr\"\nweapon.ammotype \"CustomAmmo\"\ninventory.icon \"NULLICON\"\ninventory.maxamount 1\ndropitem \"\"\nStates\n{\nspawn:\nweap X 1\nloop\nReady:\nTNT1 A 0 ACS_ExecuteAlways(991,0,DYE_MEGAMANEXE)\nTNT1 A 0 A_JumpIfInventory(\"OnceC\",1,\"Ready2\")\nTNT1 A 0 ACS_NamedExecuteAlways(\"EXEChipVisual\",0)\nTNT1 A 0 A_GiveInventory(\"OnceC\")\ngoto Ready2\nReady2:\nEXEB B 1 A_WeaponReady\ngoto Ready2\ndeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nEXEB B 1 A_Lower\nloop\nselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nEXEB B 1 A_Raise\nloop\n\nFire:\nTNT1 A 0 //ACS_ExecuteAlways(991,0,DYE_MEGAMANEXE)\nTNT1 A 0 A_TAKEINVENTORY(\"WeaponCharge\",99999)\nEXEB B 0 A_PlaySoundEx(\"weapon/exeshot\",\"Weapon\")\nEXEB B 0 A_FireCustomMissile(\"MegaEXEshot\",0,0,8,0)\ngoto FireEnd\nFireCharge:\nTNT1 A 0 //ACS_ExecuteAlways(991,0,DYE_MEGAMANEXE)\nTNT1 A 0 A_TAKEINVENTORY(\"WeaponCharge\",99999)\nEXEB B 0 A_PlaySoundEx(\"weapon/exeshot2\",\"Weapon\")\nEXEB B 0 A_FireCustomMissile(\"MegaEXEshot3\",0,0,8,0)\ngoto FireEnd\nFireEnd:\nEXEB B 1\nEXEB CB 2\nEXEB B 1\nEXEB B 1 A_Refire\ngoto Ready2\n\nHold:\nTNT1 A 0 A_JumpIfInventory(\"WeaponCharge\",25,\"Hold2\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nTNT1 A 0 A_Refire\nTNT1 A 0 A_ClearRefire\nGoto Fire\nHold2:\nTNT1 A 0 A_PlaySoundEx(\"weapon/execharge1\",\"Weapon\")\nHold2B:\nTNT1 A 0 A_JumpIfInventory(\"WeaponCharge\",45,\"Hold3\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB E 2\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10201)\nTNT1 A 0 A_Refire(\"Hold2C\")\nTNT1 A 0 A_ClearRefire\nGoto Fire\nHold2C:\nTNT1 A 0 A_JumpIfInventory(\"WeaponCharge\",45,\"Hold3\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB F 2\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10202)\nTNT1 A 0 A_Refire(\"Hold2B\")\nTNT1 A 0 A_ClearRefire\nGoto Fire\nHold3:\nTNT1 A 0 A_PlaySoundEx(\"weapon/execharge2\",\"Weapon\")\nHold3B:\nEXEB B 0 A_JumpIfInventory(\"ChipSlot1\",1,\"Hold3B2\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB E 1\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10201)\nTNT1 A 0 A_Refire(\"Hold3C\")\nTNT1 A 0 A_ClearRefire\nGoto FireCharge\nHold3C:\nEXEB B 0 A_JumpIfInventory(\"ChipSlot1\",1,\"Hold3C2\")\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB F 1\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10202)\nTNT1 A 0 A_Refire(\"Hold3B\")\nTNT1 A 0 A_ClearRefire\nGoto FireCharge\n\nHold3B2:\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB E 1 A_WeaponReady(WRF_NOPRIMARY)\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10201)\nTNT1 A 0 A_Refire(\"Hold3C\")\nTNT1 A 0 A_ClearRefire\nGoto FireCharge\nHold3C2:\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",1)\nEXEB F 1 A_WeaponReady(WRF_NOPRIMARY)\nTNT1 A 0 //ACS_ExecuteAlways(991,0,10202)\nTNT1 A 0 A_Refire(\"Hold3B\")\nTNT1 A 0 A_ClearRefire\nGoto FireCharge\n\nAltfire:\nEXEB B 0 A_TakeInventory(\"WeaponCharge\",9999)\nEXEB B 1 A_JumpIfInventory(\"ChipSlot1\",1,\"ChipUseSuccess\")\ngoto NoAmmo\nChipUseSuccess:\nEXEB B 5 ACS_NamedExecuteWithResult(\"ChipUseACS\")\ngoto Ready2\n\nYoYo:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 20 A_FireCustomMissile(\"YoYoForwards\",0,0,8,0)\nGoto ChipEnd\nCactBall:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 0 A_PlaySound(\"weapon/CactShoot\",0,1)\nEXEB B 20 A_FireCustomMissile(\"CactBall\",0,0,8,0)\nGoto ChipEnd\nHiCannon:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 0 A_PlaySound(\"weapon/HiCannon\",0,1)\nEXEB B 10 A_FireCustomMissile(\"HiCannonShot\",0,0,8,0)\nGoto ChipEnd\nRecov10:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 0 A_SpawnItemEx(\"RecovFX\")\nEXEB B 0 A_PlaySound(\"weapon/RecovHeal\",0,1)\nEXEB B 10 HealThing(10)\nGoto ChipEnd\nAttck10:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 0 A_PlaySound(\"weapon/ChipChoose\",0,1)\nEXEB B 10 A_GiveInventory(\"AttackUpStack\",10)\nGoto ChipEnd\nParaPlus:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 0 A_PlaySound(\"weapon/ChipChoose\",0,1)\nEXEB B 10 A_GiveInventory(\"ParaPlusTrigger\",1)\nGoto ChipEnd\nBoomer:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 10 A_FireCustomMissile(\"BoomerBack\",-90)//A_SpawnItemEx(\"BoomerBack\",15,0,30,80,0,0,-90)\nGoto ChipEnd\nTimeBomb:\nEXEB B 0 A_GiveInventory(\"ChipCyclePickup\",1)\nEXEB B 10 A_FireCustomMissile(\"TimeBombShot\",0,0,0,0)\nGoto ChipEnd\nChipEnd:\nEXEB B 1 ACS_NamedExecuteWithResult(\"ChipEndACS\")\nwait\n\nNoAmmo:\nEXEB B 1\ngoto Ready2\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor CustomAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 90\n+INVENTORY.IGNORESKILL\n}\n\nactor ChipSlot1 : Ammo\n{\ninventory.amount 1\ninventory.maxamount 999\n+INVENTORY.IGNORESKILL\n}\n\nactor ChipSlot2 : Ammo\n{\ninventory.amount 1\ninventory.maxamount 999\n+INVENTORY.IGNORESKILL\n}\n\nactor ChipSlot3 : Ammo\n{\ninventory.amount 1\ninventory.maxamount 999\n+INVENTORY.IGNORESKILL\n}\n\nactor ChipSlot4 : Ammo\n{\ninventory.amount 1\ninventory.maxamount 999\n+INVENTORY.IGNORESKILL\n}\n\nactor ChipSlot5 : Ammo\n{\ninventory.amount 1\ninventory.maxamount 999\n+INVENTORY.IGNORESKILL\n}\n\nactor MegaEXEshot : FastProjectile\n{\nPROJECTILE\n+SKYEXPLODE\ndamagetype \"NoIFramesBuster\"\nObituary \"%o was deleted by %k's MegaBuster.\"\nSpeed 300\nDamage (2)\nradius 2\nheight 2\nscale 1\nStates\n{\nSpawn:\nTNT1 A 0\nMESH A 1\nwait\n}\n}\n\nactor MegaEXEshot3 : MegaEXEshot\n{\ndamage (20)\n}\n\n////////////YOYO////////////\n\nactor YoYoExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto YoYo\n}\n}\n\nactor YoYoForwards //Literally an edited DuoWireFist, nothing special\n{\nvar int User_DamageStore;\nPROJECTILE\n+SKYEXPLODE\n//+RIPPER\n+THRUSPECIES\n+SEEKERMISSILE\n+BOUNCEONWALLS\n+BOUNCEONFLOORS\n+BOUNCEONCEILINGS\n-BOUNCEONACTORS\nSeeSound \"weapon/YoYoShoot\"\nSpecies \"Megaman\"\nPROJECTILE\n//Damage (20 + User_DamageStore)\nSpeed 45\nRadius 14\nHeight 16\nscale 2.6\ndamagetype \"NoIFrames\"\nobituary \"%o was deleted by %k's Yo-Yo.\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEParaCheck\")==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetDamageType(\"SparkShock\")\ngoto TrueSpawn\nTrueSpawn:\nGIGF A 0 A_SetUserVar(User_DamageStore,ACS_NamedExecuteWithResult(\"EXEAttackStorage\"))\nGIGF A 0 A_GiveInventory(\"CutterFlag\", 12)\nTNT1 A 0 A_JumpIf(User_DamageStore==1,\"TrueSpawnCheck\") //Some reason passing the above setuservar with 0 sets it to 1 by default in a_explode calcs(??)\ngoto Spawn2\nTrueSpawnCheck:\nGIGF A 0 A_SetUserVar(User_DamageStore,0)\nSpawn2:\nGIGF A 0\nGIGF A 1\nGIGF A 1 A_Explode(40 + User_DamageStore,16,0,0,32)\nGIGF A 0 A_TakeInventory(\"CutterFlag\", 2)\nGIGF A 0 A_JumpIfInventory(\"Cutterflag\", 2, \"Spawn2\")\nGIGF A 0\nGoto Spawn3\nSpawn3:\nGIGF A 1\nGIGF A 1 A_Explode(40 + User_DamageStore,16,0,0,32)\nGIGF A 0 A_TakeInventory(\"CutterFlag\", 999)\nGoto Pause\nPause:\nGIGF A 1 A_Explode(40 + User_DamageStore,16,0,0,32)\nGIGF A 1 A_Stop\nGIGF A 1 A_Explode(40 + User_DamageStore,16,0,0,32)\nGIGF A 1 A_Stop\nGIGF A 1 A_Explode(40 + User_DamageStore,16,0,0,32)\nGIGF A 1 A_Stop\nGIGF A 0 A_RearrangePointers(0,0,AAPTR_TARGET)\nGIGF A 0 A_SetAngle(angle+180)\nGIGF A 0 A_ChangeFlag(\"BOUNCEONWALLS\",FALSE)\nGIGF A 0 A_ChangeFlag(\"BOUNCEONFLOORS\",FALSE)\nGIGF A 0 A_ChangeFlag(\"BOUNCEONCEILINGS\",FALSE)\ngoto Rehome\nRehome:\nTNT1 A 0 A_JumpIfCloser(80,\"Death\")\nGIGF A 1 A_SeekerMissile(360,360,SMF_PRECISE)\nGIGF A 1 A_SeekerMissile(360,360,SMF_PRECISE)\nGIGF A 0 A_Explode(40 + User_DamageStore,16,0,0,32)\nloop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\n////////////CactBall////////////\n\nactor CactBallExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto CactBall\n}\n}\n\nactor CactBall\n{\nPROJECTILE\nvar int User_Damage;//This is so it updates instantly without jank hitbox spawning or team unfriendly exploding\nvar int User_DamageStore;//Because it already fucks with it's own damage\nBouncetype Hexen\n+BOUNCEONACTORS\n+BOUNCEONWALLS\n+BOUNCEONCEILINGS\n+CANBOUNCEWATER\n+USEBOUNCESTATE\n+HITTRACER\nBounceSound \"weapon/CactBounce\"\nDamage (User_Damage)\nheight 14\nradius 14\nspeed 30\ndamagetype \"WoodHit\"\nobituary \"%o was deleted by %k's CactBall.\"\nbouncefactor 1.0\nwallbouncefactor 1.0\nbouncecount 999\nscale 2.5\nGravity 1.1\n-NOGRAVITY\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEParaCheck\")==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetDamageType(\"SparkShock\")\ngoto TrueSpawn\nTrueSpawn:\nWCOI J 0 A_SetUserVar(User_DamageStore,ACS_NamedExecuteWithResult(\"EXEAttackStorage\"))\nSpawn2:\nWCOI J 0 A_SetUserVar(User_Damage,30+User_DamageStore)\nWCOI J 0 ThrustThingZ(0,3,1,1)\nGoto Bouncing\nBouncing:\nWCOI JKL 3\nWCOI M 3\nwait\n\nBounce.Ceiling:\nBounce.Floor:\nWCOI J 0 A_SetUserVar(User_Damage,30+User_DamageStore)\nWCOI L 0 A_GiveInventory(\"WeaponCharge\",1)//Real bouncecount so the final hit can do damage\nWCOI L 0 A_JumpIfInventory(\"WeaponCharge\",10,\"Death\")//True bouncecount\nWCOI L 1 A_JumpIfInventory(\"CutterFlag\",1,\"Reverse\")//Handles the rebound\nWCOI K 1\nWCOI J 1\ngoto Bouncing\nBounce.Actor:\nBounce.Actor.Creature:\nWCOI J 0 A_ChangeVelocity(Velx,Vely,-3,CVF_REPLACE)//Rebound angle controller\nWCOI J 0 A_SetUserVar(\"User_Damage\",0)\nWCOI L 0 A_GiveInventory(\"RollingCutterAmmo\",1)\nWCOI L 0 A_GiveInventory(\"CutterFlag\",1)\nWCOI L 0 A_JumpIfInventory(\"RollingCutterAmmo\",3,\"Death\")//Maximum hits\nWCOI L 1 A_JumpIfInventory(\"WeaponCharge\",10,\"Death\")\nWCOI K 1\nWCOI J 1\ngoto Bouncing\nBounceSafe:\nWCOI L 1\nWCOI K 1\nWCOI J 1\ngoto Bouncing\n\nReverse:\nWCOI L 0 A_TakeInventory(\"CutterFlag\",999)\nWCOI L 1 A_ChangeVelocity(Velx*-1,Vely*-1,Velz,CVF_REPLACE)\nWCOI K 1\nWCOI J 1\ngoto Bouncing\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor WoodHitStun : PowerSpeed\n{\nPowerup.Duration 5\nSpeed 0.0\n+POWERSPEED.NOTRAIL\n}\n\n////////////HiCannon////////////\n\nactor HiCannonExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto HiCannon\n}\n}\n\nactor HiCannonShot : ProtoShot3 //As simple as it gets\n{\nvar int User_DamageStore;\nPROJECTILE\n+SKYEXPLODE\nTranslation \"41:47=229:229\"\nDamageType \"IFrames25\"\nobituary \"%o was deleted by %k's Hi-Cannon.\"\nDamage (60 + User_DamageStore)\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEParaCheck\")==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetDamageType(\"SparkShock\")\ngoto TrueSpawn\nTrueSpawn:\nTNT1 A 0 A_SetUserVar(User_DamageStore,ACS_NamedExecuteWithResult(\"EXEAttackStorage\"))\ngoto Spawn2\nSpawn2:\nPROC ABC 2\ngoto Spawn2\n}\n}\n\n////////////Recov10////////////\n\nactor Recov10ExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto Recov10\n}\n}\n\nactor RecovFX : BasicClientSide\n{\nSpeed 99\nScale 2\nStates\n{\nSpawn:\nTNT1 A 0\nRECO ABC 1\nRECO DEF 2\nstop\n}\n}\n\n////////////Attck10////////////\n\nactor Attck10ExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto Attck10\n}\n}\n\nactor AttackUpStack : Ammo\n{\ninventory.amount 1\ninventory.maxamount 30\n+INVENTORY.IGNORESKILL\n}\n\n////////////ParaPlus////////////\n\nactor ParaPlusExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto ParaPlus\n}\n}\n\nactor ParaPlusTrigger : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.IGNORESKILL\n}\n\n////////////Boomer////////////\n\nactor BoomerExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto Boomer\n}\n}\n\nactor BoomerBack //Loops in on itself to pattern itself around\n{\nPROJECTILE\n+THRUACTORS\n+SLIDESONWALLS\n+SKYEXPLODE\ndamagetype \"WoodHit\"\nObituary \"%o was deleted by %k's Boomer.\"\nArgs 4,0,0,0,0 //Bounces, Paralyze, DamageBonus\nSpeed 80\nDamage (0)\nradius 18\nheight 15\nscale 6\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySound(\"weapon/BoomerThrow\",0,1)\nTNT1 A 0 A_JumpIf(Args[1]==1,\"TrueSpawn\")\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEParaCheck\")==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetArg(1,1)\ngoto TrueSpawn\nTrueSpawn:\nTNT1 A 0 A_JumpIf(Args[2]>0,\"SpawnLoop\")\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEAttackCheck\")>0,\"SetAttack\")\ngoto SpawnLoop\nSetAttack:\nTNT1 A 0 A_SetArg(2,ACS_NamedExecuteWithResult(\"EXEAttackSet\"))\nSpawnLoop:\nMESH A 1 A_SpawnItemEx(\"BoomerDamager\",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL)//For flat damage, rippers multihit like hell\nloop\nDeath:\nMESH A 1 A_SetArg(0,Args[0]-1)\nMESH A 1 A_JumpIf(Args[0]==0,\"TrueDeath\")\nMESH A 0 A_SpawnItemEx(\"BoomerBack\",0,0,0,80,0,0,90,SXF_TRANSFERSPECIAL)\nTrueDeath:\nMESH A 1\nstop\n}\n}\n\nactor BoomerDamager\n{\nPROJECTILE\ndamagetype \"WoodHit\"\nObituary \"%o was deleted by %k's Boomer.\"\nArgs 0,0,0,0,0 //Bounces, Paralyze, DamageBonus\n+DONTBLAST\n+THRUACTORS\ndamage (60+Args[2])\nradius 18\nheight 15\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1]==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetDamageType(\"SparkShock\")\ngoto TrueSpawn\nTrueSpawn:\nTNT1 A 0 A_ChangeFlag(\"THRUACTORS\",false)\nTNT1 A 1\nstop\n}\n}\n\n////////////Timebomb////////////\n\nactor TimeBombExE : MegaBusterExE\n{\nStates\n{\nReady:\nGoto TimeBomb\n}\n}\n\nactor TimeBombShot : FastProjectile\n{\nPROJECTILE\n+THRUSPECIES\n+SKYEXPLODE\nArgs 0,0,0,0,0 //Paralyze, DamageBonus\nSpecies \"Megaman\"\nSpeed 1 //See ScaleVelocity below\nDamage (0)\nradius 16\nHeight 33\nscale 1\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEParaCheck\")==1,\"AddPara\")\ngoto AttackCheck\nAddPara:\nTNT1 A 0 A_SetArg(0,1)\ngoto TrueSpawn\nAttackCheck:\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"EXEAttackCheck\")>0,\"SetAttack\")\ngoto TrueSpawn\nSetAttack:\nTNT1 A 0 A_SetArg(1,ACS_NamedExecuteWithResult(\"EXEAttackSet\"))\ngoto TrueSpawn\nTrueSpawn:\nTNT1 A 0 A_ScaleVelocity(5000) //Actually makes the above work\nTNT1 A 1\nwait\nCrash:\nDeath:\nTNT1 A 1 A_SpawnItemEx(\"TimeBomb\",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL)\nstop\n}\n}\n\nactor Timebomb //Butchered UHF Assfaggot code, though it isn't that complex without the aoe checks\n{\nPROJECTILE\nObituary \"%o was deleted by %k's TimeBomb.\"\nArgs 0,0,0,0,0 //Paralyze, DamageBonus\n+DONTBLAST\n+SHOOTABLE\n+NOTARGETSWITCH\n-NOBLOCKMAP\n-NONSHOOTABLE\n-NORADIUSDMG\n-NOGRAVITY\n+NOEXPLODEFLOOR\nDamageType \"IFrames30\"\nGravity 0.1\nDamage (0)\nRadius 15\nHeight 32\nSpeed 0\nScale 1.8\nHealth 20\nAlpha 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[0]==1,\"AddPara\")\ngoto TrueSpawn\nAddPara:\nTNT1 A 0 A_SetDamageType(\"SparkShock\")\ngoto TrueSpawn\nTrueSpawn:\nCBUP E 0 A_PlaySound(\"weapon/Appear\",CHAN_AUTO,1,0,1.5)\nCBUP EEEEE 1 A_FadeIn(0.2)\nCBUP E 15 A_PlaySound(\"weapon/TimeCount\",CHAN_AUTO,1,0,2.5)\nCBUP D 30 A_PlaySound(\"weapon/TimeCount\",CHAN_AUTO,1,0,2.25)\nCBUP C 30 A_PlaySound(\"weapon/TimeCount\",CHAN_AUTO,1,0,2)\nCBUP J 30 A_PlaySound(\"weapon/TimeCountFinal\",CHAN_AUTO,1,0,1.5)\nGoto TickBoom\nTickBoom:\nTNT1 E 0 A_PlaySound(\"weapon/HugeExplosion\",CHAN_AUTO,1,0,0.5)\nTNT1 A 0 A_Explode(150+Args[1],400,0,0,401)\nTNT1 A 0 A_SetScale(4.0)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,90,45)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,90,135)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,90,225)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,90,315)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,45)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,90)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,135)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,180)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,225)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,270)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,90,0,0,315)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,45)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,90)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,135)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,180)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,225)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,270)\nTNT1 A 0 A_SpawnItemEx(\"ExplosionSpreadShot\",0,0,20,180,0,0,315)\nstop\nDeath:\nTNT1 A 1 A_PlaySound(\"weapon/TimePuff\",CHAN_AUTO,1,0,1)\nstop\n}\n}\n\nactor ExplosionSpreadShot : FastProjectile\n{\nPROJECTILE\n+THRUSPECIES\nSpecies \"Megaman\"\nSpeed 0\nDamage (0)\nradius 2\nheight 2\nscale 1\nStates\n{\nSpawn:\nTNT1 A 0\nMESH A 1\nTNT1 A 1 A_SpawnItemEx(\"ExplosionEffect3\",0,0,0,0,0,0,0)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/spawnfunc.txt",
        "contents": "// Modders can replace these to allow these actors to execute scripts/functions without mass replicating inventory code\n\nactor MM8BDMWepSpawnFunc : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"BaseDroppedSpawner\")\nTNT1 A 0 Thing_Remove(0)\nstop\n}\n}\n\nactor MM8BDMItemSpawnFunc : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 //A_SpawnItemEx(\"Cacodemon\")\nTNT1 A 0 Thing_Remove(0)\nstop\n}\n}\n\nactor PartyBallSpawnFunc : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 //A_SpawnItemEx(\"Cacodemon\")\nTNT1 A 0 Thing_Remove(0)\nstop\n}\n}\n\nactor MM8BDMFlagSpawnFunc : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/ChipSystem/ChipCyclingSystem.txt",
        "contents": "actor ChipCyclePickup : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteWithResult(\"ChipCycleACS\")\nstop\n}\n}\n\nactor BaseDroppedSpawner : BasicHelper\n{\nvar int user_PlayerCount; //Every player past 2 increases chip refresh rate by 10%\nRenderStyle \"Translucent\"\nAlpha 0.25\nScale 2.0\nStates\n{\nSpawn:\nTNT1 A 0\nBNCU A 10\nSpawn1:\n\"####\" \"#\" 0 A_SetUserVar(user_PlayerCount,ACS_NamedExecuteWithResult(\"EXEChipRefreshSpeed\"))\n\"####\" \"#\" 0 A_SetArg(0,0)\nBNCU A 1\n\"####\" \"#\" 0 ACS_NamedExecuteWithResult(\"ExESpawnChip\")\nSpawn2:\n\"####\" \"#\" 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=4620,\"Frame8\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=3960,\"Frame7\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=3300,\"Frame6\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=2640,\"Frame5\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=1980,\"Frame4\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=1320,\"Frame3\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=660,\"Frame2\")\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\nloop\nFrame1:\nBNCU A 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame2:\nBNCU B 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame3:\nBNCU C 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame4:\nBNCU D 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame5:\nBNCU E 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame6:\nBNCU F 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame7:\nBNCU G 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\nFrame8:\nBNCU H 1 A_SetArg(0,Args[0]+10+user_PlayerCount)\n\"####\" \"#\" 0 A_JumpIf(Args[0]>=5280,\"Spawn1\")\ngoto Spawn2\n}\n}\n\nactor BaseDroppedChip : CustomInventory //Base Actor\n{\nScale 2\ninventory.pickupsound \"weapon/weaponup\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nTNT1 A 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",1)\nPickup1:\nTNT1 A 0 A_JumpIfInventory(\"ChipSlot5\",1,\"No\")\nTNT1 A 0 A_JumpIfInventory(\"ChipSlot4\",1,\"Pick5\")\nTNT1 A 0 A_JumpIfInventory(\"ChipSlot3\",1,\"Pick4\")\nTNT1 A 0 A_JumpIfInventory(\"ChipSlot2\",1,\"Pick3\")\nTNT1 A 0 A_JumpIfInventory(\"ChipSlot1\",1,\"Pick2\")\ngoto Pick1\nPick1:\nTNT1 A 0 A_GiveInventory(\"ChipSlot1\",CallACS(\"Get_AVar\"))\nstop\nPick2:\nTNT1 A 0 A_GiveInventory(\"ChipSlot2\",CallACS(\"Get_AVar\"))\nstop\nPick3:\nTNT1 A 0 A_GiveInventory(\"ChipSlot3\",CallACS(\"Get_AVar\"))\nstop\nPick4:\nTNT1 A 0 A_GiveInventory(\"ChipSlot4\",CallACS(\"Get_AVar\"))\nstop\nPick5:\nTNT1 A 0 A_GiveInventory(\"ChipSlot5\",CallACS(\"Get_AVar\"))\nstop\nNo:\nTNT1 A 0\nfail\n}\n}\n\nactor YoYoDropped : BaseDroppedChip //Already gives it's index number of 1\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742) //Allows it to be removed in the case of higher player counts\nBTTL A 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",1)\ngoto Pickup1\n}\n}\n\nactor CactBallDropped : BaseDroppedChip //2\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL B 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",2)\ngoto Pickup1\n}\n}\n\nactor HiCannonDropped : BaseDroppedChip //3\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL C 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",3)\ngoto Pickup1\n}\n}\n\nactor Recov10Dropped : BaseDroppedChip //4\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL D 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",4)\ngoto Pickup1\n}\n}\n\nactor Attck10Dropped : BaseDroppedChip //5\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL E 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",5)\ngoto Pickup1\n}\n}\n\nactor ParaPlusDropped : BaseDroppedChip //6\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL F 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",6)\ngoto Pickup1\n}\n}\n\nactor BoomerDropped : BaseDroppedChip //7\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL G 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",7)\ngoto Pickup1\n}\n}\n\nactor TimeBombDropped : BaseDroppedChip //8\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,9742)\nBTTL H 528\nstop\nPickup:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_AVar\",8)\ngoto Pickup1\n}\n}"
      }
    ]
  },
  "maps": []
}

gib.gg runs on open-source software and freely licensed replacement game assets from the Freedoom project. gib.gg is not affiliated with Bethesda Softworks, id Software, or ZeniMax Media. All trademarks belong to their respective owners. Some WADs and associated metadata on this site are sourced from WAD Archive. User-submitted content remains the responsibility of its respective authors. If you believe content on this site violates your rights, please send DMCA requests to dmca@gib.gg.