you can run unifymeshnormals to fix any issues with normal direction as well.
mine opened bad like yours did…
exploding the blocks and then exploding the meshes was the 1st step. run unifymeshnormals, then join each mesh individually was the next step.
polygon files are pretty simple to diagnose…but the process can be tedious.
they are either unjoined with naked edges (use showedges)
joined with screwed up normals (use unifymeshnormals)
or have duplicated faces joined on top of each other (explode and use seldup to find them)
see this video on other mesh repair ideas-