1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-08 09:31:52 +00:00

sPlayerFaces as array of structs instead of 2d array (#2559)

This commit is contained in:
Derek Hensley 2025-05-29 06:17:38 -07:00 committed by GitHub
parent d62bf87542
commit 8a95f90b20
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 8 deletions

View file

@ -269,11 +269,10 @@ typedef enum PlayerDoorType {
/* 3 */ PLAYER_DOORTYPE_FAKE /* 3 */ PLAYER_DOORTYPE_FAKE
} PlayerDoorType; } PlayerDoorType;
typedef enum PlayerFacePart { typedef struct PlayerFaceIndices {
/* 0 */ PLAYER_FACEPART_EYES, /* 0x0 */ u8 eyeIndex;
/* 1 */ PLAYER_FACEPART_MOUTH, /* 0x1 */ u8 mouthIndex;
/* 2 */ PLAYER_FACEPART_MAX } PlayerFaceIndices; // size = 0x2
} PlayerFacePart;
typedef enum PlayerEyes { typedef enum PlayerEyes {
/* 0 */ PLAYER_EYES_OPEN, /* 0 */ PLAYER_EYES_OPEN,

View file

@ -970,7 +970,7 @@ s32 Player_GetEnvironmentalHazard(PlayState* play) {
return envHazard + 1; return envHazard + 1;
} }
u8 sPlayerFaces[PLAYER_FACE_MAX][PLAYER_FACEPART_MAX] = { PlayerFaceIndices sPlayerFaces[PLAYER_FACE_MAX] = {
// The first 6 faces defined must be default blinking faces. See relevant code in `Player_UpdateCommon`. // The first 6 faces defined must be default blinking faces. See relevant code in `Player_UpdateCommon`.
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL { PLAYER_EYES_OPEN, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL
{ PLAYER_EYES_HALF, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL_BLINKING_HALF { PLAYER_EYES_HALF, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL_BLINKING_HALF
@ -1093,7 +1093,7 @@ void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dL
// If the eyes index provided by the animation is negative, use the value provided by the `face` argument instead // If the eyes index provided by the animation is negative, use the value provided by the `face` argument instead
if (eyesIndex < 0) { if (eyesIndex < 0) {
eyesIndex = sPlayerFaces[face][PLAYER_FACEPART_EYES]; eyesIndex = sPlayerFaces[face].eyeIndex;
} }
#ifndef AVOID_UB #ifndef AVOID_UB
@ -1104,7 +1104,7 @@ void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dL
// If the mouth index provided by the animation is negative, use the value provided by the `face` argument instead // If the mouth index provided by the animation is negative, use the value provided by the `face` argument instead
if (mouthIndex < 0) { if (mouthIndex < 0) {
mouthIndex = sPlayerFaces[face][PLAYER_FACEPART_MOUTH]; mouthIndex = sPlayerFaces[face].mouthIndex;
} }
#ifndef AVOID_UB #ifndef AVOID_UB