diff --git a/doc/Guide.md b/doc/Guide.md index 1d4f67d28daa70393796449c711459958ff1aa65..db4f3663db94034e04a5d769f56c4e198b84373a 100644 --- a/doc/Guide.md +++ b/doc/Guide.md @@ -68,6 +68,14 @@ buffer::ptr use_buffer_on_heap() { ### lava app +``` +--clean, -c +``` + +* clean preferences folder + +<br /> + ``` --v_sync, -vs {0|1} ``` diff --git a/liblava/app/app.cpp b/liblava/app/app.cpp index adab17e6190aefef63af47c3e6e4a1a4ae0515f1..6853ecce43915429853177e980ec6b46722345d1 100644 --- a/liblava/app/app.cpp +++ b/liblava/app/app.cpp @@ -90,9 +90,12 @@ namespace lava { file_system::instance().mount_res(); + auto& cmd_line = get_cmd_line(); + if (cmd_line[{ "-c", "--clean" }]) + file_system::instance().clean_pref_dir(); + handle_config(); - auto& cmd_line = get_cmd_line(); cmd_line({ "-vs", "--v_sync" }) >> config.v_sync; cmd_line({ "-pd", "--physical_device" }) >> config.physical_device; diff --git a/liblava/file/file_system.cpp b/liblava/file/file_system.cpp index e92bfd11ee31a2f6da6b3404bc4ea4411bff97c5..866ad6af7b3c900ed18ea888f0741c83c9056310 100644 --- a/liblava/file/file_system.cpp +++ b/liblava/file/file_system.cpp @@ -127,4 +127,8 @@ namespace lava { return fs::exists(data_path); } + void file_system::clean_pref_dir() { + fs::remove_all(get_pref_dir()); + } + } // namespace lava diff --git a/liblava/file/file_system.hpp b/liblava/file/file_system.hpp index ce83f3ed2c300346ca58ad2457d51ebe6d7fce46..a81f5403e9adc7036a7a29a7804fcceb113f2515 100644 --- a/liblava/file/file_system.hpp +++ b/liblava/file/file_system.hpp @@ -35,6 +35,7 @@ namespace lava { void mount_res(); bool create_data_folder(); + void clean_pref_dir(); name get_org() const { return org;