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
Mav3r1ck
Posts: 262
Joined: Thu Jul 16, 2015 11:09 pm

Re: Ultimate Doom Builder

Post by Mav3r1ck »

I'm using a custom resource that rearranges existing patches into new patched textures (new doors, new wall textures, etc) using my DOOM2.wad but they are being shown incorrectly in UDB but are shown correct during gameplay/testing of WIP maps I'm working on. How can I fix this?

For example, I created a 16 x 128 metal bar that uses the patches RW26_1 and M1_1 for hell themed levels but it renders as PLAT2_1 using the 16 x 128 dimensions for some reason but renders correctly during gameplay/testing.
User avatar
MrStayPuft
Posts: 4
Joined: Wed Apr 20, 2016 10:55 pm

Re: Ultimate Doom Builder

Post by MrStayPuft »

This weekend I've been experimenting with 16-angle sprites (as described here https://zdoom.org/wiki/Sprite#Angles), and I've just discovered that Ultimate Doom Builder doesn't like them. It refuses to load the sprite and comes up with the error message: "Expected sprite angle in [1..8] range"

I'm guessing this is an oversight in the error checking code. I don't need UDB to load and render all 16 angles (I don't know how hard that would be), but it should at least be tolerant of the fact that there may be 16 angles (1-G) per sprite.

I'm currently using UDB 3.0.0.3763 (f8e836a)

The offending code is in ThingTypeInfo.cs, SetupSpriteFrame(), around line 767.

Code: Select all

// More sanity checks
if(targetangle < 1 || targetangle > 8)
{
    General.ErrorLogger.Add(ErrorType.Error, "Error in actor \"" + title + "\":" + index + ", sprite \"" + s + "\". Expected sprite angle in [1..8] range");
    return false;
}
I'd post a bug in github myself, but I don't have an account. Thanks in advance to anyone who can chase this up.
boris
Posts: 742
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

What's the complete error message?
User avatar
MrStayPuft
Posts: 4
Joined: Wed Apr 20, 2016 10:55 pm

Re: Ultimate Doom Builder

Post by MrStayPuft »

boris wrote:What's the complete error message?
The complete error messages (two of them) in the Errors and Warnings window are:

Code: Select all

Error in actor "TestReference":15000, sprite "T000A9". Expected sprite angle in [1..8] range
Unable to find sprite lump "T000A" used by actor "TestReference":15000. Forgot to include required resources?
"TestReference" is the name of my decorate actor class. The sprites are declared in TEXTURES.TXT as "T000A1" to "T000AG".

----

You got me thinking... I tried commenting out the extra sprite declarations ("T000A9" to "T000AG") in TEXTURES temporarily, and it seemed to load fine without error. It also appears that only the first animation frame matters to UDB, as I didn't need to do the same for frame B etc.

With that in mind, I can work around the problem with a //$Sprite editor key in DECORATE, along with a special set of Sprite declarations in TEXTURES specifically for UDB.

Still, would be good if this could be fixed in UDB.
boris
Posts: 742
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

can you provide a minimal example showing the problem?
User avatar
MrStayPuft
Posts: 4
Joined: Wed Apr 20, 2016 10:55 pm

Re: Ultimate Doom Builder

Post by MrStayPuft »

boris wrote:can you provide a minimal example showing the problem?
Try this. DOOM II, MAP01.

It's a simple room with a thing ("TestRotations") at the center with 16 rotations for frame "A". As you will see, it works fine in (G)ZDoom, but if you load it in UDB you will get the error messages.
You do not have the required permissions to view the files attached to this post.
boris
Posts: 742
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

Yes, UDB handled sprites with 16 rotations defined in TEXTURES incorrectly. Will be fixed in the next version. Still not being displayed with 16 rotations, though.
3t0
Posts: 14
Joined: Sat Feb 09, 2019 7:49 am

Re: Ultimate Doom Builder

Post by 3t0 »

First time run report.

In an experiment I wanted to try something that combines classic level layout with 3D floors. Unfortunately test map is bit more complex. Classic 2D editor won't do, because layout is becoming unreadable.

My OS of choice is linux. My editor used to be SLADE3. Well ... "used" ..., I am now convinced that besides being somewhat good for spriting, it's basically useless.

I waited quite a few years for SLADE to grow sane slopes support (unfortunately, triangular vertex slope editing is still fucked, even several years after it was added ... broken). Similarly 3D sector support is stuck in limbo too. It seems eevee did some great work on it and almost got it fully working, but this patchset did not get in ... yet(?).

Instead of getting that in, if I am reading the commits properly, SLADE team decided to start yet another internal refactoring. I don't know, but instead of progress, it seems that SLADE got stuck in an eternal refactoring loop now. Reminds me of gnome and other eternally broken linux software. Being based on wxWidgets does not help either (bitch to compile). I do understand desire to make a good editor, but after a decade I would like to finally use (easily!) features all major sourceports support. This is sad, as SLADE is probably single native editor for linux.

Anyway, today my piss-off level reached all time maximum high, so I made small container, and after some spelunking with mono and opengl, I got UDB running (it turns out while UDB works flawlessly on musl based distro - nvidia libs, which I am sadly locked into, don't, so I had to build glibc based one).

Result: everything works .. flawlesly!

Frankly, I could not believe my eyes at first. Build process was easy (compiling SLADE is more involved). Every crazy shit including 3D sectors and slopes works as advertised, no hiccups. I will be trying models next. This is insane.

Amazing job team!

Info for weird linux distro rando nerds like myself:

Code: Select all

: cat /etc/os-release 
NAME="void"
ID="void"
DISTRIB_ID="void"
PRETTY_NAME="void"

: cat notes/ubd-install-minimal-working-package-set.execline
#!/usr/bin/execlineb -P
# don't forget, goes into chroot jail:
sudo ./xbps-install       
  -Syu

    void-repo-nonfree  # pulls-in repo with nvidia libs

    xbps-triggers          # packages break without proper triggers
    busybox                 # just to move around in jail (don't forget to link-in applets)

    execline                # because I am madman
    s6

    shadow                  # user managemnt (pulls in PAM, don't forget force-remove that shit later)
    base-files

    # navigation and looks in jail
    zsh
    rxvt-unicode-terminfo   

    # for deving and troubleshooting
    tree
    file
    the_silver_searcher
    strace

    # for building
    make
    gcc

    # ms dotnet magic
    mono-devel
    msbuild-bin

    # for gui forms to work
    gtk+
    libX11-devel
    libgdiplus-devel

    # for opengl native code to compile
    libglvnd-devel

    # for in-jail opengl troubleshooting
    mesa-demos
    glxinfo

: cat notes/ubd-install-nvidia-libs-2nd-pass.execline
#!/usr/bin/execlineb -P
# don't forget, goes into chroot jail:
sudo ./xbps-install       
  -Syu

    # makes opengl work (don't forget to forward proper opengl devices into jail)
    nvidia-gtklibs
    nvidia-libs

User avatar
[_ilystra_]
Posts: 32
Joined: Tue Jul 27, 2021 3:18 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10 LTSC
Graphics Processor: nVidia (Modern GZDoom)

Re: Ultimate Doom Builder

Post by [_ilystra_] »

(Sorry for my english, I am Russian) Hello! in these latter days UDB(Ultimate Doom Builder) does not find default doom entities for replace command(I include doom2.wad) and he say about dublicate of actor "cacosphere", But SLADE found only one actor with name "cacosphere" and in other resources SLADE not found this name of actor. But two-three days ago UDB behaved normally and found default doom entities.

Full log:
Spoiler:
boris
Posts: 742
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

Try loading gzdoom.pk3 as a resource (but exclude it from testing).

[edit] Nevermind, it's probably because of this error:

DECORATE error in "CONTENT2 UDB.pk3\DECORATE", line 1836. Actor "CacoSphere" is double-defined.
Talon1024
 
 
Posts: 374
Joined: Mon Jun 27, 2016 7:26 pm
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

Re: Ultimate Doom Builder

Post by Talon1024 »

3t0 wrote:First time run report.

In an experiment I wanted to try something that combines classic level layout with 3D floors. Unfortunately test map is bit more complex. Classic 2D editor won't do, because layout is becoming unreadable.

My OS of choice is linux. My editor used to be SLADE3. Well ... "used" ..., I am now convinced that besides being somewhat good for spriting, it's basically useless.

I waited quite a few years for SLADE to grow sane slopes support (unfortunately, triangular vertex slope editing is still fucked, even several years after it was added ... broken). Similarly 3D sector support is stuck in limbo too. It seems eevee did some great work on it and almost got it fully working, but this patchset did not get in ... yet(?).

Instead of getting that in, if I am reading the commits properly, SLADE team decided to start yet another internal refactoring. I don't know, but instead of progress, it seems that SLADE got stuck in an eternal refactoring loop now. Reminds me of gnome and other eternally broken linux software. Being based on wxWidgets does not help either (bitch to compile). I do understand desire to make a good editor, but after a decade I would like to finally use (easily!) features all major sourceports support. This is sad, as SLADE is probably single native editor for linux.

Anyway, today my piss-off level reached all time maximum high, so I made small container, and after some spelunking with mono and opengl, I got UDB running (it turns out while UDB works flawlessly on musl based distro - nvidia libs, which I am sadly locked into, don't, so I had to build glibc based one).

Result: everything works .. flawlesly!

Frankly, I could not believe my eyes at first. Build process was easy (compiling SLADE is more involved). Every crazy shit including 3D sectors and slopes works as advertised, no hiccups. I will be trying models next. This is insane.

Amazing job team!

Info for weird linux distro rando nerds like myself:

Code: Select all

: cat /etc/os-release 
NAME="void"
ID="void"
DISTRIB_ID="void"
PRETTY_NAME="void"

: cat notes/ubd-install-minimal-working-package-set.execline
#!/usr/bin/execlineb -P
# don't forget, goes into chroot jail:
sudo ./xbps-install       
  -Syu

    void-repo-nonfree  # pulls-in repo with nvidia libs

    xbps-triggers          # packages break without proper triggers
    busybox                 # just to move around in jail (don't forget to link-in applets)

    execline                # because I am madman
    s6

    shadow                  # user managemnt (pulls in PAM, don't forget force-remove that shit later)
    base-files

    # navigation and looks in jail
    zsh
    rxvt-unicode-terminfo   

    # for deving and troubleshooting
    tree
    file
    the_silver_searcher
    strace

    # for building
    make
    gcc

    # ms dotnet magic
    mono-devel
    msbuild-bin

    # for gui forms to work
    gtk+
    libX11-devel
    libgdiplus-devel

    # for opengl native code to compile
    libglvnd-devel

    # for in-jail opengl troubleshooting
    mesa-demos
    glxinfo

: cat notes/ubd-install-nvidia-libs-2nd-pass.execline
#!/usr/bin/execlineb -P
# don't forget, goes into chroot jail:
sudo ./xbps-install       
  -Syu

    # makes opengl work (don't forget to forward proper opengl devices into jail)
    nvidia-gtklibs
    nvidia-libs

Glad to hear such high praise for the experimental Linux port of UDB. I'd be amazed if you didn't run into this issue, however. I really hope that can be fixed.
dpJudas
 
 
Posts: 3053
Joined: Sat May 28, 2016 1:01 pm

Re: Ultimate Doom Builder

Post by dpJudas »

Talon1024 wrote:Glad to hear such high praise for the experimental Linux port of UDB. I'd be amazed if you didn't run into this issue, however. I really hope that can be fixed.
I'm afraid this is most likely a bug in Mono WinForms. Maybe someone can find a workaround for it.

If you think it could be a threading problem then maybe the Linux version could be changed to running everything on the main thread. That will of course be a bit worse performance whenever it needs resources, but a slower program is better than a broken program.

Edit: if you want test this, change the following two functions in DataManager.cs as follows:

Code: Select all

internal void QueueLoadImage(ImageData img)
{
    if(img.ImageState == ImageLoadState.None)
    {
        img.ImageState = ImageLoadState.Loading;
        img.PreviewState = ImageLoadState.Loading;
#if MONO
        img?.BackgroundLoadImage();
#else
        lock(syncobject) { imageque.Enqueue(img); Monitor.Pulse(syncobject); }
#endif
    }
}
internal void QueueLoadPreview(ImageData img)
{
    if (img.PreviewState == ImageLoadState.None)
    {
        img.PreviewState = ImageLoadState.Loading;
#if MONO
        img?.BackgroundLoadImage();
#else
        lock(syncobject) { imageque.Enqueue(img); Monitor.Pulse(syncobject); }
#endif
    }
}
User avatar
[_ilystra_]
Posts: 32
Joined: Tue Jul 27, 2021 3:18 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10 LTSC
Graphics Processor: nVidia (Modern GZDoom)

Re: Ultimate Doom Builder

Post by [_ilystra_] »

Is it possible in UDB enable the text lump editing for other text by dint of .cfg or windows registry? I just need ACS library, and i noticed in .../[udb folder]/scripting/ zdoom_decorate/mapinfo/zscript etc.cfg, and why these cfg if they are not used? So I think text lump editing is possible in UDB, But how?
boris
Posts: 742
Joined: Tue Jul 15, 2003 3:37 pm

Re: Ultimate Doom Builder

Post by boris »

It's not (anymore).
User avatar
Kappes Buur
 
 
Posts: 4130
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 »

[_ilystra_] wrote:Is it possible in UDB enable the text lump editing for other text by dint of .cfg or windows registry? I just need ACS library, and i noticed in .../[udb folder]/scripting/ zdoom_decorate/mapinfo/zscript etc.cfg, and why these cfg if they are not used? So I think text lump editing is possible in UDB, But how?
It is possible with GZDBBF but was taken out when the editor transitioned to UDB.
The reason given at the time was that ZZYZX was not familiar enough with the programming of a full-fledged text editor, and that Slade3 is better suited for the purpose.

See Un-features

I miss it too.

Return to “Creation, Conversion, and Editing”