Page 1 of 1

Era name & icon

Posted: Sun Dec 18, 2011 12:34 am
by Marth8880
I am adding an era to some stock maps to see how well it plays there (gee, I wonder what this era could be? :s), and the name/icon is only working for the custom map; the era/icon shows up as "New Jedi Order" for the stock maps. Also, the era is loaded correctly and everything in the stock maps; again, the name/icon is the only problem.

addme.lua
Hidden/Spoiler:
[code]-- recursively merges the second given table into the first given table
function MergeTables( mission, newFlags )
--for each table entry,
local array = type({})
for key,value in pairs(newFlags) do
--check for nested tables
if type(value) == array then
--mission must have this key as a table too
if type(mission[key]) ~= array then
mission[key] = {}
end
--merge these two tables recursively
MergeTables(mission[key], value)
else
--the key is a simple variable, so simply store it
mission[key] = value
end
end
end

--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
MergeTables(mission, newFlags)
end
end
end

ReadDataFile("..\\..\\addon\\PLU\\data\\_LVL_PC\\shell.lvl")




--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] = { red = 0, green = 0, blue = 200, isModLevel = 1, mapluafile = "PLU%s_%s", era_g = 1, era_n = 1, mode_con_g = 1, mode_con_n = 1, change = {
era_n = { name="Mass Effect", icon2="era_icon_n7" }, }, }

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)


------ Stock maps begin ------
AddNewGameModes(
sp_missionselect_listbox_contents,
"myg1%s_%s",
{
era_n = 1,
mode_con_n = 1,
change = {
era_n = { name="Mass Effect", icon2="era_icon_n7" },

},
}
)

AddNewGameModes(
sp_missionselect_listbox_contents,
"pol1%s_%s",
{
era_n = 1,
mode_con_n = 1,
change = {
era_n = { name="Mass Effect", icon2="era_icon_n7" },

},
}
)

AddNewGameModes(
sp_missionselect_listbox_contents,
"tan1%s_%s",
{
era_n = 1,
mode_con_n = 1,
change = {
era_n = { name="Mass Effect", icon2="era_icon_n7" },

},
}
)

AddNewGameModes(
sp_missionselect_listbox_contents,
"tat2%s_%s",
{
era_n = 1,
mode_con_n = 1,
change = {
era_n = { name="Mass Effect", icon2="era_icon_n7" },

},
}
)
------ Stock maps end ------


------ Custom maps begin ------
AddDownloadableContent("PLU","PLUg_con",4)
AddDownloadableContent("PLU","PLUn_con",4)
------ Custom maps end ------


------ Stock maps begin ------
AddDownloadableContent("myg1","myg1n_con",4)
AddDownloadableContent("pol1","pol1n_con",4)
AddDownloadableContent("tan1","tan1n_con",4)
AddDownloadableContent("tat2","tat2n_con",4)
------ Stock maps end ------


-- all done
newEntry = nil
n = nil

-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\PLU\\data\\_LVL_PC\\core.lvl")
[/code]

Re: Era name & icon

Posted: Sun Dec 18, 2011 9:00 am
by fasty
The problem is that the 1.3 patch sets the letter "N" to new "New Jedi Order." Try finding a letter that the 1.3 doesn't use. I believe you can use numbers.

Re: Era name & icon

Posted: Sun Dec 18, 2011 10:47 am
by THEWULFMAN
fasty wrote:The problem is that the 1.3 patch sets the letter "N" to new "New Jedi Order." Try finding a letter that the 1.3 doesn't use. I believe you can use numbers.
If he uses a letter the 1.3 doesn't use it won't show up at all. Every letter 1.3 supports has a name, N happens to be New Jedi Order. You have to use a letter the 1.3 patch supports since it is the patch that is allowing you to add new eras at all. Also to my knowledge only the numbers 1 and 2 are supported by the 1.3 patch, and I am not even 100% certain on 2. I know Mav used 1 for his Dark Times era.





I'm not sure what your(Marth's) issue is quite yet, I'm still looking into it.

Re: Era name & icon

Posted: Tue Dec 27, 2011 6:31 am
by [RDH]Zerted
v1.3 supports A through Z and 1 and 2 as era codes.

Try removing any other maps in your addon folder. It's likely one of them didn't make the MergeTables() change to AddNewGameModes() and is clobbering your changes. It's possible to get around this, but solution is quite hacky.