Jump to content

*** The "ask a miscellaneous editing question" thread ***


Recommended Posts

11 hours ago, aloysiusfreeman said:

Lets say I have a map where it loops back to the very beginning, and on the second iteration it triggers two doors to fall down. 

 

Is there a way to somehow set a line special as dormant until it's triggered, and then on the second loop the line special will then work for triggering the doors to fall?

 

There may even be a way to achieve this effect with vanilla standard options, depending on what exactly you mean, and if the second loop requires you to enter new locations you could not on the first loop.

 

So by "two doors fall down," do you mean a "Door Close" action (to seal off an open door), or a "Floor Lower" operation (to open a sealed passage). The first one would be more difficult to do with vanilla standard.

Share this post


Link to post
6 hours ago, Dragonfly said:

 

Yes, depending on your target source port.

 

If you're mapping for Boom / MBF / etc you can use Voodoo Dolls to achieve this:

  • Set up voodoo closet with 2 movement blocking sectors.
    • Blocking sector 1 is lowered by an action the player performs in the first loop, preferably as late into the loop as possible to prevent backtracking also opening the doors
    • Blocking sector 2 is lowered in the middle of the map as indicated, but the action that lowers it is a lift action, so it will rise back up - making this a re-triggerable voodoo doll essentially.

See the following WAD example: second-loop-demonstration.zip

 

 

If you're mapping for (G)ZDoom ports, you can use ACS to achieve similar; I'll explain this if you indicate that's the preferred method 😅

 

I am mapping for GZDoom. I would actually love to learn more with ACS! 

 

1 hour ago, Stabbey said:

 

There may even be a way to achieve this effect with vanilla standard options, depending on what exactly you mean, and if the second loop requires you to enter new locations you could not on the first loop.

 

So by "two doors fall down," do you mean a "Door Close" action (to seal off an open door), or a "Floor Lower" operation (to open a sealed passage). The first one would be more difficult to do with vanilla standard.

 

I wasn't being clear, sorry. Actually it would be two doors (walls) to open. 

 

Currently I have it set so that when you pick up a key it will trigger the walls to open albeit very slowly, so by the time one ideally arrives in the second loop, it will give the appearance of being opened. It kind of works but not ideal.

Share this post


Link to post

How would i go about making a monster spawned with SpawnSpot trigger a script once they're killer? I'm trying to make a cyberdemon open a door once it dies but i cannot figure out what to do. If i set the script to open, it'll open the door before i even trigger the spawner. I'm pretty much stuck on the ending of my map. Thank you for taking the time to read my plea for help.

Spoiler

image.png.11de2f76f6355d137dcbb2c7c425649b.png

Share this post


Link to post

@fishy you can use a While Loop to pause the execution of the script until the cyberdemon is dead.

 

I've also used Thing_SpawnFacing to achieve the same result with only one line of code - the cyberdemon will now be facing the way the map spot is facing.

 

Script 16 (void) {
  	Thing_SpawnFacing (13, T_CYBERDEMON, 0, 200);
	Print(s:"YOUR MESSAGE HERE, I'M TOO LAZY TO COPY");
	
	// Wait until the cyberdemon(s) tagged 200 have been eliminated.
	while(ThingCount(T_CYBERDEMON, 200) > 0) {
		Delay(35); // This runs if the cyberdemon is NOT dead, so we delay for 1 second to prevent an infinite loop, then check again.
	}

	// After it's dead, continue the script
	Floor_LowerByValue(47, 16, 128);
}

 

Edited by Dragonfly

Share this post


Link to post
1 hour ago, Dragonfly said:

@fishy you can use a While Loop to pause the execution of the script until the cyberdemon is dead.

 

I've also used Thing_SpawnFacing to achieve the same result with only one line of code - the cyberdemon will now be facing the way the map spot is facing.

 


Script 16 (void) {
  	Thing_SpawnFacing (13, T_CYBERDEMON, 0, 200);
	Print(s:"YOUR MESSAGE HERE, I'M TOO LAZY TO COPY");
	
	// Wait until the cyberdemon(s) tagged 200 have been eliminated.
	while(ThingCount(T_CYBERDEMON, 200) > 0) {
		Delay(35); // This runs if the cyberdemon is NOT dead, so we delay for 1 second to prevent an infinite loop, then check again.
	}

	// After it's dead, continue the script
	Floor_LowerByValue(47, 16, 128);
}

 

that worked! thank you dude!!!!

Share this post


Link to post

How would I go about adding new obstacles into a vanilla resources pack, without just reskinning the existing obstacles?

Share this post


Link to post
Just now, Lorcav said:

