Ultimate Doom Builder

Any utility that assists in the creation of mods, assets, etc, go here. For example: Ultimate Doom Builder, Slade, WadSmoosh, Oblige, etc.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

boris wrote:Yes, please open an issue.
OK, 'tis done: https://github.com/jewalky/UltimateDoom ... issues/665



I've been trying to think just how long this feature has existed. Certainly a long time. It wasn't in ZDoom 1.23 so I suspect it appeared sometime during the protracted 2.0.x beta/cab development phase. I *think* it was added before "any graphic anywhere" support (i.e. flats/textures/sprites being used on walls/floors regardless of type).
necros
Posts: 28
Joined: Mon Dec 30, 2019 10:26 pm

Re: Ultimate Doom Builder

Post by necros »

Quick question: When making a new zscript monster, I can use mapinfo to set a DoomEdNum so that I can place it in a map and have it appear in zdoom, however the monster does not appear in the list of monsters in UDB. In this thread (viewtopic.php?f=124&t=68293) the first reply,
Also, even though they won't appear in the list, they will still appear once the map is loaded
seems to imply that it is not possible. Is this still the case?
User avatar
Kappes Buur
 
 
Posts: 4139
Joined: Thu Jul 17, 2003 12:19 am
Graphics Processor: nVidia (Legacy GZDoom)
Location: British Columbia, Canada

Re: Ultimate Doom Builder

Post by Kappes Buur »

necros wrote:Quick question: When making a new zscript monster, .....
I made a quick simple example pwad showing how to use the zcript actor
with MAPINFO - DoomEdNums so that the actor shows up in the editor

FUSION_SPIDER from Realm667
Spoiler:
boris
Posts: 750
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

necros wrote:Quick question: When making a new zscript monster, I can use mapinfo to set a DoomEdNum so that I can place it in a map and have it appear in zdoom, however the monster does not appear in the list of monsters in UDB. In this thread (viewtopic.php?f=124&t=68293) the first reply,
Also, even though they won't appear in the list, they will still appear once the map is loaded
seems to imply that it is not possible. Is this still the case?
The OP in that thread uses GZDB, which doesn't support ZScript. UDB does, though, and it works fine. What you have to do is to include gzdoom.pk3 as a resource (but exclude from testing).
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Just another "checking before I report it" post.

I was trying to use the Linedef Flags search to find lines of a particular activation type. However, several of the types that I tried gave me an error instead of carrying out the search.

For example:
"When player presses use" is selected:


But pressing the "Find" button gave me this:
Image

The same thing happened with a few other activation types (repeatspecial, missilecross, monsterpush and several others). I am pretty sure (but not 100% certain) that I have been able to do this before and successfully complete the search.

Is this known about? Is UDB doing something expected, or unexpected?
boris
Posts: 750
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

That's a bug. UDB treats the flags that are related to activation as a special case, but that find function only checks the "normal" flags. For example it'll find lines that have the doublesided flag, but no flags related to activation. Please open an issue for that, should be easy to fix.
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

OK, done. Issue #667, the neighbour of the beast.

https://github.com/jewalky/UltimateDoom ... issues/667
necros
Posts: 28
Joined: Mon Dec 30, 2019 10:26 pm

Re: Ultimate Doom Builder

Post by necros »

boris wrote:What you have to do is to include gzdoom.pk3 as a resource (but exclude from testing).
omg, thank you! That was the missing part of the puzzle! Man, this has been driving me nuts for weeks now.
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

I have noticed that when UDB displays models, it ignores any scaling that might exist in the model's DECORATE and only applies the scaling factor from MODELDEF.

Is this known about/expected?

Example. This radio model has Scale 0.5 in its DECORATE and Scale 0.6 0.4 0.6 in MODELDEF. The DECORATE scale is needed because the radio is shootable and its death frames are sprites, not models, and these need to be scaled down to look good.

In GZDoom, the radio model is scaled after applying the DECORATE scale.


The one on the left is the normal appearance of the radio. Out of interest, I also applied a 0.75 scale and a 0.5 scale in UDB to the item and those are the middle and right copies respectively.

However, in UDB, it is only applying the MODELDEF scale and therefore it is twice as big as it appears in game.


Is this a bug/unimplemented feature? If so, I'll raise an issue on GitHub.
boris
Posts: 750
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

Yes, I assume that's a bug.
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

boris
Posts: 750
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

The years in review (2020/2021 edition)

Two years ago the first version of Ultimate Doom Builder was released. A lot has happened inside and outside of the Doom community since then, and UDB, too, has seen many changes.

Many bugs were fixed, and many features were added. Some are small quality of life imprevements, some are huge, like the scripting capabilites or the visual sloping for GZDoom (an compatibles).
Most of the new features and improvements are not immediately obvious, and since I know people love to not read the changelog here is a comprehensive list of all the cool stuff added in the last two years:

