diff options
Diffstat (limited to 'src/models.c')
| -rw-r--r-- | src/models.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/models.c b/src/models.c index ef5e493..fc294e0 100644 --- a/src/models.c +++ b/src/models.c @@ -1554,7 +1554,13 @@ int lmodelsCreateMaterial( lua_State *L ) { while ( lua_next( L, t4 ) != 0 ) { if ( strcmp( "texture", (char*)lua_tostring( L, -2 ) ) == 0 && lua_isnumber( L, -1 ) ) { - state->materials[i]->maps[map].texture = *state->textures[ lua_tointeger( L, -1 ) ]; + size_t texId = lua_tointeger( L, -1 ); + + if ( !validSourceTexture( texId ) ) { + lua_pushboolean( L, false ); + return 1; + } + state->materials[i]->maps[map].texture = *texturesGetSourceTexture( texId ); } else if ( strcmp( "color", (char*)lua_tostring( L, -2 ) ) == 0 && lua_istable( L, -1 ) ) { state->materials[i]->maps[map].color = uluaGetColor( L ); |
