plowSrShadow() pass by-pointer const TileTypeBitMask* instead of by-value

sizeof(TileTypeBitMask) == 32
This commit is contained in:
Darryl L. Miles 2025-02-17 09:54:10 +00:00 committed by Tim Edwards
parent d149c83a8a
commit cfd71f1b5d
7 changed files with 26 additions and 25 deletions

View File

@ -1043,7 +1043,7 @@ plowSelPaintPlow(rect, type, distance)
plowAtomize(DBPlane(type), &plowLHS, plowSelPaintAdd, (ClientData) NULL);
#endif /* notdef */
plowLHS.r_xbot--;
plowSrShadow(DBPlane(type), &plowLHS, DBZeroTypeBits,
plowSrShadow(DBPlane(type), &plowLHS, &DBZeroTypeBits,
plowInitialPaint, INT2CD(plowLHS.r_xtop));
/* Queue the RHS */
@ -1054,7 +1054,7 @@ plowSelPaintPlow(rect, type, distance)
#endif /* notdef */
plowRHS.r_xbot--;
TTMaskSetOnlyType(&mask, type);
plowSrShadow(DBPlane(type), &plowRHS, mask,
plowSrShadow(DBPlane(type), &plowRHS, &mask,
plowInitialPaint, INT2CD(plowRHS.r_xtop));
return (0);

View File

@ -87,7 +87,7 @@ prClearUmbra(edge)
ar.ar_moving = edge;
ar.ar_rule = (PlowRule *) NULL;
(void) plowSrShadow(edge->e_pNum, &edge->e_rect,
rhsTypes, plowApplyRule, (ClientData) &ar);
&rhsTypes, plowApplyRule, (ClientData) &ar);
}
/*
@ -138,7 +138,7 @@ prUmbra(edge, rules)
ar.ar_rule = pr;
searchArea.r_xtop = edge->e_newx + pr->pr_dist;
(void) plowSrShadow(pr->pr_pNum, &searchArea,
pr->pr_oktypes, plowApplyRule, (ClientData) &ar);
&pr->pr_oktypes, plowApplyRule, (ClientData) &ar);
}
}
@ -342,7 +342,7 @@ plowPenumbraTopProc(outline, ar)
searchArea.r_ybot = outline->o_rect.r_ytop;
searchArea.r_ytop = ar->ar_clip.p_y;
(void) plowSrShadow(pr->pr_pNum,
&searchArea, pr->pr_oktypes, plowPenumbraRule,
&searchArea, &pr->pr_oktypes, plowPenumbraRule,
(ClientData) ar);
}
return (1);
@ -350,7 +350,7 @@ plowPenumbraTopProc(outline, ar)
/* Shadow search to right of this segment of the penumbra boundary */
(void) plowSrShadow(pr->pr_pNum, &searchArea,
pr->pr_oktypes, plowApplyRule, (ClientData) ar);
&pr->pr_oktypes, plowApplyRule, (ClientData) ar);
return (ret);
}
@ -396,7 +396,7 @@ plowPenumbraBotProc(outline, ar)
searchArea.r_ybot = ar->ar_clip.p_y;
searchArea.r_ytop = outline->o_rect.r_ybot;
(void) plowSrShadow(pr->pr_pNum,
&searchArea, pr->pr_oktypes, plowPenumbraRule,
&searchArea, &pr->pr_oktypes, plowPenumbraRule,
(ClientData) ar);
}
return (1);
@ -404,7 +404,7 @@ plowPenumbraBotProc(outline, ar)
/* Shadow search to right of this segment of the penumbra boundary */
(void) plowSrShadow(pr->pr_pNum, &searchArea,
pr->pr_oktypes, plowApplyRule, (ClientData) ar);
&pr->pr_oktypes, plowApplyRule, (ClientData) ar);
return (ret);
}

View File

