Beispiel #1
0
        private IList <GameFileContainer> GetMappar(string path)
        {
            var result = new List <GameFileContainer>();

            var imbSearch =
                new GameFileSearch
            {
                RelativePath    = ".",
                SearchPattern   = "*.imb",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(YakuzaGame.Files.Imb.File)
            };

            var map_par_containers = new GameFileContainerSearch
            {
                RelativePath    = @"media\data\map_par",
                TypeSearch      = ContainerType.CompressedFile,
                RecursiveSearch = false,
                SearchPattern   = "st_kamuro.par_c;st_kawara_street.par_c"
            };

            map_par_containers.FileSearches.Add(imbSearch);

            result.AddRange(map_par_containers.GetContainers(path));
            return(result);
        }
Beispiel #2
0
        private IList <GameFileContainer> GetAuth(string path)
        {
            var result = new List <GameFileContainer>();

            var cmnSearch =
                new GameFileSearch
            {
                RelativePath    = ".",
                SearchPattern   = "cmn.bin",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(YakuzaGame.Files.CmnBin.File)
            };

            var ddsSearch =
                new GameFileSearch
            {
                RelativePath    = ".",
                SearchPattern   = "staffroll_d2_??.dds;ifc_jimaku_*.dds",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDSFile)
            };

            var auth_w64_containers = new GameFileContainerSearch
            {
                RelativePath    = @"media\data\auth_w64_e",
                TypeSearch      = ContainerType.CompressedFile,
                RecursiveSearch = false,
                SearchPattern   = "*.par"
            };

            auth_w64_containers.Exclusions.Add("inst_auth.par");
            auth_w64_containers.FileSearches.Add(cmnSearch);
            auth_w64_containers.FileSearches.Add(ddsSearch);

            result.AddRange(auth_w64_containers.GetContainers(path));

            return(result);
        }
