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 71... Line 71...
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
 
75
 
-
 
76
#define LZMA_LEVEL	5
-
 
77
#define LZMA_DICT	(1 << 26)
-
 
78
 
-
 
79
#define PCKHEADERSIZE 10
-
 
80
#define DEFAULT_COMPRESSION_LEVEL	5
-
 
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 );
Line 400... Line 419...
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
 
423
 
405
 
-
 
406
#endif // !defined(AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_)
424
#endif // !defined(AFX_FILE_H__A0C15B81_4FD1_40D7_8EE8_2ECF5824BB8B__INCLUDED_)