AFAIK Extra field is not being used by any database (even MAME) but the problem I am facing with "Extra" is same as "Tags". If I add more then one category I can't call them separately. If I add Region and Language info it will list both. In a layout I am trying to develop I want to call them separately and list the outcome in separate places. i.e. if region is "USA" add a specific image, list [Language] info at a specific place. Tags use ; as separator (can be used it in [Extra] too), I don't know of anyway to define the "if" statement so it lists the correct info. For example:
function romreg () {
if (fe.game_info (Info.Tags) == "USA") return "/images/flags/usa.png";
else if (fe.game_info (Info.Tags) == "Japan") return "/images/flags/japan.png";
else if (fe.game_info (info.Tags) == "Europe") return "/images/flags/europe.png";
else if (fe.game_info (info.Tags) != "Japan" || "USA" || "Europe" return "/images/flags/unknown.png";
}
local romregi = fe.add_image ("[!romreg], 0,0,200,100];
This doesn't work because there will be more then one Tag on said rom and it won't be equal. If I use "!=" it will be use less in this case. Something like following would work with both Tags and Extra:
if (fe.game_info (Info.Tags) Contains the String "USA") return "/images/flags/usa.png"
I have tried finding out if there is any "contain" expression in squirrel or "find in string" expression but have not found any yet which works.
2) I am already using filters based on tags. The basic structure is something like: console system > Filters (based on Category contains "catver info") > Categories (based on catver.ini, manual input to catver via excel: Action, Adventure, beat 'em Up etc).
If I add filters with both region;category it will greatly increase the amount of filters (Platform;USA, Platform;Japan, Platform:Europe and so on), if I add a filter with Platform;USA/Japan/EU I will be back to square one (this is similar to Filter:Platform, there is no way of calling 'region' info from layout). Since basic organization is through filters i don't want to go the first way.
Currently I am using [DisplayType] & [DisplayCount] heads for [Region] and [Language] (manually changed that) but that means if I ever update the gameinfo through hyperspin .xml, mame.xml or any online database the values I added will be rewritten. Tags would ideally be the place since they are AM specific and wont won't interfere with other databases.