CTD - No Errors [Solved]

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
jedimoose32
Field Commander
Field Commander
Posts: 938
Joined: Thu Jan 24, 2008 12:41 am
Projects :: Engineering Degree
Location: The Flatlands of Canada

CTD - No Errors [Solved]

Post by jedimoose32 »

Hi everyone. I recently made a significant change to my Assassination Mode code... each class of enemies (5 total) is handled by a separate team. So I now have 8 teams in total:
-ATT (the player)
-DEF (the basic guards that run around all the time)
-TAR (the targets)
-CIV (the civilians)
-DFB (the level 2 enemies)
-DFC (the level 3 enemies)
-DFD (the level 4 enemies)
-DFE (the level 5 enemies)

Since making this change, the map crashes to desktop while loading. Here is my error log - as you can see there are only Sev-2 errors:
Hidden/Spoiler:
[code]
Opened logfile BFront2.log 2015-03-27 1218
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: Found custom_gc_10.lvl
custom_gc_10: Entered
custom_gc_10: Found custom_gc_11.lvl
custom_gc_11: Entered
ifs_freeform_init_dt.lua
ifs_freeform_start_dt.lua
custom_gc_11: Taking control of custom_GetGCButtonList()...
custom_gc_11: Taking control of custom_PressedGCButton()...
custom_gc_11: Exited
custom_gc_10: No custom_gc_12.lvl. Will stop searching for any more cGC scripts.
custom_gc_10: Exited
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_gc_11: custom_GetGCButtonList(): Entered
custom_GetGCButtonList()
custom_gc_11: custom_GetGCButtonList(): Exited
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
ME5_ConfigCheck: Checking configuration parameters...
ME5_ConfigCheck: Shell Style is CLASSIC
ME5_ConfigCheck: Mass Effect: Unification is ENABLED
ME5_ConfigCheck: Checking configuration parameters... Done!
Tatooine: Tuskencamp - Found rvs.lvl - Adding KotOR era and modes
Tatooine: Tuskencamp - Cannot find 212.lvl - Skipping BFX era and mode

Message Severity: 3
.\Source\LuaCallbacks_Mission.cpp(866)
Lua ReadDataFile: Could not open ..\..\addon\BDT\data\_LVL_PC\dtshell.lvl
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: [Nil]
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: 053482AC
The key, value is: change table: 053482CC
The key, value is: era_c 1
The key, value is: mode_con_c 1
The key, value is: isModLevel 1
The key, value is: bSelected 1
The key is mapluafile, the formated value is: JER<A>_<B>
custom_printTable(): Returning
custom_printTable(): table: 0534DB4C
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: JERc_con idx: 1
this.CurButton = _map_add
cur_button = nil
this.CurButton = Launch
cur_button = nil

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\HUDElementBitmap.cpp(380)
HUD BitmapElement unable to find texture btn_directional_pad_LR
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: Found user_script_10.lvl
user_script_10: Entered
user_script_10: Replacing v1.3 (r117)'s AddUnitClass as it should've had a return value. This fixes the Leia bug.
user_script_10: No user_script_11.lvl. Will stop searching for any more user scripts.
user_script_10: Exited
ifs_sideselect_fnBuildScreen()
game_interface: Exited

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

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

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (d6c288e8)!

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6616778a)!

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (ef255e37)!

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (c3a9860f)!

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (5f518933)!

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (5f518933)!

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_inf_remotedroid_ord" unknown building collision "p_buildingsphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_inf_remotedroid_ord" unknown vehicle collision "p_buildingsphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1089)
Entity "com_weap_inf_remotedroid_ord" unknown ordnance collision "p_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1081)
Entity "com_weap_inf_remotedroid_ord" unknown soldier collision "p_sphere"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (5f518933)!

Message Severity: 2
.\Source\EntityGeometry.cpp(1058)
Entity "com_weap_veh_guided_rocket_ord" unknown terrain collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_veh_guided_rocket_ord" unknown vehicle collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_veh_guided_rocket_ord" unknown building collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1051)
Entity "com_weap_veh_guided_rocket_ord" unknown targetable collision "CollisionMesh"

