mirror of
https://github.com/minetest/minetest.git
synced 2024-11-27 10:03:45 +01:00
Load a texturepack from the 'textures' subfolder of a game
This commit is contained in:
parent
70a90bc83a
commit
4c0d4e4105
@ -47,47 +47,41 @@ Paths
|
||||
Games
|
||||
-----
|
||||
Games are looked up from:
|
||||
* `$path_share/games/gameid/`
|
||||
* `$path_user/games/gameid/`
|
||||
Where `gameid` is unique to each game.
|
||||
|
||||
* `$path_share/games/gameid/`
|
||||
* `$path_user/games/gameid/`
|
||||
|
||||
where `gameid` is unique to each game.
|
||||
|
||||
The game directory contains the file `game.conf`, which contains:
|
||||
|
||||
name = <Human-readable full name of the game>
|
||||
|
||||
e.g.
|
||||
|
||||
name = Minetest
|
||||
|
||||
Optionally, game.conf can also contain:
|
||||
|
||||
disallowed_mapgens = <comma-separated mapgens>
|
||||
|
||||
e.g.
|
||||
|
||||
disallowed_mapgens = v5,v6,flat
|
||||
|
||||
These mapgens are removed from the list of mapgens for the game.
|
||||
|
||||
The game directory can contain the file minetest.conf, which will be used
|
||||
to set default settings when running the particular game.
|
||||
It can also contain a settingtypes.txt in the same format as the one in builtin.
|
||||
This settingtypes.txt will be parsed by the menu and the settings will be displayed
|
||||
in the "Games" category in the settings tab.
|
||||
The game directory can contain the following files:
|
||||
* `game.conf`
|
||||
Which contains:
|
||||
* name = <Human-readable full name of the game>
|
||||
e.g.
|
||||
name = Minetest
|
||||
* Optionally, game.conf can also contain:
|
||||
disallowed_mapgens = <comma-separated mapgens>
|
||||
e.g.
|
||||
disallowed_mapgens = v5,v6,flat
|
||||
These mapgens are removed from the list of mapgens for the game.
|
||||
* minetest.conf
|
||||
Used to set default settings when running this game.
|
||||
* settingtypes.txt
|
||||
In the same format as the one in builtin.
|
||||
This settingtypes.txt will be parsed by the menu and the settings will be
|
||||
displayed in the "Games" category in the advanced settings tab.
|
||||
* If the subgame contains a folder called `textures` the server will load it
|
||||
as a texturepack, overriding mod textures.
|
||||
Any server texturepack will override mod textures and the game texturepack.
|
||||
|
||||
### Menu images
|
||||
|
||||
Games can provide custom main menu images. They are put inside a `menu` directory
|
||||
inside the game directory.
|
||||
|
||||
The images are named `$identifier.png`, where `$identifier` is
|
||||
one of `overlay,background,footer,header`.
|
||||
If you want to specify multiple images for one identifier, add additional images named
|
||||
like `$identifier.$n.png`, with an ascending number $n starting with 1, and a random
|
||||
image will be chosen from the provided ones.
|
||||
Games can provide custom main menu images. They are put inside a `menu`
|
||||
directory inside the game directory.
|
||||
|
||||
The images are named `$identifier.png`, where `$identifier` is one of
|
||||
`overlay`, `background`, `footer`, `header`.
|
||||
If you want to specify multiple images for one identifier, add additional
|
||||
images named like `$identifier.$n.png`, with an ascending number $n starting
|
||||
with 1, and a random image will be chosen from the provided ones.
|
||||
|
||||
Mod load path
|
||||
-------------
|
||||
|
@ -253,7 +253,10 @@ Server::Server(
|
||||
m_nodedef->updateAliases(m_itemdef);
|
||||
|
||||
// Apply texture overrides from texturepack/override.txt
|
||||
for (const auto &path : fs::GetRecursiveDirs(g_settings->get("texture_path")))
|
||||
std::vector<std::string> paths;
|
||||
fs::GetRecursiveDirs(paths, g_settings->get("texture_path"));
|
||||
fs::GetRecursiveDirs(paths, m_gamespec.path + DIR_DELIM + "textures");
|
||||
for (const std::string &path : paths)
|
||||
m_nodedef->applyTextureOverrides(path + DIR_DELIM + "override.txt");
|
||||
|
||||
m_nodedef->setNodeRegistrationStatus(true);
|
||||
@ -2259,8 +2262,9 @@ void Server::fillMediaCache()
|
||||
paths.push_back(mod.path + DIR_DELIM + "models");
|
||||
paths.push_back(mod.path + DIR_DELIM + "locale");
|
||||
}
|
||||
fs::GetRecursiveDirs(paths, porting::path_user + DIR_DELIM +
|
||||
"textures" + DIR_DELIM + "server");
|
||||
fs::GetRecursiveDirs(paths, m_gamespec.path + DIR_DELIM + "textures");
|
||||
fs::GetRecursiveDirs(paths, porting::path_user + DIR_DELIM + "textures" + DIR_DELIM + "server");
|
||||
|
||||
// Collect media file information from paths into cache
|
||||
for (const std::string &mediapath : paths) {
|
||||
std::vector<fs::DirListNode> dirlist = fs::GetDirListing(mediapath);
|
||||
|
Loading…
Reference in New Issue
Block a user