How would I go about adding new obstacles into a vanilla resources pack, without just reskinning the existing obstacles?

In vanilla you'll have limited supply of frames and things definitions, so you'd need to sacrifice something. And a Dehacked patch to edit their properties that aren't frames. for the latter, you'd need WhackEd or Doom Tools.

Share this post


Link to post
Just now, ViolentBeetle said:

In vanilla you'll have limited supply of frames and things definitions, so you'd need to sacrifice something. And a Dehacked patch to edit their properties that aren't frames. for the latter, you'd need WhackEd or Doom Tools.

 

Does the number of things change with the complevels?

Share this post


Link to post
1 minute ago, Lorcav said:

 

Does the number of things change with the complevels?

I'm not an expert. I think complevel 11 (MBF) adds a new thing. complevel 21 (MBF21) just gives you 100 new things and lets you do whatever.

Share this post


Link to post
Just now, ViolentBeetle said:

I'm not an expert. I think complevel 11 (MBF) adds a new thing. complevel 21 (MBF21) just gives you 100 new things and lets you do whatever.

 

Thanks!

Share this post


Link to post
32 minutes ago, ViolentBeetle said:

I'm not an expert. I think complevel 11 (MBF) adds a new thing. complevel 21 (MBF21) just gives you 100 new things and lets you do whatever. 

Not exactly like that. New things come from DEHEXTRA, which is not part of any complevel. You can use dehextra thing slots in e.g. woof/dsda -complevel 2 or 9, as long as they don't rely on codepointers from higher complevels (the thing will spawn, but, say, A_HealChase call will check that it's not -cl21 and do nothing). Naturally, it would not work at all in vanilla exe/choco/dos boom etc.

Edited by Doomy__Doom

Share this post


Link to post
  • 2 weeks later...

Quick question, does changing a few textures here and there in a map cause desynk for old demos of said map?

Share this post


Link to post

