Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
ArmouredBlood

Running zdbsp 1.16 through command line

Recommended Posts

I posted about some mapping limits affecting my map in the picture thread for some reason, so moving that discussion here - could a mod move the posts to this thread?

My map is ~29k linedefs and I switched to zdbsp to compile it since zennode was taking forever at ~15k, but now I need to use the -extended bit so prboom+ can accept the nodes. I have zdbsp 1.16, I have it and my wad in a folder, and I have this command line

cmd /k C:\Users\Blood_Titan\Desktop\doomstuff\zdbsp1.16\zdbsp.exe -X -mMAP21 -onew.wad newgothic.wad
It says it could not find input, and now running it as administrator it doesn't register anything, although I think the command line is opening and reopening again despite having cmd /k in there. What did I do wrong?

Share this post


Link to post

Just a quick reaction from looking at your command line (without checking parameters or anything). What happens if you put spaces between your parameters that take arguments and the arguments?

eg

-m MAP21 -o new.wad

instead of

-mMAP21 -onew.wad

Share this post


Link to post

command line opens/reopens too fast to see anything again when in administrator mode and just gives a blank line then C:\windows\system32, not admin gives "could not open input file" again.

Share this post


Link to post

You don't need to start building nodes from the command line manually to be able to use custom parameters. You can still have Doom Builder do them for you, if you go to C:\Program Files\Doom Builder 2\Compilers\Nodebuilders and create a new textfile named something like CustomNodes.cfg (it can be any name, really).

In Notepad, add

nodebuilders
{
    // Heh
    zdbsp_extended
    {
        title = "ZDBSP - Extended";
        compiler = "zdbsp";
        parameters = "-c -o%FO %FI -X";
        // -c adds comment indices in UDMF format. This is not documented in the ZDBSP usage.
    }
    
    zdbsp_extended_fast
    {
        title = "ZDBSP - Extended Fast (no reject)";
        compiler = "zdbsp";
        parameters = "-R -o%FO %FI -X";
    }
}
to the newly-created cfg file, and save it. (You could just add this to one of the included nodebuilder cfg files, but it'd be automatically overwritten if you ever need to update DB2 to a later version, so it's not recommended.)

If you're using DB1 or another editor instead, you should be able to give it custom nodebuilder settings in a similar manner.

Share this post


Link to post
esselfortium said:

(You could just add this to one of the included nodebuilder cfg files, but it'd be automatically overwritten if you ever need to update DB2 to a later version, so it's not recommended.)

That's related to why I wanted to do this manually - I haven't updated DB2 since I first downloaded and installed it, and don't really want to bother with that since I've never had a problem. Plus it helps me in learning possible DOS parameters and i/o, heh. Could come in handy. But if you guys want to keep the secrets of using the command line to run a nodebuilder to yourselves, that's ok ;P

Share this post


Link to post
ArmouredBlood said:

That's related to why I wanted to do this manually - I haven't updated DB2 since I first downloaded and installed it, and don't really want to bother with that since I've never had a problem.

Updating isn't an issue if you do it the way I described, though, so that's not a reason :P

Share this post


Link to post
ArmouredBlood said:

command line opens/reopens too fast to see anything again when in administrator mode and just gives a blank line then C:\windows\system32, not admin gives "could not open input file" again.


Useful trick: in windows vista/7, go to the folder you want in Windows Explorer and type cmd in the address bar

Share this post


Link to post
ArmouredBlood said:

cmd /k C:\Users\Blood_Titan\Desktop\doomstuff\zdbsp1.16\zdbsp.exe -X -mMAP21 -onew.wad newgothic.wad


What if you type just cmd so as to open a shell. Then in that shell you type this:

cd C:\Users\Blood_Titan\Desktop\doomstuff\zdbsp1.16
zdbsp.exe -X -mMAP21 -onew.wad newgothic.wad
I'm just guessing that the working directory in your command line is the starting one, rather than the program directory, which is why it finds no input.

Share this post


Link to post
Gez said:

I'm just guessing that the working directory in your command line is the starting one, rather than the program directory, which is why it finds no input.


That was the problem, thanks for pointing that out.

@ essel; meh. maybe when I'm not supposed to be packing for a trip ;)

@ spleen; ah, and there's the solution to my problem - my run line opens just C:\Users\Blood_Titan> so I had to move my wad to there to get it to work. cmd in the search bar opens it up to the right folder. Awesome.

Share this post


Link to post

Well if you still want to learn the secrets of the command line, you'll have to master cd one day... :p

Share this post


Link to post

oooh. I remember doing some stuff similar to that in dos waaay back when I wanted to play my dad's SW dark forces game, but I don't remember exactly how that worked, plus the command line is not exactly dos.

Share this post


Link to post
ArmouredBlood said:

command line opens/reopens too fast to see anything again

Here is another trick. If the program clears the screen on exit/error, or its output cannot fit all into the command prompt window, use redirection. E.g., attempting to play back a non-existing demo xxx.lmp with DOOM.EXE:

D:\DOOM\1.9\doom -playdemo xxx >001.txt

produces a text file with the following content:

P_Init: Checking cmd-line parameters...
Playing demo xxx.lmp.
V_Init: allocate screens.
M_LoadDefaults: Load system defaults.
Z_Init: Init zone memory allocation daemon. 
DPMI memory: 0xf00000, 0x800000 allocated for zone
W_Init: Init WADfiles.
	adding doom.wad
	couldn't open xxx.lmp
	registered version.
===========================================================================
             This version is NOT SHAREWARE, do not distribute!
         Please report software piracy to the SPA: 1-800-388-PIR8
===========================================================================
M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon - [..........................]
P_Init: Init Playloop state.
I_Init: Setting up machine state.
I_StartupDPMI
I_StartupMouse
Mouse: detected
CyberMan: Wrong mouse driver - no SWIFT support (AX=53c1).
I_StartupJoystick
I_StartupKeyboard
I_StartupSound
I_StartupTimer()
  calling DMX_Init
D_CheckNetGame: Checking network game status.
startskill 2  deathmatch: 0  startmap: 1  startepisode: 1
player 1 of 1 (1 nodes)
S_Init: Setting up sound.
HU_Init: Setting up heads up display.
ST_Init: Init status bar.
W_GetNumForName: xxx not found!

Share this post


Link to post

I thought that the /k switch for cmd meant that it processed whatever came next, but didn't close the command line when you were finished (ie it should disappear so you should still be able to read it)

Spleen said:

Useful trick: in windows vista/7, go to the folder you want in Windows Explorer and type cmd in the address bar


In addition, with a registry tweak in Vista and a more obvious option in Win7 (though I can't remember exactly where) you can add it to the context menu so when you right click a folder you get a "Open command window here" option.

If you don't want to make that change, shift-right-click will give you the option.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×