endless-sky / endless-sky/rfcs

Plugins RFC does not handle dependencies

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
6
Forks
7
PR merge metrics
No merged PRs in 30d

Description

`rfcs/0001-plugin-index.md` presently does not incorporate any of the fields required to implement dependency management. These are the fields that are "supported" in the game, or at least currently read by the game and notionally supported:

```cpp
else if(key == "dependencies")
{
for(const DataNode &grand : child)
{
const string &grandKey = grand.Token(0);
bool grandHasValue = grand.Size() >= 2;
if(grandKey == "game version" && grandHasValue)
dependencies.gameVersion = grand.Token(1);
else if(grandKey == "requires")
for(const DataNode &great : grand)
dependencies.required.insert(great.Token(0));
else if(grandKey == "optional")
for(const DataNode &great : grand)
dependencies.optional.insert(great.Token(0));
else if(grandKey == "conflicts")
for(const DataNode &great : grand)
dependencies.conflicted.insert(great.Token(0));
else
grand.PrintTrace("Skipping unrecognized attribute:");
}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.