Subversion Repositories spk

Rev

Rev 18 | Rev 43 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18 Rev 32
Line 70... Line 70...
70
#define AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_
70
#define AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_
71
 
71
 
72
#if _MSC_VER > 1000
72
#if _MSC_VER > 1000
73
#pragma once
73
#pragma once
74
#endif // _MSC_VER > 1000
74
#endif // _MSC_VER > 1000
-
 
75
 
-
 
76
#define LZMA_LEVEL	5
-
 
77
#define LZMA_DICT	(1 << 26)
-
 
78
 
-
 
79
#define PCKHEADERSIZE 10
-
 
80
#define DEFAULT_COMPRESSION_LEVEL	5
75
 
81
 
76
#define tstruct typedef struct SPKEXPORT
82
#define tstruct typedef struct SPKEXPORT
77
#define tclass class SPKEXPORT 
83
#define tclass class SPKEXPORT 
78
 
84
 
79
#include "File_IO.h"
85
#include "File_IO.h"
-
 
86
#include "zlib/zlib.h"
80
//#include "x2bc/x2bc_common/bob_dom.h"
87
//#include "x2bc/x2bc_common/bob_dom.h"
81
//#include "x2bc/x2bc_common/bob_realfile_stream.h"
88
//#include "x2bc/x2bc_common/bob_realfile_stream.h"
82
 
89
 
83
// compression type
90
// compression type
84
enum { SPKCOMPRESS_NONE, SPKCOMPRESS_ZLIB, SPKCOMPRESS_7ZIP, SPKCOMPRESS_LZMA, SPKCOMPRESS_BEST };
91
enum { SPKCOMPRESS_NONE, SPKCOMPRESS_ZLIB, SPKCOMPRESS_7ZIP, SPKCOMPRESS_LZMA, SPKCOMPRESS_BEST };
85
// file type
92
// file type
-
 
93
typedef enum {
-
 
94
	FILETYPE_SCRIPT,
-
 
95
	FILETYPE_TEXT,
-
 
96
	FILETYPE_README,
-
 
97
	FILETYPE_MAP,
-
 
98
	FILETYPE_MOD,
-
 
99
	FILETYPE_UNINSTALL,
-
 
100
	FILETYPE_SOUND,
-
 
101
	FILETYPE_EXTRA,
-
 
102
	FILETYPE_SCREEN,
-
 
103
	FILETYPE_MISSION,
-
 
104
	FILETYPE_ADVERT,
-
 
105
	FILETYPE_SHIPOTHER,
-
 
106
	FILETYPE_SHIPMODEL,
-
 
107
	FILETYPE_SHIPSCENE,
86
enum {FILETYPE_SCRIPT, FILETYPE_TEXT, FILETYPE_README, FILETYPE_MAP, FILETYPE_MOD, FILETYPE_UNINSTALL, FILETYPE_SOUND, FILETYPE_EXTRA, FILETYPE_SCREEN, FILETYPE_MISSION, FILETYPE_ADVERT, FILETYPE_SHIPOTHER, FILETYPE_SHIPMODEL, FILETYPE_SHIPSCENE, FILETYPE_COCKPITSCENE, FILETYPE_MAX, FILETYPE_BACKUP };
108
	FILETYPE_COCKPITSCENE,
-
 
109
	FILETYPE_MAX,
-
 
110
	FILETYPE_BACKUP 
-
 
111
} FileType;
-
 
112
 
