Coder Social home page Coder Social logo

tbrearty / vam-varbsorb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from acidbubbles/vam-varbsorb

0.0 0.0 0.0 138 KB

Scans your Virt-A-Mate folder and finds files that are available in var file, delete them and update the scene files

License: MIT License

C# 100.00%

vam-varbsorb's Introduction

Virt-A-Mate Absorb

Build Codacy Badge codecov lgtm

Get rid of Virt-A-Mate Custom and Saves files that have been made available in a .var file.

Usage

Download from the Releases, and extract somewhere on your machine.

In a command line:

> varbsorb --vam C:\Vam

This will scan your Virt-A-Mate Saves and Custom folders as well as the .var packages in your AddonPackages folder. When it finds a file that exists in both the AddonPackages var files and your Saves/Custom folder, it will update the scene and delete the duplicated files.

Arguments:

  • --vam: The root path of Virt-A-Mate.
  • --include: Limit affected files to this path prefix, relative to vam (affects files that would be deleted or updated).
  • --exclude: Paths to skip, relative to vam (affects files that would be deleted or updated).
  • --verbose: Print more information.
  • --warnings: Print missing references found while scanning (usually broken scenes).
  • --noop: Does not actually delete or update anything.
  • --log: Log file operations to a file.

Note that if you don't specify the --vam argument, it will first check if it's in the same folder as VaM.exe. So if you have no idea how to run a command line tool, you can drop it in the Virt-A-Mate install folder and doube-click on it.

Gotchas

This will delete files on your system. Varbsorb tries very hard to ensure it's as safe as possible, but if you have symbolic links in your Saves or Custom folder, Varbsorb will follow them. You might want to make a backup of your Virt-A-Mate Saves and Custom folders, just in case (or add them to Git).

Folders starting with a . such as .git will not be cleaned.

When multiple var version matches are found, the highest version will be selected. If multiple var packages are found, the one with the least files will be selected. The reasoning is if someone creates a var file with a look that contains morphs, textures and other things, but there's also a package that exists that only contains the textures, the latter is usually a better choice.

Roadmap

  • It would be fairly simple to find duplicates in the Saves and Custom folder and clean them up too.
  • It could find any scripts, morphs or textures in the Saves folder and migrate them to the Custom folder automatically.
  • Using parallelism this could be a few times faster.
  • Once Virt-A-Mate provides a service for var packages, we could potentially automatically download them.

Contributing

Pull requests welcome!

You'll need the .NET Core 3.1 SDK. You can run with:

> dotnet run --project .\src\ -- --vam :\Vam

Launch settings are configured for vscode.

License

MIT

vam-varbsorb's People

Contributors

acidbubbles avatar codacy-badger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.