Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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;
            }
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
 public void LoadRenderInfo(BfresRenderInfo renderInfo)
 {
 }