General Rainbow Bacon Posted February 8, 2010 How do I import the monsters from Realm667 into my wad? I would love to be able to use some of them but I have no idea how to put them in my levels. 0 Share this post Link to post
Xtroose Posted February 8, 2010 Open the wad that contains a monster in your favorite lump editor. Locate a lump named DECORATE and copy its contents. Create a new text document and paste copied data in it. Save it as DECORATE.txt. Repeat steps 1 - 2 for every monster you downloaded and paste the contents in DECORATE.txt. Merge the monster wads. In the merged wad replace the DECORATE lump with your DECORATE.txt file. If the monster contains a lump named GLDEFS, the same procedure applies. You can now load this wad as a resource, or you can merge it with the level wad file. Doom Builder recognizes the DECORATE lump and will allow you to place any thing, defined in it, in your level. They will not show up in the Monsters list of the Thing Properties dialog but in the Decorate list. Hope this helps. 0 Share this post Link to post
Gez Posted February 8, 2010 How knowledgeable are you on the following topics? - lump management - DECORATE language - SNDINFO lump - GLDEFS lump The answer will depend on these parameters. Xtroose said: Repeat steps 1 - 2 for every monster you downloaded and paste the contents in DECORATE.txt. For a large project, I would rather advise using renaming each DECORATE lump to something that identifies it clearly and using #include statements in a single DECORATE lump that doesn't contain any definition itself. Same thing for GLDEFS. Sure, if you have only three or four custom monsters, you can put everything in the same lump; but if you have two dozens monsters, half a dozen weapons, a couple score miscellaneous decoration and pickups, then it starts becoming unwieldy. See Action Doom 2 for an example of WAD using #include in its DECORATE lump. See KDiZD for an example of PK3 doing the same. 0 Share this post Link to post
Xtroose Posted February 8, 2010 Gez said:For a large project, I would rather advise using renaming each DECORATE lump to something that identifies it clearly and using #include statements in a single DECORATE lump that doesn't contain any definition itself. You learn something new every day. Thank you very much. 0 Share this post Link to post
General Rainbow Bacon Posted February 8, 2010 Thanks guys. I'll see if I can figure it out. 0 Share this post Link to post
General Rainbow Bacon Posted February 8, 2010 I'm completely new at this and still can't figure it out. I found the lump called "decorate", copied the contents, and pasted into a new text document. After that I don't understand what to do. 0 Share this post Link to post
Xtroose Posted February 9, 2010 In this example I will use two monsters from the Realm 667 Beastiary (Acolyte and Afrit), a lump editor (XWE) and a text editor (Notepad). I will assume you have a level wad file named level.wad, which you made with Doom Builder 2. Open Notepad. Open acolyte.wad in XWE. Locate the DECORATE lump and rename it to DECACOL. (right click on the lump and choose Rename Entry) Locate the GLDEFS lump and rename it to GLACOL. Locate the SNDINFO lump and copy its contents. Paste the contents of the SNDINFO lump in Notepad. Close the acolyte.wad file. Open afrit.wad in XWE. Locate the DECORATE lump and rename it to DECFRIT. Locate the GLDEFS lump and rename it to GLFRIT. Locate the SNDINFO lump and copy its contents. Paste the contents of the SNDINFO lump in Notepad. Close the afrit.wad file. Your text document in Notepad should now look like this. monster/acosit dsacosit monster/acopai dsacopai monster/acodth dsacodth monster/acoact dsacoact monster/blur dsblur monster/acosht dsacosht monster/acohit dsacohit dragonfam/attack dfattack comet/launch cometlnc comet/explosion cometexp dragonfam/attack dfattack Save this text document as SNDINFO.txt. Close Notepad. Open Notepad and write this. #include "DECACOL" #include "DECFRIT" Save this text document as DECORATE.txt. Close Notepad. Open Notepad and write this. #include "GLACOL" #include "GLFRIT" Save this text document as GLDEFS.txt. Close Notepad. Locate level.wad. Open it in XWE. In Entry menu select Load, locate DECORATE.txt and select Open. In Entry menu select Load, locate GLDEFS.txt and select Open. In File menu select Join (add lumps only), locate acolyte.wad and select Open. In File menu select Join (add lumps only), locate afrit.wad and select Open. Locate all occurences of SNDINFO lumps and delete them. In Entry menu select Load, locate SNDINFO.txt and select Open. Close XWE. Open level.wad in Doom Builder 2. Go into Things Mode and add a new thing. Edit Thing dialog will now appear. The monsters are in the Thing list under Decorate or "ZDoom Monster pack". Select the monster and press OK. Hopefully you will be able to understand this. If you are not sure about something, do not hesitate to ask. 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 Okay, I got it to work with those two monsters. However, there is a monster pack called differentmonsters1.2 that I would like to use. I tried getting the Hell Elemental into a map doing everything you said, but it didn't work for that monster for some reason. 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 By the way I found those monsters at the skulltag forum. 0 Share this post Link to post
Xtroose Posted February 9, 2010 I have trouble locating the monster pack, so I can't solve the problem, but I do have a hunch. I believe the DoomEd Number is missing. DoomEd Number is a number that is used by level editors for placing things on the map. Here is a DECORATE definition of a monster (Cacodemon) with a DoomEd Number 3005 (underlined). actor Cacodemon 3005 { spawnid 19 obituary "%o was smitten by a cacodemon." hitobituary "%o got too close to a cacodemon." health 400 radius 31 height 56 mass 400 speed 8 painchance 128 seesound "caco/sight" painsound "caco/pain" deathsound "caco/death" activesound "caco/active" attacksound "caco/melee" MONSTER +FLOAT +NOGRAVITY states { Spawn: HEAD A 10 A_Look loop See: HEAD A 3 A_Chase loop Missile: HEAD BC 5 A_FaceTarget HEAD D 5 bright A_HeadAttack // See CacodemonBall goto See Pain: HEAD E 3 HEAD E 3 A_Pain HEAD F 6 goto See Death: HEAD G 8 HEAD H 8 A_Scream HEAD IJ 8 HEAD K 8 A_NoBlocking HEAD L -1 A_SetFloorClip stop Raise: HEAD L 8 A_UnSetFloorClip HEAD KJIHG 8 goto See } } What can you do? Locate the DECORATE lump that contains the definition of Hell Elemental and find the line that starts with actor <ClassName> <ClassName> will probably be HellElemental or something similar. There may be some other things written behind the <ClassName>, so it may look like this actor <ClassName> : <AnotherClassName> This means that <ClassName> inherits properties of <AnotherClassName>. Now you need to assign a DoomEd Number to this actor, but beware there are some things to consider when choosing it. The number should not interfere with any of the ZDoom's Default editor numbers and any of the other DECORATE monsters you have already added in your map. You will have to search for all the DoomEd Numbers in every DECORATE lump (this means DECACOL and DECFRIT in my previous post) of the already added monsters and write them down. When you have chosen the number, let's say it was 1337, you have to change the DECORATE definition of Hell Elemental like this actor <ClassName> 1337 or this actor <ClassName> : <AnotherClassName> 1337 depending on the way this actor is defined. If the actor has projectiles or any special effects actors, you do not have to assign these actors a DoomEd Number, because you will not be placing them in your map. Congratulations, you can now place the monster in your map. 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 I tried that, but it didn't work. Here's a link to the monster pack. http://www.skulltag.net/forum/viewtopic.php?f=12&t=20511 Also I have some other questions on how to add your own stuff. How do I import an mp3 with XWE and how do I import textures? 0 Share this post Link to post
Xtroose Posted February 9, 2010 As I guessed it, the DoomEd Number is missing. If I set it to 20000 and I follow this it works for me. In detail: I modified the DECORATE lump like this: actor HellElemental 20000 { health 400 radius 31 height 56 mass 400 speed 8 painchance 60 seesound "pain/sight" painsound "pain/pain" deathsound "pain/death" activesound "pain/active" obituary "%o was sent to hell by a hell elemental." MONSTER +FLOAT +NOGRAVITY states { Spawn: HEEL A 10 A_Look loop See: HEEL AABBCC 3 A_Chase loop Missile: HEEL A 0 A_Jump(256,"Attack1","Attack2","Attack3") Attack1: HEEL DE 5 A_FaceTarget HEEL F 5 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,0) HEEL EF 5 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,0) HEEL EF 5 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,0) goto See Attack2: HEEL DE 5 A_FaceTarget HEEL F 5 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,-45) HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,0) HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,45) goto See Attack3: HEEL DE 5 A_FaceTarget HEEL F 5 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,-60) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,-50) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,-40) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,-30) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,-20) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,-10) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,0) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,10) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,20) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,30) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,40) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,50) HEEL F 0 bright A_CustomMissile("HellSoulAttacknS",15,0,60) goto See Pain: HEEL G 3 A_Stop HEEL G 3 HEEL G 6 A_Pain goto See Death: HEEL H 8 bright HEEL I 8 bright A_Scream HEEL JK 8 bright HEEL L 0 bright A_FaceTarget HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,-45) HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,0) HEEL F 0 bright A_CustomMissile("HellSoulAttack",15,0,45) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,0) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,20) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,40) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,60) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,80) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,100) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,120) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,140) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,160) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,180) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,200) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,220) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,240) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,260) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,280) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,300) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,320) HEEL F 0 bright A_CustomMissile("HellSoulAttackNS",15,0,340) HEEL L 8 bright HEEL M 8 bright stop } } actor HellSoulAttack { Radius 8 Height 28 Speed 15 Damage 5 scale 0.5 Projectile +RANDOMIZE +SEEKERMISSILE RenderStyle Add Alpha 1 seesound "hellsoul/attack" deathsound "skull/death" obituary "%o was sent to hell by a hell elemental." States { Spawn: HLSK A 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK B 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK A 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK B 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK A 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK B 4 bright A_SeekerMissile(2,10) HLSK A 0 A_SpawnItem("HellSoulTrail") HLSK A 0 A_PlaySoundEx("hellsoul/attack","Auto") loop Death: HLSK CCCCDDDD 1 A_FadeOut(0.05) loop } } Actor HellSoulAttackNS : HellSoulAttack { speed 25 damage 7 -SEEKERMISSILE } Actor HellSoulTrail { Radius 0 Height 0 Speed 0 Damage 0 scale 0.4 Projectile +RANDOMIZE +NOCLIP +NOBLOCKMAP RenderStyle Add Alpha 0.8 States { Spawn: HLSK A 0 A_Die Death: HLSK AAAABBBB 1 A_FadeOut(0.1) stop } } I renamed the DECORATE lump to DECHEEL and the GLDEFS lump to GLHEEL. I added this #include "DECHEEL" to the DECORATE lump, and this #include "GLHEEL" to the GLDEFS lump. I also copied the contents of SNDINFO into the main SNDINFO lump. Then I joined the HellElemental.wad file with my level.wad file and deleted the redundant SNDINFO lumps. It showed up in the Decorate section of the Edit Thing dialog in Doom Builder 2, and I was able to place it in the map. Importing an MP3 file with XWE for use in ZDoom compatible levels In the Entry menu select Load. Locate the MP3 file, let's say it is named MyMusic.mp3 and choose Open. You have now imported an MP3 file in your wad. But it does not work yet. We have to use a lump named MAPINFO to do it. Open a text document in Notepad and write this map MAP01 "My level" { music = "MyMusic" } Save this document as MAPINFO.txt and load this lump in XWE. The Hell is alive with the sound of music. Explanation: map <maplump> <nice name> - substitutes the name of the map in the wad for <maplump>, and the map's nice name (shown in the automap) for <nice name>. If <nice name> contains spaces, it must be enclosed in quotation marks ("). <Maplump> can be *any* lump in the wad, but since most editing utilities will only recognize maps of the form MAP?? or E?M?, you should probably stick to those if you want to be able to edit the levels easily. music = "<LumpName>" - sets the map's music, <LumpName> is the name of the lump that contains the music. More about it here. Importing textures with XWE for use in ZDoom compatible levels In the Entry menu select New. And write TX_START in the box. If it is a BMP file do this: In the Entry menu select Load. Locate the texture file and choose Open. If it is a PNG file do this: In the Entry menu select Load (raw data). Locate the texture file and choose Open. In the Entry menu select New. And write TX_END in the box. Now you are mapping with textures. 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 I think I get how to do it, but now when I put the DECORATE.txt lump into my map something weird happens with the geometry in the window on the right, when I close the file it says "File not found" and when I try to open the map in Doombuilder 2 it can't find my map. 0 Share this post Link to post
Gez Posted February 9, 2010 You probably put the lump in a bad place. A map has a series of lump that should be left alone: *Header (e.g., E1M1 or MAP01) *THINGS *LINEDEFS *SIDEDEFS *VERTEXES *SEGS *SSECTORS *NODES *SECTORS *REJECT *BLOCKMAP *BEHAVIOR (Hexen format only) *SCRIPTS (Hexen format only, optional) If you put the DECORATE lump, or anything else, between for example a map's VERTEXES and SEGS, not only will the DECORATE lump not be found, but the map will not be identified as a map because the sequence is broken. 0 Share this post Link to post
Xtroose Posted February 9, 2010 It could also be that your wad file got corrupted. This usually happens when you have a wad file open in XWE and in Doom Builder 2 at the same time. This is really bad practice and should be avoided with any file and any programs - always have your file open only with one program at a time. Hopefully it is just bad lump order, but if it is not, you should check the backups Doom Builder made for you. They are usually named <FileName>.wad.xyz.bak where xyz represent three numbers. Rename the latest one (the one with the highest xyz number) from <FileName>.wad.xyz.bak to <FileName>.wad. 0 Share this post Link to post
Gez Posted February 9, 2010 Xtroose said:IThis usually happens when you have a wad file open in XWE and in Doom Builder 2 at the same time. This is why one should use Slumped* instead of XWE. (* Or Slade 3, once it's out of beta.) 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 I haven't been trying to do this with any actual map yet. I have just been making random 1 room maps to try this out until I have it down. I'll try to put the lumps in the right order on my next try. 0 Share this post Link to post
General Rainbow Bacon Posted February 9, 2010 What order should the lumps be in? And do I have to be editing in ZDoom (Doom in Hexen format)? 0 Share this post Link to post
Gez Posted February 10, 2010 DoomHero85 said:What order should the lumps be in? Which lumps? Map lumps:Gez said:A map has a series of lump that should be left alone: *Header (e.g., E1M1 or MAP01) *THINGS *LINEDEFS *SIDEDEFS *VERTEXES *SEGS *SSECTORS *NODES *SECTORS *REJECT *BLOCKMAP *BEHAVIOR (Hexen format only) *SCRIPTS (Hexen format only, optional) Otherwise, it doesn't matter. Textures must be within their textures markers (TX_START and TX_END), same thing for sprites (S_ or SS_ markers), flats (F_ or FF_), patches (P_ or PP_), etc. Top-level lumps like DECORATE must be outside of markers. Order does not matter. 0 Share this post Link to post
General Rainbow Bacon Posted February 10, 2010 I got monsters and music to work now. However, I changed the game configuration from Doom in Doom format to ZDoom: Doom in Doom format and now my sky texture is missing. How do I get it back? Also, the Realm 667 textures are just wad files. To use them do I simply load them into my map with XWE? 0 Share this post Link to post
Xtroose Posted February 10, 2010 To get the sky back add this: sky1 = "SKY1" in MAPINFO. If we take the example I posted before, it should now look like this: map MAP01 "My level" { music = "MyMusic" sky1 = "SKY1" } Also, I would highly recommend you use ZDoom: Doom in UDMF instead of ZDoom: Doom in Doom format. It has less limitations than ZDoom: Doom in Doom or even ZDoom: Doom in Hexen format. It makes a lot of things simpler to make, for example setting different light levels for floors, ceilings or sidedefs as sector or sidedef properties, instead of making control sectors and using up tags. This way you will also be able to use ZDoom's latest features. In UDMF the lump order for a map is: *Header (e.g., E1M1 or MAP01) *TEXTMAP *ZNODES *ENDMAP (marker) DoomHero85 said:Also, the Realm 667 textures are just wad files. To use them do I simply load them into my map with XWE? The answer to your question depends on what you want to do. If you plan to use just a couple of textures you could just import those you need in your wad. If you plan to use an entire texture pack, I would recommend, that you just give a link to that texture pack, and write in the accompanying text file, that your project requires it, instead of including all the textures in your wad. There are still people who are unable to get a broadband internet connection and they will less likely download your map. In this case you can load the texture pack in Doom Builder as a resource. If you make a bigger project, for example a megawad or a TC, then there is nothing wrong with putting many textures in your wad, but don't go overboard. 0 Share this post Link to post
General Rainbow Bacon Posted February 10, 2010 When I got the decorate monsters in my map, doombuilder automatically changed the map format to Zdoom: doom in doom format. How do I manually change the format to Zdoom: doom in UDMF? 0 Share this post Link to post
Gez Posted February 10, 2010 DoomHero85 said:When I got the decorate monsters in my map, doombuilder automatically changed the map format to Zdoom: doom in doom format. Because it's a Doom-format map and you have a DECORATE lump, so DB2 assumes you're modding for ZDoom. There is no actual difference between "Doom" and "ZDoom in Doom".DoomHero85 said:How do I manually change the format to Zdoom: doom in UDMF? Map format conversion is not something you do in the editor. (Unless your map is really, really simple.) You're better off using automatic converters. See map format and UDMF for more information. If you have a Doom-format map you want to convert to UDMF, you'll have to do it into two steps, because I do not know of any Doom-to-UDMF converter. First, you've got to convert it to Hexen format with ZWADCONV which you can get here, then you have to use a Hexen-to-UDMF converter, see this talk page for pointers where to find one. 0 Share this post Link to post
General Rainbow Bacon Posted February 11, 2010 I was wondering if there were code that could make it so that the player is killed in a particular room when they try to use one particular weapon. Is this possible? 0 Share this post Link to post