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; } }
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; } }