From bfda4c554e7bf07e86ad10486a6d81ba3ee868ac Mon Sep 17 00:00:00 2001 From: Kp Date: Tue, 12 Aug 2014 03:01:14 +0000 Subject: [PATCH] Inline med_get_vertex_list --- common/main/segment.h | 4 ---- similar/editor/meddraw.cpp | 42 +++++++++++++------------------------- similar/editor/segment.cpp | 11 ---------- 3 files changed, 14 insertions(+), 43 deletions(-) diff --git a/common/main/segment.h b/common/main/segment.h index bed090e00..50eebd704 100644 --- a/common/main/segment.h +++ b/common/main/segment.h @@ -265,10 +265,6 @@ extern void clear_light_subtracted(void); // change MANY TIMES. If you read the segment data structure // directly, your code will break, I PROMISE IT! -// Return a pointer to the list of vertex indices for the current -// segment in vp and the number of vertices in *nv. -extern void med_get_vertex_list(segment *s,int *nv,int **vp); - // Return a pointer to the list of vertex indices for face facenum in // vp and the number of vertices in *nv. extern void med_get_face_vertex_list(segment *s,int side, int facenum,int *nv,int **vp); diff --git a/similar/editor/meddraw.cpp b/similar/editor/meddraw.cpp index dea50dbb5..d67184aa1 100644 --- a/similar/editor/meddraw.cpp +++ b/similar/editor/meddraw.cpp @@ -103,15 +103,13 @@ static void draw_line(int pnum0,int pnum1) // ---------------------------------------------------------------------------- static void draw_segment(segment *seg) { - int *svp; - int nv; g3s_codes cc; if (seg->segnum == segment_none) //this segment doesn't exitst return; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? int i; @@ -133,12 +131,10 @@ static void draw_segment(segment *seg) //for looking for segment under a mouse click static void check_segment(segment *seg) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? int fn; @@ -177,12 +173,10 @@ static void check_segment(segment *seg) // ---------------------------------------------------------------------------- static void draw_seg_side(segment *seg,int side) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? int i; @@ -197,12 +191,10 @@ static void draw_seg_side(segment *seg,int side) static void draw_side_edge(segment *seg,int side,int edge) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) //on screen? draw_line(svp[Side_to_verts[side][edge]],svp[Side_to_verts[side][(edge+1)%4]]); @@ -378,12 +370,10 @@ static void add_edge(int v0,int v1,ubyte type) //adds a segment's edges to the edge list static void add_edges(segment *seg) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? int i,sn,fn,vn; @@ -443,12 +433,10 @@ static void add_edges(segment *seg) // ---------------------------------------------------------------------------- static void draw_trigger_side(segment *seg,int side) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? // Draw diagonals @@ -460,12 +448,10 @@ static void draw_trigger_side(segment *seg,int side) // ---------------------------------------------------------------------------- static void draw_wall_side(segment *seg,int side) { - int *svp; - int nv; g3s_codes cc; - med_get_vertex_list(seg,&nv,&svp); // set nv = number of vertices, svp = pointer to vertex indices - cc=rotate_list(nv,svp); + auto &svp = seg->verts; + cc=rotate_list(8,svp); if (! cc.uand) { //all off screen? // Draw diagonals diff --git a/similar/editor/segment.cpp b/similar/editor/segment.cpp index c1b45bff6..78d74b90a 100644 --- a/similar/editor/segment.cpp +++ b/similar/editor/segment.cpp @@ -255,17 +255,6 @@ int ToggleBottom(void) Update_flags = UF_WORLD_CHANGED; return 0; } - -// --------------------------------------------------------------------------------------------- -// ---------- Segment interrogation functions ---------- -// ---------------------------------------------------------------------------- -// Return a pointer to the list of vertex indices for the current segment in vp and -// the number of vertices in *nv. -void med_get_vertex_list(segment *s,int *nv,int **vp) -{ - *vp = s->verts; - *nv = MAX_VERTICES_PER_SEGMENT; -} // ------------------------------------------------------------------------------- // Return number of times vertex vi appears in all segments.