Elin
Portrait Specification Framework
74 Comments
Tanya 22 Jun @ 9:44am 
theres no portrait picker under tools, i have tried disabling all my other mods :(
Android  [author] 24 May @ 1:23pm 
@Hellstorm901
Currently it doesn't look at the folder structure when making decisions. But you can set the filenames to reflect the properties you want and it will try to automatically load them in.

For example:
An image named c_f_yerles would have the desired effect. Development on this mod has kind of stopped as of late, but I'll see if I can add in a parser for folder structure like you suggested once I get some time, it shouldn't be too much work.

I'll also see if I can get an adult tag working. If I remember correctly, in vanilla the "special" tag is used for player portraits, and the "un" tag is used for unique npcs. But the way unique character portraits are implemented is different from generic ones and this mod doesn't currently support overriding unique npcs.

@banoopy
development has basically been stopped, but I'll make some time and see if I can add another tab where you can check all existing tags so you don't have to sift through all the portraits to find them
Hellstorm901 23 May @ 4:49am 
Is there a way to set this mod up so instead of having to manually assign portraits to different categories and export a PSFLinks.json the mod instead had layered folders it reads from and automatically assigns anything in the folders to be loaded as portraits for example any image in c/f/yerles would replace all female yerles with them then for assigning portraits to specific jobs and ages it read the naming format of the potrait to do so

For example CustomPortrait_paladin_adult would automatically be assigned to any paladin NPC who is an adult (with "adult" being some coding to detect an NPC's age range to and from as Elin already does seem to have some sort of age range system its character creator)

I was wondering this because I notice that in the game portrait folder it has the "special" designation for portraits for unique characters meaning that game has some sort of coding which allows it to designate portraits to specific characters without those being loaded by other NPC's
banoopy 23 Apr @ 2:02am 
is there an easier way to filter sprites i feel like i keep making mistakes on filtering them and it's quite difficult to comprehend
Android  [author] 21 Feb @ 12:52pm 
Mod should be stable again, but now requires the YK UI Framework mod, which should be earlier in the load order. The requirement has been added to the steam page so it SHOULD automatically deploy to everyone's PC. but if it doesn't unsubscribe/resubscribe, and then make sure that YK Framework is set to load before this mod in the Elin mod list. Otherwise the UI won't open
Android  [author] 9 Feb @ 4:11pm 
@SOMEGUY
Might have been an update to the game that introduced some issues. I'll check it out when I have some time in a couple of days
SOMEGUY 9 Feb @ 10:12am 
I've just recently started getting slightly odd behavior with this. Before even if I didn't set any settings for them if I rerolled the map or just rerolled "special characters" like younger sisters their portraits would only change to younger sister portraits.

Now however their portraits will switch to any portrait that's prefaced with special_f. I tried deleting the PSFLinks file thinking that maybe I accidentally fucked something up without noticing but that did nothing. It's not a huge issue because I can obviously just use this mod to limit it to just the right portraits but still I didn't need to do that before so I figured I'd mention it.
Android  [author] 26 Jan @ 4:34pm 
@Critical
Not sure why your ducks have people portraits, I wasn't able to reproduce this with the mod or in vanilla.
This mod is mostly for modders/advanced users that want to set up large sets of portrait groups. young males using granny portraits is a vanilla behaviour which was originally in-scope for this mod, but was never tackled as part of the vanilla fixes.

The only thing this mod will do without any adjustments is fix the mifu/nefu portraits and use some unused portraits. ducks/geese aren't touched and should fall back to vanilla and show up as their sprite. If this is not the case and the ducks actually DO have human portraits because of this mod somehow, let me know which zone you are seeing this with and what happens if you re-roll the duck's portrait and I'll take a look again.

If you just want to set specific peoples portraits you can use THIS mod instead
Critical 26 Jan @ 1:59pm 
AM I understanding it correctly that this mod requires users to manually set every single entity's portrait? Is that why my ducks have portraits of people, young males use granny portraits etc?
Android  [author] 9 Jan @ 7:55am 
@Puddles, I had the no description update mod enabled... fixed thanks for letting me know
Updated description: Bugfixes and medium size change that makes the mod create a local second mod that stores settings that will never be overwritten by framework updates since steam keeps deleting peoples settings. Not sure if this is the best solution as it requires booting the game twice before it starts working but it integrates pretty well into the system as it is without any major changes
Puddles 9 Jan @ 6:08am 
What did today's update change?
Reiyu 30 Dec, 2024 @ 12:03pm 
This mod really rules, thank you!!!
Android  [author] 23 Dec, 2024 @ 10:09am 
@nagomi
which caracter/portrait/mod isn't showing up correctly, I can take a look and see if i can figure out what's going wrong
also if you could copy/paste your PSFLinks.json file into https://rentry.org/ or https://pastebin.com/ and then post a link to it, it would make it easier as well

i also recently found out that peoples custom settings for the Elin Core section are being overwritten by every update from this mod, so that may also cause issues. i'm working on a way to fix that now, after the next update and going forward local settings shouldn't be touched by updates anymore
nagomi 22 Dec, 2024 @ 10:09pm 
I think it used to work before, but then I noticed it stopped working.
I'm not sure if it's my environment, but no matter how I registered, the settings were not reflected.
I tried to recreate the PSFLinks.json file, but it didn't work.
I'm sorry I can't be more specific.:steamsad:
Android  [author] 12 Dec, 2024 @ 6:03pm 
Minor bugfix patch to allow precise selection using id, and more vanilla animals being tagged also geese no longer show up as chickens (they were both part of the chicken race lol)
@NPOu
I haven't had time to work on the new pages, but i'll try to get something done this coming weekend.
NPOu 10 Dec, 2024 @ 3:06am 
@Android
You could probably implement another field into the file for exception, and if someone is excluding a portrait from a character it'll save there and not really touch the overall filters someone made, otherwise it'd get too complex.
I wasn't thinking that far ahead though, mostly just want a way to confirm what a character can be with current filter.
Keep up the good work. 🙂
Android  [author] 9 Dec, 2024 @ 7:12pm 
@NPOu That's a good suggestion, I'll rework and/or add new pages that let you set up filters on a per-character basis, and just view filters as well, probably like you suggested if you select a character/set of characters it will show all the portraits that are available for that character, and will let you add/remove portraits from those lists. As it is right now though, changing the list would change it for all the characters that match that filter (even ones that aren't selected because the portrait lists are tied to filters and not individual characters), so i'll have to think about how to implement that and not make it break everything.
Also for Gaki that's strange it shouldn't touch unique characters, I must have botched something. I'll try to make another update once I get some time.
NPOu 9 Dec, 2024 @ 11:25am 
@Android
Thanks. I kinda get it better now and I guess you have mapped quite a few vanilla portraits now.
It was still confusing me a lot so my suggestion would be for when you click a character to show (maybe split the right side in half) what it could possibly be based on the current settings, it'd help clarify if there's actually some filters active or not.
By default it should also just reroll to something random if there's nothing set (and maybe we could have another menu showing characters which are 0 filters applied?).
For example I'm seeing adventurers which cannot be rerolled (Foretta for example) but I also managed to reroll Gaki which has a unique portrait and then I cannot restore her portrait unless I go look for it, at least unique characters shouldn't reroll by default (but I'm not sure if they are identifiable in the code).
Android  [author] 8 Dec, 2024 @ 5:51pm 
@NPOu update should have fixed a whole bunch of issues you were having, also I took a look at the link file and one thing I noticed is that in the game for some reason all the prostitutes are of the norland race, so there can't be a c_f_prostitute_yerles for example, there may be other weird NPC generation things like that in the game that i'm not aware of, just an fyi in case you run into issues related to this
@Grabblez, @『 R E J 0 』
Age filter added

big thanks for everyone who provided feedback and suggestions, I really appreciate the info!
Android  [author] 7 Dec, 2024 @ 6:59am 
@D strange, that doesn't happen for me, also it never removes options from dialogues just adds them so it's probably another mod. As for the options, yeah they are pretty unclear at the moment. I'm working on making the UI easier to use right now
D 6 Dec, 2024 @ 9:39pm 
ah the config 'include generic gender pool in reroll' being unchecked by default made it so most npcs could not reroll their sprites.
Finvarra 5 Dec, 2024 @ 7:59pm 
Godsend!
Android  [author] 5 Dec, 2024 @ 4:44pm 
@Finvarra
Sure, not too difficult, here you go https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3378879190

On PCCs, NPCs don't normally have PCCs in vanilla, they are just single sprites, so you can't open the PCC edit menu easily. you can see the stat window for them, but the moment you try to force open the PCC edit menu it gets confused
Finvarra 5 Dec, 2024 @ 12:54pm 
Is there a way to make a tiny sub-version of this mod that just lets you reroll portraits without needing to specify links? Like just gives them a random portrait from your folder until you are satisfied?

Or even one that opens up the PCC menu to let you determine their portrait for them?
『 R E J 0 』 5 Dec, 2024 @ 10:23am 
thankss :D
Android  [author] 5 Dec, 2024 @ 8:19am 
Update: Apologies I wasn't able to work much on this mod since some unforeseen things came up for me offline. An update is coming that should fix a bunch of issues, and add age tags in the form of minimum age and maximum age. I'm currently struggling a bit with making it backwards compatible with the previous link file versions, but hopefully I'll get it sorted soon

@Grabblez, @『 R E J 0 』
Age filter is coming shortly
『 R E J 0 』 4 Dec, 2024 @ 5:49pm 
age plssss :3
Grabblez 1 Dec, 2024 @ 10:46am 
Nice mod. Would like an option for age groups some day.
Android  [author] 1 Dec, 2024 @ 3:58am 
@NPOu OK, thanks for the detailed info! the screenshots and descriptions were very useful. Let me take a look and I should have another update ready in a day or two. Thanks again for helping with the debug, really appreciate it
NPOu 1 Dec, 2024 @ 3:53am 
To add, I have managed to have some characters reroll properly but it's not consistent, so like I speculated, probably issue I can't see that's preventing it from running for every character.
Moving on the load order didn't do anything.
Disabling (not removing) all my mods also didn't help.
NPOu 1 Dec, 2024 @ 3:23am 
I can now create pools and save them but unless I'm doing something wrong, still can't actually reroll characters to the pools, for example, in Derphy, c_f_prostitute and c_m_prostitute, it's not following what I saved.

Also seems like sometimes characters also don't want to have a portrait no matter what but then reloading the save (exit+save+load) gives them a portrait.
What I started with: https://i.ibb.co/L1cjh71/2024-12-01-11-17-18-Elin.png
What rerolling everyone with default settings did: https://i.ibb.co/jfZ5j3z/2024-12-01-11-17-25-Elin.png
What turning on the second option did: https://i.ibb.co/rHwBpw2/2024-12-01-11-17-33-Elin.png
The punk without portrait received one after saving+loading BUT next load it happened again, I click reroll and he doesn't until I save and load.
I guess there's still some bug that's blocking normal operation but I just can't see it on the logs now.
NPOu 1 Dec, 2024 @ 3:23am 
@Android
The files mentioned in the errors are all from https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3370509818
Also, the BepInEx folder is better because it aggregates all settings from all mods and it's more persistent (not lost on unsub/sub). But I see you also create files on other mods' folders, which would make sense if other modders provide these files, but still, I think you could dynamically put settings/pools in a single file and load them as they are present together with others if present instead of splitting off multiple files. Just a suggestion to better avoid losing data but don't stress too much about it.
Android  [author] 30 Nov, 2024 @ 8:29pm 
Still wasn't able to reproduce the dictionary miss, but I added some more safeguards so hopefully whatever was causing it was caught and recovered. unsub/resub to get the latest files
Silhouette 30 Nov, 2024 @ 7:44pm 
@Npou

I think it might be a conflict with some other mod. I moved it to the top of the load order and it seems to work, now.
Android  [author] 30 Nov, 2024 @ 7:35pm 
@NPOu I can't reproduce this, I thought I fixed all of those. Which pack are you using, and can you tell me more about the conditions to trigger this? Also what are the downsides of using a settings.json? i put it there because i wanted to have everything consolidated into the mod instead of being spread around multiple folders
@Puddles, no renaming should be necessary for this to mod work. Unity doesn't support multiselect in dropdowns, i'll see if i can scrounge something up
@Sillhouette, I'm not sure why it;s not showing up for you, I'll need more info if I am to look into it, any errors?
Silhouette 30 Nov, 2024 @ 6:20pm 
This mod doesn't seem to work; there's no portrait specification framework under the tools section of the ESC menu.
Puddles 30 Nov, 2024 @ 4:55pm 
@NPOu I stopped the error by renaming the files as follows:

c_f-donwon1
c_f-donwon2
c_f-donwon3
--- Repeat through 14
c_m-donwon1
c_m-donwon2
c_m-donwon3
--- Repeat through 13
special_f_littlegirl_donwon1
special_f_littlegirl_donwon2
special_f_littlegirl_donwon3
special_f_littlegirl_donwon4
special_m_donwon1
special_m_donwon2
special_m_donwon3
special_m_donwon4
special_m_donwon5
Puddles 30 Nov, 2024 @ 4:01pm 
Having anything between c(ommon)/guard/speciel and the f/m/n is probably the issue...? Dunno.
NPOu 30 Nov, 2024 @ 3:14pm 
Also having some issues with
The given key 'c_donwon_m-11' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <7e05db41a20b45108859fa03b97088d4>:0
at SpecificPortraits.UI.TabPicker.OnCreate (System.Object dummy) [0x002cf] in <0eb83280f97c4372bf1b7e41745052de>:0
Which seems to really mess up working on the menus (I was very confused on how things worked until I saw the error on the log).
NPOu 30 Nov, 2024 @ 3:02pm 
I haven't checked much but I'd advise against storing things on the settings.json file and instead move to a BepInEx config which should still support any format you want.
Puddles 30 Nov, 2024 @ 2:10pm 
@Android Suggestion for the GUI, is there a way in the drop-downs that you could make it possible to checkbox multiple races/jobs? Or ctrl+click to select multiples at once? Sorry if that's a lot to ask, no idea how anything you're doing with the dll file works...
Vashwave 30 Nov, 2024 @ 12:16pm 
Worked. Thanks!
Android  [author] 30 Nov, 2024 @ 11:53am 
@Vashrazon the latest update should have no more dependency on the YK Testing Tool, try unsubscribing, and resubscribing and it should no longer be there. If it's still there or if that's not what you meant lmk and I'll look into fixing it
Vashwave 30 Nov, 2024 @ 11:49am 
Is there a way to disable all the debug stuff from "YK Testing Tool" while using this?
Android  [author] 30 Nov, 2024 @ 11:26am 
@Puddles Noooo, I should have been more clear as to what was coming in the next updates, sorry about that :c
Puddles 30 Nov, 2024 @ 11:03am 
@Android Haha I wish I'd waited a few days... Over the last 48 hours I manually typed, copied, pasted a massive line for every vanilla portrait and some mod ones... xD
Android  [author] 27 Nov, 2024 @ 7:00pm 
@NPOu Yes! Thanks for reminding me, that would make existing save games a lot easier to use with this mod. The feature is coming with the next update
NPOu 27 Nov, 2024 @ 2:04pm 
Another suggestion is to have a way the entire map (I figure it's not really super complex looping through everyone on the map), I just noticed that I entered a new town with https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3371673835 installed (not enabled but I guess this mod doesn't check if other mods are enabled or not) and everyone has the same portraits from only that mod, so having an option to refresh everyone would be nice instead of manually doing it for everyone.
Android  [author] 26 Nov, 2024 @ 9:40pm 
That's a good suggestion, I'm going through a big revamp right now adding a Context Menu tool for individual portrait assignment, assignment of pools, and generating link files in a way that's consistent for everyone. I'll see if I can add include/exclude options with varying levels of strictness while I'm at it.

Should be done in a couple of days and fix a bunch of usability shortcomings and issues people have been having
Sidr3t 26 Nov, 2024 @ 6:20pm 
I think it would be helpful to use '!' at the start to exclude from the pool and '*' to add to an exclusive pool.