Editing characters

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

Thrawn

Editing characters

Post by Thrawn »

I have a small question, what programs do you need to re skin and alter characters to make your own? And if some one could point me to a guide that would also be helpful.
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

RE: Editing characters

Post by PvtParts »

To edit odfs/reqs use a text editor. I use Notepad for basics, and UltraEdit for stuff that needs searching/comparing/heavy editing (such as sound fx files oh god what a pain).

To edit skins i recommend Adobe Photoshop CS2, which is what I have. If you're trial expires/you dont buy it you can use a free program called Gimp which is decent.
Thrawn

RE: Editing characters

Post by Thrawn »

ok..yeah ill try to find theese. so theyre free right? And THanks

Where would i get Gimp at??
Thrawn

RE: Editing characters

Post by Thrawn »

Ok im DLing Adobe right now, to edit textures do you just open the texture file into Photoshop?
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

RE: Editing characters

Post by PvtParts »

yes. The textures are tga's. So just open Photoshop and go at it. Be patient. Photoshop can be intimidating in that tools aren't clearly labeled, play around and mess with effects. Filters are fun (up top on the main bar, go to filters and just start throwing different ones on your skin)

But you may get irritated if you dont make progress or arent happy, dont. Just exit out and come back later. It takes time, practice, and most of all experience with the tools.

Have fun and expect to see some skins from you soon,

Parts
Thrawn

RE: Editing characters

Post by Thrawn »

where do you get texture, animation, and models at? In particular the Han Solo texture, animations, and model? Could you just point me to the folders that there in. and also do i copy them to the data_(LVL), sides, (Side name), effects file? this is new to me and the Documentation dosnt tell you where to get them or put them.
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

RE: Editing characters

Post by PvtParts »

okay go into the assets folder, and look for the side you want. So for Han, he would be in the all side. Copy that folder, along with the Common folder (found in the assets directory as well) into you data_LVL\Sides\ folder. Now go into the msh folder of the all side

(the one you pasted in your moddir\Sides folder, NOT THE ASSETS. You shouldnt change the assets because they can serve as something to fall back on, kind of backups)

and open up any tga you want. Look for all_hero_han or something along those lines. Open up his .tga and edit away.

Sorry if this doesnt make sense. If you need clarification, just ask. But make sure your editing the side that you pasted into your moddirectory, and not the on in assets.

Once youve finished editing, you need to add dc: before the side in your lua.

So for han, it would look like this:

ReadDataFile(dc:"SIDE\\all.lvl",
"all_hero_hansolo_tat")

instead of

ReadDataFile("SIDE\\all.lvl",
"all_hero_hansolo_tat")

Any questions just ask. Look here for some more help.
Thrawn

RE: Editing characters

Post by Thrawn »

Thanks PvtParts youre a great help!!
Thrawn

RE: Editing characters

Post by Thrawn »

Ok i did the skin but where do i find the animations and models????
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: Editing characters

Post by [RDH]Zerted »

Photoshop is very expensive. Don't spend your time learning it then switching to Gimp. Just start off with Gimp. A quick search in any internet search engine will bring you to the Gimp's Windows installers: http://gimp-win.sourceforge.net/
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

Post by PvtParts »

You shouldnt have to worry about soldier animations - they should already be set up for you
Thrawn

Post by Thrawn »

I have another Q, I finished with the odf file for my character so i tried to try it out, so I munged the course i built the character within when it was done i went into SWBF2 to play it but it didnt work...
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

Post by PvtParts »

I assume this character belongs to a common side, such as rep, cis, all, or imp.

Are you reading it from your lua?

Its hard for me to answer because I have little understanding of your grasp of the mod tools. Show me your lua, and give me this characters name (ex rep_inf_sniper) or whatever.

I have a feeling you forgot to add dc: before the SIDE in your lua.

Dont go off guessing what to do from what I just said, just follow my instructions and Ill look at your lua for you.
Thrawn

Post by Thrawn »

As for my grasp on the mod tools lets just say if my grasp was related to hanging off the edge of a cliff id have fallen long ago.
What IS the lua file and where do i put it? I forgot to make one so thats probably the BIG problem
Thrawn

Post by Thrawn »

And thanks for your help pvtParts im sorry if im fruterating you but thanks for tolerating it.
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

Post by PvtParts »

No its fine. Ive only been around here a month or so. Im amazed at how much I've learned. I also know that I threw away many of my first tries due to simple problems - that werent so simple to a new modder. So looking back I wish I had someone who was willing to spend some time and work with me.

So I figure I'll lend a hand and help anyone who happens to need it.


Look in your data_XXX(mod id)\Common\scrips\XXX\XXXy_con.lua

XXX is your mods 3 letter name
y is the era (g for gcw or c for cw)
and con is conquest, im assuming thats the gamemode your working with.

Now once again, what unit are you editing?

Edit: and for starters, did you read the Getting Started.doc? If you can do anything, make sure you read that. It helps emmensly. The Documentation may be a bit long, but if you follow step by step its not like studying for school. Take my word you will be a lot better off.
Thrawn

Post by Thrawn »

well i was editing han solo to make thrawn (yes, im obsessed), i finished the texture but im gonna do it again because i discovered an easier way to do it and get better results.
But now im starting on a "space troope" (modified jet trooper)
Thrawn

Post by Thrawn »

wait..i dont see a XXXy_con.lua only XXXc_con.lua and XXg_con.lua...
PvtParts
Jedi
Jedi
Posts: 1001
Joined: Mon Apr 03, 2006 9:12 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: plundering yer booty

Post by PvtParts »

y was a variable to represent either g or c.

Read here: http://www.gametoast.com/index.php?name ... 26&start=0

Read it over a few times and make sure you get everything.

Those steps apply to any already-made character, who your are simply editing.

Obviously the names change pending the char.
Thrawn

Post by Thrawn »

I went into the con lua file and deleted all rep units from it and added the odf file name for my new unit, then I deleted the rep name and put my side name, when i ran it in swbf2 it crashed...
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;


function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}



--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)

conquest:Start()

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(30)
SetMaxPlayerFlyHeight (30)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo

ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\SPC.lvl",
"rep_inf_Spacetrooper")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat")



ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")

SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},

},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:THR\\THR.lvl", "THR_conquest")
ReadDataFile("dc:THR\\THR.lvl", "THR_conquest")
SetDenseEnvironment("false")




-- Sound

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")

voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1_emt")

SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)

SetOutOfBoundsVoiceOver(2, "cisleaving")
SetOutOfBoundsVoiceOver(1, "repleaving")

SetAmbientMusic(REP, 1.0, "rep_yav_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_yav_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_yav_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_yav_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_yav_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_yav_amb_end", 2,1)

SetVictoryMusic(REP, "rep_yav_amb_victory")
SetDefeatMusic (REP, "rep_yav_amb_defeat")
SetVictoryMusic(CIS, "cis_yav_amb_victory")
SetDefeatMusic (CIS, "cis_yav_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")


--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);

AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end
Post Reply