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

Doom Commander

Recommended Posts

I just wanted to announce that I started working on a wad manager/Doom launcher.

There is still much work that needs to be done. The 2nd version is out.

New stuff in 0.2
- DoomCommander saves and loads the location of your doom folders
- Spaces in folder names no longer give problems
- When you select GLBOOM or PRBOOM and select a zipped wad file, Doom commander will extract the zip file. The extracted files will end up in your doomcommander/temp folder

Coming up... (not necessarily next version)
- More launch options (skill, map, ... )
- A frontpage where you get a nice list what you are playing / finished
- A way to handle save files
- Not all zip and wad files are maps. I need to do something to remove them and keep them removed (blacklist)
- Right now I detect iwads and source ports by reading the file name. A better way would be to read the content. For example the first 4 bytes in an iwad



Download: http://users.skynet.be/rage/DoomCommander.zip

Share this post


Link to post

Just a question, are you going to make this particularly ZDoom-centric? Because that's what the older ZDoom Launcher did, and it was eventually forgotten/abandoned (also because it was incredibly buggy, and didn't keep up with newer versions of ZDoom)?

Share this post


Link to post
Maes said:

Just a question, are you going to make this particularly ZDoom-centric? Because that's what the older ZDoom Launcher did, and it was eventually forgotten/abandoned (also because it was incredibly buggy, and didn't keep up with newer versions of ZDoom)?


Right now I usually use gzdoom to play my wads unless it's stated otherwise in the txt-file. I will add support for other source ports. Maybe even auto-update for source ports (if I can figure it out)

I have little experience doing these kind of things, but I like to learn.

Share this post


Link to post

Hmm,. I still type command line options to run WADs, almost never realizing there might be launchers too. I must be too old :).
Also, total commander makes it possible.

Share this post


Link to post
Optimus said:

Hmm,. I still type command line options to run WADs, almost never realizing there might be launchers too. I must be too old :).
Also, total commander makes it possible.


I have been making .bat files for each wad I download.

This program will replace that. The behaviour will be like this:

You download a new wad, you put it in your wad folder
In doomcommander you choose the source port and other options, then it gets added to a list.

when doom commander starts you get to see the list of all configured wads.

so its a GUI for making batch files or something like that

Share this post


Link to post
Optimus said:

Hmm,. I still type command line options to run WADs, almost never realizing there might be launchers too. I must be too old :).


I never understood why the community appears to have a sort of "launcher blindness" or even aversion: Doom front-ends (aka launchers) existed even in the MS-DOS days (they were among the first non-editing utilities to be made, BTW), and there were far more DOS-based frontents than there are Windows launchers today (and I bet there are no Linux/Unix/MacOS/SunOS ones).

In the source port era, VERY counter-intuitively for some reason they seemed have fallen out of favor, and people using ONLY the command line or even hideous solutions like per-WAD bat/sh files are not unheard of. The only one pre-2005 non-DOS launcher that I can promptly recall is the aforementioned ZDoom launcher, which was designed to work mainly with ZDoom (some of the time, and it was a buggy VB affair, yech).

Then came ZDL (not to be confused with ZDoom Launcher), which was more minimalist, more solid and also more universal (only the most universal port options like +map, -warp and -iwad were automated, for the rest there was a command line option textbox).

There's a more recent launcher written in C# by Jodwin (CDL), which combines the good elements of ZDL (simplicity, automation of cross-port options) with some extra functionality like e.g. ZIP support for ports that don't have it by default.

But for some reason, people seem to forget about these options, and either revert to using no launchers at all, or -occasionally- someone takes it upon himself to fill a gap that isn't really there. That being said, I hope you produce a worthwhile launcher, but first check out what the already existing ones have to offer in order to get the gist of what a launcher should do/how you could innovate the concept.

Share this post


Link to post

Doom, Heretic and HeXen have pretty much come with a launcher since inception; DeathManager. Doom95 and HeXen95 continued this with their own launchers.

The Doomsday and Risen3D source ports have both had optional launchers almost since their inception; all Kickstart did and Snowberry does is pass a command line to the Doomsday executable.

Share this post


Link to post
Maes said:

or even hideous solutions like per-WAD bat/sh files are not unheard of.


Hey now, I happen to like my hideous per-WAD .bat files :)

Share this post


Link to post
Vordakk said:

Hey now, I happen to like my hideous per-WAD .bat files :)


I can understand doing this for e.g. a megawad you play often intertwined with playing other stuff -and most launchers don't allow having fixed configurations (there's something that would be nice to have, e.g. having a fixed source port + WAD(s) + options config to play a particular mod or view a particular demo with one click). ZDoom Launcher had these, but they were really half-assed and didn't work most of the time, like the entire launcher.

