00001 /* 00002 Copyright (C) 2004 Parallel Realities 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 See the GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 00019 */ 00020 00021 class Pak { 00022 00023 private: 00024 00025 Uint32 numberOfFiles; 00026 Uint32 listPos; 00027 Bytef *input; 00028 00029 FileData *fd; 00030 FileData *currentFile; 00031 00032 char pakFilename[1024]; 00033 00034 char filename[60]; 00035 00036 void showPakErrorAndExit(); 00037 00038 public: 00039 00040 Pak(); 00041 ~Pak(); 00042 void setPakFile(char *pakFilename); 00043 bool unpack(char *filename, unsigned char **buffer); 00044 bool fileExists(char *filename); 00045 unsigned int getUncompressedSize(); 00046 00047 };