PrBoom-Plus, ver. 2.5.1.4

Interesting. The video dumping system uses the same code as the screenshot system to get its images, so I'm suspecting some bug in the screenshot system? Probably went unnoticed because one wouldn't normally take enough screenshots to notice something like this.

Share this post


Link to post

Looks like you are correct. I remember a GlBoom-plus screen where I am hit and I didn't see the red palette.

Share this post


Link to post

here's my CFG:


# Doom config file
# Format:
# variable value

# System settings
process_affinity_mask 0
process_priority 0
render_smp 0
try_to_reduce_cpu_cache_misses 1

# Misc settings
default_compatibility_level -1
realtic_clock_rate 100
menu_background 1
max_player_corpse 32
flashing_hom 0
demo_insurance 2
endoom_mode 0x5
level_precache 1
demo_smoothturns 1
demo_smoothturnsfactor 6

# Files
wadfile_1 ""
wadfile_2 ""
dehfile_1 ""
dehfile_2 ""

# Game settings
default_skill 4
weapon_recoil 0
doom_weapon_toggles 1
player_bobbing 1
monsters_remember 1
monster_infighting 1
monster_backing 0
monster_avoid_hazards 0
monkeys 0
monster_friction 1
help_friends 0
allow_pushers 1
variable_friction 1
player_helpers 0
friend_distance 128
dog_jumping 1
sts_always_red 1
sts_pct_always_gray 0
sts_traditional_keys 0
show_messages 1
autorun 1

# Dehacked settings
deh_apply_cheats 1

# Compatibility settings
comp_zombie 0
comp_infcheat 0
comp_stairs 0
comp_telefrag 0
comp_dropoff 0
comp_falloff 0
comp_staylift 0
comp_doorstuck 0
comp_pursuit 0
comp_vile 0
comp_pain 0
comp_skull 0
comp_blazing 0
comp_doorlight 0
comp_god 0
comp_skymap 0
comp_floors 0
comp_model 0
comp_zerotags 0
comp_moveblock 0
comp_sound 0
comp_666 0
comp_soul 0
comp_maskedanim 0

# PrBoom-plus compatibility settings
comp_ouchface 0
comp_maxhealth 1
comp_translucency 0

# Sound settings
snd_pcspeaker 0
sound_card -1
music_card -1
pitched_sounds 0
samplerate 22050
sfx_volume 7
music_volume 7
mus_pause_opt 2
snd_channels 8
snd_midiplayer "fluidsynth"
snd_soundfont "TimGM6mb.sf2"
snd_mididev ""
mus_extend_volume 0

# Video settings
videomode "8bit"
screen_resolution "1280x720"
use_fullscreen 0
use_doublebuffer 1
translucency 1
tran_filter_pct 66
screenblocks 10
usegamma 3
uncapped_framerate 1
test_interpolation_method 0
filter_wall 3
filter_floor 3
filter_sprite 3
filter_z 2
filter_patch 3
filter_threshold 49152
sprite_edges 1
patch_edges 1

# Mouse settings
use_mouse 1
mouse_sensitivity_horiz 10
mouse_sensitivity_vert 0
mouseb_fire 0
mouseb_strafe 2
mouseb_forward 1
mouseb_backward -1
mouseb_use -1

# Key bindings
key_right 0xae
key_left 0xac
key_up 0x77
key_down 0x73
key_mlook 0x5c
key_menu_right 0xae
key_menu_left 0xac
key_menu_up 0xad
key_menu_down 0xaf
key_menu_backspace 0x7f
key_menu_escape 0x1b
key_menu_enter 0**
key_setup 0x0
key_strafeleft 0x61
key_straferight 0x64
key_fire 0x9d
key_use 0x20
key_strafe 0xb8
key_speed 0xb6
key_savegame 0xbc
key_loadgame 0xbd
key_soundvolume 0xbe
key_hud 0xbf
key_quicksave 0xc0
key_endgame 0xc1
key_messages 0xc2
key_quickload 0xc3
key_quit 0xc4
key_gamma 0**7
key_spy 0**8
key_pause 0xff
key_autorun 0xba
key_chat 0x74
key_backspace 0x7f
key_enter 0**
key_map 0x9
key_map_right 0xae
key_map_left 0xac
key_map_up 0xad
key_map_down 0xaf
key_map_zoomin 0x3d
key_map_zoomout 0x2d
key_map_gobig 0x30
key_map_follow 0x66
key_map_mark 0x6d
key_map_clear 0x63
key_map_grid 0x67
key_map_rotate 0x72
key_map_overlay 0x6f
key_reverse 0x2f
key_zoomin 0x3d
key_zoomout 0x2d
key_chatplayer1 0x67
key_chatplayer2 0x69
key_chatplayer3 0x62
key_chatplayer4 0x72
key_weapontoggle 0x30
key_weapon1 0x31
key_weapon2 0x32
key_weapon3 0x33
key_weapon4 0x34
key_weapon5 0x35
key_weapon6 0x36
key_weapon7 0x37
key_weapon8 0x38
key_weapon9 0x39
key_nextweapon 0xeb
key_prevweapon 0xec
key_screenshot 0x13c

