beyond-all-reason / beyond-all-reason/RecoilEngine

Get rid of `modinfo.replaces` for archives

Open
#1,364 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

It seems to have been added in Spring 0.61b2, back in 2005, yet I have never seen it used. At a glance it doesn't make much sense:
* what if archives Y and Z both claim to replace archive X? Which to use?
* what if an archive Y exists that claims to replace archive X but I don't have Y installed, how do I learn it exists?
* how do I make sure some sucker can't just replace one of my archive's dependencies with a hacked one? If I knew anything verifiable (say, the checksum) about a replacement then I would know it exists and could just depend on it directly.
* what about sync? It would've been fine for the feature to be unsynced only but it doesn't limit it this way and also in unsynced you don't really need versioned archives.

Contributor guide

Open the contributing guide

Research direction

Search the archive metadata handling for `modinfo.replaces` and trace where this field is parsed, stored, and consumed. Confirm all references and archive-related tests or validation paths before removing it; done means the obsolete field is no longer used and the relevant checks still pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.