This is an automated email from the git hooks/post-receive script. smcv pushed a commit to annotated tag 1.5a in repository iortcw.
commit 40963cb343a31904da284602eb8b4de8f34444a4 Author: MAN-AT-ARMS <m4n4t4...@gmail.com> Date: Wed Oct 19 20:01:53 2016 -0400 All: Rend2: Fix vertex color types in tr_backend --- MP/code/rend2/tr_backend.c | 21 ++++++++++++--------- SP/code/rend2/tr_backend.c | 45 ++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/MP/code/rend2/tr_backend.c b/MP/code/rend2/tr_backend.c index aade234..2e196ee 100644 --- a/MP/code/rend2/tr_backend.c +++ b/MP/code/rend2/tr_backend.c @@ -1147,16 +1147,19 @@ const void *RB_StretchPicGradient( const void *data ) { tess.indexes[ numIndexes + 4 ] = numVerts + 0; tess.indexes[ numIndexes + 5 ] = numVerts + 1; -// *(int *)tess.color[ numVerts ] = -// *(int *)tess.color[ numVerts + 1 ] = -// *(int *)tess.color[ numVerts + 2 ] = -// *(int *)tess.color[ numVerts + 3 ] = *(int *)backEnd.color2D; - - *(int *)tess.color[ numVerts ] = - *(int *)tess.color[ numVerts + 1 ] = *(int *)backEnd.color2D; + { + uint16_t color[4]; + + VectorScale4(backEnd.color2D, 257, color); + + VectorCopy4(color, tess.color[ numVerts ]); + VectorCopy4(color, tess.color[ numVerts + 1]); + + VectorScale4(cmd->gradientColor, 257, color); - *(int *)tess.color[ numVerts + 2 ] = - *(int *)tess.color[ numVerts + 3 ] = *(int *)cmd->gradientColor; + VectorCopy4(color, tess.color[ numVerts + 2]); + VectorCopy4(color, tess.color[ numVerts + 3 ]); + } tess.xyz[ numVerts ][0] = cmd->x; tess.xyz[ numVerts ][1] = cmd->y; diff --git a/SP/code/rend2/tr_backend.c b/SP/code/rend2/tr_backend.c index 764bf45..e3811f7 100644 --- a/SP/code/rend2/tr_backend.c +++ b/SP/code/rend2/tr_backend.c @@ -703,39 +703,39 @@ hitCheckDone: } void RB_ZombieFXShowFleshHits( trZombieFleshHitverts_t *fleshHitVerts, int oldNumVerts, int numSurfVerts ) { - byte *vertColors; + uint16_t *vertColors; unsigned short *vertHits; int i; - vertColors = (byte *)tess.color[oldNumVerts]; + vertColors = tess.color[oldNumVerts]; vertHits = fleshHitVerts->vertHits; // for each hit entry, adjust that verts alpha component for ( i = 0; i < fleshHitVerts->numHits; i++, vertHits++ ) { - if ( vertColors[( *vertHits ) * 4 + 3] < ZOMBIEFX_PERHIT_TAKEALPHA ) { + if ( vertColors[( *vertHits ) * 4 + 3] < ZOMBIEFX_PERHIT_TAKEALPHA * 257 ) { vertColors[( *vertHits ) * 4 + 3] = 0; } else { - vertColors[( *vertHits ) * 4 + 3] -= ZOMBIEFX_PERHIT_TAKEALPHA; + vertColors[( *vertHits ) * 4 + 3] -= ZOMBIEFX_PERHIT_TAKEALPHA * 257; } } } void RB_ZombieFXDecompose( int oldNumVerts, int numSurfVerts, float deltaTimeScale ) { - byte *vertColors; + uint16_t *vertColors; float *xyz; int16_t *norm; vec3_t fNorm; int i; float alpha; - vertColors = (byte *)tess.color[oldNumVerts]; + vertColors = tess.color[oldNumVerts]; xyz = tess.xyz[oldNumVerts]; norm = tess.normal[oldNumVerts]; for ( i = 0; i < numSurfVerts; i++, vertColors += 4, xyz += 4, norm += 4 ) { - alpha = 255.0 * ( (float)( 1 + i % 3 ) / 3.0 ) * deltaTimeScale * 2; - if ( alpha > 255.0 ) { - alpha = 255.0; + alpha = 65535.0 * ( (float)( 1 + i % 3 ) / 3.0 ) * deltaTimeScale * 2; + if ( alpha > 65535.0 ) { + alpha = 65535.0; } if ( (float)vertColors[3] - alpha < 0 ) { vertColors[3] = 0; @@ -751,13 +751,13 @@ void RB_ZombieFXDecompose( int oldNumVerts, int numSurfVerts, float deltaTimeSca } void RB_ZombieFXFullAlpha( int oldNumVerts, int numSurfVerts ) { - byte *vertColors; + uint16_t *vertColors; int i; - vertColors = (byte *)tess.color[oldNumVerts]; + vertColors = tess.color[oldNumVerts]; for ( i = 0; i < numSurfVerts; i++, vertColors += 4 ) { - vertColors[3] = 255; + vertColors[3] = 65535; } } @@ -1397,16 +1397,19 @@ const void *RB_StretchPicGradient( const void *data ) { tess.indexes[ numIndexes + 4 ] = numVerts + 0; tess.indexes[ numIndexes + 5 ] = numVerts + 1; -// *(int *)tess.color[ numVerts ] = -// *(int *)tess.color[ numVerts + 1 ] = -// *(int *)tess.color[ numVerts + 2 ] = -// *(int *)tess.color[ numVerts + 3 ] = *(int *)backEnd.color2D; - - *(int *)tess.color[ numVerts ] = - *(int *)tess.color[ numVerts + 1 ] = *(int *)backEnd.color2D; + { + uint16_t color[4]; + + VectorScale4(backEnd.color2D, 257, color); + + VectorCopy4(color, tess.color[ numVerts ]); + VectorCopy4(color, tess.color[ numVerts + 1]); + + VectorScale4(cmd->gradientColor, 257, color); - *(int *)tess.color[ numVerts + 2 ] = - *(int *)tess.color[ numVerts + 3 ] = *(int *)cmd->gradientColor; + VectorCopy4(color, tess.color[ numVerts + 2]); + VectorCopy4(color, tess.color[ numVerts + 3 ]); + } tess.xyz[ numVerts ][0] = cmd->x; tess.xyz[ numVerts ][1] = cmd->y; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git _______________________________________________ Pkg-games-commits mailing list Pkg-games-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits