Exemplo n.º 1
0
        public void Load(byte[] data, RpfFileEntry entry)
        {
            Name         = entry.Name;
            RpfFileEntry = entry;

            RpfResourceFileEntry resentry = entry as RpfResourceFileEntry;

            if (resentry == null)
            {
                throw new Exception("File entry wasn't a resource! (is it binary data?)");
            }

            ResourceDataReader rd = new ResourceDataReader(resentry, data);

            Fragment = rd.ReadBlock <FragType>();

            if (Fragment.Drawable != null)
            {
                Fragment.Drawable.Owner = this;
            }
            if (Fragment.Drawable2 != null)
            {
                Fragment.Drawable2.Owner = this;
            }

            Loaded = true;
        }
        public void Load(string fileName)
        {
            var resource = new ResourceFile_GTA5_pc <FragType>();

            resource.Load(fileName);

            fragType = resource.ResourceData;
        }
Exemplo n.º 3
0
    public FragType GetRandomFrag(bool tangible)
    {
        int beg = (int)FragType.MAKE_BUILDING + 1;              //start after MakeBuilding

        if (tangible)
        {
            beg = 5;             //start after Make Building and the build fragments
        }

        //Needs to return a random type for a specific tier
        return((FragType)Random.Range(beg, FragType.GetValues(typeof(FragType)).Length));
    }
Exemplo n.º 4
0
        public static string GetXml(YftFile yft, string outputFolder = "")
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine(XmlHeader);

            if (yft?.Fragment != null)
            {
                FragType.WriteXmlNode(yft.Fragment, sb, 0, outputFolder);
            }

            return(sb.ToString());
        }
Exemplo n.º 5
0
    public static string IntToFrag(FragType ft)
    {
        if (TypeToFrag == null)
        {
            return("");
        }
        if ((int)ft > TypeToFrag.Length)
        {
            return("");
        }

        return(TypeToFrag[(int)ft]);
    }
        public void Load(Stream stream)
        {
            var resource = new ResourceFile_GTA5_pc <FragType>();

            resource.Load(stream);

            if (resource.Version != 162)
            {
                throw new Exception("version error");
            }

            fragType = resource.ResourceData;
        }
Exemplo n.º 7
0
        public static YftFile GetYft(XmlDocument doc, string inputFolder = "")
        {
            YftFile r = new YftFile();

            var ddsfolder = inputFolder;

            var node = doc.DocumentElement;

            if (node != null)
            {
                r.Fragment = FragType.ReadXmlNode(node, ddsfolder);
            }

            r.Name = Path.GetFileName(inputFolder);

            return(r);
        }
Exemplo n.º 8
0
        // Copy from
        void CopyFrom(RayfireShatter shatter)
        {
            type = shatter.type;

            voronoi   = new RFVoronoi(shatter.voronoi);
            splinters = new RFSplinters(shatter.splinters);
            slabs     = new RFSplinters(shatter.slabs);
            radial    = new RFRadial(shatter.radial);
            custom    = new RFCustom(shatter.custom);
            slice     = new RFSlice(shatter.slice);
            tets      = new RFTets(shatter.tets);

            mode = shatter.mode;
            material.CopyFrom(shatter.material);
            clusters = new RFShatterCluster(shatter.clusters);
            advanced = new RFShatterAdvanced(shatter.advanced);
        }
Exemplo n.º 9
0
    //gets a different random fragment basedon which plane the tile is on
    void RefreshFragment()
    {
        PlaneManager pm = PlaneManager.PM;

        GameObject p = transform.parent.gameObject;

        if (p == pm.HighPlane)
        {
            NextFrag = FragmentManager.FM.GetRandomFrag(FragmentManager.FM.UpperFrags);
        }
        else if (p == pm.MidPlane)
        {
            NextFrag = FragmentManager.FM.GetRandomFrag(FragmentManager.FM.MiddleFrags);
        }
        else if (p == pm.LowPlane)
        {
            NextFrag = FragmentManager.FM.GetRandomFrag(FragmentManager.FM.LowerFrags);
        }
    }
Exemplo n.º 10
0
        private void UpdateModelsUI(FragType frag)
        {
            DetailsPropertyGrid.SelectedObject = frag;

            var drawable = frag.Drawable;

            DrawableDrawFlags.Clear();
            Renderer.SelectionModelDrawFlags.Clear();
            Renderer.SelectionGeometryDrawFlags.Clear();
            ModelsTreeView.Nodes.Clear();
            ModelsTreeView.ShowRootLines = false;
            TexturesTreeView.Nodes.Clear();
            if (drawable != null)
            {
                AddDrawableModelsTreeNodes(drawable.DrawableModelsHigh, "High Detail", true);
                AddDrawableModelsTreeNodes(drawable.DrawableModelsMedium, "Medium Detail", false);
                AddDrawableModelsTreeNodes(drawable.DrawableModelsLow, "Low Detail", false);
                AddDrawableModelsTreeNodes(drawable.DrawableModelsVeryLow, "Very Low Detail", false);
                //AddSelectionDrawableModelsTreeNodes(item.Drawable.DrawableModelsX, "X Detail", false);
            }
        }
Exemplo n.º 11
0
        /// /////////////////////////////////////////////////////////
        /// Stretching
        /// /////////////////////////////////////////////////////////

        // Set stretching
        static void SetStretching(RFShatter shatter, AxisType axis, float strength, FragType fragType)
        {
            // Get slab vector
            Vector3 stretchDir = DirectionAxis(axis);

            // Adjust for slabs
            if (fragType == FragType.Slabs)
            {
                Vector3 vector = new Vector3();
                if (stretchDir.x <= 0)
                {
                    vector.x = 1f;
                }
                if (stretchDir.x >= 1f)
                {
                    vector.x = 0;
                }
                if (stretchDir.y <= 0)
                {
                    vector.y = 1f;
                }
                if (stretchDir.y >= 1f)
                {
                    vector.y = 0;
                }
                if (stretchDir.z <= 0)
                {
                    vector.z = 1f;
                }
                if (stretchDir.z >= 1f)
                {
                    vector.z = 0;
                }
                stretchDir = vector;
            }

            // Set stretch vector
            shatter.SetPoint3Parameter((int)RFShatter.FragmentParams.stretching, stretchDir * Mathf.Lerp(40f, 99f, strength));
        }
Exemplo n.º 12
0
 public FragTypeWrapper_GTA5_pc(FragType fragType)
 {
     this.fragType = fragType;
 }
Exemplo n.º 13
0
 public Fragment(FragType _type, String _str)
 {
     str  = _str;
     type = _type;
 }
Exemplo n.º 14
0
 //Creates an instance for the type of fragment passed
 public static Fragment CreateFragment(FragType ft)
 {
     return(CreateFragment(IntToFrag(ft)));
 }
 public FragmentFileWrapper_GTA5_pc()
 {
     fragType = new FragType();
 }
Exemplo n.º 16
0
 //sets the fragment held in the tile
 public void setFragment(FragType ft)
 {
     NextFrag = ft;
 }