Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

[PORTED] Mass Effect 2 "mod as DLC"

Made by modders for modders. Step-by-step instructions on how to achieve specific modding goals with ME3Explorer. We *strongly* encourage you to post new tutorials on the wiki.

[PORTED] Mass Effect 2 "mod as DLC"

Postby Deager » 13 May 2015, 14:37

I wasn't too clever to figure this out to be candid and basically worked off the concepts figured out by JohnP for "mod as DLC" for ME3. It's just that it's even easier in ME2. Also, there may be errors so if people figure out more of what is or is not needed, please do share and I can edit this tutorial. Or even a little thing I may state incorrectly; please let me know. I'm not an expert on this stuff.

There are 4 things needed to make this work.
A folder with your mod's name which contains
mount.dlc
*.tlk
BIOEngine.ini

and the dll fix by Erik JS placed in the Binaries folder

We'll start with the mount file.

The mount.dlc is quite simple but a little different than for ME3.
Here's an example of an unmodded mount.dlc for Arrival
Image

And here is my modded mount.dlc for the Illium Landing Movie Mod
Image

The first change is this byte. Making it 01 allows to the mod to not be dependent DLC in a save game file.
Image

Next would be the priority of the DLC. Since I'm using BioD_TwrHub.pcc as the only thing I've modded, and only the base game and LotSB use it, I just had to mount above 300. So I went with 310 in hex, which is 01 36, and little endian for ME2, so 36 01.
Image

Now the common name you want the DLC be referred to. The game does seem to read this name and doesn't care what you say in the tlk, although I'm not positive on that.
Image

And to get your name to show properly, particularly if you change the length from whatever you use as your base mount.dlc file, you change this byte. If the byte is too short, your name simply gets truncated. If it's too long, well, I haven't tested that yet but it might bork stuff. Just get it set right. Mine works fine using the full name and not including the 00 byte after the last character.
Image

Next is the tlk common name. I'll get to the tlk later. All you need is a unique number. I used 400310 since I didn't see anything in Arrival in the 4s and figured 310 was a clean way to do the mount. Again, this is in hex, little endian. I have a hunch it's the 4 bytes, with the 00 after what I marked, possibly even before, as available, but I doubt anybody will get that high.
Image

Last is the folder name of the mod itself. All the other mount.dlc files seem to have 5 bytes of zeros at the end so I kept it the same.
Image

Note that I completely changed the length of the mount.dlc file without any issue. I just used the insert key and typed as needed or deleted bytes on common names as needed. Side note: leave the warning on in HxD about changing the file size. Turning it off is just asking for trouble.

Also, all the other bytes seem to stay the same, but I can't say I know what they all do. If anyone knows, I'll change the tutorial to reflect that.
Last edited by Deager on 14 May 2015, 22:25, edited 3 times in total.

User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Tutorial: Mass Effect 2 "mod as DLC"

Postby Deager » 13 May 2015, 14:39

The tlk file.

Since I mention it so much, here's the link to JohnP's method for ME3.
adding-dlc-t1330.html

Going off that, I did this. It's just the male and female entries, which are consistent across all tlks for ME2, and then the common name, 400310, which you saw was referenced above in the mount.dlc.
Image

Now, my mod has nothing to do with any line changes, so I suspect I could easily get it to work with any language listed. I suspect a file which may have audio files with it, like German, may explain why that tlk looks like this. Note that 314988 is the name of Arrival and I used that as my template before changing 314988 to 400310.
Image

But interestingly the Czech tlk uses the English name.
Image

And the Polish tlk doesn't reference the common name at all.
Image

So really, I'm not exactly sure how universally a mod can be setup. That's still something to research. Since my mod is a simple one to always play a video, I actually would want it to work with as many versions of ME2 as possible.

Another item to know is to setup the name of the tlk following the structure of the other DLCs. Arrival does DLC_25_INT.tlk for the English version, Overlord uses DLC_20_INT.tlk, and so on. I used DLC_40_INT.tlk for my mod and you'll see that referenced in the BIOEngine.ini file.

EDIT: Humorously, Genesis uses 40 already and I didn't know that. Here's a master link from Kinkojiro. I now use 60 for the Illium movie mod.
post16543.html#p16543
Last edited by Deager on 18 May 2015, 02:53, edited 3 times in total.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Tutorial: Mass Effect 2 "mod as DLC"

Postby Deager » 13 May 2015, 14:39

BIOEngine.ini

Here's the text of all I needed.

[Core.System]
!CookPaths=CLEAR

+SeekFreePCPaths=..\BIOGame\DLC\DLC_EXP_ILMM\CookedPC

[Engine.PackagesToAlwaysCook]
!Package=CLEAR
!SeekFreePackage=CLEAR

[Engine.DLCModules]
DLC_EXP_ILMM=60

[DLCInfo]
Version=0
Flags=2
Name=400310

OK, text is done. I left that there for easy copy and paste.

Note that the [Engine.DLCModules] has the name of the folder I used, DLC_EXP_ILMM and the =60 is what the tlk is named, DLC_60_INT.tlk . This is where I suspect people could edit all language files to DLC_60_<language>.tlk and edit the tlk accordingly. I still don't know why some tlks have the name of the DLC and others don't, but if you cover the big ones like FRA, ITA, DEU, and INT, you're in great shape right there. In fact, any consistency found with the tlks accross all DLCs may give us the answer of what can always be included in mods like mine or Fob's Arrival mod.

