Inline med_get_vertex_list

This commit is contained in:
Kp 2014-08-12 03:01:14 +00:00
parent 31fe0dc9ce
commit bfda4c554e
3 changed files with 14 additions and 43 deletions

View file

@ -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);

View file

@ -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

View file

@ -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.