Adds option to lock a cosmetic from being randomized (#1812)

Resolves #1809
This commit is contained in:
RaelCappra 2022-10-21 01:05:08 -03:00 committed by GitHub
parent 4fb78f9caa
commit af02623456
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -72,6 +72,10 @@ void GetRandomColorRGB(CosmeticsColorSection* ColorSection, int SectionSize){
ImVec4 colors = Element->ModifiedColor;
Color_RGBA8 NewColors = { 0, 0, 0, 255 };
std::string cvarName = Element->CvarName;
std::string cvarLock = cvarName + "Lock";
if(CVar_GetS32(cvarLock.c_str(), 0)) {
continue;
}
std::string Cvar_RBM = cvarName + "RBM";
colors = RANDOMIZE_32(255);
NewColors.r = fmin(fmax(colors.x * 255, 0), 255);
@ -893,7 +897,7 @@ void Draw_Placements(){
}
}
void Draw_HUDButtons(){
if (CVar_GetS32("gHudColors",0) ==2 ){
if (CVar_GetS32("gHudColors",0) == 2){
DrawRandomizeResetButton("every buttons", Buttons_section, SECTION_SIZE(Buttons_section));
if (ImGui::CollapsingHeader("A Button colors & A Cursors")) {
if (ImGui::BeginTable("tableBTN_A", 1, FlagsTable)) {

View File

@ -474,6 +474,15 @@ namespace UIWidgets {
return changed;
}
void DrawLockColorCheckbox(const char* cvarName) {
std::string Cvar_Lock = cvarName;
Cvar_Lock += "Lock";
s32 lock = CVar_GetS32(Cvar_Lock.c_str(), 0);
std::string FullName = "Lock##" + Cvar_Lock;
EnhancementCheckbox(FullName.c_str(), Cvar_Lock.c_str());
Tooltip("Prevents this color from being changed upon selecting \"Randomize all\"");
}
void RainbowColor(const char* cvarName, ImVec4* colors) {
std::string Cvar_RBM = cvarName;
Cvar_RBM += "RBM";
@ -546,6 +555,7 @@ namespace UIWidgets {
}
RainbowColor(cvarName, &ColorRGBA);
}
DrawLockColorCheckbox(cvarName);
ImGui::NewLine();
ImGui::PopItemWidth();