Files
kraken/kraken/KRResource+blend.h
Kearwood Gilbert ef5b940eaf Windows port WIP
--HG--
branch : feature-windows-support
2017-01-08 21:20:53 -08:00

51 lines
1.0 KiB
C++
Executable File

//
// KRResource+blend.h
// KREngine
//
// Created by Kearwood Gilbert on 12-05-08.
// Copyright (c) 2012 Kearwood Software. All rights reserved.
//
#ifndef KRRESOURCE_BLEND_H
#define KRRESOURCE_BLEND_H
class KRBlendFile {
public:
KRBlendFile(const void *pFile);
~KRBlendFile();
class Block {
public:
Block(KRBlendFile *blendFile, unsigned char *&scan);
~Block();
std::string getCode();
int getDataSize();
private:
std::string m_code;
__int32_t m_dataSize;
__int32_t m_sdna_index;
__int32_t m_structure_count;
__int64_t m_prev_pointer;
unsigned char *m_data;
};
private:
enum file_type {
KRBLEND_LITTLEENDIAN_32BIT,
KRBLEND_LITTLEENDIAN_64BIT,
KRBLEND_BIGENDIAN_32BIT,
KRBLEND_BIGENDIAN_64BIT
} m_file_type;
void readHeader(unsigned char *&scan);
__int32_t readInt(unsigned char *&scan);
__int64_t readPointer(unsigned char *&scan);
std::vector<Block> m_blocks;
};
#endif