07th-mod / 07th-mod/python-patcher

Add versioned options

Open
#141 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
214
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Versioned options would let us do stuff like have the Umineko PS3 sprites as an option which is installed by default, so people can revert to PS3 sprites without re-installing the whole mod.

The reason we can't do this currently is that mod options are always installed if selected - so the Umineko PS3 sprites would be installed on every update (which is a huge file).

The main issue is dealing with:
- If you change your selection for an option, the option should always be installed/there needs to be a version for each possible selection
- if install order of options is important, any options which are installed before this option should also be installed (not sure if our games require this to be true though)
- should allow non-versioned options which are always installed (if they are small and have no dependencies), but havent thought about this much (not sure about this one)
- on update, reading the currently selected option, and restoring that into the installer page, so you don't need to re-select all the options every time you update (this might be difficult)

Contributor guide

No contributing guide indexed for this repository

Research direction

Look at how mod options are currently installed and tracked in the patcher code, likely in the installer logic. Understand the data structures for options and versioning. The feature requires handling option dependencies, install order, and persisting selections across updates. Start by examining the installer's configuration files and update mechanisms.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.