Custom unit skins

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

Post Reply
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Custom unit skins

Post by biohazard »

biohazard wrote: I found the FAQs methods unsuccessful Maybe it was something I was doing wrong, I don't know, but this is how I do it.



Copy the side folder you want to change skins for (or change anything, really) and paste it in your DATA_ABC\Sides folser. Also copy the Common side folder there, it contains stuff that all the sides collectively use.

Open up the new folder and there should be two files, in addition to the folders, right off the bat. Open [side].req with Notepad. We're going to leave poor [side]shell.req alone, mostly for the purpose that I have no clue what it does.

Remove the lines in quotes for objects you won't be using on your map. For example, if you want to use your everyday average clone sniper, then rid of "ep3_inf_sniper_felucia". It should be rather obvious what ones you need and which you don't, if you've had any experience mapping, and/or looking at class names for objects. That this does is it tells the munger not to look at the files for stuff that you don't need, greatly reducing the filesize of your mod.

Now, go into your DATA_ABC\Sides\[side]\mshs\ folder, and look for the file you want to modify. Infantry and hero skins are prefixed by "[side]_inf_". Open it up in your favorite image editor and reskin away. Be sure when you save your image that you switch RLE compression off!

Okay, now go to your DATA_ABC\Common\Scripts\ABC\ directory and open up ABCc_con.lua with Notepad if you modified CIS or rep, and ABCg_con.lua if you changed imp or rebels. Go down to where it says ReadDataFile("SIDE\\[side].lvl" for the side you modified, and put a big fat dc: like shown: ReadDataFile("dc:SIDE\\[side].lvl" Now save, of course.

Now you're ready to munge. Go to your DATA_ABC\_BUILD\ folder and run visualmunge. But stop! Don't hit munge yet! You need to hit that little dropdown menu that says "NOTHING" for sides and make it say "[side]". Also be sure common is checked. Now you can munge.


Congrats! given you don't get any munge errors, your skins and changes should show up a-ok in SWBF2!
Last edited by biohazard on Thu Nov 05, 2009 7:16 pm, edited 1 time in total.
kinetosimpetus
Imperial Systems Expert
Imperial Systems Expert
Posts: 2381
Joined: Wed Mar 25, 2009 4:15 pm
Projects :: A secret project
Games I'm Playing :: Warframe STO

Re: Custom unit skins

Post by kinetosimpetus »

Did you copy the "Common" side folder as well?
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Re: Custom unit skins

Post by biohazard »

That I did.
501st_commander
Master Bounty Hunter
Master Bounty Hunter
Posts: 1570
Joined: Wed Dec 10, 2008 7:48 pm

Re: Custom unit skins

Post by 501st_commander »

post the error log.
User avatar
Fiodis
Master of the Force
Master of the Force
Posts: 4145
Joined: Wed Nov 12, 2008 9:27 pm
Projects :: Rannoch + Tientia + Tools Programming

Re: Custom unit skins

Post by Fiodis »

501st_commander wrote:post the error log.
..which is useless if you have mungelog errors, so post those first if you have any.
biohazard wrote:I put all the infantry skins in my MOD_Data\Sides\[side]\[msh] folder and modified several.
I hope you don't have actual brakets [] in your side and msh folder names.
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Re: Custom unit skins

Post by biohazard »

no, I just put that because I'm using all 4 normal sides.


Not to mention I did not get an error log (which is odd because I got one previously for having some high poly counts on a couple of my models)



EDIT:
BF2 modtools error log:
Hidden/Spoiler:
Opened logfile BFront2.log 2009-10-27 0612
shell_interface: Entered
shell_interface: gPlatformStr, gOnlineServiceStr, gLangStr, gLangEnum: PC GameSpy english 0
ifs_era_handler - Entered
ifs_era_handler - Exited
shell_interface: No custom_gc_0.lvl
shell_interface: No custom_gc_1.lvl
shell_interface: No custom_gc_2.lvl
shell_interface: No custom_gc_3.lvl
shell_interface: No custom_gc_4.lvl
shell_interface: No custom_gc_5.lvl
shell_interface: No custom_gc_6.lvl
shell_interface: No custom_gc_7.lvl
shell_interface: No custom_gc_8.lvl
shell_interface: No custom_gc_9.lvl
shell_interface: No custom_gc_10.lvl
custom_EraButtonList(): Finished building era button table Known eras buttons: 28
custom_GetGMapEras(): Finished building era table Known eras: 28
custom_GetGMapModes(): Finished building game mode table Known Modes: 39
custom_GetMPGameModeList(): Finished building game mode list table List Length: 40
custom_SetMovieLocation()
custom_GetGCButtonList()
custom_SetMovieLocation()
custom_GetFreeformBattleModeList(): Finished building freeform battle mode list Known Modes: 39
ingame stream movies\crawl.mvs
shell_interface: Opening movie: movies\shell.mvs
shell_interface: Leaving
Mission Checker: Entered addme
Mission Checker: addme: Now listening in on AddDownloadableContent() calls
Mission Checker: Exited addme
prev = none iLastPage = nil
prev = texture iLastPage = 1
prev = texture iLastPage = 2
prev = texture iLastPage = 3
ifs_legal.Exit

Message Severity: 2
.\Source\GameMovie.cpp(399)
Unable to find open movie segment shell_main

ifs_saveop_DoOps LoadFileList
ifs_saveop_DoOps LoadFileList
ifs_saveop_DoOps LoadProfile
ifs_saveop_DoOps LoadProfile
ifs_sp_campaign: Input_Accept(): Entered: _tab_instant
missionlist_ExpandMapList()
ifs_missionselect_pcMulti_fnSetMapPreview(): Defaulting index to 1
this.CurButton = check_mode1
cur_button = nil
Checkbox for check_era3 clicked
this.CurButton = check_era3
cur_button = nil
custom_AddMapNew()
custom_printTable(): table: 051111EC
The key, value is: era_g 1
The key, value is: mode_con_c 1
The key, value is: isModLevel 1
The key, value is: mode_1flag_g 1
The key, value is: mode_1flag_c 1
The key, value is: era_c 1
The key, value is: bSelected 1
The key, value is: mode_con_g 1
The key, value is: mode_eli_g 1
The key is mapluafile, the formated value is: KBN<A>_<B>
custom_printTable(): Returning
custom_printTable(): table: 0511672C
The key, value is: key mode_con
The key, value is: subst con
The key, value is: showstr modename.name.con
The key, value is: descstr modename.description.con
The key, value is: icon mode_icon_con
custom_printTable(): Returning
gMapEras.key = era_c Era = era_c subst = c
Adding map: KBNc_con idx: 1
this.CurButton = _map_add
cur_button = nil
this.CurButton = Launch
cur_button = nil

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\StatusDisplay.cpp(489)
StatusDisplay::SetSquadCommand: can't find localize string for 0x276fbbc

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string common.victoryin for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string common.defeatin for HUD text element

Message Severity: 2
.\Source\HUDElementBitmap.cpp(380)
HUD BitmapElement unable to find texture hud_target_hint_offscreen

Message Severity: 2
.\Source\HUDElementBitmap.cpp(380)
HUD BitmapElement unable to find texture hud_target_hint_offscreen

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.weaponOverheat for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.popup.hintTitle for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.popup.pressToContinue for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.popup.pressToContinue for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.popup.objectiveTitle for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.popup.pressToContinue for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.objectives.updated for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.objectives.showdetails for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.objectives.showhints for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.mapdisplay.pressToReturn for HUD text element

Message Severity: 2
.\Source\HUDElementBitmap.cpp(380)
HUD BitmapElement unable to find texture btn_directional_pad_LR

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string ifs.controls.presets.A for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string ifs.controls.presets.B for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.missilelock for HUD text element

Message Severity: 2
.\Source\HUDElementText.cpp(509)
Unable to find localization string game.spawndisplay.commandpost for HUD text element
game_interface: Entered
utility_functions2: Listening on AddUnitClass() calls
utility_functions2: Listening on SetHeroClass() calls
utility_functions2: Listening on ReadDataFile() calls
game_interface: Reading in custom strings
game_interface: No user_script_0.lvl
game_interface: No user_script_1.lvl
game_interface: No user_script_2.lvl
game_interface: No user_script_3.lvl
game_interface: No user_script_4.lvl
game_interface: No user_script_5.lvl
game_interface: No user_script_6.lvl
game_interface: No user_script_7.lvl
game_interface: No user_script_8.lvl
game_interface: No user_script_9.lvl
game_interface: No user_script_10.lvl
ifs_sideselect_fnBuildScreen()
game_interface: Exited

Message Severity: 2
.\Memory\RedMemoryPool.cpp(317)
Memory pool "ClothData" set item count after being allocated

Message Severity: 3
.\Source\Weapon.cpp(1604)
Weapon base class "com_weap_inf_lightsaber" not found
Yodakid
Second Lance Corporal
Second Lance Corporal
Posts: 117
Joined: Sat Nov 22, 2008 5:43 pm
Projects :: Something old
Games I'm Playing :: TES Online AC Unity
xbox live or psn: No gamertag set
Location: Finland

Re: Custom unit skins

Post by Yodakid »

Message Severity: 3
.\Source\Weapon.cpp(1604)
Weapon base class "com_weap_inf_lightsaber" not found


Hmm, this just makes me think that the common folder isn't there..

Anyway, post your luas.
501st_commander
Master Bounty Hunter
Master Bounty Hunter
Posts: 1570
Joined: Wed Dec 10, 2008 7:48 pm

Re: Custom unit skins

Post by 501st_commander »

Is your common folder in data_ModID/sides? If it is clean and remunge. If its not copy it over then munge.
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Re: Custom unit skins

Post by biohazard »

What exactly does cleaning do?

I'd say that might be my problem, I haven't chose to clean it once yet.
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: Custom unit skins

Post by AQT »

biohazard wrote:What exactly does cleaning do?
Depending on what is checked or what sides are chosen in VisualMunge, it deletes previously munged files.
User avatar
Fiodis
Master of the Force
Master of the Force
Posts: 4145
Joined: Wed Nov 12, 2008 9:27 pm
Projects :: Rannoch + Tientia + Tools Programming

Re: Custom unit skins

Post by Fiodis »

To expand on that, VM (Visual Munge) munges things based on time stamps. Items that it detects have been modified since the last munge will be munged. This stops you from re-munging files that you haven't opened and resaved. To do this kind of remunge, you need to run a clean first so that VM will munge the files during the remunge.

Sometimes a VM clean won't help. In that case, you must use a manual clean and remunge.

It deletes previously munged files, but not source files, so you needn't worry about it deleting, say, a custom side.
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Re: Custom unit skins

Post by biohazard »

Ok, I think I'm on the right track because the units I'm trying to modify don't show up at all in the unit select screen (lol?)

I would be very happy if someone would post a working example of a side folder that only changes a couple of skins for a side, and the modified g_ or c_ con lua.


Thanks in advance.
Diststripe
Private
Posts: 43
Joined: Tue Nov 03, 2009 2:10 pm

Re: Custom unit skins

Post by Diststripe »

hey followed http://www.youtube.com/user/AllTheTutor ... KcG0kgqEsM

this tutorial and for some reason I think that it is way off, what is the ttorial that you guys were using??? please help
mswf
Master Bounty Hunter
Master Bounty Hunter
Posts: 1674
Joined: Tue Mar 31, 2009 3:40 pm
Location: Twello, The Netherlands
Contact:

Re: Custom unit skins

Post by mswf »

The one's that came with the modtools? (they are located in the "documentation" folder of the modtools) They are all a bit difficult to read, but just do it. I know, we all know, they're not fun to read, but there's no easy way around that. Though the only one you really, really, really, really have to read is the "getting_ started.doc" That's elemantary stuff (not even all of it)
Also, you just opened up your own thread, you could ask your questions in your own next time, it makes the forums more tidy. :wink:
User avatar
Fiodis
Master of the Force
Master of the Force
Posts: 4145
Joined: Wed Nov 12, 2008 9:27 pm
Projects :: Rannoch + Tientia + Tools Programming

Re: Custom unit skins

Post by Fiodis »

That isn't the one that came in the Modtools; it's a link to a video (you can tell by the "youtube" part :wink:)

Check the FAQ thread under Skinning.
Diststripe
Private
Posts: 43
Joined: Tue Nov 03, 2009 2:10 pm

Re: Custom unit skins

Post by Diststripe »

I have already read the getting started doc but I guess Ill read it again and get my self familier with it but zi dident hewre anyting about skinning
User avatar
Fiodis
Master of the Force
Master of the Force
Posts: 4145
Joined: Wed Nov 12, 2008 9:27 pm
Projects :: Rannoch + Tientia + Tools Programming

Re: Custom unit skins

Post by Fiodis »

That's right; it doesn't have anything about skinning. For that, check the FAQ. Also, the shipped Jedi_creation.doc talks, in one part, about how to set up a custom side. However, you may have a hard time understanding that one (I know I certaintly did), and so it'd probably be easier to check the FAQ again (though you should skim through to doc, too).
biohazard
Command Sergeant Major
Command Sergeant Major
Posts: 268
Joined: Sun Oct 18, 2009 8:20 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: http://www.youtube.com/watch?v=jWFk0XasQmE
Contact:

Re: Custom unit skins

Post by biohazard »

I found the FAQs methods unsuccessful Maybe it was something I was doing wrong, I don't know, but this is how I do it.



Copy the side folder you want to change skins for (or change anything, really) and paste it in your DATA_ABC\Sides folser. Also copy the Common side folder there, it contains stuff that all the sides collectively use.

Open up the new folder and there should be two files, in addition to the folders, right off the bat. Open [side].req with Notepad. We're going to leave poor [side]shell.req alone, mostly for the purpose that I have no clue what it does.

Remove the lines in quotes for objects you won't be using on your map. For example, if you want to use your everyday average clone sniper, then rid of "ep3_inf_sniper_felucia". It should be rather obvious what ones you need and which you don't, if you've had any experience mapping, and/or looking at class names for objects. That this does is it tells the munger not to look at the files for stuff that you don't need, greatly reducing the filesize of your mod.

Now, go into your DATA_ABC\Sides\[side]\mshs\ folder, and look for the file you want to modify. Infantry and hero skins are prefixed by "[side]_inf_". Open it up in your favorite image editor and reskin away. Be sure when you save your image that you switch RLE compression off!

Okay, now go to your DATA_ABC\Common\Scripts\ABC\ directory and open up ABCc_con.lua with Notepad if you modified CIS or rep, and ABCg_con.lua if you changed imp or rebels. Go down to where it says ReadDataFile("SIDE\\[side].lvl" for the side you modified, and put a big fat dc: like shown: ReadDataFile("dc:SIDE\\[side].lvl" Now save, of course.

Now you're ready to munge. Go to your DATA_ABC\_BUILD\ folder and run visualmunge. But stop! Don't hit munge yet! You need to hit that little dropdown menu that says "NOTHING" for sides and make it say "[side]". Also be sure common is checked. Now you can munge.


Congrats! given you don't get any munge errors, your skins and changes should show up a-ok in SWBF2!
Post Reply