Page 1 of 2

How to make a custom shell mod. [Tutorial] (FAQ)

Posted: Fri Dec 23, 2011 11:24 am
by THEWULFMAN
Hello everyone. I noticed that there seems to be a lack of tutorials for Shell mods, so I decided to rectify that.

Let's start small and simple. Backgrounds are the most common thing to change, so let's begin with that. This tutorial assumes you are somewhat familiar with making mods. So I won't be over explaining the easy to understand stuff.

Step 1: Create a mod project using VisualMunge(found in BF2_Modtools\data\Build), or if you want to use an existing one, just ignore this step.

Step 2: Create a folder called shell in Data_ABC. ABC will be the Mod ID used in this tutorial. Replace all references of ABC to your Mod ID.

Step 3: Create a folder called textures inside of your newly created shell folder.

Step 4: Create (or copy) a req file inside the shell folder. Name (or rename) it to shell.

Step 5: Now let's choose the image we want to replace. Go to BF2_ModTools\assets\Shell\textures\PC and copy the profile_manager file into your Data_ABC\shell\texture folder. Make sure to copy the .option file for it as well.

Step 6: Now open your shell.req up. Change it so that it looks like this.
Hidden/Spoiler:
ucft
{
REQN
{
"texture"
"profile_manager"
}
}
Save and exit.

Step 7: Now the fun part! Let's change the texture now. Open up the profile_manager texture in GIMP, Photoshop, or PAINT.net depending on what you use. It will look like this.
Hidden/Spoiler:
Image
My my, how boring. First off let's find the image we want to replace it with. It can be literally anything you want, but try to find something with a decent resolution to start with. I choose THIS (link fixed 7/5/2012) image for this tutorial. Save the new image to your desktop (well it can be saved anywhere, but it's always the easiest to work off of the desktop). Open it in your image editor. Now the image I choose has a resolution of 1280x1024. The stock texture is 1024x1024, so some editing will be needed. Shouldn't be hard to figure out. Once you cropped or resized your image, copy it over to the profile_manager texture. Save the new texture, and remember to uncheck RLE Compression if you're using GIMP. If you do not uncheck it, you will get a munge error. You have to Save As, not just Save. Otherwise you can't uncheck RLE Compression.

Step 8: Now we're ready to munge. There's a couple ways to do it, but I personally find it easiest to just manually munge it, rather than use VisualMunge. The munge.bat you need to use is located in _BUILD\Shell.

Step 9: Now let's edit the addme.lua found in Data_ABC\addme. Add this line
Hidden/Spoiler:
ReadDataFile("..\\..\\addon\\ABC\\data\\_LVL_PC\\shell.lvl")
right before this line
Hidden/Spoiler:
--insert totally new maps here:
Remember to change the ABC to reflect your Mod ID.

Save the addme.lua. While you're there, also munge it.

Step 10: Now go to your addon folder, if you've ever installed a mod, you know where it is. Make a new folder called ABC (remember to change it to reflect your Mod ID).

Inside your newly created ABC folder, copy your addme.script file (found in Data_ABC\addme\munged) here. In the same ABC folder, create a new folder called data. Now inside of this data folder, create yet another folder called _LVL_PC.

Step 11: Copy your munged shell.lvl found in Data_ABC\_LVL_PC to your addon\ABC\data\_LVL_PC folder. All in all, the directory should look something like this. C:\Program Files (x86)\LucasArts\Star Wars Battlefront II\GameData\addon\ABC\data\_LVL_PC\shell.lvl

Step 12: Test it out! If you followed all the instructions, your new background should appear like this.
Hidden/Spoiler:
Image
Now I realize this is not the best tutorial in the world. I also know there is a much less in-depth tutorial included in the 1.3 patch documentation. It's not as thorough, so I decided to clarify the exact steps.

If you see any spelling/grammar issues, send me a PM and I shall fix it.


I'll also make a separate tutorial, or rather an extension on this one, on how to change all the buttons textures and stuff. That requires a common.lvl, but the process is pretty much the same.

Hidden/Spoiler:
Credits
-Gametoast = for being awesome.
-Firefang = for helping me understand the bit of the puzzle I didn't understand all those months ago.

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 12:51 pm
by ARCTroopaNate
Great tutorial, works like a charm, already incorporating this into my mod!

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 1:44 pm
by naru1305
great tutorial, works perfect my friend :thumbs:

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 1:51 pm
by Cerfon Rournes
Thanks WULF, great tutorial. :thumbs:

