mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 00:49:19 +02:00
Enabling GLM_FORCE_DEFAULT_ALIGNED_GENTYPES makes glm::vec3 16 bytes (padded), but the listener orientation was passed to alListenerfv as reinterpret_cast<ALfloat const *>(glm::vec3[2]). With the padding the six floats OpenAL reads are at.x, at.y, at.z, PAD, up.x, up.y - the 'up' vector is taken from padding garbage, corrupting the listener basis (right = at x up) and swapping left/right of every positional sound. Build the 6 floats explicitly instead of reinterpreting a padded vec3 array.