Message Severity: 2
.\Source\EntityGeometry.cpp(1058)
Entity "com_weap_award_rocket_launcher_" unknown terrain collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_award_rocket_launcher_" unknown vehicle collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_award_rocket_launcher_" unknown building collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1051)
Entity "com_weap_award_rocket_launcher_" unknown targetable collision "CollisionMesh"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (5f518933)!

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"
uf_updateClassIndex(): Added class: sas_inf_heavy
uf_updateClassIndex(): Added class: sas_inf_sniper
uf_updateClassIndex(): Added class: cis_inf_rifleman
uf_updateClassIndex(): Added class: cis_hero_darthmaul
uf_updateClassIndex(): Added class: cis_hero_countdooku
uf_updateClassIndex(): Added class: cis_hero_jangofett
uf_updateClassIndex(): Added class: cis_inf_rocketeer
uf_updateClassIndex(): Added class: cis_inf_sniper
uf_updateClassIndex(): Added class: civ_inf_civilian01
uf_updateClassIndex(): Added class: civ_inf_civilian02
uf_updateClassIndex(): Added class: civ_inf_civilian03
uf_updateClassIndex(): Added class: civ_inf_civilian04
uf_updateClassIndex(): Already know class: cis_inf_rocketeer
uf_updateClassIndex(): Already know class: cis_inf_sniper
uf_updateClassIndex(): Added class: cis_inf_officer
[/code]

And here is the JERc_con.lua... if you have any questions about the AssassinMode stuff in ScriptPostLoad please let me know:
Hidden/Spoiler:
[code]
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

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


-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
TAR = 3;
CIV = 4;
DFB = 5;
DFC = 6;
DFD = 7;
DFE = 8;
-- These variables do not change
ATT = REP;
DEF = CIS;


function ScriptPostLoad()


assassination = AssassinMode:New{ playerLives = 3, numInnocentsKilledMax = 5,
penaltyForInnocentKill = -20, evadeTimerVal = 25.0,
noevadeTimerVal = 10.0, guardDefconLevel = 2,
evadeRadius = 43, guardLOS = 16, civWalkSpeed = 2.0,
guardWalkSpeed = 3.0, detector = "com_item_detection",
hotzone = "com_prop_hotzone", victoryRegion = "choppa", }

assassination:AddTarget(1, "cis_hero_darthmaul", "cp2_spawn")
assassination:AddTarget(2, "cis_hero_countdooku", "cp3_spawn")
assassination:AddTarget(3, "cis_hero_jangofett", "cp4_spawn")
assassination:AddTarget(4, "cis_inf_rocketeer", "cp3_spawn")
assassination:AddTarget(5, "cis_inf_sniper", "cp2_spawn")

assassination:SetTargetPointValue(1, 100)
assassination:SetTargetPointValue(2, 200)
assassination:SetTargetPointValue(3, 300)
assassination:SetTargetPointValue(4, 400)
assassination:SetTargetPointValue(5, 500)

assassination:AddGuardClass(1, "cis_inf_rifleman", 1)
assassination:AddGuardClass(2, "cis_inf_rocketeer", 2)
assassination:AddGuardClass(3, "cis_inf_sniper", 3)
assassination:AddGuardClass(4, "cis_inf_officer", 4)
assassination:AddGuardClass(5, "cis_inf_droideka", 5)

assassination:AddCivilianClass(1, "civ_inf_civilian01")
assassination:AddCivilianClass(2, "civ_inf_civilian02")
assassination:AddCivilianClass(3, "civ_inf_civilian03")
assassination:AddCivilianClass(4, "civ_inf_civilian04")

assassination:SetMusic("rep_yav_amb_start", "rep_yav_amb_middle")

assassination:Start()

DisableAIAutoBalance()

SetUberMode(1);

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
SetMemoryPoolSize ("ParticleTransformer::SizeTransf",1100)

ReadDataFile("sound\\yav.lvl;yav1cw")

ReadDataFile("dc:SIDE\\sas.lvl",
"sas_inf_sniper",
"sas_inf_heavy")

ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_engineer",
"cis_inf_rocketeer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_jangofett")
ReadDataFile("dc:SIDE\\civ.lvl",
"civ_inf_civilian01",
"civ_inf_civilian02",
"civ_inf_civilian03",
"civ_inf_civilian04")

SetupTeams{
rep = {
team = REP,
units = 1,
reinforcements = -1,
--soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "sas_inf_heavy",1, 4},
--engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "sas_inf_sniper",1, 4},
--officer = {"rep_inf_ep3_officer",1, 4},
--special = { "rep_inf_ep3_jettrooper",1, 4},

},
cis = {
team = CIS,
units = 10,
reinforcements = -1,
soldier = { "cis_inf_rifleman",9, 10},
--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},
}
}

