I hope this didn't mess anything up with the repository.

Please let me know if it caused any problems.
Honestly, if you manage to understand just half of the software renderer that would be a major achievement! This code is some of the worst code I've ever seen when it comes to separation of concerns. Even with over 20 years of C++ experience and soon half a year toying with this code there are parts that I do not understand yet. Spaghetti code is too kind a word for what I think about the software renderer.Eruanna wrote:I'll understand this monster sooner or later... Carmack's 24 year old code will not best me!lol
I can add some asserts in the drawers that checks the ranges. Only thing is, first I'd have to replace dc_dest with some dc_dest_x and dc_dest_y variables so that the drawing position is actually known by the drawers.Eruanna wrote:I added r_multithreaded to the menu, for now. I will remove it once the code stops crashing when there's a thousand sprites on the screen. I still haven't figured out what's causing that, it seems to crash in different places. r_multithreaded definitely doesn't stop the crash, but turning it off seems to increase the tolerance before it does.
dpJudas wrote:Okay, will add that soon then. I'm a bit tired now.Just committed the switch to true color input for the column drawers. Seems to be working in E1M1 at least!