mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 00:20:16 +00:00
Add nonbinary gender support with pronoun system and server compatibility
Extends gender system beyond WoW's binary male/female to support nonbinary characters with proper they/them pronouns. Implements client-side gender mapping (nonbinary→male) for 3.3.5a server compatibility while preserving player identity through local config persistence. Adds pronoun placeholders ($p/$o/$s/$S) and three-option gender text parsing ($g<male>:<female>:<nonbinary>;) for inclusive quest and dialog text.
This commit is contained in:
parent
28aa88608f
commit
0071c24713
10 changed files with 421 additions and 32 deletions
|
|
@ -143,6 +143,7 @@ bool Minimap::initialize(int size) {
|
|||
uniform float uRotation;
|
||||
uniform float uArrowRotation;
|
||||
uniform float uZoomRadius;
|
||||
uniform bool uSquareShape;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
|
|
@ -168,7 +169,8 @@ bool Minimap::initialize(int size) {
|
|||
void main() {
|
||||
vec2 centered = TexCoord - 0.5;
|
||||
float dist = length(centered);
|
||||
if (dist > 0.5) discard;
|
||||
float maxDist = uSquareShape ? max(abs(centered.x), abs(centered.y)) : dist;
|
||||
if (maxDist > 0.5) discard;
|
||||
|
||||
// Rotate screen coords → composite UV offset
|
||||
// Composite: U increases east, V increases south
|
||||
|
|
@ -186,9 +188,9 @@ bool Minimap::initialize(int size) {
|
|||
vec2 uv = uPlayerUV + offset;
|
||||
vec3 color = texture(uComposite, uv).rgb;
|
||||
|
||||
// Thin dark border at circle edge
|
||||
if (dist > 0.49) {
|
||||
color = mix(color, vec3(0.08), smoothstep(0.49, 0.5, dist));
|
||||
// Thin dark border at edge
|
||||
if (maxDist > 0.49) {
|
||||
color = mix(color, vec3(0.08), smoothstep(0.49, 0.5, maxDist));
|
||||
}
|
||||
|
||||
// Player arrow at center (always points up = forward)
|
||||
|
|
@ -509,6 +511,7 @@ void Minimap::renderQuad(const Camera& playerCamera, const glm::vec3& centerWorl
|
|||
arrowRotation = std::atan2(-fwd.x, fwd.y);
|
||||
}
|
||||
quadShader->setUniform("uArrowRotation", arrowRotation);
|
||||
quadShader->setUniform("uSquareShape", squareShape);
|
||||
|
||||
quadShader->setUniform("uComposite", 0);
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue