Example #1
0
        protected void FixXObject(Hashtable namemap, Hashtable refmap, string grphash)
        {
            //set list of critical types
            uint[] types = new uint[] { Data.MetaData.REF_FILE };

            SimPe.Plugin.RefFile fl = new RefFile();

            //now fix the texture References in those Resources
            foreach (uint t in types)
            {
                SimPe.Interfaces.Files.IPackedFileDescriptor[] pfds = package.FindFiles(t);
                foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in pfds)
                {
                    fl.ProcessData(pfd, package);

                    foreach (SimPe.Packages.PackedFileDescriptor rfi in fl.Items)
                    {
                        string name = this.BuildRefString(rfi);
                        SimPe.Interfaces.Files.IPackedFileDescriptor npfd = (SimPe.Interfaces.Files.IPackedFileDescriptor)refmap[name];
                        if (npfd != null)
                        {
                            rfi.Group        = npfd.Group;
                            rfi.LongInstance = npfd.LongInstance;
                        }
                    }

                    fl.SynchronizeUserData();
                }
            }
        }