1
This commit is contained in:
149
sdklauncher/ModWizard_CopyFiles.h
Normal file
149
sdklauncher/ModWizard_CopyFiles.h
Normal file
@ -0,0 +1,149 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef MODWIZARD_COPYFILES_H
|
||||
#define MODWIZARD_COPYFILES_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#include <vgui_controls/WizardSubPanel.h>
|
||||
#include <vgui_controls/Label.h>
|
||||
#include <vgui_controls/ProgressBar.h>
|
||||
#include "utlvector.h"
|
||||
#include "configs.h"
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------- //
|
||||
// CreateModWizard sub panel 3.
|
||||
// This panel asks for the directory to install in and the mod name.
|
||||
// --------------------------------------------------------------------------------------------------------------------- //
|
||||
|
||||
namespace vgui
|
||||
{
|
||||
|
||||
class CModWizardSubPanel_CopyFiles : public WizardSubPanel
|
||||
{
|
||||
public:
|
||||
typedef WizardSubPanel BaseClass;
|
||||
|
||||
public:
|
||||
CModWizardSubPanel_CopyFiles( Panel *parent, const char *panelName );
|
||||
|
||||
// Called to store the settings it'll use to copy all the files over.
|
||||
void GetReady( const char *pOutputDirName, const char *pOutputModGamedirName, const char *modName ) ;
|
||||
|
||||
virtual WizardSubPanel* GetNextSubPanel();
|
||||
virtual void OnDisplayAsNext();
|
||||
virtual void OnTick();
|
||||
|
||||
|
||||
protected:
|
||||
class CFileCopyInfo
|
||||
{
|
||||
public:
|
||||
CFileCopyInfo( const char *pIn, const char *pOut )
|
||||
{
|
||||
Q_strncpy( m_InFilename, pIn, sizeof( m_InFilename ) );
|
||||
Q_strncpy( m_OutFilename, pOut, sizeof( m_OutFilename ) );
|
||||
}
|
||||
|
||||
char m_InFilename[MAX_PATH];
|
||||
char m_OutFilename[MAX_PATH];
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
bool BuildCopyFiles_R( const char *pSourceDir, const char *pMask, const char *pOutputDirName );
|
||||
|
||||
bool BuildCopyFilesForMappings( char **pMappings, int nMappings );
|
||||
bool HandleSpecialFileCopy( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
bool HandleReplacements_GenericVCProj( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
virtual bool BuildCopyFilesForMod_HL2() = 0;
|
||||
virtual bool BuildCopyFilesForMod_HL2MP() = 0;
|
||||
virtual bool BuildCopyFilesForMod_FromScratch() = 0;
|
||||
virtual bool BuildCopyFilesForMod_SourceCodeOnly() = 0;
|
||||
virtual bool HandleReplacements_GameProjectFiles( CFileCopyInfo *pInfo, bool &bErrorStatus ) = 0;
|
||||
virtual bool HandleReplacements_Solution( CFileCopyInfo *pInfo, bool &bErrorStatus ) = 0;
|
||||
// Right now only one of these files gets modified, but keeping it here for expansion in the future.
|
||||
virtual bool HandleReplacements_TemplateOptions( CFileCopyInfo *pInfo, bool &bErrorStatus ) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
CUtlVector<CFileCopyInfo> m_FileCopyInfos;
|
||||
int m_iCurCopyFile; // -1 at the beginning.
|
||||
|
||||
|
||||
Label *m_pLabel;
|
||||
Label *m_pFinishedLabel;
|
||||
ProgressBar *m_pProgressBar;
|
||||
|
||||
char m_OutputDirName[MAX_PATH]; // c:\mymod
|
||||
char m_OutModGamedirName[MAX_PATH]; // c:\mymod\mymod
|
||||
char m_ModName[MAX_PATH]; // mymod
|
||||
ModType_t m_ModType;
|
||||
};
|
||||
|
||||
class CModWizardSubPanel_CopyFiles_Source2006 : public CModWizardSubPanel_CopyFiles
|
||||
{
|
||||
|
||||
public:
|
||||
CModWizardSubPanel_CopyFiles_Source2006( Panel *parent, const char *panelName );
|
||||
|
||||
private:
|
||||
|
||||
bool BuildCopyFilesForMod_HL2();
|
||||
bool BuildCopyFilesForMod_HL2MP();
|
||||
bool BuildCopyFilesForMod_FromScratch();
|
||||
bool BuildCopyFilesForMod_SourceCodeOnly();
|
||||
bool HandleReplacements_GameProjectFiles( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
bool HandleReplacements_Solution( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
bool HandleReplacements_TemplateOptions( CFileCopyInfo *pInfo, bool &bErrorStatus ) { return false; } // Ep1 will never do this.
|
||||
|
||||
};
|
||||
|
||||
class CModWizardSubPanel_CopyFiles_Source2007 : public CModWizardSubPanel_CopyFiles
|
||||
{
|
||||
public:
|
||||
CModWizardSubPanel_CopyFiles_Source2007( Panel *parent, const char *panelName );
|
||||
|
||||
private:
|
||||
|
||||
bool BuildCopyFilesForMod_HL2();
|
||||
bool BuildCopyFilesForMod_HL2MP();
|
||||
bool BuildCopyFilesForMod_FromScratch();
|
||||
bool BuildCopyFilesForMod_SourceCodeOnly();
|
||||
bool HandleReplacements_GameProjectFiles( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
bool HandleReplacements_Solution( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
|
||||
// Right now only one of these files gets modified, but keeping it here for expansion in the future.
|
||||
bool HandleReplacements_TemplateOptions( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
|
||||
};
|
||||
|
||||
class CModWizardSubPanel_CopyFiles_Source2009 : public CModWizardSubPanel_CopyFiles
|
||||
{
|
||||
public:
|
||||
CModWizardSubPanel_CopyFiles_Source2009( Panel *parent, const char *panelName );
|
||||
|
||||
private:
|
||||
|
||||
bool BuildCopyFilesForMod_HL2();
|
||||
bool BuildCopyFilesForMod_HL2MP();
|
||||
bool BuildCopyFilesForMod_FromScratch();
|
||||
bool BuildCopyFilesForMod_SourceCodeOnly();
|
||||
bool HandleReplacements_GameProjectFiles( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
bool HandleReplacements_Solution( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
|
||||
// Right now only one of these files gets modified, but keeping it here for expansion in the future.
|
||||
bool HandleReplacements_TemplateOptions( CFileCopyInfo *pInfo, bool &bErrorStatus );
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif // MODWIZARD_COPYFILES_H
|
Reference in New Issue
Block a user