This is an automated email from the git hooks/post-receive script. smcv pushed a commit to tag 1.51b in repository iortcw.
commit b784296dabaf06598ccc545694e8c836f6507795 Author: MAN-AT-ARMS <m4n4t4...@gmail.com> Date: Thu Jul 20 11:11:00 2017 -0400 All: Improve warning for too many skin surfaces --- MP/code/rend2/tr_animation.c | 1 - MP/code/rend2/tr_image.c | 20 ++++++++++++-------- MP/code/renderer/tr_animation.c | 1 - MP/code/renderer/tr_cmesh.c | 1 - MP/code/renderer/tr_image.c | 20 ++++++++++++-------- SP/code/rend2/tr_image.c | 20 ++++++++++++-------- SP/code/renderer/tr_image.c | 20 ++++++++++++-------- 7 files changed, 48 insertions(+), 35 deletions(-) diff --git a/MP/code/rend2/tr_animation.c b/MP/code/rend2/tr_animation.c index 7cfd936..170b843 100644 --- a/MP/code/rend2/tr_animation.c +++ b/MP/code/rend2/tr_animation.c @@ -365,7 +365,6 @@ void R_AddAnimSurfaces( trRefEntity_t *ent ) { if ( shader == tr.defaultShader ) { // blink reference in skin was not found for ( j = 0 ; j < skin->numSurfaces ; j++ ) { // the names have both been lowercased - if ( !strcmp( skin->surfaces[j].name, surface->name ) ) { shader = skin->surfaces[j].shader; break; diff --git a/MP/code/rend2/tr_image.c b/MP/code/rend2/tr_image.c index 834dc2a..272b014 100644 --- a/MP/code/rend2/tr_image.c +++ b/MP/code/rend2/tr_image.c @@ -3235,6 +3235,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { char *text_p; char *token; char surfName[MAX_QPATH]; + int totalSurfaces; if ( !name || !name[0] ) { ri.Printf( PRINT_DEVELOPER, "Empty name passed to RE_RegisterSkin\n" ); @@ -3300,6 +3301,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { //----(SA) end + totalSurfaces = 0; text_p = text.c; while ( text_p && *text_p ) { // get surface name @@ -3351,22 +3353,24 @@ qhandle_t RE_RegisterSkin( const char *name ) { // parse the shader name token = CommaParse( &text_p ); - if ( skin->numSurfaces >= MAX_SKIN_SURFACES ) { - ri.Printf( PRINT_WARNING, "WARNING: Ignoring surfaces in '%s', the max is %d surfaces!\n", name, MAX_SKIN_SURFACES ); - break; + if ( skin->numSurfaces < MAX_SKIN_SURFACES ) { + surf = &parseSurfaces[skin->numSurfaces]; + Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); + surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); + skin->numSurfaces++; } - surf = &parseSurfaces[skin->numSurfaces]; - Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); - surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); - skin->numSurfaces++; + totalSurfaces++; } ri.FS_FreeFile( text.v ); + if ( totalSurfaces > MAX_SKIN_SURFACES ) { + ri.Printf( PRINT_WARNING, "WARNING: Ignoring excess surfaces (found %d, max is %d) in skin '%s'!\n", + totalSurfaces, MAX_SKIN_SURFACES, name ); + } // never let a skin have 0 shaders - //----(SA) allow this for the (current) special case of the loper's upper body // (it's upper body has no surfaces, only tags) if ( skin->numSurfaces == 0 ) { diff --git a/MP/code/renderer/tr_animation.c b/MP/code/renderer/tr_animation.c index 2dc73b8..2aa751a 100644 --- a/MP/code/renderer/tr_animation.c +++ b/MP/code/renderer/tr_animation.c @@ -363,7 +363,6 @@ void R_AddAnimSurfaces( trRefEntity_t *ent ) { if ( shader == tr.defaultShader ) { // blink reference in skin was not found for ( j = 0 ; j < skin->numSurfaces ; j++ ) { // the names have both been lowercased - if ( !strcmp( skin->surfaces[j].name, surface->name ) ) { shader = skin->surfaces[j].shader; break; diff --git a/MP/code/renderer/tr_cmesh.c b/MP/code/renderer/tr_cmesh.c index 365e461..de5d24b 100644 --- a/MP/code/renderer/tr_cmesh.c +++ b/MP/code/renderer/tr_cmesh.c @@ -386,7 +386,6 @@ void R_AddMDCSurfaces( trRefEntity_t *ent ) { if ( shader == tr.defaultShader ) { // blink reference in skin was not found for ( j = 0 ; j < skin->numSurfaces ; j++ ) { // the names have both been lowercased - if ( !strcmp( skin->surfaces[j].name, surface->name ) ) { shader = skin->surfaces[j].shader; break; diff --git a/MP/code/renderer/tr_image.c b/MP/code/renderer/tr_image.c index 402f117..278fdf6 100644 --- a/MP/code/renderer/tr_image.c +++ b/MP/code/renderer/tr_image.c @@ -1891,6 +1891,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { char *text_p; char *token; char surfName[MAX_QPATH]; + int totalSurfaces; if ( !name || !name[0] ) { ri.Printf( PRINT_DEVELOPER, "Empty name passed to RE_RegisterSkin\n" ); @@ -1956,6 +1957,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { //----(SA) end + totalSurfaces = 0; text_p = text.c; while ( text_p && *text_p ) { // get surface name @@ -2007,22 +2009,24 @@ qhandle_t RE_RegisterSkin( const char *name ) { // parse the shader name token = CommaParse( &text_p ); - if ( skin->numSurfaces >= MAX_SKIN_SURFACES ) { - ri.Printf( PRINT_WARNING, "WARNING: Ignoring surfaces in '%s', the max is %d surfaces!\n", name, MAX_SKIN_SURFACES ); - break; + if ( skin->numSurfaces < MAX_SKIN_SURFACES ) { + surf = &parseSurfaces[skin->numSurfaces]; + Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); + surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); + skin->numSurfaces++; } - surf = &parseSurfaces[skin->numSurfaces]; - Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); - surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); - skin->numSurfaces++; + totalSurfaces++; } ri.FS_FreeFile( text.v ); + if ( totalSurfaces > MAX_SKIN_SURFACES ) { + ri.Printf( PRINT_WARNING, "WARNING: Ignoring excess surfaces (found %d, max is %d) in skin '%s'!\n", + totalSurfaces, MAX_SKIN_SURFACES, name ); + } // never let a skin have 0 shaders - //----(SA) allow this for the (current) special case of the loper's upper body // (it's upper body has no surfaces, only tags) if ( skin->numSurfaces == 0 ) { diff --git a/SP/code/rend2/tr_image.c b/SP/code/rend2/tr_image.c index 32b9c83..5a02fe9 100644 --- a/SP/code/rend2/tr_image.c +++ b/SP/code/rend2/tr_image.c @@ -3240,6 +3240,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { char *text_p; char *token; char surfName[MAX_QPATH]; + int totalSurfaces; if ( !name || !name[0] ) { ri.Printf( PRINT_DEVELOPER, "Empty name passed to RE_RegisterSkin\n" ); @@ -3305,6 +3306,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { //----(SA) end + totalSurfaces = 0; text_p = text.c; while ( text_p && *text_p ) { // get surface name @@ -3356,22 +3358,24 @@ qhandle_t RE_RegisterSkin( const char *name ) { // parse the shader name token = CommaParse( &text_p ); - if ( skin->numSurfaces >= MAX_SKIN_SURFACES ) { - ri.Printf( PRINT_WARNING, "WARNING: Ignoring surfaces in '%s', the max is %d surfaces!\n", name, MAX_SKIN_SURFACES ); - break; + if ( skin->numSurfaces < MAX_SKIN_SURFACES ) { + surf = &parseSurfaces[skin->numSurfaces]; + Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); + surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); + skin->numSurfaces++; } - surf = &parseSurfaces[skin->numSurfaces]; - Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); - surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); - skin->numSurfaces++; + totalSurfaces++; } ri.FS_FreeFile( text.v ); + if ( totalSurfaces > MAX_SKIN_SURFACES ) { + ri.Printf( PRINT_WARNING, "WARNING: Ignoring excess surfaces (found %d, max is %d) in skin '%s'!\n", + totalSurfaces, MAX_SKIN_SURFACES, name ); + } // never let a skin have 0 shaders - //----(SA) allow this for the (current) special case of the loper's upper body // (it's upper body has no surfaces, only tags) if ( skin->numSurfaces == 0 ) { diff --git a/SP/code/renderer/tr_image.c b/SP/code/renderer/tr_image.c index 2ce4d6d..ef166e7 100644 --- a/SP/code/renderer/tr_image.c +++ b/SP/code/renderer/tr_image.c @@ -1962,6 +1962,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { char *text_p; char *token; char surfName[MAX_QPATH]; + int totalSurfaces; if ( !name || !name[0] ) { ri.Printf( PRINT_DEVELOPER, "Empty name passed to RE_RegisterSkin\n" ); @@ -2027,6 +2028,7 @@ qhandle_t RE_RegisterSkin( const char *name ) { //----(SA) end + totalSurfaces = 0; text_p = text.c; while ( text_p && *text_p ) { // get surface name @@ -2078,22 +2080,24 @@ qhandle_t RE_RegisterSkin( const char *name ) { // parse the shader name token = CommaParse( &text_p ); - if ( skin->numSurfaces >= MAX_SKIN_SURFACES ) { - ri.Printf( PRINT_WARNING, "WARNING: Ignoring surfaces in '%s', the max is %d surfaces!\n", name, MAX_SKIN_SURFACES ); - break; + if ( skin->numSurfaces < MAX_SKIN_SURFACES ) { + surf = &parseSurfaces[skin->numSurfaces]; + Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); + surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); + skin->numSurfaces++; } - surf = &parseSurfaces[skin->numSurfaces]; - Q_strncpyz( surf->name, surfName, sizeof( surf->name ) ); - surf->shader = R_FindShader( token, LIGHTMAP_NONE, qtrue ); - skin->numSurfaces++; + totalSurfaces++; } ri.FS_FreeFile( text.v ); + if ( totalSurfaces > MAX_SKIN_SURFACES ) { + ri.Printf( PRINT_WARNING, "WARNING: Ignoring excess surfaces (found %d, max is %d) in skin '%s'!\n", + totalSurfaces, MAX_SKIN_SURFACES, name ); + } // never let a skin have 0 shaders - //----(SA) allow this for the (current) special case of the loper's upper body // (it's upper body has no surfaces, only tags) if ( skin->numSurfaces == 0 ) { -- 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