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.
dpJudas
 
 
Posts: 2893
Joined: Sat May 28, 2016 1:01 pm

Re: Ultimate Doom Builder

Post by dpJudas »

nova++ wrote:I think there's some limitations in update frequency due to it being piped unwillingly through Windows Forms? So even if it's running perfectly fine under the hood the actual display of it will be beholden to whenever WF decides to update.
Precisely this. WF blocks updates faster than roughly 50-60 times per second for some reason. And if you have the bottom panel open then it will stutter hard each time WF updates it (which it does all the time when you move around in 3d mode).
User avatar
Nash
 
 
Posts: 17322
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: Ultimate Doom Builder

Post by Nash »

nova++ wrote:
Amuscaria wrote:Got a question regarding the 3D preview mode in DB. Does it use software or Hardware rendering? I'm having choppy framerates even on a relatively beefy machine with a 10700K, 64 gigs and RTX3070.
I think there's some limitations in update frequency due to it being piped unwillingly through Windows Forms? So even if it's running perfectly fine under the hood the actual display of it will be beholden to whenever WF decides to update.
Huh, that explains it. It also seems that the 3D view can't go over 59 FPS, on my 144 hz display. :D
User avatar
nova++
Posts: 177
Joined: Sat Sep 04, 2021 3:13 am

Re: Ultimate Doom Builder

Post by nova++ »

I would dearly like to see UDB freed from the windows forms shackles but I know that would be an insane nightmare hellscape to actually carry out...
boris
Posts: 706
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

Tormentor667 wrote:Any chance of getting it fixed anytime soon?
Unfortunately not, no.
Enjay wrote:I don't *think* any lines are set to run script 28 in the map but, if I set one to do so for testing purposes, my search now finds both lines - one running the named script and one running script 28:

So... is this expected?
The named scripts and numbered scripts are stored in two different UDMF fields, "arg0str" and "arg0". When you set the named script (and thus "arg0str") the "arg0" is retained. If "arg0str" is set "arg0" will simply be ignored. That means that those lines it finds must have had their (numbered) script set to 28 at some point in time.
User avatar
Enjay
 
 
Posts: 26430
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Thanks for the explanation. I guess I must have given it script number 28 and then changed my mind and decided to give it a named script instead. I don't recall doing it, but I must have.

Certainly, looking at the TEXTMAP lump directly, I can see that arg0 has indeed been retained.

Code: Select all

linedef // 7176
{
v1 = 5957;
v2 = 5958;
sidefront = 11690;
special = 80;
arg0 = 28;
blocking = true;
dontdraw = true;
playeruse = true;
arg0str = "PortraitSecret";
}
I guess my question, though, is why is arg0 retained? Surely if arg0str has been set, arg0 should actually be removed? Unless I'm missing something obvious, I don't see why it is left there merely to be ignored (except by a search UDB, of course, thereby leading to my confusion)? Surely if arg0str is set, arg0 is just cruft clogging up the text file (albeit by just a fey bytes)?

Additional, question, other than editing the TEXTMAP lump directly, is there a way to see the arg0 value (and change it) in UDB? I've looked at what I thought were all of the logical dialogues, but I couldn't see anything there. I know that I can just remove the special from the line and then re-add it, and that removes the arg0 value, but it was only because of the coincidence of me searching for script 28 that I knew it was there anyway.
User avatar
Rachael
Admin
Posts: 13100
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Ultimate Doom Builder

Post by Rachael »

Amuscaria wrote:Got a question regarding the 3D preview mode in DB. Does it use software or Hardware rendering? I'm having choppy framerates even on a relatively beefy machine with a 10700K, 64 gigs and RTX3070.
It uses OpenGL 3.3 - so - hardware rendering, to answer your first question. I think everyone else has already adequately discussed the other issues you mentioned though.
boris
Posts: 706
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

Enjay wrote: Additional, question, other than editing the TEXTMAP lump directly, is there a way to see the arg0 value (and change it) in UDB? I've looked at what I thought were all of the logical dialogues, but I couldn't see anything there. I know that I can just remove the special from the line and then re-add it, and that removes the arg0 value, but it was only because of the coincidence of me searching for script 28 that I knew it was there anyway.
No, there's no sensible way to do it through the GUI. But (surprise, surprise ;) ) you can do it with UDBScript!

