I'm not sure if you are still keeping this in mind/bookmarked but, in the meantime, I experimented a bit with layered images - it is not as difficult as I expected. Mind you, I'm not familiar with ren'py and certainly not a developer but I converted two of your scenes and they seem to work well. Here is what I did:It would be easier to make this game 70 years ago, when people didn't know that you can shave your body for some weird FUCKING reason.
@joel69 Thank you. Will keep it in mind. But I'm already losing it.
- In CG.rpy, comment out the lines declaring image intro120, image intro120a, image intro122, and image intro122a and instead
- define layered images for those scenes in the same file as follows:
Python:layeredimage intro120: always "120a" if hairy: "120_hairs" layeredimage intro122: always "122a" if hairy: "122_hairs"
NB2: the indentation may be off in the above example but it should be readable regardless - In patch/patch.rpy, replace the if hairy ... else block for intro120/intro120a with the line
Python:show intro120 with pushright
- and the same for intro122/122a, i.e.
Python:show intro122 with dissolve
- To be sure the variable is initialized when needed, I defined hairy outside any init, i.e. at the beginning of patch/patch.rpy:
Python:define hairy = True
My hope is that this helps you gauge the potential of the layered image approach to shorten your rendering cycle and eliminate some of the headache that multiple options can cause. Maybe it is for you, maybe it isn't.
For your convenience, I have uploaded the files I modified (CG.rpy and patch/patch.rpy) and the images needed to make this work (120_hairs.png and 122_hairs.png). Feel free to reproduce the above results. Note that I implemented a shortcut in patch.rpy, i.e. if you skip the intro you will be propelled right into the hairy selection and then scene intro120.
A final comment: should you decide to switch to layered images you could do that any time you want and, as far as I can tell, without the need to re-do already implemented scenes.