summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorDragorn421 <Dragorn421@users.noreply.github.com>2025-05-31 09:48:19 +0200
committerGitHub <noreply@github.com>2025-05-31 09:48:19 +0200
commitae0396f83bcae3a43cff03ecd8510161d4991f54 (patch)
tree07bbb407544149c468eff8429ab9e4101403a3f2 /src/code
parent8a95f90b2071d74b3627ec3222d263ef9a367277 (diff)
Fix Link eyes left/right (#2558)
* Fix gLinkAdultEyes Left/Right Tex names * swap PLAYER_EYES_ LEFT/RIGHT and related * comment on gLinkChildEyesLeftTex/Right appearing swapped
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_player_lib.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index d0f04de1c..6e18ae1cc 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -984,12 +984,12 @@ PlayerFaceIndices sPlayerFaces[PLAYER_FACE_MAX] = {
{ PLAYER_EYES_CLOSED, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL_BLINKING_CLOSED_2
// The rest of these faces go unused. Face data encoded within animations handles all other faces.
- { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT
+ { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT
{ PLAYER_EYES_WIDE, PLAYER_MOUTH_HALF }, // PLAYER_FACE_SURPRISED
{ PLAYER_EYES_WINCING, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_HURT
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_GASP
- { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT
- { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT_2
+ { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT
+ { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT_2
{ PLAYER_EYES_CLOSED, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_EYES_CLOSED_MOUTH_OPEN
{ PLAYER_EYES_HALF, PLAYER_MOUTH_HALF }, // PLAYER_FACE_OPENING
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_EYES_AND_MOUTH_OPEN
@@ -1007,8 +1007,8 @@ void* sEyeTextures[PLAYER_EYES_MAX] = {
gLinkAdultEyesOpenTex, // PLAYER_EYES_OPEN
gLinkAdultEyesHalfTex, // PLAYER_EYES_HALF
gLinkAdultEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesRightTex, // PLAYER_EYES_RIGHT
+ gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesWideTex, // PLAYER_EYES_WIDE
gLinkAdultEyesDownTex, // PLAYER_EYES_DOWN
gLinkAdultEyesWincingTex, // PLAYER_EYES_WINCING
@@ -1027,8 +1027,8 @@ void* sEyeTextures[][PLAYER_EYES_MAX] = {
gLinkAdultEyesOpenTex, // PLAYER_EYES_OPEN
gLinkAdultEyesHalfTex, // PLAYER_EYES_HALF
gLinkAdultEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesRightTex, // PLAYER_EYES_RIGHT
+ gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesWideTex, // PLAYER_EYES_WIDE
gLinkAdultEyesDownTex, // PLAYER_EYES_DOWN
gLinkAdultEyesWincingTex, // PLAYER_EYES_WINCING
@@ -1037,8 +1037,14 @@ void* sEyeTextures[][PLAYER_EYES_MAX] = {
gLinkChildEyesOpenTex, // PLAYER_EYES_OPEN
gLinkChildEyesHalfTex, // PLAYER_EYES_HALF
gLinkChildEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkChildEyesLeftTex, // PLAYER_EYES_LEFT
- gLinkChildEyesRightTex, // PLAYER_EYES_RIGHT
+ /*
+ Note `PLAYER_EYES_RIGHT` corresponds to the "left" eyes texture, and vice-versa with the "right" eyes textures.
+ This is because on the textures Link appears to look left/right as if facing outwards the screen,
+ but the image is mirrored by the child Link model's UVs, reversing the direction actually looked in,
+ which results in-game in the correct eyes direction.
+ */
+ gLinkChildEyesLeftTex, // PLAYER_EYES_RIGHT
+ gLinkChildEyesRightTex, // PLAYER_EYES_LEFT
gLinkChildEyesWideTex, // PLAYER_EYES_WIDE
gLinkChildEyesDownTex, // PLAYER_EYES_DOWN
gLinkChildEyesWincingTex, // PLAYER_EYES_WINCING