version 1.4 | | version 1.5 |
---|
| | |
* Functions moved from segment.c to make editor separable from game. | | * Functions moved from segment.c to make editor separable from game. |
* | | * |
* $Log$ | | * $Log$ |
| | * Revision 1.5 2000/06/25 08:34:29 sekmu |
| | * file-line for segfault info |
| | * |
* Revision 1.4 2000/01/19 04:48:37 sekmu | | * Revision 1.4 2000/01/19 04:48:37 sekmu |
* added debug info for illegal side type | | * added debug info for illegal side type |
* | | * |
| | |
| | |
//returns 3 different bitmasks with info telling if this sphere is in | | //returns 3 different bitmasks with info telling if this sphere is in |
//this segment. See segmasks structure for info on fields | | //this segment. See segmasks structure for info on fields |
segmasks get_seg_masks(vms_vector *checkp,int segnum,fix rad) | | segmasks get_seg_masks(vms_vector *checkp,int segnum,fix rad,char *calling_file, int calling_linenum) |
{ | | { |
int sn,facebit,sidebit; | | int sn,facebit,sidebit; |
segmasks masks; | | segmasks masks; |
| | |
// Get number of faces on this side, and at vertex_list, store vertices. | | // Get number of faces on this side, and at vertex_list, store vertices. |
// If one face, then vertex_list indicates a quadrilateral. | | // If one face, then vertex_list indicates a quadrilateral. |
// If two faces, then 0,1,2 define one triangle, 3,4,5 define the second. | | // If two faces, then 0,1,2 define one triangle, 3,4,5 define the second. |
create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn, __FILE__, __LINE__); | | create_abs_vertex_lists( &num_faces, vertex_list, segnum, sn, calling_file, calling_linenum); |
| | |
//ok...this is important. If a side has 2 faces, we need to know if | | //ok...this is important. If a side has 2 faces, we need to know if |
//those faces form a concave or convex side. If the side pokes out, | | //those faces form a concave or convex side. If the side pokes out, |
| | |
mprintf((1,"Warning: doing exhaustive search to find point segment (%i times)\n", ++Exhaustive_count)); | | mprintf((1,"Warning: doing exhaustive search to find point segment (%i times)\n", ++Exhaustive_count)); |
| | |
for (newseg=0;newseg <= Highest_segment_index;newseg++) | | for (newseg=0;newseg <= Highest_segment_index;newseg++) |
if (get_seg_masks(p,newseg,0).centermask == 0) | | if (get_seg_masks(p,newseg,0,__FILE__,__LINE__).centermask == 0) |
return newseg; | | return newseg; |
| | |
mprintf((1,"Warning: could not find point segment (%i times)\n", ++Exhaustive_failed_count)); | | mprintf((1,"Warning: could not find point segment (%i times)\n", ++Exhaustive_failed_count)); |