# Joystick settings
use_joystick 0
joy_left 0
joy_right 0
joy_up 0
joy_down 0
joyb_fire 0
joyb_strafe 1
joyb_speed 2
joyb_use 3

# Chat macros
chatmacro0 "No"
chatmacro1 "I'm ready to kick butt!"
chatmacro2 "I'm OK."
chatmacro3 "I'm not looking too good!"
chatmacro4 "Help!"
chatmacro5 "You suck!"
chatmacro6 "Next time, scumbag..."
chatmacro7 "Come here!"
chatmacro8 "I'll take care of it."
chatmacro9 "Yes"

# Automap settings
mapcolor_back 0xf7
mapcolor_grid 0x68
mapcolor_wall 0x17
mapcolor_fchg 0x37
mapcolor_cchg 0**7
mapcolor_clsd 0**0
mapcolor_rkey 0xaf
mapcolor_bkey 0xcc
mapcolor_ykey 0xe7
mapcolor_rdor 0xaf
mapcolor_bdor 0xcc
mapcolor_ydor 0xe7
mapcolor_tele 0x77
mapcolor_secr 0xfc
mapcolor_exit 0x0
mapcolor_unsn 0x68
mapcolor_flat 0x58
mapcolor_sprt 0x70
mapcolor_item 0xe7
mapcolor_hair 0**0
mapcolor_sngl 0**0
mapcolor_me 0x70
mapcolor_enemy 0xb1
mapcolor_frnd 0x70
map_secret_after 0
map_point_coord 0
map_level_stat 0
automapmode 0x0
map_always_updates 0
map_grid_size 128
map_scroll_speed 4
map_wheel_zoom 1
map_use_multisamling 0
map_overlay_pos_x 0
map_overlay_pos_y 0
map_overlay_pos_width 320
map_overlay_pos_height 200

# Heads-up display settings
hudcolor_titl 5
hudcolor_xyco 3
hudcolor_mapstat_title 6
hudcolor_mapstat_value 2
hudcolor_mapstat_time 2
hudcolor_mesg 6
hudcolor_chat 5
hudcolor_list 5
hud_msg_lines 1
hud_list_bgon 0
health_red 25
health_yellow 50
health_green 100
armor_red 25
armor_yellow 50
armor_green 100
ammo_red 25
ammo_yellow 50
hud_num 2
hud_displayed 0

# Prboom-plus key bindings
key_speedup 0x12b
key_speeddown 0x12d
key_speeddefault 0x12a
speed_step 0
key_demo_skip 0**2
key_level_restart 0xc7
key_nextlevel 0**1
key_demo_jointogame 0x71
key_demo_endlevel 0xcf
key_walkcamera 0x130
key_showalive 0x12f

# Prboom-plus heads-up display settings
hudadd_gamespeed 1
hudadd_leveltime 1
hudadd_demotime 0
hudadd_secretarea 1
hudadd_smarttotals 1
hudadd_demoprogressbar 0

# Prboom-plus mouse settings
mouse_acceleration 0
mouse_sensitivity_mlook 10
mouse_doubleclick_as_use 1

# Prboom-plus demos settings
demo_extendedformat 1
demo_demoex_filename ""
getwad_cmdline ""
demo_overwriteexisting 1

# Prboom-plus game settings
movement_strafe50 0
movement_strafe50onturns 0
movement_shorttics 0
interpolation_maxobjects 0

# Prboom-plus misc settings
showendoom 0
screenshot_dir ""

# Video capture encoding settings
cap_soundcommand "oggenc2 -r -R %s -q 5 - -o output.ogg"
cap_videocommand "x264 -o output.mp4 --crf 25 --muxer mp4 --demuxer raw --input-csp rgb --input-depth 8 --input-res %wx%h --fps 35 -"
cap_muxcommand "mkvmerge -o %f output.mp4 output.ogg"
cap_tempfile1 "output.ogg"
cap_tempfile2 "output.mp4"
cap_remove_tempfiles 1

