UPDATE: Wardrobe Menu

Last time I showed off a sample of the new wardrobe menu I’ve been working on. This is a part of the new “optional menus” initiative I’ve been wanting to do forever in order to help reduce the amount of clicking and selecting you need to do while playing the game. For my backers, I’ve got an additional post that touches on some of what I’m working on for that.

I honestly thought just building the GUI for the wardrobe menu was going to be the hard part, but making it work has been headache-inducing.

A part of this is due to the clean-up I need to do, as mentioned in the last update. I’m working on some of that as well, currently focusing on the code that handles getting dressed and ready in the morning, as this is where the code for this menu needs to be called. The whole thing really is a confusing mess that I haven’t touched in a long time, and it seems like each time I discover an issue, I end up pulling on a thread that ties into way more things than I wanted to tackle at once.

General idea here: The beginning of the game plays out as normal, with the player first getting introduced to the perfume through the existing menu, followed later on by the sunscreen menu, likely on the first day off.

(This leads to my first tangent: The scene for selecting swimwear is designed for the first day where the player character needs to work in one. This needs to be edited/redone if they want to wear a swimsuit on their day off.)

After being introduced to these individually, the game will switch over to the wardrobe menu, where you can select perfume, sunscreen, swimwear and casual wear all on one screen. Best of all, you can lock in your choices, so the menu won’t appear again until you unlock it (with a button that appears whenever you’re back in your room).

Challenges this introduces:

1) Figuring out how to handle turning off the perfume and sunscreen menus, and what problems this may have. These are called in a number of different places, depending on whether the PC is handling their morning preparations alone, or have help from Cynthia.

2) Transferring the player choices to the wardrobe menu. The way the menu works is that all of the options are in a double-ended queue which can be cycled through either forward or backward. The item in slot 0 is the selected one. So, the first time this menu is called, I need to cycle through it to make sure the player’s last selection is in slot 0.

3) Handling available options. So far, this really just applies to swimwear. The player can have two to three options, depending on choices made prior to this menu appearing. Additionally, some of these options can be taken away by game events (outgrowing the suit). So, I need to track down these game events and add code that will modify the content of the queue.

4) Applying the choices of the menu. This is like #2...except in reverse. The GUI is a pretty way to select something, but if the selected items in the menu don’t actually transfer to the variables that track them in the game, then it does nothing. I need to write some code to handle checking for changes in selections.

5) Calling the menu. As this is now an optional menu, there needs to be a point it time where it will actually open if the player has selected it. This is easiest in the morning, but, as the menu will be available for activation any time the player is in their room, this means I need to be able to have it activate at other times as well. Right now, for free events, it looks like that will probably be handled after the player has selected the activity they want to do.

Additionally, tying into #4 above, I’d like to add some new code that plays scenes when the player switches their selections, so you’ll actually see the PC in the new swimsuit, etc. In fact, some of this is going to be necessary for certain later events I have planned.