Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Strive for Power

Fantasy Slave Management/RPG Erotic Game · By Strive4Power

Portrait Pack Editor v1.2

A topic by Kyler2 created Aug 24, 2018 Views: 35,792 Replies: 69
Viewing posts 1 to 23
(9 edits)

Wrote a companion tool for my Improved Random Portraits mod.

Download - Includes exe and source.

Meant to help assist with renaming files in a portrait pack to follow the tags. Requires .NET 4.0 or newer, I think.  Only tested on Windows, but theoretically might work via mono on other OS's.  Assists with viewing and setting tags for a portrait collection by renaming the portrait and body files in sync.

See Readme.txt for usage directions.


Version 1.2

- Allow for portrait only collections.
- Enter key always applies.
- Escape key resets.
- Filters for portraits missing specific attributes.

Version 1.1 - Focus on the file list after applying.

Version 1.0

- Move pruple/skin tags to skin section - Fix tag for Elves.

Version 0.6

- Fixed Male regex matching in settings.json - Fixed Bark to Dark in settings.json

Version 0.5 and older, see Readme.txt in download.


Thoughts? Preferred features/changes?

Things I'd like to change/add personally, but would like some input on what to change some to:

  • Sort the race list alphabetically. It's sorted currently directly from what i dumped from the game's source.
  • Sort Hair/Fur colors more intelligently, with similar shades next to each other.
  • Reset button to swap back to the tags on the file.
  • Keyboard shortcuts.  Enter to apply, pageup/pagedown to select previous/next image?
  • Additional attributes (eye color, etc.)
  • Display the Body and Portrait images
  • Remember last directory

Rather than sort it automatically, have it draw from a separate txt file (that it be ordered to store directly from the source).  That way, people can add races to the list as they mod, and choose the order that the races are presented.

If you do have similar shades of hair/fur colors, have the shades demonstrated in the writing.

Reset button and keyboard shortcuts are always good.  Keyboard shortcuts be customized as well, per user preference?

Regarding eye color, I don't have any preference, but others probably will.

Remember last directory would be a definite yes please.

Display Body and Portrait I will have to get back to you on, I have to wait for my computer to allow finishing downloading the program to test.

(2 edits)

Just a heads up. The browse feature is not working for me. When I select another directory with images, the editor no longer loads the images on Roaming\Strive but it doesnt load the images on the selected directory either. It also doesnt display the new directory next to the browse button as well, but instead keeps displaying Roaming\Strive. Ive tried multiple things such as another hard drive, moving the editor to the same directory, renaming the images and putting them inside the games folder structure(Strive\bodies or portraits\) within the selected directory (which shouldnt be necessary anyway). Yet nothing worked. 

Here is my wish list aside from some things you already mentioned:

Eye color tab next to hair color
A small rectangle/circle next to the eye/hair colors tags displaying its respective color. Alternatively you could add the colors as background to the tags 'box'(the area highlighted by the mouse).
A small "special attributes" tab to add simplified tags such as Horns, Wings, Tail, NonHumanEars, and any others that I may be missing. 
Turn gray all tags added by folder names and make them uncheckable. Alternatively you could make it so that checking sex, race and age tags would move the image to a different proper directory, but this probably wouldnt work well with everyone using their own folder structure.
Instead of a red font for non-standard race colors how about darkish yellow or orange? This is because the red font color often signifies something that must not be used/done to the point that doing so can potentially cause conflicts or crashes. Its not that heavy of an issue here.
Image selection(should work like windows does it for files/folders):
Left mouse click to select 1 image
Shift+Left mouse click to select all images starting from the previously selected one to the last selected one
Ctrl+Left mouse click to add 1 image to current selection
Add a '# images selected' text 

Keyboard Shortcuts (based on the current editor layout):
Enter to apply, pagedown/DOWN for next image, pageup/UP for previous image, RIGHT for fist image from the next race, LEFT for first image from the previous race, Backspace to restore last saved tags, Delete to remove all tags(excluding the ones set by folder names)

> When I select another directory with images, the editor no longer loads the images on Roaming\Strive but it doesnt load the images on the selected directory either.

Is that directory one that contains Bodies and Portraits subfolders? If not, it won't find anything.  If yes, then do they have matching files?

Basically, this will show the file:


