Skip to content

per-map fix/extension configuration #97

@mrwonko

Description

@mrwonko

I want to fix certain bugs, but there will be breaking changes (e.g. target_give). How can maps signal to vanilla that they rely on fixes/extensions and will not work properly?

Vanilla rejects maps with unknown entities. We could add a new entity like info_required_extensions (or something starting with ext_?) that contains a map from extension/fix to semantic version, e.g.

{
  "classname" "ext_dependencies"
  "target_give_mp_fix" "1.0.0"
  "icarus_cvar_access" "1.2+"
}

Any extension that adds its own entities will naturally announce itself through them.

There should also be a way to query for optional extensions, where their absence should not lead the map to being rejected in vanilla. These could e.g. be done with new properties (like stopping a trigger_always from firing in the presence of an extension? Choosing a different spawnpoint?) or magic icarus variables (except in jk2mp). This would allow maps to add polyfills/fallbacks, or show their own warning in vanilla (and other sourceports).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions