summaryrefslogtreecommitdiff
path: root/soh/src/code/z_player_lib.c
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2023-06-13 07:46:15 -0500
committerGitHub <noreply@github.com>2023-06-13 08:46:15 -0400
commit7a41bd3878f5da1be202631e32a1e296bf511cc6 (patch)
tree8ff37b6a99efa6b452c7cb2a28b80c17d83e3364 /soh/src/code/z_player_lib.c
parent90d45d4397b638e68d55a56be48f1de097fed806 (diff)
Mirrored world enhancement (#1569)
* Mirrored world PoC * invert culling for health meter and A button action * A few more fixes * Fix for item equip animations * Fix for pause triforce * Mirror scenes with static backgrounds * mirror minimap for mirror world * mirror dungeon maps and icons on the pause menu * mirror overworld map and icons on the pause menu * mirror debug world movement * mirror shops cursor and movement * use flip flag * Reverse crouch stab x axis for mirror mode * use invert culling command and clean up culling logic * Move mirror mode handler to mods and support random modes * Small cvar tweaks * mirror billboard score numbers and fix gyro horse mirrored inputs --------- Co-authored-by: Adam Bird <archez39@me.com>
Diffstat (limited to 'soh/src/code/z_player_lib.c')
-rw-r--r--soh/src/code/z_player_lib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c
index cb856b870..8048a6097 100644
--- a/soh/src/code/z_player_lib.c
+++ b/soh/src/code/z_player_lib.c
@@ -1776,7 +1776,7 @@ void func_80091A24(PlayState* play, void* seg04, void* seg06, SkelAnime* skelAni
Matrix_SetTranslateRotateYXZ(pos->x - ((CVarGetInteger("gPauseLiveLink", 0) && LINK_AGE_IN_YEARS == YEARS_ADULT) ? 25 : 0),
pos->y - (CVarGetInteger("gPauseTriforce", 0) ? 16 : 0), pos->z, rot);
- Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
+ Matrix_Scale(scale * (CVarGetInteger("gMirroredWorld", 0) ? -1 : 1), scale, scale, MTXMODE_APPLY);
gSPSegment(POLY_OPA_DISP++, 0x04, seg04);
gSPSegment(POLY_OPA_DISP++, 0x06, seg06);
@@ -1798,7 +1798,7 @@ void func_80091A24(PlayState* play, void* seg04, void* seg06, SkelAnime* skelAni
Matrix_SetTranslateRotateYXZ(pos->x - (LINK_AGE_IN_YEARS == YEARS_ADULT ? 25 : 0),
pos->y + 280 + (LINK_AGE_IN_YEARS == YEARS_ADULT ? 48 : 0), pos->z, rot);
- Matrix_Scale(scale * 1, scale * 1, scale * 1, MTXMODE_APPLY);
+ Matrix_Scale(scale * (CVarGetInteger("gMirroredWorld", 0) ? -1 : 1), scale * 1, scale * 1, MTXMODE_APPLY);
Gfx* ohNo = POLY_XLU_DISP;
POLY_XLU_DISP = POLY_OPA_DISP;