/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2007.01.17 * ³» ¿ë : ÆÄÀÏ ÀûÀçÀÚ * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once class cFileToRead; /// ÆÄÀÏ ÀûÀçÀÚ /// ÆÄÀÏÀ» ½±°Ô ÀÐÀ» ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. /// ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸ÕÀú »ý¼ºµÈ ÈÄ »ç¿ë °¡´ÉÇÏ´Ù. class cFileLoader { public: cFileLoader(); ~cFileLoader(); /// ¿­±â bool Open( const cString& pathName, bool useMemory ); bool OpenNoPack( const cString& pathName, bool useMemory ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. int Close(); /// µ¥ÀÌŸ Àбâ /// ½ÇÁ¦·Î ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. unsigned int Read( void* buffer, unsigned int bytes ); /// ±âº» ÀÚ·áÇüÀ» Àбâ bool ReadInt( int* value ); bool ReadUnsignedInt( unsigned int* value ); bool ReadFloat( float* value ); /// ÇÑ ÁÙ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. /// ÁÖÀÇ: ÁÙ ³¡¿¡ ³Î¹®ÀÚ¸¦ Ãß°¡ÇϹǷΠÃÖ´ë bufferSize-1 ¸¸Å­À» ÀÐ¾î µéÀδÙ. unsigned int ReadLine( char* buffer, unsigned int bufferSize ); /// ³»ºÎ À§Ä¡¸¦ À̵¿ /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. int Seek( unsigned int offset, int origin = SEEK_SET ); /// ³»ºÎ À§Ä¡¸¦ ¸®ÅÏ /// ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. unsigned int Tell() const; /// ÆÄÀÏ Å©±â¸¦ ¸®ÅÏ unsigned int GetSize() const; /// ÆÄÀÏÀ» ¸®ÅÏ cFileToRead* GetFile() const; /// ¸Þ¸ð¸® ¹öÆÛ Æ÷ÀÎÅ͸¦ ¸®ÅÏ /// ¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì 0À» ¸®ÅÏ const char* GetBufferPtr(); /// ÆÄÀÏ ³¡¿¡ µµ´ÞÇß´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ bool IsEnd() const; /// ºó ÆÄÀÏÀÎÁö ¸®ÅÏ bool IsEmpty() const; /// ¸Þ¸ð¸® »ç¿ë ¿©ºÎ¸¦ ¸®ÅÏ bool IsMemUsed() const; private: /// ¸Þ¸ð¸® »ç¿ë ¿©ºÎ bool mMemUsed; /// Àбâ Àü¿ë ÆÄÀÏ cFileToRead* mFile; }; inline cFileToRead* cFileLoader::GetFile() const { return mFile; } inline bool cFileLoader::IsMemUsed() const { return mMemUsed; }