Fix the San Andreas texture fix in some cases.

git-svn-id: https://svn.eduke32.com/eduke32@1565 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
plagman 2009-12-13 01:54:29 +00:00
parent ce20870e21
commit 3c018e64ce

View file

@ -2467,9 +2467,10 @@ static void polymer_updatewall(int16_t wallnum)
ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]); ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]);
if (ypancoef < tilesizy[curpicnum]) if (ypancoef < tilesizy[curpicnum])
ypancoef *= 2; ypancoef *= 2;
curypanning = wal->ypanning;
if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef)) if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef))
curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef); curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef);
ypancoef *= (float)(wal->ypanning) / (256.0f * (float)(tilesizy[curpicnum])); ypancoef *= (float)(curypanning) / (256.0f * (float)(tilesizy[curpicnum]));
} }
else else
ypancoef = 0; ypancoef = 0;
@ -2626,9 +2627,10 @@ static void polymer_updatewall(int16_t wallnum)
ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]); ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]);
if (ypancoef < tilesizy[curpicnum]) if (ypancoef < tilesizy[curpicnum])
ypancoef *= 2; ypancoef *= 2;
curypanning = wal->ypanning;
if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef)) if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef))
curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef); curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef);
ypancoef *= (float)(wal->ypanning) / (256.0f * (float)(tilesizy[curpicnum])); ypancoef *= (float)(curypanning) / (256.0f * (float)(tilesizy[curpicnum]));
} }
else else
ypancoef = 0; ypancoef = 0;
@ -2678,9 +2680,10 @@ static void polymer_updatewall(int16_t wallnum)
ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]); ypancoef = (float)(pow2long[picsiz[curpicnum] >> 4]);
if (ypancoef < tilesizy[curpicnum]) if (ypancoef < tilesizy[curpicnum])
ypancoef *= 2; ypancoef *= 2;
curypanning = wal->ypanning;
if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef)) if (curypanning > 256 - (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef))
curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef); curypanning -= (ypancoef - tilesizy[curpicnum]) * (256.0f / ypancoef);
ypancoef *= (float)(wal->ypanning) / (256.0f * (float)(tilesizy[curpicnum])); ypancoef *= (float)(curypanning) / (256.0f * (float)(tilesizy[curpicnum]));
} }
else else
ypancoef = 0; ypancoef = 0;