RE: Custom Interface

Posted: Fri Dec 23, 2011 1:54 pm
by Marth8880
RE: Custom buttons, borders, etc. (interface):

Go into Data_ABC\Common\interface\PC\. There you will find a bunch of texture files. The ones labeled with the prefix, "bf2_buttons_" are the game's button textures. There are more that follow these, but I am short in time right now (my family is packing and getting ready to go back home from vacation; we leave in an hour and fifteen minutes), so I will have to create a list of the textures later. Anyway, all you need to do is edit these textures to your liking, and again, I will make a more extensive version of this tutorial later on, add a ReadDataFile() line to your addme, just like you did with your shell.lvl, but this time with common.lvl, place it right under your shell line (not sure if this is the required location for the line), save, and close, and last, and munge with Common checked. Now, go into Data_ABC\_LVL_PC\ and copy common.lvl and paste it into addon\ABC\data\_LVL_PC\, and you're done! Gratulieren! :thumbs:

I dunno, I may, and probably will make a new thread for this tutorial on shell. Or, WULF could edit it into his first post or something like that, I dunno gottagobai

Re: RE: Custom Interface

Posted: Fri Dec 23, 2011 2:00 pm
by Cerfon Rournes
Hidden/Spoiler:
[quote="Marth8880"]RE: Custom buttons, borders, etc. (interface):

Go into Data_ABC\Common\interface\PC\. There you will find a bunch of texture files. The ones labeled with the prefix, "bf2_buttons_" are the game's button textures. There are more that follow these, but I am short in time right now (my family is packing and getting ready to go back home from vacation; we leave in an hour and fifteen minutes), so I will have to create a list of the textures later. Anyway, all you need to do is edit these textures to your liking, and again, I will make a more extensive version of this tutorial later on, add a ReadDataFile() line to your addme, just like you did with your shell.lvl, but this time with common.lvl, place it right under your shell line (not sure if this is the required location for the line), save, and close, and last, and munge with Common checked. Now, go into Data_ABC\_LVL_PC\ and copy common.lvl and paste it into addon\ABC\data\_LVL_PC\, and you're done! Gratulieren! :thumbs:

I dunno, I may, and probably will make a new thread for this tutorial on shell. Or, WULF could edit it into his first post and credit me or something like that, I dunno gottagobai[/quote]
Yes, I figured this out some time ago :)
Your .LUA would look like this.

Code: Select all

   ReadDataFile("dc:common.lvl")  
ReadDataFile("dc:ingame.lvl") 
ReadDataFile("ingame.lvl") 
Hidden/Spoiler:
[quote]place it right under your shell line (not sure if this is the required location for the line)[/quote]
That is not required. It can be any place next the .ingame lines or shell lines.
Here is an example what can be done. :D
Hidden/Spoiler:
ImageImageImage

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 2:08 pm
by THEWULFMAN
:o Hang on guys, I'm more than capable of finishing the other part of the tutorial. Just give me some time, I didn't have time to do it all at once. :wink:

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 2:27 pm
by Cerfon Rournes
It's fine. I can write the tuto if you want. (I figured out how to do it months ago, but never got around to writing one :P )

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 2:35 pm
by ARCTroopaNate
Wow, this is actually much easier than I thought, even I got it on the first try. Thanks a lot for making the tutorial, now have to hurry to include this in my mod before release.

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 2:42 pm
by THEWULFMAN
Cerfon Rournes wrote:It's fine. I can write the tuto if you want.
No thanks. :)
Cerfon Rournes wrote:(I figured out how to do it months ago, but never got around to writing one :P )


:lol: Same here.

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 2:51 pm
by Cerfon Rournes
THEWULFMAN wrote:
Cerfon Rournes wrote:It's fine. I can write the tuto if you want.
No thanks. :)
Alright :)

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 11:05 pm
by PvtMichaelJCaboose
When I tried this, it said "Targa type 10 is not supported" and I couldn't find the shell.lvl, is it the same as the inshell.lvl?

Re: How to make a custom shell mod. [Tutorial]

Posted: Fri Dec 23, 2011 11:19 pm
by Marth8880
PvtMichaelJCaboose wrote:When I tried this, it said "Targa type 10 is not supported"
You must save your textures with RLE compression set to 'off'.
PvtMichaelJCaboose wrote:I couldn't find the shell.lvl, is it the same as the inshell.lvl?
You have to have "Shell" checked when you munge, and shell.lvl inshell.lvl.