When doing it as a crutch for one-time WADs....not as much.

Share this post


Link to post
Maes said:

When doing it as a crutch for one-time WADs....not as much.


You're probably right about that. Old habits die hard I guess. What launcher do you use, ZDL or the one by Jodwin?

Share this post


Link to post

I never understood why the community appears to have a sort of "launcher blindness" or even aversion


For me, having a bunch of separate folders for engines and just dragging and dropping wads onto the exe is a lot easier than opening an entirely different program and selecting the correct option in a dropdown menu.

That means I have multiple copies of IWADs and certain PWADs that I might want to play in different source ports, but in this day and age of 1TB drives I don't really mind.

Share this post


Link to post
Phml said:

For me, having a bunch of separate folders for engines and just dragging and dropping wads onto the exe is a lot easier than opening an entirely different program and selecting the correct option in a dropdown menu.


I never said anything against anyone doing as he pleases.

However I'm puzzled at the frequency with which threads asking for launchers/ways to launch PWADs etc. pop up, and at the replies suggesting that general-purpose launchers don't even exist. Dragging isn't a universal solution either, AFAIK it has been added only in recent ZDoom/prBoom derivatives.

I use both ZDL and CDL, depending on which of my many PCs I'm on. Lower end ones only get ZDL.

Share this post


Link to post
Maes said:

I never understood why the community appears to have a sort of "launcher blindness" or even aversion

Launcher avoidance in my case just comes down to the fact that it's usually quicker and more convenient to go directly through a command line than to use a GUI launcher. On any machine that I regularly use for Doom I'll have a directory structure and a path setup meant to facilitate this, so typing commands into a shell is less of a pain than having to fiddle with some seperate utility.

Good luck on your launcher project in any case, steuntron. From the looks of that screenshot, I don't see a way to add parameters manually. For Doom Commander to be of any use to me personally, it'd need a way to do so rapidly. But again, I have little interest in launchers anyway, so this gripe might just be my own.

Share this post


Link to post

I haven't seen any other launcher. I did a google search for one, but didn't find any. I will investigate further

I have been thinking about it. For each wad I download I make a batch file. So I have a folder with batch files called playing, and one called finished.

I want to make this process easier. Now I have learned to write and read text files with C#, so my program will create the batch files. So you can just click on the wad, the iwad, choose sourceport and some other options and then the batch file is there.

Later on I will include a way so my program reads all the batch files and presents a menu/list of all batch files.

This will be version 1.0 Then I will think about adding more stuff. Maybe a way to flag wads as finished, or writes notes about some wad, if you don't want to forget a certain map is the best thing ever.

edit: I have just seen CDL, it's a nice program, but I will continue anyway.
edit2: I have downloaded the zdoom launcher too, I don't think I will add all those options, I've never needed them, unless someone convinces me otherwhise

Share this post


Link to post
steuntron said:

edit: I have just seen CDL, it's a nice program, but I will continue anyway.


Check out ZDL by BioHazard, which also has full SC available. As far as launchers go, it's pretty minimal but also it's the least common denominator for any self-respecting modern launcher: it offers configuring multiple source ports and multiple IWADs, automates warping and difficulty levels. CDL is a superset of ZDL, feature-wise, keeping everything that was good about it and adding some convenience stuff. In order to make your launcher worthwhile, you shouldn't fall behind them. Even worse, don't make a tool whose only purpose is to build .bat files: it would be atavist and out of place and time.

steuntron said:

edit2: I have downloaded the zdoom launcher too, I don't think I will add all those options, I've never needed them, unless someone convinces me otherwhise


And in fact you SHOULDN'T try to emulate that one: it was basically an attempt to make a launcher that would list every possible option of a very specific source port (ZDoom, at the time the launcher was developed), which of course fell quite behind the curve as it was hard to keep up with ZDoom updates. Today it's mostly useless, and most people don't need to set most of that stuff through a launcher anyway: that's what the in-game menus are for.

Share this post


Link to post

Heh, that ZDL is what I had in mind, the only thing I can do which ZDL doesnt do is loading a whole folder of wads.

Now I really have to think about continuing, because if I had known about that ZDL I would have just used that :)

But I will continue anyway for the learning proces. And thanks for your insights :)

Share this post


Link to post

No problem :-)

Actually ZDL is excellent for most people....if they knew how to find it, that's it. Unfortunately it's not being currently developed, and it's also increasingly hard to find unless you like searching in obscure repos (its mirror sites were half-dead last time I checked). I have a half-though of continuing its development, just to sharpen my C/C++ skills....

Share this post


Link to post

