Source ports render Doom aspect-fov improperly

No source ports render Doom aspect-fov and/or sprite offsets properly; like dos and chocolate-doom. Fov width in 320x200 isn't right in prboom-plus but seems good in eternity; eternity's sprite offsets seem shifted a notch to the right however and doomguys hand is a pixel higher from the status bar. Don't know what that means... Odamex has similar differences. Is this all because of different renderers? Maybe others can nitpick better.

Notice the vertical bars inside the window frame and black lines across the hanging computers-monitors. Compare source ports' floor tiles to dosbox and chocolate-doom and you'll see the tiles aligned differently (maybe fov or offsets?); floor in prboom-plus appears stretched:

dosbox_fullscreen


chocolate-doom_fullscreen


prboom-plus_fullscreen_4x3aspect

prboom-plus_fullscreen_5x4aspect

prboom-plus_fullscreen_autoaspect


eternity_fullscreen_4x3aspect

eternity_fullscreen_5x4aspect

eternity_fullscreen_legacy


odamex_fullscreen_stretch_doublehorizontal-doublevertical_640x400


These are all double scaled from 320x200 to 640x400.

Share this post


Link to post

Thank you very much for this insightful comparison!

Holering said:

Fov width in 320x200 isn't right in prboom-plus but seems good in eternity; eternity's sprite offsets seem shifted a notch to the right however and doomguys hand is a pixel higher from the status bar.


Both these ports have been derived from BOOM, so maybe it is unfair to compare them against vanilla. Do you know how they compare against the original BOOM.EXE in dosbox?

Share this post


Link to post

The sprite thing in Eternity is likely due to float<->fixed conversions in Cardboard. We don't really consider it a problem and it probably isn't avoidable.

The weapon sprite scaling in 320x200 however is indeed currently fucked. ConSiGno has been complaining about this for a few months now. I think it's some kind of round-off error, as we do scaling operations that weren't necessary in vanilla. What I need to do probably is get down in there and code a case for 320x200 specifically to ensure that it has perfect 1-to-1 "scaling" (ie. not really scaling at all, just draw the damn thing :P )

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