Noticed there's this in traits now: "min_lod_value"
Progression-based hidden traits, such as BeenKissed, seem to be set to FULL
Looks like most others are set to MINIMUM (personality, ghost, gender options, walkstyle, age)
And role-based traits, such as IsNanny have no min_lod_value, which would default them to BASE
Edit: Looks like gameplay and aspiration trait type didn't have any min_lod_value added, so they default to BASE as well
The TDESC reads:
<TunableEnum type="SimInfoLODLevel" name="min_lod_value" class="TunableEnumEntry" default="BASE" display="Min Lod Value" muid="6D6A5B9B7E9347AD" static_entries="sims-sim_info_lod.SimInfoLODLevel" description="The minimum Sim info LOD necessary for this information to persist
on the sim info. e.g. A statistic tuned to FULL will not persist on
sims that are BASE or lower.
Active LOD is not supported right now. We will need to modify load
code to happen after the LOD on the sim info is set to fully support
active LOD. As such, we are removing that option for now.
TODO: Make active LOD work. - bosee 2/22/2017" Deprecated="False" filter="0" group="General" invalid_entries="ACTIVE" />
Not sure yet what "base or lower" sims are though.
It's looking like custom traits may need to get a setting for this added to them, but I'm not totally sure.
Will need to test to see if the traits persist without it, unless someone can provide some clearer insight into how this works.
I might find more info as well once I get a look at the python.
The MINIMUM/BASE/FULL are most likely for performance reasons, and are used for the culling process for example, where you're allowed a certain number of Sims in each level of details (though there were exceptions for played Sims for example). There are different rules to switch sims between the LODs. There's more in the Python side indeed.
In this case, I guess they probably aimed to reduce the data of MINIMUM sims that wasn't noticable in the simulation.
The MINIMUM/BASE/FULL are most likely for performance reasons, and are used for the culling process for example, where you're allowed a certain number of Sims in each level of details (though there were exceptions for played Sims for example). There are different rules to switch sims between the LODs. There's more in the Python side indeed.
In this case, I guess they probably aimed to reduce the data of MINIMUM sims that wasn't noticable in the simulation.
Hmm. So in your assessment/guess (or whatever you want to call it :P), would it be something that should be manually set by modders in custom traits, or is it tied to python scripts and culling settings to an extent that those settings will take care of what min_lod_value needs to be set at?
Yes, I think for the personality traits (like the ones created with the Trait Constructor), modders should add the <E n="min_lod_value">MINIMUM</E>, otherwise the Sims would probably lose the trait if they happen to get switched to the minimum lod (which can happen for unplayed/unhoused Sims for example).
Full Sims are basically played/housed Sims, base Sims are unplayed, and minimum Sims are unplayed/unhoused kept for the family tree (or at least that was the case before the patch)
Yes, I think for the personality traits (like the ones created with the Trait Constructor), modders should add the <E n="min_lod_value">MINIMUM</E>, otherwise the Sims would probably lose the trait if they happen to get switched to the minimum lod (which can happen for unplayed/unhoused Sims for example).
Full Sims are basically played/housed Sims, base Sims are unplayed, and minimum Sims are unplayed/unhoused kept for the family tree (or at least that was the case before the patch)
Ok, makes sense. Thanks.
Any idea if that line would be tied to a new part in the DATA file for the trait? I've been trying to get a look at one of the trait DATA files, up to date from the patch, to check myself, but am having issues.
I think the ones that appear in the DATA files have a export_modes tag in the TDESC. I haven't extracted the DATA yet though, so I haven't checked.
Oh, I see now, yeah. min_lod_value doesn't appear to have an export_modes thing, so probably not in DATA then. Thanks.
The new tuning ui_category does though, but it looks like it's disabled by default, so presumably if a trait doesn't have any setting for it, it just won't be sorted in the window in some special way. So maybe not vital for working properly (pending testing -- I'm still looking over code, haven't even tried most of my mods enabled yet), but certainly another thing to take into account for custom traits now.
Edit: Also, the issue I'm having with DATA, is it appears that VelocityGrass's tool is having issues being able to open trait DATA files from the new patch. Looks like Sims Studio may be hitting the same issue... extracting a tuning with it will bring out XML and DATA for a buff file I tried, but only brought out XML file for a CAS trait. Unless I'm forgetting how Sims Studio works.
Edit2: Seems Sims Studio's getting an error trying to read trait DATA files post-patch. I looked manually under the DATA section.
Posted about the problem on their forums. I know VelocityGrass doesn't update their tool anymore, but hopefully Sims Studio will be able to update for it.
@Triplis How do I find the DATA file in Sims Studio? I'd like to update my traits but this is all very new to me so any help would be immensely appreciated!!
@Wishonmeh05 Are your traits in a .package file type? If so, you should be able to click on the button "My Projects", find where the package file is, and open it that way.
Also, I suggest creating a copy of the package file to edit it, so that you have a backup in case something goes wrong.
@Triplis I am getting an error message and not sure why. Can you take a look at it?
The Sims 4 Studio - Version 3.1.0.4
System.Xml.XmlException: The 'Instances' start tag on line 3 position 4 does not match the end tag of 'I'. Line 25, position 7.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
at System.Xml.XmlTextReaderImpl.ParseEndElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text)
at S4Studio.Data.IO.Tuning.SimDataResource.Write(Stream stream, IReferenceList resources) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Tuning\SimData\SimDataResource.cs:line 41
at S4Studio.Data.IO.Package.DBPFPackage.WriteResourceStream(FileStream final_stream, IPackedResource resource, IDBPFResourcePointer index) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 553
at S4Studio.Data.IO.Package.DBPFPackage.WriteDataStream(Stream src_stream, FileStream final_stream) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 522
at S4Studio.Data.IO.Package.DBPFPackage.SaveTempPackage(String out_file, String tmp, Stream pkg_stream) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 457
at S4Studio.Data.IO.Package.DBPFPackage.Save(String out_file, Boolean inline, String temp_path) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 384
at S4Studio.Shared.StudioDocumentModel.Save(String filename) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\ViewModels\App\StudioDocumentModel.cs:line 254
Once you've got the new bits in both the Sim Data file and the Trait Tuning, there should be a button down in the bottom right corner that says "Save." Hit that, it should say something "your package has been saved." If everything was added correctly, you should now be able to close Sims Studio, open up the package again, and find that your changes are in there.
You can also do File > Save or Save As in the top left corner, though I'm used to clicking the button in the bottom right. And now I'm sitting here going, like, "Was that File > Save As button always there in Sims Studio? How did I miss it before?" XD
@Triplis Ah I see where my problem was. I didn't know anything needed to be updated in the Trait Tuning. Can you advise as to what should be added/changed there?
@Wishonmeh05 It's in the example I posted on the sims studio forums.
Here's the copy/paste of it. Relevant parts are species, min_lod_value, and ui_trait_category_tag/ui_category. Though like I say in the sims studio post, I'm not sure if ui_category is actually doing anything for custom traits. Can't hurt to add it in tho.
@Wishonmeh05 Could you copy/paste the text from one of the traits for both Trait Tuning and Sim Data? I can take a look and see if I spot anything that looks off.
Comments
In this case, I guess they probably aimed to reduce the data of MINIMUM sims that wasn't noticable in the simulation.
Full Sims are basically played/housed Sims, base Sims are unplayed, and minimum Sims are unplayed/unhoused kept for the family tree (or at least that was the case before the patch)
Any idea if that line would be tied to a new part in the DATA file for the trait? I've been trying to get a look at one of the trait DATA files, up to date from the patch, to check myself, but am having issues.
The new tuning ui_category does though, but it looks like it's disabled by default, so presumably if a trait doesn't have any setting for it, it just won't be sorted in the window in some special way. So maybe not vital for working properly (pending testing -- I'm still looking over code, haven't even tried most of my mods enabled yet), but certainly another thing to take into account for custom traits now.
Edit: Also, the issue I'm having with DATA, is it appears that VelocityGrass's tool is having issues being able to open trait DATA files from the new patch. Looks like Sims Studio may be hitting the same issue... extracting a tuning with it will bring out XML and DATA for a buff file I tried, but only brought out XML file for a CAS trait. Unless I'm forgetting how Sims Studio works.
Edit2: Seems Sims Studio's getting an error trying to read trait DATA files post-patch. I looked manually under the DATA section.
Posted about the problem on their forums. I know VelocityGrass doesn't update their tool anymore, but hopefully Sims Studio will be able to update for it.
Sims Studio put out an update.
http://sims4studio.com/thread/562/sims-studio-windows-wishes-open
Am able to read now (and should just be able to copy in the new bit for custom traits).
Here's a sample with the ui_category DATA bit in there, from the Insider trait:
Also, I suggest creating a copy of the package file to edit it, so that you have a backup in case something goes wrong.
@Triplis I am getting an error message and not sure why. Can you take a look at it?
The Sims 4 Studio - Version 3.1.0.4
System.Xml.XmlException: The 'Instances' start tag on line 3 position 4 does not match the end tag of 'I'. Line 25, position 7.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
at System.Xml.XmlTextReaderImpl.ParseEndElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text)
at S4Studio.Data.IO.Tuning.SimDataResource.Write(Stream stream, IReferenceList resources) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Tuning\SimData\SimDataResource.cs:line 41
at S4Studio.Data.IO.Package.DBPFPackage.WriteResourceStream(FileStream final_stream, IPackedResource resource, IDBPFResourcePointer index) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 553
at S4Studio.Data.IO.Package.DBPFPackage.WriteDataStream(Stream src_stream, FileStream final_stream) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 522
at S4Studio.Data.IO.Package.DBPFPackage.SaveTempPackage(String out_file, String tmp, Stream pkg_stream) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 457
at S4Studio.Data.IO.Package.DBPFPackage.Save(String out_file, Boolean inline, String temp_path) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\IO\Package\DBPFPackage.cs:line 384
at S4Studio.Shared.StudioDocumentModel.Save(String filename) in C:\Sims\Studio\S4S\TheS4Studio\S4Studio.Shared\ViewModels\App\StudioDocumentModel.cs:line 254
Once you've got the new bits in both the Sim Data file and the Trait Tuning, there should be a button down in the bottom right corner that says "Save." Hit that, it should say something "your package has been saved." If everything was added correctly, you should now be able to close Sims Studio, open up the package again, and find that your changes are in there.
You can also do File > Save or Save As in the top left corner, though I'm used to clicking the button in the bottom right. And now I'm sitting here going, like, "Was that File > Save As button always there in Sims Studio? How did I miss it before?" XD
Here's the copy/paste of it. Relevant parts are species, min_lod_value, and ui_trait_category_tag/ui_category. Though like I say in the sims studio post, I'm not sure if ui_category is actually doing anything for custom traits. Can't hurt to add it in tho.
<SimData version="0x00000100" u="0x00000000">
<Instances>
<I name="TS4BAT_Generated_Trait" schema="Trait" type="Object">
<L name="ages" />
<T name="cas_idle_asm_key">00000000-00000000-0000000000000000</T>
<T name="cas_idle_asm_state"></T>
<T name="cas_selected_icon">00000000-00000000-0000000000000000</T>
<T name="cas_trait_asm_param"></T>
<L name="conflicting_traits" />
<T name="display_name">0x00000000</T>
<L name="genders" />
<T name="icon">00000000-00000000-0000000000000000</T>
<L name="species">
<T type="Int64">1</T>
</L>
<L name="tags" />
<T name="trait_description">0x00000070</T>
<T name="trait_origin_description">0x00000007</T>
<T name="trait_type">0</T>
<V name="ui_category" variant="0x603EAA6C">
<T type="Int64">0</T>
</V>
</I>
</Instances>
<Schemas>
<Schema name="Trait" schema_hash="0x992BFA76">
<Columns>
<Column name="ages" type="Vector" flags="0x00000000" />
<Column name="cas_idle_asm_key" type="ResourceKey" flags="0x00000000" />
<Column name="cas_idle_asm_state" type="String" flags="0x00000000" />
<Column name="cas_selected_icon" type="ResourceKey" flags="0x00000000" />
<Column name="cas_trait_asm_param" type="String" flags="0x00000000" />
<Column name="conflicting_traits" type="Vector" flags="0x00000000" />
<Column name="display_name" type="LocalizationKey" flags="0x00000000" />
<Column name="genders" type="Vector" flags="0x00000000" />
<Column name="icon" type="ResourceKey" flags="0x00000000" />
<Column name="species" type="Vector" flags="0x00000000" />
<Column name="tags" type="Vector" flags="0x00000000" />
<Column name="trait_description" type="LocalizationKey" flags="0x00000000" />
<Column name="trait_origin_description" type="LocalizationKey" flags="0x00000000" />
<Column name="trait_type" type="Int64" flags="0x00000000" />
<Column name="ui_category" type="Variant" flags="0x00000000" />
</Columns>
</Schema>
</Schemas>
</SimData>
<?xml version='1.0' encoding='utf-8'?>
<I s="16801870630799578066" c="Trait" i="trait" m="traits.traits" n="kerrinor_Introvert_Trait_Introvert">
<L n="ages">
<E>TEEN</E>
<E>ADULT</E>
<E>BABY</E>
<E>CHILD</E>
<E>UNUSED_FLAG</E>
<E>ELDER</E>
<E>YOUNGADULT</E>
</L>
<L n="buffs">
<U>
<T n="buff_type">10191837408420826802</T>
</U>
</L>
<T n="cas_trait_asm_param">TS4BAT_Undefined</T>
<T n="display_name">0x554F53CB</T>
<T n="icon" p="Generated">2f7d0004:00000000:e0ec27acf4025b59</T>
<E n="min_lod_value">MINIMUM</E>
<L n="species">
<E />
<L n="tags">
<E>TraitPersonality</E>
<E>TraitGroup_Lifestyle</E>
</L>
<T n="trait_description">0x87606D04</T>
<T n="trait_type">PERSONALITY</T>
<V t="ui_trait_category_tag" n="ui_category" />
</I>
Looks like there's an incomplete tag in the Trait Tuning:
Needs to be:
Also, this is a trait that was working for you prior to the patch, right?