private ListViewItem CreateRenderInfoItem(BfresRenderInfo rnd) { ListViewItem item = new ListViewItem(); item.Text = rnd.Name; string Value = ""; switch (rnd.Type) { case RenderInfoType.Int32: Value = string.Join(",", rnd.ValueInt); break; case RenderInfoType.Single: Value = string.Join(",", rnd.ValueFloat); break; case RenderInfoType.String: Value = string.Join(",", rnd.ValueString); break; } item.SubItems.Add(Value); item.SubItems.Add(rnd.Type.ToString()); return(item); }
private void renderInfoListView_SelectedIndexChanged_1(object sender, EventArgs e) { if (renderInfoListView.SelectedItems.Count > 0) { btnScrolDown.Enabled = true; btnScrollUp.Enabled = true; btnEdit.Enabled = true; btnRemove.Enabled = true; foreach (var info in material.renderinfo) { if (info.Name == renderInfoListView.SelectedItems[0].Text) { activeRenderInfo = info; } } } else { activeRenderInfo = null; btnScrolDown.Enabled = false; btnScrollUp.Enabled = false; btnEdit.Enabled = false; btnRemove.Enabled = false; } }
private void btnAddRenderInfo_Click(object sender, EventArgs e) { BfresRenderInfo info = new BfresRenderInfo(); activeRenderInfo = info; activeRenderInfo.Type = RenderInfoType.Int32; activeRenderInfo.ValueInt = new int[0]; bool IsEdited = EditData(); if (IsEdited) { material.renderinfo.Add(activeRenderInfo); InitializeRenderInfoList(material); } }
public static void ReadRenderInfo(this FMAT m, Material mat) { m.renderinfo.Clear(); foreach (RenderInfo rnd in mat.RenderInfos.Values) { BfresRenderInfo r = new BfresRenderInfo(); r.Name = rnd.Name; r.Type = r.GetTypeWiiU(rnd.Type); switch (rnd.Type) { case RenderInfoType.Int32: r.ValueInt = rnd.GetValueInt32s(); break; case RenderInfoType.Single: r.ValueFloat = rnd.GetValueSingles(); break; case RenderInfoType.String: r.ValueString = rnd.GetValueStrings(); break; } m.renderinfo.Add(r); } }
public void LoadRenderInfo(BfresRenderInfo renderInfo) { alphaControl = new AlphaGLControl(); depthControl = new DepthGLControl(); colorControl = new ColorGLControl(); switch (renderInfo.Name) { case "gsys_alpha_test_enable": alphaControl.EnableAlphaTest = ParseString(renderInfo.ValueString); break; case "gsys_alpha_test_func": alphaControl.AlphaFunction = ParseAlphaFunction(renderInfo.ValueString); break; case "gsys_alpha_test_value": if (renderInfo.ValueFloat != null) { alphaControl.AlphaTestRef = renderInfo.ValueFloat[0]; } if (renderInfo.ValueString != null) { float.TryParse(renderInfo.ValueString[0], out alphaControl.AlphaTestRef); } break; case "gsys_color_blend_alpha_dst_func": break; case "gsys_color_blend_alpha_op": break; case "gsys_color_blend_alpha_src_func": break; case "gsys_color_blend_const_color": colorControl.BlendColorConst = ParseFloat4(renderInfo.ValueFloat); break; case "gsys_color_blend_rgb_dst_func": break; case "gsys_color_blend_rgb_op": break; case "gsys_color_blend_rgb_src_func": break; case "gsys_depth_test_enable": depthControl.EnableTest = ParseString(renderInfo.ValueString); break; case "gsys_depth_test_func": depthControl.DepthFunction = ParseDepthFunction(renderInfo.ValueString); break; case "gsys_depth_test_write": depthControl.EnableWrite = ParseString(renderInfo.ValueString); break; case "gsys_render_state_display_face": DisplayCullFace = ParseDisplayFace(renderInfo.ValueString); break; case "gsys_render_state_mode": RenderMode = ParseRenderStateMode(renderInfo.ValueString); break; } }
public void LoadValues(BfresRenderInfo info) { textBox1.Text = info.Name; comboBox1.SelectedItem = info.Type; if (info.Type == RenderInfoType.Int32) { valueInts = info.ValueInt.OfType <int>().ToList(); } if (info.Type == RenderInfoType.Single) { valueFloats = info.ValueFloat.OfType <float>().ToList(); } if (info.Type == RenderInfoType.String) { valueStrings = info.ValueString.OfType <string>().ToList(); } foreach (int i in valueInts) { valuesListView.Items.Add(i.ToString()); } foreach (float f in valueFloats) { valuesListView.Items.Add(f.ToString()); } foreach (string str in valueStrings) { valuesListView.Items.Add(str); } Type enumType; FieldInfo field; MemberInfo member; object enumValue; string[] arrEnumNames; MemberInfo[] members; if (Runtime.activeGame == Runtime.ActiveGame.SMO) { members = typeof(RenderInfoEnums.SMO).GetMembers(); } else if (Runtime.activeGame == Runtime.ActiveGame.ARMs) { members = typeof(RenderInfoEnums.ARMS).GetMembers(); } else if (Runtime.activeGame == Runtime.ActiveGame.BOTW) { members = typeof(RenderInfoEnums.BOTW).GetMembers(); } else if (Runtime.activeGame == Runtime.ActiveGame.Splatoon2) { members = typeof(RenderInfoEnums.Splatoon2).GetMembers(); } else { members = typeof(RenderInfoEnums.MK8D).GetMembers(); } for (int i = 0; i < members.Length; i++) { member = members[i]; if (member.MemberType == MemberTypes.NestedType) { enumType = Type.GetType(member.DeclaringType.FullName + "+" + member.Name); if (enumType.IsEnum) { Console.WriteLine(member.Name); if (member.Name == info.Name) { arrEnumNames = enumType.GetEnumNames(); foreach (string name in arrEnumNames) { renderInfoEnumsCB.Items.Add(name); } } } } } valuesListView.Items[0].Selected = true; valuesListView.Select(); }
public void LoadRenderInfo(BfresRenderInfo renderInfo) { }