Open mande806 opened 4 months ago
DmC Collection I added to test with is located here: https://next.nexusmods.com/dmcdevilmaycry/collections/d6jiey
Hi @mande806,
The code and the mods on the website suggest that TFC installer and TexMod are hard requirements; at the very least I think TFC installer should be automatically downloaded by the extension as it's hosted on the website. (even better if you can auto install TexMod as well)
Please see an example of how to do this below. (Snippet from our SMAPI downloader for Stardew Valley)
const modFiles = await api.ext.nexusGetModFiles(GAME_ID, SMAPI_MOD_ID);
const fileTime = (input: any) => Number.parseInt(input.uploaded_time, 10);
const file = modFiles
.filter(file => file.category_id === 1)
.sort((lhs, rhs) => fileTime(lhs) - fileTime(rhs))[0];
if (file === undefined) {
throw new util.ProcessCanceled('No SMAPI main file found');
}
const dlInfo = {
game: GAME_ID,
name: 'SMAPI',
};
const nxmUrl = `nxm://${GAME_ID}/mods/${SMAPI_MOD_ID}/files/${file.file_id}`;
const dlId = await util.toPromise<string>(cb =>
api.events.emit('start-download', [nxmUrl], dlInfo, undefined, cb, undefined, { allowInstall: false }));
const modId = await util.toPromise<string>(cb =>
api.events.emit('start-install-download', dlId, { allowAutoEnable: false }, cb));
const profileId = selectors.lastActiveProfileForGame(api.getState(), GAME_ID);
await actions.setModsEnabled(api, profileId, [modId], true, {
allowAutoDeploy: false,
installed: true,
});
Tag me once that's done and I'll add your extension to the manifest.
Stale extension reviews are closed within 2 weeks if no changes are made.
Sorry for the slow response. I'm now working on an improved version. The main reason I didn't go the auto-install route with TexMod was that it seemed most of the nexus/vortex download APIs were premium-only, and that didn't seem like a very good choice for a default install. If I can get it to work without premium then I'll definitely add it in. Also, I'm talking to the TFC Installer people about adding a command line API, so depending on how that goes we may be able to add support for those mods in as well.
The big issue with TFC Installer mods is they are essentially fancy binary patches. If we can get a command line API, Command line API is on their backlog now 🚀 then we can maybe add load-order support to improve that situation, but that will be a whole other big feature to tackle.
(Aside) I really wish everyone would just make DLC Addon mods instead. You can make those with TFC Installer/UPK Explorer as well, from what I read of the documentation. They're fully standalone and native to the game. No need for additional software or patching or anything else. Just more work on the modder's part editing INI files.
Sorry, I haven't had much time to work on this recently, but it's not forgotten. @IDCs Do you think I should wait until TFC Installer gets command line support and do everything as one big update? Problem is I have no idea when that will be, they just said it was on their backlog.
Hey @mande806, backlog items can take months or years to finally be picked up. Really up to you, but I personally wouldn't wait; you can code the extension with the CLI in mind though so it's easier to modify the extension when the time comes 🤷
Nexus Username
chinamicah
Extension URL
https://www.nexusmods.com/site/mods/967
Game URL
https://www.nexusmods.com/dmcdevilmaycry
Existing Extension URL
No response
New features
No response
Information
Packaging
Testing
Review Tasks
If a task fails, contact the author to request changes before continuing.
When reviewed and passed, please complete the following tasks: