File tree 1 file changed +21
-0
lines changed
1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -812,6 +812,27 @@ RenderLayer* get_root_layer() {
812
812
813
813
if (get_output_layer_fn == nullptr ) {
814
814
spdlog::error (" [Renderer] Failed to find getOutputLayer" );
815
+
816
+ // Hacky fix for >= TDB74
817
+ for (uint32_t i = 0 ; i < 0x10000 ; i += sizeof (void *)) {
818
+ const auto ptr = *(REManagedObject**)((uintptr_t )renderer + i);
819
+
820
+ if (ptr == nullptr ) {
821
+ continue ;
822
+ }
823
+
824
+ if (!utility::re_managed_object::is_managed_object (ptr)) {
825
+ continue ;
826
+ }
827
+
828
+ if (utility::re_managed_object::is_a (ptr, " via.render.RenderLayer" )) {
829
+ root_layer_offset = i;
830
+ return *(RenderLayer**)((uintptr_t )renderer + root_layer_offset);
831
+ }
832
+ }
833
+
834
+ spdlog::error (" [Renderer] Failed to find root_layer_offset with fallback" );
835
+
815
836
return nullptr ;
816
837
}
817
838
You can’t perform that action at this time.
0 commit comments