Show MFile.h syntax highlighted
/**
**************************************************************************************
*Palisma - Secrets of the Illuminati is an open-source 2D RPG *
*Copyright (C) 2006, Tony Sparks *
* *
*This library is free software; you can redistribute it and/or *
*modify it under the terms of the GNU Lesser General Public *
*License as published by the Free Software Foundation; either *
*version 2.1 of the License, or (at your option) any later version. *
* *
*This library is distributed in the hope that it will be useful, *
*but WITHOUT ANY WARRANTY; without even the implied warranty of *
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
*Lesser General Public License for more details. *
* *
*You should have received a copy of the GNU Lesser General Public *
*License along with this library; if not, write to the Free Software *
*Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
**************************************************************************************
*/
#pragma once
#include <string>
/**
===========================
Myriads File System
===========================
*/
class MFile
{
public:
MFile(void);
/** Open a file */
bool Open( const std::string &filename );
/** Open a file in a zipped Archive */
bool OpenZippedFile( const std::string &filename );
/** Get the name of the file opened */
std::string FileName() { return m_name; };
/** If the file is opened */
bool Opened() { return m_opened; };
/** Close the stream */
void Close();
/** Read the next line */
std::string ReadLine();
/** Read the next delimeter */
std::string ReadNext( const std::string &delim , bool ignoreReturn = true, bool ignoreWhiteSpace = true, bool ignoreTab = true);
/** Read the next number */
double ReadDouble();
/** Read the next int */
int ReadInt();
/** Peek at the next char in the stream */
char Peek();
/** End of File */
bool IsEnd();
/** Get position */
int GetPosition() { return m_position; };
/** Get Size */
int Size() { return m_size; };
/** Set Data */
void SetData( char* buf, int size );
private:
/** Get a single char */
int Read();
/** Read a number */
std::string ReadNumber(bool decimal);
// name of the file
std::string m_name;
// data
char* m_data;
// size of file
int m_size;
// position in the file
int m_position;
// if the file is opened
bool m_opened;
public:
virtual ~MFile(void);
};
See more files for this project here