[CTP] Call to Power 1 & 2 New Mod Manager


CFC Mod Archivist & Social Media Helper
Sep 24, 2016
While Call To Power 2 had an simple mod swapper back in the day the CTP fans Discord owner Ninjaboy has informed us that over the last year he's been working on a new mod swapper for both CTP games with a larger scope of improvements that will hopefully make installing, swapping & using mods with CTP games much easier as well as improving the overall gameplay experience! I'll keep an eye on his progress and post more here...

More details here...
https://discord.com/channels/924072012295585842/924076901557997598/1122049288181129267 (use join link above first for this link to work)

Basically, I'm making an all-in-one mod manager for CTP (focusing on CTP2 at first). Here are some of the standout features it WILL have:
  • it will be open sourced (it is currently closed-source because it isn't in a state to take contributions yet - still scaffolding the linter, setting up CI/CD, writing tests, etc.)
  • it will be able to tell exactly which files are modified for each mod installation (allowing us to know which mods are compatible with each other and pointing out incompatibilities with a diff-view)
  • it will store the initial state before mod installation, allowing you to revert back to the non-modded state easily
  • it will access known mods from an online bucket of some sort (something like S3) for easy, one-click installation
  • it will allow the specification of an install script similarly to Wrye Bash (though probably with a few specified commands such as "mv", not necessarily all of bash)
  • it MAY also play music from links you supply (no guarantee here, but it's an idea that would help us listen to the original soundtrack in-game again)
  • for the convenience of contributors, I set up Electron and React to use Vite for the bundler (super fast HMR!)
Currently, it is able to auto-detect installations of CTP2 on your system, show it within a pretty handy menu within a program window and it has permissions to modify the files. The next steps are adding the GUI for adding mods, allowing you to add install locations, tracking state with a file similar in functionality to package-lock.json for npm and ensuring that the files can be reverted (the most important part).

This is my first Electron project and I took the time to really learn about inter-process communication (plus, I've been scaffolding testing and stuff) so that's why it's been taking a while - I've been learning a ton along the way.
Oh - one last thing! I am focusing on Windows at first, but I plan to allow compatibility for Linux and Mac as soon as possible since I know we have a few players on those platforms
There's a pretty strong chance that I may make it open-source within the next month or two, but I am definitely going to prioritize a CI / CD system and general quality control systems before accepting PRs. It's also currently a bit of a mess, so I'ma make sure to clean it up a lil (for example, the Electron backend is currently plain JS, while the React parts are TS - if only Electron accepted TS for input... may just have to hit it with tsc)
I'm also aware that this whole thing is vaporware at this point (basically just being a glorified menu at this point), I just wanted to let you all know what I have been working on since I gave that very cliff-hangery message back in May and have NOT elaborated since
Last edited:
Top Bottom