mirror of https://github.com/minetest/minetest.git
Update comments and documentation
This commit is contained in:
parent
631d48dd16
commit
be8f4de3c1
|
@ -93,6 +93,10 @@ The game directory can contain the following files:
|
||||||
an internal ID used to track versions.
|
an internal ID used to track versions.
|
||||||
* `textdomain`: Textdomain used to translate description. Defaults to game id.
|
* `textdomain`: Textdomain used to translate description. Defaults to game id.
|
||||||
See [Translating content meta](#translating-content-meta).
|
See [Translating content meta](#translating-content-meta).
|
||||||
|
* `gameid_alias = <comma-separated aliases>`
|
||||||
|
e.g. `gameid_alias = aa,bb` (game has been named "aa" and then "bb" before)
|
||||||
|
This allows automatic loading of worlds using a gameid from this list.
|
||||||
|
This is intended to allow a full rename of a game, including its id.
|
||||||
* `minetest.conf`:
|
* `minetest.conf`:
|
||||||
Used to set default settings when running this game.
|
Used to set default settings when running this game.
|
||||||
* `settingtypes.txt`:
|
* `settingtypes.txt`:
|
||||||
|
|
|
@ -136,7 +136,7 @@ SubgameSpec findSubgame(const std::string &id)
|
||||||
|
|
||||||
std::string idv = id;
|
std::string idv = id;
|
||||||
|
|
||||||
// Try to find aliased game
|
// Failed to find the game, try to find aliased game
|
||||||
if (game_path.empty()) {
|
if (game_path.empty()) {
|
||||||
std::vector<GameFindPath> gamespaths;
|
std::vector<GameFindPath> gamespaths;
|
||||||
gamespaths.emplace_back(share + DIR_DELIM + "games", false);
|
gamespaths.emplace_back(share + DIR_DELIM + "games", false);
|
||||||
|
@ -163,11 +163,13 @@ SubgameSpec findSubgame(const std::string &id)
|
||||||
|
|
||||||
if (conf.exists("gameid_alias")) {
|
if (conf.exists("gameid_alias")) {
|
||||||
std::string alias = conf.get("gameid_alias");
|
std::string alias = conf.get("gameid_alias");
|
||||||
|
// Try direct matching with the alias
|
||||||
if (alias == id) {
|
if (alias == id) {
|
||||||
idv = dln.name;
|
idv = dln.name;
|
||||||
game_path = path + DIR_DELIM + dln.name;
|
game_path = path + DIR_DELIM + dln.name;
|
||||||
user_game = gamespath.user_specific;
|
user_game = gamespath.user_specific;
|
||||||
break;
|
break;
|
||||||
|
// Make sure a "_game" suffix is ignored
|
||||||
} else if (str_ends_with(id, "_game")) {
|
} else if (str_ends_with(id, "_game")) {
|
||||||
std::string_view id_trimmed{id.c_str(), id.size() - 5};
|
std::string_view id_trimmed{id.c_str(), id.size() - 5};
|
||||||
if (id_trimmed == alias) {
|
if (id_trimmed == alias) {
|
||||||
|
@ -188,12 +190,13 @@ SubgameSpec findSubgame(const std::string &id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!game_path.empty())
|
if (!game_path.empty())
|
||||||
break;
|
break; // Aliased game has been found, escape the loop early
|
||||||
}
|
}
|
||||||
|
|
||||||
if (game_path.empty())
|
if (game_path.empty()) // Failed to find the game taking aliases into account
|
||||||
return SubgameSpec();
|
return SubgameSpec();
|
||||||
}
|
}
|
||||||
|
// Found the game, proceed
|
||||||
|
|
||||||
std::string gamemod_path = game_path + DIR_DELIM + "mods";
|
std::string gamemod_path = game_path + DIR_DELIM + "mods";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue