Davion helped me fix this on IMC! In short, "shuffling stuff", if you look at the sample output I posted from the first #ROOM to the first End was properly formatted, with a Sector 11 as the final element. After that, the next #ROOM was re-using the 11 as it's vnum and everything else (name, desc, etc) seemed to bump one spot along in the same trend. I ended up needing to clear out the temporary buffer I was using on each use and add a while( (c = file.get()) != '#' ) inside my first loop.
01 Sep, 2009, quixadhal wrote in the 22nd comment:
One thing that might prove useful to you, when you start trying to use this on non-sample-sized data, is to keep a pair of variables that you can track line numbers and byte-positions within your input file.
That way, as you're parsing, you can emit warnings about bad (but correctable) format errors and skip around them using fseek(). Or, if it's a fatal parse error, report the actual useful position within the file.
Seeing "Bad door flag on Line 2381" is much more useful than "Bad door flag, aborting!"
Once upon a time, I started writing a generic one of these things using perl and regex's. I snarf'd the whole file in and then beat on it to pick it apart.