Hidden/Spoiler:
[code]--Search through the missionlist to find a map that matches mapName,
--then insert the new flags into said entry.
--Use this when you know the map already exists, but this content patch is just
--adding new gamemodes (otherwise you should just add whole new entries to the missionlist)
function AddNewGameModes(missionList, mapName, newFlags)
for i, mission in missionList do
if mission.mapluafile == mapName then
for flag, value in pairs(newFlags) do
mission[flag] = value
end
end
end
end
--insert totally new maps here:
local sp_n = 0
local mp_n = 0
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "BNE%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_con_c = 1, mode_ctf_g = 1, mode_ctf_c = 1, mode_eli_g = 1, mode_hunt_g = 1, mode_xl_g = 1, mode_xl_c = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddNewGameModes( sp_missionselect_listbox_contents, "end1%s_%s", {era_c = 1, mode_con_c = 1,} )
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "HTI%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_hunt_g = 1, mode_con_c = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "TDS%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_con_c = 1, mode_ctf_g = 1, mode_ctf_c = 1, mode_eli_g = 1, mode_hunt_g = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
-- associate this mission name with the current downloadable content directory
-- (this tells the engine which maps are downloaded, so you need to include all new mission lua's here)
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier. the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)
AddDownloadableContent("BNE","BNEg_con",4)
AddDownloadableContent("BNE","BNEc_con",4)
AddDownloadableContent("BNE","BNEg_ctf",4)
AddDownloadableContent("BNE","BNEc_ctf",4)
AddDownloadableContent("BNE","BNEg_eli",4)
AddDownloadableContent("BNE","BNEg_hunt",4)
AddDownloadableContent("BNE","BNEg_xl",4)
AddDownloadableContent("BNE","BNEc_xl",4)
AddDownloadableContent("end1","end1c_con",4)
AddDownloadableContent("TDS","TDSg_hunt",4)
AddDownloadableContent("HTI","HTIg_con",4)
AddDownloadableContent("HTI","HTIg_hunt",4)
AddDownloadableContent("HTI","HTIc_con",4)
AddDownloadableContent("TDS","TDSg_con",4)
AddDownloadableContent("TDS","TDSc_con",4)
AddDownloadableContent("TDS","TDSg_ctf",4)
AddDownloadableContent("TDS","TDSc_ctf",4)
AddDownloadableContent("TDS","TDSg_eli",4)
local bfxfile = "..\\..\\addon\\BFX\\data\\_LVL_PC\\mission.lvl"
if ScriptCB_IsFileExist(bfxfile) == 0 then
print("Cannot find "..bfxfile..". Skipping BFX's extra missions")
else
print("Found "..bfxfile..". Adding BFX's missions")
sp_missionselect_listbox_contents[sp_n+1].era_a = 1 --adds the a era checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_con_a = 1 --adds the con mode checkbox
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddDownloadableContent("BNE","BNEa_con",4)
AddDownloadableContent("HTI","HTIa_con",4)
AddDownloadableContent("TDS","TDSa_con",4)
end
local dtfile = "..\\..\\addon\\BDT\\data\\_LVL_PC\\SIDE\\dark.lvl"
if ScriptCB_IsFileExist(dtfile) == 0 then
print("Cannot find "..dtfile..". Skipping DT's extra missions")
else
print("Found "..dtfile..". Adding DT's missions")
ReadDataFile("..\\..\\addon\\BDT\\data\\_LVL_PC\\dtshell.lvl")
sp_missionselect_listbox_contents[sp_n+1].era_1 = 1 --adds the 1 era checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_con_1 = 1 --adds the con mode checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_eli_1 = 1 --adds the eli mode checkbox
sp_missionselect_listbox_contents[sp_n+1].change = {
era_1 = { name="Dark Times", icon2="darktimes_icon" },
} --adds the icon?
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddDownloadableContent("BNE","BNE1_con",4)
AddDownloadableContent("BNE","BNE1_eli",4)
AddDownloadableContent("HTI","HTI1_con",4)
AddDownloadableContent("HTI","HTI1_eli",4)
AddDownloadableContent("TDS","TDS1_con",4)
end
-- all done
newEntry = nil
n = nil
-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\SWB\\data\\_LVL_PC\\core.lvl")[/code]
--then insert the new flags into said entry.
--Use this when you know the map already exists, but this content patch is just
--adding new gamemodes (otherwise you should just add whole new entries to the missionlist)
function AddNewGameModes(missionList, mapName, newFlags)
for i, mission in missionList do
if mission.mapluafile == mapName then
for flag, value in pairs(newFlags) do
mission[flag] = value
end
end
end
end
--insert totally new maps here:
local sp_n = 0
local mp_n = 0
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "BNE%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_con_c = 1, mode_ctf_g = 1, mode_ctf_c = 1, mode_eli_g = 1, mode_hunt_g = 1, mode_xl_g = 1, mode_xl_c = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddNewGameModes( sp_missionselect_listbox_contents, "end1%s_%s", {era_c = 1, mode_con_c = 1,} )
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "HTI%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_hunt_g = 1, mode_con_c = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
sp_n = table.getn(sp_missionselect_listbox_contents)
sp_missionselect_listbox_contents[sp_n+1] = { isModLevel = 1, mapluafile = "TDS%s_%s", era_g = 1, era_c = 1, mode_con_g = 1, mode_con_c = 1, mode_ctf_g = 1, mode_ctf_c = 1, mode_eli_g = 1, mode_hunt_g = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
-- associate this mission name with the current downloadable content directory
-- (this tells the engine which maps are downloaded, so you need to include all new mission lua's here)
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier. the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)
AddDownloadableContent("BNE","BNEg_con",4)
AddDownloadableContent("BNE","BNEc_con",4)
AddDownloadableContent("BNE","BNEg_ctf",4)
AddDownloadableContent("BNE","BNEc_ctf",4)
AddDownloadableContent("BNE","BNEg_eli",4)
AddDownloadableContent("BNE","BNEg_hunt",4)
AddDownloadableContent("BNE","BNEg_xl",4)
AddDownloadableContent("BNE","BNEc_xl",4)
AddDownloadableContent("end1","end1c_con",4)
AddDownloadableContent("TDS","TDSg_hunt",4)
AddDownloadableContent("HTI","HTIg_con",4)
AddDownloadableContent("HTI","HTIg_hunt",4)
AddDownloadableContent("HTI","HTIc_con",4)
AddDownloadableContent("TDS","TDSg_con",4)
AddDownloadableContent("TDS","TDSc_con",4)
AddDownloadableContent("TDS","TDSg_ctf",4)
AddDownloadableContent("TDS","TDSc_ctf",4)
AddDownloadableContent("TDS","TDSg_eli",4)
local bfxfile = "..\\..\\addon\\BFX\\data\\_LVL_PC\\mission.lvl"
if ScriptCB_IsFileExist(bfxfile) == 0 then
print("Cannot find "..bfxfile..". Skipping BFX's extra missions")
else
print("Found "..bfxfile..". Adding BFX's missions")
sp_missionselect_listbox_contents[sp_n+1].era_a = 1 --adds the a era checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_con_a = 1 --adds the con mode checkbox
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddDownloadableContent("BNE","BNEa_con",4)
AddDownloadableContent("HTI","HTIa_con",4)
AddDownloadableContent("TDS","TDSa_con",4)
end
local dtfile = "..\\..\\addon\\BDT\\data\\_LVL_PC\\SIDE\\dark.lvl"
if ScriptCB_IsFileExist(dtfile) == 0 then
print("Cannot find "..dtfile..". Skipping DT's extra missions")
else
print("Found "..dtfile..". Adding DT's missions")
ReadDataFile("..\\..\\addon\\BDT\\data\\_LVL_PC\\dtshell.lvl")
sp_missionselect_listbox_contents[sp_n+1].era_1 = 1 --adds the 1 era checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_con_1 = 1 --adds the con mode checkbox
sp_missionselect_listbox_contents[sp_n+1].mode_eli_1 = 1 --adds the eli mode checkbox
sp_missionselect_listbox_contents[sp_n+1].change = {
era_1 = { name="Dark Times", icon2="darktimes_icon" },
} --adds the icon?
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
AddDownloadableContent("BNE","BNE1_con",4)
AddDownloadableContent("BNE","BNE1_eli",4)
AddDownloadableContent("HTI","HTI1_con",4)
AddDownloadableContent("HTI","HTI1_eli",4)
AddDownloadableContent("TDS","TDS1_con",4)
end
-- all done
newEntry = nil
n = nil
-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\SWB\\data\\_LVL_PC\\core.lvl")[/code]


