/*! * \ingroup atmosphere */ Lib3dsBool lib3ds_atmosphere_read(Lib3dsAtmosphere *atmosphere, Lib3dsIo *io) { Lib3dsChunk c; if (!lib3ds_chunk_read(&c, io)) { return(LIB3DS_FALSE); } switch (c.chunk) { case LIB3DS_FOG: { lib3ds_chunk_read_reset(&c, io); if (!fog_read(&atmosphere->fog, io)) { return(LIB3DS_FALSE); } } break; case LIB3DS_LAYER_FOG: { lib3ds_chunk_read_reset(&c, io); if (!layer_fog_read(&atmosphere->layer_fog, io)) { return(LIB3DS_FALSE); } } break; case LIB3DS_DISTANCE_CUE: { lib3ds_chunk_read_reset(&c, io); if (!distance_cue_read(&atmosphere->dist_cue, io)) { return(LIB3DS_FALSE); } } break; case LIB3DS_USE_FOG: { atmosphere->fog.use=LIB3DS_TRUE; } break; case LIB3DS_USE_LAYER_FOG: { atmosphere->fog.use=LIB3DS_TRUE; } break; case LIB3DS_USE_DISTANCE_CUE: { atmosphere->dist_cue.use=LIB3DS_TRUE; } break; } return(LIB3DS_TRUE); }
void lib3ds_atmosphere_read(Lib3dsAtmosphere *atmosphere, Lib3dsIo *io) { Lib3dsChunk c; lib3ds_chunk_read(&c, io); switch (c.chunk) { case CHK_FOG: { lib3ds_chunk_read_reset(&c, io); fog_read(atmosphere, io); break; } case CHK_LAYER_FOG: { lib3ds_chunk_read_reset(&c, io); layer_fog_read(atmosphere, io); break; } case CHK_DISTANCE_CUE: { lib3ds_chunk_read_reset(&c, io); distance_cue_read(atmosphere, io); break; } case CHK_USE_FOG: { atmosphere->use_fog = TRUE; break; } case CHK_USE_LAYER_FOG: { atmosphere->use_layer_fog = TRUE; break; } case CHK_USE_DISTANCE_CUE: { atmosphere->use_dist_cue = TRUE; break; } } }