Raw model (for completeness)
{
"meta": {
"id": "04011310-36a3-486d-8cf4-38ecae8fff8c",
"sha1": "bbe78b08c1979355074f0689cc63edba9dd8a3d3",
"sha256": "842dccdd7caf1f6b7c02d11083f250a2e7d151e3385cbb664ebdc898e0c1441a",
"filenames": [
"heartland.pke"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2021/03/29 14:09:13",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": {
"MAP01": "MAP01.png",
"MAP02": "MAP02.png",
"MAP03": "MAP03.png",
"MAP04": "MAP04.png",
"MAP05": "MAP05.png",
"MAP06": "MAP06.png",
"MAP07": "MAP07.png",
"MAP08": "MAP08.png"
},
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2021/03/29 14:09:13",
"file": {
"type": "PKE",
"size": 48332839,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/bbe78b08c1979355074f0689cc63edba9dd8a3d3/bbe78b08c1979355074f0689cc63edba9dd8a3d3.pke.gz",
"corrupt": false
},
"content": {
"maps": [
"MAP01",
"MAP02",
"MAP03",
"MAP04",
"MAP05",
"MAP06",
"MAP07",
"MAP08"
],
"counts": {
"endoom": 0,
"graphics": 4,
"lumps": 5482,
"maps": 8,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "credits.txt",
"contents": "Paul \"skillsaw\" DeBruyne:\n - Project Lead, Mapping, Graphics\n\nStuart \"stewboy\" Rynn:\n - Original music, testing\n\nMax \"Altazimuth\" Waine:\n - Eternity Engine development & support, testing, ENDOOM\n\nXaser \"Xaser Acheron\" Acheron:\n - Weapon coding, animations, and general feelgoodiness\n\nBoris \"dew\" Klimeš:\n - Playtesting\n\nOla \"ukiro\" Björling:\n - Textures sourced from OTEX\n\nJohn \"Metlslime\" Fitzgibbons:\n - Textures sourced from jf1.wad, jf2.wad, and jf_obtex.wad\n\nRobert \"Fat Controller\" Cruickshank:\n - Textures sourced fomr jf_obtex.wad\n\nEspi\n - Ground/Grass flats and vine midtextures\n\nTormentor667\n - Grass midtextures\n\nAdditional textures sourced from Quake 2, Redneck Rampage, Duke Nukem 3D, Blood 2: The Chosen, and The Wheel of Time.\n\nEsselfortium:\n - Enemy & special FX (smoke, gore, etc.), from Vaporware\n\nNeoworm:\n - SMG and Fire Axe sprites\n\nRavage (rf`):\n - Flamethrower sprites\n\niamcarrotmaster\n - Cluster bomb sprites\n\nPer Kristian Risvik:\n - Base sprites for smoothed-up weapon animations (shotgun, SSG, rockets)\n\nScuba Steve:\n - Upgraded smooth weapon animation art (shotgun, SSG)\n\nMinigunner:\n - Smooth rocket explosion sprites\n\nCory Whittle:\n - Rocket projectile & ammo pickup sprites\n\nMechadon:\n - Fonts\n\nStatus bar and additional graphics are composited by skillsaw from source material from OTEX by ukiro.\n\nLarge status bar numbers from Requiem.\n\nMonster resources sourced from Realm667 and converted to EDF by skillsaw. Full credits below.\n\nCatharsi:\n - Submitted: Tormentor667\n - Original Code: Tormentor667, Ghastly Dragon (ZScript conversion)\n - GLDefs: Ghastly Dragon, Sandypaper (Brightmaps)\n - Sounds: Id Software (Quake 3 Arena)\n - Sprites: Id Software, LucasArts\n - Sprite Edit: Rottking\n - Idea Base: Serious Sam Aliens\n\nCybruiser\n - Submitted: Tormentor667\n - Code: Amuscaria, Ghastly (ZScript conversion)\n - GLDefs: Dreadopp, SandyPaper (Brightmaps)\n - Sounds: id Software, Amuscaria\n - Sprites: id Software, Raven Software, Wolfendoom\n - Sprite Edit: Amuscaria\n - Idea Base: Doom 2 Cyberdemon\n\nGrell\n - Submitted: Xaser\n - Code: Xaser, Ghastly (ZScript conversion)\n - GLDefs: Eriance (from Vulgar), Sandypaper (brightmaps)\n - Sounds: id Software (from Quake II)\n - Sprites: NMN (enemy), Eriance (projectile)\n - Idea Base: D&D's Grell enemy\n\nRocket Zombie\n - Submitted: Tormentor667\n - Code: Graf Zahl, Ghastly (ZScript conversion)\n - GLDefs: Dreadopp, Sandypaper (Brightmaps)\n - Sounds: Id Software\n - Sprites: Id Software\n - Sprite Edit: The Innocent Crew\n\nSuicide Bomber\n - Submitted: Tormentor667\n - Code: Tormentor667, Ghastly (ZScript conversion)\n - GLDefs: Dreadopp, Sandypaper (Brightmaps)\n - Sounds: Id Software, Croteam (Serious Sam)\n - Sprites: Id Software, Mark Quinn, Anthony Cole\n - Sprite Edit: Tormentor667\n - Idea Base: Suicide Bomber from Serious Sam\n\nHeart\n - Orignal sprites by Konami (Contra III)"
},
{
"source": "pk3",
"name": "db2cfg.txt",
"contents": "health\n{\n\tcolor = 1;\t// Blue\n\tarrow = 0;\n\ttitle = \"Health and Armor\";\n\twidth = 20;\n\tsort = 1;\n\theight = 16;\n\thangs = 0;\n\tblocking = 0;\n\n\t27000\n\t{\n\t\ttitle = \"OrangeArmor\";\n\t\tsprite = \"ARM3A0\";\n\t}\n\n\t27001\n\t{\n\t\ttitle = \"MegaPack\";\n\t\tsprite = \"MEDPA0\";\n\t}\n}\n\nweapons\n{\n\t31000\n\t{\n\t\ttitle = \"Dual Pistols\";\n\t\tsprite = \"DPSGA0\";\n\t\twidth = 16;\n\t\tclass = \"DualPistols\";\n\t\theight = 48;\n\t}\n}\n\nmonsters\n{\n\tcolor = 12;\t// Light Red\n\tarrow = 1;\n\ttitle = \"Monsters\";\n\twidth = 20;\n\tsort = 1;\n\theight = 56;\n\thangs = 0;\n\tblocking = 1;\n\terror = 2;\n\n\t30006\n\t{\n\t\ttitle = \"Cybruiser\";\n\t\tsprite = \"CBRUA1\";\n\t\twidth = 24;\n\t\tclass = \"Cybruiser\";\n\t\theight = 64;\n\t}\n\n\t30007\n\t{\n\t\ttitle = \"SuicideBomber\";\n\t\twidth = 20;\n\t\tsprite = \"SUICA1\";\n\t\theight = 56;\n\t\tclass = \"SuicideBomber\";\n\t}\n\n\t30008\n\t{\n\t\ttitle = \"Rocket Zombie\";\n\t\twidth = 20;\n\t\tsprite = \"MPOSA1\";\n\t\theight = 56;\n\t\tclass = \"Vore\";\n\t}\n\n\t30009\n\t{\n\t\ttitle = \"Catharsi\";\n\t\twidth = 20;\n\t\tsprite = \"SDDMA1\";\n\t\tclass = \"Catharsi\";\n\t\theight = 56;\n\t}\n\n\t30010\n\t{\n\t\ttitle = \"Tortured Soul\";\n\t\twidth = 31;\n\t\theight = 56;\n\t\tsprite = \"TORTA1\";\n\t\tclass = \"TorturedSoul\";\n\t}\n\n\t30011\n\t{\n\t\ttitle = \"Grell\";\n\t\twidth = 22;\n\t\theight = 56;\n\t\tsprite = \"GRELA1\";\n\t\tclass = \"Grell\";\n\t}\n}\n\nobstacles\n{\n\tcolor = 3;\t// Cyan\n\tarrow = 0;\n\ttitle = \"Obstacles\";\n\tsort = 1;\n\tblocking = 1;\n\terror = 2;\n\n\t32001\n\t{\n\t\ttitle = \"Pot1\";\n\t\twidth = 12;\n\t\tsprite = \"POT1A0\";\n\t\theight = 56;\n\t\tclass = \"Pot1\";\n\t}\n\n\t32002\n\t{\n\t\ttitle = \"Pot2\";\n\t\twidth = 12;\n\t\tsprite = \"POT2A0\";\n\t\theight = 56;\n\t\tclass = \"Pot2\";\n\t}\n\n\t32003\n\t{\n\t\ttitle = \"Pot3\";\n\t\twidth = 14;\n\t\tsprite = \"POT3A0\";\n\t\theight = 56;\n\t\tclass = \"Pot3\";\n\t}\n\n\t32004\n\t{\n\t\ttitle = \"WoodBarrel\";\n\t\twidth = 14;\n\t\tsprite = \"BARLA0\";\n\t\theight = 56;\n\t\tclass = \"WoodBarrel\";\n\t}\n\n\t32007\n\t{\n\t\ttitle = \"PineTree\";\n\t\twidth = 24;\n\t\tsprite = \"XMASA0\";\n\t\theight = 144;\n\t\tclass = \"PineTree\";\n\t}\n\n\t32012\n\t{\n\t\ttitle = \"HexenImpaledCorpse\";\n\t\twidth = 16;\n\t\tsprite = \"CPS1A0\";\n\t\theight = 112;\n\t\tclass = \"HexenImpaledCorpse\";\n\n\t}\n\n\t32013\n\t{\n\t\ttitle = \"HexenFloorCorpse\";\n\t\twidth = 16;\n\t\tsprite = \"CPS2A0\";\n\t\theight = 16;\n\t\tclass = \"HexenFloorCorpse\";\n\t}\n\n\t32014\n\t{\n\t\ttitle = \"HexenHangingCorpse1\";\n\t\twidth = 16;\n\t\tsprite = \"CPS3A0\";\n\t\theight = 80;\n\t\tclass = \"HexenHangingCorpse1\";\n\t\thangs = 1;\n\t}\n\n\t32015\n\t{\n\t\ttitle = \"HexenHangingCorpse2\";\n\t\twidth = 16;\n\t\tsprite = \"CPS4A0\";\n\t\theight = 95;\n\t\tclass = \"HexenHangingCorpse2\";\n\t\thangs = 1;\n\t}\n\n\t32016\n\t{\n\t\ttitle = \"HexenHangingCorpse3\";\n\t\twidth = 16;\n\t\tsprite = \"CPS5A0\";\n\t\theight = 99;\n\t\tclass = \"HexenHangingCorpse3\";\n\t\thangs = 1;\n\t}\n\n\t32017\n\t{\n\t\ttitle = \"HexenLeaningFloorCorpse\";\n\t\twidth = 16;\n\t\tsprite = \"CPS6A0\";\n\t\theight = 99;\n\t\tclass = \"HexenLeaningFloorCorpse\";\n\t}\n\n\t32041\n\t{\n\t\ttitle = \"GrayStalag1\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTA0\";\n\t\theight = 128;\n\t\tclass = \"GrayStalag1\";\n\t}\n\n\t32042\n\t{\n\t\ttitle = \"GrayStalag2\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTB0\";\n\t\theight = 70;\n\t\tclass = \"GrayStalag2\";\n\t}\n\n\t32043\n\t{\n\t\ttitle = \"GrayStalag3\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTC0\";\n\t\theight = 52;\n\t\tclass = \"GrayStalag3\";\n\t}\n\n\t32044\n\t{\n\t\ttitle = \"GrayStalag4\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTD0\";\n\t\theight = 45;\n\t\tclass = \"GrayStalag4\";\n\t}\n\n\t32045\n\t{\n\t\ttitle = \"GrayStalag5\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTE0\";\n\t\theight = 71;\n\t\tclass = \"GrayStalag5\";\n\t\thangs = 1;\n\t}\n\n\t32046\n\t{\n\t\ttitle = \"GrayStalag6\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTF0\";\n\t\theight = 55;\n\t\tclass = \"GrayStalag6\";\n\t\thangs = 1;\n\t}\n\n\t32047\n\t{\n\t\ttitle = \"GrayStalag7\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTG0\";\n\t\theight = 45;\n\t\tclass = \"GrayStalag7\";\n\t\thangs = 1;\n\t}\n\n\t32048\n\t{\n\t\ttitle = \"BrownStalag1\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTH0\";\n\t\theight = 72;\n\t\tclass = \"BrownStalag1\";\n\t}\n\n\t32049\n\t{\n\t\ttitle = \"BrownStalag2\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTI0\";\n\t\theight = 58;\n\t\tclass = \"BrownStalag2\";\n\t}\n\n\t32050\n\t{\n\t\ttitle = \"BrownStalag3\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTJ0\";\n\t\theight = 42;\n\t\tclass = \"BrownStalag3\";\n\t}\n\n\t32051\n\t{\n\t\ttitle = \"BrownStalag4\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTK0\";\n\t\theight = 26;\n\t\tclass = \"BrownStalag4\";\n\t}\n\n\t32052\n\t{\n\t\ttitle = \"BrownStalag5\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTL0\";\n\t\theight = 72;\n\t\tclass = \"BrownStalag5\";\n\t\thangs = 1;\n\t}\n\n\t32053\n\t{\n\t\ttitle = \"BrownStalag6\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTM0\";\n\t\theight = 55;\n\t\tclass = \"BrownStalag6\";\n\t\thangs = 1;\n\t}\n\n\t32054\n\t{\n\t\ttitle = \"BrownStalag7\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTN0\";\n\t\theight = 42;\n\t\tclass = \"BrownStalag7\";\n\t\thangs = 1;\n\t}\n\n\t32055\n\t{\n\t\ttitle = \"BrownStalag8\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTO0\";\n\t\theight = 25;\n\t\tclass = \"BrownStalag8\";\n\t\thangs = 1;\n\t}\n\n\t32056\n\t{\n\t\ttitle = \"BrownStalag9\";\n\t\twidth = 16;\n\t\tsprite = \"CSMTP0\";\n\t\theight = 128;\n\t\tclass = \"BrownStalag9\";\n\t}\n\n\t32057\n\t{\n\t\ttitle = \"Gargoyle1\";\n\t\twidth = 16;\n\t\tsprite = \"GAR1A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle1\";\n\t}\n\n\t32058\n\t{\n\t\ttitle = \"Gargoyle2\";\n\t\twidth = 16;\n\t\tsprite = \"GAR2A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle2\";\n\t}\n\n\t32059\n\t{\n\t\ttitle = \"Gargoyle3\";\n\t\twidth = 16;\n\t\tsprite = \"GAR3A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle3\";\n\t}\n\n\t32060\n\t{\n\t\ttitle = \"Gargoyle4\";\n\t\twidth = 16;\n\t\tsprite = \"GAR4A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle4\";\n\t}\n\n\t32061\n\t{\n\t\ttitle = \"Gargoyle5\";\n\t\twidth = 16;\n\t\tsprite = \"GAR5A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle5\";\n\t}\n\n\t32062\n\t{\n\t\ttitle = \"Gargoyle6\";\n\t\twidth = 16;\n\t\tsprite = \"GAR6A0\";\n\t\theight = 72;\n\t\tclass = \"Gargoyle6\";\n\t}\n\n\t32063\n\t{\n\t\ttitle = \"Gargoyle7\";\n\t\twidth = 16;\n\t\tsprite = \"GAR7A0\";\n\t\theight = 128;\n\t\tclass = \"Gargoyle7\";\n\t}\n\n\t32064\n\t{\n\t\ttitle = \"Gargoyle8\";\n\t\twidth = 16;\n\t\tsprite = \"GAR8A0\";\n\t\theight = 72;\n\t\tclass = \"Gargoyle8\";\n\t}\n\n\t32065\n\t{\n\t\ttitle = \"Gargoyle9\";\n\t\twidth = 16;\n\t\tsprite = \"GAR9A0\";\n\t\theight = 72;\n\t\tclass = \"Gargoyle9\";\n\t}\n\n\t32071\n\t{\n\t\ttitle = \"GoodTree1\";\n\t\twidth = 24;\n\t\tsprite = \"GTREA0\";\n\t\theight = 89;\n\t\tclass = \"GoodTree1\";\n\t}\n\n\t32072\n\t{\n\t\ttitle = \"GoodTree2\";\n\t\twidth = 16;\n\t\tsprite = \"GTREB0\";\n\t\theight = 73;\n\t\tclass = \"GoodTree2\";\n\t}\n\n\t32073\n\t{\n\t\ttitle = \"GoodTree3\";\n\t\twidth = 16;\n\t\tsprite = \"GTREC0\";\n\t\theight = 229;\n\t\tclass = \"GoodTree3\";\n\t}\n\n\t32074\n\t{\n\t\ttitle = \"GoodTree4\";\n\t\twidth = 24;\n\t\tsprite = \"GTRED0\";\n\t\theight = 255;\n\t\tclass = \"GoodTree4\";\n\t}\n\n\t32075\n\t{\n\t\ttitle = \"GoodTree5\";\n\t\twidth = 16;\n\t\tsprite = \"GTREE0\";\n\t\theight = 128;\n\t\tclass = \"GoodTree5\";\n\t}\n\n\t32076\n\t{\n\t\ttitle = \"GoodTree6\";\n\t\twidth = 16;\n\t\tsprite = \"GTREF0\";\n\t\theight = 162;\n\t\tclass = \"GoodTree6\";\n\t}\n\n}\n\ndecoration\n{\n\tcolor = 4;\t// Red\n\tarrow = 0;\n\ttitle = \"Decoration\";\n\twidth = 16;\n\tsort = 1;\n\theight = 16;\n\thangs = 0;\n\tblocking = 0;\n\n\t32005\n\t{\n\t\ttitle = \"Shrub1\";\n\t\tsprite = \"SHB1A0\";\n\t\tclass = \"Shrub1\";\n\t}\n\n\t32006\n\t{\n\t\ttitle = \"Shrub2\";\n\t\tsprite = \"SHB2A0\";\n\t\tclass = \"Shrub12\";\n\t}\n\n\t32018\n\t{\n\t\ttitle = \"HexenMushroom1\";\n\t\tsprite = \"MSH1A0\";\n\t\tclass = \"HexenMushroom1\";\n\t}\n\n\t32019\n\t{\n\t\ttitle = \"HexenMushroom2\";\n\t\tsprite = \"MSH2A0\";\n\t\tclass = \"HexenMushroom2\";\n\t}\n\n\t32020\n\t{\n\t\ttitle = \"HexenMushroom3\";\n\t\tsprite = \"MSH3A0\";\n\t\tclass = \"HexenMushroom3\";\n\t}\n\n\t32021\n\t{\n\t\ttitle = \"HexenMushroom4\";\n\t\tsprite = \"MSH4A0\";\n\t\tclass = \"HexenMushroom4\";\n\t}\n\n\t32022\n\t{\n\t\ttitle = \"HexenMushroom5\";\n\t\tsprite = \"MSH5A0\";\n\t\tclass = \"HexenMushroom5\";\n\t}\n\n\t32023\n\t{\n\t\ttitle = \"HexenMushroom6\";\n\t\tsprite = \"MSH6A0\";\n\t\tclass = \"HexenMushroom6\";\n\t}\n\n\t32024\n\t{\n\t\ttitle = \"HexenMushroom7\";\n\t\tsprite = \"MSH7A0\";\n\t\tclass = \"HexenMushroom7\";\n\t}\n\n\t32025\n\t{\n\t\ttitle = \"HexenMushroom8\";\n\t\tsprite = \"MSH8A0\";\n\t\tclass = \"HexenMushroom8\";\n\t}\n\n\t32026\n\t{\n\t\ttitle = \"MossyRock1\";\n\t\tsprite = \"RCK1A0\";\n\t\tclass = \"MossyRock1\";\n\t}\n\n\t32027\n\t{\n\t\ttitle = \"MossyRock2\";\n\t\tsprite = \"RCK2A0\";\n\t\tclass = \"MossyRock2\";\n\t}\n\n\t32028\n\t{\n\t\ttitle = \"MossyRock3\";\n\t\tsprite = \"RCK3A0\";\n\t\tclass = \"MossyRock3\";\n\t}\n\n\t32029\n\t{\n\t\ttitle = \"MossyRock4\";\n\t\tsprite = \"RCK4A0\";\n\t\tclass = \"MossyRock4\";\n\t}\n\n\t32030\n\t{\n\t\ttitle = \"HangingSkull1\";\n\t\tsprite = \"SKH1A0\";\n\t\tclass = \"HangingSkull1\";\n\t\thangs = 1;\n\t}\n\n\t32031\n\t{\n\t\ttitle = \"HangingSkull2\";\n\t\tsprite = \"SKH2A0\";\n\t\tclass = \"HangingSkull2\";\n\t\thangs = 1;\n\t}\n\n\t32032\n\t{\n\t\ttitle = \"HangingSkull3\";\n\t\tsprite = \"SKH3A0\";\n\t\tclass = \"HangingSkull3\";\n\t\thangs = 1;\n\t}\n\n\t32033\n\t{\n\t\ttitle = \"HangingSkull4\";\n\t\tsprite = \"SKH4A0\";\n\t\tclass = \"HangingSkull4\";\n\t\thangs = 1;\n\t}\n\n\t32038\n\t{\n\t\ttitle = \"Rubble1\";\n\t\tsprite = \"RBL1A0\";\n\t\tclass = \"Rubble1\";\n\t}\n\n\t32039\n\t{\n\t\ttitle = \"Rubble2\";\n\t\tsprite = \"RBL2A0\";\n\t\tclass = \"Rubble2\";\n\t}\n\n\t32040\n\t{\n\t\ttitle = \"Rubble3\";\n\t\tsprite = \"RBL3A0\";\n\t\tclass = \"Rubble3\";\n\t}\n\n\t32080\n\t{\n\t\ttitle = \"PileOfBones\";\n\t\tsprite = \"SBONA0\";\n\t\tclass = \"PileOfBones\";\n\t}\n\n}\n\nlights\n{\n\tcolor = 11;\t// Light Cyan\n\tarrow = 0;\n\ttitle = \"Light sources\";\n\twidth = 16;\n\tsort = 1;\n\theight = 16;\n\tblocking = 1;\n\terror = 2;\n\thangs = 0;\n\n\t32008\n\t{\n\t\ttitle = \"SkullTorch\";\n\t\tsprite = \"FSKLA0\";\n\t\tclass = \"SkullTorch\";\n\t}\n\n\t32009\n\t{\n\t\ttitle = \"HexenWeirdBrazier\";\n\t\tsprite = \"BRTRA0\";\n\t\tclass = \"HexenWeirdBrazier\";\n\t}\n\n\t32010\n\t{\n\t\ttitle = \"HexenChandelierLit\";\n\t\tsprite = \"CDLRA0\";\n\t\tclass = \"HexenChandelierLit\";\n\t\thangs = 1;\n\t}\n\n\t32011\n\t{\n\t\ttitle = \"HexenChandelierUnlit\";\n\t\tsprite = \"CDLRD0\";\n\t\tclass = \"HexenChandelierUnlit\";\n\t\thangs = 1;\n\t}\n\n\t32034\n\t{\n\t\ttitle = \"SmallFlame\";\n\t\tsprite = \"SMFLA0\";\n\t\tclass = \"SmallFlame\";\n\t}\n\n\t32035\n\t{\n\t\ttitle = \"GreenSkullTorch\";\n\t\tsprite = \"GSKTA0\";\n\t\tclass = \"GreenSkullTorch\";\n\t}\n\n\t32036\n\t{\n\t\ttitle = \"RedSkullTorch\";\n\t\tsprite = \"RSKTA0\";\n\t\tclass = \"RedSkullTorch\";\n\t}\n\n\t32037\n\t{\n\t\ttitle = \"CeilingLamp\";\n\t\tsprite = \"CLMPA0\";\n\t\tclass = \"CeilingLamp\";\n\t\thangs = 1;\n\t}\n\n\t32066\n\t{\n\t\ttitle = \"TorchYellowTall\";\n\t\tsprite = \"TYELA0\";\n\t\tclass = \"TorchYellowTall\";\n\t}\n\n\t32068\n\t{\n\t\ttitle = \"RedCandle\";\n\t\tsprite = \"CANRA0\";\n\t\tclass = \"RedCandle\";\n\t}\n\n\t32069\n\t{\n\t\ttitle = \"WhiteCandle\";\n\t\tsprite = \"CANWA0\";\n\t\tclass = \"WhiteCandle\";\n\t}\n\n\t32070\n\t{\n\t\ttitle = \"GreenCandle\";\n\t\tsprite = \"CANGA0\";\n\t\tclass = \"GreenCandle\";\n\t}\n\n\t32077\n\t{\n\t\ttitle = \"LargeFlame\";\n\t\tsprite = \"LGFLA0\";\n\t\tclass = \"LargeFlame\";\n\t}\n\n\t32078\n\t{\n\t\ttitle = \"HangingLamp1\";\n\t\tsprite = \"HNMPA0\";\n\t\tclass = \"HangingLamp1\";\n\t\thangs = 1;\n\t}\n\n\t32079\n\t{\n\t\ttitle = \"HangingLamp2\";\n\t\tsprite = \"HNP2A0\";\n\t\tclass = \"HangingLamp2\";\n\t\thangs = 1;\n\t}\n\n\t32081\n\t{\n\t\ttitle = \"HangingLamp3\";\n\t\tsprite = \"HLMPA0\";\n\t\tclass = \"HangingLamp3\";\n\t\thangs = 1;\n\t}\n\n\t32082\n\t{\n\t\ttitle = \"HangingLamp4\";\n\t\tsprite = \"HLMPD0\";\n\t\tclass = \"HangingLamp4\";\n\t\thangs = 1;\n\t}\n\n\t32083\n\t{\n\t\ttitle = \"LavaCauldron\";\n\t\tsprite = \"LAVCA0\";\n\t\tclass = \"LavaCauldron\";\n\t\twidth = 32;\n\t}\n\n\t32084\n\t{\n\t\ttitle = \"Bronzelamp1\";\n\t\tsprite = \"BMLPLA0\";\n\t\tclass = \"Bronzelamp1\";\n\t}\n\n\t32085\n\t{\n\t\ttitle = \"Bronzelamp2\";\n\t\tsprite = \"BMLPB0\";\n\t\tclass = \"Bronzelamp2\";\n\t}\n\n\t32086\n\t{\n\t\ttitle = \"Bronzelamp3\";\n\t\tsprite = \"BMLPC0\";\n\t\tclass = \"Bronzelamp3\";\n\t}\n\n}"
},
{
"source": "pk3",
"name": "emapinfo.txt",
"contents": "/**\n * [skillsaw project]\n *\n * MAPINFO. It's info... for maps. Yup.\n */\n\n[MAP01]\n\tlevelname = MAP01: Subway Sandwich\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP01\n\tlevelpic = CWILV00\n\tnextlevel = MAP02\n\tpartime = 817\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP02]\n\tlevelname = MAP02: Bruce R. & Son Construction Co.\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP02\n\tlevelpic = CWILV01\n\tnextlevel = MAP03\n\tpartime = 450\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP03]\n\tlevelname = MAP03: Reservoir Dog\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP03\n\tlevelpic = CWILV02\n\tnextlevel = MAP04\n\tpartime = 840\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP04]\n\tlevelname = MAP04: Routine Flaring and Flailing\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP04\n\tlevelpic = CWILV03\n\tnextlevel = MAP05\n\tpartime = 720\n\tdisable-jump = true\n\tintertext = m5text\n\tinter-backdrop = titlepic\n\tintermusic = READ_M\n\n[MAP05]\n\tlevelname = MAP05: Titan of Industry\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP05\n\tlevelpic = CWILV04\n\tnextlevel = MAP06\n\tpartime = 1320\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP06]\n\tlevelname = MAP06: Get Shafted\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP06\n\tlevelpic = CWILV05\n\tnextlevel = MAP07\n\tpartime = 1500\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP07]\n\tlevelname = MAP07: The Beating Heart\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_MAP07\n\tlevelpic = CWILV06\n\tnextlevel = MAP08\n\tpartime = 2100\n\tkillfinale = true\n\tdisable-jump = true\n\n[MAP08]\n\tlevelname = MAP08: Arrhythmia\n\tcreator = skillsaw\n\tskyname = RRSKY_04\n\tmusic = D_NULL\n\tlevelpic = CWILV07\n\tpartime = 120\n\tdisable-jump = true\n\tfinale-early = true\n\tfinaletype = doom_credits\n\tintertext = endtext\n\tinter-backdrop = titlepic\n\tintermusic = D_MAP07"
},
{
"source": "pk3",
"name": "endtext.txt",
"contents": "Racing faster, faster, faster ...\n\n... and then, the heartbeat dwindles,\nfirst to flaccid arrhythmia, then to\nsoundless dark.\n\nYou're not an open heart surgeon, but\nyou've stented the arteries and\nperformed a triple coronary bypass.\nIs it enough?\n\nMaybe the heartland will survive this episode\nof cardiac arrest. You've done your best.\n\nConsider yourself a hero."
},
{
"source": "pk3",
"name": "m5text.txt",
"contents": "Something lurks here in the outskirts. An\nancient presence, older than the heartland\nthat birthed it.\n\nThey found it here, deep beneath the factory\ngrounds. It thrums with perfect eternal\ncadence.\n\nSounding your name..."
},
{
"source": "pk3",
"name": "options.txt",
"contents": "translucency 1\ntran_filter_pct 66\nweapon_recoil 0\nbfgtype 0\ndraw_particles 0\nblood_particles 0\nbullet_particles 0\nrocket_trails 0\ngrenade_trails 0\nbfg_cloud 0\npevent_rexpl 0\npevent_bfgexpl 0\nshowendoom 0\nwipetype 2\n\nmonsters_remember 0\nmonster_infighting 1\nmonster_backing 0\nmonster_avoid_hazards 0\nmonkeys 0\nmonster_friction 1\nhelp_friends 0\nplayer_helpers 0\nfriend_distance 128\ndog_jumping 1\np_lastenemyroar 1\np_pitchedflight 1\ncomp_dropoff 0\ncomp_falloff 0\ncomp_staylift 0\ncomp_doorstuck 0\ncomp_pursuit 0\ncomp_vile 0\ncomp_pain 0\ncomp_skull 1\ncomp_blazing 0\ncomp_doorlight 0\ncomp_skymap 1\ncomp_floors 0\ncomp_model 0\ncomp_zerotags 0\ncomp_terrain 1\ncomp_respawnfix 0\ncomp_fallingdmg 1\ncomp_soul 0\ncomp_overunder 0\ncomp_theights 0\ncomp_planeshoot 0\ncomp_special 0\ncomp_ninja 0\ncomp_zombie 1\n\nsecret_notification 1\n\nallowmlook 1"
},
{
"source": "pk3",
"name": "wadinfo.txt",
"contents": "===========================================================================\nAdvanced engine needed : Eternity Engine 4.02.00 or later\nPrimary purpose : Single player\n===========================================================================\n\nTitle : Heartland\nFilename : heartland.zip\nRelease date : March 3rd, 2021\nAuthor : Paul \"skillsaw\" DeBruyne\nCore team : Stuart \"stewboy\" Rynn\n Max \"Altazimuth\" Waine\n Xaser Acheron\n Boris \"dew\" Klimeš\nEmail Address : pgdebruyne@gmail.com\nOther Files By Author : Sector 666 (666.zip)\n Aeternum (aeternum.zip)\n Vanguard (vanguard.zip)\n Lunatic (lunatic.zip)\n Hanging Gardens (hgarden.zip)\n Valiant (valiant.zip)\n Valiant: Vaccinated Edition (valve.zip)\n Nashville, Tennesee (nshville.zip)\n Ancient Aliens (aaliens.zip)\n Ancient Aliens Textures (aa-tex.zip)\n\n Contributions to various community, team, and\n personal projects, including Eviternity, Back\n to Saturn X Episodes 1 and 2, Stronghold: On the\n Edge of Chaos, ZPack, Community Chest 4, Unholy\n Realms, and various 32in24 sessions.\n\nMisc. Author Info : Makes maps for Doom\n\nDescription : Heartland is a 7 map episode set in the nation's\n decaying industrial heartland, developed exclusively\n for the Eternity Engine (4.02.00 or later).\n\n There are three main guiding principles in Heartland's design.\n\n 1. Heartland was created to be a technical demonstration of\n the capabilities of Eternity's advanced mapping featureset.\n\n 2. Heartland was created to be used as a reference for others\n who want to learn to make their own Eternity maps.\n\n 3. Heartland aspires to have the feeling of a 2010s blockbuster\n megawad, while also exploring advanced port features, and using\n them in a tasteful way that improves the experience.\n\nPlay Info : Heartland disables jumping. Mouselook is optional depending on player\n preference, however, the wad has primarily been tested without mouselook.\n\n Suggested compatibility settings are applied automatically by the OPTIONS lump.\n\n All maps have been tested and can be completed from a pistol start.\n\n Maps in Heartland are generally longer than my previous releases;\n so consider that in your decision whether or not to use saves.\n\n===========================================================================\n\nMap Credits : All maps are designed by skillsaw.\n\n MAP01 - \"Subway Sandwich\"\n MAP02 - \"Bruce R. and Son Construction Co.\"\n MAP03 - \"Reservoir Dog\"\n MAP04 - \"Routine Flaring and Flailing\"\n MAP05 - \"Titan of Industry\"\n MAP06 - \"Get Shafted\"\n MAP07 - \"The Beating Heart\"\n MAP08 - \"Arrhythmia\"\n\nMusic Credits : All music is composed by stewboy.\n\n MAP01 - \"Street Surfer\"\n MAP02 - \"The Jazz Machine\"\n MAP03 - \"Dancing Snakes\"\n MAP04 - \"See the Shrews\"\n MAP05 - \"The Towering Colliery\"\n MAP06 - \"Para Bellum\"\n MAP07 - \"Souls Symphony\"\n Intermission\n Title\n Text screen\n\nEternity Engine support\n and testing : Altazimuth\n\nWeapon modding and\n support : Xaser Acheron\n\nPlaytesting : dew\n\nCredits : See credits.txt within heartland.pk3 for complete\n resource credits.\n\n===========================================================================\n\n* What is included *\n\nNew levels : 7\nSounds : Yes\nMusic : Yes\nGraphics : Yes\nDehacked/BEX Patch : No\nDemos : No\nOther : EMAPINFO, EDF, etc.\nOther files required : None\n\n* Play Information *\n\nGame : Doom 2\nMap # : MAP01-MAP07\nSingle Player : Designed for\nCooperative 2-4 Player : Yes\nDeathmatch 2-4 Player : No\nOther game styles : None\nDifficulty Settings : Yes\n\n* Construction *\n\nBase : New from scratch\nBuild Time : Approximately 2 years with too many 3+ month breaks in my commit history\nEditor(s) used : Doom Builder X, Slade, GIMP, Visual Studio Code, git, Audacity, Bitmap Font Writer\nKnown Bugs : Some minor visual bugs.\n\n In 4.02.00 and lower, a few health items may become inaccessible on MAP05 if the game\n is saved and then loaded. This is due to an Eternity Engine bug where the state of crushing\n ceilings is lost on save/load. These health items are not marked secret. This issue has\n since been fixed in EE dev builds.\n\n In 4.01.00 and lower, certain polyobjects will cause the game to lock up at random while\n moving, due to an engine bug. This issue was fixed in the 4.02.00 release.\n\nMay Not Run With... : Any source port other than Eternity Engine 4.02.00 (or later)\n\n* Copyright / Permissions *\n\nAuthors may use the contents of this file as a base for modification or\nreuse. Permissions have been obtained from original authors for any of\ntheir resources modified or included in this file.\n\nYou MAY distribute this file, provided you include this text file, with no\nmodifications. You may distribute this file in any electronic format (BBS,\nDiskette, CD, etc) as long as you include this file intact. I have\nreceived permission from the original authors of any modified or included\ncontent in this file to allow further distribution.\n\n* Where to get the file that this text file describes *\n\nThe Usual: ftp://archives.3dgamers.com/pub/idgames/ and mirrors"
}
]
},
"maps": [
{
"map": "MAP01",
"title": "MAP01",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP02",
"title": "MAP02",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP03",
"title": "MAP03",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP04",
"title": "MAP04",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP05",
"title": "MAP05",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP06",
"title": "MAP06",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP07",
"title": "MAP07",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
},
{
"map": "MAP08",
"title": "MAP08",
"format": "unknown",
"stats": {
"things": 0,
"linedefs": 0,
"sidedefs": 0,
"vertices": 0,
"sectors": 0,
"segs": 0,
"ssectors": 0,
"nodes": 0,
"textures": {}
},
"monsters": {
"total": 0,
"by_type": {},
"by_category": null
},
"items": {
"total": 0,
"by_type": {},
"ammo_by_category": null,
"weapons_present": null
},
"mechanics": {
"teleports": false,
"keys": [],
"secret_exit": false
},
"difficulty": {
"uv_monsters": 0,
"hmp_monsters": 0,
"htr_monsters": 0,
"uv_items": 0,
"hmp_items": 0,
"htr_items": 0
},
"compatibility": "unknown",
"metadata": {
"title": null,
"music": null,
"source": "marker"
}
}
]
}