1
0
Fork 0
mirror of https://git.coom.tech/drummyfish/raycastlib.git synced 2024-12-23 01:26:19 +01:00

Remove redundant code

This commit is contained in:
Miloslav Číž 2018-09-22 10:01:19 +02:00
parent 33158c634e
commit b587a2c0e5

View file

@ -961,6 +961,68 @@ RCL_Unit RCL_adjustDistance(RCL_Unit distance, RCL_Camera *camera,
// ^ prevent division by zero
}
/*
// WIP DEMACRO
static inline void _drawWall(
int16_t yCurrent, int16_t yFrom, int16_t yTo, int16_t limit1, int16_t limit2,
int16_t increment,
RCL_PixelInfo *pixelInfo,
)
{
int16_t limit = RCL_clamp(pref##Z2Screen,l1,l2);\
RCL_Unit wallLength = yTo - yFrom - 1;
wallLength = RCL_nonZero(wallLength);
RCL_Unit wallPosition = RCL_absVal(yFrom - yCurrent) - increment;
RCL_Unit coordStep = RCL_COMPUTE_WALL_TEXCOORDS ?
RCL_UNITS_PER_SQUARE / wallLength : 1;
pixelInfo->texCoords.y = RCL_COMPUTE_WALL_TEXCOORDS ?
wallPosition * coordStep : 0;
if (coordStep < RCL_MIN_TEXTURE_STEP) // two-version loop
{
for (int16_t i = yCurrent + increment; i comp##= limit; i += increment)
{
// more expensive texture coord computing
pixelInfo->position.y = i;
if (RCL_COMPUTE_WALL_TEXCOORDS == 1)
{
p.texCoords.y = (wallPosition * RCL_UNITS_PER_SQUARE) / wallLength;
}
wallPosition++;
RCL_PIXEL_FUNCTION(&p);
}
}
else
{
for (i = pref##PosY inc 1; i comp##= limit; inc##inc i)
{
// cheaper texture coord computing
p.position.y = i;
if (RCL_COMPUTE_WALL_TEXCOORDS == 1)
{
p.texCoords.x = hit.textureCoord;
p.texCoords.y += coordStep;
}
RCL_PIXEL_FUNCTION(&p);
}
}
if (pref##PosY comp limit)
pref##PosY = limit;
pref##Z1World = pref##Z2World; // for the next iteration
}
*/
void _columnFunctionComplex(RCL_HitResult *hits, uint16_t hitCount, uint16_t x,
RCL_Ray ray)
{
@ -1091,10 +1153,8 @@ void _columnFunctionComplex(RCL_HitResult *hits, uint16_t hitCount, uint16_t x,
for (i = pref##PosY inc 1; i comp##= limit; inc##inc i)\
{ /* more expensive texture coord computing */\
p.position.y = i;\
p.hit = hit;\
if (RCL_COMPUTE_WALL_TEXCOORDS == 1)\
{\
p.texCoords.x = hit.textureCoord;\
p.texCoords.y = (wallPosition * RCL_UNITS_PER_SQUARE)\
/ wallLength;\
}\
@ -1105,10 +1165,8 @@ void _columnFunctionComplex(RCL_HitResult *hits, uint16_t hitCount, uint16_t x,
for (i = pref##PosY inc 1; i comp##= limit; inc##inc i)\
{ /* cheaper texture coord computing */\
p.position.y = i;\
p.hit = hit;\
if (RCL_COMPUTE_WALL_TEXCOORDS == 1)\
{\
p.texCoords.x = hit.textureCoord;\
p.texCoords.y += coordStep;\
}\
RCL_PIXEL_FUNCTION(&p);\
@ -1121,6 +1179,8 @@ void _columnFunctionComplex(RCL_HitResult *hits, uint16_t hitCount, uint16_t x,
p.isWall = 1;
p.depth = distance;
p.isFloor = 1;
p.hit = hit;
p.texCoords.x = hit.textureCoord;
// draw floor wall