Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature suggestions #4

Open
afontenot opened this issue Feb 21, 2023 · 0 comments
Open

Feature suggestions #4

afontenot opened this issue Feb 21, 2023 · 0 comments

Comments

@afontenot
Copy link

These are features I've developed in a combination of two scripts (Bash and Python) that make it easier for me to use Everest on Linux. I haven't looked too closely (my scripts predate mons entirely), but I think these features are unique. I've been planning to open source these scripts for a long time but haven't gotten around to cleaning them up into a publicly usable form.

Obviously, don't feel compelled to implement any of this. Just sharing what I've found myself using regularly. I can split any of these feature ideas you like into separate issues. Some of them might be appropriate ideas for Everest itself.

  • The script installs Everest in an overlay filesystem, where the lower directory is a vanilla Celeste install. This means I can have as many Everest installs as I want while keeping my original Celeste files clean and avoiding unnecessary duplication.

  • The script automatically uses the EVEREST_SAVEPATH environment variable to create a unique set of saves per installation. That way my vanilla files are completely isolated from accidental damage when playing modded Celeste.

  • The script automatically checks for updates to Everest and builds it from source, rather than downloading a binary. I think mons can build from source but it requires an existing source folder (which probably makes sense as it's intended for development). I also patch it:

    • to set the version string
    • to disable downloading Everest updates from the Azure build server (no point in building it yourself if your install is going to get wiped out by an accidental update)
    • to enable WhitelistFullOverride by default (an extremely useful setting)
  • The script supports specifying a modpack you want to run. It then adds all the mod's dependency names to file, then runs Celeste with the --whitelist option using that file. The result (thanks to WhitelistFullOverride) is that you can play a bunch of different modpacks on a single Everest install without having to load them all or disable the ones you don't want. (It would be extremely helpful if Everest treated --whitelist as also allowing any transitive dependencies of whitelisted mods. Also see Option to lock save files to the first map you play them with EverestAPI/Everest#588)

  • The script automatically increases the ulimit when launching Celeste.

  • I have a script that updates all mods and does dependency resolution and checksum verification, as well as installing new mods. Moreover, it automatically unpacks the zip files and deletes them, which saves nearly 50% of disk space used by Everest (because of audio bank caching), and also significantly increases the speed at which modded Celeste loads (faster asset loads, etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant