diff --git a/Dependencies/GWCA/bin/gwca.dll b/Dependencies/GWCA/bin/gwca.dll index 27d20585d..b3b590fa4 100644 Binary files a/Dependencies/GWCA/bin/gwca.dll and b/Dependencies/GWCA/bin/gwca.dll differ diff --git a/Dependencies/GWCA/include/GWCA/Managers/UIMgr.h b/Dependencies/GWCA/include/GWCA/Managers/UIMgr.h index 9c2db5cc2..e48889f72 100644 --- a/Dependencies/GWCA/include/GWCA/Managers/UIMgr.h +++ b/Dependencies/GWCA/include/GWCA/Managers/UIMgr.h @@ -1057,12 +1057,16 @@ namespace GW { GWCA_API Frame* GetRootFrame(); GWCA_API Frame* GetChildFrame(Frame* parent, uint32_t child_offset); - template - requires (std::is_integral_v && ...) - Frame* GetChildFrame(Frame* parent, Offsets... offsets) { - Frame* result = parent; - ((result = result ? GetChildFrame(result, offsets) : nullptr), ...); - return result; + template + requires (std::integral && (std::integral && ...)) + Frame* GetChildFrame(Frame* parent, First first, Rest... rest) { + Frame* intermediate = GetChildFrame(parent, static_cast(first)); + if constexpr (sizeof...(rest) > 0) { + return GetChildFrame(intermediate, rest...); + } + else { + return intermediate; + } } GWCA_API Frame* GetParentFrame(Frame* frame);