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

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

THEWULFMAN
Space Ranger
Posts: 5557
Joined: Tue Aug 17, 2010 3:30 pm
Projects :: Evolved 2
Location: Columbus, Ohio
Contact:

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

Post 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.
Last edited by THEWULFMAN on Thu Jul 05, 2012 9:35 am, edited 2 times in total.
ARCTroopaNate
Jedi
Jedi
Posts: 1161
Joined: Mon Mar 21, 2011 8:12 pm
Projects :: Star Wars Battlefront - Tides of War
Games I'm Playing :: SWBF2 RC EAW
xbox live or psn: I have ps4
Location: STALKER!
Contact:

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

Post by ARCTroopaNate »

Great tutorial, works like a charm, already incorporating this into my mod!
User avatar
naru1305
Major General
Major General
Posts: 657
Joined: Fri Jan 07, 2011 4:57 pm
Games I'm Playing :: SWBF2
Location: Germany
Contact:

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

Post by naru1305 »

great tutorial, works perfect my friend :thumbs:
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

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

Post by Cerfon Rournes »

Thanks WULF, great tutorial. :thumbs:
Marth8880
Resistance Leader
Posts: 5042
Joined: Tue Feb 09, 2010 8:43 pm
Projects :: DI2 + Psychosis
Games I'm Playing :: Silent Hill 2
xbox live or psn: Marth8880
Location: Edinburgh, UK
Contact:

RE: Custom Interface

Post 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
Last edited by Marth8880 on Tue Apr 29, 2014 3:00 pm, edited 1 time in total.
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: RE: Custom Interface

Post 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
Last edited by Cerfon Rournes on Fri Dec 23, 2011 3:12 pm, edited 2 times in total.
THEWULFMAN
Space Ranger
Posts: 5557
Joined: Tue Aug 17, 2010 3:30 pm
Projects :: Evolved 2
Location: Columbus, Ohio
Contact:

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

Post 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:
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

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

Post 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 )
ARCTroopaNate
Jedi
Jedi
Posts: 1161
Joined: Mon Mar 21, 2011 8:12 pm
Projects :: Star Wars Battlefront - Tides of War
Games I'm Playing :: SWBF2 RC EAW
xbox live or psn: I have ps4
Location: STALKER!
Contact:

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

Post 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.
THEWULFMAN
Space Ranger
Posts: 5557
Joined: Tue Aug 17, 2010 3:30 pm
Projects :: Evolved 2
Location: Columbus, Ohio
Contact:

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

Post 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.
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

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

Post by Cerfon Rournes »

THEWULFMAN wrote:
Cerfon Rournes wrote:It's fine. I can write the tuto if you want.
No thanks. :)
Alright :)
User avatar
PvtMichaelJCaboose
Private Second Class
Posts: 65
Joined: Tue Nov 08, 2011 5:58 pm
Games I'm Playing :: Halo and SWBF2
Contact:

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

Post 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?
Marth8880
Resistance Leader
Posts: 5042
Joined: Tue Feb 09, 2010 8:43 pm
Projects :: DI2 + Psychosis
Games I'm Playing :: Silent Hill 2
xbox live or psn: Marth8880
Location: Edinburgh, UK
Contact:

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

Post 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.
User avatar
PvtMichaelJCaboose
Private Second Class
Posts: 65
Joined: Tue Nov 08, 2011 5:58 pm
Games I'm Playing :: Halo and SWBF2
Contact:

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

Post by PvtMichaelJCaboose »

I did have "Shell" checked, but I could not find it in the data_ABC/_LVL_pc folder.
User avatar
Dakota
Field Commander
Field Commander
Posts: 991
Joined: Mon Dec 06, 2010 8:21 pm
Projects :: making random weapon assets
Games I'm Playing :: SWBF2 and more
xbox live or psn: PS3 beats xbox
Location: at a computer desk floating around in space

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

Post 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.
Marth8880
Resistance Leader
Posts: 5042
Joined: Tue Feb 09, 2010 8:43 pm
Projects :: DI2 + Psychosis
Games I'm Playing :: Silent Hill 2
xbox live or psn: Marth8880
Location: Edinburgh, UK
Contact:

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

Post 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?
THEWULFMAN
Space Ranger
Posts: 5557
Joined: Tue Aug 17, 2010 3:30 pm
Projects :: Evolved 2
Location: Columbus, Ohio
Contact:

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

Post 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.
User avatar
PvtMichaelJCaboose
Private Second Class
Posts: 65
Joined: Tue Nov 08, 2011 5:58 pm
Games I'm Playing :: Halo and SWBF2
Contact:

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

Post 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:
User avatar
[RDH]Zerted
Gametoast Staff
Gametoast Staff
Posts: 2982
Joined: Sun Feb 26, 2006 7:36 am
Projects :: Bos Wars AI - a RTS game
Games I'm Playing :: SWBF2 and Bos Wars
xbox live or psn: No gamertag set
Location: USA
Contact:

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

Post 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.
Marth8880
Resistance Leader
Posts: 5042
Joined: Tue Feb 09, 2010 8:43 pm
Projects :: DI2 + Psychosis
Games I'm Playing :: Silent Hill 2
xbox live or psn: Marth8880
Location: Edinburgh, UK
Contact:

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

Post 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.
Post Reply