CheatMenuSA/CheatMenu/Visual.h

38 lines
1.3 KiB
C
Raw Normal View History

2020-12-02 16:19:16 -05:00
#pragma once
class Visual
{
private:
2021-03-02 14:18:37 -05:00
inline static bool lock_weather = false;
inline static int weather_type_backup = 0;
2020-12-02 16:19:16 -05:00
// Timecyc
2021-03-02 14:18:37 -05:00
inline static int timecyc_hour = 8;
inline static std::vector<std::string> weather_names
{
"EXTRASUNNY LA","SUNNY LA","EXTRASUNNY SMOG LA","SUNNY SMOG LA","CLOUDY LA","SUNNY SF","EXTRASUNNY SF","CLOUDY SF","RAINY SF","FOGGY SF",
"SUNNY VEGAS","EXTRASUNNY VEGAS","CLOUDY VEGAS","EXTRASUNNY COUNTRYSIDE","SUNNY COUNTRYSIDE","CLOUDY COUNTRYSIDE","RAINY COUNTRYSIDE",
"EXTRASUNNY DESERT","SUNNY DESERT","SANDSTORM DESERT","UNDERWATER","EXTRACOLOURS 1","EXTRACOLOURS 2"
};
2020-12-02 16:19:16 -05:00
static void GenerateTimecycFile();
2021-04-03 18:12:28 -04:00
static int GetCurrentHourTimeId(int hour = -1);
2021-02-24 16:54:45 -05:00
static bool TimeCycColorEdit3(const char* label, uchar* r, uchar* g, uchar* b, ImGuiColorEditFlags flags = 0);
static bool TimeCycColorEdit4(const char* label, uchar* r, uchar* g, uchar* b, uchar* a, ImGuiColorEditFlags flags = 0);
2020-12-02 16:19:16 -05:00
template<typename T>
static void TimecycSlider(const char* label, T* data, int min, int max);
public:
Visual();
~Visual();
2021-02-24 16:54:45 -05:00
static void Draw();
2020-12-02 16:19:16 -05:00
};
template<typename T>
void Visual::TimecycSlider(const char* label, T* ptr, int min, int max)
2020-12-02 16:19:16 -05:00
{
int val = 23 * GetCurrentHourTimeId() + CWeather::OldWeatherType;
2021-02-24 16:54:45 -05:00
T* arr = (T*)patch::GetPointer(int(ptr));
int a = arr[val];
2020-12-02 16:19:16 -05:00
if (ImGui::SliderInt(label, &a, min, max))
arr[val] = (T)a;
2020-12-02 16:19:16 -05:00
}