EDIT: I went through all tlks and it appears only the POL does not reference the name of DLCs. But all others do. It really doesn't matter what language you use for your description of course. So for my mod, I did include all tlks and even the POL one without the ILMM name in it.
/EDIT

Another note is the [DLCInfo]. All DLCs I've seen use Version=0 and Flags=2. The Name matches my tlk and mount value of 400310.

Final note is that I made sure the path reflected my mod folder name.
+SeekFreePCPaths=..\BIOGame\DLC\DLC_EXP_ILMM\CookedPC

After that things get a little murky. I tried my mod with just this
[Engine.DLCModules]
DLC_EXP_ILMM=60

[DLCInfo]
Version=0
Flags=2
Name=400310

but it didn't work. So I included everything you see in the example because those appeared to be very consistent across all DLCs I looked at. If anybody figures out a way to slim that down, let me know.

The other ini files are not needed for a simple mod like mine but if you look at BIOEngine.ini, BIOGame.ini, and BIOUI.ini you may recognize things to change and use if you're making a complex mod. It looks like this is basically the "bin" version of ME3 files for ME2.
Last edited by Deager on 18 May 2015, 02:52, edited 4 times in total.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Tutorial: Mass Effect 2 "mod as DLC"

Postby Deager » 13 May 2015, 14:40

To get your "mod as DLC" to work, it's best to use the fantastic dll solution by Erik JS. This works just like the ME3 version. Erik JS uses a custom binkw32.dll and the binkw23.dll is simply the original binkw32.dll so people can always delete his binkw32.dll and rename binkw23.dll back to binkw32.dll if they want. Goes in the Binaries folder where you'll see the existing dll.
post16404.html#p16404

Somewhat unrelated to this is the challenge of Steam vs Origin. I think my installer works with Origin just fine but Steam doesn't use an Install Dir regkey so keep that in mind if you make an installer and only own the Origin version. I own the Steam version so I was easily able to see the problem.

I'll add something too about folder structure, which should have had its own section but no big deal.

Follow the folder structure of DLC_EXP_<your mod name>\CookedPC for where, except for the dlls, all the files go. Basically, just look at any DLC to see how they structure the files, but everything goes in CookedPC except for any custom movies you may make which go in DLC_EXP_<your mod name>\Movies.

You probably could name the folder whatever you want actually, but the structure has to be <mod folder>\CookedPC and place those key files mentioned in this tutorial into CookedPC.
Last edited by Deager on 13 May 2015, 18:21, edited 4 times in total.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby The Fob » 13 May 2015, 15:39

Nice work Deager. May have to update the Arrival triggering mod to this method.
User avatar
The Fob
Modder
 
Posts: 702
Joined: 08 Oct 2012, 04:37
Has thanked: 242 time
Have thanks: 212 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby giftfish » 13 May 2015, 15:50

I was actually wondering about this when SirCyxrTyx released the new Sequence Editor for ME2.

Glad to see it's even easier than ME3, wewt :]
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby Erik JS » 13 May 2015, 15:54

Deager wrote:I also include the original binkw32.dll file since it appears his binkw23.dll is a different size than the base binkw32.dll file. But that's up to you.

Yeah... my ME2 DLL patch now uses the correct original DLL. I apologize for anything, Deager.
ME3 Private Server Emulator: @ ME3Tweaks | @ SourceForge | @ GitHub | @ Dropbox
Image
User avatar
Erik JS
User
 
Posts: 124
Joined: 31 Jul 2014, 14:44
Has thanked: 13 time
Have thanks: 77 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby Deager » 13 May 2015, 16:01

Erik JS wrote:
Deager wrote:I also include the original binkw32.dll file since it appears his binkw23.dll is a different size than the base binkw32.dll file. But that's up to you.

Yeah... my ME2 DLL patch now uses the correct original DLL. I apologize for anything, Deager.


Ah, I'll read that thread more. I had a version with about 10 extra kbs but if you reference the original now, then excellent. Let me just test it out (I know it will work) and I'll change the tutorial.

EDIT: Worked great. Tutorial changed with link to your post with the new version, even though the link to the file still the same.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby Kinkojiro » 13 May 2015, 22:54

Nice work. thanks Deager. Illium works very smoothly.

The Fob wrote:May have to update the Arrival triggering mod to this method.

That would be great. The Arrival "end" DLC not being at the end is one of my main gripes with ME2.
Having it as a dlc mod would be even better.

Kinkojiro has been thanked by:
User avatar
Kinkojiro
Modder
 
Posts: 578
Joined: 02 Dec 2013, 04:14
Has thanked: 233 time
Have thanks: 249 time

Re: Tutorial: Mass Effect 2 "mod as DLC"

Postby The Fob » 14 May 2015, 00:01

Deager, can also confirm that Illium works great. Thanks heaps!
Quick question about the BioEngine.ini: Did you just save this in notepad++ or did you have to do anything else (like the ME2 Coalesced which has to be put through Gibbet's fixer)?
User avatar
The Fob
Modder
 
Posts: 702
Joined: 08 Oct 2012, 04:37
Has thanked: 242 time
Have thanks: 212 time

Next

Return to Modders' Tutorials

Who is online

Users browsing this forum: No registered users and 1 guest

suspicion-preferred