SetTeamName (TAR, "target")
AddUnitClass (TAR, "cis_hero_darthmaul", 1)
AddUnitClass (TAR, "cis_hero_countdooku", 1)
AddUnitClass (TAR, "cis_hero_jangofett", 1)
AddUnitClass (TAR, "cis_inf_rocketeer", 1)
AddUnitClass (TAR, "cis_inf_sniper", 1)
SetUnitCount (TAR, 200)

SetTeamName (CIV, "civilians")
AddUnitClass (CIV, "civ_inf_civilian01",35, 41)
AddUnitClass (CIV, "civ_inf_civilian02",35, 41)
AddUnitClass (CIV, "civ_inf_civilian03",35, 41)
AddUnitClass (CIV, "civ_inf_civilian04",35, 41)
SetUnitCount (CIV, 164)

SetTeamName (DFB, "dif2")
AddUnitClass(DFB, "cis_inf_rocketeer",4)
SetUnitCount (DFB, 4)

SetTeamName (DFC, "dif3")
AddUnitClass(DFC, "cis_inf_sniper",4)
SetUnitCount (DFC, 4)

SetTeamName (DFD, "dif4")
AddUnitClass(DFD, "cis_inf_officer",4)
SetUnitCount (DFD, 4)

SetTeamName (DFE, "dif5")
AddUnitClass(DFE, "cis_inf_droideka",4)
SetUnitCount (DFE, 4)

--SetHeroClass(CIS, "cis_inf_droideka")
--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", 675)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 280)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoldierAnimation", 680)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 400)
SetMemoryPoolSize("UnitController", 400)
SetMemoryPoolSize("Weapon", weaponCnt)

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

SetAttackingTeam(ATT)


-- 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 did make a number of corresponding changes to the AssassinMode.lua as well, but those changes only involved changing things like this:

Code: Select all

if GetCharacterTeam(character) == self.teamDEF then...
...to this:

Code: Select all

if GetCharacterTeam(character) == self.teamDEF or GetCharacterTeam(character) == self.teamDFB or GetCharacterTeam(character) == self.teamDFC ...(etc)... then...
Last edited by jedimoose32 on Sat Mar 28, 2015 1:33 pm, edited 1 time in total.
razac920
2nd Lieutenant
2nd Lieutenant
Posts: 365
Joined: Sun Jan 16, 2011 12:42 am

Re: CTD - No Errors

Post by razac920 »

Um... there IS a severity 3 error in the error log you posted, lol :P
Message Severity: 3
.\Source\LuaCallbacks_Mission.cpp(866)
Lua ReadDataFile: Could not open ..\..\addon\BDT\data\_LVL_PC\dtshell.lvl
prev = none iLastPage = nil
prev = texture iLastPage = 1
prev = texture iLastPage = 2
prev = texture iLastPage = 3
ifs_legal.Exit
jedimoose32
Field Commander
Field Commander
Posts: 938
Joined: Thu Jan 24, 2008 12:41 am
Projects :: Engineering Degree
Location: The Flatlands of Canada

Re: CTD - No Errors

Post by jedimoose32 »

Alright fine, but it's from the Dark Times mod, which I've had installed for about 7 months, and has never affected anything before.

Edit: My point is that I find it really hard to believe that a DT specific shell error is causing a crash on my non-DT-related mod only after I add a few extra teams. And I've had that particular error in all of my BFront2 logs as long as I can remember.
razac920
2nd Lieutenant
2nd Lieutenant
Posts: 365
Joined: Sun Jan 16, 2011 12:42 am

Re: CTD - No Errors

Post by razac920 »

Oh okay well if that's not new... then here are some other ideas:
Your local teams have ridiculously high unit counts, why? The target class, in particular, has 200 bots for no apparent reason?? 5 would suffice, wouldn't it? I don't know if having 1+10+200+164+4+4+4+4 = 391 bots would be problematic, but it can't hurt to cut down on that. Other than that... are you using custom CIS units? Because I didn't notice any changes from stock -- though any missing custom side would leave error messages, I think. Also, you don't define the status between teams -- you should set team 1 as enemies to 5, 6, 7, 8, etc. Other than that, I don't see any issues -- but it is possible that there could be something in the AssassinMode file, could you post that lua file as well?
jedimoose32
Field Commander
Field Commander
Posts: 938
Joined: Thu Jan 24, 2008 12:41 am
Projects :: Engineering Degree
Location: The Flatlands of Canada