# Prboom-plus video settings
sdl_videodriver "default"
sdl_video_window_pos "center"
palette_ondamage 1
palette_onbonus 1
palette_onpowers 1
render_wipescreen 1
render_screen_multiply 1
render_interlaced_scanning 0
render_precise 1
render_aspect 0
render_doom_lightmaps 0
fake_contrast 1
render_stretch_hud 0
render_patches_scalex 0
render_patches_scaley 0
sprites_doom_order 1

# Prboom-plus emulation settings
overrun_spechit_warn 0
overrun_spechit_emulate 1
overrun_reject_warn 0
overrun_reject_emulate 1
overrun_intercept_warn 0
overrun_intercept_emulate 1
overrun_playeringame_warn 0
overrun_playeringame_emulate 1
overrun_donut_warn 0
overrun_donut_emulate 0
overrun_missedbackside_warn 0
overrun_missedbackside_emulate 0

# Prboom-plus 'bad' compatibility settings
comperr_zerotag 0
comperr_passuse 0
comperr_hangsolid 0

# Prboom-plus launcher settings
launcher_enable 1
launcher_history0 "doom2.wad"
launcher_history1 "doom2.wad|C:\Games\prboom-plus-2.5.1.3\doom2.wad"
launcher_history2 "doom2.wad|C:\Games\prboom-plus-2.5.1.3\av.wad"
launcher_history3 ""
launcher_history4 ""
launcher_history5 ""
launcher_history6 ""
launcher_history7 ""
launcher_history8 ""
launcher_history9 ""

Share this post


Link to post

Pastebin is your friend.

http://pastebin.com/BCqZCw6N

I only mentioned it in passing before entryway, but with PrBoom-Plus 2.5.1.4, I cannot change my resolution from 640x480 in the menu, I have to edit the config file. This is using a freshly configured .cfg generated by prboom-plus.

Share this post


Link to post
Mike.Reiner said:

I only mentioned it in passing before entryway, but with PrBoom-Plus 2.5.1.4, I cannot change my resolution from 640x480 in the menu, I have to edit the config file. This is using a freshly configured .cfg generated by prboom-plus.

No issue for me. Does it work with 2.5.1.3?

Share this post


Link to post
VinceDSS said:

here's my CFG:
...
key_gamma 0**7
key_spy 0**8
...

It is not your cfg :)

I any case, I am not able to reproduce an issue. I removed broken lines from cfg you posted and start prboom-plus -iwad doom.wad -viddump cp4v0359.mkv -timedemo cp4v0359.lmp -config vincedss.cfg. Do you see palette bug during viddumping?

Share this post


Link to post
entryway said:

No issue for me. Does it work with 2.5.1.3?


Yeah, it works in 2.5.1.3. If I change resolution through .cfg, I can then go to any one I want from the menu. It's just when set to 640x480 that it does it. Odd.

Share this post


Link to post
Mike.Reiner said:

Yeah, it works in 2.5.1.3. If I change resolution through .cfg, I can then go to any one I want from the menu. It's just when set to 640x480 that it does it. Odd.

Does it work?
http://prboom-plus.sf.net/glboom-plus.exe.zip

If it does not, then I'll prepare a few executables of different revisions after 2.5.1.3

Btw, I added 'notarget' and 'fly' cheat codes (with key_flyup/key_flydown key bindings if mlook is not enabled). You can try it.

Share this post


Link to post

Fly and Notarget seem to work. I'll play around with them a bit.

Still unable to change resolutions.

Share this post


Link to post
Mike.Reiner said:

Still unable to change resolutions.

Check PM

Share this post


Link to post

I re-recorded it with the same settings and I didnt do it this time. It doesn't seem reproduce-able.

Someone just reported that the damage doesnt show on my 30nm too , http://www.youtube.com/watch?v=dfijpjvS9Q8 .

I guess I should use glboom with MSI afterburner, at least I know this doesnt use the screenshot code.

edit : this stops showing damage/pick up after a while too :
http://www.youtube.com/watch?v=Ljvd0fpB-bY
http://www.youtube.com/watch?v=ip93S3mOzms
http://www.youtube.com/watch?v=7rg4d6HrsIk

I am sure it happened to others as well

Share this post


Link to post

Actually capturing code does not use screenshot code for software mode.

Screenshot code itself is simple as hell:

