Running PC versions of MUA 1 and/or XML2 through Mod Organizer 2 (64bit only)

Started by MrKablamm0fish, July 28, 2020, 09:38AM

Previous topic - Next topic
26/02/2021 Update: MO2 2.4 has been released, I still need to go though the changes, will update this post when I've sorted everything out, currently everything here still works correctly for MO2 2.3.x
26/02/2021 Update 2: Ok MO2 2.4 Update incorporates the basic games plugin already, we can skip the plugin download so it's been removed. updated the pathing for the handler plugins.

Note: *Unfortunately, Mod Organizer 2 is only available as a 64bit program*
Note 2: *As Mod Organizer 2.3 isn't final yet, there may be some changes required in the future (I don't keep up to date on their deving, so ping me on the discord if something gets really broken.)
Note 3: Ignore note 2, 2.3 Got released the day after this post was made XD.
Note 4: I can't get per-profile saves to work, so don't expect that feature to be available.

Most modders of bethesda games have heard of Mod Organizer before, but basically it runs games in a virtual folder and allows you to set up what that virtual folder has in it.

In practice, it allows us to keep the game folder clean, mod folders seperate, but still run the game modded.

First, download Mod Organiser 2 (v2.4.0 as of this post), 2.4+ is required.
https://www.nexusmods.com/skyrimspecialedition/mods/6194?

Github link:
https://github.com/ModOrganizer2/modorganizer/releases

I've setup a basic handler plugin for MUA which is placed in "MO2/plugins/basic_games/games/"
http://www.mediafire.com/file/vdk1d2q8roqz0tl/game_MUA1.py/file

UltraMegaMagnus has written a XML2 handler plugin, place in the same location.
http://www.mediafire.com/file/9gjak0fd75n7r6l/game_XML2.py/file

Admin Note: Updated handler plugins for MUA1 and XML2, as well as MUA1 Steam and MUA2 Steam, can be found here:
https://github.com/EthanReed517/Marvel-Mods-ModOrganizer-Plugins/releases/latest

Before launching, we need to fix something for MUA1 (and probably XML2) if you use roster hacks that require the XML2limitadjuster plugin, MO2 clashes with the asi loader we're using to extend character limits, so we need to fix that.

Dowload this asi loader
https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases

The non x64 version, as both MUA1 and XML2 are 32bit.

Place the dll in your base game folder (replacing if required), and copy the plugins folder from either of the roster hacks (make sure the MUA.XML2.LimitAdjuster asi and ini are inside) into the base folder too.

download this ini file and place it in your base game folder
https://raw.githubusercontent.com/ThirteenAG/Ultimate-ASI-Loader/master/data/scripts/global.ini

and edit it in notepad (or alternatives) and change:

LoadFromScriptsOnly=1
DontLoadFromDllMain=1

to

LoadFromScriptsOnly=0
DontLoadFromDllMain=0

