reman3/Rayman_X/cpa/Appli/BigFileTool/BigFileToolDlg.h

115 lines
3.3 KiB
C++

// BigFileToolDlg.h : header file
//
#if !defined(AFX_BIGFILETOOLDLG_H__CED7419C_E030_11D2_BB2B_00E02921BF64__INCLUDED_)
#define AFX_BIGFILETOOLDLG_H__CED7419C_E030_11D2_BB2B_00E02921BF64__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <afxtempl.h>
/////////////////////////////////////////////////////////////////////////////
typedef struct tdstFileInfo_
{
char szFileName[64];
DWORD dwSize;
DWORD dwMapNumber;
} tdstFileInfo;
typedef struct tdstMixUpInfo_
{
POSITION xFileInfoPosition;
DWORD dwOccur;
DWORD dwOffSet;
DWORD dwSize;
DWORD dwMapNumber;
char *p_cFileName;
} tdstMixUpInfo;
typedef CList<tdstFileInfo*,tdstFileInfo*> CListOfFileInfo;
typedef struct tdstHeaderInfo_
{
DWORD dwOccur;
DWORD dwOffSet;
} tdstHeaderInfo;
typedef struct tdstBigFileInfo_
{
DWORD dwNbMap;
DWORD dwNbFile;
DWORD dwNbOccur;
DWORD dwMaxFileSize;
DWORD dwBigHeaderSize;
DWORD dwFirstHeaderSize;
DWORD dwHeaderSize;
DWORD dwHeaderStep;
DWORD dwTotalSize;
DWORD dwTotalSector;
} tdstBigFileInfo;
/////////////////////////////////////////////////////////////////////////////
// CBigFileToolDlg dialog
class CBigFileToolDlg : public CDialog
{
// Construction
public:
void WriteINIFile();
CBigFileToolDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CBigFileToolDlg)
enum { IDD = IDD_BIGFILETOOL_DIALOG };
CProgressCtrl m_Ctrl_ProgressBar;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CBigFileToolDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
void UpdateStartPrg();
void InitWithCommandLine ();
void DeleteFiles (char *_szDataPath , CListOfFileInfo *_p_oList);
void ReadINIFile();
BOOL WriteFiles (char *_szDataPath , HANDLE hFile, CListOfFileInfo *_p_oFIList, tdstMixUpInfo *_a_MUITab, tdstBigFileInfo *p_stBFI);
BOOL WriteHeader (HANDLE hFile, CListOfFileInfo *_p_oFIList, tdstMixUpInfo *_a_MUITab, tdstBigFileInfo *p_stBFI);
BOOL MixUpFiles(DWORD _dwBigFileSize , CListOfFileInfo *_p_oFIList, tdstMixUpInfo **_a_MUITab, tdstBigFileInfo *p_stBFI);
void ReadListOfFiles(char *_szDataPath , CStringList *_p_oMapList , CListOfFileInfo *_p_oFIList);
BOOL Run ();
void OnBrowse(UINT nID);
void PeekAndPump();
BOOL MixUpFilesWithExplodedHeader(DWORD _dwBigFileSize , CListOfFileInfo *_p_oFIList , tdstMixUpInfo **_a_MUITab, tdstBigFileInfo *p_stBFI, tdstHeaderInfo **_a_HITab);
BOOL WriteBigFileWithExplodedHeader(char *_szDataPath , HANDLE hFile, CListOfFileInfo *_p_oFIList, tdstMixUpInfo *_a_MUITab, tdstBigFileInfo *p_stBFI, tdstHeaderInfo *_a_HITab);
HICON m_hIcon;
BOOL m_bGenerateInfoFiles;
BOOL m_bAutoRun;
BOOL m_bUpdateStartPrg;
CString m_csErrorMessage;
// Generated message map functions
//{{AFX_MSG(CBigFileToolDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonBrowse();
virtual void OnCancel();
virtual void OnOK();
afx_msg void OnButtonRun();
afx_msg void OnButtonBrowsescript();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_BIGFILETOOLDLG_H__CED7419C_E030_11D2_BB2B_00E02921BF64__INCLUDED_)