CameraZoom.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "CameraZoom.h"
  2. namespace cheat {
  3. static void SCameraModuleInitialize_SetWarningLocateRatio_Hook(app::SCameraModuleInitialize* __this, double deltaTime, app::CameraShareData* data);
  4. CameraZoom::CameraZoom() {
  5. f_Enabled = config::getValue("functions:CameraZoom", "enabled", false);
  6. f_CameraZoom = config::getValue("functions:CameraZoom", "cameraZoom", 1.0f);
  7. f_Hotkey = Hotkey("functions:CameraZoom");
  8. HookManager::install(app::MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, SCameraModuleInitialize_SetWarningLocateRatio_Hook);
  9. }
  10. CameraZoom& CameraZoom::getInstance() {
  11. static CameraZoom instance;
  12. return instance;
  13. }
  14. void CameraZoom::GUI() {
  15. ConfigCheckbox(_("CAMERA_ZOOM_TITLE"), f_Enabled, _("CAMERA_ZOOM_DESCRIPTION"));
  16. if (f_Enabled.getValue()) {
  17. ImGui::Indent();
  18. ConfigSliderFloat(_("ZOOM_TITLE"), f_CameraZoom, 0.1f, 500.0f);
  19. f_Hotkey.Draw();
  20. ImGui::Unindent();
  21. }
  22. }
  23. void CameraZoom::Outer() {
  24. if (f_Hotkey.IsPressed())
  25. f_Enabled.setValue(!f_Enabled.getValue());
  26. }
  27. void CameraZoom::Status() {
  28. if (f_Enabled.getValue())
  29. ImGui::Text("%s (%.1f)", _("CAMERA_ZOOM_TITLE"), f_CameraZoom);
  30. }
  31. std::string CameraZoom::getModule() {
  32. return _("MODULE_VISUALS");
  33. }
  34. void SCameraModuleInitialize_SetWarningLocateRatio_Hook(app::SCameraModuleInitialize* __this, double deltaTime, app::CameraShareData* data) {
  35. auto& cameraZoom = CameraZoom::getInstance();
  36. data->currentWarningLocateRatio = static_cast<double>(cameraZoom.f_Enabled.getValue() ? cameraZoom.f_CameraZoom.getValue() : 1.0f);
  37. CALL_ORIGIN(SCameraModuleInitialize_SetWarningLocateRatio_Hook, __this, deltaTime, data);
  38. }
  39. }