q3map2::misc_model::_remap: more persistent input error check
This commit is contained in:
parent
34e9b522b7
commit
c0b5454fd8
|
|
@ -214,7 +214,6 @@ void InsertModel( const char *name, int skin, int frame, m4x4_t transform, remap
|
||||||
int i, j, s, k, numSurfaces;
|
int i, j, s, k, numSurfaces;
|
||||||
m4x4_t identity, nTransform;
|
m4x4_t identity, nTransform;
|
||||||
picoModel_t *model;
|
picoModel_t *model;
|
||||||
picoShader_t *shader;
|
|
||||||
picoSurface_t *surface;
|
picoSurface_t *surface;
|
||||||
shaderInfo_t *si;
|
shaderInfo_t *si;
|
||||||
mapDrawSurface_t *ds;
|
mapDrawSurface_t *ds;
|
||||||
|
|
@ -351,13 +350,9 @@ void InsertModel( const char *name, int skin, int frame, m4x4_t transform, remap
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get shader name */
|
/* get shader name */
|
||||||
shader = PicoGetSurfaceShader( surface );
|
if ( !( picoShaderName = PicoGetShaderName( PicoGetSurfaceShader( surface ) ) ) ) {
|
||||||
if ( shader == NULL ) {
|
|
||||||
picoShaderName = "";
|
picoShaderName = "";
|
||||||
}
|
}
|
||||||
else{
|
|
||||||
picoShaderName = PicoGetShaderName( shader );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* handle .skin file */
|
/* handle .skin file */
|
||||||
if ( sf ) {
|
if ( sf ) {
|
||||||
|
|
@ -1513,7 +1508,22 @@ void AddTriangleModels( entity_t *e ){
|
||||||
/* split the string */
|
/* split the string */
|
||||||
split = strchr( remap->from, ';' );
|
split = strchr( remap->from, ';' );
|
||||||
if ( split == NULL ) {
|
if ( split == NULL ) {
|
||||||
Sys_Warning( "Shader _remap key found in misc_model without a ; character\n" );
|
Sys_Warning( "Shader _remap key found in misc_model without a ; character: '%s'\n", remap->from );
|
||||||
|
}
|
||||||
|
else if( split == remap->from ){
|
||||||
|
Sys_Warning( "_remap FROM is empty in '%s'\n", remap->from );
|
||||||
|
split = NULL;
|
||||||
|
}
|
||||||
|
else if( *( split + 1 ) == '\0' ){
|
||||||
|
Sys_Warning( "_remap TO is empty in '%s'\n", remap->from );
|
||||||
|
split = NULL;
|
||||||
|
}
|
||||||
|
else if( strlen( split + 1 ) >= sizeof( remap->to ) ){
|
||||||
|
Sys_Warning( "_remap TO is too long in '%s'\n", remap->from );
|
||||||
|
split = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( split == NULL ) {
|
||||||
free( remap );
|
free( remap );
|
||||||
remap = remap2;
|
remap = remap2;
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user