07th-mod / 07th-mod/python-patcher
Sharedasset detection using checksum can fail when switching between proton and native on second install [no fix needed?]
- Dominant language
- JavaScript
- Stars
- 214
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
For some chapters (eg. ch8), installer chooses sharedassets depending on the checksum of the original sharedassets0.assets.
Because our installer overwrites the sharedassets0.assets file, we also check the checksum of the sharedassets0.assets.backup file to see the "original" sharedassets file. This .backup file is created by our installer when you install the mod.
However, if you:
- First install using say Proton, it will create a sharedassets0.assets.backup file from the Proton install.
- Switch back to Native. This will overwrite the sharedassets0.assets with the Native version
- Perform an install of the mod the first time, the install will work OK (it will overwrite the sharedassets0.assets with the mod version)
- Because a .backup file already exists, this install won't overwrite the sharedassets0.assets.backup file
- Now, when you perform the second install or update, the sharedassets0.assets will be the mod version, which the installer does not recognise. Also, the sharedassets0.assets.backup file is from the Proton install, which the mod also does not recognize. This will cause an install error.
Contributor guide
No contributing guide indexed for this repository
Research direction
Look at the installer's shared asset detection logic, likely in a file handling checksums or asset management. The issue describes a scenario where the backup file (sharedassets0.assets.backup) from a Proton install causes a mismatch on a subsequent Native install. Start by finding where checksums are computed for sharedassets0.assets and its backup. Understand the install flow to see how the backup is created and when it's overwritten. Testing involves simulating installs switching between Proton and Native modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100