The first basic version is out, could anyone test if if you can start it? I dont know if there are any requirements like .NET frameworks. I hope not.

If it asks for dll files, can you tell me which? Then I will add them!

Share this post


Link to post
Processingcontrol said:

Commanded line options? .bat files? Most of the time all I do is double click the WAD file. :p

For an awful lot of ports, like Chocolate-Doom, this isn't an option. The best you can do in that case is make a Batch file that runs "chocolate-doom -merge %1 %2 %3..." and click and drag your wads over the batch.

Edit: Side note, does anybody here remember using DeathManager?

Share this post


Link to post
_bruce_ said:

[IMG]http://i.imgur.com/WXtUH.png


Thanks for posting, and damn this is annoying :(
please don't download the framework, I want to make sure you don't need it.

edit: It's not possible, I would need to make it in C++

I only have experience creating console programs in C++, its hard to make a windows form in C++. I'm just gonna continue with C#, bad luck for those who don't have the framework.

Share this post


Link to post

For an app like yours it's an ok choice to use something like C#. Isn't it easier to use VisualBasic - maybe an older version where the damn "framework" ain't needed...
VisualC++ also has an appwizard that creates a perfect base to build upon.
-> .exe less strings attached.

Share this post


Link to post
steuntron said:

The first basic version is out, could anyone test if if you can start it? I dont know if there are any requirements like .NET frameworks. I hope not.


First .NET deployment, huh? ;-)

Anything made using a .NET language (including the .NET flavour of C++) WILL require the end user to have the .NET framework installed (think of it like the equivalent of the Java Runtime Environment). Whether you distribute .NET or Java apps, you simply can't stress this point enough times. Make sure you provide a way for the user to find the frameworks ( a link to Microsoft's download central should do it).

Now if I'm not wrong, Vista/7 do include some version of the .NET framework out of the box but it has a low compliance level (v1.1 or v2.0?) so making something using 4.0 is really overkill. Windows XP does not include anything, while older versions may only support up to version 2.0 even if you find a download, so you might want to keep the API version as low as possible in order to do the job, unless you're going to use exotic stuff like Linq or whatever newfangled features crept in 4.0 (last one I personally used was 3.0-3.5).

There's nothing bad with requiring .NET or a popular runtime (CDL requires too, Mocha Doom requires Java etc.), just make sure you understand how the development/distribution model works.

_bruce_ said:

VisualC++ also has an appwizard that creates a perfect base to build upon. -> .exe less strings attached.


Even if he used C++, it would have to be the non-.NET/CLI variety, aka the one that DOESN'T give the programmer access to all those cool .NET wrapper methods and convenient features, doesn't use MFC, etc. etc. kind of how ZDL is written: one of the reasons it's so small is that it's really "bare to the metal" underneath, using raw Win32 calls.

_bruce_ said:

For an app like yours it's an ok choice to use something like C#. Isn't it easier to use VisualBasic - maybe an older version where the damn "framework" ain't needed...


Good luck finding a supported non-.NET variety of VB today. The last stable release of that kind was VB 6.0 released 13 years ago, after which at least VB definitively switched to .NET. Even if he finds a copy of Visual Studio 98 with VB 6.0, he will still have to make sure that he links the required dreaded VBRUNx00.DLLs to the executable (which makes the .exe sizes skyrocket), or else he'll have to distribute them separately as DLLs, giving the whole thing a 90s flavour (and honestly, I don't know how Vista/7 will work with VB 6.0 apps).

Another alternative to make -relatively- fat-free GUI apps is to use Delphi (which kinda combines the ease of VB with the speed of C/C++, and always produces linked .exes which are smaller than an equivalent VB one).

Or simply take this whole experience as an opportunity to learn more about Windows application development.

Share this post


Link to post

Funny you mention Delphi, I was talking about this stuff earlier to someone and he told me I should look into Delphi. I will give it a shot.

But on the other hand, and this is selfish. I made it this far and I do have the framework, and I am making this for myself.

I have some experience in other languages. Mostly stuff for electronics (assembly, C and basic to program microcontrollers, and vhdl for fpga's)
Also I have done some simple things in Java.

And this C# thing is the easiest thing ever. I don't see why I should make it harder just to avoid the framework.

Share this post


Link to post
steuntron said:

But on the other hand, and this is selfish. I made it this far and I do have the framework, and I am making this for myself.


It's not like you're the only one making .NET applications, or that the framework re-distributable is hard to find. Nevertheless, YOU should be the one saying "You can find the required framework at ......." if you want other people to use your app.

Also, don't target v4.0 unless you really can't live without its features (which I doubt, such a simple app like yours can do just fine with 2.0 or even 1.1 features).

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
×