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

Please let me know if it caused any problems.
Moderators: Rachael, dpJudas
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!