Page 1 of 1

Not Showing New Skin [Solved]

Posted: Thu Jan 01, 2009 6:51 pm
by RevanSithLord
Okay, as you all know, (and forgive me if I accidently passed a thread that resolved this issue) I've just recently finally got a new unit in a new side that I just made. Well, I added another unit, that is suppose to replace the default Stormtrooper on the Imperial team, and I even included the references in the .lua's and everything pertaining to the newest unit. The wierd thing is, I munge, I go to test, the map loads, but the Stormtrooper still has the same default skin instead of the new skin I applied to it regarding the new unit.

Apparently I'm either doing something wrong or the game hates me. My other unit is there just and fine with his custom textures, but this unit that I just made apparently doesn't want to show the new texture. I made his ODF, his REQ, and everything and everything should be pointing in the right direction, but alas, it is still not working.

Am I doing something wrong?

Ask me to post anything such as a log or a .lua or w/e and I will... I'm just very confused on why it's not doing what I worked so hard for it to do.

Re: Not Showing New Skin

Posted: Thu Jan 01, 2009 6:59 pm
by RogueKnight
any errors? Bf2log? Mungelog?

Re: Not Showing New Skin

Posted: Thu Jan 01, 2009 7:05 pm
by RevanSithLord
Nope. I've had no crashes. The only things in my Bfront2 log are Sev 2's, but it only talks about the soldier animations and memory pools or whatever. I've had no warnings or errors in my mungelog either, which I find strange.

[NullCommando is helping me resolve the problem. Will update if it gets fixed or not.]

[Proving to be a pain in the butt.]

Re: Not Showing New Skin

Posted: Fri Jan 02, 2009 10:31 am
by RepSharpshooter
Could you post your lua?

And does your new unit have any texture or msh with the same name as the stormtrooper?

Re: Not Showing New Skin

Posted: Fri Jan 02, 2009 12:53 pm
by fiddler_on_the_roof
this happened to me also. make sure that in you msh folder, and you msh/PC folder, there are no extra copies of any of those 2 units. I was trying to get a new skin ingame, and I had one skin changed, and another in my PC folder, and the game just ignored the changed one, so it was the original skin. That could be your problem also.

Re: Not Showing New Skin

Posted: Fri Jan 02, 2009 2:32 pm
by RevanSithLord
NullCommando and I are confused still on it. Here's my .lua.
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

-- Empire Attacking (attacker is always #1)
local ALL = 2
local IMP = 1
-- These variables do not change
local ATT = 1
local DEF = 2

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(40)
SetMaxPlayerFlyHeight(40)


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\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_inf_rifleman",
"all_inf_rocketeer",
"all_inf_sniper",
"all_inf_engineer",
"all_inf_officer",
"all_inf_wookiee",
"all_hero_hansolo_tat")

ReadDataFile("dc:SIDE\\dwg.lvl",
"dwg_inf_katarnarmor_rifleman",
"dwg_inf_storm514th")

ReadDataFile("SIDE\\imp.lvl",
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_engineer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_hero_bobafett",
"imp_fly_destroyer_dome")

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

SetupTeams{
all = {
team = ALL,
units = 20,
reinforcements = 150,
soldier = { "all_inf_rifleman",9, 25},
assault = { "all_inf_rocketeer",1,4},
engineer = { "all_inf_engineer",1,4},
sniper = { "all_inf_sniper",1,4},
officer = { "all_inf_officer",1,4},
special = { "all_inf_wookiee",1,4},

},
imp = {
team = IMP,
units = 20,
reinforcements = 150,
soldier = { "dwg_inf_storm514th",9, 25},
assault = { "dwg_inf_katarnarmor_rifleman",9,25},
engineer = { "imp_inf_engineer",1,4},
sniper = { "imp_inf_sniper",1,4},
officer = { "imp_inf_officer",1,4},
special = { "imp_inf_dark_trooper",1,4},
},
}

SetHeroClass(ALL, "all_hero_hansolo_tat")
SetHeroClass(IMP, "imp_hero_bobafett")

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- 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:DWB\\DWB.lvl", "DWB_conquest")
SetDenseEnvironment("false")


-- Sound Stats

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "des_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "Allleaving")
SetOutOfBoundsVoiceOver(1, "Impleaving")

SetAmbientMusic(ALL, 1.0, "all_tat_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_tat_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_tat_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_tat_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);
end
The stormtrooper is the 'dwg_inf_storm514th'. The unit itself works, just not the skin. If it shows anything off in the .lua on here, it's not really off. Posting it just moved the text around. And no, I checked, there are not any extras. I checked. Which is also wierd. Or I could, but it could be hiding. I'll do another file sweep.

@ RepSharpshooter - my new texture is actually named as the default stormtrooper's texture, because NullCommando told me it can't have the '514th' at the back like I wanted, so I had to rename it to the default Stormtrooper's texture filename.

Here's the .odf too.
Hidden/Spoiler:
[GameObjectClass]
ClassParent = "imp_inf_default_rifleman"

[Properties]
GeometryName = "imp_inf_stormtrooper"
GeometryLowRes = "imp_inf_stormtrooper_low1"
FirstPerson = "IMP\impstrp;imp_1st_stormtrooper"
The req as well.
Hidden/Spoiler:
ucft
{
REQN
{
"class"
"dwg_inf_storm514th"
}
}

Re: Not Showing New Skin

Posted: Fri Jan 02, 2009 2:49 pm
by RepSharpshooter
Then it is simple, the shipped stormtrooper and your custom one have the same geometry and tga name.

You read in your custom one:
Hidden/Spoiler:
ReadDataFile("dc:SIDE\\dwg.lvl",
"dwg_inf_katarnarmor_rifleman",
"dwg_inf_storm514th")
And then BAM! it is overwritten by the shipped one:
Hidden/Spoiler:
ReadDataFile("SIDE\\imp.lvl",
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_engineer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_hero_bobafett",
"imp_fly_destroyer_dome")
To fix, just rename your custom unit's msh to something else, even go to the extent of hex editing it so it accepts a different tga name. (like dwg_inf etc)

Re: Not Showing New Skin

Posted: Fri Jan 02, 2009 8:11 pm
by RevanSithLord
Thanks. I'll try it! :D

Will update when fixed. If it still gives me problems, then I'll let ya know.

[PROBLEM RESOLVED. You may close the thread.]