コード例 #1
0
ファイル: Gcf.cs プロジェクト: bonomali/Ibasa
            public GcfFileInfo(Gcf gcf, uint index)
            {
                Gcf   = gcf;
                Index = index;

                if (Index == 0xFFFFFFFF)
                {
                    ParentIndex = 0xFFFFFFFF;
                    Path        = null;
                    ItemSize    = 0;
                    return;
                }

                List <string> path = new List <string>();

                DirectoryEntry entry, parent;

                entry = parent = Gcf.GetDirectoryEntry(Index);

                do
                {
                    path.Add(gcf.GetDirectoryName(parent.NameOffset));
                    if (parent.ParentIndex != 0xFFFFFFFF)
                    {
                        parent = gcf.GetDirectoryEntry(parent.ParentIndex);
                    }
                } while (parent.ParentIndex != 0xFFFFFFFF);

                path.Reverse();
                Path = string.Join(Gcf.Path.DirectorySeparatorChars[0].ToString(), path);

                ParentIndex = entry.ParentIndex;
                ItemSize    = entry.ItemSize;
            }
コード例 #2
0
ファイル: Gcf.cs プロジェクト: Frassle/Ibasa
            public GcfFileInfo(Gcf gcf, uint index)
            {
                Gcf = gcf;
                Index = index;

                if (Index == 0xFFFFFFFF)
                {
                    ParentIndex = 0xFFFFFFFF;
                    Path = null;
                    ItemSize = 0;
                    return;
                }

                List<string> path = new List<string>();

                DirectoryEntry entry, parent;
                entry = parent = Gcf.GetDirectoryEntry(Index);

                do
                {
                    path.Add(gcf.GetDirectoryName(parent.NameOffset));
                    if (parent.ParentIndex != 0xFFFFFFFF)
                        parent = gcf.GetDirectoryEntry(parent.ParentIndex);
                } while (parent.ParentIndex != 0xFFFFFFFF);

                path.Reverse();
                Path = string.Join(Gcf.Path.DirectorySeparatorChars[0].ToString(), path);

                ParentIndex = entry.ParentIndex;
                ItemSize = entry.ItemSize;
            }