Code: Select all

`#version 4`;
`#name Clean unused arg0`;
`#description Removes arg0 if arg0str is set. Processes both linedefs and things.`;

function process(remove = false)
{
    let output = '';

    [ ...UDB.Map.getLinedefs(), ...UDB.Map.getThings() ].filter(o => o.fields.arg0str && o.args[0] != 0).forEach(o => {
        if(!remove)
            output += `${o} - arg0str: ${o.fields.arg0str}, arg0: ${o.args[0]}\n`;
        else
        {
            UDB.log(`Cleaning ${o}`);
            o.args[0] = 0;
        }
    });

    return output;
}

let output = process(false);

if(!output)
{
    UDB.showMessage('Nothing to clean up');
    UDB.die('Nothing to clean up');
}
else if(UDB.showMessageYesNo(`The following map elements were found for cleanup:\n\n${output}\nDo you want to clean them?`))
    process(true);
else
    UDB.die('Aborted');
User avatar
Enjay
 
 
Posts: 26430
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Thanks for the script. I'll have to give it a go. :thumb:

Of course, the only "problem" is realising that there are these redundant arg0 entries in the map in the first place, given that they don't show up by most search/check methods. However, it looks like the script you posted will report what was cleaned, or if there was no need to clean. So you got that covered too. Thanks again.
User avatar
NeuralStunner
 
 
Posts: 12301
Joined: Tue Jul 21, 2009 12:04 pm
Preferred Pronouns: He/Him
Graphics Processor: nVidia (Modern GZDoom)
Location: capital N, capital S, no space

Re: Ultimate Doom Builder

Post by NeuralStunner »

Another situation where I think it would be helpful to have a tab that contains all UDMF properties, making it simpler to inspect what the editor is doing in different situations.
User avatar
Mav3r1ck
Posts: 262
Joined: Thu Jul 16, 2015 11:09 pm

Re: Ultimate Doom Builder

Post by Mav3r1ck »

I was trying to Scale the player hitbox at about 50% but when I viewed it in UDB it was still it's default scale size. Is this an issue with the builder or is the player hitbox hardcoded by default?
User avatar
Kappes Buur
 
 
Posts: 4035
Joined: Thu Jul 17, 2003 12:19 am
Location: British Columbia, Canada

Re: Ultimate Doom Builder

Post by Kappes Buur »

How does one enable scripts to be compiled with the included BCC instead of ACC?

[edit]
NVM, brain hiccup. It finally came to me.
It had to be something simple. :D
Last edited by Kappes Buur on Tue Apr 12, 2022 1:38 am, edited 3 times in total.
User avatar
Enjay
 
 
Posts: 26430
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Is there a way to address this:

If you place a patrol point actor with the next tid set to 0 (which I'm sure is a legitimate thing to do), UDB draws lines to every single actor on the map with tid 0.

Obviously, most of the time these lines are helpful but (so I don't want to switch them off). However, in this case, they are not helpful.
User avatar
SanyaWaffles
Posts: 764
Joined: Thu Apr 25, 2013 12:21 pm
Graphics Processor: nVidia with Vulkan support
Location: Disappointment Island

Re: Ultimate Doom Builder

Post by SanyaWaffles »

That happens in custom made things too.
boris
Posts: 706
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

It's probably some oversight, since for example actions on linedefs don't draw an event line when their action targets tag 0.
User avatar
Enjay
 
 
Posts: 26430
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Ultimate Doom Builder

Post by Enjay »

Fair enough. I'll open an issue on GitHUB as a note to look at it if doing so ever takes your fancy. Not the most pressing of issues.
Edit: Done

While I'm on, I came across something that I thought might be a useful feature - an addition to the gradient tool:
Image

It doesn't currently have an option to create a gradient for the fog density sector property:
Image

A nice smooth gradient can be useful to soften the effect of moving from a foggy area to a non-foggy one. So, is this something that could be added?

Return to “Creation, Conversion, and Editing”