MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / VerifyRoom

Function VerifyRoom

editor/Erooms.cpp:2766–2812  ·  view source on GitHub ↗

Does CheckMine() stuff on one room only

Source from the content-addressed store, hash-verified

2764
2765// Does CheckMine() stuff on one room only
2766void 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

Callers 1

OnFileImportRoomMethod · 0.85

Calls 9

CheckNormalsFunction · 0.85
CheckConcaveFacesFunction · 0.85
CheckDuplicateFacesFunction · 0.85
CheckNonPlanarFacesFunction · 0.85
CheckDuplicatePointsFunction · 0.85
CheckDuplicateFacePointsFunction · 0.85
CheckUnusedPointsFunction · 0.85
DumpTextToClipboardFunction · 0.85
OutrageMessageBoxFunction · 0.85

Tested by

no test coverage detected