Jump to content
  • 0

Importing non-custom Doom monsters into custom add-on WADs (Vanilla)


baronofgibbitude

Question

Is it possible to import non-custom official monsters from WADs into custom WADs that are used with main WADs that lack those monsters yet still be compatible with Vanilla Doom? (i.e. Chaingunner in a custom WAD with Ultimate Doom, or a Flemoid in a custom WAD with Doom 2)

Specifically I'd like to import some Flemoids from Chex Quest into a custom WAD, for use in a secret level/easter egg, to use with main Doom 2 assets, while still having it run in Vanilla Doom.

Share this post


Link to post

21 answers to this question

Recommended Posts

  • 3

Assuming you want to use one of the non-boss flemoids, using the Wolf3D enemy for it as a replacement will be fine. Heck, even if you DO want one of the boss enemies, that could easily be done in vanilla.

 

If you really don’t want it to use the Wolf3D guy’s default attack pattern, you can change it to be more like the zombieman, shotgunner, chaingunner, imp or demon, which would be downright trivial in DeHackEd. I have a tutorial on YouTube that shows both the process of replacing sprites and of modifying behaviour all in fully vanilla compatible ways if you need some help. If you need help even beyond this I’m happy to lend a hand.

Share this post


Link to post
  • 2

None of the 3 Chex Quest pwads has a DeHacked lump or DEH lump, which means that the behaviour of the monsters or weapons are still the same as the originak DOOM.

 

All that was done, was to substitute to original sprites, textures and sounds with new ones, but retaining the names of the original lumps.

Share this post


Link to post
  • 1

Not without the graphics and codepointers.

 

DeHackEd-level trickery MIGHT make it possible, but it'd heavily depend on what they did and what got altered. It's definitely easier if it's just new graphics, but then you'd need to decide on something else getting ganked in exchange - all DeHackEd could do was alter existing stuff, not insert new states entirely. (That was more of a BEX deal.)

 

Of course, if you're using a DECORATE-based source port, that's far easier to do.

Edited by Dark Pulse

Share this post


Link to post
  • 1
19 hours ago, Doomkid said:

Assuming you want to use one of the non-boss flemoids, using the Wolf3D enemy for it as a replacement will be fine. Heck, even if you DO want one of the boss enemies, that could easily be done in vanilla.

 

If you really don’t want it to use the Wolf3D guy’s default attack pattern, you can change it to be more like the zombieman, shotgunner, chaingunner, imp or demon, which would be downright trivial in DeHackEd. I have a tutorial on YouTube that shows both the process of replacing sprites and of modifying behaviour all in fully vanilla compatible ways if you need some help. If you need help even beyond this I’m happy to lend a hand.

Ultimately I decided that I will make 2 very similar wads, one compatible with vanilla (replacing the SS soldier with a flemoid) and another compatible with most modern source ports so I can use other custom stuff I plan to make. Ironically Doomkid, I saw your video earlier that day but I didn't think it would help until I realized I didn't need the SS soldier, then this video helped A LOT. There's a problem with the way the Chex Quest sprites are named/layed out, but I'm sure I can fix that. But yes, your tutorial was VERY helpful and I'm Eternally grateful. (pun intended).

18 hours ago, NiGHTMARE said:

If you're not absolutely dead set on vanilla compatibility, you could make use of DEHEXTRA. This does allow you to add new, non-replacing things (there is a limit to the total number, but IIRC it's close to 3000!) The downside is that DEHEXTRA is currently only supported by the following ports:

 

- Crispy Doom

- Doom Retro

- Eternity

- GZDoom

- PRBoom+ (UMAPINFO branch)

 

Another upside is that all these ports are also BEX compatible, so you can also add/remove actions from existing frames if you want to and support the new thing flags (BOUNCES, FRIEND, TOUCHY) and action parameters added by MBF. (Crispy may be an exception to the latter, I'm not 100% sure on this - I've asked over in the DEHEXTRA thread.)

It sounds promising, but I had a hard time understanding the discussion. Can you go more into depth of how it and adding things work?

Share this post


Link to post
  • 0
34 minutes ago, Dark Pulse said:

Not without the graphics and codepointers.

 

DeHackEd-level trickery MIGHT make it possible, but it'd heavily depend on what they did and what got altered. It's definitely easier if it's just new graphics, but then you'd need to decide on something else getting ganked in exchange - all DeHackEd could do was alter existing stuff, not insert new states entirely. (That was more of a BEX deal.)

 

Of course, if you're using a DECORATE-based source port, that's far easier to do.

Yes, Chex Quest only changed the graphics for some, but does this mean I can't import those monsters without replacing their Doom counterpart? Also, how would I begin to attempt using DeHackEd to try and pull this off?

Share this post


Link to post
  • 0
2 hours ago, baronofgibbitude said:

Yes, Chex Quest only changed the graphics for some, but does this mean I can't import those monsters without replacing their Doom counterpart? Also, how would I begin to attempt using DeHackEd to try and pull this off?

Correct. DeHackEd would require you to basically remove something, and change its states so that it becomes a "new" monster, but it will always be in exchange due to a limitation to need to be able to run on Vanilla. That means you can't add anything new - you can only alter what exists, and make things use existing behavior.

 

