Exemplo n.º 1
0
        private void Init(STU_E3594B8E arcade, ulong key = default)
        {
            GUID        = (teResourceGUID)key;
            Name        = GetString(arcade.m_name);
            Description = GetString(arcade.m_description);
            Image       = arcade.m_21EB3E73;

            switch (arcade)
            {
            case STU_598579A3 a1:
                Brawl = a1.m_5DC61E59;
                break;

            case STU_19C05237 a2:
                Children = Helper.JSON.FixArray(a2.m_children);
                break;

            default:
                break;
            }

            About = arcade.m_5797DE13?.Select(x => {
                var aboutStuff = STUHelper.GetInstance <STU_56830926>(x);

                var name    = GetString(aboutStuff.m_name);
                string desc = null;

                if (aboutStuff is STU_F31D4F9C ye)
                {
                    desc = GetString(ye.m_description);
                }

                return(new string[] { name, desc });
            }).SelectMany(x => x).Where(x => x != null).ToArray();
        }
Exemplo n.º 2
0
        public ArcadeMode(ulong key)
        {
            STU_E3594B8E stu = STUHelper.GetInstance <STU_E3594B8E>(key);

            if (stu == null)
            {
                return;
            }
            Init(stu, key);
        }
Exemplo n.º 3
0
        public void Extract0EE(ICLIFlags toolFlags)
        {
            string basePath;

            if (toolFlags is ExtractFlags flags)
            {
                basePath = flags.OutputPath;
            }
            else
            {
                throw new Exception("no output path");
            }

            const string container = "Debug0EE";
            string       path      = Path.Combine(basePath, container);

            foreach (ulong key in TrackedFiles[0xEE])
            {
                using (Stream stream = OpenFile(key)) {
                    teStructuredData structuredData = new teStructuredData(stream);

                    STU_E3594B8E inst = structuredData.GetMainInstance <STU_E3594B8E>();

                    if (inst == null)
                    {
                        continue;
                        //inst = structuredData.GetMainInstance<STU_598579A3>();
                    }

                    string name        = $"{GetString(inst.m_name)}_{teResourceGUID.Index(key):X}";
                    string description = GetString(inst.m_description);

                    Combo.ComboInfo info = new Combo.ComboInfo();
                    Combo.Find(info, (ulong)inst.m_21EB3E73);
                    info.SetTextureName((ulong)inst.m_21EB3E73, name);

                    OpenSTUTest(inst.m_7B7CCF55);  // ux1
                    OpenSTUTest(inst.m_E81C5302);  // ux2
                    OpenSTUTest(inst.m_FD9B53F4);  // ux3
                    //{
                    //    teStructuredData uxScreenData = new teStructuredData();
                    //}

                    SaveLogic.Combo.SaveLooseTextures(flags, path, info);
                }
            }
        }
Exemplo n.º 4
0
        private void Init(STU_E3594B8E arcade, ulong key = default)
        {
            GUID        = (teResourceGUID)key;
            Name        = GetString(arcade.m_name);
            Description = GetString(arcade.m_description);
            Image       = arcade.m_21EB3E73;
            Unknown     = Helper.JSON.FixArray(arcade.m_5797DE13);

            switch (arcade)
            {
            case STU_598579A3 a1:
                Brawl = a1.m_5DC61E59;
                break;

            case STU_19C05237 a2:
                Children = Helper.JSON.FixArray(a2.m_children);
                break;

            default:
                break;
            }
        }
Exemplo n.º 5
0
 public ArcadeMode(STU_E3594B8E stu)
 {
     Init(stu);
 }