diff --git a/common/main/gameseg.h b/common/main/gameseg.h index ef65618a5..b82209363 100644 --- a/common/main/gameseg.h +++ b/common/main/gameseg.h @@ -127,10 +127,10 @@ int get_num_faces(const side *sidep); //returns 3 different bitmasks with info telling if this sphere is in //this segment. See segmasks structure for info on fields -segmasks get_seg_masks(const vms_vector &checkp, vcsegptridx_t segnum, fix rad, const char *calling_file, int calling_linenum); +segmasks get_seg_masks(const vms_vector &checkp, vcsegptridx_t segnum, fix rad); //this macro returns true if the segnum for an object is correct -#define check_obj_seg(obj) (get_seg_masks((obj)->pos, (obj)->segnum, 0, __FILE__, __LINE__).centermask == 0) +#define check_obj_seg(obj) (get_seg_masks((obj)->pos, (obj)->segnum, 0).centermask == 0) //Tries to find a segment for a point, in the following way: // 1. Check the given segment diff --git a/similar/editor/eobject.cpp b/similar/editor/eobject.cpp index 6193ea195..9d4aa15d9 100644 --- a/similar/editor/eobject.cpp +++ b/similar/editor/eobject.cpp @@ -453,7 +453,7 @@ static int move_object_within_mine(const vobjptridx_t obj, const vms_vector &new range_for (const auto segnum, highest_valid(Segments)) { const auto segp = vsegptridx(segnum); - segmasks result = get_seg_masks(obj->pos, segp, 0, __FILE__, __LINE__); + segmasks result = get_seg_masks(obj->pos, segp, 0); if (result.centermask == 0) { int fate; @@ -488,7 +488,7 @@ static int move_object_within_mine(const vobjptridx_t obj, const vms_vector &new // Return 0 if object is in expected segment, else return 1 static int verify_object_seg(const vobjptridx_t objp, const vms_vector &newpos) { - segmasks result = get_seg_masks(newpos, objp->segnum, objp->size, __FILE__, __LINE__); + segmasks result = get_seg_masks(newpos, objp->segnum, objp->size); if (result.facemask == 0) return 0; else @@ -752,7 +752,7 @@ int ObjectIncreaseHeadingBig() {return rotate_object(Cur_object_index, 0, 0, (RO static void move_object_to_position(const vobjptridx_t objp, const vms_vector &newpos) { - segmasks result = get_seg_masks(newpos, objp->segnum, objp->size, __FILE__, __LINE__); + segmasks result = get_seg_masks(newpos, objp->segnum, objp->size); if (result.facemask == 0) { objp->pos = newpos; diff --git a/similar/editor/kgame.cpp b/similar/editor/kgame.cpp index 56644922e..1005613cb 100644 --- a/similar/editor/kgame.cpp +++ b/similar/editor/kgame.cpp @@ -111,7 +111,7 @@ int SaveGameData() Perm_player_segnum = segment_none; if (Perm_player_segnum!=segment_none) { - if (get_seg_masks(Perm_player_position, Perm_player_segnum, 0, __FILE__, __LINE__).centermask == 0) + if (get_seg_masks(Perm_player_position, Perm_player_segnum, 0).centermask == 0) { ConsoleObject->pos = Perm_player_position; obj_relink(ConsoleObject-Objects,Perm_player_segnum); diff --git a/similar/main/fvi.cpp b/similar/main/fvi.cpp index 813700d57..84e2e3ab9 100644 --- a/similar/main/fvi.cpp +++ b/similar/main/fvi.cpp @@ -657,7 +657,7 @@ int find_vector_intersection(const fvi_query &fq, fvi_info &hit_data) } // Viewer is not in segment as claimed, so say there is no hit. - if(!(get_seg_masks(*fq.p0, fq.startseg, 0, __FILE__, __LINE__).centermask == 0)) + if(!(get_seg_masks(*fq.p0, fq.startseg, 0).centermask == 0)) { hit_data.hit_type = HIT_BAD_P0; @@ -678,14 +678,14 @@ int find_vector_intersection(const fvi_query &fq, fvi_info &hit_data) hit_type = fvi_sub(hit_pnt,hit_seg2,*fq.p0,fq.startseg,*fq.p1,fq.rad,fq.thisobjnum,fq.ignore_obj_list,fq.flags,hit_data.seglist,segment_exit,visited); segnum_t hit_seg; - if (hit_seg2 != segment_none && !get_seg_masks(hit_pnt, hit_seg2, 0, __FILE__, __LINE__).centermask) + if (hit_seg2 != segment_none && !get_seg_masks(hit_pnt, hit_seg2, 0).centermask) hit_seg = hit_seg2; else hit_seg = find_point_seg(hit_pnt,fq.startseg); //MATT: TAKE OUT THIS HACK AND FIX THE BUGS! if (hit_type == HIT_WALL && hit_seg==segment_none) - if (fvi_hit_seg2 != segment_none && get_seg_masks(hit_pnt, fvi_hit_seg2, 0, __FILE__, __LINE__).centermask == 0) + if (fvi_hit_seg2 != segment_none && get_seg_masks(hit_pnt, fvi_hit_seg2, 0).centermask == 0) hit_seg = fvi_hit_seg2; if (hit_seg == segment_none) { @@ -865,9 +865,9 @@ static int fvi_sub(vms_vector &intp,segnum_t &ints,const vms_vector &p0,const vc //now, check segment walls - startmask = get_seg_masks(p0, startseg, rad, __FILE__, __LINE__).facemask; + startmask = get_seg_masks(p0, startseg, rad).facemask; - masks = get_seg_masks(p1, startseg, rad, __FILE__, __LINE__); //on back of which faces? + masks = get_seg_masks(p1, startseg, rad); //on back of which faces? endmask = masks.facemask; //@@sidemask = masks.sidemask; centermask = masks.centermask; @@ -999,7 +999,7 @@ static int fvi_sub(vms_vector &intp,segnum_t &ints,const vms_vector &p0,const vc wall_norm = seg->sides[side].normals[face]; - if (get_seg_masks(hit_point, startseg, rad, __FILE__, __LINE__).centermask == 0) + if (get_seg_masks(hit_point, startseg, rad).centermask == 0) hit_seg = startseg; //hit in this segment else fvi_hit_seg2 = startseg; @@ -1200,7 +1200,7 @@ static int sphere_intersects_wall(const vms_vector &pnt, const vcsegptridx_t seg visited[segnum] = true; ++visited.count; - facemask = get_seg_masks(pnt, segnum, rad, __FILE__, __LINE__).facemask; + facemask = get_seg_masks(pnt, segnum, rad).facemask; const auto &seg = segnum; diff --git a/similar/main/gameseg.cpp b/similar/main/gameseg.cpp index 511ac028d..3a7c9f659 100644 --- a/similar/main/gameseg.cpp +++ b/similar/main/gameseg.cpp @@ -272,7 +272,7 @@ uint_fast32_t create_abs_vertex_lists(vertex_array_list_t &vertices, const vcseg //returns 3 different bitmasks with info telling if this sphere is in //this segment. See segmasks structure for info on fields -segmasks get_seg_masks(const vms_vector &checkp, const vcsegptridx_t segnum, fix rad, const char *calling_file, int calling_linenum) +segmasks get_seg_masks(const vms_vector &checkp, const vcsegptridx_t segnum, fix rad) { int sn,facebit,sidebit; segmasks masks; @@ -653,7 +653,7 @@ segptridx_t find_point_seg(const vms_vector &p,const segptridx_t segnum) range_for (const auto newseg, highest_valid(Segments)) { const auto segp = vsegptridx(newseg); - if (get_seg_masks(p, segp, 0, __FILE__, __LINE__).centermask == 0) + if (get_seg_masks(p, segp, 0).centermask == 0) return segp; } diff --git a/similar/main/object.cpp b/similar/main/object.cpp index 0da95dfc0..819401f5c 100644 --- a/similar/main/object.cpp +++ b/similar/main/object.cpp @@ -1066,7 +1066,7 @@ objptridx_t obj_create(object_type_t type, ubyte id,vsegptridx_t segnum,const vm if (type==OBJ_DEBRIS && Debris_object_count>=Max_debris_objects && !PERSISTENT_DEBRIS) return object_none; - if (get_seg_masks(pos, segnum, 0, __FILE__, __LINE__).centermask != 0) + if (get_seg_masks(pos, segnum, 0).centermask != 0) { auto p = find_point_seg(pos,segnum); if (p == segment_none) { @@ -1726,7 +1726,7 @@ static void object_move_one(const vobjptridx_t obj) int sidemask,under_lavafall=0; static int lavafall_hiss_playing[MAX_PLAYERS]={0}; - sidemask = get_seg_masks(obj->pos, obj->segnum, obj->size, __FILE__, __LINE__).sidemask; + sidemask = get_seg_masks(obj->pos, obj->segnum, obj->size).sidemask; if (sidemask) { int sidenum,bit,wall_num; diff --git a/similar/main/physics.cpp b/similar/main/physics.cpp index 90ee2502d..ac50b3d9c 100644 --- a/similar/main/physics.cpp +++ b/similar/main/physics.cpp @@ -356,7 +356,7 @@ void do_physics_sim(const vobjptridx_t obj) #ifdef EXTRA_DEBUG //check for correct object segment - if(!get_seg_masks(obj->pos, obj->segnum, 0, __FILE__, __LINE__).centermask == 0) + if(!get_seg_masks(obj->pos, obj->segnum, 0).centermask == 0) { if (!update_object_seg(obj)) { if (!(Game_mode & GM_MULTI)) @@ -494,7 +494,7 @@ void do_physics_sim(const vobjptridx_t obj) obj_relink(obj, iseg ); //if start point not in segment, move object to center of segment - if (get_seg_masks(obj->pos, obj->segnum, 0, __FILE__, __LINE__).centermask !=0 ) + if (get_seg_masks(obj->pos, obj->segnum, 0).centermask !=0 ) { segnum_t n; @@ -769,7 +769,7 @@ void do_physics_sim(const vobjptridx_t obj) //--WE ALWYS WANT THIS IN, MATT AND MIKE DECISION ON 12/10/94, TWO MONTHS AFTER FINAL #ifndef NDEBUG //if end point not in segment, move object to last pos, or segment center - if (get_seg_masks(obj->pos, obj->segnum, 0, __FILE__, __LINE__).centermask != 0) + if (get_seg_masks(obj->pos, obj->segnum, 0).centermask != 0) { if (find_object_seg(obj)==segment_none) { segnum_t n; diff --git a/similar/main/render.cpp b/similar/main/render.cpp index a83d6a2c9..842d08c93 100644 --- a/similar/main/render.cpp +++ b/similar/main/render.cpp @@ -1154,7 +1154,7 @@ static void build_object_lists(render_state_t &rstate) #if defined(DXX_BUILD_DESCENT_I) did_migrate = 0; #endif - m = get_seg_masks(obj->pos, new_segnum, obj->size, __FILE__, __LINE__); + m = get_seg_masks(obj->pos, new_segnum, obj->size); if (m.sidemask) { int sn,sf; diff --git a/similar/main/wall.cpp b/similar/main/wall.cpp index 74c02106b..c839354d5 100644 --- a/similar/main/wall.cpp +++ b/similar/main/wall.cpp @@ -636,7 +636,7 @@ static int check_poke(objnum_t objnum,segnum_t segnum,int side) //note: don't let objects with zero size block door - if (obj->size && get_seg_masks(obj->pos, segnum, obj->size, __FILE__, __LINE__).sidemask & (1 << side)) + if (obj->size && get_seg_masks(obj->pos, segnum, obj->size).sidemask & (1 << side)) return 1; //pokes through side! else return 0; //does not!