[OLD] Mod Installation Guide

Started by BaconWizard17, February 15, 2020, 10:47PM

Previous topic - Next topic
February 15, 2020, 10:47PM Last Edit: May 30, 2024, 05:44AM by BaconWizard17
OLD MOD INSTALLATION GUIDE
SECTION 1: WELCOME

By BaconWizard17



Introduction
    This is the old mod installation guide. This tutorial used to contain the procedures for installing mods for MUA1. However, new tutorials have been made. This thread is staying around to cover a few topics that haven't been moved to the new tutorials.
    If you're modding MUA1 PC or XML2 PC, you have two options for modding the game: the MO2 method and the Direct method. If you're not sure which to pick, I recommend MO2 for the following reasons:
  • Mods are all stored separately from the main game files, so you won't lose any important files.
  • You can easily see which mods are currently installed.
  • Mods can be removed with a single click, which helps with testing mods or getting rid of files that are causing problems.
  • You can control which files overwrite each other.
  • You can update a mod without having to reinstall your game files or other mods.
  • It's easier for others to help you solve issues in your game.
    Although there are more steps when using MO2, it has great benefits in the long run. You will need a 64-bit PC to run MO2, and you also need Windows 10 or 11. If your computer doesn't meet the requirements, or you don't want to use MO2, you can use the Direct method.
    Here are the links to the new tutorials:

February 17, 2020, 06:56AM #1 Last Edit: May 30, 2024, 05:45AM by BaconWizard17
This information has been moved to new tutorials. See Section 1, above, for more information.

October 10, 2020, 04:41PM #2 Last Edit: May 30, 2024, 05:45AM by BaconWizard17
This information has been moved to new tutorials. See Section 1, above, for more information.

October 12, 2020, 10:17AM #3 Last Edit: May 30, 2024, 05:45AM by BaconWizard17
MUA1  MOD  INSTALLATION  GUIDE
SECTION 4.1: HEROSTAT EDITING

By BaconWizard17



Introduction
      Data files control many aspects of Ultimate Alliance. The most significant of them is the herostat (which determines what characters are in your game), but there are other ones too. Data files use a form of XML coding compiled to binary. Some common file extensions include .xmlb, .engb, and .pkgb. Some less common ones are .boyb, .chrb, and .navb. There are other accepted language-specific extensions, such as .itab (Italian), .gerb (German), and .spab (Spanish), but .engb (English) is the default selected by the game.     
      The herostat is one of the main data files that you interact with while modding the game. You can read more about what it is below. Although any of the data file editing programs can be used to open and edit the herostat, OpenHeroSelect is specifically designed to build new herostats. I absolutely recommend using it for that. There's no reason to use any other program for the herostat.
      It's important to note that if there is a .xmlb and language-specific version of a file (such as .engb), the game will read the language-specific version, so only edit that one. Remember that any time you edit a data file (.xmlb, .engb, .pkgb, etc) you must start a new save file with default statistics.
      Note: If an image is too small, click to expand it.


     
      What is the herostat?
      The herostat (herostat.engb) is one of the most important data files in the game. It tells the game which characters are on your roster, as well as various statistics and information about them. These statistics and information include what files (animations, skins, powerstyle, etc) the character uses, what powers they start with, what effects they have applied to them, and other things like that. It also has the information for where the character is positioned on the character select screen, which is called their menulocation.
      Within the herostat file, each character has their own herostat entry. A character's herostat entry contains all the information that's specific to that character. Because the herostat is made up of several different entries that come from each individual character, it can be a bit tricky to edit it. That's why we recommend OpenHeroSelect to edit the herostat. It takes a bit more time to learn, but it cuts down on error significantly and has a robust system for detecting errors.


     
      OpenHeroSelect
      OpenHeroSelect (also called OHS) is the best tool for editing the herostat. It's made by member Tony Stark. It's very user-friendly and cuts down on the potential for error. It has support for all different roster sizes, including the roster hacks. OHS can only be used for herostats and won't work on any other file. You can download OHS here. You can read more about OHS here.
      Before you start using OHS, it's important to understand what it does. OHS is a program that's designed specifically for building the herostat file from the individual entries that are specific to each character. You add the herostat entries of each character to the OHS files, and then you list out which of those characters you want on your roster. You can have just 1 character or as many as 50 (if you have the roster hack). Then, you run OHS, and it takes the individual herostat entries of the characters that you've listed and combines them into one single herostat file, which it then sends to the folder that you tell it. Any time you make changes to a specific character's herostat entry and you want those changes to show up in your game, you'll need to run OHS again and follow the procedures for it. Additionally, every time you add a new character and want them to be one your roster, you'll need to run OHS as well.

     

     
