Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
baja blast rd.

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

Recommended Posts

39 minutes ago, ViolentBeetle said:

Sounds like you are missing a palette, which is probably due to not setting base resources.

That seems to work... no idea I had to do that. Don't remember ever doing that. Thanks!

Share this post


Link to post
1 hour ago, Dreamphaser said:

That seems to work... no idea I had to do that. Don't remember ever doing that. Thanks!

The palette needed to come from somewhere.

Share this post


Link to post

Making a Spider Guy.
I want to make them have an attack where they create an AoE webbing which lasts for a short while before vanishing.
Ideas?

Share this post


Link to post

I've read somewhere that I need 2 sound block linedefs, that 1 is not enough. I just checked it in my map editor and it seems just fine with 1. Is there some condition I'm not aware of?

Share this post


Link to post
4 hours ago, HrnekBezucha said:

I've read somewhere that I need 2 sound block linedefs, that 1 is not enough. I just checked it in my map editor and it seems just fine with 1. Is there some condition I'm not aware of?

No, you need 2. It makes for crude simulation of distance, if used in an open area. If sector has zero height or two adjacent sectors don't overlap vertically (that is, floor height on 1 is higher or equal to ceiling on another) sound also won't propagate.

UDB sound propagation tool shows all areas in different colors, but that doesn't mean sound won't travel through a single line. If you hover over a sector in this mode you will see how it goes: Dark green is the current sector, light green is where sound reaches from it unobstructed, yellow is where sound will reach but it has crossed one sound-blocking line and finally grey is where sound doesn't arrive at all.

Share this post


Link to post
2 hours ago, ViolentBeetle said:

No, you need 2. It makes for crude simulation of distance, if used in an open area. If sector has zero height or two adjacent sectors don't overlap vertically (that is, floor height on 1 is higher or equal to ceiling on another) sound also won't propagate.

UDB sound propagation tool shows all areas in different colors, but that doesn't mean sound won't travel through a single line. If you hover over a sector in this mode you will see how it goes: Dark green is the current sector, light green is where sound reaches from it unobstructed, yellow is where sound will reach but it has crossed one sound-blocking line and finally grey is where sound doesn't arrive at all.

Okay, and is there some explanation why it has to be 2 block lines? There is the same tool in Eureka editor, only with different colours. Picture bellow. Areas in orange are direct propagation, red areas are behind one sound blocking line, and then it gets weird. The area in black on south is behind two sound block lines, and is completely shielded. The blue area in the middle is a floor higher, with no sound connectivity. But it's rendered blue, not black. And so is the area north of that, which is at the same level as the orange area. Technically, that is behind two lines if the sound travels to west and then north. I don't know, it's really confusing to me. Because in-game, if I make a sound in the orange area, monster in the red area (behind one sound block line) hears me just fine.

I think I'm doing a very poor job of explaining it.. The tl;dr is: why do we need 2 lines, and what does a single line actually do?

5Inulhc.png

Share this post


Link to post
25 minutes ago, HrnekBezucha said:

The tl;dr is: why do we need 2 lines, and what does a single line actually do?

The idea is that it lets monsters from a distant room react to gunfire, but not monster even further away... as long as sound-blocking lines are used logically.

 

Also the sides of a sector with height 0 count as sound-blocking lines regardless of flag present, which makes closed doors effectively sound-proof.

 

The best example to understand the principle is MAP01. Go in automap mode, use iddtiddt to see all things on the map, and shoot. Notice which monsters start moving and which don't. Now restart the level and try again, but this time shooting from a different position, e.g. behind the opening stairway.

Share this post


Link to post
1 minute ago, Gez said:

The idea is that it lets monsters from a distant room react to gunfire, but not monster even further away... as long as sound-blocking lines are used logically.

 

Also the sides of a sector with height 0 count as sound-blocking lines regardless of flag present, which makes closed doors effectively sound-proof.

 

The best example to understand the principle is MAP01. Go in automap mode, use iddtiddt to see all things on the map, and shoot. Notice which monsters start moving and which don't. Now restart the level and try again, but this time shooting from a different position, e.g. behind the opening stairway. 

Yeah, I'll do that.

Share this post


Link to post

Since Doom and Doom 2 use the same executable, is it possible to add a Keendie pointer via Dehacked to a monster present in Doom, therefore allowing the use of the Tag 666 door action in Doom 1?

Share this post


Link to post
Posted (edited)
6 minutes ago, Pegleg said:

