Skip to content
This repository has been archived by the owner on Oct 20, 2021. It is now read-only.

Releases: Ijwu/PhoenixPointModLoader

Version 0.3 Release ("Sentinel")

27 Mar 06:26
Compare
Choose a tag to compare

This release includes backwards compatibility for 0.1 mods, due to popular demand. (May be too little, too late, but that doesn't bother me.) Mods (legacy included) may now ship with metadata to define basic information about the mod. Mods may now define a basic dependency tree in case they depend on the existence of other mods.

This release also sees the change in behavior of mod instantiation to allow for dependency injection, meaning mods should be able to 'request' services and functionality that they might require. My intent is to expand this service library to enable various interesting changes and features.

The first service available is IFileConfigProvider which provides mods with an API for easily reading and writing (relatively) type-safe config files.

Changelog

Mod Loader Changes:

  • Internals updated. These are the code and components that you don't notice as a user. I've done a bit of re-writing. This does not break compatibility.
  • Mods may now define metadata to provide information about themselves.
    • Currently used in the dependency resolution functionality.
  • Mods may now 'depend' on other mods so that they won't load unless the other mods are present.

Version 0.2 Release ("Crabman")

21 Jan 05:15
dc24498
Compare
Choose a tag to compare

The "Crabman" release, since release nicknames sound fun. This contains a re-written mod loader as well as other usability improvements. Please read the entire changelog and note the warning on the bottom.

Injector Changes:

  • --manageddir flag now functions properly.
  • Mod loader is now injected sooner in the game start-up cycle. It should now be possible to skip the logo splashscreens (with a mod).
  • Removed debugging writes, should be much nicer in the command line now.

Mod Loader Changes:

  • Re-vamped mod loading mechanism. Hopefully this is the last time I break compatibility as the intent here is to resonably futureproof things.
  • Mod loading should fail gracefully and one bad apple won't ruin the bunch.
  • Mods will now be loaded in arbitrary depth within the Mods folder.
    • The loader will search directories recursively. It will follow symlinks. Do not put any in your Mods folder.
  • Mods may now designate a priority level. Mods are loaded in this order High -> Normal -> Low. Mods in each priority level contain no guarantee of priority.
    • In other words, two mods with High priority will be loaded in undefined order.
    • The intent here is to allow for mods which absolutely must load first/last to do so.
  • Includes two default mods. (Intent is to allow this to be configured in the future.)
    • Console enabler, which turns on console access. (All users will have this by default.)
    • Console command loader, which loads console commands (and console variables) from mods. The game's default behavior is to only load commands from its own assembly.

WARNING: Re-written mod loading system requires developers to update mods so they will be picked up. DO NOT update unless your mods explicitly support v0.2+.