comparison system/file.h @ 35:2c574c3d50a9

* Moved XOR key related things to a proper location * xclannad -v now displays the real version (as specified in configure.ac)
author thib
date Sun, 08 Mar 2009 19:16:36 +0000
parents 3fe3e5f184b5
children 5f548e5957a8
comparison
equal deleted inserted replaced
34:b76a8da75ec3 35:2c574c3d50a9
103 class DIRFILE; 103 class DIRFILE;
104 class SCN2kFILE; 104 class SCN2kFILE;
105 /* ARCINFO はファイルを読み込むために必要 */ 105 /* ARCINFO はファイルを読み込むために必要 */
106 class ARCINFO; 106 class ARCINFO;
107 class ARCFILE_ATOM; 107 class ARCFILE_ATOM;
108
109 class KEYHOLDER {
110 public:
111 void SetKey(char[16]);
112 void SetKey2(char[33]);
113 void GuessKey(char*);
114 const char* GetKey(void);
115 private:
116 char key[16];
117 };
118
108 class FILESEARCH { 119 class FILESEARCH {
109 public: 120 public:
110 #define TYPEMAX 14 121 #define TYPEMAX 14
111 enum FILETYPE { 122 enum FILETYPE {
112 /* 一応、0 - 15 まで reserved */ 123 /* 一応、0 - 15 まで reserved */
134 ARCTYPE is_archived[TYPEMAX]; 145 ARCTYPE is_archived[TYPEMAX];
135 char* filenames[TYPEMAX]; 146 char* filenames[TYPEMAX];
136 /* デフォルトの information */ 147 /* デフォルトの information */
137 static ARCTYPE default_is_archived[TYPEMAX]; 148 static ARCTYPE default_is_archived[TYPEMAX];
138 static char* default_dirnames[TYPEMAX]; 149 static char* default_dirnames[TYPEMAX];
139 char xor_key[16];
140 public: 150 public:
141 FILESEARCH(void); 151 FILESEARCH(void);
142 ~FILESEARCH(); 152 ~FILESEARCH();
143 /* 初めにゲームのデータがあるディレクトリを設定する必要がある */ 153 /* 初めにゲームのデータがあるディレクトリを設定する必要がある */
144 int InitRoot(char* root); 154 int InitRoot(char* root);
152 /* fname で指定された名前のファイルを検索 */ 162 /* fname で指定された名前のファイルを検索 */
153 class ARCINFO* Find(FILETYPE type, const char* fname, const char* ext=0); 163 class ARCINFO* Find(FILETYPE type, const char* fname, const char* ext=0);
154 /* ある種類のファイルをすべてリストアップ 164 /* ある種類のファイルをすべてリストアップ
155 ** 末尾は NULL pointer 165 ** 末尾は NULL pointer
156 */ 166 */
157 void SetXorKey(char*);
158 void GuessXorKey(char*);
159 const char* GetXorKey(void);
160 char** ListAll(FILETYPE type); 167 char** ListAll(FILETYPE type);
161 }; 168 };
162 169
163 class ARCINFO { 170 class ARCINFO {
164 protected: 171 protected:
223 void CopyRGBA_rev(char* image, const char* from); 230 void CopyRGBA_rev(char* image, const char* from);
224 void CopyRGB_rev(char* image, const char* from); 231 void CopyRGB_rev(char* image, const char* from);
225 }; 232 };
226 233
227 extern FILESEARCH file_searcher; 234 extern FILESEARCH file_searcher;
235 extern KEYHOLDER key_holder;
228 236
229 #endif // !defined(__KANON_FILE_H__) 237 #endif // !defined(__KANON_FILE_H__)