That's normal. Typically, the moment you're certain something is correct is the moment you can be assured that something is incorrect.
No kidding. In this case, I just chopped the first-draft of my whole room-generation code down by a third of its original size, and massively simplified all the tagging and variables, along with seeing why rooms were being overwritten. I did sacrifice the ability to make quarter-size rooms, but it's all working flawlessly now.
Always nice when you can simplify code. How did you end up cutting so much of it? Good luck with the guy walking around.
Well, compared to the deluge of Ifs I
originally vomited up, I realized a fundamental flaw in the way my boolean-system worked. I was sending in a one-dimensional array and a number, and using a lot of math to pretend it was a two-dimensional array. On top of confusing the Hell out of me, this lead to a lot of duplication of effort and unnecessary math that was cut out just by hard-coding some assumptions about the input. (And I just thought of another way to simplify the code, genius.)
Most importantly though, by having the array check each True cell to it's left, up/down, and right, it would see which directions it could extend an extra-length room into, and then mark that cell as True so nothing else would extend there. Except that when it cycled to the next cell, if it was a cell that was originally False but extended into, now it was True but already had a room there, and overwrote it. So I knocked out a good half to the code, so True cells only look for False cells to extend into to the above and behind, so it won't catch them twice.
I always love watching unnecessary complication give way to simplicity, really makes me feel like I accomplished something. That's my usual way of working - write a program that I expect to do everything, get really frustrated when it craps out on me, and selective-comment blocks of code until I know exactly how much of I need. The result is a block of code that I wouldn't have been able to read at the beginning, but works vastly better with much fewer lines than my original concept. It makes me feel really smart.