2021
  • Added scripting capabilities to modify the map programmatically at build-time (see the documentation)
  • Added DeHackEd support. Things changed through DeHackEd will now be displayed correctly in UDB. Also supports DEHEXTRA and DSDHacked
  • Added visual sloping for vertices
  • Added option to run pre- and post-commands when reloading resources or playtesting (for example to make using DoomMake easier, see this post)
  • Added game configuration for MBF21 (thanks to kraflab)
  • Visplane Explorer Mode now has configurable view heights (thanks to Afterglow)
  • Added event lines for Doom format line-to-line specials (like Boom's "Teleport to line with same tag") (thanks to Afterglow)
  • Added support for highlighting (and event lines) for arbitrary UDMF fields (for example used for portals in the EE game configuration)
  • Skill level and Engine can now set without starting a game each time
  • Added option to set additional parameters in the playtesting menu drop down button
  • Vanilla improvements:
    • negative y-offsets of patches are handled correctly
    • better support for self-referencing sectors in visual mode (thing will be displayed at the correct height in visual mode)
2020
  • Switch from SlimDX to OpenGL. Removal of DevIL. Other optimizations
  • UDB can now be built natively on Linux. Running it successfully is another story
  • Converted UDB to use double precision floating point numbers instead of single precision floating point numbers
  • Visual sloping for GZDoom/UDMF to make user-friendly use of plane equation slopes. This has also an option to make arching easier (see Bridgeburner's tutorial)
  • Added method to export selected sectors as an image, with optionally creating a brightmap, so it can be used as an texture
  • Improved OBJ exporter to create models that can be directly used in GZDoom without cleanup. Will also create MODELDEF and DECORATE/ZScript code (see example video)
  • Improved associations (event lines) to show the action of the between the tagged objects
  • Partial support for DECALDEF
  • The different geometry drawing modes now work with a transformed grid
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Thank you (and all contributors) for UDB. Your continued work on it, your constant squishing of bugs, your receptiveness to ideas and your presence on the forum for quick and meaningful feedback and information are all very much appreciated.

UDB is an absolute powerhouse of a Doom (etc) editor. It is slick, efficient, approachable and stable. It is packed with lots of really useful features, can handle huge maps and massive numbers of resources without complaint or compromising its stability. It can do so many things, and makes them easy to do, which other Doom editors either can not do at all or, as often as not, will end up crashing when trying to do them, or creating invalid structures and sector references or even corrupting the whole map. In contrast, UDB just does it without fuss and gets it right. UDB feels far more professional than every other game map editor that I have used - and I don't just mean Doom ones. I mean editors for the many, many other games that I have dabbled with.

Quite simply, UDB has brought the joy of Doom editing back for me. Firing up UDB and messing around with a map is, to me, as much fun (perhaps even more so) than playing the game.

So, thank you once again.
User avatar
Enjay
 
 
Posts: 26539
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Quick question, is it possible to search for a specific sector height? By sector height I don't mean floor height or ceiling height (which I can see options for); I mean the gap between the floor and the ceiling - i.e. how tall the sector is.

The reason is that I have been sent a very complicated map by someone to help them tidy it up and they have used a lot of 0 height sectors for pillars etc instead of making them from 1S lines with void space "inside" the pillar. So I was trying to search for all sectors with height 0. I know that would pick up doors etc too but it would be better than having to try and do it by eye. I know that there isn't a specific search function for this but I thought that there might be some cunning way to figure out how to do it.
boris
Posts: 750
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

That's not directly possible.

However, you can do it with UDBScript! You could use a script like this:

Code: Select all

`#version 4`;
`#name Find zero height sectors`;
`#description Finds all sectors that have a height of 0 (or less) and sets their comment to "0 height"`;

UDB.Map.getSectors().forEach(s => { if(s.ceilingHeight <= s.floorHeight) s.fields.comment = '0 height' });
And then in Find and Replace Mode search for "Sector UDMF Field" and enter "comment 0 height".

Or if you're feeling adventurous you can let UDBScript do all the work:

Code: Select all

`#version 4`;
`#name Clean up zero height sectors`;
`#description Finds and removes all sectors that have a height of 0 (or less), as long as they are not tagged or any of their lines have an action (so that it doesn't remove doors etc)`;

UDB.Map.getSectors().reverse().filter(s => (s.ceilingHeight <= s.floorHeight) && s.tag == 0 && !s.getSidedefs().some(sd => sd.line.action > 0)).forEach(s => { UDB.log(`Deleting sector ${s}.`); s.delete() });

Return to “Creation, Conversion, and Editing”