Bug fixes, 24h timecyc support
1. Fixed a bug with solid water casuing vehicles to drown even when enabled 2. Fixed issue with teleport to coord 3. Added support for 24h timecyc
This commit is contained in:
parent
4b09077728
commit
72a77c66bc
@ -130,12 +130,14 @@ Game::Game()
|
||||
float water_height = 0;
|
||||
Command<Commands::GET_WATER_HEIGHT_AT_COORDS>(pos.x, pos.y, false, &water_height);
|
||||
|
||||
if (!Command<Commands::IS_CHAR_IN_ANY_BOAT>(hplayer) && water_height != -1000.0f && pos.z > (water_height+1))
|
||||
if (!Command<Commands::IS_CHAR_IN_ANY_BOAT>(hplayer) && water_height != -1000.0f && pos.z > (water_height))
|
||||
{
|
||||
if (solid_water_object == 0)
|
||||
{
|
||||
Command<Commands::CREATE_OBJECT>(3095, pos.x, pos.y, water_height, &solid_water_object);
|
||||
Command<Commands::SET_OBJECT_VISIBLE>(solid_water_object, false);
|
||||
Command<Commands::SET_OBJECT_VISIBLE>(solid_water_object,false);
|
||||
if (pos.z < (water_height+1))
|
||||
player->SetPosn(pos.x,pos.y,water_height+1);
|
||||
}
|
||||
else
|
||||
Command<Commands::SET_OBJECT_COORDINATES>(solid_water_object, pos.x, pos.y, water_height);
|
||||
@ -427,7 +429,7 @@ Lowers armour, health, stamina etc."))
|
||||
}
|
||||
Ui::CheckboxWithHint("Screenshot shortcut", &ss_shortcut, (("Take screenshot using ") + Ui::GetHotKeyNameString(Menu::hotkeys::quick_ss)
|
||||
+ "\nSaved inside 'GTA San Andreas User Files\\Gallery'").c_str());
|
||||
if (Ui::CheckboxWithHint("Solid water", &solid_water, "Player can walk on water"))
|
||||
if (Ui::CheckboxWithHint("Solid water", &solid_water, "Player can walk on water\nTurn this off if you want to swim."))
|
||||
{
|
||||
if (!solid_water && solid_water_object != 0)
|
||||
{
|
||||
|
@ -246,7 +246,7 @@ void Menu::ProcessCommands()
|
||||
ss >> temp;
|
||||
pos.z = std::stof(temp);
|
||||
|
||||
Teleport::TeleportPlayer(false, &pos, 0);
|
||||
Teleport::TeleportPlayer(false, pos, 0);
|
||||
}
|
||||
catch (...) {
|
||||
CHud::SetHelpMessage("Invalid location", false, false, false);
|
||||
|
@ -96,7 +96,7 @@ Teleport::Teleport()
|
||||
};
|
||||
}
|
||||
|
||||
void Teleport::TeleportPlayer(bool get_marker, CVector* pos, short interior_id)
|
||||
void Teleport::TeleportPlayer(bool get_marker, CVector pos, short interior_id)
|
||||
{
|
||||
CPlayerPed *player = FindPlayerPed();
|
||||
CVehicle *pVeh = player->m_pVehicle;
|
||||
@ -112,10 +112,10 @@ void Teleport::TeleportPlayer(bool get_marker, CVector* pos, short interior_id)
|
||||
return;
|
||||
}
|
||||
CEntity* player_entity = FindPlayerEntity(-1);
|
||||
pos = &(target_blip.m_vPosition);
|
||||
pos->z = CWorld::FindGroundZFor3DCoord(pos->x, pos->y, 1000, 0, &player_entity) + 50.f;
|
||||
pos = target_blip.m_vPosition;
|
||||
pos.z = CWorld::FindGroundZFor3DCoord(pos.x, pos.y, 1000, 0, &player_entity) + 50.f;
|
||||
|
||||
Teleport::STeleport::pos = *pos;
|
||||
Teleport::STeleport::pos = pos;
|
||||
Teleport::STeleport::timer = CTimer::m_snTimeInMilliseconds;
|
||||
Teleport::STeleport::_bool = true;
|
||||
TheCamera.Fade(0,0);
|
||||
@ -138,7 +138,7 @@ void Teleport::TeleportPlayer(bool get_marker, CVector* pos, short interior_id)
|
||||
pVeh->m_nAreaCode = interior_id;
|
||||
}
|
||||
else
|
||||
player->Teleport(STeleport::pos, false);
|
||||
player->Teleport(pos, false);
|
||||
|
||||
player->m_nAreaCode = interior_id;
|
||||
Command<Commands::SET_AREA_VISIBLE>(interior_id);
|
||||
@ -164,7 +164,7 @@ void Teleport::TeleportToLocation(std::string& rootkey, std::string& loc_name,st
|
||||
std::getline(ss, temp, ',');
|
||||
pos.z = std::stof(temp);
|
||||
|
||||
Teleport::TeleportPlayer(false, &pos, static_cast<short>(interior));
|
||||
Teleport::TeleportPlayer(false, pos, static_cast<short>(interior));
|
||||
}
|
||||
catch (...) {
|
||||
CHud::SetHelpMessage("Invalid location", false, false, false);
|
||||
@ -231,7 +231,7 @@ void Teleport::Main()
|
||||
getline(ss, temp, ',');
|
||||
pos.z = std::stof(temp) + 1.0f;
|
||||
|
||||
Teleport::TeleportPlayer(false,&pos);
|
||||
Teleport::TeleportPlayer(false,pos);
|
||||
}
|
||||
catch (...) {
|
||||
CHud::SetHelpMessage("Invalid coordinate", false, false, false);
|
||||
@ -274,9 +274,4 @@ void Teleport::Main()
|
||||
}
|
||||
ImGui::EndTabBar();
|
||||
}
|
||||
}
|
||||
|
||||
Teleport::~Teleport()
|
||||
{
|
||||
};
|
||||
|
||||
}
|
@ -31,11 +31,10 @@ private:
|
||||
|
||||
protected:
|
||||
Teleport();
|
||||
virtual ~Teleport();
|
||||
public:
|
||||
|
||||
static void Main();
|
||||
static void TeleportPlayer(bool get_marker = false, CVector* pos = new CVector(0,0,0), short interior_id = 0);
|
||||
static void TeleportPlayer(bool get_marker = false, CVector pos = CVector(0,0,0), short interior_id = 0);
|
||||
static void TeleportToLocation(std::string& rootkey, std::string& loc_name, std::string& loc);
|
||||
static void RemoveTeleportEntry(std::string& rootkey, std::string& key, std::string& val);
|
||||
|
||||
|
@ -1,99 +1,99 @@
|
||||
#include "plugin.h"
|
||||
|
||||
unsigned char* m_nDirectionalMult{ (unsigned char*)patch::GetPointer(0x55F7C7)}; //m_nDirectionalMult[184]
|
||||
uchar* m_nDirectionalMult = (uchar*)0x55F7C7; //m_nDirectionalMult[184]
|
||||
|
||||
unsigned char* m_nWaterFogAlpha{ (unsigned char*)patch::GetPointer(0x55F7B8)}; //m_nWaterFogAlpha[184]
|
||||
uchar* m_nWaterFogAlpha = (uchar*)0x55F7B8; //m_nWaterFogAlpha[184]
|
||||
|
||||
unsigned char* m_nHighLightMinIntensity{ (unsigned char*)patch::GetPointer(0x55F7A9)}; //m_nHighLightMinIntensity[184]
|
||||
uchar* m_nHighLightMinIntensity = (uchar*)0x55F7A9; //m_nHighLightMinIntensity[184]
|
||||
|
||||
unsigned char* m_fCloudAlpha{ (unsigned char*)patch::GetPointer(0x55F793)}; //m_fCloudAlpha[184]
|
||||
uchar* m_fCloudAlpha = (uchar*)0x55F793; //m_fCloudAlpha[184]
|
||||
|
||||
unsigned char* m_fPostFx2Alpha{ (unsigned char*)patch::GetPointer(0x55F77D)}; //m_fPostFx2Alpha[184]
|
||||
uchar* m_fPostFx2Alpha = (uchar*)0x55F77D; //m_fPostFx2Alpha[184]
|
||||
|
||||
unsigned char* m_fPostFx2Blue{ (unsigned char*)patch::GetPointer(0x55F767)}; //m_fPostFx2Blue[184]
|
||||
uchar* m_fPostFx2Blue = (uchar*)0x55F767; //m_fPostFx2Blue[184]
|
||||
|
||||
unsigned char* m_fPostFx2Green{ (unsigned char*)patch::GetPointer(0x55F751)}; //m_fPostFx2Green[184]
|
||||
uchar* m_fPostFx2Green = (uchar*)0x55F751; //m_fPostFx2Green[184]
|
||||
|
||||
unsigned char* m_fPostFx2Red{ (unsigned char*)patch::GetPointer(0x55F73B)}; //m_fPostFx2Red[184]
|
||||
uchar* m_fPostFx2Red = (uchar*)0x55F73B; //m_fPostFx2Red[184]
|
||||
|
||||
unsigned char* m_fPostFx1Alpha{ (unsigned char*)patch::GetPointer(0x55F725)}; //m_fPostFx1Alpha[184]
|
||||
uchar* m_fPostFx1Alpha = (uchar*)0x55F725; //m_fPostFx1Alpha[184]
|
||||
|
||||
unsigned char* m_fPostFx1Blue{ (unsigned char*)patch::GetPointer(0x55F70F)}; //m_fPostFx1Blue[184]
|
||||
uchar* m_fPostFx1Blue = (uchar*)0x55F70F; //m_fPostFx1Blue[184]
|
||||
|
||||
unsigned char* m_fPostFx1Green{ (unsigned char*)patch::GetPointer(0x55F6FC)}; //m_fPostFx1Green[184]
|
||||
uchar* m_fPostFx1Green = (uchar*)0x55F6FC; //m_fPostFx1Green[184]
|
||||
|
||||
unsigned char* m_fPostFx1Red{ (unsigned char*)patch::GetPointer(0x55F6E9)}; //m_fPostFx1Red[184]
|
||||
uchar* m_fPostFx1Red = (uchar*)0x55F6E9; //m_fPostFx1Red[184]
|
||||
|
||||
unsigned char* m_fWaterAlpha{ (unsigned char*)patch::GetPointer(0x55F6D6)}; //m_fWaterAlpha[184]
|
||||
uchar* m_fWaterAlpha = (uchar*)0x55F6D6; //m_fWaterAlpha[184]
|
||||
|
||||
unsigned char* m_fWaterBlue{ (unsigned char*)patch::GetPointer(0x55F6C3)}; //m_fWaterBlue[184]
|
||||
uchar* m_fWaterBlue = (uchar*)0x55F6C3; //m_fWaterBlue[184]
|
||||
|
||||
unsigned char* m_fWaterGreen{ (unsigned char*)patch::GetPointer(0x55F6B0)}; //m_fWaterGreen[184]
|
||||
uchar* m_fWaterGreen = (uchar*)0x55F6B0; //m_fWaterGreen[184]
|
||||
|
||||
unsigned char* m_fWaterRed{ (unsigned char*)patch::GetPointer(0x55F69C)}; //m_fWaterRed[184]
|
||||
uchar* m_fWaterRed = (uchar*)0x55F69C; //m_fWaterRed[184]
|
||||
|
||||
unsigned char* m_nFluffyCloudsBottomBlue{ (unsigned char*)patch::GetPointer(0x55F690)}; //m_nFluffyCloudsBottomBlue[184]
|
||||
uchar* m_nFluffyCloudsBottomBlue = (uchar*)0x55F690; //m_nFluffyCloudsBottomBlue[184]
|
||||
|
||||
unsigned char* m_nFluffyCloudsBottomGreen{ (unsigned char*)patch::GetPointer(0x55F683)}; //m_nFluffyCloudsBottomGreen[184]
|
||||
uchar* m_nFluffyCloudsBottomGreen = (uchar*)0x55F683;//m_nFluffyCloudsBottomGreen[184]
|
||||
|
||||
unsigned char* m_nFluffyCloudsBottomRed{ (unsigned char*)patch::GetPointer(0x55F677)}; //m_nFluffyCloudsBottomRed[184]
|
||||
uchar* m_nFluffyCloudsBottomRed = (uchar*)0x55F677; //m_nFluffyCloudsBottomRed[184]
|
||||
|
||||
unsigned char* m_nLowCloudsBlue{ (unsigned char*)patch::GetPointer(0x55F66B)}; //m_nLowCloudsBlue[184]
|
||||
uchar* m_nLowCloudsBlue = (uchar*)0x55F66B; //m_nLowCloudsBlue[184]
|
||||
|
||||
unsigned char* m_nLowCloudsGreen{ (unsigned char*)patch::GetPointer(0x55F65F)}; //m_nLowCloudsGreen[184]
|
||||
uchar* m_nLowCloudsGreen = (uchar*)0x55F65F; //m_nLowCloudsGreen[184]
|
||||
|
||||
unsigned char* m_nLowCloudsRed{ (unsigned char*)patch::GetPointer(0x55F653)}; //m_nLowCloudsRed[184]
|
||||
uchar* m_nLowCloudsRed = (uchar*)0x55F653; //m_nLowCloudsRed[184]
|
||||
|
||||
unsigned char* m_fLightsOnGroundBrightness{ (unsigned char*)patch::GetPointer(0x55F640)}; //m_fLightsOnGroundBrightness[184]
|
||||
uchar* m_fLightsOnGroundBrightness = (uchar*)0x55F640;//m_fLightsOnGroundBrightness[184]
|
||||
|
||||
short* m_fFogStart{ (short*)patch::GetPointer(0x55F62E)}; //m_fFogStart[184]
|
||||
short* m_fFogStart = (short*)0x55F62E; //m_fFogStart[184]
|
||||
|
||||
short* m_fFarClip{ (short*)patch::GetPointer(0x55F61B)}; //m_fFarClip[184]
|
||||
short* m_fFarClip = (short*)0x55F61B; //m_fFarClip[184]
|
||||
|
||||
unsigned char* m_nPoleShadowStrength{ (unsigned char*)patch::GetPointer(0x55F60F)}; //m_nPoleShadowStrength[184]
|
||||
uchar* m_nPoleShadowStrength = (uchar*)0x55F60F; //m_nPoleShadowStrength[184]
|
||||
|
||||
unsigned char* m_nLightShadowStrength{ (unsigned char*)patch::GetPointer(0x55F603)}; //m_nLightShadowStrength[184]
|
||||
uchar* m_nLightShadowStrength = (uchar*)0x55F603; //m_nLightShadowStrength[184]
|
||||
|
||||
unsigned char* m_nShadowStrength{ (unsigned char*)patch::GetPointer(0x55F5F7)}; //m_nShadowStrength[184]
|
||||
uchar* m_nShadowStrength = (uchar*)0x55F5F7; //m_nShadowStrength[184]
|
||||
|
||||
unsigned char* m_fSpriteBrightness{ (unsigned char*)patch::GetPointer(0x55F5E4)}; //m_fSpriteBrightness[184]
|
||||
uchar* m_fSpriteBrightness = (uchar*)0x55F5E4; //m_fSpriteBrightness[184]
|
||||
|
||||
unsigned char* m_fSpriteSize{ (unsigned char*)patch::GetPointer(0x55F5D2)}; //m_fSpriteSize[184]
|
||||
uchar* m_fSpriteSize = (uchar*)0x55F5D2; //m_fSpriteSize[184]
|
||||
|
||||
unsigned char* m_fSunSize{ (unsigned char*)patch::GetPointer(0x55F5C0)}; //m_fSunSize[184]
|
||||
uchar* m_fSunSize = (uchar*)0x55F5C0; //m_fSunSize[184]
|
||||
|
||||
unsigned char* m_nSunCoronaBlue{ (unsigned char*)patch::GetPointer(0x55F5B5)}; //m_nSunCoronaBlue[184]
|
||||
uchar* m_nSunCoronaBlue = (uchar*)0x55F5B5; //m_nSunCoronaBlue[184]
|
||||
|
||||
unsigned char* m_nSunCoronaGreen{ (unsigned char*)patch::GetPointer(0x55F5A9)}; //m_nSunCoronaGreen[184]
|
||||
uchar* m_nSunCoronaGreen = (uchar*)0x55F5A9; //m_nSunCoronaGreen[184]
|
||||
|
||||
unsigned char* m_nSunCoronaRed{ (unsigned char*)patch::GetPointer(0x55F59D)}; //m_nSunCoronaRed[184]
|
||||
uchar* m_nSunCoronaRed = (uchar*)0x55F59D; //m_nSunCoronaRed[184]
|
||||
|
||||
unsigned char* m_nSunCoreBlue{ (unsigned char*)patch::GetPointer(0x55F591)}; //m_nSunCoreBlue[184]
|
||||
uchar* m_nSunCoreBlue = (uchar*)0x55F591; //m_nSunCoreBlue[184]
|
||||
|
||||
unsigned char* m_nSunCoreGreen{ (unsigned char*)patch::GetPointer(0x55F585)}; //m_nSunCoreGreen[184]
|
||||
uchar* m_nSunCoreGreen = (uchar*)0x55F585; //m_nSunCoreGreen[184]
|
||||
|
||||
unsigned char* m_nSunCoreRed{ (unsigned char*)patch::GetPointer(0x55F579)}; //m_nSunCoreRed[184]
|
||||
uchar* m_nSunCoreRed = (uchar*)0x55F579; //m_nSunCoreRed[184]
|
||||
|
||||
unsigned char* m_nSkyBottomBlue{ (unsigned char*)patch::GetPointer(0x55F56D)}; //m_nSkyBottomBlue[184]
|
||||
uchar* m_nSkyBottomBlue = (uchar*)0x55F56D; //m_nSkyBottomBlue[184]
|
||||
|
||||
unsigned char* m_nSkyBottomGreen{ (unsigned char*)patch::GetPointer(0x55F561)}; //m_nSkyBottomGreen[184]
|
||||
uchar* m_nSkyBottomGreen = (uchar*)0x55F561; //m_nSkyBottomGreen[184]
|
||||
|
||||
unsigned char* m_nSkyBottomRed{ (unsigned char*)patch::GetPointer(0x55F555)}; //m_nSkyBottomRed[184]
|
||||
uchar* m_nSkyBottomRed = (uchar*)0x55F555; //m_nSkyBottomRed[184]
|
||||
|
||||
unsigned char* m_nSkyTopBlue{ (unsigned char*)patch::GetPointer(0x55F549)}; //m_nSkyTopBlue[45]
|
||||
uchar* m_nSkyTopBlue = (uchar*)0x55F549; //m_nSkyTopBlue[45]
|
||||
|
||||
unsigned char* m_nSkyTopGreen{ (unsigned char*)patch::GetPointer(0x55F53D)}; //m_nSkyTopGreen[45]
|
||||
uchar* m_nSkyTopGreen = (uchar*)0x55F53D; //m_nSkyTopGreen[45]
|
||||
|
||||
unsigned char* m_nSkyTopRed{ (unsigned char*)patch::GetPointer(0x55F531)}; //m_nSkyTopRed[45]
|
||||
uchar* m_nSkyTopRed = (uchar*)0x55F531; //m_nSkyTopRed[45]
|
||||
|
||||
unsigned char* m_nAmbientBlue_Obj{ (unsigned char*)patch::GetPointer(0x55F51E)}; //m_nAmbientBlue_Obj[184]
|
||||
uchar* m_nAmbientBlue_Obj = (uchar*)0x55F51E; //m_nAmbientBlue_Obj[184]
|
||||
|
||||
unsigned char* m_nAmbientGreen_Obj{ (unsigned char*)patch::GetPointer(0x55F50C)}; //m_nAmbientGreen_Obj[184]
|
||||
uchar* m_nAmbientGreen_Obj = (uchar*)0x55F50C; //m_nAmbientGreen_Obj[184]
|
||||
|
||||
unsigned char* m_nAmbientRed_Obj{ (unsigned char*)patch::GetPointer(0x55F4FA)}; //m_nAmbientRed_Obj[184]
|
||||
uchar* m_nAmbientRed_Obj = (uchar*)0x55F4FA; //m_nAmbientRed_Obj[184]
|
||||
|
||||
unsigned char* m_nAmbientBlue{ (unsigned char*)patch::GetPointer(0x55F4E8)}; //m_nAmbientBlue[184]
|
||||
uchar* m_nAmbientBlue = (uchar*)0x55F4E8; //m_nAmbientBlue[184]
|
||||
|
||||
unsigned char* m_nAmbientGreen{ (unsigned char*)patch::GetPointer(0x55F4D6)}; //m_nAmbientGreen[184]
|
||||
uchar* m_nAmbientGreen = (uchar*)0x55F4D6; //m_nAmbientGreen[184]
|
||||
|
||||
unsigned char* m_nAmbientRed{ (unsigned char*)patch::GetPointer(0x560C61)}; //m_nAmbientRed[184]
|
||||
uchar* m_nAmbientRed = (uchar*)0x560C61; //m_nAmbientRed[184]
|
||||
|
@ -525,7 +525,7 @@ void Vehicle::SpawnVehicle(std::string &smodel)
|
||||
int hveh = 0;
|
||||
if (spawner::spawn_inside)
|
||||
{
|
||||
Command<Commands::CREATE_CAR>(imodel, pos.x, pos.y, pos.z + 3.0f, &hveh);
|
||||
Command<Commands::CREATE_CAR>(imodel, pos.x, pos.y, pos.z + 4.0f, &hveh);
|
||||
veh = CPools::GetVehicle(hveh);
|
||||
veh->SetHeading(player->GetHeading());
|
||||
Command<Commands::WARP_CHAR_INTO_CAR>(hplayer, hveh);
|
||||
|
@ -78,16 +78,20 @@ bool Visual::TimeCycColorEdit3(const char* label, uchar *r, uchar *g, uchar *b,
|
||||
bool rtn = false;
|
||||
int val = 23 * GetCurrentHourTimeId() + CWeather::OldWeatherType;
|
||||
|
||||
float col[3]{ r[val] / 255.0f, g[val] / 255.0f, b[val] / 255.0f };
|
||||
uchar *red = (uchar*)patch::GetPointer(int(r));
|
||||
uchar *green = (uchar*)patch::GetPointer(int(g));
|
||||
uchar *blue = (uchar*)patch::GetPointer(int(b));
|
||||
|
||||
float col[3]{red[val]/255.0f,green[val]/255.0f,blue[val]/255.0f};
|
||||
|
||||
if (ImGui::ColorEdit3(label, col, flags))
|
||||
{
|
||||
r[val] = col[0] * 255;
|
||||
g[val] = col[1] * 255;
|
||||
b[val] = col[2] * 255;
|
||||
red[val] = col[0] * 255;
|
||||
green[val] = col[1] * 255;
|
||||
blue[val] = col[2] * 255;
|
||||
rtn = true;
|
||||
}
|
||||
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
@ -95,15 +99,20 @@ bool Visual::TimeCycColorEdit4(const char* label, uchar *r, uchar *g, uchar *b,
|
||||
{
|
||||
bool rtn = false;
|
||||
int val = 23 * GetCurrentHourTimeId() + CWeather::OldWeatherType;
|
||||
|
||||
uchar *red = (uchar*)patch::GetPointer(int(r));
|
||||
uchar *green = (uchar*)patch::GetPointer(int(g));
|
||||
uchar *blue = (uchar*)patch::GetPointer(int(b));
|
||||
uchar *alpha = (uchar*)patch::GetPointer(int(a));
|
||||
|
||||
float col[4]{ r[val] / 255.0f, g[val] / 255.0f, b[val] / 255.0f, a[val] / 255.0f };
|
||||
|
||||
float col[4]{red[val]/255.0f,green[val]/255.0f,blue[val]/255.0f,alpha[val]/255.0f};
|
||||
|
||||
if (ImGui::ColorEdit4(label, col, flags))
|
||||
{
|
||||
r[val] = col[0] * 255;
|
||||
g[val] = col[1] * 255;
|
||||
b[val] = col[2] * 255;
|
||||
a[val] = col[3] * 255;
|
||||
red[val] = col[0] * 255;
|
||||
green[val] = col[1] * 255;
|
||||
blue[val] = col[2] * 255;
|
||||
alpha[val] = col[3] * 255;
|
||||
rtn = true;
|
||||
}
|
||||
|
||||
@ -280,7 +289,7 @@ void Visual::Main()
|
||||
ImGui::EndTabItem();
|
||||
}
|
||||
|
||||
if (ImGui::BeginTabItem("Timecyc"))
|
||||
if ( timecyc_hour == 8 ? ImGui::BeginTabItem("Timecyc") : ImGui::BeginTabItem("Timecyc 24h"))
|
||||
{
|
||||
ImGui::Spacing();
|
||||
if (ImGui::Button("Generate timecyc file", Ui::GetSize(2)))
|
||||
|
@ -22,11 +22,12 @@ public:
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
void Visual::TimecycSlider(const char* label, T* data, int min, int max)
|
||||
void Visual::TimecycSlider(const char* label, T* ptr, int min, int max)
|
||||
{
|
||||
int val = 23 * GetCurrentHourTimeId() + CWeather::OldWeatherType;
|
||||
int a = data[val];
|
||||
|
||||
T *arr = (T*)patch::GetPointer(int(ptr));
|
||||
int a = arr[val];
|
||||
|
||||
if (ImGui::SliderInt(label, &a, min, max))
|
||||
data[val] = (T)a;
|
||||
arr[val] = (T)a;
|
||||
}
|
Loading…
Reference in New Issue
Block a user