mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-01-30 23:10:14 -05:00
Cosmetics Editor tweaks (#4904)
* Cosmetics Editor Tweaks * More work on keys
This commit is contained in:
parent
3357543538
commit
2a172de52a
@ -32,7 +32,6 @@ extern "C" {
|
||||
#include "objects/object_st/object_st.h"
|
||||
#include "objects/object_gi_boomerang/object_gi_boomerang.h"
|
||||
#include "objects/object_gi_liquid/object_gi_liquid.h"
|
||||
#include "objects/object_gi_bow/object_gi_bow.h"
|
||||
#include "objects/object_gi_hearts/object_gi_hearts.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "objects/object_gi_sword_1/object_gi_sword_1.h"
|
||||
@ -47,9 +46,8 @@ extern "C" {
|
||||
#include "objects/object_gjyo_objects/object_gjyo_objects.h"
|
||||
#include "textures/nintendo_rogo_static/nintendo_rogo_static.h"
|
||||
#include "objects/object_gi_rabit_mask/object_gi_rabit_mask.h"
|
||||
#include "overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.h"
|
||||
#include "overlays/ovl_Magic_Wind/ovl_Magic_Wind.h"
|
||||
#include "textures/nintendo_rogo_static/nintendo_rogo_static.h"
|
||||
|
||||
extern PlayState* gPlayState;
|
||||
void ResourceMgr_PatchGfxByName(const char* path, const char* patchName, int index, Gfx instruction);
|
||||
void ResourceMgr_PatchGfxCopyCommandByName(const char* path, const char* patchName, int destinationIndex, int sourceIndex);
|
||||
@ -74,7 +72,9 @@ std::map<CosmeticGroup, const char*> groupLabels = {
|
||||
{ COSMETICS_GROUP_SWORDS, "Swords" },
|
||||
{ COSMETICS_GROUP_GLOVES, "Gloves" },
|
||||
{ COSMETICS_GROUP_EQUIPMENT, "Equipment" },
|
||||
{ COSMETICS_GROUP_KEY, "Keys" },
|
||||
{ COSMETICS_GROUP_KEYRING, "Keyring" },
|
||||
{ COSMETICS_GROUP_SMALL_KEYS, "Small Keys" },
|
||||
{ COSMETICS_GROUP_BOSS_KEYS, "Boss Keys" },
|
||||
{ COSMETICS_GROUP_CONSUMABLE, "Consumables" },
|
||||
{ COSMETICS_GROUP_HUD, "HUD" },
|
||||
{ COSMETICS_GROUP_KALEIDO, "Pause Menu" },
|
||||
@ -253,34 +253,41 @@ static std::map<std::string, CosmeticOption> cosmeticOptions = {
|
||||
COSMETIC_OPTION("Consumable.GoldRupee", "Gold Rupee", COSMETICS_GROUP_CONSUMABLE, ColorRGBA8(255, 190, 55, 255), false, true, true),
|
||||
COSMETIC_OPTION("Consumable.SilverRupee", "Silver Rupee", COSMETICS_GROUP_CONSUMABLE, ColorRGBA8(255, 255, 255, 255), false, true, true),
|
||||
|
||||
COSMETIC_OPTION("Key.KeyringRing", "Key Ring Ring", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestSmallBase", "Forest Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestEmblem", "Forest Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.ForestBossBase", "Forest Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireSmallBase", "Fire Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireEmblem", "Fire Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.FireBossBase", "Fire Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterSmallBase", "Water Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterEmblem", "Water Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.WaterBossBase", "Water Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritSmallBase", "Spirit Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritEmblem", "Spirit Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.SpiritBossBase", "Spirit Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowSmallBase", "Shadow Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowEmblem", "Shadow Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.ShadowBossBase", "Shadow Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WellSmallBase", "Well Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WellEmblem", "Well Key Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.FortSmallBase", "Fortress Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FortEmblem", "Fortress Key Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.GTGSmallBase", "GTG Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GTGEmblem", "GTG Key Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.GanonsSmallBase", "Ganon's Small Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GanonsEmblem", "Ganon's Key Gem/Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.GanonsBossBase", "Ganon's Boss Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
//COSMETIC_OPTION("Key.ChestGameSmallBase", "Chest Game Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
//COSMETIC_OPTION("Key.ChestGameEmblem", "Chest Game Key Emblem", COSMETICS_GROUP_KEY, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.Skeleton", "Skeleton Key", COSMETICS_GROUP_KEY, ColorRGBA8(255, 255, 170, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.KeyringRing", "Key Ring Ring", COSMETICS_GROUP_KEYRING, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestSmallBody", "Forest Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestSmallEmblem", "Forest Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(4, 195, 46, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestBossBody", "Forest Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ForestBossGem", "Forest Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireSmallBody", "Fire Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireSmallEmblem", "Fire Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(237, 95, 95, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireBossBody", "Fire Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FireBossGem", "Fire Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterSmallBody", "Water Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterSmallEmblem", "Water Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(85, 180, 223, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterBossBody", "Water Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WaterBossGem", "Water Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritSmallBody", "Spirit Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritSmallEmblem", "Spirit Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(222, 158, 47, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritBossBody", "Spirit Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.SpiritBossGem", "Spirit Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowSmallBody", "Shadow Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowSmallEmblem", "Shadow Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(126, 16, 177, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowBossBody", "Shadow Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.ShadowBossGem", "Shadow Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GanonsSmallBody", "Ganons Small Key Body", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GanonsSmallEmblem", "Ganons Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(80, 80, 80, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GanonsBossBody", "Ganons Boss Key Body", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 255, 0, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GanonsBossGem", "Ganons Boss Key Gem", COSMETICS_GROUP_BOSS_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, false),
|
||||
|
||||
COSMETIC_OPTION("Key.WellSmallBody", "Well Small Key", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.WellSmallEmblem", "Well Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(227, 110, 255, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.FortSmallBody", "Fortress Small Key", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.FortSmallEmblem", "Fortress Small Key Emblem",COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.GTGSmallBody", "GTG Small Key", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("Key.GTGSmallEmblem", "GTG Small Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(221, 212, 60, 255), false, true, true),
|
||||
//COSMETIC_OPTION("Key.ChestGameSmallBody", "Chest Game Key", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 255, 255), false, true, false),
|
||||
//COSMETIC_OPTION("Key.ChestGameEmblem", "Chest Game Key Emblem", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 0, 0, 255), false, true, true),
|
||||
COSMETIC_OPTION("Key.Skeleton", "Skeleton Key", COSMETICS_GROUP_SMALL_KEYS, ColorRGBA8(255, 255, 170, 255), false, true, false),
|
||||
|
||||
COSMETIC_OPTION("HUD.AButton", "A Button", COSMETICS_GROUP_HUD, ColorRGBA8( 90, 90, 255, 255), false, true, false),
|
||||
COSMETIC_OPTION("HUD.BButton", "B Button", COSMETICS_GROUP_HUD, ColorRGBA8( 0, 150, 0, 255), false, true, false),
|
||||
@ -1475,10 +1482,16 @@ void Reset_Option_Double(const char* Button_Title, const char* name) {
|
||||
|
||||
void DrawSillyTab() {
|
||||
ImGui::BeginDisabled(CVarGetInteger(CVAR_SETTING("DisableChanges"), 0));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (UIWidgets::EnhancementCheckbox("Let It Snow", CVAR_GENERAL("LetItSnow"))) {
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
}
|
||||
UIWidgets::Tooltip("Makes snow fall, changes chest texture colors to red and green, etc, for December holidays.\nWill reset on restart outside of December 23-25.");
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (UIWidgets::EnhancementSliderFloat("Link Body Scale: %.3fx", "##Link_BodyScale", CVAR_COSMETIC("Link.BodyScale.Value"), 0.001f, 0.025f, "", 0.01f, true)) {
|
||||
CVarSetInteger(CVAR_COSMETIC("Link.BodyScale.Changed"), 1);
|
||||
}
|
||||
@ -1494,31 +1507,64 @@ void DrawSillyTab() {
|
||||
player->actor.scale.z = 0.01f;
|
||||
}
|
||||
}
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (UIWidgets::EnhancementSliderFloat("Link Head Scale: %.2fx", "##Link_HeadScale", CVAR_COSMETIC("Link.HeadScale.Value"), 0.4f, 4.0f, "", 1.0f, false)) {
|
||||
CVarSetInteger(CVAR_COSMETIC("Link.HeadScale.Changed"), 1);
|
||||
}
|
||||
Reset_Option_Double("Reset##Link_HeadScale", CVAR_COSMETIC("Link.HeadScale"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (UIWidgets::EnhancementSliderFloat("Link Sword Scale: %f", "##Link_SwordScale", CVAR_COSMETIC("Link.SwordScale.Value"), 1.0f, 2.5f, "", 1.0f, false)) {
|
||||
CVarSetInteger(CVAR_COSMETIC("Link.SwordScale.Changed"), 1);
|
||||
}
|
||||
Reset_Option_Double("Reset##Link_SwordScale", CVAR_COSMETIC("Link.SwordScale"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("Bunny Hood Length: %f", "##BunnyHood_EarLength", CVAR_COSMETIC("BunnyHood.EarLength"), -300.0f, 1000.0f, "", 0.0f, false);
|
||||
Reset_Option_Single("Reset##BunnyHood_EarLength", CVAR_COSMETIC("BunnyHood.EarLength"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("Bunny Hood Spread: %f", "##BunnyHood_EarSpread", CVAR_COSMETIC("BunnyHood.EarSpread"), -300.0f, 500.0f, "", 0.0f, false);
|
||||
Reset_Option_Single("Reset##BunnyHood_EarSpread", CVAR_COSMETIC("BunnyHood.EarSpread"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("Goron Neck Length: %f", "##Goron_NeckLength", CVAR_COSMETIC("Goron.NeckLength"), 0.0f, 5000.0f, "", 0.0f, false);
|
||||
Reset_Option_Single("Reset##Goron_NeckLength", CVAR_COSMETIC("Goron.NeckLength"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementCheckbox("Unfix Goron Spin", CVAR_COSMETIC("UnfixGoronSpin"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("Fairies Size: %f", "##Fairies_Size", CVAR_COSMETIC("Fairies.Size"), 0.25f, 5.0f, "", 1.0f, false);
|
||||
Reset_Option_Single("Reset##Fairies_Size", CVAR_COSMETIC("Fairies.Size"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("N64 Logo Spin Speed: %f", "##N64Logo_SpinSpeed", CVAR_COSMETIC("N64Logo.SpinSpeed"), 0.25f, 5.0f, "", 1.0f, false);
|
||||
Reset_Option_Single("Reset##N64Logo_SpinSpeed", CVAR_COSMETIC("N64Logo.SpinSpeed"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
UIWidgets::EnhancementSliderFloat("Moon Size: %f", "##Moon_Size", CVAR_COSMETIC("Moon.Size"), 0.5f, 2.0f, "", 1.0f, false);
|
||||
Reset_Option_Single("Reset##Moon_Size", CVAR_COSMETIC("Moon.Size"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (UIWidgets::EnhancementSliderFloat("Kak Windmill Speed: %f", "##Kak_Windmill_Speed", CVAR_COSMETIC("Kak.Windmill_Speed.Value"), 100.0f, 6000.0f, "", 100.0f, false)) {
|
||||
CVarSetInteger(CVAR_COSMETIC("Kak.Windmill_Speed.Changed"), 1);
|
||||
}
|
||||
Reset_Option_Double("Reset##Kak_Windmill_Speed", CVAR_COSMETIC("Kak.Windmill_Speed"));
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
ImGui::EndDisabled();
|
||||
}
|
||||
|
||||
@ -1748,6 +1794,7 @@ void DrawCosmeticGroup(CosmeticGroup cosmeticGroup) {
|
||||
DrawCosmeticRow(cosmeticOption);
|
||||
}
|
||||
}
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
}
|
||||
|
||||
static const char* colorSchemes[2] = {
|
||||
@ -1755,92 +1802,95 @@ static const char* colorSchemes[2] = {
|
||||
"Gamecube",
|
||||
};
|
||||
|
||||
void CosmeticsEditorWindow::ApplyDungeonEmblemColors(){
|
||||
CVarSetColor(cosmeticOptions["Key.ForestEmblem"].cvar, {0, 255, 0, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.ForestEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ForestEmblem"].currentColor = {0, 255/255.0f, 0, 255/255.0f};
|
||||
void CosmeticsEditorWindow::ApplyDungeonKeyColors() {
|
||||
// Keyring
|
||||
ResetColor(cosmeticOptions.at("Key.KeyringRing"));
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.FireEmblem"].cvar, {255, 30, 0, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.FireEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FireEmblem"].currentColor = {255/255.0f, 30/255.0f, 0, 255/255.0f};
|
||||
// Forest Temple
|
||||
CVarSetColor(cosmeticOptions["Key.ForestSmallBody"].cvar, { 4, 195, 46, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.ForestSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ForestSmallBody"].currentColor = { 4 / 255.0f, 195 / 255.0f, 46 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.ForestSmallEmblem"));
|
||||
|
||||
ResetColor(cosmeticOptions.at("Key.ForestBossBody"));
|
||||
CVarSetColor(cosmeticOptions["Key.ForestBossGem"].cvar, { 0, 255, 0, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.ForestBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ForestBossGem"].currentColor = { 0, 255 / 255.0f, 0, 255 / 255.0f };
|
||||
|
||||
// Fire Temple
|
||||
CVarSetColor(cosmeticOptions["Key.FireSmallBody"].cvar, { 237, 95, 95, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.FireSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FireSmallBody"].currentColor = { 237 / 255.0f, 95 / 255.0f, 95 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.FireSmallEmblem"));
|
||||
|
||||
ResetColor(cosmeticOptions.at("Key.FireBossBody"));
|
||||
CVarSetColor(cosmeticOptions["Key.FireBossGem"].cvar, { 255, 30, 0, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.FireBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FireBossGem"].currentColor = { 255 / 255.0f, 30 / 255.0f, 0, 255 / 255.0f };
|
||||
|
||||
// Water Temple
|
||||
CVarSetColor(cosmeticOptions["Key.WaterSmallBody"].cvar, { 85, 180, 223, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.WaterSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WaterSmallBody"].currentColor = { 85 / 255.0f, 180 / 255.0f, 223 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.WaterSmallEmblem"));
|
||||
|
||||
ResetColor(cosmeticOptions.at("Key.WaterBossBody"));
|
||||
CVarSetColor(cosmeticOptions["Key.WaterBossGem"].cvar, { 0, 137, 255, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.WaterBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WaterBossGem"].currentColor = { 0, 137 / 255.0f, 255 / 255.0f, 255 / 255.0f };
|
||||
|
||||
// Spirit Temple
|
||||
CVarSetColor(cosmeticOptions["Key.SpiritSmallBody"].cvar, { 222, 158, 47, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.SpiritSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.SpiritSmallBody"].currentColor = { 222 / 255.0f, 158 / 255.0f, 47 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.SpiritSmallEmblem"));
|
||||
|
||||
ResetColor(cosmeticOptions.at("Key.SpiritBossBody"));
|
||||
CVarSetColor(cosmeticOptions["Key.SpiritBossGem"].cvar, { 255, 85, 0, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.SpiritBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.SpiritBossGem"].currentColor = { 255 / 255.0f, 85 / 255.0f, 0, 255 / 255.0f };
|
||||
|
||||
// Shadow Temple
|
||||
CVarSetColor(cosmeticOptions["Key.ShadowSmallBody"].cvar, { 126, 16, 177, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.ShadowSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ShadowSmallBody"].currentColor = { 126 / 255.0f, 16 / 255.0f, 177 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.ShadowSmallEmblem"));
|
||||
|
||||
ResetColor(cosmeticOptions.at("Key.ShadowBossBody"));
|
||||
CVarSetColor(cosmeticOptions["Key.ShadowBossGem"].cvar, { 153, 0, 255, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.ShadowBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ShadowBossGem"].currentColor = { 153 / 255.0f, 0, 255 / 255.0f, 255 / 255.0f };
|
||||
|
||||
// Ganon's Tower
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsSmallBody"].cvar, { 80, 80, 80, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsSmallBody"].currentColor = { 80 / 255.0f, 80 / 255.0f, 80 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.GanonsSmallEmblem"));
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsBossBody"].cvar, { 80, 80, 80, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsBossBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsBossBody"].currentColor = { 80 / 255.0f, 80 / 255.0f, 80 / 255.0f, 255 / 255.0f };
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsBossGem"].cvar, { 255, 0, 0, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsBossGem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsBossGem"].currentColor = { 255 / 255.0f, 0, 0, 255 / 255.0f };
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.WaterEmblem"].cvar, {0, 137, 255, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.WaterEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WaterEmblem"].currentColor = {0, 137/255.0f, 255/255.0f, 255/255.0f};
|
||||
// Bottom of the Well
|
||||
CVarSetColor(cosmeticOptions["Key.WellSmallBody"].cvar, { 227, 110, 255, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.WellSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WellSmallBody"].currentColor = { 227 / 255.0f, 110 / 255.0f, 255 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.WellSmallEmblem"));
|
||||
|
||||
// Gerudo Training Ground
|
||||
CVarSetColor(cosmeticOptions["Key.GTGSmallBody"].cvar, { 221, 212, 60, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.GTGSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GTGSmallBody"].currentColor = { 221 / 255.0f, 212 / 255.0f, 60 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.GTGSmallEmblem"));
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.SpiritEmblem"].cvar, {255, 85, 0, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.SpiritEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.SpiritEmblem"].currentColor = {255/255.0f, 85/255.0f, 0, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.ShadowEmblem"].cvar, {153, 0, 255, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.ShadowEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ShadowEmblem"].currentColor = {153/255.0f, 0, 255/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.WellEmblem"].cvar, { 255, 0, 188, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.WellEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WellEmblem"].currentColor = {255/255.0f, 0, 188/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GTGEmblem"].cvar, {255, 255, 0, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.GTGEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GTGEmblem"].currentColor = {255/255.0f, 255/255.0f, 0, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.FortEmblem"].cvar, {255, 255, 203, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.FortEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FortEmblem"].currentColor = { 255/255.0f, 255/255.0f, 203/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsEmblem"].cvar, {255, 0, 0, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsEmblem"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsEmblem"].currentColor = {255/255.0f, 0, 0, 255/255.0f};
|
||||
|
||||
//CVarSetColor(cosmeticOptions["Key.ChestGameEmblem"].cvar, {255, 255, 0, 255});
|
||||
//CVarSetInteger(cosmeticOptions["Key.ChestGameEmblem"].changedCvar, 1);
|
||||
//cosmeticOptions["Key.ChestGameEmblem"].currentColor = {255/255.0f, 255/255.0f, 0, 255/255.0f};
|
||||
}
|
||||
|
||||
void CosmeticsEditorWindow::ApplyDungeonBaseColors(){
|
||||
CVarSetColor(cosmeticOptions["Key.ForestSmallBase"].cvar, {4, 195, 46, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.ForestSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ForestSmallBase"].currentColor = {4/255.0f, 195/255.0f, 46/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.FireSmallBase"].cvar, {237, 95, 95, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.FireSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FireSmallBase"].currentColor = {237/255.0f, 95/255.0f, 95/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.WaterSmallBase"].cvar, {85, 180, 223, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.WaterSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WaterSmallBase"].currentColor = {85/255.0f, 180/255.0f, 223/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.SpiritSmallBase"].cvar, {222, 158, 47, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.SpiritSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.SpiritSmallBase"].currentColor = {222/255.0f, 158/255.0f, 47/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.ShadowSmallBase"].cvar, {126, 16, 177, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.ShadowSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.ShadowSmallBase"].currentColor = {126/255.0f, 16/255.0f, 177/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.WellSmallBase"].cvar, {227, 110, 255, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.WellSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.WellSmallBase"].currentColor = {227/255.0f, 110/255.0f, 255/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GTGSmallBase"].cvar, {221, 212, 60, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.GTGSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GTGSmallBase"].currentColor = {221/255.0f, 212/255.0f, 60/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.FortSmallBase"].cvar, {255, 255, 255, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.FortSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FortSmallBase"].currentColor = {255/255.0f, 255/255.0f, 255/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsSmallBase"].cvar, {80, 80, 80, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsSmallBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsSmallBase"].currentColor = {80/255.0f, 80/255.0f, 80/255.0f, 255/255.0f};
|
||||
|
||||
CVarSetColor(cosmeticOptions["Key.GanonsBossBase"].cvar, {80, 80, 80, 255});
|
||||
CVarSetInteger(cosmeticOptions["Key.GanonsBossBase"].changedCvar, 1);
|
||||
cosmeticOptions["Key.GanonsBossBase"].currentColor = {80/255.0f, 80/255.0f, 80/255.0f, 255/255.0f};
|
||||
|
||||
//CVarSetColor(cosmeticOptions["Key.ChestGameSmallBase"].cvar, {255, 255, 0, 255});
|
||||
//CVarSetInteger(cosmeticOptions["Key.ChestGameSmallBase"].changedCvar, 1);
|
||||
//cosmeticOptions["Key.ChestGameSmallBase"].currentColor = {255/255.0f, 255/255.0f, 0, 255/255.0f};
|
||||
// Gerudo Fortress
|
||||
CVarSetColor(cosmeticOptions["Key.FortSmallBody"].cvar, { 255, 255, 255, 255 });
|
||||
CVarSetInteger(cosmeticOptions["Key.FortSmallBody"].changedCvar, 1);
|
||||
cosmeticOptions["Key.FortSmallBody"].currentColor = { 255 / 255.0f, 255 / 255.0f, 255 / 255.0f, 255 / 255.0f };
|
||||
ResetColor(cosmeticOptions.at("Key.FortSmallEmblem"));
|
||||
}
|
||||
|
||||
void CosmeticsEditorWindow::DrawElement() {
|
||||
@ -1853,15 +1903,6 @@ void CosmeticsEditorWindow::DrawElement() {
|
||||
"For example, if you have custom Link model, then the Link's Hair color option will most likely not apply."
|
||||
);
|
||||
|
||||
if (ImGui::Button("Apply Dungeon Gem/Emblem Colors", ImVec2(ImGui::GetContentRegionAvail().x / 2, 30.0f))) {
|
||||
ApplyDungeonEmblemColors();
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("Apply Dungeon Base Colors", ImVec2(ImGui::GetContentRegionAvail().x, 30.0f))) {
|
||||
ApplyDungeonBaseColors();
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
}
|
||||
if (CVarGetInteger(CVAR_COSMETIC("AdvancedMode"), 0)) {
|
||||
if (ImGui::Button("Lock All Advanced", ImVec2(ImGui::GetContentRegionAvail().x / 2, 30.0f))) {
|
||||
for (auto& [id, cosmeticOption] : cosmeticOptions) {
|
||||
@ -1950,16 +1991,40 @@ void CosmeticsEditorWindow::DrawElement() {
|
||||
|
||||
if (ImGui::BeginTabBar("CosmeticsContextTabBar", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) {
|
||||
if (ImGui::BeginTabItem("Link & Items")) {
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_LINK);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_GLOVES);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_MIRRORSHIELD);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_EQUIPMENT);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_SWORDS);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_KEY);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_CONSUMABLE);
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
|
||||
if (ImGui::BeginTabItem("Keys")) {
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
if (ImGui::Button("Give all keys dungeon-specific colors", ImVec2(300.0f, 30.0f))) {
|
||||
ApplyDungeonKeyColors();
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
}
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_KEYRING);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_SMALL_KEYS);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_BOSS_KEYS);
|
||||
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
|
||||
if (ImGui::BeginTabItem("Effects")) {
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_MAGIC);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_ARROWS);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_SPIN_ATTACK);
|
||||
@ -1973,9 +2038,15 @@ void CosmeticsEditorWindow::DrawElement() {
|
||||
CVarClear(CVAR_COSMETIC("Trails.Duration.Changed"));
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
}
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
if (ImGui::BeginTabItem("World & NPCs")) {
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_WORLD);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_NAVI);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_IVAN);
|
||||
@ -1987,6 +2058,9 @@ void CosmeticsEditorWindow::DrawElement() {
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
if (ImGui::BeginTabItem("HUD")) {
|
||||
|
||||
UIWidgets::PaddedSeparator(true, true, 2.0f, 2.0f);
|
||||
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_HUD);
|
||||
DrawCosmeticGroup(COSMETICS_GROUP_TITLE);
|
||||
ImGui::EndTabItem();
|
||||
|
@ -9,7 +9,9 @@ typedef enum {
|
||||
COSMETICS_GROUP_SWORDS,
|
||||
COSMETICS_GROUP_GLOVES,
|
||||
COSMETICS_GROUP_EQUIPMENT,
|
||||
COSMETICS_GROUP_KEY,
|
||||
COSMETICS_GROUP_KEYRING,
|
||||
COSMETICS_GROUP_SMALL_KEYS,
|
||||
COSMETICS_GROUP_BOSS_KEYS,
|
||||
COSMETICS_GROUP_CONSUMABLE,
|
||||
COSMETICS_GROUP_HUD,
|
||||
COSMETICS_GROUP_KALEIDO,
|
||||
@ -63,8 +65,7 @@ class CosmeticsEditorWindow : public Ship::GuiWindow {
|
||||
|
||||
void InitElement() override;
|
||||
void DrawElement() override;
|
||||
void ApplyDungeonEmblemColors();
|
||||
void ApplyDungeonBaseColors();
|
||||
void ApplyDungeonKeyColors();
|
||||
void UpdateElement() override {};
|
||||
};
|
||||
#endif //__cplusplus
|
@ -1297,7 +1297,9 @@ static constexpr std::array<std::pair<const char*, CosmeticGroup>, COSMETICS_GRO
|
||||
{"swords", COSMETICS_GROUP_SWORDS},
|
||||
{"gloves", COSMETICS_GROUP_GLOVES},
|
||||
{"equipment", COSMETICS_GROUP_EQUIPMENT},
|
||||
{"key", COSMETICS_GROUP_KEY},
|
||||
{"keyring", COSMETICS_GROUP_KEYRING},
|
||||
{"small_keys", COSMETICS_GROUP_SMALL_KEYS },
|
||||
{"boss_keys", COSMETICS_GROUP_BOSS_KEYS },
|
||||
{"consumable", COSMETICS_GROUP_CONSUMABLE},
|
||||
{"hud", COSMETICS_GROUP_HUD},
|
||||
{"kaleido", COSMETICS_GROUP_KALEIDO},
|
||||
|
@ -38,32 +38,45 @@ extern PlayState* gPlayState;
|
||||
extern SaveContext gSaveContext;
|
||||
}
|
||||
|
||||
const char* SmallBaseCvarValue[10] = {
|
||||
CVAR_COSMETIC("Key.ForestSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.FireSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.WaterSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.SpiritSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.ShadowSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.WellSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.GTGSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.FortSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.GanonsSmallBase.Value"),
|
||||
CVAR_COSMETIC("Key.ChestGameSmallBase.Value"),
|
||||
const char* SmallBodyCvarValue[10] = {
|
||||
CVAR_COSMETIC("Key.ForestSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.FireSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.WaterSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.SpiritSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.ShadowSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.WellSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.GTGSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.FortSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.GanonsSmallBody.Value"),
|
||||
CVAR_COSMETIC("Key.ChestGameSmallBody.Value"),
|
||||
};
|
||||
|
||||
const char* SmallEmblemCvarValue[10] = {
|
||||
CVAR_COSMETIC("Key.ForestEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.FireEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.WaterEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.SpiritEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.ShadowEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.WellEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.GTGEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.FortEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.GanonsEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.ForestSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.FireSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.WaterSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.SpiritSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.ShadowSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.WellSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.GTGSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.FortSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.GanonsSmallEmblem.Value"),
|
||||
CVAR_COSMETIC("Key.ChestGameEmblem.Value"),
|
||||
};
|
||||
|
||||
Color_RGB8 SmallEmblemDefaultValue[10] = {
|
||||
{ 4, 195, 46 }, // Forest
|
||||
{ 237, 95, 95 }, // Fire
|
||||
{ 85, 180, 223 }, // Water
|
||||
{ 222, 158, 47 }, // Spirit
|
||||
{ 126, 16, 177 }, // Shadow
|
||||
{ 227, 110, 255 }, // Well
|
||||
{ 221, 212, 60 }, // GTG
|
||||
{ 255, 255, 255 }, // Fortress
|
||||
{ 80, 80, 80 }, // Ganons
|
||||
{ 255, 255, 255 }, // Chest Game
|
||||
};
|
||||
|
||||
extern "C" u8 Randomizer_GetSettingValue(RandomizerSettingKey randoSettingKey);
|
||||
|
||||
extern "C" void Randomizer_DrawSmallKey(PlayState* play, GetItemEntry* getItemEntry) {
|
||||
@ -91,7 +104,7 @@ extern "C" void Randomizer_DrawSmallKey(PlayState* play, GetItemEntry* getItemEn
|
||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
|
||||
Color_RGB8 keyColor = { 255, 255, 255 };
|
||||
keyColor = CVarGetColor24(SmallBaseCvarValue[slot], keyColor);
|
||||
keyColor = CVarGetColor24(SmallBodyCvarValue[slot], keyColor);
|
||||
|
||||
if (isCustomKeysEnabled) {
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, keyColor.r, keyColor.g, keyColor.b, 255);
|
||||
@ -99,7 +112,7 @@ extern "C" void Randomizer_DrawSmallKey(PlayState* play, GetItemEntry* getItemEn
|
||||
|
||||
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
|
||||
|
||||
Color_RGB8 emblemColor = { 255, 0, 0 };
|
||||
Color_RGB8 emblemColor = SmallEmblemDefaultValue[slot];
|
||||
emblemColor = CVarGetColor24(SmallEmblemCvarValue[slot], emblemColor);
|
||||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
|
||||
@ -166,12 +179,12 @@ extern "C" void Randomizer_DrawBossKey(PlayState* play, GetItemEntry* getItemEnt
|
||||
s16 slot = getItemEntry->getItemId - RG_FOREST_TEMPLE_BOSS_KEY;
|
||||
|
||||
std::string CvarValue[6] = {
|
||||
"gCosmetics.Key.Forest",
|
||||
"gCosmetics.Key.Fire",
|
||||
"gCosmetics.Key.Water",
|
||||
"gCosmetics.Key.Spirit",
|
||||
"gCosmetics.Key.Shadow",
|
||||
"gCosmetics.Key.Ganons",
|
||||
"gCosmetics.Key.ForestBoss",
|
||||
"gCosmetics.Key.FireBoss",
|
||||
"gCosmetics.Key.WaterBoss",
|
||||
"gCosmetics.Key.SpiritBoss",
|
||||
"gCosmetics.Key.ShadowBoss",
|
||||
"gCosmetics.Key.GanonsBoss",
|
||||
};
|
||||
|
||||
Gfx* CustomdLists[] = {
|
||||
@ -192,13 +205,13 @@ extern "C" void Randomizer_DrawBossKey(PlayState* play, GetItemEntry* getItemEnt
|
||||
|
||||
Color_RGB8 keyColor = { 255, 255, 0 };
|
||||
//Supposed to use CVAR_COSMETIC but I can't figure out the syntax
|
||||
keyColor = CVarGetColor24((CvarValue[slot] + "BossBase.Value").c_str(), keyColor);
|
||||
keyColor = CVarGetColor24((CvarValue[slot] + "Body.Value").c_str(), keyColor);
|
||||
|
||||
if (isCustomKeysEnabled){
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, keyColor.r, keyColor.g, keyColor.b, 255);
|
||||
gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gBossKeyCustomDL);
|
||||
} else {
|
||||
if (CVarGetInteger((CvarValue[slot] + "BossBase.Changed").c_str(), false)){
|
||||
if (CVarGetInteger((CvarValue[slot] + "Body.Changed").c_str(), false)){
|
||||
gDPSetGrayscaleColor(POLY_OPA_DISP++, keyColor.r, keyColor.g, keyColor.b, 255);
|
||||
gSPGrayscale(POLY_OPA_DISP++, true);
|
||||
gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gGiBossKeyDL);
|
||||
@ -213,15 +226,15 @@ extern "C" void Randomizer_DrawBossKey(PlayState* play, GetItemEntry* getItemEnt
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
|
||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
|
||||
Color_RGB8 emblemColor = { 255, 0, 0 };
|
||||
emblemColor = CVarGetColor24((CvarValue[slot] + "Emblem.Value").c_str(), emblemColor);
|
||||
Color_RGB8 gemColor = { 255, 0, 0 };
|
||||
gemColor = CVarGetColor24((CvarValue[slot] + "Gem.Value").c_str(), gemColor);
|
||||
|
||||
if (isCustomKeysEnabled){
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, emblemColor.r, emblemColor.g, emblemColor.b, 255);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, gemColor.r, gemColor.g, gemColor.b, 255);
|
||||
gSPDisplayList(POLY_XLU_DISP++, CustomdLists[slot]);
|
||||
} else {
|
||||
if (CVarGetInteger((CvarValue[slot] + "Emblem.Changed").c_str(), false)){
|
||||
gDPSetGrayscaleColor(POLY_XLU_DISP++, emblemColor.r, emblemColor.g, emblemColor.b, 255);
|
||||
if (CVarGetInteger((CvarValue[slot] + "Gem.Changed").c_str(), false)){
|
||||
gDPSetGrayscaleColor(POLY_XLU_DISP++, gemColor.r, gemColor.g, gemColor.b, 255);
|
||||
gSPGrayscale(POLY_XLU_DISP++, true);
|
||||
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)gGiBossKeyGemDL);
|
||||
gSPGrayscale(POLY_XLU_DISP++, false);
|
||||
@ -296,7 +309,7 @@ extern "C" void Randomizer_DrawKeyRing(PlayState* play, GetItemEntry* getItemEnt
|
||||
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
||||
|
||||
Color_RGB8 keyColor = { 255, 255, 255 };
|
||||
keyColor = CVarGetColor24(SmallBaseCvarValue[slot], keyColor);
|
||||
keyColor = CVarGetColor24(SmallBodyCvarValue[slot], keyColor);
|
||||
|
||||
if (isCustomKeysEnabled) {
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
|
||||
@ -314,7 +327,7 @@ extern "C" void Randomizer_DrawKeyRing(PlayState* play, GetItemEntry* getItemEnt
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, ringColor.r, ringColor.g, ringColor.b, 255);
|
||||
gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gKeyringRingDL);
|
||||
|
||||
Color_RGB8 emblemColor = { 255, 0, 0 };
|
||||
Color_RGB8 emblemColor = SmallEmblemDefaultValue[slot];
|
||||
emblemColor = CVarGetColor24(SmallEmblemCvarValue[slot], emblemColor);
|
||||
|
||||
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
||||
|
Loading…
Reference in New Issue
Block a user