1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-16 04:44:44 +00:00

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
This commit is contained in:
Dragorn421 2025-05-31 09:48:19 +02:00 committed by GitHub
parent 8a95f90b20
commit ae0396f83b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 25 additions and 19 deletions

View file

@ -19,14 +19,14 @@ u64 gLinkAdultEyesClosedfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_
#include "assets/objects/object_link_boy/gLinkAdultEyesClosedfTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesLeftTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
u64 gLinkAdultEyesRightTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesRightTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesLeftTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
u64 gLinkAdultEyesWideTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesWideTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};

View file

@ -10,8 +10,8 @@
extern u64 gLinkAdultEyesOpenTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesHalfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesClosedfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesRightTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesWideTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesDownTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesWincingTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];

View file

@ -527,8 +527,8 @@
<Texture Name="gLinkAdultEyesOpenTex" OutName="eyes_open" Format="ci8" Width="64" Height="32" Offset="0x0000" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesHalfTex" OutName="eyes_half" Format="ci8" Width="64" Height="32" Offset="0x0800" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesClosedfTex" OutName="eyes_closed" Format="ci8" Width="64" Height="32" Offset="0x1000" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesLeftTex" OutName="eyes_left" Format="ci8" Width="64" Height="32" Offset="0x1800" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesRightTex" OutName="eyes_right" Format="ci8" Width="64" Height="32" Offset="0x2000" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesRightTex" OutName="eyes_left" Format="ci8" Width="64" Height="32" Offset="0x1800" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesLeftTex" OutName="eyes_right" Format="ci8" Width="64" Height="32" Offset="0x2000" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesWideTex" OutName="eyes_wide" Format="ci8" Width="64" Height="32" Offset="0x2800" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesDownTex" OutName="eyes_down" Format="ci8" Width="64" Height="32" Offset="0x3000" TlutOffset="0x5C00"/>
<Texture Name="gLinkAdultEyesWincingTex" OutName="eyes_wincing" Format="ci8" Width="64" Height="32" Offset="0x3800" TlutOffset="0x5C00"/>

View file

@ -278,8 +278,8 @@ typedef enum PlayerEyes {
/* 0 */ PLAYER_EYES_OPEN,
/* 1 */ PLAYER_EYES_HALF,
/* 2 */ PLAYER_EYES_CLOSED,
/* 3 */ PLAYER_EYES_LEFT,
/* 4 */ PLAYER_EYES_RIGHT,
/* 3 */ PLAYER_EYES_RIGHT,
/* 4 */ PLAYER_EYES_LEFT,
/* 5 */ PLAYER_EYES_WIDE,
/* 6 */ PLAYER_EYES_DOWN,
/* 7 */ PLAYER_EYES_WINCING,
@ -301,12 +301,12 @@ typedef enum PlayerFace {
/* 3 */ PLAYER_FACE_NEUTRAL_2, // same as `PLAYER_FACE_NEUTRAL`
/* 4 */ PLAYER_FACE_NEUTRAL_BLINKING_HALF_2, // same as `PLAYER_FACE_NEUTRAL_BLINKING_HALF`
/* 5 */ PLAYER_FACE_NEUTRAL_BLINKING_CLOSED_2, // same as `PLAYER_FACE_NEUTRAL_BLINKING_CLOSED`
/* 6 */ PLAYER_FACE_LOOK_RIGHT, // eyes looking right and mouth closed
/* 6 */ PLAYER_FACE_LOOK_LEFT, // eyes looking left and mouth closed
/* 7 */ PLAYER_FACE_SURPRISED, // wide eyes and grimacing mouth
/* 8 */ PLAYER_FACE_HURT, // eyes wincing in pain and mouth open
/* 9 */ PLAYER_FACE_GASP, // eyes and mouth open
/* 10 */ PLAYER_FACE_LOOK_LEFT, // eyes looking left and mouth closed
/* 11 */ PLAYER_FACE_LOOK_RIGHT_2, // duplicate of `PLAYER_FACE_LOOK_RIGHT`
/* 10 */ PLAYER_FACE_LOOK_RIGHT, // eyes looking right and mouth closed
/* 11 */ PLAYER_FACE_LOOK_LEFT_2, // duplicate of `PLAYER_FACE_LOOK_LEFT`
/* 12 */ PLAYER_FACE_EYES_CLOSED_MOUTH_OPEN, // eyes closed and mouth open
/* 13 */ PLAYER_FACE_OPENING, // eyes and mouth both halfway open
/* 14 */ PLAYER_FACE_EYES_AND_MOUTH_OPEN, // eyes and mouth open

View file

@ -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