int I_ScreenShot (const char *fname)
{
  return SDL_SaveBMP(SDL_GetVideoSurface(), fname);
}
Capturing code is much more complex:
  if (pixel_data)
  {
    SDL_Surface *scr = SDL_GetVideoSurface();
    SDL_PixelFormat *fmt = scr->format;
    SDL_Palette *pal = fmt->palette;
    unsigned char *pixel_src = (unsigned char *) scr->pixels;

    int lock_needed = SDL_MUSTLOCK(scr);
    int lock_was_successful = 0;

    if (!lock_needed || SDL_LockSurface(scr) >= 0)
    {
      // While the screen is locked write it into a buffer
      unsigned char *s = pixel_data;
      int i;

      if (pal) // 8bpp
      {
        for (i = 0; i < REAL_SCREENWIDTH * REAL_SCREENHEIGHT; i++)
        {
          *s++ = pal->colors[pixel_src{i}].r;
          *s++ = pal->colors[pixel_src{i}].g;
          *s++ = pal->colors[pixel_src{i}].b;
        }
      }
      else // high/truecolor
      {
        for (i = 0; i < REAL_SCREENWIDTH * REAL_SCREENHEIGHT; i++)
        {
          Uint32 p = *(Uint32 *) (pixel_src + i * fmt->BytesPerPixel);
          *s++ = (unsigned char) (((p & fmt->Rmask)>>fmt->Rshift)<<fmt->Rloss);
          *s++ = (unsigned char) (((p & fmt->Gmask)>>fmt->Gshift)<<fmt->Gloss);
          *s++ = (unsigned char) (((p & fmt->Bmask)>>fmt->Bshift)<<fmt->Bloss);
        }
      }

      if (lock_needed)
        SDL_UnlockSurface(scr);
    }
  }
  return pixel_data;
But before trying to change something (use actual palette buffer instead of fmt->palette, etc) I need to be able to reproduce, but looks like you are not able to localize the reasons (switching to desktop, wrong SDL version, etc). Such things cannot happen or not happen because of stars layout.

VinceDSS said:

I guess I should use glboom with MSI afterburner, at least I know this doesnt use the screenshot code.

You do not need gl renderer for fraps/afterburner. "Use GL surface for software mode" setting also will work with capturing software.

Share this post


Link to post

But before trying to change something (use actual palette buffer instead of fmt->palette, etc) I need to be able to reproduce, but looks like you are not able to localize the reasons (switching to desktop, wrong SDL version, etc). Such things cannot happen or not happen because of stars layout.

You do not need gl renderer for fraps/afterburner. "Use GL surface for software mode" setting also will work with capturing software. [/B]


switching to desktop can cause that? Because I did with most of the longer recordings.

SDL cant be wrong, that's the one coming with the build (started a new directory from scratch)

Share this post


Link to post
entryway said:

Actually capturing code does not use screenshot code for software mode.

Screenshot code itself is simple as hell:


That's only if libpng isn't enabled. If libpng is enabled, the screenshots use the same code as the video capture.

See write_png_palette() fill_buffer_hicolor() and screenshot_sdl()

http://www.crowproductions.de/repos/prboom/branches/prboom-plus-24/prboom2/src/SDL/i_sshot.c


They are where I got the code for the software surface readback for video capture. If there's something wrong with video capture, it's also wrong with (png) screenshots.

Share this post


Link to post

I'm experiencing some rendering issues: when standing onto or directly underneath a section of wall, the wall texture is twitching. I've put some screens with comments here. I've searched the bug tracker but I couldn't find any related unclosed issues. This only happens with the software renderer (prboom-plus.exe). This happens while using the default config, but it's more noticable on higher resolutions (linedefs seem to move more). My version is 2.5.1.3, PrBoom (regular) 2.5.0 has the same problem. My OS is Windows 7 32-bit.

Also, I've tried to Fraps it, but I couldn't find the "Use GL surface for software mode" option entryway was talking about. Selecting OpenGL as video mode doesn't work.

Share this post


Link to post

I confirm: easily reproducible on any map.

Share this post


Link to post
manny said:

I'm experiencing some rendering issues: when standing onto or directly underneath a section of wall, the wall texture is twitching.

Maes is working on this :) Probably :)

manny said:

Also, I've tried to Fraps it, but I couldn't find the "Use GL surface for software mode" option entryway was talking about. Selecting OpenGL as video mode doesn't work.

You should use glboom-plus.exe, not prboom-plus
Options\General\first page
or in cfg:
videomode "8bit"
use_gl_surface 1

