2009-07-30 14:49:27 +00:00
|
|
|
|
2009-07-30 18:10:57 +00:00
|
|
|
// Basic Hexen stuff.
|
|
|
|
|
|
|
|
|
|
|
|
skills
|
|
|
|
{
|
|
|
|
1 = "Squire / Altar boy / Apprentice";
|
|
|
|
2 = "Knight / Acolyte / Enchanter";
|
|
|
|
3 = "Warrior / Priest / Sorceror";
|
|
|
|
4 = "Berserker / Cardinal / Warlock";
|
|
|
|
5 = "Titan / Pope / Archimage";
|
|
|
|
}
|
|
|
|
|
2009-07-30 14:49:27 +00:00
|
|
|
|
|
|
|
linedefflags
|
|
|
|
{
|
|
|
|
512 = "Repeatable Action";
|
|
|
|
8192 = "Monster Activates";
|
|
|
|
32768 = "Block Everything";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
thingflags
|
|
|
|
{
|
|
|
|
16 = "Dormant";
|
|
|
|
32 = "Fighter class";
|
|
|
|
64 = "Cleric class";
|
|
|
|
128 = "Mage class";
|
|
|
|
256 = "Singleplayer";
|
|
|
|
512 = "Cooperative";
|
|
|
|
1024 = "Deathmatch";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Default flags for first new thing
|
|
|
|
defaultthingflags
|
|
|
|
{
|
|
|
|
32;
|
|
|
|
64;
|
|
|
|
128;
|
|
|
|
256;
|
|
|
|
512;
|
|
|
|
1024;
|
|
|
|
}
|
|
|
|
|
2012-08-27 11:39:14 +00:00
|
|
|
// How thing flags should be compared (for the stuck thing error check)
|
|
|
|
thingflagscompare
|
|
|
|
{
|
|
|
|
skills {
|
|
|
|
1;
|
|
|
|
2;
|
|
|
|
4;
|
|
|
|
}
|
|
|
|
|
|
|
|
classes {
|
|
|
|
32;
|
|
|
|
64;
|
|
|
|
128;
|
|
|
|
}
|
|
|
|
|
|
|
|
gamemodes {
|
2014-11-03 13:02:59 +00:00
|
|
|
256 {
|
|
|
|
requiredgroup = "skills";
|
|
|
|
}
|
|
|
|
512 {
|
|
|
|
requiredgroup = "skills";
|
|
|
|
}
|
|
|
|
1024 {
|
|
|
|
ignoredgroup = "skills";
|
|
|
|
}
|
2012-08-27 11:39:14 +00:00
|
|
|
}
|
|
|
|
}
|
2009-07-31 12:56:07 +00:00
|
|
|
|
2009-07-30 14:49:27 +00:00
|
|
|
// Mask for the thing flags which indicates the options
|
|
|
|
// that make the same thing appear in the same modes
|
|
|
|
thingflagsmasks
|
|
|
|
{
|
|
|
|
thingflagsmask1 = 7; // 1 + 2 + 4
|
|
|
|
thingflagsmask2 = 1792; // 256 + 512 + 1024
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Linedef flags UDMF translation table
|
|
|
|
// This is needed for copy/paste and prefabs to work properly
|
|
|
|
// When the UDMF field name is prefixed with ! it is inverted
|
|
|
|
linedefflagstranslation
|
|
|
|
{
|
|
|
|
512 = "repeatspecial";
|
|
|
|
1024 = "playeruse";
|
|
|
|
2048 = "monstercross";
|
|
|
|
3072 = "impact";
|
|
|
|
4096 = "playerpush";
|
|
|
|
5120 = "missilecross";
|
|
|
|
8192 = "monsteractivate";
|
|
|
|
32768 = "blockeverything";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Thing flags UDMF translation table
|
|
|
|
// This is needed for copy/paste and prefabs to work properly
|
|
|
|
// When the UDMF field name is prefixed with ! it is inverted
|
|
|
|
thingflagstranslation
|
|
|
|
{
|
|
|
|
16 = "dormant";
|
|
|
|
32 = "class1";
|
|
|
|
64 = "class2";
|
|
|
|
128 = "class3";
|
|
|
|
256 = "single";
|
|
|
|
512 = "coop";
|
|
|
|
1024 = "dm";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Activations filter for Hexen type activations
|
|
|
|
// This filters the activation bits from the flags
|
|
|
|
// This is in its own structure for inclusion only,
|
|
|
|
// the actual value will end up in the document scope
|
|
|
|
linedefactivationsfilter
|
|
|
|
{
|
|
|
|
linedefactivationsfilter = 7168;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// LINEDEF ACTIVATIONS
|
|
|
|
// Make sure these are in order from lowest value to highest value
|
|
|
|
linedefactivations
|
|
|
|
{
|
|
|
|
0 = "Player walks over";
|
|
|
|
1024 = "Player presses Use";
|
|
|
|
2048 = "Monster walks over";
|
|
|
|
3072 = "Projectile hits";
|
|
|
|
4096 = "Player bumps";
|
|
|
|
5120 = "Projectile flies over";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Default thing filters
|
2012-04-17 19:13:47 +00:00
|
|
|
// (these are not required, just useful for new users)
|
2009-07-30 14:49:27 +00:00
|
|
|
thingsfilters
|
|
|
|
{
|
|
|
|
|
|
|
|
filter0
|
|
|
|
{
|
|
|
|
name = "Easy skill";
|
|
|
|
category = "";
|
|
|
|
type = -1;
|
|
|
|
|
|
|
|
fields
|
|
|
|
{
|
|
|
|
1 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
filter1
|
|
|
|
{
|
|
|
|
name = "Hard skill";
|
|
|
|
category = "";
|
|
|
|
type = -1;
|
|
|
|
|
|
|
|
fields
|
|
|
|
{
|
|
|
|
4 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
filter2
|
|
|
|
{
|
|
|
|
name = "Keys only";
|
|
|
|
category = "keys";
|
|
|
|
type = -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
filter3
|
|
|
|
{
|
|
|
|
name = "Medium skill";
|
|
|
|
category = "";
|
|
|
|
type = -1;
|
|
|
|
|
|
|
|
fields
|
|
|
|
{
|
|
|
|
2 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ENUMERATIONS
|
|
|
|
// These are enumerated lists for linedef types and UDMF fields.
|
|
|
|
enums
|
|
|
|
{
|
|
|
|
keys
|
|
|
|
{
|
|
|
|
0 = "None";
|
|
|
|
1 = "Steel key";
|
|
|
|
2 = "Cave key";
|
|
|
|
3 = "Axe key";
|
|
|
|
4 = "Fire key";
|
|
|
|
5 = "Emerald key";
|
|
|
|
6 = "Dungeon key";
|
|
|
|
7 = "Silver key";
|
|
|
|
8 = "Rusted key";
|
|
|
|
9 = "Horn key";
|
|
|
|
10 = "Swamp key";
|
|
|
|
11 = "Castle key";
|
|
|
|
100 = "Any key";
|
|
|
|
101 = "All keys";
|
|
|
|
102 = "Impossible";
|
|
|
|
}
|
|
|
|
|
|
|
|
spawnthing
|
|
|
|
{
|
|
|
|
0 = "None";
|
|
|
|
|
|
|
|
/*
|
|
|
|
T_NONE 0
|
|
|
|
T_CENTAUR 1
|
|
|
|
T_CENTAURLEADER 2
|
|
|
|
T_DEMON 3
|
|
|
|
T_ETTIN 4
|
|
|
|
T_FIREGARGOYLE 5
|
|
|
|
T_WATERLURKER 6
|
|
|
|
T_WATERLURKERLEADER 7
|
|
|
|
T_WRAITH 8
|
|
|
|
T_WRAITHBURIED 9
|
|
|
|
T_FIREBALL1 10
|
|
|
|
T_MANA1 11
|
|
|
|
T_MANA2 12
|
|
|
|
T_ITEMBOOTS 13
|
|
|
|
T_ITEMEGG 14
|
|
|
|
T_ITEMFLIGHT 15
|
|
|
|
T_ITEMSUMMON 16
|
|
|
|
T_ITEMTPORTOTHER 17
|
|
|
|
T_ITEMTELEPORT 18
|
|
|
|
T_BISHOP 19
|
|
|
|
T_ICEGOLEM 20
|
|
|
|
T_BRIDGE 21
|
|
|
|
T_DRAGONSKINBRACERS 22
|
|
|
|
T_ITEMHEALTHPOTION 23
|
|
|
|
T_ITEMHEALTHFLASK 24
|
|
|
|
T_ITEMHEALTHFULL 25
|
|
|
|
T_ITEMBOOSTMANA 26
|
|
|
|
T_FIGHTERAXE 27
|
|
|
|
T_FIGHTERHAMMER 28
|
|
|
|
T_FIGHTERSWORD1 29
|
|
|
|
T_FIGHTERSWORD2 30
|
|
|
|
T_FIGHTERSWORD3 31
|
|
|
|
T_CLERICSTAFF 32
|
|
|
|
T_CLERICHOLY1 33
|
|
|
|
T_CLERICHOLY2 34
|
|
|
|
T_CLERICHOLY3 35
|
|
|
|
T_MAGESHARDS 36
|
|
|
|
T_MAGESTAFF1 37
|
|
|
|
T_MAGESTAFF2 38
|
|
|
|
T_MAGESTAFF3 39
|
|
|
|
T_MORPHBLAST 40
|
|
|
|
T_ROCK1 41
|
|
|
|
T_ROCK2 42
|
|
|
|
T_ROCK3 43
|
|
|
|
T_DIRT1 44
|
|
|
|
T_DIRT2 45
|
|
|
|
T_DIRT3 46
|
|
|
|
T_DIRT4 47
|
|
|
|
T_DIRT5 48
|
|
|
|
T_DIRT6 49
|
|
|
|
T_ARROW 50
|
|
|
|
T_DART 51
|
|
|
|
T_POISONDART 52
|
|
|
|
T_RIPPERBALL 53
|
|
|
|
T_STAINEDGLASS1 54
|
|
|
|
T_STAINEDGLASS2 55
|
|
|
|
T_STAINEDGLASS3 56
|
|
|
|
T_STAINEDGLASS4 57
|
|
|
|
T_STAINEDGLASS5 58
|
|
|
|
T_STAINEDGLASS6 59
|
|
|
|
T_STAINEDGLASS7 60
|
|
|
|
T_STAINEDGLASS8 61
|
|
|
|
T_STAINEDGLASS9 62
|
|
|
|
T_STAINEDGLASS0 63
|
|
|
|
T_BLADE 64
|
|
|
|
T_ICESHARD 65
|
|
|
|
T_FLAME_SMALL 66
|
|
|
|
T_FLAME_LARGE 67
|
|
|
|
T_MESHARMOR 68
|
|
|
|
T_FALCONSHIELD 69
|
|
|
|
T_PLATINUMHELM 70
|
|
|
|
T_AMULETOFWARDING 71
|
|
|
|
T_ITEMFLECHETTE 72
|
|
|
|
T_ITEMTORCH 73
|
|
|
|
T_ITEMREPULSION 74
|
|
|
|
T_MANA3 75
|
|
|
|
T_PUZZSKULL 76
|
|
|
|
T_PUZZGEMBIG 77
|
|
|
|
T_PUZZGEMRED 78
|
|
|
|
T_PUZZGEMGREEN1 79
|
|
|
|
T_PUZZGEMGREEN2 80
|
|
|
|
T_PUZZGEMBLUE1 81
|
|
|
|
T_PUZZGEMBLUE2 82
|
|
|
|
T_PUZZBOOK1 83
|
|
|
|
T_PUZZBOOK2 84
|
|
|
|
T_METALKEY 85
|
|
|
|
T_SMALLMETALKEY 86
|
|
|
|
T_AXEKEY 87
|
|
|
|
T_FIREKEY 88
|
|
|
|
T_GREENKEY 89
|
|
|
|
T_MACEKEY 90
|
|
|
|
T_SILVERKEY 91
|
|
|
|
T_RUSTYKEY 92
|
|
|
|
T_HORNKEY 93
|
|
|
|
T_SERPENTKEY 94
|
|
|
|
T_WATERDRIP 95
|
|
|
|
T_TEMPSMALLFLAME 96
|
|
|
|
T_PERMSMALLFLAME 97
|
|
|
|
T_TEMPLARGEFLAME 98
|
|
|
|
T_PERMLARGEFLAME 99
|
|
|
|
T_DEMON_MASH 100
|
|
|
|
T_DEMON2_MASH 101
|
|
|
|
T_ETTIN_MASH 102
|
|
|
|
T_CENTAUR_MASH 103
|
|
|
|
T_THRUSTSPIKEUP 104
|
|
|
|
T_THRUSTSPIKEDOWN 105
|
|
|
|
T_FLESH_DRIP1 106
|
|
|
|
T_FLESH_DRIP2 107
|
|
|
|
T_SPARK_DRIP 108
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-04-17 19:13:47 +00:00
|
|
|
/*
|
|
|
|
GAME DETECT PATTERN
|
|
|
|
Used to guess the game for which a WAD file is made.
|
|
|
|
|
|
|
|
1 = One of these lumps must exist
|
|
|
|
2 = None of these lumps must exist
|
|
|
|
3 = All of these lumps must exist
|
|
|
|
*/
|
|
|
|
gamedetect_format
|
|
|
|
{
|
|
|
|
TEXTMAP = 2;
|
|
|
|
THINGS = 3;
|
|
|
|
LINEDEFS = 3;
|
|
|
|
SIDEDEFS = 3;
|
|
|
|
VERTEXES = 3;
|
|
|
|
SEGS = 3;
|
|
|
|
SSECTORS = 3;
|
|
|
|
NODES = 3;
|
|
|
|
SECTORS = 3;
|
|
|
|
REJECT = 3;
|
|
|
|
BLOCKMAP = 3;
|
|
|
|
ENDMAP = 2;
|
|
|
|
BEHAVIOR = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
gamedetect
|
|
|
|
{
|
|
|
|
EXTENDED = 2;
|
|
|
|
E1M1 = 2; E1M2 = 2; E1M3 = 2; E1M4 = 2; E1M5 = 2; E1M6 = 2; E1M7 = 2; E1M8 = 2; E1M9 = 2;
|
|
|
|
E2M1 = 2; E2M2 = 2; E2M3 = 2; E2M4 = 2; E2M5 = 2; E2M6 = 2; E2M7 = 2; E2M8 = 2; E2M9 = 2;
|
|
|
|
E3M1 = 2; E3M2 = 2; E3M3 = 2; E3M4 = 2; E3M5 = 2; E3M6 = 2; E3M7 = 2; E3M8 = 2; E3M9 = 2;
|
|
|
|
E4M1 = 2; E4M2 = 2; E4M3 = 2; E4M4 = 2; E4M5 = 2; E4M6 = 2; E4M7 = 2; E4M8 = 2; E4M9 = 2;
|
|
|
|
E5M1 = 2; E5M2 = 2; E5M3 = 2; E5M4 = 2; E5M5 = 2; E5M6 = 2; E5M7 = 2; E5M8 = 2; E5M9 = 2;
|
|
|
|
E6M1 = 2; E6M2 = 2; E6M3 = 2;
|
|
|
|
MAP01 = 1; MAP02 = 1; MAP03 = 1; MAP04 = 1; MAP05 = 1; MAP06 = 1; MAP07 = 1; MAP08 = 1; MAP09 = 1; MAP10 = 1;
|
|
|
|
MAP11 = 1; MAP12 = 1; MAP13 = 1; MAP14 = 1; MAP15 = 1; MAP16 = 1; MAP17 = 1; MAP18 = 1; MAP19 = 1; MAP20 = 1;
|
|
|
|
MAP21 = 1; MAP22 = 1; MAP23 = 1; MAP24 = 1; MAP25 = 1; MAP26 = 1; MAP27 = 1; MAP28 = 1; MAP29 = 1; MAP30 = 1;
|
|
|
|
MAP31 = 1; MAP32 = 1; MAP33 = 1; MAP34 = 1; MAP35 = 1; MAP36 = 1; MAP37 = 1; MAP38 = 1; MAP39 = 1; MAP40 = 1;
|
|
|
|
MAP41 = 1;
|
|
|
|
}
|