Load up Mod Organizer 2 and either create a new instance or select portable (select portable, it's better for your mental health/folder organisation)

In the next panel, go to browse and find where you installed MUA1 or XML2, and click select folder.

MO2 will setup itself to handle MUA1/XML2.

Your Mods should go into separate folders in your new "Mods" folder, which you can check the location of in the settings.

Note, do you have to run the game through Mod Organizer 2 for mods to work from now on. I believe there is a very small performance hit for loading.

Here's a video from Magnus showing XML2 running through MO2 as well as setting up some mods, which I didn't go through.
https://www.youtube.com/watch?v=gs9ycx12dXE

Hey, this is awesome. Works like a charm. We can use it to swap custom stages, hero rosters, and all kinds of things.

Just a little note: I downloaded the global.ini file through save target as...  That doesn't work, because the content in the downloaded ini file is completely different. You can create a txt file, rename the txt extension to ini and copy the content in the link into this file. The name has to be global.ini of course.

Thanks, I didn't check the link properly, I'll update the link to the raw link.

Hey guys, I hope it's ok to bring this topic back.

I'm not sure this is relevant, but when I tried to install and run it the software asked for the vcruntime140_1.dll file, which I had to get and save inside the Windows System folder. Only then it ran successfully.

I thought maybe we could provide a direct link to it so here it is: https://www.mediafire.com/file/vpmmm90ybw0ph6s/vcruntime140_1.zip/file
I've downloaded it from https://www.dll-files.com/vcruntime140_1.dll.html, and have chosen version 14.27.29111.0.

Also thanks a lot for telling us about this amazing tool (and for making the necessary adjustments so it'd work both with MUA1 and XML2).
My released mods: http://bit.ly/39aogu6
My released skins: https://bit.ly/3i4Tdoy
My released huds and loading screens: http://bit.ly/2LPMnWi
My ongoing projects: http://bit.ly/3anXT3s


March 03, 2021, 10:32AM #5 Last Edit: March 03, 2021, 10:40AM by ak2yny
Quote from: MrKablamm0fish on July 28, 2020, 09:38AM
Note 4: I can't get per-profile saves to work, so don't expect that feature to be available.

Per-profile saves still won't work, because in MUA (and XML2) we can only change the save location in Game.exe, and this Game.exe can only be run from the install directory of MUA and not from within the virtual folder.

BUT...

There is another way, which is nice too, or even nicer: Create save profiles with exe hex-edits with this method (note: most things in the linked tutorial is redundant with MO2).

How To Add Save Profiles to Mod Organizer 2

Step 1: Clone the Executables
Clone the Game.exe (XML 2 players will have to translate all "Game" to XMen2" here). If you're using a modded Game.exe I recommend to use that one. Rename it to somthing that you will be able to identify it as (eg. GameSaveProfile1.exe or GameSP1.exe or simply GameS1.exe). You can clone and rename it as many times as you want.

https://www.youtube.com/v/3B0jRb00CBo

Step 2: Hex-Edit the Executables
Open the new  [GameS1.exe] in any hex-editor and search for "Activision". You will find four places: Screenshots and Save for Italian and English version. We only need to change the save location for the English version in "\Activision\Marvel Ultimate Alliance\Save\". Replace any amount of characters of this string. For example, change it to "\Activision\Marvel Ultimate Alliance\Sav1\". The game will create this folder automatically for your saves.


Step 3: Add the Save Profile Within Mod Organizer 2
Open up Mod Organizer and click on Executables.

Click on "Marvel Ultimate Alliance" (or "X-Men Legends II: Rise of Apocalypse") on the right hand side. Click on "+" and on "Clone selected" (1).

Give the new link a unique name, eg. "Marvel Ultimate Alliance (SaveProfile1)" (2). Change the game.exe in the Binary field to the name you have given your cloned executable in step 1 ("GameSaveProfile1.exe" or "GameSP1.exe" or "GameS1.exe" or whatever) (3).
Click on "OK". Finished. Now you can select your save profile from the dropdown menu left to the "Run" button.

You can certainly use save profiles without MO2, by simply starting the game from your hex-edited executables (skip step 3).
The save list in the "Saves" tab will not be updated. It could possibly be customized in the game setup, but that's for another time.
You can, however, add a profile selector to the executables. The "Saves" tab will be updated for this. Learn how below.




How To Create a Save Profile Selector for Mod Organizer 2

What you're doing here is creating folders in "%USERPROFILE%\Documents\Activision\Marvel Ultimate Alliance\Save\", which act as your save profiles. They are activated (copied to "%USERPROFILE%\Documents\Activision\Marvel Ultimate Alliance\Save\") with a batch program. It's very simple actually:

Step 1: Create Batch Programs (Or Dowload Mine)
I'm not going into the details with this and link my batches instead. Extract the "backupSaves.bat" to "%USERPROFILE%\Documents\Activision\Marvel Ultimate Alliance\Save\" and "ChooseSaveProfile.bat" to a location where you remember it (I recommend a place where you install your MO2 mods for MUA).

Step 2: Add the Profile Selector Within Mod Organizer 2
Open up Mod Organizer and click on Executables.

Click on "+" and on "Add empty". Give the executalbe a unique name in the "Title" field (eg. "Profile Selector" or "Choose Save Profile").
In the "Binary" field enter: "c:\windows\system32\cmd.exe"
In the "Aguments" field enter: "/C " plus the whole path to wherever you extracted "ChooseSaveProfile.bat" to and add "ChooseSaveProfile.bat" as well (eg. "/C D:\Programs\.Mod.Organizer\mods\executables\ChooseSaveProfile.bat").
In the "Start in" field enter: The path to "ChooseSaveProfile.bat" only (eg. "D:\Programs\.Mod.Organizer\mods\executables\"

Click on "OK".

Step 3: Creating and Selecting Save Profiles
Now you can select your save profile by selecting the profile selector from the dropdown menu and hitting the "Run" button.
The batch will first ask you if you want to create a save profile and will just clone the current saves. If your current save folder is empty, the profile will be empty as well (the new profile inherits all saves from the currently active profile).
In a second step, the batch will ask you which profile you want to select. The top profile is 1, the second is 2, etc (you get the idea).

Profile creation is unlimited, but you can only select the top 9 profiles (max. 90 saves total). Profiles are sorted alphabetically. Profiles can be renamed by renaming folders within the save folder. Every folder inside will be regarded as a save profile, even if it contains different files, but only .save files will be used. Profiles can't be deleted, but you can delete the folders manually. Profiles can be overwritten if you enter an existing profile name. Profiles can be viewed by selecting "No" (enter 1) first, and exiting the window

You can certainly use the save profile selector (batch) without MO2, by simply running "ChooseSaveProfile.bat" (skip step 2). You may also take the batches and change them to your preference.