Re: How to make a custom shell mod. [Tutorial]

Posted: Sat Dec 24, 2011 12:56 am
by PvtMichaelJCaboose
I did have "Shell" checked, but I could not find it in the data_ABC/_LVL_pc folder.

Re: How to make a custom shell mod. [Tutorial]

Posted: Sat Dec 24, 2011 1:01 am
by Dakota
just remember to put in the readme that to remove the background changes you must remove the shell folder from the mod's folder. i know a few people who dislike having their backgrounds changed without them knowingly changing it.

but yes, good tutorial.

Re: How to make a custom shell mod. [Tutorial]

Posted: Sat Dec 24, 2011 1:17 am
by Marth8880
PvtMichaelJCaboose wrote:I did have "Shell" checked, but I could not find it in the data_ABC/_LVL_pc folder.
Your shell's REQ is named shell.req, correct? Also, is there a munge log that we should be aware of?

Re: How to make a custom shell mod. [Tutorial]

Posted: Sat Dec 24, 2011 7:47 am
by THEWULFMAN
PvtMichaelJCaboose wrote:When I tried this, it said "Targa type 10 is not supported" and I couldn't find the shell.lvl, is it the same as the inshell.lvl?
THEWULFMAN wrote:Save the new texture, and remember to uncheck RLE Compression if you're using GIMP.
Be sure to read over the whole tutorial, and not skip parts.
PvtMichaelJCaboose wrote:I couldn't find the shell.lvl, is it the same as the inshell.lvl?
THEWULFMAN wrote:Step 8: Now we're ready to munge. There's a couple ways to do it, but I personally find it easiest to just manually munge it, rather than use VisualMunge. The munge.bat you need to use is located in _BUILD\Shell.

Using the VisualMunge is way more complicated than it has to be. I find it simpler to just munge everything manually. Make sure to follow the tutorial to the letter. Don't change steps because you think it's easier. Trust me, it's pretty easy to manually munge stuff. And no, inshell.lvl is not the same as shell.lvl. inshell.lvl just happens to be munged when you munge the common, you can ignore it altogether.
Dakota wrote:just remember to put in the readme that to remove the background changes you must remove the shell folder from the mod's folder. i know a few people who dislike having their backgrounds changed without them knowingly changing it.


I was specifically making the tutorial in mind that people would be making separate Shell mods, I forgot to take into account that people would want to include them in their mods. *sighs* I'll be changing a couple things in the tutorial, to try and make it a bit more clear why certain things must be done. I'll also be sure to mention this.

Re: How to make a custom shell mod. [Tutorial]

Posted: Sat Dec 24, 2011 1:49 pm
by PvtMichaelJCaboose
Hmm, when I munge it, this comes up.
Hidden/Spoiler:
ERROR[levelpack shell.req]:Input file shell.req does not exist. [continuing]
1 Errors 0 Warnings
I did make a shell.req file though.

EDIT: Oh wait, i put it in textures!!
:oops:

Re: How to make a custom shell mod. [Tutorial]

Posted: Mon Dec 26, 2011 11:52 pm
by [RDH]Zerted
already incorporating this into my mod
Only one shell mod works. If multiple maps start doing this, their changes will clobber each other. A fight/race to be the very first or very last item loaded is unwinnable. Make sure the req only has the changed elements.

The method of changing the resources is the same as how people have been loading things for ages. Everything in your map's mission.lvl overrides the resources in the retail mission.lvl. This tutorial is the same, except it overrides things in shell.lvl and common.lvl. The original topic where we figured out how to do custom common.lvls and custom ingames.lvl may still be in SWBF2 General...

I didn't make a detailed tutorial because I didn't want to support everyone's shell modding questions (I don't mind handling a few people's questions). Good luck with that :thumbs: and nice background too.

FYI: I'm not telling anyone not to do something or not make any more tutorials, just letting people know how I see things.

Re: How to make a custom shell mod. [Tutorial]

Posted: Tue Dec 27, 2011 1:55 am
by Marth8880
Regarding Zerted's input:

I am going to be doing a ton of shell.lvl/common.lvl changes in my Mass Effect Mod, including shell sound effects/music, every little thing I possibly can with the menu visual elements, even including a new font, and every single thing I possibly can. Although, I am going to be making it so people have the option of having the shell changes, just like the 1.3 patch.