Since Doom and Doom 2 use the same executable, is it possible to add a Keendie pointer via Dehacked to a monster present in Doom, therefore allowing the use of the Tag 666 door action in Doom 1?

Correct. A_keendie is also type agnostic, it checks if all monsters of the same type as the caller are dead, not just the specific keen type, so it'll work on any type in Doom just the same.

 

There's a couple of things that don't work (the megasphere for example), but otherwise Doom2s entire frame table and codepointers are available.

Share this post


Link to post

How do i make a sprite in Slade3? i have some textures like trees and stuff i want to make into a sprite but i dont know how to go about this

Share this post


Link to post

Does MBF21's version of dehacked allow any kind of control to make a monster temporarily intangible. I saw it making them invincible before, but can shots also pass through them?

I'm having some ideas and wondering if I should keep having them.

Share this post


Link to post
1 hour ago, ViolentBeetle said:

Does MBF21's version of dehacked allow any kind of control to make a monster temporarily intangible. I saw it making them invincible before, but can shots also pass through them?

I'm having some ideas and wondering if I should keep having them.

If you change SHOOTABLE flag via A_AddFlag/A_RemoveFlag, a monster will become "shoot-through" for hitscan and projectiles such as rockets/plasma, as my Shadow VIle. "Temporarily" would mean that there is some frame where you remove the flag, and then add it back at some point. My idea does the opposite - sets the flag at the start of resurrection animation, and removes it when Vile goes back to chase loop, making them "temporarily tangible".

 

Collision when moving is a different flag (SOLID), it may be a bad idea to add/remove it to avoid things getting stuck in each other, although I haven't tested how exactly that'd work.

Share this post


Link to post

This is kinda abstract but - where is the line that differentiates modding and developing? 

One can make a custom iwad and load it up with gzdoom. That would make it a new game being developed, right? But what about total conversions like REKKR and all the others. If they don't use any of the doom assets, and stuff.. 

Share this post


Link to post

Modding is developing. A facet of it, at least.

 

Really the question is what differentiate a mod from a game? And I'd say the game has to be its own thing. If you reuse elements from the base game, a mod is just a mod. Note that elements is not necessarily assets, it's also gameplay. For example, take Freedoom: it has all-new assets, but the monsters are actually the exact same as Doom's, despite different sprites and sounds. So there's a whole game balance aspect that is simply skipped.

Share this post


Link to post

The newest version of SLADE doesn't seem to remember what lump I selected after I remove filter (So, say, filtering by F_, selecting F_START maker and then removing filter to actually see flats doesn't seem to work) - is there a way to remedy this?

Share this post


Link to post

In Ultimate Doom Builder is there any way to preserve joined sectors and reassign all tags to new ones automatically when you copy-paste sectors?

 

I'm making a boom-compat level with a LOT of voodoo doll contraptions to add things like automatic walk on lifts and destructable walls, but it's so annoying when I want to add more because when I copy paste them I have to re-join all of the sectors and change all of the tags every time. It would be so much easier if there was a copy-paste setting which does all of that for you, but if that's not a thing then uhh... can someone make a plugin for that? Some kind of "smart" copy paste would be awesome.

Share this post


Link to post
20 minutes ago, Grimosaur said:

In Ultimate Doom Builder is there any way to preserve joined sectors and reassign all tags to new ones automatically when you copy-paste sectors?

Edit->Paste Special (no default hotkey, you can assign one under Tools->Preferences->Controls) does not preserve joins, but it offers an option to renumber tags.

You can also make this the default behavior in Tools->Preferences->Pasting.

Share this post


Link to post
On samedi 14 mai 2022 at 2:37 AM, ViolentBeetle said:

The newest version of SLADE doesn't seem to remember what lump I selected after I remove filter (So, say, filtering by F_, selecting F_START maker and then removing filter to actually see flats doesn't seem to work) - is there a way to remedy this?

Actually, the newest version (3.2.1) has fixed this, but only on Windows, and introducing a new bug in the process, which has been fixed since so you just have to wait for 3.2.2.

 

Unless you're on Mac or Linux. Then you're out of luck; either use an older version until it's addressed or do without.

Share this post


Link to post
Posted (edited)
On 8/28/2021 at 6:20 AM, Chainie said:

I wanna make a monster, which ressurects after some time after dying with standart death, but can be  killed by xdeath(Something like zombies from quake or blood)

image.png.0393e7d003962af940be8d20db020d5a.png

Is it possible to make via vanilla dehacked?
If it is, how to make it?