Beispiel #3
0
        public override GameFileContainer[] GetContainers(string path)
        {
            var result = new List <GameFileContainer>();

            var ttfFonts = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "*.ttf",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(TrueTypeFontFile)
            };

            var textures = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "SpriteAtlasTexture*.tex.dds;*_en.tex.dds;*_us.tex.dds;locked*.tex.dds;md_ii006.tex.dds;saveload_a.tex.dds;ui_option_text.tex.dds;ui_somnium_maphelp_02.tex.dds",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDS2File)
            };

            var resources = new GameFileContainer
            {
                Path = @".\AI_TheSomniumFiles_Data\resources.assets",
                Type = ContainerType.CompressedFile
            };

            resources.FileSearches.Add(ttfFonts);
            resources.FileSearches.Add(textures);

            result.Add(resources);

            var texturesAll = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "*.tex.dds;",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDS2File)
            };

            var imageNameUs = new GameFileContainer
            {
                Path = @".\AI_TheSomniumFiles_Data\StreamingAssets\AssetBundles\StandaloneWindows64\image_name_us",
                Type = ContainerType.CompressedFile
            };

            imageNameUs.FileSearches.Add(texturesAll);

            result.Add(imageNameUs);

            var textSearch = new GameFileSearch()
            {
                RelativePath    = @"Unity_Assets_Files\luabytecode\CAB-0670e8eb4b419284c6de5d2d82066179\",
                SearchPattern   = "*-us.txt",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.LuaText.File)
            };

            var luaByteCode = new GameFileContainer
            {
                Path = @".\AI_TheSomniumFiles_Data\StreamingAssets\AssetBundles\StandaloneWindows64\luabytecode",
                Type = ContainerType.CompressedFile
            };

            luaByteCode.FileSearches.Add(textSearch);

            result.Add(luaByteCode);

            var textSearch2 = new GameFileSearch()
            {
                RelativePath    = @"Unity_Assets_Files\scene_dance\BuildPlayer-Dance.sharedAssets\",
                SearchPattern   = "lyrics-us.txt;lyrics-us2.txt",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(TextFile)
            };

            var scene_dance = new GameFileContainer
            {
                Path = @".\AI_TheSomniumFiles_Data\StreamingAssets\AssetBundles\StandaloneWindows64\scene_dance",
                Type = ContainerType.CompressedFile
            };

            scene_dance.FileSearches.Add(textSearch2);
            scene_dance.FileSearches.Add(textures);
            result.Add(scene_dance);

            var streamingAssets = new GameFileContainerSearch
            {
                RelativePath  = @".\AI_TheSomniumFiles_Data\StreamingAssets\AssetBundles\StandaloneWindows64",
                SearchPattern =
                    @"clue_image;etc;image;item;item_ii006;item_ii011;item_ii027;operation_guide;saveload;scene_a0-open10_m10_00;scene_autosaveguide;scene_fiction;scene_file;scene_flowchart;scene_investigation;scene_languageselect;scene_optionmenu;scene_options;scene_root;scene_save;scene_somnium;scene_title;scene_to-witter;ui_option;",
                RecursiveSearch = false,
                TypeSearch      = ContainerType.CompressedFile
            };

            streamingAssets.FileSearches.Add(ttfFonts);
            streamingAssets.FileSearches.Add(textures);

            result.AddRange(streamingAssets.GetContainers(path));
            return(result.ToArray());
        }
        public override GameFileContainer[] GetContainers(string path)
        {
            var result = new List <GameFileContainer>();

            var menuMultiLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "title_text_u.bin;option_text_u.bin;save_text_u.bin;system_text_u.bin;credit_text.bin",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.MultiLine.File)
            };

            var menuSingleLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "common_text_u.bin;platform_text_u.bin",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.SingleLine.File)
            };

            var menu = new GameFileContainer
            {
                Path = @"PWAAT_Data\StreamingAssets\menu\text",
                Type = ContainerType.Folder
            };

            menu.FileSearches.Add(menuMultiLineSearch);
            menu.FileSearches.Add(menuSingleLineSearch);

            result.Add(menu);

            var ddsSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "*.dds",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDSFile)
            };

            var images = new GameFileContainerSearch
            {
                RelativePath    = $@"PWAAT_Data\StreamingAssets",
                TypeSearch      = ContainerType.CompressedFile,
                RecursiveSearch = true,
                SearchPattern   = "*u.unity3d",
                Exclusions      = { "science" }
            };

            images.FileSearches.Add(ddsSearch);

            result.AddRange(images.GetContainers(path));

            result.AddRange(GetScenario("gs1", path));
            result.AddRange(GetScenario("gs2", path));
            result.AddRange(GetScenario("gs3", path));

            return(result.ToArray());
        }
        private IEnumerable <GameFileContainer> GetScenario(string scenario, string path)
        {
            var result = new List <GameFileContainer>();

            var scenarioSingleLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"{scenario}_u.cho;{scenario}_sel_u.bin;{scenario}_ba_u.bin;{scenario}_nolb_u.bin;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.SingleLine.File)
            };

            var scenarioMultiLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"{scenario}_note_u.bin;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.MultiLine.File)
            };

            var scenarioMdtSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"*_u.mdt;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.Mdt.File)
            };

            var container = new GameFileContainer
            {
                Path = $@"PWAAT_Data\StreamingAssets\{scenario.ToUpper()}\scenario",
                Type = ContainerType.Folder
            };

            container.FileSearches.Add(scenarioSingleLineSearch);
            container.FileSearches.Add(scenarioMultiLineSearch);
            container.FileSearches.Add(scenarioMdtSearch);

            result.Add(container);

            var ddsSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "*.dds",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDSFile)
            };

            var etc = new GameFileContainerSearch
            {
                RelativePath    = $@"PWAAT_Data\StreamingAssets\{scenario.ToUpper()}\etc",
                TypeSearch      = ContainerType.CompressedFile,
                RecursiveSearch = false,
                SearchPattern   = "*u.unity3d"
            };

            etc.FileSearches.Add(ddsSearch);

            result.AddRange(etc.GetContainers(path));

            return(result.ToArray());
        }
        private IEnumerable <GameFileContainer> GetScenario(string scenario, string path)
        {
            var result = new List <GameFileContainer>();

            var scenarioSingleLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"{scenario}*.cho;{scenario}_sel*.bin;{scenario}_ba*.bin;{scenario}_nolb*.bin;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.SingleLine.File)
            };

            var scenarioMultiLineSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"{scenario}_note*.bin;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.MultiLine.File)
            };

            var scenarioMdtSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = $"*.mdt;",
                IsWildcard      = true,
                RecursiveSearch = false,
                FileType        = typeof(Files.Mdt.File)
            };

            var container = new GameFileContainer
            {
                Path = $@"PWAAT_Data\StreamingAssets\{scenario.ToUpper()}\scenario",
                Type = ContainerType.Folder
            };

            container.FileSearches.Add(scenarioSingleLineSearch);
            container.FileSearches.Add(scenarioMultiLineSearch);
            container.FileSearches.Add(scenarioMdtSearch);

            result.Add(container);

            var ddsSearch = new GameFileSearch()
            {
                RelativePath    = @".",
                SearchPattern   = "*.dds",
                IsWildcard      = true,
                RecursiveSearch = true,
                FileType        = typeof(DDS2File)
            };

            var etc = new GameFileContainerSearch
            {
                RelativePath    = $@"PWAAT_Data\StreamingAssets\{scenario.ToUpper()}",
                TypeSearch      = ContainerType.CompressedFile,
                RecursiveSearch = true,
                SearchPattern   = "*.unity3d",
                Exclusions      = { "3D", "AnimationDictionaries", "Movie", "science", "OtherInclusions", },
            };

            etc.FileSearches.Add(ddsSearch);

            result.AddRange(etc.GetContainers(path));

            return(result.ToArray());
        }