Skip to content

Multi Install - #127

Open
Aurumbi wants to merge 14 commits into
AWSW-Modding:developfrom
Aurumbi:multi-install
Open

Multi Install#127
Aurumbi wants to merge 14 commits into
AWSW-Modding:developfrom
Aurumbi:multi-install

Conversation

@Aurumbi

@Aurumbi Aurumbi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Creates functionality to add and remove multiple mods in a single session of the in-game mod browser, improving usability and saving game restarts.

Mods may be selected for installation/removal by the existing install/uninstall buttons in the mod browser, or toggled by right click on their corresponding button in the mod list.

img_0

The selected mod lists (for addition and removal) are viewable in the new apply status screen, which allows removal of mods from these lists.

img_1

Once applied, all selected mods are either installed or uninstalled, with installations coming first.

Comment thread modloader/modconfig.py Outdated
Comment thread modloader/modconfig.py
:returns: done_flag if reload_script is False, else None. done_flag is a threading.Event which becomes set once the mod is installed. note that this return value can end interactions.
"""
if reload_script is None:
reload_script = show_status_screen

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This doesn't make sense - show_status_screen is being used to restart python later

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't quite follow why it doesn't? it's default allows for two main uses:

  1. when show_status_screen==False, then the mod application is done silently in the background, and therefore it shouldn't restart the game when done as it will be without warning.
  2. when show_status_screen==True, then then the mod application takes over the screen, as it is the main thing To Be Done. as such, it is allowed (and encouraged) to restart, as mod changes generally warrant that.
    Explicitly setting reload_script could be done for more unusual uses, though I'm not sure about their advisability.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What was confusing to me here was that it wasn't obvious what type show_status_screen was. Though given we're calling this function in only a few places, do you think it would make sense here to also pass in reload_script=True whenever we want to show the status screen?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Oh, I see that I didn't describe it well in the comment (as in, only described the True case and not the False case).
As for explicitly passing reload_script=True, I guess that would be clearer... I'll be on that

Comment thread modloader/modconfig.py
Comment thread mods/core/download_mods.rpy
Comment thread mods/core/remove_mods.rpy Outdated
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

Successfully merging this pull request may close these issues.

2 participants