Skip to content

Commit cc6f46b

Browse files
committed
Try to optimize and diable GT completely in renders
1 parent b076725 commit cc6f46b

2 files changed

Lines changed: 31 additions & 134 deletions

File tree

src/hooks/VRRenderingParamsSetup.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "UnityEngine/QualitySettings.hpp"
1515
#include "beatsaber-hook/shared/utils/hooking.hpp"
1616
#include "PlatformDetector.hpp"
17+
#include "Utils.hpp"
1718
using namespace GlobalNamespace;
1819

1920
SafePtrUnity<GlobalNamespace::VRRenderingParamsSetup> vrRenderingParamsSetup;
@@ -49,6 +50,11 @@ void GraphicsTweaks::VRRenderingParamsSetup::Reload(std::optional<float> vrResol
4950
using namespace UnityEngine;
5051
using namespace UnityEngine::XR;
5152

53+
if (GraphicsTweaks::IsInRender()) {
54+
INFO("Skipping VRRenderingParamsSetup::Reload because we are in render state.");
55+
return;
56+
}
57+
5258
// Set defaults for resolution scale.
5359
if (getGraphicsTweaksConfig().MenuResolution.GetValue() == 0) {
5460
getGraphicsTweaksConfig().MenuResolution.SetValue(1);

src/main.cpp

Lines changed: 25 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ void GraphicsTweaks::PerformancePreset::ApplySettings() {
8989
return;
9090
}
9191

92+
if (GraphicsTweaks::IsInRender()) {
93+
INFO("Skipping ApplySettings because we are in render state.");
94+
return;
95+
}
96+
9297
auto preset = GraphicsTweaks::PerformancePreset::GetCustomPreset();
9398
if (!GraphicsTweaks::PerformancePreset::settingsApplicatorSO) {
9499
return ERROR("Failed to get settingsApplicatorSO!");
@@ -233,6 +238,12 @@ MAKE_HOOK_MATCH(SettingsApplicatorSO_ApplyGraphicSettings,
233238
INFO("SettingsApplicatorSO_ApplyGraphicSettings hook called!");
234239
SettingsApplicatorSO_ApplyGraphicSettings(self, settings, sceneType);
235240

241+
if (GraphicsTweaks::IsInRender()) {
242+
INFO("Skipping SettingsApplicatorSO_ApplyGraphicSettings because we are in render state.");
243+
return;
244+
}
245+
246+
236247
bool distortionsUsed =
237248
getGraphicsTweaksConfig().WallQuality.GetValue() == 2 ||
238249
getGraphicsTweaksConfig().MenuShockwaves.GetValue() ||
@@ -250,117 +261,33 @@ MAKE_HOOK_MATCH(SettingsApplicatorSO_ApplyGraphicSettings,
250261
MAKE_HOOK_MATCH(ConditionalActivation_Awake,
251262
&GlobalNamespace::ConditionalActivation::Awake, void,
252263
GlobalNamespace::ConditionalActivation *self) {
253-
auto name = self->get_gameObject()->get_name();
254-
// DEBUG("ConditionalActivation_Awake hook called! {}",
255-
// self->get_gameObject()->get_name());
264+
auto gameObject = self->get_gameObject();
265+
std::string name = gameObject->get_name();
266+
267+
// Keep turning on saber burn marks area even if the game is in render state
268+
if (name == "SaberBurnMarksArea") {
269+
gameObject->SetActive(
270+
getGraphicsTweaksConfig().Burnmarks.GetValue());
271+
}
256272

273+
if (GraphicsTweaks::IsInRender()) {
274+
INFO("Skipping ConditionalActivation_Awake because we are in render state.");
275+
return;
276+
}
257277
// Disable fake glow
258278
if ((name == "FakeGlow0" || name == "FakeGlow1" ||
259279
name == "ObstacleFakeGlow")) {
260-
self->get_gameObject()->SetActive(
280+
gameObject->SetActive(
261281
!getGraphicsTweaksConfig().Bloom.GetValue());
262282
}
263283

264284
if (name == "BigSmokePS") {
265-
self->get_gameObject()->SetActive(
285+
gameObject->SetActive(
266286
getGraphicsTweaksConfig().SmokeQuality.GetValue() > 0);
267287
}
268-
269-
if (name == "SaberBurnMarksArea") {
270-
self->get_gameObject()->SetActive(
271-
getGraphicsTweaksConfig().Burnmarks.GetValue());
272-
}
273288
}
274289

275290
// BURNMARK STUFF ////
276-
277-
MAKE_HOOK_MATCH(SaberBurnmarkArea_Start,
278-
&GlobalNamespace::SaberBurnMarkArea::Start, void,
279-
GlobalNamespace::SaberBurnMarkArea *self) {
280-
DEBUG("SaberBurnmarkArea_Start");
281-
SaberBurnmarkArea_Start(self);
282-
283-
// Prevent processing if burnmarks are disabled
284-
bool isEnabled = getGraphicsTweaksConfig().Burnmarks.GetValue();
285-
if (!isEnabled) {return;}
286-
287-
// Print some debug info
288-
DEBUG("IsRendererEnabled: {}", self->_renderer->get_enabled());
289-
290-
if (self->_lineRenderers && self->_camera) {
291-
DEBUG("Line renderers count: {}", self->_lineRenderers.size());
292-
DEBUG("Line renderer 1 enabled: {}",
293-
self->_lineRenderers[0]->get_enabled());
294-
DEBUG("Line renderer 2 enabled: {}",
295-
self->_lineRenderers[1]->get_enabled());
296-
DEBUG("Camera enabled: {}", self->_camera->get_enabled());
297-
} else {
298-
DEBUG("No line renderers");
299-
}
300-
DEBUG("SaberBurnmarkArea_Start_end");
301-
};
302-
303-
MAKE_HOOK_MATCH(SaberBurnmarkArea_OnDestroy,
304-
&GlobalNamespace::SaberBurnMarkArea::OnDestroy, void,
305-
GlobalNamespace::SaberBurnMarkArea *self) {
306-
DEBUG("SaberBurnmarkArea_OnDestroy");
307-
SaberBurnmarkArea_OnDestroy(self);
308-
};
309-
310-
MAKE_HOOK_MATCH(SaberBurnmarkArea_OnEnable,
311-
&GlobalNamespace::SaberBurnMarkArea::OnEnable, void,
312-
GlobalNamespace::SaberBurnMarkArea *self) {
313-
DEBUG("SaberBurnmarkArea_OnEnable");
314-
315-
if (self->_lineRenderers) {
316-
DEBUG("Line renderers count: {}", self->_lineRenderers.size());
317-
DEBUG("Line renderer 1 enabled: {}",
318-
self->_lineRenderers[0]->get_enabled());
319-
DEBUG("Line renderer 2 enabled: {}",
320-
self->_lineRenderers[1]->get_enabled());
321-
} else {
322-
DEBUG("No line renderers");
323-
}
324-
325-
SaberBurnmarkArea_OnEnable(self);
326-
327-
if (self->_lineRenderers) {
328-
DEBUG("Line renderers count: {}", self->_lineRenderers.size());
329-
DEBUG("Line renderer 1 enabled: {}",
330-
self->_lineRenderers[0]->get_enabled());
331-
DEBUG("Line renderer 2 enabled: {}",
332-
self->_lineRenderers[1]->get_enabled());
333-
} else {
334-
DEBUG("No line renderers");
335-
}
336-
};
337-
338-
MAKE_HOOK_MATCH(SaberBurnmarkArea_OnDisable,
339-
&GlobalNamespace::SaberBurnMarkArea::OnDisable, void,
340-
GlobalNamespace::SaberBurnMarkArea *self) {
341-
DEBUG("SaberBurnmarkArea_OnDisable");
342-
if (self->_lineRenderers) {
343-
DEBUG("Line renderers count: {}", self->_lineRenderers.size());
344-
DEBUG("Line renderer 1 enabled: {}",
345-
self->_lineRenderers[0]->get_enabled());
346-
DEBUG("Line renderer 2 enabled: {}",
347-
self->_lineRenderers[1]->get_enabled());
348-
} else {
349-
DEBUG("No line renderers");
350-
}
351-
SaberBurnmarkArea_OnDisable(self);
352-
if (self->_lineRenderers) {
353-
DEBUG("Line renderers count: {}", self->_lineRenderers.size());
354-
DEBUG("Line renderer 1 enabled: {}",
355-
self->_lineRenderers[0]->get_enabled());
356-
DEBUG("Line renderer 2 enabled: {}",
357-
self->_lineRenderers[1]->get_enabled());
358-
} else {
359-
DEBUG("No line renderers");
360-
}
361-
DEBUG("SaberBurnmarkArea_OnDisableEnd");
362-
};
363-
364291
MAKE_HOOK_MATCH(SaberBurnmarkArea_LateUpdate,
365292
&GlobalNamespace::SaberBurnMarkArea::LateUpdate, void,
366293
GlobalNamespace::SaberBurnMarkArea *self) {
@@ -369,21 +296,6 @@ MAKE_HOOK_MATCH(SaberBurnmarkArea_LateUpdate,
369296
return;
370297
}
371298

372-
// Debugging stuff
373-
// bool prevValue1 = false;
374-
// bool prevValue2 = false;
375-
// bool prevCameraEnabled = false;
376-
377-
// if (self->_lineRenderers && self->_camera) {
378-
// auto liner1 = self->_lineRenderers[0];
379-
// auto liner2 = self->_lineRenderers[1];
380-
// auto camera = self->_camera;
381-
382-
// prevValue1 = liner1->get_enabled();
383-
// prevValue2 = liner2->get_enabled();
384-
// prevCameraEnabled = camera->get_enabled();
385-
// }
386-
387299
// DEBUG("SaberBurnmarkArea_LateUpdate");
388300
SaberBurnmarkArea_LateUpdate(self);
389301

@@ -434,23 +346,6 @@ MAKE_HOOK_MATCH(SaberBurnmarkArea_LateUpdate,
434346
self->____camera->set_enabled(false);
435347
}
436348
}
437-
438-
// Debugging stuff
439-
// if (self->_lineRenderers && self->_camera) {
440-
// auto liner1 = self->_lineRenderers[0];
441-
// auto liner2 = self->_lineRenderers[1];
442-
443-
// if (prevValue1 != liner1->get_enabled()) {
444-
// DEBUG("Line1 changed state {} -> {}", prevValue1, liner1->get_enabled());
445-
// }
446-
// if (prevValue2 != liner2->get_enabled()) {
447-
// DEBUG("Line2 changed state {} -> {}", prevValue2, liner2->get_enabled());
448-
// }
449-
// if (prevCameraEnabled != self->_camera->get_enabled()) {
450-
// DEBUG("Camera changed state {} -> {}", prevCameraEnabled,
451-
// self->_camera->get_enabled());
452-
// }
453-
// }
454349
};
455350

456351
//////////////////////
@@ -606,10 +501,6 @@ GT_EXPORT_FUNC void load() {
606501
// INSTALL_HOOK(Logger, PyramidBloomRendererSO_RenderBloom);
607502

608503
// Burnmark hooks
609-
INSTALL_HOOK(Logger, SaberBurnmarkArea_Start);
610-
INSTALL_HOOK(Logger, SaberBurnmarkArea_OnDestroy);
611-
// INSTALL_HOOK(Logger, SaberBurnmarkArea_OnEnable);
612-
// INSTALL_HOOK(Logger, SaberBurnmarkArea_OnDisable);
613504
INSTALL_HOOK(Logger, SaberBurnmarkArea_LateUpdate);
614505

615506
GraphicsTweaks::Hooks::VRRenderingParamsSetup();

0 commit comments

Comments
 (0)