However, if only one of those files exists, it won't show up in the list. Or if there's no Bodies folder, then nothing will show up, and might even error/crash.

> Alternatively you could make it so that checking sex, race and age tags would move the image to a different proper directory,

It already does this.

Some of those other changes I can do, but some I don't know if i'll bother with (like treating folder names differently than any other text in the path).

(2 edits)

>Some of those other changes I can do, but some I don't know if i'll bother with (like treating folder names differently than any other text in the path)

Nah theres no need for that indeed, since it already relocates the files every time a change in those tags is done. I actually noticed this soon after I posted my comment but forgot to edit sorry about that.

As for the directory issue the problem was that I didn't had 2 matching files for bodies and portraits. Since the editor will have an option to create portraits selected from a whole body image, I had neglected to put images in the portraits folder.

While Im at it, though I didnt want to post it in this thread, your most recent version of the mod is buggy. It no longer has the random portrait button and males show up with female images.

Latest version works, but you need to be using 0.5.18d, Behavior of AddTo for mods was changed so 0.6 didn't work with 0.5.18d.

Selecting a portrait for an image is a longer-term feature as that'll mean some image editing capabilities. Not sure if/when that'll actually make it in.

(1 edit)

Nice, that was quick. I already tested this out on a couple images, really liking it so far and definitely going to be using this on my pack.

Including sorting the race list alphabetically you mentioned here's some other suggestions you might want to add if it isn't too difficult, to make things more convenient.

I think some attributes should be grayed out based on selected race since they won't appear with those attributes in Strive. So you don't have to look through scripts, Kazama already posted a sheet here in what hair colour and skin-tone each race supports.

That entire upper right image selection box will be better if moved to the left or right of attributes selection. For bigger selection to select portraits from and won't have to scroll much.

Maybe a way to select attributes for multiple images through shift clicking or something?

Maybe support multi-portrait editing in this manner:

shift+ctrl-click to select multiple. Once multiple are selected, all checkboxes get unchecked (once initially going into multi-mode).  After that, checking boxes, and and clicking apply, it looks at each, and each section that has something selected, it applies that to all the files?

I still want to allow picking non-standard colors for races, as you can modify them via dye's etc., but did think about changing their color to red to signify they're not a standard color for the current race(s).

Agreed on shifting the file selection, the portraits are mostly vertical anyways so there's extra horizontal space. So move that over,  then maybe stick the portrait photo above it or something so you see both body and portrait?

I was also thinking a filter for the file list, can type in text, and it filters the list to only items that match it.

Yeah, multi-portrait editing in that manner and changing color to red for non-standard colors is a good idea too. Same with sticking portrait above the body image as well.

A filter/tags browse search feature would actually be nice too. A way to find all images in pack that matches the tags you're searching for.

Well this is a pleasant surprise since I'm about to rename every one of my portraits!

You're a fecking saint Kyler, no idea how you make all of these but I'm glad you do :)

(2 edits)

Question. If I edit all my pictures with this, making sure the pictures that are shared by my and manalive's packs have exactly the same names and paths. When someone downloads both packs and gets an inevitable prompt to override, will it just override these duplicate images? Or every folder with the same name!?!?

Wait... is one of the skintones Bark? Ahahaa, you'd have spotted this without me. But for a second I was thinking "Is this dryad skin.."

Was one concern, right now this could lead to overwriting of different portraits.Instead of an incrementing number at the end, I'm thinking of a partial hash of the image instead. If it's the same image, it'll be identical, and so if it overwrites it should only overwrite an identically tagged identical image.  

I used this with my maid pack, take a look at the files etc to see how to comes out

(1 edit)

Overwriting identical images that are identically tagged is ideal :)

I'm going to add a "£" to the name of any of my portraits that are not shared by other packs, to prevent any shenanigans. so that anyone can easily find and delete images from my packs if they want to.

New version, adds CRC32 to the end of the file, will avoid any overwrites.

That'll make it even simpler for portrait pack creators. Don't have to worry about overwrites at all.

Should we avoid putting the exact same picture in multiple authors packs from now on then? 

I've noticed that the program creates files for races, genders, and ages.

