[4.10.0+] Scrollers stop scrolling after a certain amount of time in software

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: [4.10.0+] Scrollers stop scrolling after a certain amount of time in software

[4.10.0+] Scrollers stop scrolling after a certain amount of time in software

by InsanityBringer » Sun May 14, 2023 3:33 pm

Test wad by nova++: https://cdn.discordapp.com/attachments/ ... scroll.wad

Scrolling walls, if they scroll for a long enough distance, will stop scrolling. The above test wad has two scrollers that stop scrolling after around 35 seconds and a minute respectively. I've determined that the cause seems to be in r_wallsetup, where the X offset of a wall is converted into a fixed_t before being sent to Project. But this seems unneeded because Project simply converts the fixed_t into a float. I duplicated Project and GetXOffset to take and return a double respectively, and the issue seemed to go away. (the jitter will probably still be there, though, since a lot of these calculations are using 32-bit floats). Overall the conversion to and from fixed_t seems unneeded.

(also, I seem unable to post in the software renderer bugs section?)

Top