diff --git a/tiles/tile.c b/tiles/tile.c index 0ba7afb2..467093fe 100644 --- a/tiles/tile.c +++ b/tiles/tile.c @@ -853,6 +853,8 @@ TiFree( /* Use of 'extern inline' force an emit of inline code at a symbol */ extern inline void TiFreeIf(Tile *tile); extern inline void TiFree1(Tile **delay1, Tile *tile); +extern inline void TiJoinX1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane); +extern inline void TiJoinY1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane); #else /* To support older compilers (that don't auto emit based on -O level) */ void @@ -868,6 +870,20 @@ TiFree1(Tile **delay1, Tile *tile) TiFreeIf(*delay1); *delay1 = tile; } + +void +TiJoinX1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane) +{ + TiFreeIf(*delay1); + TiJoinX(tile1, tile2, plane); +} + +void +TiJoinY1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane) +{ + TiFreeIf(*delay1); + TiJoinY(tile1, tile2, plane); +} #endif diff --git a/tiles/tile.h b/tiles/tile.h index 4383d389..89b3fe0a 100644 --- a/tiles/tile.h +++ b/tiles/tile.h @@ -264,10 +264,26 @@ TiFree1(Tile **delay1, Tile *tile) TiFreeIf(*delay1); *delay1 = tile; } + +inline void +TiJoinX1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane) +{ + TiFreeIf(*delay1); + TiJoinX(tile1, tile2, plane); +} + +inline void +TiJoinY1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane) +{ + TiFreeIf(*delay1); + TiJoinY(tile1, tile2, plane); +} #else /* To support older compilers (that don't auto emit based on -O level) */ extern void TiFreeIf(Tile *tile); extern void TiFree1(Tile **delay1, Tile *tile); +extern void TiJoinX1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane); +extern void TiJoinY1(Tile **delay1, Tile *tile1, Tile *tile2, Plane *plane); #endif #define EnclosePoint(tile,point) ((LEFT(tile) <= (point)->p_x ) && \