Does CheckMine() stuff on one room only
| 2764 | |
| 2765 | // Does CheckMine() stuff on one room only |
| 2766 | void VerifyRoom(room *rp) { |
| 2767 | int errors, bad_normals, concave_faces, duplicate_faces, duplicate_points, duplicate_face_points, unused_points, |
| 2768 | nonplanar_faces; |
| 2769 | |
| 2770 | // Reset error buffer |
| 2771 | error_buf_offset = 0; |
| 2772 | |
| 2773 | errors = bad_normals = CheckNormals(rp); |
| 2774 | |
| 2775 | concave_faces = CheckConcaveFaces(rp); |
| 2776 | errors += concave_faces; |
| 2777 | |
| 2778 | duplicate_faces = CheckDuplicateFaces(rp); |
| 2779 | errors += duplicate_faces; |
| 2780 | |
| 2781 | nonplanar_faces = CheckNonPlanarFaces(rp); |
| 2782 | errors += nonplanar_faces; |
| 2783 | |
| 2784 | duplicate_points = CheckDuplicatePoints(rp); |
| 2785 | errors += duplicate_points; |
| 2786 | |
| 2787 | duplicate_face_points = CheckDuplicateFacePoints(rp); |
| 2788 | errors += duplicate_face_points; |
| 2789 | |
| 2790 | unused_points = CheckUnusedPoints(rp); |
| 2791 | errors += unused_points; |
| 2792 | |
| 2793 | // Show message if errors |
| 2794 | if (errors) { |
| 2795 | DumpTextToClipboard(error_buf); |
| 2796 | OutrageMessageBox("Room check results:\n" |
| 2797 | "\n" |
| 2798 | " Bad Normals:\t\t%d\n" |
| 2799 | " Concave faces:\t\t%d\n" |
| 2800 | " Duplicate faces:\t\t%d\n" |
| 2801 | " Non-planar faces:\t\t%d\n" |
| 2802 | " Duplicate points:\t\t%d\n" |
| 2803 | " Duplicate face points:\t%d\n" |
| 2804 | " Unused points:\t\t%d\n" |
| 2805 | "\n" |
| 2806 | "\n" |
| 2807 | "For detailed info, see clipboard.", |
| 2808 | bad_normals, concave_faces, duplicate_faces, nonplanar_faces, duplicate_points, |
| 2809 | duplicate_face_points, unused_points); |
| 2810 | } else |
| 2811 | OutrageMessageBox("Room has no errors."); |
| 2812 | } |
| 2813 | |
| 2814 | // Copy the flags from one face to another derrived from the first (by clipping or splitting) |
| 2815 | // Only those flags which are safe to copy are copied |
no test coverage detected