http://prboom-plus.sourceforge.net/vibr.mkv.zip

Share this post


Link to post

So I thought I'd try out the 2.5.1.4.test version of GLBoom to see what the health bar feature was like, but OpenGL rendering has been completely broken. It worked absolutely fine in version 2.5.1.3, so some change between the version has ruined how it works on my computer.

What happens is that the whole screen is drawn as a single block of colour. It's red, unless I start the program in a software rendering mode and change it to GL via the options, in which case it's brown.

I'm not really sure what information you'd need to debug this. This is a laptop with one of those integrated intel graphics chip things.

Share this post


Link to post

Hi there. Is there any way to stop sounds and music from playing while the prboom window is inactive? zDoom for example does it.

Share this post


Link to post
MrrCaliber said:

Hi there. Is there any way to stop sounds and music from playing while the prboom window is inactive? zDoom for example does it.

No way currently. You need to press 'pause' (and 'mus_pause_opt' should be 0 or 1) to stop sounds and music

Share this post


Link to post

Is it possible to add TAS demo recording capabilities for solo-net? Also is there way to make items (ammo/powerups) respawn after a certain amount of time? It would be so great to be able to record demos for coop-oriented wads, which often lack items in singleplayer (inb4 chillax).

Share this post


Link to post

I downloaded 2.5.1.4test and launched PrBoom Plus. It worked fine.
When I launched glboom, my computer started unreal lagging (everyting was ~3 fps, demo in main menu was loading about 4 minutes). i decided to reboot my PC, next launch of it caused the same thing. In 2.5.1.3 everything is insane. What happened to that awesome PRB+?

Share this post


Link to post

How do you disable mouse acceleration in Windows Vista 64bit? The "acceleration" bar is set to zero and I have "enhance pointer precision" turned off.

Share this post


Link to post

I can't speak to Windows Vista, but on Windows 7 that disabled it.

Share this post


Link to post

I tried this: http://donewmouseaccel.blogspot.ca/2010/04/markc-mouse-acceleration-fix-builder.html

But I still have mouse acceleration (vista 64bit). I tested by moving my mouse on my desktop from left to right. Even when I turn OFF "enhance pointer precision", I still have acceleration in all programs. Turning ON "enhance pointer precision" makes the acceleration even worse. I think the MarkC fix did work, it disabled "enhance pointer precision" even when it was ON, but since I still had acceleration with it turned OFF, it didn't fix my problem.

Share this post


Link to post

Does anyone else use Vista and can confirm there is still mouse acceleration with "enhance pointer precision" turned off, in all programs?

Different subject: did something change in prboom-plus with textures in dark sectors? Before, you could stand against a wall and look at the texture and it would be full-bright, even in zero brightness sectors. Now, the texture is darker, depending on the sector brightness, even when you are right against the wall looking at it. How do I turn that off?

Share this post


Link to post

About warping in demo playback:

When you use -warp or -skipsec with a demo, you get a blank screen till the designated point starts. Couldn't it be possible to have the engine write the game time elapsed versus total game time on the screen? Maybe also the current level or even "estimated real time" based on the average real time of the fast-forwarding. This data is useful because doing this on a long demo one would know how much time one has to do something else while waiting.

TimeOfDeath said:
Different subject: did something change in prboom-plus with textures in dark sectors? Before, you could stand against a wall and look at the texture and it would be full-bright, even in zero brightness sectors. Now, the texture is darker, depending on the sector brightness, even when you are right against the wall looking at it. How do I turn that off?

The current light mapping method you described is Doom's and Boom's, and the one that caused full-bright walls was a buggy one from PrBoom. The render_doom_lightmaps setting controls that, but I couldn't get it to do anything. Either it's been removed, it's broken or I'm missing something. Perhaps Andrey threw it out because it's not the behavior of any of the emulated engines and just an error by cph...

PS: I just discovered the Fullscreen Menu Background option. Good feature, I always wanted to get rid of the backgrounds :)

Share this post


Link to post

myk said:
PS: I just discovered the Fullscreen Menu Background option. Good feature, I always wanted to get rid of the backgrounds :)

Would you believe that option exists precisely because you requested it the old PrBoom bugs thread? It took an awfully long time to get out of my patch queue into trunk, and longer still to reach an engine that people actually use, but, here we are.

Also, regarding -warp/-skipsec, the screen shouldn't be completely blank—there should be a progress meter right at the bottom. Only a couple of pixels high but nonetheless...

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