Just a couple hours ago, I had the idea to make this very rough proof of concept DEH file that resurrects the Zombiemen corpses if it hasn't been gibbed. What I did was that I gave the ammo clip flame sprites along with the VileChase codepointer so that whenever the Zombiemen die, they drop a clip and are immediately ressurected. I also changed the ammo clip's states duration so it disappears at a certain point and the gibbing process just so happens to take long enough for that to happen.

 

It isn't a perfect solution as the drawbacks of doing this is taking away the Archvile's ability to resurrect, ammo clips can no longer be picked up, clips can also resurrect nearby corpses and gib piles, and Zombiemen can also simply fall out of the clips' resurrection range. I suppose a partial solution to one of these issues would be to modify the duration of the gib piles so they disappear to prevent any potential resurrection. You could also change the Zombiemen's mass to stay within range of the clip (I changed it to 200). Finally, you can change one of the less prominent item pickups like the Invisibility Sphere or Lite Amplification Visor to replace the regular ammo clip. 

 

With all that said, it's actually a pretty effective imitation of Quake's zombies otherwise. Feel free to try it out and tweak it where you see fit.

 

QuakeZ.deh

 

EDIT: Thanks to Gez's advice, here's a new DEH file that removes any potential ability to resurrect monster gib piles. QuakeZB.deh

Edited by Domestic-Weirdo : Removed some repeated words, added a file link

Share this post


Link to post

Fun fact about arch-viles, they can only revive a corpse if it is in a state that has a duration of -1 (infinite).

// PIT_VileCheck
// Detect a corpse that could be raised.
//
mobj_t*		corpsehit;
mobj_t*		vileobj;
fixed_t		viletryx;
fixed_t		viletryy;

boolean PIT_VileCheck (mobj_t*	thing)
{
    int		maxdist;
    boolean	check;
	
    if (!(thing->flags & MF_CORPSE) )
	return true;	// not a monster
    
    if (thing->tics != -1)
	return true;	// not lying still yet
    
    if (thing->info->raisestate == S_NULL)
	return true;	// monster doesn't have a raise state
    
    maxdist = thing->info->radius + mobjinfo[MT_VILE].radius;
	
    if ( abs(thing->x - viletryx) > maxdist
	 || abs(thing->y - viletryy) > maxdist )
	return true;		// not actually touching
		
    corpsehit = thing;
    corpsehit->momx = corpsehit->momy = 0;
    corpsehit->height <<= 2;
    check = P_CheckPosition (corpsehit, corpsehit->x, corpsehit->y);
    corpsehit->height >>= 2;

    if (!check)
	return true;		// doesn't fit here
		
    return false;		// got one, so stop checking
}

Note that this uses inverted logic: it returns false if it got a valid corpse for resurrection, and true if it doesn't.

 

So the conditions that are checked are, in order: needs to have the MF_CORPSE flag, needs to be in a state with a duration of -1, needs to have a raise state, needs to be actually close enough to the vile, and finally needs to have enough room to resurrect.

 

