Skip to content

Commit

Permalink
Merge side and ofset in seg_t
Browse files Browse the repository at this point in the history
  • Loading branch information
viciious committed Dec 23, 2023
1 parent d65a41d commit 98a6620
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
9 changes: 6 additions & 3 deletions p_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,16 @@ void P_LoadSegs (int lump)

li->angle = LITTLESHORT(ml->angle);
angle = LITTLESHORT(ml->angle)<<16;
li->offset = LITTLESHORT(ml->offset);
li->sideoffset = LITTLESHORT(ml->offset);
linedef = LITTLESHORT(ml->linedef);

li->linedef = linedef;
ldef = &lines[linedef];
side = LITTLESHORT(ml->side);
li->side = side;
side &= 1;

li->sideoffset <<= 1;
li->sideoffset |= side;

if (ldef->v1 == li->v1)
ldef->fineangle = angle >> ANGLETOFINESHIFT;
Expand Down Expand Up @@ -526,7 +529,7 @@ void P_GroupLines (void)

seg = &segs[ss->firstline];
linedef = &lines[seg->linedef];
sidedef = &sides[linedef->sidenum[seg->side]];
sidedef = &sides[linedef->sidenum[seg->sideoffset & 1]];
ss->sector = &sectors[sidedef->sector];
}

Expand Down
2 changes: 1 addition & 1 deletion p_sight.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ static boolean PS_CrossSubsector(sightWork_t *sw, int num)
return false;

// crosses a two sided line
side = seg->side;
side = seg->sideoffset & 1;
front = &sectors[sides[line->sidenum[side]].sector];
back = &sectors[sides[line->sidenum[side^1]].sector];

Expand Down
5 changes: 2 additions & 3 deletions r_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,9 @@ typedef struct subsector_s

typedef struct seg_s
{
VINT side;
VINT v1, v2;
VINT v1, v2;
VINT angle;
VINT offset;
VINT sideoffset;
VINT linedef;
} seg_t;

Expand Down
11 changes: 6 additions & 5 deletions r_phase1.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,14 @@ static void R_WallEarlyPrep(viswall_t* segl, fixed_t *floorheight,
int b_texturemid, t_texturemid;
boolean skyhack;
int actionbits;
int side;
int side, offset;

{
seg = segl->seg;
li = &lines[seg->linedef];
side = seg->side;
si = &sides[li->sidenum[seg->side]];
side = seg->sideoffset & 1;
offset = seg->sideoffset >> 1;
si = &sides[li->sidenum[side]];

li->flags |= ML_MAPPED; // mark as seen

Expand Down Expand Up @@ -346,7 +347,7 @@ static void R_WallEarlyPrep(viswall_t* segl, fixed_t *floorheight,
segl->t_texturemid = t_texturemid;
segl->b_texturemid = b_texturemid;
segl->seglightlevel = (lightshift << 8) | f_lightlevel;
segl->offset = ((fixed_t)si->textureoffset + seg->offset) << 16;
segl->offset = ((fixed_t)si->textureoffset + offset) << 16;
}
}

Expand Down Expand Up @@ -528,7 +529,7 @@ static void R_AddLine(rbspWork_t *rbsp, sector_t *frontsector, seg_t *line)
x1 = x1 >> 16;

// decide which clip routine to use
side = line->side;
side = line->sideoffset & 1;
ldef = &lines[line->linedef];
backsector = (ldef->flags & ML_TWOSIDED) ? &sectors[sides[ldef->sidenum[side^1]].sector] : 0;
sidedef = &sides[ldef->sidenum[side]];
Expand Down

0 comments on commit 98a6620

Please sign in to comment.