diff --git a/doc/media/openage/modpack_definition_file.md b/doc/media/openage/modpack_definition_file.md index a9ff6d6a41..3403949dd6 100644 --- a/doc/media/openage/modpack_definition_file.md +++ b/doc/media/openage/modpack_definition_file.md @@ -31,19 +31,22 @@ The following parameters have to be specified. `[info]` contains general information about the modpack. -| Parameter | Data Type | Optional | Description | -| ------------------ | ------------- | -------- | ------------------------------------------------------------------------ | -| `packagename` | String | No | Name of the modpack. | -| `version` | String | No | Internal version number. Must have [semver](https://semver.org/) format. | -| `versionstr` | String | Yes | Human-readable version string. | -| `repo` | String | Yes | Name of the repo where the package is hosted. | -| `alias` | String | Yes | Alias of the modpack. Aliases can be used for replacing other modpacks. | -| `title` | String | Yes | Title used in UI. | -| `description` | String | Yes | Path to a file with a short description (max 500 chars). | -| `long_description` | String | Yes | Path to a file with a detailed description. | -| `url` | String | Yes | Link to the modpack's website. | -| `license` | Array[String] | Yes | License(s) of the modpack. | - +| Parameter | Data Type | Optional | Description | +| ------------------ | ------------- | -------- | ----------------------------------------------------------------------- | +| `packagename` | String | No | Name of the modpack. | +| `version`\* | String | No | The modpack's internal version number. Must use [semver] format. | +| `versionstr`\* | String | Yes | Human-readable version string. | +| `repo` | String | Yes | Name of the repo where the package is hosted. | +| `alias` | String | Yes | Alias of the modpack. Aliases can be used for replacing other modpacks. | +| `title` | String | Yes | Title used in UI. | +| `description` | String | Yes | Path to a file with a short description (max 500 chars). | +| `long_description` | String | Yes | Path to a file with a detailed description. | +| `url` | String | Yes | Link to the modpack's website. | +| `license` | Array[String] | Yes | License(s) of the modpack. | + +[semver]: https://semver.org/ + +\* `version` is used by the engine to determine the most recent version of a modpack. Therefore, it should be bumped when something in the modpack changes (e.g. whenever a new version gets published). `versionstr` is what is displayed to the user and can contain any string, so it can be used to represent any sensible version format. ## [assets] Section diff --git a/libopenage/gamestate/game.cpp b/libopenage/gamestate/game.cpp index 90dfe5ede3..1eeff5cbd8 100644 --- a/libopenage/gamestate/game.cpp +++ b/libopenage/gamestate/game.cpp @@ -60,19 +60,26 @@ void Game::load_data(const std::shared_ptr &mod_manager) { for (const auto &include : includes) { // handle wildcards auto parts = util::split(include, '/'); + log::log(INFO << "parts: " << parts.size()); auto last_part = parts.back(); + log::log(INFO << "last_part: " << last_part); bool recursive = false; auto search = include; + log::log(INFO << "search before: " << search); if (last_part == "**") { recursive = true; + log::log(INFO << "B0 parts size: " << parts.size()); if (parts.size() == 1) { // include = "**" - search = include.substr(0, include.size() - 2); + // start in root directory + search = ""; + log::log(INFO << "B1 search: " << search); } else { // include = "path/to/somewhere/**" - // remove the slash '/' too + // remove the wildcard '**' and the slash '/' search = include.substr(0, include.size() - 3); + log::log(INFO << "B2 search: " << search); } } diff --git a/openage/convert/service/init/api_export_required.py b/openage/convert/service/init/api_export_required.py index 61b8f5ba4d..2cbbc607b4 100644 --- a/openage/convert/service/init/api_export_required.py +++ b/openage/convert/service/init/api_export_required.py @@ -16,7 +16,7 @@ from openage.util.fslike.union import UnionPath -CURRENT_API_VERSION = "0.4.0" +CURRENT_API_VERSION = "0.5.1" def api_export_required(asset_dir: UnionPath) -> bool: diff --git a/openage/convert/tool/api_export.py b/openage/convert/tool/api_export.py index 36f85abafd..cac8cebba5 100644 --- a/openage/convert/tool/api_export.py +++ b/openage/convert/tool/api_export.py @@ -33,7 +33,7 @@ def main(args, error): del error # unused path = Union().root - path.mount(Directory(args.dir)) + path.mount(Directory(args.dir).root) export_api(path) @@ -76,7 +76,7 @@ def create_modpack() -> Modpack: mod_def = modpack.get_info() - mod_def.set_info("engine", "0.4.0", repo="openage") + mod_def.set_info("engine", "0.5.1", versionstr="0.4.0", repo="openage") mod_def.add_include("**")