So basically it'd be something like "Sure, I can add the Felmoid, but then I'd need to remove the Zombieman" because you'd be replacing the Zombieman graphics and sounds with the Flemoid graphics and sounds. Keeping both would be impossible under Vanilla without some OTHER sacrifice (like, say, Shotgun Guys). DeHackEd also has a limitation in that you can only change a code pointer to another thing with a code pointer, and a no-action must remain no-action. You can't remove an action from a frame that has one, nor add an action to a frame that didn't have one originally - to do that you'd need BEX, and at that point, you're no longer running Vanilla as you need a Boom-compatible port.

 

Something like DECORATE, ZScript, or EDF gets around all of these entirely; of the three, DECORATE probably has the most support. But there's also plenty of Boom-compatible engines that can't have it, so you're further limited.

 

Basically, the more engines you want it to work with, the more constraints you will give yourself. There's no real way to avoid that - if you want the maximum flexibility, you'll work on the smallest amount of engines, and if you want to work on all the engines (especially Vanilla or Crispy), you will need to make the most sacrifices.

 

EDIT: Per Kappes Buur, if they're just graphic/sound replacements, then all you need to do is replace the graphics and sound, but then yes, it'd be WAD-wide. No way to replace them only for one level, and no way to add something without replacing something else.

Edited by Dark Pulse

Share this post


Link to post
  • 0
25 minutes ago, Dark Pulse said:

Basically, the more engines you want it to work with, the more constraints you will give yourself. There's no real way to avoid that - if you want the maximum flexibility, you'll work on the smallest amount of engines, and if you want to work on all the engines (especially Vanilla or Crispy), you will need to make the most sacrifices.

This is probably a stupid question, but could something such as the blood/corpse decorations be replaced for monsters?

Share this post


Link to post
  • 0
Just now, baronofgibbitude said:

This is probably a stupid question, but could something such as the blood/corpse decorations be replaced for monsters?

Nope. Dead things don't have the necessary code pointers or logic. They're literally there to do one thing - exist - and that's all.

Share this post


Link to post
  • 0
4 minutes ago, baronofgibbitude said:

I'll try to play around with things and see if I can discover anything. If worse comes to worst, I can always replace the Nazi.

Won't work if the monster had no Chex Quest replacement (and IIRC, it doesn't, since it was an OG Doom mod, not Doom II).

 

Basically, it'd look and sound like the Flemoid you'd choose, but it'd function like the Nazi - meaning that if there's more or less frames of animation in its walk phase, its attack phase, etc. it won't look right.

Edited by Dark Pulse

Share this post


Link to post
  • 0

If you're not absolutely dead set on vanilla compatibility, you could make use of DEHEXTRA. This does allow you to add new, non-replacing things (there is a limit to the total number, but IIRC it's close to 3000!) The downside is that DEHEXTRA is currently only supported by the following ports:

 

- Crispy Doom

- Doom Retro

- Eternity

- GZDoom

- PRBoom+ (UMAPINFO branch)

 

Another upside is that all these ports are also BEX compatible, so you can also add/remove actions from existing frames if you want to and support the new thing flags (BOUNCES, FRIEND, TOUCHY) and action parameters added by MBF. (Crispy may be an exception to the latter, I'm not 100% sure on this - I've asked over in the DEHEXTRA thread.)

Edited by NiGHTMARE

Share this post


Link to post
  • 0
1 hour ago, NiGHTMARE said:

Crispy may be an exception to the latter, I'm not 100% sure on this - I've asked over in the DEHEXTRA thread.

As far as I've seen, Crispy does fully support BEX/MBF codepointers - I tested Valiant's custom enemies in Crispy (using painful importing, obviously) and they seem to behave properly, with the Arachnotron having the RandomJump codepointer (which is a MBF codepointer) completely functional.

(Alternatively, you could see for yourself by warping to MAP08 of Valiant and try killing a few Arachnotrons there)

Edited by TheNoob_Gamer

Share this post


Link to post
  • 0
2 hours ago, baronofgibbitude said:

It sounds promising, but I had a hard time understanding the discussion. Can you go more into depth of how it and adding things work?

 

Essentially it adds lots of dummy things, which you can replace with whatever you like. I would suggest downloading the "Smoothed" and/or "Black Weapons" mods mentioned in that thread, and seeing how they work.

 

Bear in mind you'll need to use the WhackEd editor, and not the original DeHackEd.

 

Share this post


Link to post
  • 0
7 hours ago, NiGHTMARE said:

Bear in mind you'll need to use the WhackEd editor, and not the original DeHackEd.

I was already using that so that won't be a problem. I'll look at it and share the results, thanks!

Share this post


Link to post
  • 0

I haven't started making use of this myself, but here's a quote from the SMOOTHED thread:

 

On 2/9/2016 at 7:38 PM, VGA said:

The states are all TNT1A, duration -1, next frame is itself, all other info NULL.

 

So presumably you just need to change TNT1A to whatever your sprite name is + A, e.g. BOGIA.

 

I would suggest downloading SMOOTHED to see how everything's done there.

Edited by NiGHTMARE

Share this post


Link to post
  • 0
1 hour ago, NiGHTMARE said:

So presumably you just need to change TNT1A to whatever your sprite name is + A, e.g. BOGIA.

I downloaded SMOOTHED to look at it, but I can't seem to find the string TNT1A.

Share this post


Link to post
  • 0
8 hours ago, baronofgibbitude said:

I downloaded SMOOTHED to look at it, but I can't seem to find the string TNT1A.

 

There is a good reason for that.

SMOOTHED does not contain a DECORATE lump. Modifications have been done with DEHACKED.

 

https://zdoom.org/wiki/Sprite

Edited by Kappes Buur

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
Answer this question...

×   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...