Skip to content

Conversation

@DashingCat
Copy link
Contributor

@DashingCat DashingCat commented Dec 10, 2025

This PR adds a workspace folder to the MiniInstaller installation process, so it doesn't overwrite Celeste.exe early (for example, during the step applying Everest patches, after coreification).

The workspace is used to store the Celeste.exe/Celeste.dll files, until after the step applying Everest patches, reducing the time window during which the process can be interrupted and left in a state which would allow orig/Celeste.exe to be coreified.

This is a work in progress, the following still needs to be done:

  • Testing on Windows
  • Testing on MacOS
  • Applying the changes to MiniInstaller's "FastMode" (not needed)

Fixes #983.
Fixes #984.
As far as I understand, #984 occurs only because of #983.

@maddie480-bot maddie480-bot added the draft This PR is not ready for review yet (bot-managed) label Dec 10, 2025
@DashingCat DashingCat marked this pull request as ready for review December 14, 2025 18:47
@maddie480-bot maddie480-bot added review needed This PR needs 2 approvals to be merged (bot-managed) and removed draft This PR is not ready for review yet (bot-managed) labels Dec 14, 2025
Copy link
Member

@Wartori54 Wartori54 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some polish needed here and there.
About your fast mode question, I'd be fine with merging without any changes to fast mode, it is meant for advanced users only, so if the installation breaks the user will notice that and be able to fix it.

@maddie480-bot maddie480-bot added changes requested This PR cannot be merged because changes were requested (bot-managed) and removed review needed This PR needs 2 approvals to be merged (bot-managed) labels Dec 16, 2025
@DashingCat
Copy link
Contributor Author

Thanks @Wartori54 for the feedback, all comments are addressed in the latest commit.

@DashingCat DashingCat requested a review from Wartori54 December 17, 2025 23:57
Copy link
Member

@Wartori54 Wartori54 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than this LGTM. Would appreciate some testing on other platforms before merging though.

try {
// We're lazy.
Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", Globals.PathGame);
Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", $"{Globals.PathMiniInstallerWorkspace}:{Globals.PathGame}"); // Prioritize workspace
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While on Unix systems the path separator is always :, on windows it is not, use Path.PathSeparator instead to ensure it working on all platforms.

Logger.LogLine($"Running MonoMod.RuntimeDetour.HookGen for {asm}");
// We're lazy.
Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", Globals.PathGame);
Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", $"{Globals.PathMiniInstallerWorkspace}:{Globals.PathGame}"); // Prioritize workspace
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above here.

@DashingCat
Copy link
Contributor Author

The latest commit uses Path.PathSeparator instead of :.

@DashingCat DashingCat requested a review from Wartori54 December 18, 2025 22:45
@maddie480-bot maddie480-bot added review needed This PR needs 2 approvals to be merged (bot-managed) and removed changes requested This PR cannot be merged because changes were requested (bot-managed) labels Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review needed This PR needs 2 approvals to be merged (bot-managed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installing Everest with coreified vanilla always fails and deletes Celeste.dll orig/Celeste.exe is coreified and does not run

3 participants