Page 1 of 1

A simple question, and quite a large problem

Posted: Sat Mar 29, 2008 7:01 pm
by Taivyx
Does anyone know the precise object count limit Zeroengine can handle?

I wouldn't be asking this normally, but due to the fact that I can't find out using a process of trial and error because Battlefront 2 is quite screwy, I had to.

Which leads me to a problem I probably should post in SWBF2 General, but I don't like the idea of having two active topics at once, so...yeah.

Battlefront 2 has been FATAL crashing on all of my maps that have a change to the world itself
meaning:

FATAL crash (could not load ModID.lvl or something along those lines :P )
- Added objects
- Edited terrain
- change in sky texture
- added water (have added water before with no problems)
- etc.

No FATAL crash

- Side changes
- Lua editing
- other non-zeroeditor work

In short, all work done in zeroeditor causes a FATAL crash
I have had no problems with any of my maps up until about a month ago or so

and yes, I have uninstalled and reinstalled both the mod tools and battlefront 2

When I get home, I'll post the BFront2.log, which I remember had only one severity 3 error, about not being able to load ModID.lvl

Re: A simple question, and quite a large problem

Posted: Sun Mar 30, 2008 9:47 pm
by Teancum
FATAL crashes will always be accompanied by an error in the mungelog. It'll barf about a lua error, a bad model, your terrain, something. Basically when you get a FATAL something couldn't be built because of an error, and that error is always in the mungelog

Re: A simple question, and quite a large problem

Posted: Mon Mar 31, 2008 5:40 pm
by Taivyx
No errors in PC_MungeLog, only the usual warnings
Hidden/Spoiler:
[code]WARNING[PC_modelmunge msh\eddie_prop_building05.msh]:eddie_prop_building05 has 1065 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\eddie_prop_cart01.msh]:eddie_prop_cart01 has 1300 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_container01.msh]:_PC_WriteShadowVolume(eddie_prop_container01LOWD): invalid shadow face normal
WARNING[PC_modelmunge msh\eddie_prop_grass03.msh]:eddie_prop_grass03 has 12941 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\eddie_prop_grass04.msh]:eddie_prop_grass04 has 25162 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\eddie_prop_tree02.msh]:eddie_prop_tree02 has 1366 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\end_prop_fernclump_2.msh]:end_prop_fernclump_2 has 1036 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\end_prop_foliage_clump1.msh]:end_prop_foliage_clump1 has 1444 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\HOTH_Prop_hangar_bridge.msh]:HOTH_Prop_hangar_bridge has 1308 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\logs.msh]:logs has 1088 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
WARNING[PC_modelmunge msh\NEL_shroom.msh]:NEL_shroom has 1064 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
0 Errors 24 Warnings

[/code]
Also, I think it's worth noting that I sent the same exact, compiled map to FOOLIS who tested it and came up with no crash of any kind.

Re: A simple question, and quite a large problem

Posted: Mon Mar 31, 2008 6:04 pm
by elfie
Does anyone know the precise object count limit Zeroengine can handle?
unless you have anywhere near 1,000 objects you don't need to worry about that. :D

As for the error, does this happen to all of your maps or just one?

Re: A simple question, and quite a large problem

Posted: Tue Apr 01, 2008 7:09 am
by Taivyx
elfie wrote:
Does anyone know the precise object count limit Zeroengine can handle?
unless you have anywhere near 1,000 objects you don't need to worry about that. :D

As for the error, does this happen to all of your maps or just one?
Actually I have somewhere near 2,000 I think........XD, but I'm going to try and tone down on that :P


I'll test that last question when I have time

Re: A simple question, and quite a large problem

Posted: Thu Apr 03, 2008 9:00 pm
by Taivyx
I don't like to double post, but some more clarifications, yes this happens on all of my (ie munged with my modtools) maps with world changes, and a few other maps by other people.

Here's the BF2_Modtools.exe debug report (excluding the usual severity 2's):

Code: Select all

Message Severity: 3
.\Source\LoadUtil.cpp(1019)
Unable to find level chunk  in MISSION.lvl


Message Severity: 3
.\Source\LuaHelper.cpp(112)
OpenScript(TSWc_con): script (6bc891a5) not found

Message Severity: 5
.\Source\GameState.cpp(1283)
Could not open MISSION\TSWc_con.lvl
Remember, NO changes out of the ordinary, just a tiny little edit with anything to do with the world and that happens.
if I can't get this problem solved, I'll have to rely on other people to test the map, which is extremely inefficient, and will delay the release of it by astronomical proportions.

Re: A simple question, and quite a large problem

Posted: Fri Apr 04, 2008 4:01 am
by Teancum
mission.lvl isn't building because there's some sort of error in TSWc_con.lua. Probably some sort of syntax error or something else easy to fix, but you'll have that error until you fix it. Post they lua and we'll help you look for it.

Re: A simple question, and quite a large problem

Posted: Fri Apr 04, 2008 8:29 pm
by Taivyx
That's just the thing, I haven't even touched the LUA's yet.
Of course if there's something wrong with the default one that my modtools gave me......
But this hasn't been happening until 2 months ago :?

Anyway, on to TSWc_con.lua
Hidden/Spoiler:
[code]--
-- 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("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
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:TSW\\TSW.lvl", "TSW_conquest")
ReadDataFile("dc:TSW\\TSW.lvl", "TSW_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

[/code]
I couldn't find anything myself

Forgot to mention, but when I zip the map up and send it to others, it works perfectly fine for them :faint:
Which makes me think it's a problem with my swbf2.
But this problem didn't exist 2 months ago. >.<

Re: A simple question, and quite a large problem

Posted: Sat Apr 05, 2008 1:07 am
by [RDH]Zerted
I had the exact same problem about a month ago, and just found the fix. You have too many maps in your addon folder. Delete some or use the Map Manager (I recommend going with the deleting).

Re: A simple question, and quite a large problem

Posted: Sat Apr 05, 2008 12:56 pm
by Taivyx
Thanks a bundle Zerted :D , no more fatals.
Turns out the addon folder limit is about 50, not 56.