@A2Rob You can edit the sidedefs lump directly using slade to prevent rebuilding map nodes (as that's often what causes demo desyncs).

Share this post


Link to post

In E1M3 (m2? I think it's 3) there's this room. The switch down at the bottom of the hole both raises the floor in the center sector of the room but also changes the floor from damaging to not-damaging, and from a nukage texture to a floor texture. How does it achieve this on a single switch? This happens several times in the main campaign and I can't figure out how to pull this off.

image.png

Share this post


Link to post
8 minutes ago, EvilSqueegee said:

In E1M3 (m2? I think it's 3) there's this room. The switch down at the bottom of the hole both raises the floor in the center sector of the room but also changes the floor from damaging to not-damaging, and from a nukage texture to a floor texture. How does it achieve this on a single switch? This happens several times in the main campaign and I can't figure out how to pull this off.

image.png

 

You could just look at it in the editor to find out, you know.

 

It's standard Action 20: S1 - Floor raise to next higher floor (changes texture).

Share this post


Link to post
5 hours ago, EvilSqueegee said:

In E1M3 (m2? I think it's 3) there's this room. The switch down at the bottom of the hole both raises the floor in the center sector of the room but also changes the floor from damaging to not-damaging, and from a nukage texture to a floor texture. How does it achieve this on a single switch? This happens several times in the main campaign and I can't figure out how to pull this off.

To expand on Stabbey's answer, there are many floor move actions that simultaneously change floor texture and sector special type, specifically to create the effect of floors rising out of or sinking into damaging liquids. In fact, vanilla Doom has no actions that change floor texture and sector special type without also changing floor height.

Share this post


Link to post

Does Ultimate Doom Builder's visplane explorer have a way to also display drawsegs, and other things apart from just visplanes? From looking at a pic of the old visplane explorer plugin for Doom Builder, that one had keys to switch the display to drawsegs. Can UDB's one do this?

Share this post


Link to post

Hello everyone :)

 

Does anyone know how I can clamp the movement speed of the player if it gets too low? Decceleration in Gzdoom irks me and I wish to change it without completely overhauling the movement system in Doom (That's much too complicated for me).

 

Thanks for any and all replies.

Share this post


Link to post

Hola, 

 

Now I know I'm getting ahead of myself, but I would like to understand the concept of creating a custom monster. 

 

The way I understand it is this: 

  1. Create sprites for monster
  2. Create a wad that covers all of the graphics for the new monster
  3. Open the wad through some Decorate utility (DecoHack, DeHackEd) and assign respective values to the new monster
  4. Import .deh file into wad w/map?

Share this post


Link to post
3 hours ago, aloysiusfreeman said:

Hola, 

 

Now I know I'm getting ahead of myself, but I would like to understand the concept of creating a custom monster. 

 

The way I understand it is this: 

  1. Create sprites for monster
  2. Create a wad that covers all of the graphics for the new monster
  3. Open the wad through some Decorate utility (DecoHack, DeHackEd) and assign respective values to the new monster
  4. Import .deh file into wad w/map?

More or less, although you are conflating DECORATE with DEHACKED which are two different things that work in different ports and formats, so you need to pick which one you are targeting first.

Share this post


Link to post

@ViolentBeetle

 

Yeah, I am speaking very broad terms since I'm still very new into mapping/modding. All of this studying can get a little overwhelming! 

 

As a followup - I am mapping in Slade on macOS - so far the only utility I've seen to work on this is DecoHack through Doom Tools. With the eventual goal of adding in custom monsters, would using DecoHack or ZScript (which I've just learned Decorate is deprecated) is the way to go?

Share this post


Link to post
3 hours ago, OfficeHyena22 said:

I want to make some DM maps, is there a specific game configuration i need to use in doom builder for it? Doom 2, zDoom etc?

 

No, just remember to place "player deathmatch start".

Share this post


Link to post
3 hours ago, aloysiusfreeman said:

As a followup - I am mapping in Slade on macOS - so far the only utility I've seen to work on this is DecoHack through Doom Tools. With the eventual goal of adding in custom monsters, would using DecoHack or ZScript (which I've just learned Decorate is deprecated) is the way to go?

DeCoHack is meant to be compiled into a dehacked patch, which can be used in a variety of ports such as DSDA-Doom, Woof etc - and gzDoom too naturally. zscript and decorate (which is deprecated, but that doesn't mean it can't be used) are mostly going to restrict you to gzDoom. Take your pick.

Share this post


Link to post

I'm trying to figure out the best way to add new textures to a map, and I feel like the stuff I've read isn't 100% clear. So I'm using UDB, and I added 32in24-15_tex_v2.wad as a resource. I know that just because I added it in UDB doesn't mean the textures will be in my WAD, and that I'll need to either have people load the resource WAD with it, or use SLADE and add them into the WAD. So what's the best way to do this? I'm thinking the best way is to write down which textures and flats I used and add only those to the WAD with SLADE when the map is done. I'm assuming I shouldn't just add the whole resource pack as patches if I don't use it all, right? Is this the best method, or is there a better way to do it?

Share this post


Link to post
1 hour ago, TJG1289 said:

I'm trying to figure out the best way to add new textures to a map, and I feel like the stuff I've read isn't 100% clear. So I'm using UDB, and I added 32in24-15_tex_v2.wad as a resource. I know that just because I added it in UDB doesn't mean the textures will be in my WAD, and that I'll need to either have people load the resource WAD with it, or use SLADE and add them into the WAD. So what's the best way to do this? I'm thinking the best way is to write down which textures and flats I used and add only those to the WAD with SLADE when the map is done. I'm assuming I shouldn't just add the whole resource pack as patches if I don't use it all, right? Is this the best method, or is there a better way to do it?

 

You can add everything to your map and then use Slades's "remove unused - " tools.

 

So in "Archive" -> maintenance

-> Remove unused patches

-> Remove unused textures

-> Remove unused flats

 

If you have animated textures you should have every frame of them somewhere (hidden) in your map. Otherwise "remove unused" removes the other frames and your map will look like mess because it just plays other textures as an animation.

 

When adding and removing textures/patches remember to backup the map.

Edited by Jaska

Share this post


Link to post

Thanks @Jaska! That makes this a lot easier! I had no idea those tools were there, but I haven't really dug into SLADE that much outside of adding a custom MIDI. One new question then: if my PWAD goes back into the IWAD maps at some point, I'll only want to use the Remove Unused Patches tool, right? If I use the other 2, all the textures I didn't use in my PWAD will be gone, meaning the IWAD maps will have missing textures? Or will that not matter since the PWAD will only will have the data on whatever maps I added and removing unused textures/flats won't effect the IWAD maps? 

 

Edit: I just tried it on a backup of the map and figured it out. Deleting all the unused textures/flats/patches doesn't effect the IWAD. I should have figured that right from the start

Edited by TJG1289

Share this post


Link to post
1 hour ago, Jaska said:

If you have animated textures you should have every frame of them somewhere (hidden) in your map. Otherwise "remove unused" removes the other frames and your map will look like mess because it just plays other textures as an animation.

It's slightly more complex to figure out if you're not used to command line utilities, but the DoomTools suite can handle this without forgetting the extra textures from switches and animations.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...