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

Prboom-plus and prboom defaults to "Entryway" when playing a custom pwads

Recommended Posts

I've been trying for like 3 hours or so to solve this problem, but I'm still firmly at square one and now I have ran out of options.

Does anyone know why prboom-plus defaults to "Entryway" when you try to play an custom pwad by dragging it to prboom-plus. I tried this with prboom too but with the same result.

Share this post


Link to post
Nameless said:

I've been trying for like 3 hours or so to solve this problem, but I'm still firmly at square one and now I have ran out of options.

Does anyone know why prboom defaults to "Entryway" when you try to play an custom pwad by dragging it prboom. I tried this with prboom too but with the same result.

I would assume it's because it's what DOOM has always done. You had to read the text file to find out what MAPxy slot the level was actually on.

Share this post


Link to post

Is the WAD for DOOM or for DOOM II? If it's for DOOM you'll need to enable the launcher to select the IWAD.

Share this post


Link to post

Curiously, Boom's docs claim to do just what Nameless asked for:

from boom.txt:
*New: if no level number is specified with -warp, BOOM will automatically warp to the first level present in any pwads that have been loaded.

It appears to never have been implemented properly, though, in all versions I tried, from v2.02 to prB+: using -warp without a number always loads MAP01 (or E1M1 with -iwad doom).

I have thousands of WADs in my collection, lots of them from showelware CDROMs, many of these are missing TXT files. Wouldn't it be nice to be able to simply double-click a random WAD in Explorer and have prB+ load the lowest-numbered level? Note that the wording of boom.txt "the first level present" is not precise - there are WADs with directory entries out of order; e.g. in NDCP the first map entry is MAP14, followed by MAP28, MAP13, MAP04 and so on. We wouldn't want to start playing a megawad from the middle, would we? No, we need the lowest-numbered map instead.

So I wrote a batch file that does just that. Here's how to make it work on your system in a few simple steps.

1) Download DOOM Detect by Mike Audleman
2) Extract file DMDETECT.EXE from the ZIP into your prB+ directory/folder - let's say it's e:\prBoom+
3) Copy and paste this code - all 436 lines of it - into a new text file
4) If your prB+ dir is not e:\prBoom+, replace all instances of it in the code above with the proper path. Here's a quick way to determine your prB+ path:

  • locate glBoom-plus.exe in Explorer - use Search from Start Menu or F3 if you have no idea where to look
  • right-click on glBoom-plus.exe and select Properties
  • in the dialog box that comes up the path is listed in the Location field on the General tab
To replace all instances of the path quickly use Ctrl+H (or Edit -> Replace ...) in Notepad: just enter e:\prBoom+ into the top field of the dialog box and your prB+ path in the bottom field and click the Replace All button.
5) Save the text file into your prB+ directory as WARP2.BAT. Make sure that the extension is .BAT and not .bat.txt. If you cannot see file extensions in Explorer go to Explorer's Tools menu -> Folder Options -> View tab. Clear the Hide extensions for known file types checkbox and click the Apply to all folders button.
6) Associate WAD files with your new batch file. If you already have some program (like XWE) open WAD files automatically by double-clicking them in Explorer and would like to keep that behavior as an option go to the next step. If your Windoze doesn't know what to open WAD files with, follow these sub-steps:
  • double-click a WAD in Explorer
  • A dialog box comes up - "Windows cannot open this file ... blah blah ..."
  • Pick the Select the program from a list radio button
  • Click the Browse button in the next dialog box ("Open With") and browse to where you saved WARP2.BAT in step #5
  • Before closing the Open With dialog box with the OK button be sure that the Always use the selected program to open this kind of file checkbox is marked