@ -231,7 +231,7 @@ prFixedPenumbraTop(edge)
for ( ; pr; pr = pr->pr_next)
{
searchRect.r_ytop = edge->e_ytop + pr->pr_dist;
(void) plowSrShadow(pr->pr_pNum, &searchRect, pr->pr_oktypes,
(void) plowSrShadow(pr->pr_pNum, &searchRect, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
}
@ -261,7 +261,7 @@ prFixedPenumbraBot(edge)
for ( ; pr; pr = pr->pr_next)
{
searchRect.r_ybot = edge->e_ybot - pr->pr_dist;
(void) plowSrShadow(pr->pr_pNum, &searchRect, pr->pr_oktypes,
(void) plowSrShadow(pr->pr_pNum, &searchRect, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
return 0;
@ -493,13 +493,13 @@ prCoverTop(edge)
for (pr = plowWidthRulesTbl[ltype][rtype]; pr; pr = pr->pr_next)
{
searchArea.r_ytop = edge->e_ytop + pr->pr_dist;
(void) plowSrShadow(edge->e_pNum, &searchArea, pr->pr_oktypes,
(void) plowSrShadow(edge->e_pNum, &searchArea, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
for (pr = plowSpacingRulesTbl[ltype][rtype]; pr; pr = pr->pr_next)
{
searchArea.r_ytop = edge->e_ytop + pr->pr_dist;
(void) plowSrShadow(edge->e_pNum, &searchArea, pr->pr_oktypes,
(void) plowSrShadow(edge->e_pNum, &searchArea, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
}
@ -531,13 +531,13 @@ prCoverBot(edge)
for (pr = plowWidthRulesTbl[ltype][rtype]; pr; pr = pr->pr_next)
{
searchArea.r_ybot = edge->e_ybot - pr->pr_dist;
(void) plowSrShadow(edge->e_pNum, &searchArea, pr->pr_oktypes,
(void) plowSrShadow(edge->e_pNum, &searchArea, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
for (pr = plowSpacingRulesTbl[ltype][rtype]; pr; pr = pr->pr_next)
{
searchArea.r_ybot = edge->e_ybot - pr->pr_dist;
(void) plowSrShadow(edge->e_pNum, &searchArea, pr->pr_oktypes,
(void) plowSrShadow(edge->e_pNum, &searchArea, &pr->pr_oktypes,
plowApplyRule, (ClientData) &ar);
}
return 0;
@ -919,7 +919,7 @@ prCell(edge)
(void) DBSrPaintArea((Tile *) NULL, plowYankDef->cd_planes[pNum],
&ar.ar_search, &DBAllTypeBits,
plowCellDragPaint, (ClientData) &ar);
(void) plowSrShadow(pNum, &shadowArea, DBZeroTypeBits,
(void) plowSrShadow(pNum, &shadowArea, &DBZeroTypeBits,
plowCellPushPaint, (ClientData) &ar);
}

View File

@ -248,7 +248,7 @@ scanDown(inarg, type, canMoveInargEdge)
ar.ar_moving = movingEdge;
ar.ar_rule = (PlowRule *) NULL;
plowSrShadow(movingEdge->e_pNum, &shadowRect,
DBZeroTypeBits, plowApplyRule, (ClientData) &ar);
&DBZeroTypeBits, plowApplyRule, (ClientData) &ar);
}
#endif /* notdef */
return 0;
@ -343,7 +343,7 @@ scanUp(inarg, type, canMoveInargEdge)
ar.ar_moving = movingEdge;
ar.ar_rule = (PlowRule *) NULL;
plowSrShadow(movingEdge->e_pNum, &shadowRect,
DBZeroTypeBits, plowApplyRule, (ClientData) &ar);
&DBZeroTypeBits, plowApplyRule, (ClientData) &ar);
}
#endif /* notdef */
return 0;

View File

@ -203,16 +203,17 @@ switch ((o)->o_nextDir) \
*/
int
plowSrShadow(pNum, area, okTypes, proc, cdata)
int pNum; /* Plane from plowYankDef to search */
Rect *area; /* Area to search. Edges coincident with the
plowSrShadow(
int pNum, /* Plane from plowYankDef to search */
Rect *area, /* Area to search. Edges coincident with the
* right-hand side of this area are not seen;
* they must lie to the left of area->r_xtop.
*/
TileTypeBitMask okTypes;
int (*proc)(); /* Function to apply at each edge */
ClientData cdata; /* Additional argument to pass to (*proc)() */
const TileTypeBitMask *okTypesp,
int (*proc)(), /* Function to apply at each edge */
ClientData cdata) /* Additional argument to pass to (*proc)() */
{
TileTypeBitMask okTypes = *okTypesp; /* TTMaskCopy(&okTypes, okTypesp) */
Plane *plane = plowYankDef->cd_planes[pNum];
struct shadow s;
Tile *tp;

View File

@ -240,7 +240,7 @@ PlowTest(w, cmd)
saveDef = plowYankDef;
plowYankDef = def;
(void) plowSrShadow(PL_TECHDEPBASE, &editArea,
okTypes, plowShowShadow, (ClientData) def);
&okTypes, plowShowShadow, (ClientData) def);
plowYankDef = saveDef;
break;
case PC_TECHSHOW:

View File

@ -264,7 +264,7 @@ extern void plowQueueDone();
extern void plowQueueInit();
extern int plowSrFinalArea();
extern void plowSrOutline(int pNum, Point *startPoint, const TileTypeBitMask *insideTypesp, int initialDir, int dirMask, int (*proc)(), ClientData cdata);
extern int plowSrShadow();
extern int plowSrShadow(int pNum, Rect *area, const TileTypeBitMask *okTypesp, int (*proc)(), ClientData cdata);
extern int plowSrShadowBack();
extern int plowSrShadowInitial();
extern bool plowYankMore();