Add body type selection for nonbinary characters and reduce preview rotation sensitivity

Nonbinary characters can now choose between masculine and feminine body types in character creation, with real-time preview updates and full appearance customization. Body type preference is saved to character config and persists across sessions. Also reduces character preview drag-to-rotate sensitivity from 0.5 to 0.2 for better control.
This commit is contained in:
Kelsi 2026-02-09 17:56:04 -08:00
parent ebac7eb135
commit 7c28b80135
8 changed files with 50 additions and 11 deletions

View file

@ -93,9 +93,12 @@ const char* getGenderName(Gender gender) {
}
}
std::string getPlayerModelPath(Race race, Gender gender) {
// For nonbinary, default to male model (can be extended later for model selection)
bool useFemale = (gender == Gender::FEMALE);
std::string getPlayerModelPath(Race race, Gender gender, bool useFemaleModel) {
// Female always uses female model
// Nonbinary uses chosen model (useFemaleModel parameter)
// Male always uses male model
bool useFemale = (gender == Gender::FEMALE) ||
(gender == Gender::NONBINARY && useFemaleModel);
switch (race) {
case Race::HUMAN:
@ -143,5 +146,9 @@ std::string getPlayerModelPath(Race race, Gender gender) {
}
}
std::string getPlayerModelPath(const Character& character) {
return getPlayerModelPath(character.race, character.gender, character.useFemaleModel);
}
} // namespace game
} // namespace wowee