7) If you want Windoze to continue to open WAD files with some other program you previously installed but would like to add WARP2.BAT as an option, follow these sub-steps:
  • In Explorer go to Tools menu -> Folder Options -> File Types tab
  • Look for the extension WAD in the list that comes up (to speed up the search, select an entry in the list and hit the W key)
  • When you find the WAD entry click the Advanced button. If there's no WAD entry in the list, go back to step #6 instead. ;)
  • The Edit File Type dialog box comes up. Click the New... button
  • The New Action dialog box comes up. Type warp to in the Action field and use the Browse... button below to find WARP2.BAT (saved in step #5).
  • If you decide that you want WARP2.BAT to open WADs automatically after all, in the Edit File Type dialog box select the "warp to" action you just created and click the Set Default button.
That's it, now double-clicking a WAD file in Explorer launches prB+ and warps you to the lowest-numbered level of that WAD, be that MAP28 or E2M6. If the WAD contains no map entries you will get the message No levels found! in a command-prompt window.

Caveats:
Currently, only vanilla and limit-removing WADs are supported. DOOM1 WADs are automatically loaded with -complevel 3 (Ultimate DOOM/Doom95 compat mode), DOOM2 WADs with -complevel 2 (DOOM2 v1.9 compat mode). WADs that require TNT or Plutonia as the IWAD will most likely cause prB+ to abort with a texture error, but there aren't many such WADs. Boom-compatible WADs are not supported either, because I don't know how to detect them.

If somebody has an idea what string(s) to look for to identify Boom-compatible WADs, please let me know and I'll try to implement automatic loading with -complevel 9. Ditto for PWADs for TNT/Plutonia and -complevel 4. Also, if you get the "No levels found!" error message on a WAD that does contain a new level (or levels), please post the WAD's name and /idgames link so I can troubleshoot it.

This batch file and tutorial have been written and tested on WinXP SP3. If they don't work for you on Vista or Win7, feel free to report it in this thread, someone may be able to point out what needs to be changed for those OSes.

edit: added explanation on how to determine path

Share this post


Link to post

Thank you!

One problem that seems to repeatedly occur is that prboom(-plus) doesn't like "Document and settings" because it contains two spacebar hits. Does anyone know a remedy for this?

I'm going to test Never_agains tip now and report back.

Once again: Thank you!

EDIT: No, it dosen't work. What I did was that I changed "glboom+" to "prboom+", because glboom+ runs at a snails pace in my ancient computer(+5years), and the home-directory. As a work-around to the problem mentioned above I put the prboom+ folder in the local disc.

I get an error saying that it can not find the selected unit, which I guess is the home-directory.

EDIT:: Okay I sorted that out. I had forgot to change the first "e" to my home-directory.

Share this post


Link to post

It is better to use the unified exec (glboom-plus.exe) because it has the software renderer built in. That's how I run prB+ most of the time - glBoom-plus.exe in software. Why new releases of prB+ keep including the software-only prBoom-plus.exe is a mystery. ;)

Share this post


Link to post

Indeed. If you are not able to switch to the software renderer via the menus because glboom-plus freezes upon load, you can edit glboom-plus.cfg by hand:

# Video settings
videomode                 "32bit"
BTW, I just thought up another use for WARP2.BAT: click any random WAD and prB+ will record a demo named WADfilename-fda.lmp in the prB+ folder. So if you click on EPIC2.WAD you will have a demo named EPIC2-fda.lmp. Great for FDAs, but you can change the demo filename to anything you want, of course. The new demo-oriented code is here.

Share this post


Link to post

Eternity will attempt to warp you to the first level in a wad (determined via lexical ordering), but this is currently only done in DOOM II mode.

Share this post


Link to post

Never_Again, do you think I should commit this one line of code instead of 2 pages of tutorial? Then you will able to use "-warp" without parameters for loading first level of a pwad

@@ -1787,6 +1787,7 @@
     if (!singledemo) {                  /* killough 12/98 */
       if (autostart || netgame)
   {
+    // sets first map and first episode if unknown
+    GetFirstMap(&startepisode, &startmap);  
     G_InitNew(startskill, startepisode, startmap);
     if (demorecording)
       G_BeginRecording();
EDIT: Done. Tested only with "glboom-plus CyberSky.wad -warp"

Share this post


Link to post

Never_Again said:

# Video settings
videomode                 "32bit"

True color? Ain't that even slower than GL mode? For real resource saving in the original visual flavor, the option I use there is 8bit.

Share this post


Link to post

entryway said:
do you think I should commit this one line of code instead of 2 pages of tutorial? Then you will able to use "-warp" without parameters for loading first level of a pwad

Your code doesn't work with DOOM1 WADs. Looks like it's going to take more than one line to beat my 400. :D

myk said:
True color? Ain't that even slower than GL mode?

On proper hardware it is, but so is 8-bit. In the OP's case he can't run the GL renderer at all, so anything that works will be incomparably better.

myk said:
For real resource saving in the original visual flavor, the option I use there is 8bit.

On modern processors (P4-class and up) the performance difference between 32-bit and 8-bit modes is negligible, especially if you don't use Uncapped Framerate. The original visual flavor is a moot point - all Boom derivatives never looked exactly like vanilla to me. There are two advantages to 32-bit modes - the desktop remains usable if you need to Alt-Tab out of prB+ and you can control gamma via display drivers.

Share this post


Link to post

Never_Again said:
Your code doesn't work with DOOM1 WADs. Looks like it's going to take more than one line to beat my 400. :D

"prboom-plus uac_dead.wad -iwad doomu -warp" worked fine for me. I started on E1M8 as expected. So I guess you must mean you can't just double click on the WAD, because you still need to specify -iwad. Oh well.

IWAD choice by PWAD contents does seem like a good idea though, I shall have to see how hard it is to write a patch for it one day. I suspect though it's better to do it in a frontend or wrapper script (I made the equivalent of -auto for PrBoom trunk as a wrapper script of about 50 lines of perl, instead of several hundred lines of C and an entire embedded copy of libpcre dumped into the engine)

Never_Again said:
On proper hardware [GL mode is faster], but so is 8-bit.

rjy@vile:/tmp$ prboom-plus -config /dev/null -window -timedemo demo2 -vidmode 8
Timed 2001 gametics in 418 realtics = 167.5 frames per second
rjy@vile:/tmp$ prboom-plus -config /dev/null -window -timedemo demo2 -vidmode 32
Timed 2001 gametics in 377 realtics = 185.8 frames per second
rjy@vile:/tmp$ prboom-plus -config /dev/null -window -timedemo demo2 -vidmode gl
Timed 2001 gametics in 10635 realtics = 6.6 frames per second
Haha I guess I don't have proper hardware :) Man that last one was painful to watch.

It's better if I turn off texture filtering and all that stuff but then what's the point of using GL mode at all... :)

Share this post


Link to post
Graf Zahl said:

What hardware do you have? That looks like something really old or really bad...

Heh, I've had this conversation with entryway a couple of times :)

01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] (rev a1)
It's about 5 years old and was budget level hardware even then. That's not the issue though, the issue is drivers. I refuse to use nvidia's binary drivers so I'm stuck with the free x.org nv driver, which has no hardware acceleration.

(Before you sneer at me about free software zealotry, it's not that, it's that I don't like sourceless binaries I didn't build myself, because they're never built against the same libraries and so on I have on my system, and that makes them unstable. I understand this is not an issue on Windows - on Linux nobody cares about binary incompatibility because you generally build binaries from source yourself, or get them from your distribution, which builds everything together on a buildbot network.

Incidentally I have the same trouble with fmod. I wish you could build zdoom without fmod, even if that meant no sound at all, but I doubt you and Randy would accept a patch for such a "feature"...)

Share this post


Link to post

I recall that when I had a 2 MB graphics card I could get PrBoom in Open GL mode to work but at a crawling speed that was probably close to RjY's measure.

Never_Again said:
On modern processors (P4-class and up) the performance difference between 32-bit and 8-bit modes is negligible, especially if you don't use Uncapped Framerate.

Yeah, that was my lack of understanding at work. See below for results on my ancient system, even, using PrBoom 2.5.0.

The original visual flavor is a moot point - all Boom derivatives never looked exactly like vanilla to me.

They can if they aren't buggy. PrBoom has a bug in the lighting handling but it was fixed in PrBoom+ 2.5.0.4. In fact, now that I look at it, I can't tell much of a difference even trying 32 bit mode in PrBoom+ :p

RjY said:
Haha I guess I don't have proper hardware :)

I do, according to Never_Again's description, notwithstanding the low (but similar) values on all counts, heh.

8bit:
Timed 2001 gametics in 1133 realtics = 61.8 frames per second
32bit:
Timed 2001 gametics in 1243 realtics = 56.3 frames per second
GL:
Timed 2001 gametics in 903 realtics = 77.6 frames per second

Share this post


Link to post
RjY said:

(Before you sneer at me about free software zealotry, it's not that, it's that I don't like sourceless binaries I didn't build myself, because they're never built against the same libraries and so on I have on my system, and that makes them unstable. I understand this is not an issue on Windows - on Linux nobody cares about binary incompatibility because you generally build binaries from source yourself, or get them from your distribution, which builds everything together on a buildbot network.


I honestly don't know what to say. This sounds so... wrong...

RjY said:

Incidentally I have the same trouble with fmod. I wish you could build zdoom without fmod, even if that meant no sound at all, but I doubt you and Randy would accept a patch for such a "feature"...)


Have you even tried to run it? It's just a library, nothing that gets permanently installed in the system. And no, sorry, we wouldn't consider it. Your reasoning sounds so utterly and totally flawed that it's not a good reason to invest work. The vast majority of ZDoom's Linux users have no problem with FMod so why should we?

Share this post


Link to post

Graf Zahl said:
I honestly don't know what to say. This sounds so... wrong...

You're feeling culture shock :P I can't ever feel comfortable running sourceless binaries yet windows people are fine with it. On windows everything comes with its own libsdl.dll, zlib.dll etc, on linux you dynamically link with the system one. It's just a different culture.

Have you even tried to run it? It's just a library, nothing that gets permanently installed in the system.

I have tried to run it, the other day I built r3020 with fmod 4.26.33 and managed to get all the way through Thunderpeak without a crash, so it does work. Mostly. Sometimes. If anything else is using the audio device when I start the game (like if I have music on or something) I get no sound at all. Nothing that uses SDL or SDL_mixer for audio seems to have the same problem - my sound card has two inputs and can do hardware mixing. But as fmod is a sourceless binary blob, I've no real hope of debugging it, or being able to tell you anything useful.

And no, sorry, we wouldn't consider it. Your reasoning sounds so utterly and totally flawed that it's not a good reason to invest work. The vast majority of ZDoom's Linux users have no problem with FMod so why should we?

Well, I wasn't asking you to invest work besides doing a bit of patch reviewing. I would write the patches myself if I thought there was a chance of getting them upstream. But yes, that's what I thought you'd say. No harm in my asking though. I don't think you need to be so antagonistic either, but I guess having to deal with whining users, stupid feature requests, and of course all the haters and trolls, must have soured you. It's a hard life, being so popular...

Share this post


Link to post

Okay, didn't have time earlier but now I tried to run Alien Vendetta, but I just get an error saying that there is no maps.

I can't even start it with the av.exe, but that is probably an other error.

EDIT: Hooray, I got it to run! What I did was that I just dragged the av.wad to prboom-plus!

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
×