Jump to content

PrBoom-Plus, ver. 2.5.1.4


Recommended Posts

By "doom2 compatibility", Andrey is referring to Registered Doom behaviour (registered Doom 1.9's exe being identical to Doom2.exe 1.9).

Before this bug fix, when playing E2M8 or E3M8 with prboom or prboom-plus and -complevel 2 (admittedly not something people might do too often), the death of all barons would end the level. Obviously, this is not correctly emulating Registered Doom, as it seriously affects E3M8.

Another aspect of Registered Doom behaviour that wasn't correctly emulated (maybe be in some compatible ports, but not in others) is that the death of all cybers on E3M8 or the death of all spiders on E2M8 should end those levels.

Share this post


Link to post

With Registered Doom behaviour, killing all spiders or all cybers ends the level, on E2M8 or E3M8.

With Ultimate Doom behaviour, only the cybers have any effect on E2M8 and only the spiders on E3M8.

Andrey made a simple test wad for this stuff (including E1M8 bossdeath behaviour) - it is the third attachment in this sourceforge thread. (direct link)

Share this post


Link to post

Ok I noticed something when reading that.

Grazza: I'll just mention something else. With -complevel 2, you can play Episode
4 (which you can't using Doom.exe/Doom2.exe v1.9). In that case the E4M6
special doesn't work at present. There is no right or wrong solution here
(there's nothing to emulate), but I'd think that if the player is allowed
to choose Episode 4, it would be preferable to make it playable.

Andrey: I think Episode 4 should be disabled for -complevel 2

Grazza: I agree that that is a clear and logical solution.


Did this disabling happen?? It doesn't seem so unless I am doing something wrong. Using the latest test version I did:
glboom-plus -iwad doom.wad -complevel 2
and I was able to access and play Thy Flesh Consumed from the menu just fine.

Share this post


Link to post

emailking said:
Did this disabling happen??

No, although I agree it should be disabled. Doom v1.9 (or earlier) can't run E4 levels at all, so all compatibility levels under 3 (0-2) shouldn't display Thy Flesh Consumed, nor warp to E4 levels.

Share this post


Link to post
emailking said:

Did this disabling happen?

No, it didn't (well, it did, but was then reverted). There was a more wide-ranging discussion here about what should and shouldn't be disabled for various complevels, and the whole thing seemed rather messy, and not subject to easy resolution.

The present situation is that if using -complevel 2 and wanting to play Episode 4, the special triggers on E4M6 and E4M8 still function as normal, thus keeping the maps playable.

Share this post


Link to post

Ok, I'm a little confused, but if I understand this right, if you use complevel 2 and play episode 4, then not only do level 6 and 8 work properly, but you also experience lost souls that bounce properly (like in vanilla ultimate doom). I'm talking about the current behavior here.

Share this post


Link to post

Unlike compatibility levels 5+, the lower compatibilities are subject to Doom's limitations, which include that any game can be run with v1.9f and v1.9u, but that E4 can't be run with v1.9 or less. Each compatibility level should strive to emulate each engine as perfectly as possible, else arbitrary exceptions like this one only help produce confusion and anomalous demos, like this example of an E4 demo using a compatibility level beneath 3.

Is it complicated to tell PrBoom+ not to show the E4 option in the menu and to ignore warps (using either -warp, -episode, or IDCLEV) to episode 4 when the compatibilty level is lower than 3?

Share this post


Link to post
emailking said:

Ok, I'm a little confused, but if I understand this right, if you use complevel 2 and play episode 4, then not only do level 6 and 8 work properly, but you also experience lost souls that bounce properly (like in vanilla ultimate doom). I'm talking about the current behavior here.

No, although that was one of my suggestions (i.e. just forcing full -complevel 3 behaviour) if Episode 4 was to be allowed with -complevel 2.

myk: Sure, if Andrey can make it so Episode 4 is disabled with -complevel 2 without impacting anything else at all, then I'm all for it (as I said at the time). But there remains the issue of what happens if this individual compatibility option is enabled in one of the higher complevels that don't disable Episode 4 (such as -1).

Share this post


Link to post

Grazza said:
But there remains the issue of what happens if this individual compatibility option is enabled in one of the higher complevels that don't disable Episode 4 (such as -1).

If you mean the one related to tag 666, I'd make it not affect E4 at all, but deal with E1-3 as does v1.9, because that compatibility setting is specific to any old levels that may require it (in E1-3).

With the compatibility setting, E4 would behave like in Boom and MBF (as usual), but PrBoom would be able to properly play old E1-3 levels that work correctly only with the earlier tag 666 method.

Share this post


Link to post
myk said:

No, although I agree it should be disabled. Doom v1.9 (or earlier) can't run E4 levels at all, so all compatibility levels under 3 (0-2) shouldn't display Thy Flesh Consumed, nor warp to E4 levels.

The best solution.

Share this post


Link to post

Seems to work pretty well.

One bug: with hires patches, the option "use red numbers" (sts_always_red in the cfg) is not respected - the numbers are multi-coloured no matter what.

Share this post


Link to post

Well, Eternity has not yet applied *any* compatibility fixes for BossDeath because I was waiting for all the issues with it to get worked out. I know there was an initial implementation in Choco-Doom which was incorrect, and I never adopted it once I found out about that.

You guys know I'm pretty far behind on the new comp options. I need to play catch-up, and so that's why I ask questions from time to time about this stuff.

Eternity is also almost out of variable slots in its compatibility vector, so I'm going to have to generalize and rework the entire compatibility system in a couple of releases' time most likely. When I do that, I am probably going to sweep the Choco and PrBoom-Plus sources for fixes that I am missing.

Share this post


Link to post
  • 1 month later...

The new version of PrBoom-Plus could be found on:
http://sourceforge.net/projects/prboom-plus/

Change Log

2.4.8.2 @ 2007.10.16

[!] Updated to the latest prboom 2.4.8. (SVN build, revision 2423).

[+] New mouse code without SDL lags. Win32 mouse handling was removed.
[+] Boom colormaps are supported in OpenGL mode.
[+] New mus -> mid conversion code thanks to Ben Ryves benryves@benryves.com This removes bugs and plays back a lot of music closer to Vanilla Doom - eg. tnt.wad map02.
[+] Smooth movement: interpolation of weapon bobbing.
[+] New command-line switch "-emulate prboom_ver" for emulation of old buggy behaviour of previous prboom versions during playback of doom\doom2\boom\mbf\lxdoom demos in cases where a prboom bug affects the demo compatibility and leads to desyncs in the original EXEs. Now you can specify only "-emulate 2.2.6" instead of set of -force_remove_slime_trails, -force_boom_brainawake, etc. For example, boom-incompatible demo by Anima Zero cc2lmps.zip\c215-uv.lmp recorded with prboom 2.2.4 in boom compatibility mode can be correctly viewed in newer versions with -emulate 2.2.4 or with -force_prboom_friction.
[+] PC Speaker emulation from chocolate-doom.
[+] New command-line switch "-force_lxdoom_demo_compatibility" for emulation of all bugs in demo compatibility mode in lxdoom. There are no more desynchs on "Doom-incompatible" demos from DHT6 exams.
[+] Ability to force -nomonsters and -respawn for playback of 1.2 demos. Demos recorded with Doom.exe 1.2 did not contain any information about whether these parameters had been used. In order to play them back, you should add them to the command-line for playback. There is no more desynch on mesh.lmp @ mesh.wad (prboom -iwad doom.wad -file mesh.wad -playdemo mesh.lmp -nomonsters)
[+] There is a new command-line switch "-shorttics". This makes it possible to practice routes and tricks (e.g. glides, where this makes a significant difference) with the same mouse behaviour as when recording, but without having to be recording every time.
[+] Wipe screen effect in OpenGL.
[+] Support for Hi-Res textures and patches in OpenGL.
[+] Import the clipper code from gzdoom. Thanks to GrafZahl. PrBoom uses a clipper with screen pixel precision. It isn't precise enough for GL. For GL we need a clipper with angular precision to avoid some kind of glitches.

  • Events queue will not be cleared at the start. (like vanilla does)
  • "No Quit Sound" is renamed to "Fast Exit". EndDoom screen will be skipped if this option is turned on.
  • Effect of invulnerability uses a colormap in OpenGL mode instead of hard-coding. See nuts.wad as example.
  • "Sky is unaffected by invulnerability" compatibility setting (comp_skymap) works in OpenGL mode now.
  • "Paper Items" setting has no effect for hanging things.
  • The player's weapon is displayed much darker than in 'vanilla' and other ports. In this version the mistake is corrected only for software rendering.
  • Improved support for Doom v1.2: Projectiles, such as monster and player plasma and rockets, were able to activate down-wait-up type lifts in versions of Doom up to v1.2.
  • Monsters on automap are drawn on top of other things to avoid situations when red triangles (live and countable monsters) are hidden by the green triangles for non-countable things.
  • Show a warning if savegame is from the previous version of prboom-plus.
  • "-recordfromto" works for all levels of compatibility.
  • Improved precision. There are no more HOM's on maps with big open areas: nuts.wad at some positions, thespir2.wad at the start, Generator of Evil.wad in last room, MAP05 @ epic.wad. everywhere, etc.
  • Huge speedup in OpenGL on levels with sectors which have many lines. I've got 87 fps (timedemo) on MAP05 @ epic.wad in this version instead of 64 in 2.4.8.1.
  • Compatibility with common mapping errors "linedefs w/o tags apply locally" works with Walk and Gunfire triggers (not only with switches) as in (G)ZDoom.

    [-] Non traditional menu was removed to avoid problems with, e.g., Alien Vendetta.
    [-] Launcher: wrong strings in history combobox.
    [-] Fixed Boom incompatibilities. There are no more desyncs on Donce's demos on horror.wad
    [-] Fixed Boom incompatibilities. Original friction and bobbing code was restored. There are no more desyncs on cybart.lmp @ Artica.wad and dismlmp.lmp @ dismem.wad. "-force_prboom_friction" for emulation of old buggy behaviour.
    [-] %DOOMWADDIR% had no effect for PWADs and DEHs.
    [-] A strip of rendered graphics could sometimes be seen under the status bar, along the bottom during intermission screens and in the rollcall screen.
    [-] With OpenGL rendering, many of the translucent windows in MAP29 @ cchest2.wad are visible from one side only.
    [-] Boom bug: Fixed incompatibility with original EXE's (complevels 0..6) on levels with "Monster Spawner". "-force_boom_brainawake" for emulation of old buggy behaviour. There is no more desynch on 300340HR.lmp @ RlmChaos.wad.
    [-] When radsuit ends, palette changes w/o warning.
    [-] When playing back with -recordfromto, and before resuming recording, pausing causes playback to desync.
    [-] OpenGL: Fix an issue with lines (boxes) which appear around the elements that change on the intermission screens in Doom1. Thanks to Graf Zahl.
    [-] When a file with the .BEX extension is used in an autoloading pattern, the program fails to load it.
    [-] Boom bug: Correction for DEHs which swap the values of two strings. For example: Text 6 6 - RUNNINSTALKS; Text 6 6 - STALKSRUNNIN. There are no more bugs on AllHell.wad.
    [-] Kills percentage, if extremely high, was reported wrongly and could in theory lead to desyncs.
    [-] PrBoom bug: Par times were not displayed. The program was viewing prboom(-plus).wad as a pwad, and therefore the piece of code that suppressed par times was always being triggered.
    [-] Sometimes the pistol sounds that play while the tallies are being totaled on the end screen will play for too long after the completion time has finished tallying.
    [-] There is no more crash on e1cmnet3.lmp between e1m2 and e1m3.
    [-] Smart totals: Monsters spawned by an Monster Spawner should not be countable for total killed.
    [-] Avoid crashes at end of demos if DEMOMARKER (0x80) does not exist at the end.
    [-] ScreenShot feature did not work with "-videodriver directx" on fullscreen software.
    [-] There are no more visual glitches with sky on MAP14 @ Icarus and MAP20 @ Hell Revealed. GZDoom still has this bug.
    [-] Fix of no warning (flashes between shadowed and solid) in OpenGL when invisibility is about to go.
    [-] Fixed wrong finding of next highest floor (linedef action 18, 20, 131) for demo compatibility. There are no more desynchs on napalm.wad.
    [-] The priority system is broken in the ouch face code in a way that makes the face not work with monster damage.
    [-] Move mouse sensitivity menu upwards a little to avoid overlap with status bar with accompanying visual glitches on software renderer.
    [-] The bug in the algorithm for splitting of a sector into closed contours was fixed. There is no more HOM at the starting area on MAP16 @ Eternal.wad in OpenGL. I hope nothing was broken.
    [-] Correction of an overflow in calculation of a sound origin on large levels. New code is applied only for non-compatible modes and with comp_sound equal to zero. There is no more bug with an absent sound after pressing the distant western switch on Hell Spirit (not released) by Alexander "Eternal" S.
    [-] Premature program exit during map26 in 4-player coop demo 29uv4p_*.lmp @ doom2.wad. This bug was introduced in r1458 by cph for 2.4.3 release.
    [-] Wrong calculation of weapon width in OpenGL in some cases, especially during movement. Shotgun in DSV3_War looks correct now.
    [-] OpenGL: Blink during demoskip on fullscreen.
    [-] OpenGL: Bug with duplicated lines, e.g. MM.WAD Map22 lines 1298 and 2397. There is no more HOM on Memento Mori MAP22 sector 299.
    [-] Fixed slowdown during screen melt at 1024x768 on some systems.
    [-] Transferred sky texture on scrolled wall were not scrolled with mouselook or changed FOV.
    [-] Sky property-transfer linedef types (271, 272) should not be applied for BOOM complevels.

    Full Change Log

  • Share this post


    Link to post

    I am not sure if the following describes a bug.

    v2.48.2 GL mode only, translucency percentage is set to >= 50:
    a soulsphere completely disappears behind a translucent texture (260), works fine in v2.48.1 GL

    v2.48.1/2 GL mode only, translucency percentage is set < 50:
    all translucent mid textures and the soulsphere disappear completely

    Share this post


    Link to post
    didy said:

    v2.48.2 GL mode only, translucency percentage is set to >= 50:
    a soulsphere completely disappears behind a translucent texture (260), works fine in v2.48.1 GL

    Does not work for me neither in 2.4.8.1 nor in 2.4.8.2 with -complevel 9, but work correctly with "-complevel 2"

    It's a bug of drawing transparent walls and sprites simultaneously.

    Share this post


    Link to post
    • 2 weeks later...

    If you like hires textures you can try to use new supported format *.DDS (Direct Draw Surface). The main advantages of this format are
    1) Smaller memory usage: 4-8 times less. For my hires pack (all textures + all patches) glboom-plus.exe eats 30 Mb on map01 instead of 73Mb with PNG (16Mb without hires at all)
    2) Faster loading, because it is only one format which is supported by hardware directly. Approx 5x faster.

    You can convert all your hires textures to DDS format by means of nvdxt.exe from
    http://developer.nvidia.com/object/dds_utilities_legacy.html

    This utility has some bugs with processing full paths, thus the easy way to use it is copying nvdxt.exe into your .\textures, .\flats and .\patches folders and to start it with the similar command line:

    For textures and flats:
    nvdxt.exe -rescale hi -deep -outsamedir -file *.png

    For patches:
    nvdxt.exe -rescale hi -deep -outsamedir -file *.png -nomipmap

    After converting all your textures to dds, you can delete original PNGs, but you should know that dds format is not lossless

    http://prboom-plus.sourceforge.net/history.html

    Share this post


    Link to post

    After converting the hi-res textures how can we use them? Making a pk3 file and then use the -file command??? (I 've noticed zlib.dll in package)

    Share this post


    Link to post

    put them to
    prboom-plus\textures\doom\*
    prboom-plus\flats\doom\*
    prboom-plus\patches\doom\*

    or place them somewhere and specify gl_texture_hires_dir in cfg
    for example I have
    gl_texture_hires_dir "D:\games\Doom2\hires\entryway_dds"

    zlib.dll is for SDL_image

    you can download my package with hires textures here (PNG)
    http://entryway.sitesled.com/

    Share this post


    Link to post

    OK, got it. I 'm converting DHTP now. As long as nvdxt.exe finish it's job (it's slow!!!) I'll try it.

    Share this post


    Link to post

    It's because dds format is container. By default nvdxt.exe generates many additional mip-levels for image (1x1, 2x2, 4x4, ... etc) You can use -nomipmap switch for dds without MIP maps. MIP levels are needed in any case (if you use mipmapping of course). If DDS has no it, then application should generate them during loading (eats time) and they will eat memory in any case

    Share this post


    Link to post

    After converting the png's to dds's I noticed a slight increase in loading times. Is this new format optimised for GForce 8800 series cards only, since I use a 6600 ?

    Share this post


    Link to post

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...