Progress Report 7/22/2022 (Patreon)
Content
- Made all remaining giantess sprites (in prototype form) swap with their respective buttons
- Simplified the process of changing the colors of each different part without having to manually tie signals to each of them.
- Made color toggles (eyes and nails) immediately change the color of their respective parts
- Readjusted the positions of all the color pickers, which had jumbled up at some point
I'll keep this one relatively brief; no gif this time since it would be mostly showing off more of the same.
My hard work from last week paid off this week as I was able to easily apply the same code and connections to all the other body part sprites and give them all three buttons to work with for now.
Next up, I made the colors for heterochromia and individual nails change their respective parts' colors immediately. Before this, you would have to click in the hexadecimal box and hit enter or open the color picker and move the color selection around to update the color -- and you had to do that with each color button. This was a fairly simple but much-needed change. :)
Thirdly, I readjusted the position of the color pickers. Everything got a jarbled up when I made the GTS Menu its own scene and the color buttons returned to their default prefab states. I've since removed that prefab and all the color buttons' connections to it so that it shouldn't be an issue in the future. Hopefully...
Lastly -- and there's a reason I saved this one for last -- I simplified the process of changing colors for each of the giantess's parts. Before I get into the problems, here's why I needed to do this in the first place: with the sprite swap working for each body part, I now had the dilemma of each sprite needing to be colored by the color button, otherwise only the first sprite would have any color to it. The problem lies in the process; I had two options.
Option one would be to manually tie each color button to each body part sprite using signals. A very simple system, but it would mean I'd have to do that every time I create a new sprite. It would be crazy tedious, not to mention it would bulk up the signals of the buttons and be hard to troubleshoot.
Option two was to automate the coloring process and avoid the tedium. The problem was that I couldn't figure out how to get the button to send a signal to all of its assigned sprites. It's not as simple as dragging the objects into the inspector like I did back in Unity (and even if I could, that would be equally tedious as option one).
I spent two days working on this for nearly the entirety of my free time. By the middle of day two, I felt like I was going insane. It wasn't a pretty sight. The worst part was that I couldn't let it go. I tried to force myself to be done for the day, but I couldn't stop thinking about it. I had to keep programming. I had to figure out the solution. I was practically shackled by my own stubbornness with no way out.
But by some miracle, after trying to talk myself out of it for about 15 minutes of pure fury, I went back into programming and did, in fact, figure it out. The solution: I got the parent object that all the sprites were organized under and then got all children of that parent -- but only the children that are sprites. It took some dabbling with finding the children of children in a bizarre loop, not to mention putting objects in categories for body parts, although that didn't give me nearly as many issues.
This menu has become so large and complex with all these signals and buttons and separators and sprites... it's coming to a point where I simply can't wrap my head around it anymore. It's like Sisyphus pushing his boulder up the mountain, except the boulder is made of snow so the boulder just keeps getting bigger and bigger.
Needless to say, I was -- and still am -- incredibly drained. I took the rest of the week fairly lightly and made sure to get more 'me' time over the next few days.
On the positive side of things, the prototype giantess customizer is nearing completion! I still have the accessories to figure out since each one will have its own colors and toggleable state, but other than that it's mostly small features left.
Anyhoo, I'm gonna go lie down in a dark room for a while. I'll cheer myself up with some Taco Bell afterwards. :) I'll see you guys again next week!