public MaxPluginForm()
{
InitializeComponent();
this.DoubleBuffered = true;
this.StartPosition = FormStartPosition.Manual;
this.Location = new Point(0, 0);
this.MaximizeBox = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
openFileDialog.Filter = "brg files|*.brg|grn files|*.grn";
saveFileDialog.Filter = "brg files|*.brg|grn files|*.grn";
saveFileDialog.AddExtension = false;
// Update Colors
uiUp = CuiUpdater.GetInstance();
mainMenuStrip.Renderer = new ToolStripMaxPluginRenderer();
mainStatusStrip.SizingGrip = false;
mainStatusStrip.BackColor = uiUp.GetControlColor();
mainStatusStrip.ForeColor = uiUp.GetTextColor();
for (int i = 0; i < mainTabControl.TabPages.Count; i++)
{
mainTabControl.TabPages[i].BackColor = uiUp.GetControlColor();
mainTabControl.TabPages[i].ForeColor = uiUp.GetTextColor();
}
// Brg Tab
brgDataSplitContainer.Panel2MinSize = 350;
brgObjectsGroupBox.ForeColor = uiUp.GetTextColor();
brgImportGroupBox.ForeColor = uiUp.GetTextColor();
brgMeshInterpTypeGroupBox.ForeColor = uiUp.GetTextColor();
attachpointGroupBox.ForeColor = uiUp.GetTextColor();
brgMeshFlagsGroupBox.ForeColor = uiUp.GetTextColor();
brgMeshFormatGroupBox.ForeColor = uiUp.GetTextColor();
brgMeshAnimTypeGroupBox.ForeColor = uiUp.GetTextColor();
brgOptionsGroupBox.ForeColor = uiUp.GetTextColor();
brgExportGroupBox.ForeColor = uiUp.GetTextColor();
brgMeshFlagsCheckedListBox.ItemCheck += brgMeshFlagsCheckedListBox_ItemCheck;
brgMeshFlagsCheckedListBox.BackColor = uiUp.GetEditControlColor();
brgMeshFlagsCheckedListBox.ForeColor = uiUp.GetTextColor();
brgMeshFlagsCheckedListBox.BorderStyle = BorderStyle.FixedSingle;
brgMeshFlagsCheckedListBox.MultiColumn = true;
brgMeshFlagsCheckedListBox.CheckOnClick = true;
brgMeshFlagsCheckedListBox.ColumnWidth = 150;
brgMeshFlagsCheckedListBox.DataSource = Enum.GetValues(typeof(BrgMeshFlag));
brgMeshFormatCheckedListBox.ItemCheck += brgMeshFormatCheckedListBox_ItemCheck;
brgMeshFormatCheckedListBox.BackColor = uiUp.GetEditControlColor();
brgMeshFormatCheckedListBox.ForeColor = uiUp.GetTextColor();
brgMeshFormatCheckedListBox.BorderStyle = BorderStyle.FixedSingle;
brgMeshFormatCheckedListBox.MultiColumn = true;
brgMeshFormatCheckedListBox.CheckOnClick = true;
brgMeshFormatCheckedListBox.ColumnWidth = 150;
brgMeshFormatCheckedListBox.DataSource = Enum.GetValues(typeof(BrgMeshFormat));
keyframeRadioButton.CheckedChanged += brgMeshAnimTypeRadioButton_CheckedChanged;
nonuniRadioButton.CheckedChanged += brgMeshAnimTypeRadioButton_CheckedChanged;
skinBoneRadioButton.CheckedChanged += brgMeshAnimTypeRadioButton_CheckedChanged;
interpolationTypeCheckBox.CheckStateChanged += brgMeshInterpolationTypeCheckBox_CheckStateChanged;
// Tree List View Style
HeaderFormatStyle treelistviewstyle = new HeaderFormatStyle();
treelistviewstyle.SetBackColor(uiUp.GetControlColor());
treelistviewstyle.SetForeColor(uiUp.GetTextColor());
treelistviewstyle.Normal.FrameColor = uiUp.GetButtonLightShadow();
treelistviewstyle.Normal.FrameWidth = 1;
treelistviewstyle.Hot.BackColor = uiUp.GetEditControlColor();
treelistviewstyle.Hot.FrameColor = uiUp.GetButtonLightShadow();
treelistviewstyle.Hot.FrameWidth = 1;
// Brg Objects View
this.brgObjectsTreeListView.MouseEnter += TreeListView_MouseEnter;
this.brgObjectsTreeListView.SelectedIndexChanged += brgObjectsTreeListView_SelectionChanged;
this.brgObjectsTreeListView.OwnerDraw = true;
this.brgObjectsTreeListView.RowHeight = 10;
this.brgObjectsTreeListView.BorderStyle = BorderStyle.FixedSingle;
this.brgObjectsTreeListView.OverlayText.BorderColor = uiUp.GetButtonDarkShadow();
this.brgObjectsTreeListView.OverlayText.BorderWidth = 2;
this.brgObjectsTreeListView.BackColor = uiUp.GetEditControlColor();
this.brgObjectsTreeListView.ForeColor = uiUp.GetTextColor();
this.brgObjectsTreeListView.HeaderFormatStyle = treelistviewstyle;
this.brgObjectsTreeListView.FullRowSelect = true;
this.brgObjectsTreeListView.HideSelection = false;
this.brgObjectsTreeListView.CanExpandGetter = delegate(object rowObject)
{
if (rowObject is BrgMesh)
{
return ((BrgMesh)rowObject).MeshAnimations.Count > 0;
}
return false;
};
this.brgObjectsTreeListView.ChildrenGetter = delegate(object rowObject)
{
if (rowObject is BrgMesh)
{
return ((BrgMesh)rowObject).MeshAnimations;
}
return null;
};
OLVColumn nameCol = new OLVColumn("Name", "Name");
nameCol.Width = 675;
this.brgObjectsTreeListView.Columns.Add(nameCol);
// Attachpoints
attachpointListBox.MouseDoubleClick += attachpointListBox_MouseDoubleClick;
attachpointListBox.BackColor = uiUp.GetEditControlColor();
attachpointListBox.ForeColor = uiUp.GetTextColor();
string[] atpts = new string[55];
Array.Copy(BrgAttachpoint.AttachpointNames, atpts, 55);
Array.Sort(atpts);
attachpointListBox.DataSource = atpts;
// Materials
extractMatButton.FlatStyle = FlatStyle.Flat;
extractMatButton.BackColor = uiUp.GetEditControlColor();
extractMatButton.ForeColor = uiUp.GetTextColor();
extractMatButton2.FlatStyle = FlatStyle.Flat;
extractMatButton2.BackColor = uiUp.GetEditControlColor();
extractMatButton2.ForeColor = uiUp.GetTextColor();
materialGroupBox.BackColor = uiUp.GetControlColor();
materialGroupBox.ForeColor = uiUp.GetTextColor();
diffuseMaxTextBox.BackColor = uiUp.GetEditControlColor();
diffuseMaxTextBox.ForeColor = uiUp.GetTextColor();
ambientMaxTextBox.BackColor = uiUp.GetEditControlColor();
ambientMaxTextBox.ForeColor = uiUp.GetTextColor();
specularMaxTextBox.BackColor = uiUp.GetEditControlColor();
specularMaxTextBox.ForeColor = uiUp.GetTextColor();
selfIllumMaxTextBox.BackColor = uiUp.GetEditControlColor();
selfIllumMaxTextBox.ForeColor = uiUp.GetTextColor();
textureMaxTextBox.BackColor = uiUp.GetEditControlColor();
textureMaxTextBox.ForeColor = uiUp.GetTextColor();
reflectionMaxTextBox.BackColor = uiUp.GetEditControlColor();
reflectionMaxTextBox.ForeColor = uiUp.GetTextColor();
bumpMapMaxTextBox.BackColor = uiUp.GetEditControlColor();
bumpMapMaxTextBox.ForeColor = uiUp.GetTextColor();
opacityMaxTextBox.BackColor = uiUp.GetEditControlColor();
opacityMaxTextBox.ForeColor = uiUp.GetTextColor();
specularLevelMaxTextBox.BackColor = uiUp.GetEditControlColor();
specularLevelMaxTextBox.ForeColor = uiUp.GetTextColor();
materialFlagsGroupBox.BackColor = uiUp.GetControlColor();
materialFlagsGroupBox.ForeColor = uiUp.GetTextColor();
materialFlagsCheckedListBox.ItemCheck += materialFlagsCheckedListBox_ItemCheck;
materialFlagsCheckedListBox.BackColor = uiUp.GetEditControlColor();
materialFlagsCheckedListBox.ForeColor = uiUp.GetTextColor();
materialFlagsCheckedListBox.BorderStyle = BorderStyle.FixedSingle;
materialFlagsCheckedListBox.MultiColumn = true;
materialFlagsCheckedListBox.CheckOnClick = true;
materialFlagsCheckedListBox.ColumnWidth = 150;
materialFlagsCheckedListBox.DataSource = Enum.GetValues(typeof(BrgMatFlag));
// Grn Tab
grnDataSplitContainer.Panel2MinSize = 350;
grnExportGroupBox.ForeColor = uiUp.GetTextColor();
grnObjectsGroupBox.ForeColor = uiUp.GetTextColor();
grnPropsGroupBox.ForeColor = uiUp.GetTextColor();
grnPropsListBox.BackColor = uiUp.GetEditControlColor();
grnPropsListBox.ForeColor = uiUp.GetTextColor();
grnPropsListBox.BorderStyle = BorderStyle.None;
// Grn Tree View
this.grnObjectsTreeListView.MouseEnter += TreeListView_MouseEnter;
this.grnObjectsTreeListView.SelectedIndexChanged += grnObjectsTreeListView_SelectedIndexChanged;
this.grnObjectsTreeListView.OwnerDraw = true;
this.grnObjectsTreeListView.RowHeight = 10;
this.grnObjectsTreeListView.BorderStyle = BorderStyle.FixedSingle;
this.grnObjectsTreeListView.OverlayText.BorderColor = uiUp.GetButtonDarkShadow();
this.grnObjectsTreeListView.OverlayText.BorderWidth = 2;
this.grnObjectsTreeListView.BackColor = uiUp.GetEditControlColor();
this.grnObjectsTreeListView.ForeColor = uiUp.GetTextColor();
this.grnObjectsTreeListView.HeaderFormatStyle = treelistviewstyle;
this.grnObjectsTreeListView.FullRowSelect = true;
this.grnObjectsTreeListView.HideSelection = false;
this.grnObjectsTreeListView.CanExpandGetter = delegate(object rowObject)
{
if (rowObject is GrnBone)
{
int rowIndex = grn.File.Bones.IndexOf((GrnBone)rowObject);
return grn.File.Bones.Exists(x => x.ParentIndex == rowIndex);
}
else if (rowObject is GrnMaterial)
{
return ((GrnMaterial)rowObject).DiffuseTexture != null;
}
return false;
};
this.grnObjectsTreeListView.ChildrenGetter = delegate(object rowObject)
{
if (rowObject is GrnBone)
{
int rowIndex = grn.File.Bones.IndexOf((GrnBone)rowObject);
List<GrnBone> bones = grn.File.Bones.FindAll(x => x.ParentIndex == rowIndex);
bones.Remove((GrnBone)rowObject);
return bones;
}
else if (rowObject is GrnMaterial)
{
return new object[] { ((GrnMaterial)rowObject).DiffuseTexture };
}
return null;
};
nameCol = new OLVColumn("Name", "Name");
nameCol.Width = 675;
this.grnObjectsTreeListView.Columns.Add(nameCol);
}
private void MaxPluginForm_Load(object sender, EventArgs e)