private void convertShaderToolStripMenuItem_Click( object sender, EventArgs e )
{
string OldFileName = GetRegKey( "LastShaderFilename", m_ApplicationPath );
openFileDialogShader.InitialDirectory = Path.GetDirectoryName( OldFileName );
openFileDialogShader.FileName = Path.GetFileName( OldFileName );
// if ( openFileDialogShader.ShowDialog( this ) != DialogResult.OK )
// return;
// SetRegKey( "LastShaderFilename", openFileDialogShader.FileName );
openFileDialogShader.FileName = @"E:\[Workspaces]\GodComplex\Resources\Shaders\GIRenderCubeMap.hlsl";
// Perform conversion
string CSharpCode = null;
try
{
// Load the shader code
string ShaderCode = null;
FileInfo ShaderFile = new FileInfo( openFileDialogShader.FileName );
using ( StreamReader S = ShaderFile.OpenText() )
ShaderCode = S.ReadToEnd();
// Perform conversion
CSharpCode = Converter.ConvertShader( ShaderFile, ShaderCode, "Test", "VS", "PS" );
}
catch ( Converter.ConverterException _e )
{
SourceErrorForm F = new SourceErrorForm( "An error occurred while converting shader \"" + openFileDialogShader.FileName + "\" to C# class!\n\n", _e );
F.ShowDialog( this );
return;
}
catch ( Exception _e )
{
MessageBox( "An error occurred while converting shader to C# class!\n\n" + _e.Message );
return;
}
// Save the result
OldFileName = GetRegKey( "LastCSharpFilename", m_ApplicationPath );
saveFileDialogShader.InitialDirectory = Path.GetDirectoryName( OldFileName );
saveFileDialogShader.FileName = Path.GetFileName( OldFileName );
if ( saveFileDialogShader.ShowDialog( this ) != DialogResult.OK )
return;
SetRegKey( "LastCSharpFilename", saveFileDialogShader.FileName );
FileInfo CSharpFile = new FileInfo( saveFileDialogShader.FileName );
using ( StreamWriter S = CSharpFile.CreateText() )
{
S.Write( CSharpCode );
}
}