Addressed an issue where UI would not show for certain resolutions
This commit is contained in:
@@ -21,13 +21,12 @@ void ApplyTransformOffset(SDK::UWidget* Widget, float OffsetX, float OffsetY) {
|
||||
Widget->SetRenderTransform(Transform);
|
||||
}
|
||||
|
||||
void CenterWidget(SDK::UUserWidget* Widget, float offset, float screenWidth, float screenHeight, float aspectRatio, float targetAspect, float compensation) {
|
||||
void CenterWidget(SDK::UUserWidget* Widget, float offset, float screenWidth, float screenHeight, float targetWidth, float targetHeight, float compensation) {
|
||||
if (!Widget) return;
|
||||
float targetHeight = (float)screenHeight; // For UW displays
|
||||
float targetWidth = screenWidth;
|
||||
float aspectRatio = screenWidth / screenHeight;
|
||||
float targetAspect = targetWidth / targetHeight;
|
||||
|
||||
if (aspectRatio > targetAspect) {
|
||||
targetHeight = 1080.f; // clamp at 1080 for UW
|
||||
float scale = targetHeight / screenHeight; // horizontal scale to apply to get the same vertical size as 1080p
|
||||
targetWidth = (float)screenWidth * scale;
|
||||
}
|
||||
|
||||
@@ -35,11 +35,11 @@ static std::unordered_map<std::string, WidgetTrackInfo> g_WidgetTracker;
|
||||
* @param offset offset to apply.
|
||||
* @param screenWidth current screen width.
|
||||
* @param screenHeight current screen height.
|
||||
* @param aspectRatio current screen aspect ratio.
|
||||
* @param targetAspect target aspect ratio to apply compensation for (default is 16:9 depending on game).
|
||||
* @param targetWidth width the game desires to render UI or HUD.
|
||||
* @param targetHeight height the game desires to render UI or HUD.
|
||||
* @param compensation additional compensation after widget resize.
|
||||
*/
|
||||
void CenterWidget(SDK::UUserWidget* Widget, float offset, float screenWidth, float screenHeight, float aspectRatio, float targetAspect = 16.f / 9.f, float compensation = 0.f);
|
||||
void CenterWidget(SDK::UUserWidget* Widget, float offset, float screenWidth, float screenHeight, float targetWidth = 1920.f, float targetHeight = 1080.f, float compensation = 0.f);
|
||||
|
||||
/**
|
||||
* @brief Reposition from left a widget that only displays at left and nothing at right
|
||||
|
||||
Reference in New Issue
Block a user