Re: CTD - No Errors

Post by jedimoose32 »

The team size of the first local team determines the cap for all local teams... Sounds weird I know but essentially if I set the target team unit count to 7 I would get 5 targets and 2 civilians. So that's why my target team size is just a bit bigger than the total units of all my local teams combined.
The teams' diplomacy settings are all handled in AssassinMode.Lua, which I can post tonight when I get home from work. I am using custom SBDs that have only wrist blasters. Nothing new there, that's been around since my second or third munge.
razac920
2nd Lieutenant
2nd Lieutenant
Posts: 365
Joined: Sun Jan 16, 2011 12:42 am

Re: CTD - No Errors

Post by razac920 »

jedimoose32 wrote:The team size of the first local team determines the cap for all local teams...
You have actually observed this? Because that makes no sense to me, I have never heard of a thing like that before, have no idea why the game would distinguish local teams from the main 2 in that regard, and I had previously (in my first version of Gun Game Mode) setup multiple local teams, defining each in the LUA to have 20 units, and had never observed any strange spawning issues.
jedimoose32
Field Commander
Field Commander
Posts: 938
Joined: Thu Jan 24, 2008 12:41 am
Projects :: Engineering Degree
Location: The Flatlands of Canada

Re: CTD - No Errors

Post by jedimoose32 »

I have observed and tested it as empirically as I possibly can. And yes the game does distinguish between local teams and the main 2 teams.

Edit: AssassinMode.lua - Do not distribute this code without my express permission please. :)

Edit 2: I solved the crash by undoing my team changes, and putting all the difficult guards back on one team. Now what I've set up is a system that will assign those guards' classes to a certain range of GetTeamMember values (e.g. rocketeer to members 0 - 3, sniper to members 4 - 7, etc) and keeps track of which range is allocated to which kind of unit. It's roughly the same number of lines of code as the multiple team method, maybe slightly longer. And it seems to work very well!
And it doesn't crash the game.
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: CTD - No Errors [Solved]

Post by [RDH]Zerted »

Code: Select all

local team = GetCharacterTeam(character)
if self.teamDEF == team or self.DFB == team ...
or

Code: Select all

local teams = {
    self.teamDEF = true,
    self.teamDFB = true,
    ...
}
if teams[GetCharacterTeam(character)] then ...
would be faster and shorter.

Also keep in mind concatenating two things using ".." will crash the game if one of them is nil. Passing each field as an argument to print() is much safer. Look up variable length arguments if you don't know how to use "..." and "arg" (or is it "args").

You need to go back before the latest changes and slowly add them in one at a time or slowly remove each change from the current code. For code as extensive as yours, you are using version control (bazaar, git, svn) or at least making regular and multiple backup copies right? If not, immediately start doing that. If you don't know what I'm talking about, I'd recommend using Bazaar (sometimes called bzr) as it has nicer documentation than git.

One thing I tried when creating a Deathmatch mode was putting each character on it's own team. I noticed weird things like team number 11 would crash but 99 would work (not the actual numbers, but something like that)... With 9 teams you might have a similar problem. Don't forget about team 0.

I've never heard of that local team size limitation. Someone else needs to verify if it's true and if so it should be added to the SWBF2 limits topic.
jedimoose32
Field Commander
Field Commander
Posts: 938
Joined: Thu Jan 24, 2008 12:41 am
Projects :: Engineering Degree
Location: The Flatlands of Canada

Re: CTD - No Errors [Solved]

Post by jedimoose32 »

[RDH]Zerted wrote:For code as extensive as yours, you are using version control (bazaar, git, svn) or at least making regular and multiple backup copies right? If not, immediately start doing that.
I hadn't until yesterday when I realized that it's a major pain in the butt to revert this kind of change... so yeah I'm now making local backups but I like your idea of using bazaar or git (never heard of bazaar, I'll look into it right away).

And, regarding the local teams issue... I would love it if someone else can try and verify this limitation. It doesn't really make logical sense to me at all. I discussed it briefly with ZoomV in THIS thread but I don't think we ever "proved" it.
Post Reply