Code : Tout sélectionner
if (indicies_size == 2)
{
short_list = (unsigned short*)cur_object->indicies;
for (i = 0; i < cur_object->index_no; i++)
short_list[i] = SDL_SwapLE32(index_buffer[i]);
}
else
{
if (indicies_size == 4)
{
int_list = (unsigned int*)cur_object->indicies;
for (i = 0; i < cur_object->index_no; i++)
int_list[i] = SDL_SwapLE32(index_buffer[i]);
}
else
{
LOG_ERROR("This should never happen!");
free_e3d_pointer(cur_object);
#ifdef ZLIB
gzclose(file);
#else //ZLIB
fclose(file);
#endif //ZLIB
return NULL;
}
}
Code : Tout sélectionner
short_list[i] = SDL_SwapLE32(index_buffer[i]);
Code : Tout sélectionner
short_list[i] = SDL_SwapLE16(index_buffer[i]);
comme d'après des constatations rapides et un minimum de logique, je pense qu'actuellement le client n'utilise pas de fichiers e3d avec des listes d'indices sur 16 bits je doute que le probleme soit visible mais bon ...