woof icon indicating copy to clipboard operation
woof copied to clipboard

Blockmap Overflow.

Open ghost opened this issue 1 year ago • 6 comments

Hello, I am using Woof! Port since couple of months now. But, since, you know there are huge maps like Okuplok Slaughter map, etc out there, I am afraid that Blockmap Overflow can be triggered while playing it and can trash when we are playing or recording a video of it for YT uploading from OBS or any other video recording app.

Honestly, this bug has never triggered while I was playing, because I never played these huge maps, but I have plans to play them in the future.

Since, I use this port and few other ports for playing Boom maps, it would be cool if this port fixes this Blockmap Overflow bug.

Thanks!

ghost avatar Oct 05 '22 16:10 ghost

That'd be the relevant commit from PrBoom+: https://github.com/coelckers/prboom-plus/commit/3d994cff8d3487c667cc92f7c1506485d0e2713e

fabiangreffrath avatar Oct 05 '22 18:10 fabiangreffrath

Yeah!

ghost avatar Oct 05 '22 19:10 ghost

Hmm. I thought I removed all blockmap limits in MBF. But I guess large WADs can push the limits. Lemme know if you have any questions. I don't play Doom much anymore, but I have an almost photographic memory of Boom/MBF. Jim and Ty are unfortunately gone, and I'm aging. I attended the 30th Anniversary livestream.

leekillough avatar Mar 05 '24 12:03 leekillough

Hello @leekillough, it's an honor to welcome you to our project!

Yes, you are right. This request is not about the blockmap limit per-se, but about a numerical limitation that occurs when calculating the player's position relative to the blockmap origins. It only affects some of the very largest maps available.

Meas give a proper explanation in all detail here:

https://www.doomworld.com/forum/topic/58002-immediate-noclip-at-level-start/?tab=comments#comment-1031858

fabiangreffrath avatar Mar 05 '24 13:03 fabiangreffrath

Ah, signed/unsigned corner cases. I'm actually working on a project right now where floating-point values are converted to signed or unsigned integers in an instruction set simulator, and I'm having to deal with clipping the conversions at the limits of the resulting integer range, which is very different for signed and unsigned. So I can kinda relate.

leekillough avatar Mar 05 '24 13:03 leekillough

Sounds like an interesting problem, especially if you want to solve it performantly - which I guess is the whole point. 😁

fabiangreffrath avatar Mar 05 '24 14:03 fabiangreffrath