The thing is that this state duration is one that is very easy to change without affecting anything else. For example instead of a last state with a duration of -1, it could be a last state with a duration of 32767 tics (that's over 15 minutes already...), that loops back to itself as its own next state. From the player's perspective, there would be no difference between that slowly repeating state and a permanent state. But it would be enough to thwart any and all attempt at resurrection by arch-viles. So you can use that to make it impossible to resurrect gibbed corpses.

 

Then you could create invisible, non-shootable arch-vile clones that do not have their attack (melee/missile) states. They just wander around and resurrect stuff, but they can't attack the player, they don't block movement, they can't be seen and they can't be heard either (null their sounds). They also shouldn't count as monsters. Place them wherever there are zombies so they can revive them after a while.

Share this post


Link to post

This seems to work on -complevel 2 in dsda. Didn't test on other ports. Salvaged 1 of zombie's own Chase frames.

image.png.81e5b5155359a51ea832c85b5db01da8.png

Share this post


Link to post
Posted (edited)
8 hours ago, Gez said:

Fun fact about arch-viles, they can only revive a corpse if it is in a state that has a duration of -1 (infinite).


// PIT_VileCheck
// Detect a corpse that could be raised.
//
mobj_t*		corpsehit;
mobj_t*		vileobj;
fixed_t		viletryx;
fixed_t		viletryy;

boolean PIT_VileCheck (mobj_t*	thing)
{
    int		maxdist;
    boolean	check;
	
    if (!(thing->flags & MF_CORPSE) )
	return true;	// not a monster
    
    if (thing->tics != -1)
	return true;	// not lying still yet
    
    if (thing->info->raisestate == S_NULL)
	return true;	// monster doesn't have a raise state
    
    maxdist = thing->info->radius + mobjinfo[MT_VILE].radius;
	
    if ( abs(thing->x - viletryx) > maxdist
	 || abs(thing->y - viletryy) > maxdist )
	return true;		// not actually touching
		
    corpsehit = thing;
    corpsehit->momx = corpsehit->momy = 0;
    corpsehit->height <<= 2;
    check = P_CheckPosition (corpsehit, corpsehit->x, corpsehit->y);
    corpsehit->height >>= 2;

    if (!check)
	return true;		// doesn't fit here
		
    return false;		// got one, so stop checking
}

Note that this uses inverted logic: it returns false if it got a valid corpse for resurrection, and true if it doesn't.

 

So the conditions that are checked are, in order: needs to have the MF_CORPSE flag, needs to be in a state with a duration of -1, needs to have a raise state, needs to be actually close enough to the vile, and finally needs to have enough room to resurrect.

 

The thing is that this state duration is one that is very easy to change without affecting anything else. For example instead of a last state with a duration of -1, it could be a last state with a duration of 32767 tics (that's over 15 minutes already...), that loops back to itself as its own next state. From the player's perspective, there would be no difference between that slowly repeating state and a permanent state. But it would be enough to thwart any and all attempt at resurrection by arch-viles. So you can use that to make it impossible to resurrect gibbed corpses.

 

Then you could create invisible, non-shootable arch-vile clones that do not have their attack (melee/missile) states. They just wander around and resurrect stuff, but they can't attack the player, they don't block movement, they can't be seen and they can't be heard either (null their sounds). They also shouldn't count as monsters. Place them wherever there are zombies so they can revive them after a while.

Neat idea. The SS Nazis are now Archvile clones and the last state for each gib animation have been changed to loop continuously.

 

GhostViles.deh

Edited by Domestic-Weirdo

Share this post


Link to post
Posted (edited)

I have a script set to trigger an earthquake at a particular sector through a map spot, but the linedefs used to execute the script are continuously triggering every time you walk over them even though I've not ticked repeatable action. How do I get it to run the action just once?

 

EDIT: Fixed already - add while (true) Suspend;

Edited by VisionThing

Share this post


Link to post

You know how revenants have a punching attack, and all the other guys toss a fireball if you get out of scratching range? Is it possible to make imps, hell knights etc to fight like revenants in close quarters with dehacked?

Share this post


Link to post
21 minutes ago, HrnekBezucha said:

You know how revenants have a punching attack, and all the other guys toss a fireball if you get out of scratching range? Is it possible to make imps, hell knights etc to fight like revenants in close quarters with dehacked?

Yeah, you can give them different melee and missile states, and you can use a melee-only attack in the melee animation (the pinky's or the revenant's) and a missile-only attack in the missile animation (the cyberdemon's, arachnotron's, revenant's, pain elemental's, or even arch-vile's).

 

The imp, baron/knight, and cacodemon attacks are all combos, so if you use say the cacodemon attack as the missile attack, it'll double as an extra melee attack if the player closes in the distance between the frame where the monster chooses to go for missile and the frame where the attack is actually performed.

Share this post


Link to post
14 minutes ago, Gez said:

Yeah, you can give them different melee and missile states, and you can use a melee-only attack in the melee animation (the pinky's or the revenant's) and a missile-only attack in the missile animation (the cyberdemon's, arachnotron's, revenant's, pain elemental's, or even arch-vile's).

 

The imp, baron/knight, and cacodemon attacks are all combos, so if you use say the cacodemon attack as the missile attack, it'll double as an extra melee attack if the player closes in the distance between the frame where the monster chooses to go for missile and the frame where the attack is actually performed.

Awesome! It always bothered me that you can only dance with skeletons. Maybe I'm the only one and this will be a huge waste of time&effort.

Share this post


Link to post

In addition to the previous answer, MBF21's generalized melee/missile codepointers allow to specify sound and damage, making it possible to have consistency there (assuming the goal is to just add dancing and keep the rest as close as possible to the original).

Share this post


Link to post
Posted (edited)

Screenshot-Hexen-20220530-193504.png

 

How do I stop this polyobject moving so far out (distance movement is set to 120) and can I make it not infinitely tall? Its just supposed to be door sized.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×