then inside the files it names the pictures based on hair, ass, and chest size. (missing flat and masc by the way :c, and no, I don't stuff my bra! you stuff your bra!)

in other words.  this is an example of what the program will name files: Blond SkinL TitsM AssM #Maid 1.png

(#Maid is one of my pack tags, much like what Master Kazama is doing with "£")

The game itself seems to not pick up on file names, well, some of them anyway, while male's are getting female portraits, and occasionally a race wont be correct.

It seems the game does not register the file names as a tag to search, i dunno.

Edited the code a bit.  Added a Folder button to alternate between the current setup with numerous nested folders and a version that does not create new folders.

Bare minimum change to code for indicated functionality.

Hope that's okay.

That's why I included the source code :)

I was thinking of adding a config file so you could configure this, plus other things like default directory.  Define out the various tags, so they can be tweaked or updated without needing to modify the source.

Added settings file for 0.3 with the pack directory, and a filename template to simplify customizing how it outputs things.

(1 edit)

Thank you for the filename template, yet to try it, but it sounds awesome.

A few things are slightly off with v0.4.
If a picture is in a folder named "female", then both the male and female tags will automatically be applied.
Dark skin is still misspelled as Bark.

(I love using this name editor, it's saved sooo much time. Even if neither of these are ever fixed, I will still keep using it)

Both of those were fixed in 0.4 or 0.5.

(2 edits)

Then I have no idea why neither has been fixed for me in 0.5

Re-downloaded the most recent link several times.

Oh well, not like I use the tag anyway. Thanks for the updates.

Sigh look at that, it is mispelled in 0.5. You can fix it yourself locally, open up settings.json and fix this line:

{ "Name": "Bark", "Regex": "BarkSkin", "Tag": "BarkSkin"},

I'll fix it for next release, but that doesn't seem worth a release on its own.  The female/male thing should be fixed in 0.5.

I added settings.json so you can add your own custom tags, or if someone adds new races, colors, etc, the tool can be made to handle them without needing to know C#/WPF.

Cheers, I'll do that now.

(1 edit)

Images placed in a "Female" folder are loaded by the editor as both 'Female' and 'Male'

EDIT: only saw the previous comments now. This issue is still not fixed in 0.5.  Also an insignificant issue, 0.5 has an outdated changelog in readme.txt.

Sigh, i screwed up the regex when putting it in settings.json, line 44, the Male line, should look like this:
{ "Name": "Male", "Regex": "(?<!Fe)Male", "Tag": "Male"},

Will post a 0.6 with this and Bark -> Dark shortly.

I guess I kinda made the same mistake cause I was literally staring at that line looking for the typo somewhere in there and couldnt find it even after comparing with the darkelf line xD Im blind.

(1 edit)

Theres some bugs in settings.json in 0.6.  These are the first 2 lines under HairColor:

{ "Name": "Green", "Regex": "SkinG", "Tag": "SkinG"},
 { "Name": "Purple", "Regex": "SkinP", "Tag": "SkinP"},

They should be deleted and I think the regex in Green and Purple skin colors should be "Regex": "GreenSkin|SkinG", "Regex": "PurpleSkin|SkinP" respectively. 

EDIT: no point in making another version. if u can just update 0.6 with these fixes.

{ "Name": "Dark Elf", "Regex": "DarkElf", "Tag": "DarkElf"},

{ "Name": "Elf", "Regex": "(?<!Dark)Elf", "Tag": "DarkElf"}, 

Sigh, I moved the other skin ones into skin but failed on those. I'm getting lazy.  That Elf one is just silly too... matches right, but tags wrong... I did a double check on the rest and I'm not noticing any more mistakes, so hopefully last tweaks.  Might just call this a 1.0 since it's got most of the features I intend to add anytime soon.

Thanks again for the amount of work you've put into this tool Kyler, you rock.
(#pruple is the new bark)

(1 edit)

Every time you released a new version I checked the settings file and mostly I only noticed something wrong when tagging/loading images with the editor. Its not you being lazy, if anything it represents a lack of concentration/rest. So rest m8, we portrait pack makers are already eternally grateful for this tool you did on a whim. I still have hundreds of images to tag for my next pack and several hundreds more for the next one so if I find anything wrong I will post it here.

EDIT: just one small thing that has been bothering me when tagging several images at once. After I press "Apply" I have to manually select the next image with the mouse because the "DOWN" button is working for the last selected tag instead of the image list. It just brings a little more effort so its not really a bug or anything but if its something you can fix easily then plz do it when you got the time. And seriously thank you for both the mod and this editor!

Done, single line, after clicking apply, focus goes to the file list so down or up etc. controls it.

(1 edit)

Working flawlessly, though It would be great if 'Enter' was a shortcut to 'Apply' - Im pretty sure it was one of the keyboard shortcuts you wanted to add, though its not working for me

Feature request: images with 1(or more) untagged attributes show up in the image list with a different color - this is helpful to identify such images among hundreds of them in case we might have missed something.

EDIT: I still think it doesnt make sense to have 2 'Green' and 2 'Purple' in skincolor when they are both literally just 'Green' and 'Purple'. Unlike SkinB and Blueskin which represent different things, GreenSkin and SkinG are exactly the same. So the editor should load them under the same 'Green' and apply either SkinG or GreenSkin to Green. Same logic for purple. - Feel free to ignore this one cause the editor works just as well regardless.

You're free to change the regex and list for the skin colors. I left it as-is to allow someone to choose which tag from the list, even if it's a bit unintuitive currently.

Enter applies now, and escape resets.  Additionally, instead of coloring things in the list, I just added checkbox filters for race, hair, skin, tits, and ass missing.  Check the box, and it filters the list to only the ones missing the selected attributes.

I think this allows for a good workflow, can filter to everything missing tits, have mouse over tits area, select tits, hit enter, hit down, select tits, hit enter, hit down, repeat. Can work through an entire list for one attribute with minimal mouse movement now.

Yeah I changed a couple things in settings.json to make tagging easier based on how often I use each tag.

The filters really are handy and much more eye-friendly and elegant than my color suggestion. In less than 5s I found 2 images with missing tags among over 300. 

Thank you for these new updates. The editor just really got solidified now.

Hey dude, 

Your mod looks cool, but I just get load errors from the cmd window.

Base game works fine.

ver 5.19b

Any help you could give would be awesome.


Replying to the wrong post? this is the editor, not the mod.

0.5.19b was broken for mod's I vaguely recall? Use a newer or later version.

Well, you are the author so I'll trust your conclusion. 

So, isn't the mod I want to select and load in the game mod menu?

(1 edit)

So looking closer, that error is when there's no info.txt file in a mod. Tends to appear when you mouse over the mod name in the list.  Mine however has an info.txt file though, so either you have some other mod that's generating that error, or you didn't extract the mod out entirely correctly. If it's some other mod, then you can just ignore the errors, they don't affact applying.  If it's mine, then you've extracted it wrong somehow.

My mod is several files and has to be extracted as a subdirectory of the mods folder.  It's more than that one file.

I tried it with 19c, and the mod doesn't cause the error to appear.

However, I'm not sure the in game effects are happening as intended. Sometimes the game matched girls portraits to their auto gen description, but more often than not it's seemingly random assignment of pictures. (The girl is a futa human teen large tits, but the picture assigned is an elf female adult small tits).

I used the sorting / naming tool pack editor to apply genders, races, and so on to each picture I have in the portraits folder.


\AppData\Roaming\Strive\portraits\Orc\Female\Teen\Purple GreenSkin TitsM AssM [4938b45e].jpg

\AppData\Roaming\Strive\portraits\HalfkinCat\Female\Teen\Black SkinL TitsM AssB preg [c831d780].jpg

\AppData\Roaming\Strive\bodies\Human\Female\Adult\Green SkinL TitsB AssB 2 [3950a0d6].jpg

and so on.

Does that look correct?

Does the "Random Portrait" button appear on the customization panel for slaves? If it does then the mod is applied and should be working correctly. There is some randomness for hair, skin, tits, and ass,  but race should be a hard filter.

Yes, the rand port button is present. Clicking it doesn't apear to do anything that I can tell. (no response).

Clicking the portait button on the custimization page will only show 1 picture.

Also, clicking the ful body image button shows the hundreds of pictures, as I would hope for. Only the port button is oddly empty.

But, when I browse to the file folder in an explorer window, there are hundreds of pictures . In both the port and the body folders.

I did notice that since I only had 1 orc girl picture, she was being used for every orc girl that was generated. But for humans and elves, which I have many of, a lot more randomness was present. Does that sounds right? 

Is there a way to reduce the randomness? Make not only race, but gender and age a 'hard' rule, also?

(1 edit)

Hmm, random portrait should re-roll the portrait. If it does nothing, almost sounds like the game's built-in random portrait functionality is still at work and not the mod. Or something else is going on.  If you edit in the mod's folder and change
var debug = false
var debug = true

then re-run the game, it should output on the console a bunch of data about portraits it found, and when it tries to randomly assign a portrait, what it's assigning and why.

Gender is a hard rule, and Age is a bit fuzzy, it tries to be a hard rule, but if too few results, it relaxes things a bit.  If it's only doing race as a hard rule, that's what the game's default logic does, so sounds like the mod didn't fully apply.  When you applied this to the game, was it a fresh extraction of the new version?

Edit: it's now working

All I did was a clean reinstall and extraction... and Voilà. Working as intended (as far as I can tell).

I feel like all the dumbs.

After I play around with it, I'll post again later with some constructive feedback.

btw; Is it written in python?

Written in gdscript which shares a lot of similarities with python but lacks some rather nice features. Written specifically for the Godot game engine.  Would prefer any further comments be in the mod post, instead of the editor post though.

Okay, so I feel like this would be a bitch to code, but pregnant should really be a tag. And furthermore, the game should be able to detect when girls are preg, and switch them to a preg picture, accordingly.

So this is a Q for the actual editor.

Why do some pictures never show up in the editor browser window? About 10% of all pictures of various file extensions will not show up and be unable to be tagged and sorted. I can't tell any patterns so far.


The .exe is stored in:


Portraits and bodies are:



Which file extensions? Are they in the portraits folder? It currently only supports names that have a portrait with or without a body.  A body without a matching portrait is ignored.

(1 edit)

So the formats are actually all .jpeg (I though there was others but I was mistaken).

I always will find a set of pictures to add, place them in portrait, and then copy all of them and place copies in bodies.

On a separate note: does selected more than one option per category, (like picking multiple tit size check boxes), make that picture be randomly chosen more or less often?

Ahh, editor only recognizes gif, png, and jpg currently. I could add jpeg to that list.  probably something good to add to the config file.

Selecting more than one means it will match more potential slaves.  If it matches, then it's more likely to be selected.  If however the slave has Big Tits, and the file already has Big Tits tag, then adding the Huge Tits tag will have zero effect on how often it'd be chosen in that situation.  If you think something is borderline between two sizes, then pick both.   It's mostly useful for hair/skin though where some are so similar, like Red vs Auburn.

(1 edit)


Oh, and pink hair.

Because I'm a massive weeb.

So, say a slave has big tits. Then say I have exactly three pictures:

  • picture tagged big tits (B),
  • picture tagged med tits (M),
  • and a picture tagged med tits AND big tits (MB).

Will it pick B 100% of the time, or about ... 50% of the time, or 95% or what?  

Will it pick MB  as often as B?

Will it ever pick M?

Pink hair never occurs naturally in the game, which is why there's no official handling of it in the mod or portrait pack editor.  Could be added, but you'd need to dye their hair then click random portrait for it to ever be selected.

If those are the exact 3 portraits available, it'd assign scores of
so it'd pick the first and last equally as often, about 49.75% of the time.  It'd pick the middle one 0.5% of the time.  Assuming those were the only portraits that matched race/age/sex.  If more matched, than it gets more complicated, but basically, if some attribute matches, then it applies a weight that makes that portrait some times more likely to be selected than one that did not, those weights are defined in and can be changed.


I've been selecting red and purple for pink hair. It tends to crowd the red hair slot.

Hello I love your mod it is very useful, i just want to say that there are somethings that would be nice if you could add in such as the flat tag for the 'Tits Size' and 'Ass Size' and the colour pink for the 'Hair Color' and 'Skin Color' and maybe the eyes color but  i dont really know how this works so i dont want to come down offensive. Anyway thanks for the mod again.

TitsS and AssS include small, flat, and masculine.  You could however add your own tags of FlatAss and FlatChest which would match only flat, similar for Masculine.

You can edit the settings.json file and add these yourself, you can copy and paste lines and then modify, for example, adding this to the TitSizes lines:

{ "Name": "Flat", "Regex": "FlatChest", "Tag": "FlatChest"}

Pink hair never naturally occurs in the game, so if you tag something with that, it'll only ever by used by the mod if you: 1. Use hair dye on a character to die their hair pink.  2. Click the random portrait button.

(1 edit)

Thank you for awesome tools, its save a lot of times for us, pic pirates ~yarr <3

Now about bag: If no "race" choiced PPE allow you to press "Apply" then show error. If you then choice race and again press "apply": portrait will be renamed and then moved , without body =_= How about showing warning if no "race" selected or simply move both files to "gender" directory without "race"

Can you separate from hair colors - fur colors? Or can u add tooltip. Ideally will be making "invalid for that race" colors be inactive/grayout. Of cos better to do this as separate option/check box.

Also simple FAQ about what color is normal for what race will be good for common dude who wanna just add some image by self. I dunno about reading parametrs from game files =/

Mb options for create COPY(not moving from original location) will be useful for peopls who wanna to keep their original files.

Thank again for you work! =3

UPD1. found lost picx in root of my disc C in folder Female =D

I should add a check for errors on that and avoid moving, and ideally also have it rollback changes if it moves one, but fails on the other (like if for some reason a file already exists with the target name, or it fails to create a folder, etc.)

Hair and Fur are considered one tag, mainly because a given race can only have one of those, none of them have both a skin and a fur color.

I do like the idea though of marking colors that are never normally picked by the game for selected race(s).  Maybe mark it red if none of the selected races can have that color, yellow if some of them can (in case someone is applying multiple for some reason).

I don't see adding a copy option instead of move.  You can achieve this outside the editor easily by only working on a copy of the files, which honestly I'd recommend anyways.


Lets separate skin and skin coverage: skin template, unless otherwise, is always human, skin coverage has only in nonhuman race, like lamia, arachna, tannuki, etc. and might be as fur, for fox, wolf, cat, tannuki, bunny, scales for dragonkin, arachna, lamia, plant for driad and feathers for harpy. Yes, for more variety of random portrait button selection better to not tag fur color and leave only race+sex+only_hair_color+tits+ass + mb skin color. But for visual matching better to tag fur color, if proper image exist of course(In my opinion at least) "Her skin is a tanned". Or you are meaning random portrait generator? Sorry, i have feeling i didnt understand you =D

Here, look at this displeased kitty who wanna fur back.(now i`m sad, this persian cat remind me about my kitty T_T)

Sounds good =) Game didn`t pick skin color for orc, goblin and dryad bc they always "green", like slime always "jelly"(no matter how many "starch" u put in them =D)

First rule of mod making: Always do backup. Second rule of mod making: Do backup of backup. =D Sometimes save me lot of time. Instead of free space =D

Thx for answering, sorry if i didnt understand u =)

(2 edits)

Hello, after some game moding and tagging images i come to suggestion:

In intimation if girl have naked body pic it used, instead of default, u can see as that work in game uniques, pic need to have same name +' naked' to work. Right now im tag naked pic by hand, but hope u can add check box or 'select naked'. I see it working as adding selected picture to modify with current and be tagged like: "tags+from+main+file naked [hashnumbersfrommainfile].png" 

Im add that tag for some pic in my pack but still didnt testing it. Im report here if it work properly.

HI everyone. Can anyone tell me how to compile the source code after editing? (Sorry for the stupid question)


It's written in C# using WPF.  Youcan possibly build it using msbuild from command line, but I'd recommend downloading Visual Studio.  I believe it should work with the Community edition that is free.

Great, thanks for the info.

Command line works. There's a bit trial and error because the dll path, but other than that it works perfectly.

(1 edit)

Need help, I download the game extracted it with winrar and open the folder and kept dying so changed a folder and now all slaves I meet  and enemies and I have the same Stat so it's literally hit or miss.......

I want change that back and make my own character with her own stats that doesn't increases the stats of enemies and slaves plz help my

I have a problem with the editor. While it shows both portrait and body for all packs I have downloaded, but when I make my own pack it only shows the portrait, even though both portrait and body are named the same. How, if at all, can I fix this?

I haven't used the app, so I don't know exactly what your problem is, but I know the game quite well. I would recommend verifying that the images with the same name, also have the same relative path from the "portraits" and "bodies" folders. For example:



well butter me up and call me sally, I was stupid. You are right, had one file, where I keep my own pics, with a single spelling mistake. Thanks