Exemplo n.º 1
0
        private WFR _WCC_GenerateCollisionCache(WF_Settings settings)
        {
            settings.LOGGER.LogString($"--------------------------------------------------------------------------");
            settings.LOGGER.LogString($"-- WCC_LITE: GENERATE COLLISION CACHE pm: {settings.PATCH_MODE}");
            settings.LOGGER.LogString($"--------------------------------------------------------------------------");

            try
            {
                WCC_Command buildcache = new buildcache()
                {
                    builder  = cachebuilder.physics,
                    DataBase = settings.DIR_COOKED_FILES_DB(),
                    basedir  = settings.DIR_MODKIT_DEPOT(),
                    Out      = Path.Combine(settings.DIR_DLC_CONTENT(), "collision.cache"),
                    Platform = platform.pc
                };

                settings.LOGGER.LogString("done.");
                return(WCC_Task.RunCommandSync(buildcache));
            }
            catch (Exception ex)
            {
                settings.LOGGER.LogString(ex.ToString());
                throw ex;
            }
        }
Exemplo n.º 2
0
        private WFR _WCC_GenerateTextureCache(WF_Settings settings)
        {
            settings.LOGGER.LogString($"--------------------------------------------------------------------------");
            settings.LOGGER.LogString($"-- WCC_LITE: GENERATE TEXTURE CACHE pm: {settings.PATCH_MODE}");
            settings.LOGGER.LogString($"--------------------------------------------------------------------------");

            if (!Directory.Exists(Path.Combine(settings.DIR_UNCOOKED_TEXTURES(), settings.DIR_DLC_GAMEPATH())))
            {
                settings.LOGGER.LogString($"WARNING: no textures found in {Path.Combine(settings.DIR_UNCOOKED_TEXTURES(), settings.DIR_DLC_GAMEPATH())}");
                return(WFR.WFR_Error);
            }

            try
            {
                WFR result_cook  = WFR.WFR_Error;
                WFR result_cache = WFR.WFR_Error;

                if (Directory.Exists(settings.DIR_COOKED_TEXTURES_DB()))
                {
                    Directory.Delete(settings.DIR_COOKED_TEXTURES_DB());
                }

                // cook textures

                WCC_Command cook = new cook()
                {
                    Platform = platform.pc,
                    mod      = settings.DIR_UNCOOKED_TEXTURES(),
                    basedir  = settings.DIR_UNCOOKED_TEXTURES(),
                    outdir   = settings.DIR_COOKED_DLC()
                };
                result_cook = WCC_Task.RunCommandSync(cook);
                if (result_cook == WFR.WFR_Error)
                {
                    return(WFR.WFR_Error);
                }

                // move so it is separated from "normal" files cook.db
                if (File.Exists(Path.Combine(settings.DIR_COOKED_DLC(), "cook.db")))
                {
                    File.Delete(Path.Combine(settings.DIR_COOKED_DLC(), "cook.db"));
                }

                // build texture cache
                WCC_Command buildcache = new buildcache()
                {
                    builder  = cachebuilder.textures,
                    DataBase = settings.DIR_COOKED_TEXTURES_DB(),
                    basedir  = settings.DIR_UNCOOKED_TEXTURES(),
                    Out      = Path.Combine(settings.DIR_DLC_CONTENT(), "texture.cache"),
                    Platform = platform.pc
                };
                result_cache = WCC_Task.RunCommandSync(buildcache);
                if (result_cache == WFR.WFR_Error)
                {
                    return(WFR.WFR_Error);
                }

                settings.LOGGER.LogString("done.");
                return(WFR.WFR_Finished);
            }
            catch (Exception ex)
            {
                settings.LOGGER.LogString(ex.ToString());
                throw ex;
            }
        }