In this week I’ve fixed an important bug. Round Rooms map was broken for an unknown reason and strangely it was working in the older versions of ProDnD. But somehow it was changed and the rooms were not connecting with each other. And no one even noticed until a couple of updates later.
What was broken?
I decided to look at the older codes and maybe I could figure it out the reason, that’s why I downloaded the old GitHub repo (It took forever to download).
I put the newer and older codes in a difference checker and all the changes were little indentation fixes or added new methods that don’t have anything with the problem.
Then I had to get my hands dirty and navigate through some scripts that could use some refactoring. I spent about two days trying to find the cause of the problem.
Ladies and gentlemen… lo and behold! The problem was fixed by altering a single line. The code bit that connects the rooms in the map needed access to the cells of these rooms. As you can guess it’s difficult to connect things if you don’t even know where those things are, to begin with. This inability to access the much-needed cells stemmed from a change to this method. The reason the method didn’t work because the name of the variable that holds the cells is changed and that change didn’t apply to the whole code. And the other methods responsible for creating roads didn’t recognize the new name, so it failed.
And now it is working as intended.
What did I learn? Get your hands dirty. Debug the hell out of it. Notice the details because those devilish bugs lurk in the details. I really don’t like to dwell on the details but this problem taught me to be patient and look carefully.