Expand to see steps
      Once you've downloaded OHS, extract the files somewhere. You don't have to put it in your game files. I recommend a separate folder on your desktop. When you open the OHS files, you'll see a few programs and a few folders. The only things you need to worry about are the "mua" folder and "OpenHeroSelect.exe." The "help_files" folder has some useful information on how to use the program. In the "mua" folder, you'll find 3 more folders ("menulocations", "rosters", and "xml"). Older versions of OHS also included a "json" folder, but it's no longer needed after version 4.6.
      Here's how to use OHS:
  • First, you'll want to put the herostat entries of any mod characters you've downloaded into the "xml" folder.
    • Herostat entries can be found in the mod's download. They will either be in the root folder of the mod download, or in the Data folder of the mod download. They are usually named herostat.txt.
    • Herostat entries for the OCP 2.4 characters are already in the "xml" folder.
    • When you copy the file into the "xml" folder, you'll need to rename it. It's good to name it after your character. Starting with OHS version 4.6.0, spaces are allowed in the file names, and any file extension is accepted. So for War Machine, you could rename "herostat.txt" to "War Machine.txt", "WarMachine.txt", "WarMachine.xml", "War Machine.xml", etc. I recommend "War Machine.txt". The screenshot shows "warmachine.xml", which also meets the requirements but is the older method for doing it.
  • Next, you'll want to go to the "menulocations" folder. You don't need to edit anything in this folder, but it is important. Here you can find different team stage layouts for rosters of different sizes. You can open and view the .cfg files with notepad. Do not change anything in this folder. It's only a reference. The numbers in these lists are the menulocations ordered from left to right in the character selection screen.
  • Next, you'll want to go to the "rosters" folder. There, you'll find a file called roster.cfg, which is a generic roster with all 55 OCP characters. There are also several pre-built rosters for different versions of the game. These files are the roster config files, and they can be edited with notepad. They tell OHS which characters you want on your roster.
    • The names listed in any roster config file must be the same as the names of the files in the "xml" folder, minus the file extension.
    • You can also create a new .cfg file with a different name if you want to use multiple rosters.
    • The order of the names is important. The order they are in the roster config file is their order from left to right in the character select screen. It may look slightly different depending on which team stage you use, but the order will always be left to right.
    • Starting with OHS 4.7.0, you can customize the starting characters and unlocked characters using OHS. If you want to set a character as a starting character, put an asterisk () before their name in the roster config file. If you want a character to be unlocked from the start, put a question mark (?) before their name in the roster config file.
    • It's okay to add more characters than your roster size allows. OHS will automatically choose the correct number of characters from the top of the list.
  • Once you've customized your roster config file and added (and renamed) your herostat entries to the "xml" folder, back out and launch "OpenHeroSelect.exe". You can't use the mouse on this program. Move with the arrow keys and the enter key. If a question says (y/n), you can hit the Y key for Yes or the N key for No.
    • Choose to Generate a Herostat for Marvel: Ultimate Alliance.
    • You will be asked which mod installation method you are using. If you're using MO2 to install mods, select the "PC - MO2 Method" option. If you're playing the PC version and not using MO2, choose the "PC - Direct Method" option. If you're playing a console version, choose the "Consoles" option.
    • You will then be asked if you have a roster hack installed. Choose the appropriate option.
    • Select a roster layout that works for your game. Choose the appropriate size for your game.
    • Next, choose the name of the roster that you want to use for your herostat. Pick the name of the roster config file that you edited in the "mua/rosters" folder.
    • Next, enter the path to your game files. You can either type the path out, or you can copy it from file explorer and paste it by right clicking in the blank. If you're using MO2, follow the steps in Section 6 for how to determine the proper file path to use with MO2.
      • If you're not sure what the file path is to your game files, you can open your game files and click at the top of File Explorer where the name of the folder is listed. It will show you the full file path, which you can then copy. If you're using MO2, follow the steps in Section 6 for how to determine the proper file path to use with MO2.
    • Next, you'll be asked if you're editing the herostat for a package mod. If you're using a package mod with a separate exe, such as the MK on MUA content, choose Yes. Otherwise, choose No. Choosing Yes will give you several additional options for file names that would be different for package mods.
    • The next option will ask if you want to update the character unlocks. Choose Yes if you customized the starting and unlocked characters in your roster config file by addint asterisks () and question marks (?) before a character's name.
    • If you chose the PC - Direct Method option, you'll be asked if you want to start the game after generating the herostat. I don't recommend this, but you can.
    • The next 3 options ("Save the intermediate temp files?", "Show progress?", "Test herostats?") are debug features only. Choose No unless you're encountering an issue with OHS.
    • The last question will ask if you want to save your options. I recommend doing so. If you say Yes, you won't have to re-enter the options each time.
    • After that question, OHS will generate your herostat and automatically copy it to your game files. If there are any errors, OHS will generate an error log telling you the issue. If there are no issues, it will just show the file path and ask you to press Enter, at which point it will close.
    [/center
      If OHS gives you an error that says something like:
Error: ENOENT: no such file or directory, copyfile 'C:\Users\Username\Downloads\OpenHeroSelect\temp\herostat.xmlb' -> 'C:\Program Files (x86)\Activision\Marvel - Ultimate Alliance\data\herostat.engb'
This usually means one of two things: either the file paths you gave OHS don't exist, or it's unable to compile the herostat for some reason.
  • First, check and make sure that the file paths you gave OHS are correct. The default file path that OHS uses for MUA1 is C:\Program Files (x86)\Activision\Marvel - Ultimate Alliance. If you installed your game elsewhere, be sure to use that file path instead. If you're using MO2, make sure that you give OHS the file path to your "Herostats" folder (see Section 6 of this tutorial for more info), and make sure that there is a "Data" folder inside of it.
  • If all the file paths are correct, then make sure that there are no typos in your herostat entries for any characters you added. Check for missing brackets and semicolons, and also make sure that their herostat entry begins with stats { and not anything else.



Additional Utilities for OHS and Herostat Editing
      OHS itself is a robust program that makes herostat editing super easy, but there are some additional batch programs made by ak2yny that add extra functionality to the program, allowing you to accomplish even more.
     
Expand to see steps
      The first program is the Stage & Herostat Helper, which you can download here. It adds some extra capabilities when setting up your roster. There are several different options, such as choosing which team stage you want to use for your game and enabling/disabling menu effects. You can choose whether or not you want to run OHS while you make these changes. The link also features a YouTube video that walks you through how the program can be used.
      You install the files to your base OHS folder. Double click "Stage&HeroHelp.bat" to run it. If you don't have a config.ini file, it will ask you for the file path. If you're using MO2, this is the path to your Herostat mod in your MO2 files. If you're not using MO2, it's the path to your game files. If you already have a config.ini file, it will take you directly to the main screen. In either case, the main screen has 9 options. Each option will step you through the procedures.
  • Choose one of the many team stages, then a layout, and then which roster you would like to use.
  • Set up a roster using all installed heroes. No changes to the team stage.
  • Set up a roster based on a roster layout. No changes to the team stage.
  • Run OHS and choose a particular roster to use.
  • Run OHS and use the settings of the existing config.ini file.
  • Only choose a team stage and layout.
  • Clean up herostat entries (remove comments)
  • Switch individual heroes in a roster file
  • Exit the program
      The other utility is the herostat skin editor. This program makes it easy to edit which skins your character is using. You can download it here. You'll want to place it in the "xml" folder of OHS. Drag and drop the file of the character that you want to edit over this program.
      The window will pop up. It will show the name of your character at the top, and then it will ask for a filename for skin 1. Basically, it's asking for the last 1 or 2 digits of the skin number. If you don't want to change it, you can just press Enter to skip it here. If you do want to change it, type a number from 0 to 99 for the new skin and press Enter. After this, it will tell you that the skin file can't be found, which is normal. Next, it will ask about the skin name. Again, if you don't want to change the skin's name, just press Enter. If you do want to change the skin's name, type the new name and press Enter.
      It will then ask about the remaining skins that are in the character's herostat. You can choose to change the name, the number, neither, or both. Remember to hit Enter at each question whether or not you type something.
      If your character has fewer than 6 skins, the program will next ask if you want to add extra skins. If you do want to add a new skin, type the number and name of the new skin. If you don't want to add new skins, simply press Enter, and the program will close.
      Once the program closes, the changes will be applied to your character's herostat entry! You'll need to run OHS again to apply the changes to your herostat. Remember to create new packages for your character if you're adding new skins! This is covered in section 5.1.

June 28, 2021, 03:08PM #4 Last Edit: May 30, 2024, 05:45AM by BaconWizard17
MUA1  MOD  INSTALLATION  GUIDE
SECTION 4.2: OTHER DATA FILE EDITING

By BaconWizard17



Introduction
    Data files control many aspects of Ultimate Alliance. The most significant of them is the herostat (which determines what characters are in your game), but there are other ones too. Data files use a form of XML coding compiled to binary. Some common file extensions include .xmlb, .engb, and .pkgb. Some less common ones are .boyb, .chrb, and .navb. There are other accepted language-specific extensions, such as .itab (Italian), .gerb (German), and .spab (Spanish), but .engb (English) is the default selected by the game.
    The herostat is the main data file that you'll interact with when modding your game, but there are other data files that you can edit in the game. Since OpenHeroSelect is only designed for the herostat, you must use another program to edit these other data files. Currently, there are 2 different ones: Raven-Formats and XMLBCUI. You can read more about each below. Both programs can have improved functionality if you use them with the XMLB batch tools, which speed up the editing time. Of the two programs, I personally prefer Raven-Formats.
    It's important to note that if there is a .xmlb and language-specific version of a file (such as .engb), the game will read the language-specific version, so only edit that one. Remember that any time you edit a data file (.xmlb, .engb, .pkgb, etc) you must start a new save file with default statistics.
Note: If an image is too small, click to expand it.



Quick Batch
     Quick Batch (QB for short, formerly called the "XMLB Batch Tools") are a series of batch (.bat) files developed by ak2yny that speed up the data file editing process when using Raven-Formats or XMLB-Compile. These tools don't do anything on their own, but greatly improve the speed and efficiency of the existing data file editing programs. With these batch tools, you don't have to worry about typing names and file paths. All you have to do is drag and drop or double click.
Expand to see steps
    You can download Quick Batch here and find more info at the bottom of this post. If you're using Raven-Formats, make sure you have that installed. The batch tools come with XMLB-Compile.exe, the program used by XMLBCUI to compile files. You're free to use either or both if you want.
    To use these programs, you can either drag your data file onto the batch file to perform the operation, or you can place the file into the folder and double click the batch file to execute it. The files that start with (XC) are for XMLBCUI format code, and the ones that start with (RF) are for Raven-Formats. Here's what each file does:
  • (RF)Compile: uses Raven-Formats to compile the chosen .xml or .json file to a data file format. The program lets you choose which type of data file you're compiling to.
  • (RF)DecompileJSON: uses Raven-Formats to decompile the chosen data file to a .json file.
  • (RF)DecompileTrueXML: uses Raven-Formats to decompile the chosen data file to a .xml (true XML format) file.
  • (RF)edit: uses Raven-Formats to edit a chosen data file. This .bat file will decompile the file and automatically open it in notepad for you to edit it. When you finish editing it and close notepad, the bat file will compile the file automatically.
  • (XC)Decompile: uses XMLBCUI (xmlb-compile) to decompile the chosen data file to a .xml (XMLBCUI format code) file.
  • (XC)edit: uses XMLBCUI (xmlb-compile) to edit a chosen data file. This .bat file will decompile the file and automatically open it in notepad for you to edit it. When you finish editing it and close notepad, the bat file will compile the file automatically.
  • (XCtoRF)convert: converts the chosen XMLBCUI format .xml file to a Raven-Formats compatible .json file
Cleanup: Removes any text files (.xml or .json) from the selected folders.[/li]
[/list]
    I highly recommend using these programs, as they increase your editing speed a ton. You can find a visual example in this video.



Raven-Formats
    Raven-formats is a new and fast tool for editing other data files. It was created by nikita488, who continues to offer support for the tool. It is quicker and more powerful than XMLBCUI, and it can edit some files that XMLBCUI can't. The coding format is slightly different from XMLBCUI, but all the same information is there. Raven-formats pairs nicely with the XMLB Batch Tools, which speed up the editing process even more.
Expand to see steps
    To use the program, you first need Python 3.9 or later. When you download it, be sure to choose the 64-bit installer. When you install the program, be sure to choose to add python to PATH. (The screenshot is a bit outdated and still shows Python 3.8, but you need 3.9 or later)
    To install Raven-Formats, open command prompt and type "pip install raven-formats." This will automatically install the latest version of the program.
    Raven-Formats can handle 2 different forms of code: true XML format (used by the default code of the game), and a JSON-style code format. Both formats are different from the format that XMLBCUI uses. Here is a comparison of the same file in all 3 languages: 
    Each is laid out slightly differently, but they all present the same information. The advantage of the JSON-style or true XML code formats is that conventional code editors will be able to highlight and color information in appropriate ways. Most of the time, mods use the XMLBCUI-format code any time there's something you need to add to a file. I've created a handy program that can convert XMLBCUI-format code to the JSON-style code used by Raven-Formats. To do that, place a txt file of the XMLBCUI-format code in the same folder as converter.py. Open command prompt and type "py converter.py". When asked, type the name of the file and press Enter, and the program will convert the format to the JSON-style code for you!
    Now onto using Raven-Formats. The program is extremely easy to use. However, I do not recommend you use the program to edit your herostat. Use OHS for that instead.
  • Navigate to the folder that has the data file (.engb, .xmlb, .pkgb, etc) that you want to edit. Open command prompt in that folder.
  • In command prompt, type: xmlb -d (data file name) (text file name). The data file name is your data file, such as ps_wolverine.engb. The text file name is whatever you want the output file to be. You can use a .json or .xml extension. Here are some examples:
    • xmlb -d ps_wolverine.engb ps_wolverine.json
    • xmlb -d ps_wolverine.engb ps_wolverine.xml
    • xmlb -d wolverine_0301.pkgb wolverine_0301.json
    • xmlb -d p1_charge.xmlb p1_charge.json

    You can use any recognized file extension. For the data files, that includes .engb, .xmlb, .pkgb, .chrb, .navb, .boyb, and other language-specific versions. For the output files, the extensions are .json or .xml
  • Edit the output file using your choice of text editor.
  • Open command prompt again in the same folder. In command prompt, type: xmlb (text file name) (data file name). The text file is what you created earlier with Raven-Formats, and the data file is the file you're compiling it back to. Using the examples from earlier:
    • xmlb ps_wolverine.json ps_wolverine.engb
    • xmlb ps_wolverine.xml ps_wolverine.engb
    • xmlb wolverine_0301.json wolverine_0301.pkgb
    • xmlb p1_charge.json p1_charge.xmlb

    As you can see, it's quite simple to use. I recommend using Raven-Formats with the XMLB batch tools to reduce the amount of typing you have to do and increase speed. You can find more information on that below.



XMLBCUI
    XMLBCUI is the original tool used for editing data files. Many long-time members still use this tool. It is no longer supported by its creator, and there are some files that it can't open, but it can handle most data files. It can be used to edit the herostat as well, but it's a more manual process that requires much more care. The coding format is more traditional to what modders are used to. If you prefer this coding format, I recommend using XMLB-Compile with the XMLB Batch Tools to speed up the editing process.
     If you do choose to use XMLBCUI to edit your herostat, you can find the herostat entries for all 55 default OCP characters on the GitHub page for OHS.
    

Expand to see steps
You can download XMLBCUI here. Once it's installed, run xmlbcui.exe (I recommend creating a shortcut to it). Here's how to use it:
  • Go to File>Decompile
  • For "input XMLB", choose the data file you're decompiling (it doesn't have to be a .xmlb file, it can use any other accepted data file extension). I don't recommend using XMLBCUI for herostats and suggest you use OHS instead. The "Output xml" blank will automatically fill out, but you can change the file path if you like. Then press Accept.
  • XMLBCUI will generate the output xml file, which you can open with a text editor and edit.
  • Save your file once you finish editing it and go to File>Compile.
  • For the "input xml", choose the xml file that you created earlier. XMLBCUI will automatically populate the "output xmlb" line, but keep in mind that the extension defaults to .xmlb, which isn't always what you need. You can browse for the correct file or manually type the extension. Then press Accept, and XMLBCUI will compile the file back for you.

September 09, 2021, 09:08AM #5 Last Edit: May 30, 2024, 05:46AM by BaconWizard17
MUA1  MOD  INSTALLATION  GUIDE
SECTION 5.1: REPLACING/ADDING SKINS

By BaconWizard17



Introduction
      Skins are the visual files of your character. They can be found in the Actors folder. Their names are 4 or 5 digits long. The first 2 or 3 digits are the character's number, and the last 2 digits are the skin number. For instance, Spider-Man's number is 09, so his skins are 0901, 0902, etc. Luke Cage's number is 157, so his skins are 15701, 15702, etc. A character's number can be found by looking at their herostat entry or their animation set (you can check their herostat entry in the "xml" folder of OpenHeroSelect for MUA1).
      You can find many new skins in the MUA1 Skin Thread Catalog. This has links to all the big skin catalogs.
      Note: If an image is too small, click to expand it




Checking Skin Version
      Before you swap out skins, it's a good idea to check the skin's version to make sure that the skin will work for you. This step isn't necessary for PC (all skins should work on PC), but it's a good idea to check this if you're using the skin on console versions. In order to check the version, you'll need a hex editor program. Most people in the community use HxD or xvi32. I will be using HxD for this demonstration, but either works. This step is not necessary if you already know that the skin will work on your console (for instance, if the creator says that it does). Show the Spoiler to see more details on how to do this.
Expand to see steps
      To check the version, open the skin in the hex editor. You'll need to check what hex value is present at the 2C offset. This can be found on the left half of the screen, in the 3rd row, 13th column (as shown in the image below). This value should either be 04, 06, or 08.


  • If the value is 04, that means it's a custom model made with Alchemy 2.5. These skins will certainly work on PC, and may possibly work on all consoles (depending on how they were exported). See the section below to learn how to make sure the skin will work on consoles.
  • If the value is 06, that means it's a default skin using Alchemy 3.2 (these skins come from the PS2 and Xbox versions of all games, as well as XML1/XML2 GameCube and PC). These skins should automatically work on consoles, but it's important to check the texture format to make sure. See the section below on Alchemy 3.2 to verify that.
  • If the value is 08, that means it's either a default Alchemy 3.5 skin, a default Alchemy 4 skin, or a custom Alchemy 5 skin. Alchemy 3.5/4/5 skins won't work on PS2 or Xbox, but some may work on PSP or Wii. See the section below to learn how to make sure of that.

Checking Alchemy 2.5 Skins
Expand to see steps
      Alchemy 2.5 skins have a hex value of 04 in the 2C offset with a hex editor. In order to check that the skin will work on consoles, you'll need to download the Alchemy 2.5 tools. In the download, there's a folder called "2 Paste contents of this folder to Alchemy directory". Paste the contents of this folder into C:\Alchemy (you will need to create this folder if you haven't already). You must install it to this folder and no other folder. If you previously had Alchemy 5 installed, you'll need to delete everything from Alchemy 5 before installing Alchemy 2.5.


      Go to C:\Alchemy\ArtistPack\Finalizer\ and open sgFinalizer.exe. This is a program called Finalizer, which can tell you a lot about the skin. Open the skin in Finalizer. When you open it, you'll see 5 panels. If the top right panel (the largest one) is empty, that means that this is a console-compatible skin. This is only true for skins; other types of models will always have something in the top right panel.


      If you need to check your texture format, you can also do this in Finalizer. To get to the texture, you will need to expand several things in the model tree in the top left panel. Get ready, because it's a lot:

igAnimationDatabase > _skinList > igSkin> _skinnedGraph > _childList > igGroup > _childList > igBlendMatrixSelect > _childList > igAttrSet > _attributes > igTextureBindAttr > _texture > _image

Under "_image", if the value for "_bitsIdx" is 8, that means that this is a PNG8/PS2 format texture. It will work on all consoles (as long as the file size isn't too big for your console). If the value is 0, then this is a DXT1 texture, which means it will not work on PS2 or PSP.


Checking Alchemy 3.2 Skins
Expand to see steps
      Alchemy 3.2 skins have a hex value of 06 in the 2C offset with a hex editor. Alchemy 3.2 skins will automatically work on Xbox and Wii. They may work on PS2, but it depends on the texture format. They may also work on PSP, but it depends on texture format and file size.
      In order to check the texture format of Alchemy 3.2 skins, you'll need to download the Alchemy 5 tools. The link provides download instructions and links. I recommend using the portable version.
      Note: If you previously had Alchemy 2.5 installed, you'll need to delete everything from Alchemy 2.5 before installing Alchemy 5. If you save alchemy 3.2 skins with finalizer 5, they will no longer work on PS2 or Xbox. You can view the files, but do not save them.


      Go to C:\Alchemy\ArtistPack\Finalizer\ and open sgFinalizer.exe. This is a program called Finalizer, which can tell you a lot about the skin. Open the skin in Finalizer. In the top left panel, you will see a tree of different values. You will need to expand several things in the tree to get down to the texture. Get ready, because it's a lot:

igAnimationDatabase > _skinList > igSkin> _skinnedGraph > _attributes > igTextureBindAttr > _texture > _image > _pfmt

      If the value for "_pfmt" is "IG_GFX_TEXTURE_FORMAT_X_8", that means that this is a PNG8/PS2 format texture. It will work on all consoles (as long as the file size isn't too big for your console). If the value is something else, then this is a DXT1 texture, which means it will not work on PS2 or PSP. 


Checking Alchemy 3.5/4/5 Skins
Expand to see steps
      Alchemy 3.5, 4, and 5 skins have a hex value of 08 in the 2C offset with a hex editor. In order to check that the skin will work on consoles, you'll need to download the Alchemy 5 tools. Simply drag and drop the contents of this folder into C:\Alchemy (you will need to create this folder if you haven't already). You must install it to this folder and no other folder. Once you've done that, double click on setup.bat to properly install it. If Alchemy 5 ever tells you that the evaluation has expired when you try to run it, just double click on "Reset Alchemy 5 Eval.bat" to fix that issue.
      Note: If you previously had Alchemy 2.5 installed, you'll need to delete everything from Alchemy 2.5 before installing Alchemy 5.


      Go to C:\Alchemy\ArtistPack\Finalizer\ and open sgFinalizer.exe. This is a program called Finalizer, which can tell you a lot about the skin. Open the skin in Finalizer. When you open it, you'll see 5 panels. If the top right panel (the largest one) is empty, that means that this is a console-compatible skin. It will work on Wii, and it may work on PSP depending on the texture format and file size. Alchemy 3.5/4/5 skins do not work on PS2 or Xbox. This is only true for skins; other types of models will always have something in the top right panel.


      If you need to check your texture format, you can also do this in Finalizer. To get to the texture, you will need to expand several things in the model tree in the top left panel. Get ready, because it's a lot:

igAnimationDatabase > _skinList > igSkin> _skinnedGraph > _childList > igGroup > _childList > igBlendMatrixSelect > _childList > igAttrSet > _attributes > igTextureBindAttr > _texture > _image > _pfmt

Under "_image", if the value for "_pmft" is "IG_GFX_TEXTURE_FORMAT_X_8", that means that this is a PNG8/PS2 format texture. It will work on PSP and Wii (as long as the file size isn't too big for your console). If the value is something else, then this is a DXT1 texture, which means it will not work on PSP.




Replacing Skins
Expand to see steps
      Replacing skins is the easiest mod you can do for a character. In order to see what skins a character uses, you need to check their herostat entry (which you can do by looking in the "xml" folder of OpenHeroSelect for MUA1). Within the entry is a section that covers their skins. For this example, I'll use Iron Man's, since it's a bit weird:

  skin = 1502 ;
  skin_01_name = New Avenger ;
  skin_02 = 05 ;
  skin_02_name = Classic ;
  skin_03 = 03 ;
  skin_03_name = War Machine ;
  skin_04 = 04 ;
  skin_04_name = Ultimate ;

      This shows his 4 skins. First, the skin number is defined, and then its name is defined. The very first skin is referenced by its full number, but the skins after that are referenced just by their last two numbers. So you can see that Iron Man's primary skin is 1502. The second skin in the list says "skin_02 = 05". This means that the second skin that shows up is 1505. The 3rd skin is 1503, and the 4th skin is 1504. So if you wanted to replace Iron Man's second skin, you would need to name the new skin 1505.igb. Before placing it in the Actors folder, you need to hex edit it (you can read about this below), and make sure that you make a backup of the original skin in case you ever want to put it back.
      You can also rename the skin in the character's herostat entry if you're interested in changing the name. You can do this by going to the "xml" folder of OpenHeroSelect for MUA1 and making the changes there. If you're using OHS, you can also use the Herostat Skin Editor to rename skins. Instructions are in Section 4 in the part called "Additional Utilities for OHS and Herostat Editing".
      If you're replacing the skin's conversation portrait (hud), you want to give it the same number as the skin, and put that in the hud folder. So the conversation portrait for the skin 1505.igb is hud_head_1505.igb. You don't need to hex edit conversation portraits.



Adding Skins - PC
Expand to see steps
      To add skins on PC, there are 2 things you need to do: edit the herostat entry and add the packages. On PC, characters can have up to 6 skins. The first thing to do is to pick a number that isn't being used by anyone else. For example, you wouldn't want to use 0905 for Spider-Man, because Dark Spider-Man uses that skin number. You can check your actors folder to see which numbers are available. Be careful of mods that share the same character number.
      Next, you want to add a new number to the herostat entry, as well as a new name. You can do this by going to the "xml" folder of OpenHeroSelect for MUA1 and making the changes there. I'll keep using Iron Man's herostat entry here. Since 1505 is taken, I'll make his 5th skin use 1506, the next available number. I'm naming it Test Skin, but you can give it any appropriate name.
  skin = 1502 ;
  skin_01_name = New Avenger ;
  skin_02 = 05 ;
  skin_02_name = Classic ;
  skin_03 = 03 ;
  skin_03_name = War Machine ;
  skin_04 = 04 ;
  skin_04_name = Ultimate ;
  skin_05 = 06 ;
  skin_05_name = Test Skin ;


      If you're using OHS, you can also use the Herostat Skin Editor to add skins in the herostat. Instructions are in Section 4 in the part called "Additional Utilities for OHS and Herostat Editing".
      The next step is to create new packages for your character. Packages reference your character's files, and they allow your character to work correctly. Go to Packages/generated/characters, and look for Iron Man's packages. Each skin has 2 packages here (that are actually used). One will be called "characterName_skinNumber.pkgb", and the other will be called "characterName_skinNumber_nc.pkgb".
      We want to make new packages for Iron Man's new 1506 skin, so copy the packages for Iron Man's 1502 skin: ironman_1502.pkgb and ironman_1502_nc.pkgb. Rename these copies to ironman_1506.pkgb and ironman_1506_nc.pkgb. Next, open the packages with a hex editor. Look for all instances of the old skin number (1502) and replace it with the new skin number (1506). Save your changes and add the new packages back to packages/generated/characters.
      After this, you can add 1506.igb to your Actors folder (after hex editing it), and add hud_head_1506.igb to your hud folder. Note that skin_05 and skin_06 won't have any costume passives.
      If you have Raven-Formats, you can use ak2yny's Package Cloner batch file to create new packages with ease. Click the spoiler for instructions.
Expand to see steps
      To use it, place the batch file in the same folder as the packages you're going to clone. In this case, it's Iron Man's 1502 packages.


      Double-click the batch file to run it. Command prompt will pop up, and it will ask for the number of the package you're creating. Since the package we're creating is for Iron Man's 1506 skin, type "6", then Enter. The batch file will create the packages for 1506. Command prompt will close when the process is complete.


      It's also possible to create multiple packages using the batch program. Say you want to create packages for 1506 and 1507. In this case, type "6-7" for the first question, then Enter. The program will automatically create these packages and close when the process is complete.


      Once that's done, you can drop the packages back into your game files!



Adding Skins - Consoles
Expand to see steps
      To add skins to consoles, there are 2 things you need to do: edit the herostat entry and add the packages. On consoles, characters can have up to 4 skins when done the normal way. If you want to add the 5th or 6th skin, you will still need to create new packages for these skins, but you will need to add your character's files to permanent.fb. The first thing to do is to pick a number that isn't being used by anyone else. For example, you wouldn't want to use 0905 for Spider-Man, because Dark Spider-Man uses that skin number. You can check your actors folder to see which numbers are available. Be careful of mods that share the same character number.
      Next, you want to add a new number to the herostat entry, as well as a new name. You can do this by going to the "xml" folder of OpenHeroSelect for MUA1 and making the changes there. I'll keep using Iron Man's herostat entry here. Since 1505 is taken, I'll make his 5th skin use 1506, the next available number. I'm naming it Test Skin, but you can give it any appropriate name

  skin = 1502 ;
  skin_01_name = New Avenger ;
  skin_02 = 05 ;
  skin_02_name = Classic ;
  skin_03 = 03 ;
  skin_03_name = War Machine ;
  skin_04 = 04 ;
  skin_04_name = Ultimate ;
  skin_05 = 06 ;
  skin_05_name = Test Skin ;


      If you're using OHS, you can also use the Herostat Skin Editor to add skins in the herostat. Instructions are in Section 4 in the part called "Additional Utilities for OHS and Herostat Editing".
      The next step is to create new packages for your character. Packages reference your character's files, and they allow your character to work correctly. Go to Packages/generated/characters, and look for Iron Man's packages. Each skin has 2 packages here (that are actually used). One will be called "characterName_skinNumber.fb", and the other will be called "characterName_skinNumber_nc.fb".
      We want to make new packages for Iron Man's new 1506 skin, so copy the packages for Iron Man's 1502 skin: ironman_1502.pkgb and ironman_1502_nc.pkgb. Rename these copies to ironman_1506.pkgb and ironman_1506_nc.pkgb. Next, use fbextractor to extract your new packages. Edit the cfg for your packages, and change references to the old skin number (1502) to the new skin number (1506). After this, you can add 1506.igb to your Actors folder (after hex editing it), and add hud_head_1506.igb to your hud folder. Note that skin_05 and skin_06 won't have any costume passives.
      On consoles, if you're adding a 5th or 6th skin, you must add your character's skins to permanent.fb in addition to the new packages. It's not recommended to do this for too many characters, because you may overload permanent.fb.

September 09, 2021, 09:25AM #6 Last Edit: May 30, 2024, 05:46AM by BaconWizard17
MUA1  MOD  INSTALLATION  GUIDE
SECTION 5.2: SKINS - COMPATIBILITY AND HEX EDITING

By BaconWizard17



Introduction
      Skins are the visual files of your character. They can be found in the Actors folder. Their names are 4 or 5 digits long. The first 2 or 3 digits are the character's number, and the last 2 digits are the skin number. For instance, Spider-Man's number is 09, so his skins are 0901, 0902, etc. Luke Cage's number is 157, so his skins are 15701, 15702, etc. A character's number can be found by looking at their herostat entry or their animation set (you can check their herostat entry in the "xml" folder of OpenHeroSelect for MUA1).
      You can find many new skins in the MUA1 Skin Thread Catalog. This has links to all the big skin catalogs.
      When installing skins, it's possible to simply just add them to your game files, but there are certain other things you can do to make them work more correctly.
      Note: If an image is too small, click to expand it



Hex Editing
      Hex editing skins is very important for MUA1. You want your skin to be properly hex edited so that the robots in Murder World can look like your character when you fight them. Skins also need to be hex edited for characters who change skins in their powers, such as Human Torch or Mystique. Otherwise these characters won't be able to change skins properly.
Spoiler
      There are many ways to hex edit a skin based on how the skin was made and how you're intending to use it. If you're using the skin for MUA1 PC only, you can use the Alchemy 5 tools to hex edit your skin (regardless of what version of alchemy it uses). If you're using the skin for consoles, you'll need to check the version number to see the proper way to use your skin. The first section of this post tells you how to check the version number of your skin.

  • For Alchemy 2.5 skins, you can use the Alchemy 2.5 tools to hex edit your skin. More info below.
  • For Alchemy 3.2 skins, you can use a hex editor to hex edit your skins. More info below.
  • For Alchemy 4/5 skins, you can use the Alchemy 5 tools to hex edit your skin. More info below.

Alchemy 2.5 Hex Editing
Spoiler
Alchemy 2.5 Hex Editing
      To hex edit an Alchemy 2.5 skin, you'll need the Alchemy 2.5 tools. The download instructions are above, in the section called "Checking Skin Version." Open the skin in Finalizer, and look on the left panel. There will be a property that says "_skinList: igSkinList". Click the plus button to the left of that, and a new property will pop out that says "igSkin("X"). X will likely be some number, but it could also say "igActor01_appearance".  Regardless of what it says, right click this property and select "edit object fields". Change the "Object Name" to be the same as the name of the file. For example, if the file is 0902.igb, the Object Name should be 0902. Once you've done this, click "OK" and save your file.


Alchemy 3.2 Hex Editing
Spoiler
      To hex edit an Alchemy 3.2 skin, all you need is a hex editor. First, you need to figure out what the original skin number is. To do this, search for ".png". You'll come across a string of text that references the texture of the model. The number that's before .png is the original number of the skin. This is what you need to change. You want to go through the file with the hex editor and look for all instances of the old number and type over it with the new number. There are a few cases to be aware of:
  • If the old number and new number are the same length (both 4 digits long or both 5 digits long), you can just directly replace the numbers. Ex: hex editing 0904 to 1503, hex editing 12301 to 15702
  • If the new number is longer than the old number, then type over the old number, and change the digit after it as well. Ex: hex editing 0904 to 15702
  • If the new number is shorter than the old number, type over the old number. You will have an extra digit left. On the left side of the hex editor, where the hex values are, change the hex value of the fifth number to 00, so that it will be replaced with an empty value on the right side


Alchemy 5 Hex Editing
Spoiler
      To hex edit an Alchemy 5 skin (or any skin being used for PC, PSP, Wii, Xbox 360, or PS3), you'll need the Alchemy 5 tools. The download instructions are above, in the section called "Checking Skin Version." While you can hex edit skins in Alchemy 5 Finalizer the way you do with Alchemy 2.5 Finalizer, ak2yny has created a batch process that speeds this up and makes it much easier. You can download it here. The package includes 2 batch files: SkinEdit.bat and SkinEdit-filenameToSkinName.bat. The first file presents you with several options on how you want to hex edit, such as inputting a name. The second one will automatically hex edit all the skins in the folder to be the same as their file name. All you have to do is place your skins in the folder and double click the batch file to run it!





Global Color Fix
      If you're playing MUA1 PC, Xbox 360, or PS3, you may notice that custom models turn black when they take damage, which isn't the case for default models. To fix this, you will need to have Alchemy 5 installed (see the section about checking skin version). Download this bat file and place it anywhere on your PC. To fix the color issue, you can place any skins with the issue in the same folder as the .bat file and double click the .bat file to apply the fix. Alternatively, you can also drag and drop the skin file onto the .bat file to run the operation. Here's the release post for this tool.



Xbox 360/PS3 Skin Compatibility
      To make your skins compatible with the Xbox 360 or PS3 versions of the game, there is an additional fix you need to apply with Alchemy 5. To do this, download this .bat file that I made based on one of ak2yny's. Make sure you have Alchemy 5 installed (see the section about checking skin version). You can place the .bat file anywhere. To use it, you can place any skins with the issue in the same folder as the .bat file and double click the .bat file to apply the fix. Alternatively, you can also drag and drop the skin file onto the .bat file to run the operation.

January 04, 2023, 08:14PM #7 Last Edit: May 30, 2024, 05:46AM by BaconWizard17
MUA1  MOD  INSTALLATION  GUIDE
SECTION 6: MOD ORGANIZER 2 (MO2)

By BaconWizard17
Logo by Outsider



Introduction
      Most of the information from this section has been moved to new tutorial. This section is remaining here to preserve some information that hasn't been moved to the new tutorials. See Section 1 of this tutorial for more information.
      Note: If an image is too small, click to expand it.



Using OpenHeroSelect (OHS) with MO2
      It's fully possible to use OHS with MO2, but there are a few specific things you'll need to do to make it work properly. This tutorial is meant to supplement the OHS instructions from Section 4 of this tutorial. Be sure to read that section for more information about how OHS actually works.
Expand to see steps
      First, you'll need to identify the location of your mods folder for MO2. To do this, click the settings icon at the top middle of MO2. In settings, click on the "Paths" tab, and look at the Base Directory.


      Open File Explorer and follow the path that's shown in the Base Directory. When you get there, you should find a folder called "Mods" (in addition to various others used by MO2).


      Open up the "Mods" folder. Inside it, create a new folder called "Herostats." Inside the "Herostats" folder, create a folder called Data.


      Keep this folder open and run OHS. Follow along the procedures as normal, but when it asks you for the path to your installation of Marvel - Ultimate Alliance, don't enter that yet.


      Go back to the open File Explorer window from before, and click at the top in the address bar. This will highlight the file path. Right click it and choose "Copy".


      Go back to OHS and right click on "C:\". This will paste the file path that you copied from File Explorer.


      Now you'll be able to continue along the regular steps of OHS to finish generating your herostat! Any time you change your herostat, send it to this folder. When you get back to MO2, you may need to refresh the mod list to get the new "Herostats" mod to show up. This can be done by clicking the blue refresh button at the top middle of the screen. Be sure to remember to enable the "Herostats" mod in MO2, and make sure that it always has the largest priority number (and is at the bottom of the list of mods).



Installing Skins with MO2
      The process for installing skins with MO2 is very simple as well. The information for how to replace and add skins can be found in Section 5; this section is just about how to install those mods in MO2.
Expand to see steps
      When installing skins, you'll want to create a folder in your "mods" folder in a similar way to how you did for your herostat above. In this case, however, you're creating the folder for your skins. You can have one folder per character, or alternatively, you can have all skins within one mod. The folders that you create within this mod folder depend on what you're adding. If you're just replacing skins, you'll want an Actors folder where you put the skins. You can create a "hud" folder for conversation portraits, a "models" folder for any custom power models, etc. If you're adding skins, you can also create "packages\generated\characters" and add the new packages that you create to this folder.


January 04, 2023, 08:14PM #8 Last Edit: May 30, 2024, 05:46AM by BaconWizard17
This information has been moved to new tutorials. See Section 1, above, for more information.

January 04, 2023, 08:14PM #9 Last Edit: May 30, 2024, 05:46AM by BaconWizard17
This information has been moved to new tutorials. See Section 1, above, for more information.