diff options
Diffstat (limited to '3rdparty/assimp/code/IFF.h')
-rw-r--r-- | 3rdparty/assimp/code/IFF.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/3rdparty/assimp/code/IFF.h b/3rdparty/assimp/code/IFF.h deleted file mode 100644 index 91d56b34..00000000 --- a/3rdparty/assimp/code/IFF.h +++ /dev/null @@ -1,102 +0,0 @@ - - -// Definitions for the Interchange File Format (IFF) -// Alexander Gessler, 2006 -// Adapted to Assimp August 2008 - -#ifndef AI_IFF_H_INCLUDED -#define AI_IFF_H_INCLUDED - -#include "ByteSwap.h" - -namespace Assimp { -namespace IFF { - -#include "./../include/Compiler/pushpack1.h" - -///////////////////////////////////////////////////////////////////////////////// -//! Describes an IFF chunk header -///////////////////////////////////////////////////////////////////////////////// -struct ChunkHeader -{ - //! Type of the chunk header - FourCC - uint32_t type; - - //! Length of the chunk data, in bytes - uint32_t length; -} PACK_STRUCT; - - -///////////////////////////////////////////////////////////////////////////////// -//! Describes an IFF sub chunk header -///////////////////////////////////////////////////////////////////////////////// -struct SubChunkHeader -{ - //! Type of the chunk header - FourCC - uint32_t type; - - //! Length of the chunk data, in bytes - uint16_t length; -} PACK_STRUCT; - -#include "./../include/Compiler/poppack1.h" - - -#define AI_IFF_FOURCC(a,b,c,d) ((uint32_t) (((uint8_t)a << 24u) | \ - ((uint8_t)b << 16u) | ((uint8_t)c << 8u) | ((uint8_t)d))) - - -#define AI_IFF_FOURCC_FORM AI_IFF_FOURCC('F','O','R','M') - - -///////////////////////////////////////////////////////////////////////////////// -//! Load a chunk header -//! @param outFile Pointer to the file data - points to the chunk data afterwards -//! @return Pointer to the chunk header -///////////////////////////////////////////////////////////////////////////////// -inline ChunkHeader* LoadChunk(uint8_t*& outFile) -{ - ChunkHeader* head = (ChunkHeader*) outFile; - AI_LSWAP4(head->length); - AI_LSWAP4(head->type); - outFile += sizeof(ChunkHeader); - return head; -} - -///////////////////////////////////////////////////////////////////////////////// -//! Load a sub chunk header -//! @param outFile Pointer to the file data - points to the chunk data afterwards -//! @return Pointer to the sub chunk header -///////////////////////////////////////////////////////////////////////////////// -inline SubChunkHeader* LoadSubChunk(uint8_t*& outFile) -{ - SubChunkHeader* head = (SubChunkHeader*) outFile; - AI_LSWAP2(head->length); - AI_LSWAP4(head->type); - outFile += sizeof(SubChunkHeader); - return head; -} - -///////////////////////////////////////////////////////////////////////////////// -//! Read the file header and return the type of the file and its size -//! @param outFile Pointer to the file data. The buffer must at -//! least be 12 bytes large. -//! @param fileType Receives the type of the file -//! @return 0 if everything was OK, otherwise an error message -///////////////////////////////////////////////////////////////////////////////// -inline const char* ReadHeader(uint8_t* outFile,uint32_t& fileType) -{ - ChunkHeader* head = LoadChunk(outFile); - if (AI_IFF_FOURCC_FORM != head->type) - { - return "The file is not an IFF file: FORM chunk is missing"; - } - fileType = *((uint32_t*)(head+1)); - AI_LSWAP4(fileType); - return 0; -} - - -}} - -#endif // !! AI_IFF_H_INCLUDED |