87
// special file types used internally
113
// special file types used internally
88
enum {
114
enum {
89
	FILETYPE_SCRIPT_UNINSTALL		= 1000,
115
	FILETYPE_SCRIPT_UNINSTALL		= 1000,
90
};
116
};
91
// error
117
// error
92
enum {SPKERR_NONE, SPKERR_MALLOC, SPKERR_FILEOPEN, SPKERR_FILEREAD, SPKERR_UNCOMPRESS, SPKERR_WRITEFILE, SPKERR_CREATEDIRECTORY, SPKERR_FILEMISMATCH};
118
enum {SPKERR_NONE, SPKERR_MALLOC, SPKERR_FILEOPEN, SPKERR_FILEREAD, SPKERR_UNCOMPRESS, SPKERR_WRITEFILE, SPKERR_CREATEDIRECTORY, SPKERR_FILEMISMATCH};
93
enum {STATUS_NONE, STATUS_COMPRESS, STATUS_WRITE};
119
enum {STATUS_NONE, STATUS_COMPRESS, STATUS_WRITE};
94
 
120
 
95
#include "zlib/zlib.h"
-
 
96
 
-
 
97
#define LZMA_LEVEL	5
-
 
98
#define LZMA_DICT	(1 << 26)
-
 
99
 
-
 
100
#define PCKHEADERSIZE 10
-
 
101
#define DEFAULT_COMPRESSION_LEVEL	5
-
 
102
 
121
 
103
bool IsDataPCK ( const unsigned char *data, size_t size );
122
bool IsDataPCK ( const unsigned char *data, size_t size );
104
unsigned char SPKEXPORT *UnPCKData ( unsigned char *data, size_t datasize, size_t *len, bool nocrypt );
123
unsigned char SPKEXPORT *UnPCKData ( unsigned char *data, size_t datasize, size_t *len, bool nocrypt );
105
unsigned char SPKEXPORT *UnPCKFile ( const char *file, size_t *len, bool nocrypt );
124
unsigned char SPKEXPORT *UnPCKFile ( const char *file, size_t *len, bool nocrypt );
106
unsigned char SPKEXPORT *UnPCKData ( unsigned char *data, size_t datasize, size_t *len );
125
unsigned char SPKEXPORT *UnPCKData ( unsigned char *data, size_t datasize, size_t *len );
107
int ReadScriptVersionFromData ( unsigned char *data, long size );
126
int ReadScriptVersionFromData ( unsigned char *data, long size );
Line 112... Line 131...
112
class C_File;
131
class C_File;
113
class SPKEXPORT CProgressInfo
132
class SPKEXPORT CProgressInfo
114
{
133
{
115
public:
134
public:
116
	CProgressInfo () { m_bDoIn = false; m_lMaxSize = 0; m_bDoHalf = false; m_bSecondHalf = false; m_bDoSecond = false; m_iStatus = -1; m_iDone = 0;}
135
	CProgressInfo () { m_bDoIn = false; m_lMaxSize = 0; m_bDoHalf = false; m_bSecondHalf = false; m_bDoSecond = false; m_iStatus = -1; m_iDone = 0;}
117
 
136
 
118
	void SetIn ( bool in ) { m_bDoIn = in; }
137
	void SetIn ( bool in ) { m_bDoIn = in; }
119
	void SetMax ( long max ) { m_lMaxSize = max; }
138
	void SetMax ( long max ) { m_lMaxSize = max; }
120
	void DoHalf() { m_bDoHalf = true; m_bSecondHalf = false; }
139
	void DoHalf() { m_bDoHalf = true; m_bSecondHalf = false; }
121
	void SecondHalf() { m_bSecondHalf = true; }
140
	void SecondHalf() { m_bSecondHalf = true; }
122
	void SwitchSecond() { m_bDoSecond = !m_bDoSecond; }
141
	void SwitchSecond() { m_bDoSecond = !m_bDoSecond; }
Line 399... Line 418...
399
	CyString	m_sOriginalName;
418
	CyString	m_sOriginalName;
400
 
419
 
401
	int m_iLastError;
420
	int m_iLastError;
402
	bool	m_bDontDeleteData; // fix for bad data deleteion
421
	bool	m_bDontDeleteData; // fix for bad data deleteion
403
};
422
};
404
 
-
 
405
 
423
 
406
#endif // !defined(AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_)
424
#endif // !defined(AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_)