Add FF12 basic game plugin#230
Conversation
|
Looks like I'll have to fix a lot more linter issues. They all passed locally when tested in isolation ;) |
|
It will take a while. We didn't use strict typing when working on this plugin. I set it as draft for now. |
|
The typing issues were fixed, but we need to test it, as some changes were not trivial. |
Adds support for Final Fantasy XII The Zodiac Age Steam/PC version.
b1e8c87 to
47229ec
Compare
d7f7257 to
f97cffb
Compare
|
I simplified some of the pyright fixes and removed some of the overengineered code. Works fine on both current master and MO2 2.5.2. Note on I kept This is a compatibility shim. It can be removed once 2.5.2 support is dropped. |
Summary
This PR adds built-in basic game support for Final Fantasy XII The Zodiac Age in Mod Organizer 2.
Source plugin repository:
https://github.com/FF12-Modding/FF12-MO2-Plugin
This change is intended to let users manage FF12 mods in MO2 by default, without installing a separate external MO2 plugin first.
What is included
game_ff12.pyff12directoryFeature set includes:
Stability and testing
This plugin has already seen long-term public usage before this merge:
https://www.nexusmods.com/finalfantasy12/mods/430
No issues were reported during that period that didn't turn out to be a user error.
Linting was also run with ruff, and the plugin passes without errors.
Update checker behavior
The plugin includes an update checker. Current behavior:
I did not find a clear rule in MO2 contribution guidelines about this pattern, so I wanted to call it out explicitly. My preference is to keep it enabled because it allows faster delivery of plugin-side fixes and improvements between MO2 releases. If this is not acceptable for MO2 policy, I can disable version checks for the upstream integration.
External runtime requirement
FF12 itself requires an external modding loader tool (called FF12 External File Loader) to enable modding:
https://www.nexusmods.com/finalfantasy12/mods/170
https://gitlab.com/ffgriever/ff12-external-file-loader-module
This loader is not bundled with the plugin because it changes frequently.
If it is not detected, users are prompted to install it as a mod.
Notes for reviewers
If preferred, I can prepare a follow-up adjustment to:
Disclaimer
All contributors (well, all two of us: @Xeavin and me, @ffgriever-pl) agreed to merge it into MO2 repository.