#7
24th Jan 2025 at 12:41 AM
Quote: Originally posted by Bloody_Dust
Hi! So, I'm sorry but your post was way to close home to a little thing I have been trying to do for a while now so forgive me for bringing you back here a year but I'm desperate: Do you have any idea how to increase the character limit for household descriptions? Those that you read when you pick household when you create a new save or edit world?
Or at least do you know for those things of life what is the game file for that? I have been looking for that value like crazy on the core files and I couldn't find it for my life. Nor in hud inside the UI.dll or in Household in GameplaySystems.dll. (But I don't rule out being as blind as a mole and just passing it by. I'm a newbee on this modding thing.) Thank you on advance for taking the time to read this.
|
Hi! I didn't log in often in the last months, so my reply is a bit late again.
I don't know what your set up for modding is, but here is how I did it:
For searching in the source code, I have a solution for Visual Studio with all decompiled dlls (done with ILSpy) put together in one project. With this I'm able to find all references etc.
In this case you've already been on the right track with Household.cs. This has the BioText property which saves the household description. It's set-function has 15 references. The important ones lead us to the following classes:
-Sims3.Gameplay.Moving.GameplayMovingModel, here it gets set to mSourceHouseholdDescription or mTargetHouseholdDescription but these only ever copy data from other BioTexts without user input, so a dead end.
-Sims3.Gameplay.EditTownModel, which manages the editing of households in the Edit Town view. It has the functions SetHouseholdDescription() and SetHouseholdLotDescription(). When checking the references the first one is another dead end, but the second one leads to Sims3.UI.GameEntry.EditTownChangeInfo.OnSaveClick(). This function gets triggered when the SaveButton in the corresponding window gets clicked. In the constructor of the same class we can find that it loads the "SaveHoushold" layout and the TextEdit mHouseholdDescription with its ID.
Now we convert the ID from decimal to hexadecimal and search for it in the SaveHousehold file. The TextEdit object it belongs to has a "Max Text Length" prop and now we only have to change it's value. By setting it to -1 we can set it to infinite.
-Sims3.Gameplay.GameEntryMovingModel, which manages the editing of households while moving to another lot in game. Here BioText also gets set to mSourceHouseholdDescription or mTargetHouseholdDescription, but this time those can be set in another SetHouseholdDescription() function. The references from there lead to the class Sims3.UI.MoveDialogBase. In the function OnDescriptionButtonClickDialog() a new StringInputDialog window is opened.
At this point I'm also a bit stumped, because I can't find the restriction to 1000 characters for this type of window.
Tldr: I wrote a mod with which it's possible to write an infinite long description in the Edit Town view. But if you try to edit it while moving a household during gameplay it gets cut back to 1000 characters. Furthermore I advice against writing a whole book into the description. While testing I copied in a chapter from a book and it froze my game.
I hope this was helpful :D
Ps: When I have no idea where to start looking for layout file I look through the ATLAS images in Fullbuild0 for a menu that looks like what I want and then use it's name to search the code.