Ultimate Doom Builder

Any utility that assists in the creation of mods, assets, etc, go here.
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.

Re: Ultimate Doom Builder

Postby Mav3r1ck » Tue Apr 13, 2021 7:00 am

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
Mav3r1ck
 
Joined: 17 Jul 2015

Re: Ultimate Doom Builder

Postby MrStayPuft » Sat Apr 24, 2021 8:30 pm

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 allExpand view
// 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.
User avatar
MrStayPuft
 
Joined: 20 Apr 2016

Re: Ultimate Doom Builder

Postby boris » Sun Apr 25, 2021 2:22 am

What's the complete error message?
boris
I post less than Manc and Hobo
 
Joined: 15 Jul 2003

Re: Ultimate Doom Builder

Postby MrStayPuft » Sun Apr 25, 2021 8:09 pm

boris wrote:What's the complete error message?


The complete error messages (two of them) in the Errors and Warnings window are:

Code: Select allExpand view
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.
User avatar
MrStayPuft
 
Joined: 20 Apr 2016

Re: Ultimate Doom Builder

Postby boris » Mon Apr 26, 2021 10:43 pm

can you provide a minimal example showing the problem?
boris
I post less than Manc and Hobo
 
Joined: 15 Jul 2003

Re: Ultimate Doom Builder

Postby MrStayPuft » Tue Apr 27, 2021 1:53 am

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.
User avatar
MrStayPuft
 
Joined: 20 Apr 2016

Re: Ultimate Doom Builder

Postby boris » Tue Apr 27, 2021 12:14 pm

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.
boris
I post less than Manc and Hobo
 
Joined: 15 Jul 2003

Re: Ultimate Doom Builder

Postby 3t0 » Mon Jul 12, 2021 7:05 pm

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 allExpand view
: 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

3t0
 
Joined: 09 Feb 2019

Re: Ultimate Doom Builder

Postby [_ilystra_] » Tue Jul 27, 2021 4:23 am

(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:
User avatar
[_ilystra_]
 
Joined: 27 Jul 2021
Operating System: Windows Vista/7/2008 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Ultimate Doom Builder

Postby boris » Tue Jul 27, 2021 11:59 am

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.
boris
I post less than Manc and Hobo
 
Joined: 15 Jul 2003

Re: Ultimate Doom Builder

Postby Talon1024 » Wed Jul 28, 2021 7:13 pm

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 allExpand view
: 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.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Ultimate Doom Builder

Postby dpJudas » Wed Jul 28, 2021 8:05 pm

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 allExpand view
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
    }
}
dpJudas
 
 
 
Joined: 28 May 2016

Re: Ultimate Doom Builder

Postby [_ilystra_] » Thu Jul 29, 2021 1:50 pm

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?
User avatar
[_ilystra_]
 
Joined: 27 Jul 2021
Operating System: Windows Vista/7/2008 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Ultimate Doom Builder

Postby boris » Thu Jul 29, 2021 3:24 pm

It's not (anymore).
boris
I post less than Manc and Hobo
 
Joined: 15 Jul 2003

Re: Ultimate Doom Builder

Postby Kappes Buur » Thu Jul 29, 2021 5:52 pm

[_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.
User avatar
Kappes Buur
 
 
 
Joined: 17 Jul 2003
Location: British Columbia, Canada

PreviousNext

Return to Editors / Asset Manipulation

Who is online

Users browsing this forum: mamaluigisbagel and 0 guests