summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraMannus <mannusmenting@gmail.com>2022-10-04 02:50:05 +0200
committerGitHub <noreply@github.com>2022-10-03 20:50:05 -0400
commit06e8a5af419fcd45610f9a260e0c1e6f298c4cd4 (patch)
tree8e2f2a6fd8eb060a3b4b4a211da03c43cb098789
parentf1070a2e74716b3e475fc4e78a7edf3f7dac0aa2 (diff)
Fix navi colors in cosmetics editor (#1684)
* Fix navi colors in cosmetics editor * Fix navi description for props
-rw-r--r--soh/soh/Enhancements/cosmetics/CosmeticsEditor.h4
-rw-r--r--soh/src/code/z_actor.c26
2 files changed, 19 insertions, 11 deletions
diff --git a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.h b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.h
index de650fccc..e3a63ca14 100644
--- a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.h
+++ b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.h
@@ -73,8 +73,8 @@ static CosmeticsColorIndividual Navi_Npc_Inner = { "Navi NPC (Primary)", "Inner
static CosmeticsColorIndividual Navi_Npc_Outer = { "Navi NPC (Secondary)", "Outer color for Navi (when Navi fly around NPCs)", "gNavi_NPC_Outer", navi_npc_o_col, ImVec4(150, 150, 255, 255), false, false, false };
static CosmeticsColorIndividual Navi_Enemy_Inner = { "Navi Enemy (Primary)", "Inner color for Navi (when Navi fly around Enemies or Bosses)", "gNavi_Enemy_Inner", navi_enemy_i_col, ImVec4(255, 255, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Enemy_Outer = { "Navi Enemy (Secondary)", "Outer color for Navi (when Navi fly around Enemies or Bosses)", "gNavi_Enemy_Outer", navi_enemy_o_col, ImVec4(220, 155, 0, 255), false, false, false };
-static CosmeticsColorIndividual Navi_Prop_Inner = { "Navi Enemy (Primary)", "Inner color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Inner", navi_prop_i_col, ImVec4(0, 255, 0, 255), false, false, false };
-static CosmeticsColorIndividual Navi_Prop_Outer = { "Navi Enemy (Secondary)", "Outer color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Outer", navi_prop_o_col, ImVec4(0, 255, 0, 255), false, false, false };
+static CosmeticsColorIndividual Navi_Prop_Inner = { "Navi Props (Primary)", "Inner color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Inner", navi_prop_i_col, ImVec4(0, 255, 0, 255), false, false, false };
+static CosmeticsColorIndividual Navi_Prop_Outer = { "Navi Props (Secondary)", "Outer color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Outer", navi_prop_o_col, ImVec4(0, 255, 0, 255), false, false, false };
//Keese
static CosmeticsColorIndividual Keese1_prim = { "Fire Primary color", "Affects the primary color of the Fire itself of the Keese", "gKeese1_Ef_Prim", Keese1_primcol, ImVec4(255, 255, 100, 255), true, false, false };
diff --git a/soh/src/code/z_actor.c b/soh/src/code/z_actor.c
index 1c87ed859..d3dbf9216 100644
--- a/soh/src/code/z_actor.c
+++ b/soh/src/code/z_actor.c
@@ -335,8 +335,10 @@ void func_8002BE98(TargetContext* targetCtx, s32 actorCategory, GlobalContext* g
void func_8002BF60(TargetContext* targetCtx, Actor* actor, s32 actorCategory, GlobalContext* globalCtx) {
NaviColor* naviColor = &sNaviColorList[actorCategory];
+ Color_RGB8 customInnerNaviColor;
+ Color_RGB8 customOuterNaviColor;
- if (CVar_GetS32("gUseNaviCol",0) != 1 ) {
+ if (!CVar_GetS32("gUseNaviCol",0)) {
if (actorCategory == ACTORCAT_PLAYER) {
naviColor->inner.r = 255; naviColor->inner.g = 255; naviColor->inner.b = 255;
naviColor->outer.r = 0; naviColor->outer.g = 0; naviColor->outer.b = 255;
@@ -355,21 +357,27 @@ void func_8002BF60(TargetContext* targetCtx, Actor* actor, s32 actorCategory, Gl
}
} else {
if (actorCategory == ACTORCAT_PLAYER) {
- naviColor->inner = CVar_GetRGBA("gNavi_Idle_Inner", naviColor->inner);
- naviColor->outer = CVar_GetRGBA("gNavi_Idle_Outer", naviColor->outer);
+ customInnerNaviColor = CVar_GetRGB("gNavi_Idle_Inner", (Color_RGB8){ 0, 0, 0 });
+ customOuterNaviColor = CVar_GetRGB("gNavi_Idle_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_NPC) {
- naviColor->inner = CVar_GetRGBA("gNavi_NPC_Inner", naviColor->inner);
- naviColor->outer = CVar_GetRGBA("gNavi_NPC_Outer", naviColor->outer);
+ customInnerNaviColor = CVar_GetRGB("gNavi_NPC_Inner", (Color_RGB8){ 0, 0, 0 });
+ customOuterNaviColor = CVar_GetRGB("gNavi_NPC_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_BOSS || actorCategory == ACTORCAT_ENEMY) {
- naviColor->inner = CVar_GetRGBA("gNavi_Enemy_Inner", naviColor->inner);
- naviColor->outer = CVar_GetRGBA("gNavi_Enemy_Outer", naviColor->outer);
+ customInnerNaviColor = CVar_GetRGB("gNavi_Enemy_Inner", (Color_RGB8){ 0, 0, 0 });
+ customOuterNaviColor = CVar_GetRGB("gNavi_Enemy_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_PROP) {
- naviColor->inner = CVar_GetRGBA("gNavi_Prop_Inner", naviColor->inner);
- naviColor->outer = CVar_GetRGBA("gNavi_Prop_Outer", naviColor->outer);
+ customInnerNaviColor = CVar_GetRGB("gNavi_Prop_Inner", (Color_RGB8){ 0, 0, 0 });
+ customOuterNaviColor = CVar_GetRGB("gNavi_Prop_Outer", (Color_RGB8){ 0, 0, 0 });
}
+ naviColor->inner.r = customInnerNaviColor.r;
+ naviColor->inner.g = customInnerNaviColor.g;
+ naviColor->inner.b = customInnerNaviColor.b;
+ naviColor->outer.r = customOuterNaviColor.r;
+ naviColor->outer.g = customOuterNaviColor.g;
+ naviColor->outer.b = customOuterNaviColor.b;
}
targetCtx->naviRefPos.x = actor->focus.pos.x;