If it draws the rooms individually can't you just assign the coords to a list or something and then compare the floofill algorithm's results to that?
Probably, yeah, I just haven't put a lot of thought into it. I'm mostly hoping that drawing enough overlapping paths between doors will solve the problem, and even if not, that's a
later thing. I just want to be able to walk between rooms.
My checklist is something like (1)Corridors (2)Interacting with the terrain (3)Other entities moving around (4)Interacting with them (5)Making a "turn" system that differentiates between actions that complete and don't complete.
None of them are particularly necessary to be done before the others, but I feel like making fully-ish-working maps first. I don't know why.
Second...to flood-fill check...temporarily create a 2d array of the same dimensions as the map. Start checking coordinates on the map until you find a true (a room) in the map array. and mark that as true in the check array. Check all surrounding cells in the map array and if true, mark as true in the check array. Repeat for all trues found. When you can't find any more trues in the map, compare the two arrays. If they aren't the same, that is, you have trues in the map array that aren't in the check array, you're missing rooms. Long and arduous error check, but potentially worth doing. There's other ways of doing this that are probably better, but this was the first process that came to mind.
Thanks for the help, but that actually just gave me another idea. It's not particularly fast I guess, but it's not impossible. I'll just have the map-array scanned from side-to-side and top-to-bottom. If it runs into a row or column that doesn't contain any walkable tiles (with catch to skip over the borders, like checking if it runs into walkable locations after it finds a row with none), it'll know there's stuff somewhere in the map that can't be walked to from somewhere else in the map, and can keep adding new hallways until it does. Cycle-consuming maybe, but it only has to happen once per map.