public MainForm()
{
InitializeComponent();
this.Icon = Properties.Resources.Cyclops;
//GrnFile f = new GrnFile();
//f.Read(File.Open(@"C:\Games\Steam\steamapps\common\Age of Mythology\models\ajax_17youmayfeel.grn", FileMode.Open, FileAccess.Read, FileShare.Read));
//f.DumpData(File.Open(@"C:\Games\Steam\steamapps\common\Age of Mythology\models\ajax_17youmayfeel.grn", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Users\Petar\Desktop\GRN\OUTPUT\OutputAjax_17YouMayFeel6");
//BrgFile f = new BrgFile(File.Open(@"C:\Games\Steam\steamapps\common\Age of Mythology\models\cavalry g prodromos_attacka.brg", FileMode.Open, FileAccess.Read, FileShare.Read));
//BrgFile f2 = new BrgFile(File.Open(@"C:\Games\Steam\steamapps\common\Age of Mythology\models\cavalry g prodromos_attacka.brg", FileMode.Open, FileAccess.Read, FileShare.Read));
//f2.Materials[0].id = 12212;
//int eq = f.Materials.IndexOf(f2.Materials[0]);
// Brg Objects Viewer
this.brgObjectListView.FormatCell += objectListView1_FormatCell;
this.brgObjectListView.CellEditStarting += objectListView1_CellEditStarting;
this.brgObjectListView.CellEditFinishing += objectListView1_CellEditFinishing;
this.brgObjectListView.MouseEnter += ObjectListView_MouseEnter;
this.brgObjectListView.CellEditActivation = ObjectListView.CellEditActivateMode.DoubleClick;
this.brgObjectListView.ShowGroups = false;
this.brgObjectListView.OwnerDraw = true;
this.brgObjectListView.UseCellFormatEvents = true;
// Brg Tree View
this.brgObjectsTreeListView.MouseEnter += TreeListView_MouseEnter;
brgObjectsTreeListView.FullRowSelect = true;
brgObjectsTreeListView.HideSelection = false;
brgObjectsTreeListView.CanExpandGetter = delegate(object rowObject)
{
if (rowObject is BrgMesh)
{
return(((BrgMesh)rowObject).MeshAnimations.Count > 0);
}
return(false);
};
brgObjectsTreeListView.ChildrenGetter = delegate(object rowObject)
{
if (rowObject is BrgMesh)
{
return(((BrgMesh)rowObject).MeshAnimations);
}
return(null);
};
OLVColumn nameCol = new OLVColumn("Name", "Name");
nameCol.FillsFreeSpace = true;
brgObjectsTreeListView.Columns.Add(nameCol);
// Grn Objects Viewer
//this.grnObjectListView.FormatCell += objectListView1_FormatCell;
//this.grnObjectListView.CellEditStarting += objectListView1_CellEditStarting;
//this.grnObjectListView.CellEditFinishing += objectListView1_CellEditFinishing;
this.grnObjectListView.MouseEnter += ObjectListView_MouseEnter;
this.grnObjectListView.CellEditActivation = ObjectListView.CellEditActivateMode.DoubleClick;
this.grnObjectListView.ShowGroups = false;
//this.grnObjectListView.OwnerDraw = true;
//this.grnObjectListView.UseCellFormatEvents = true;
// Grn Tree View
this.grnObjectsTreeListView.SelectedIndexChanged += grnObjectsTreeListView_SelectedIndexChanged;
this.grnObjectsTreeListView.MouseEnter += TreeListView_MouseEnter;
grnObjectsTreeListView.FullRowSelect = true;
grnObjectsTreeListView.HideSelection = false;
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);
};
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 = 300;
grnObjectsTreeListView.Columns.Add(nameCol);
// Model Settings
Settings.Read();
brg = new BrgUi(this);
grn = new GrnUi(this);
brg.LoadUI();
grn.LoadUI();
model = brg;
}