mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-04-28 05:11:37 +00:00
Remove grid snaps in the installer.
This commit is contained in:
parent
a3989adf95
commit
4467a5bfc3
1 changed files with 29 additions and 31 deletions
|
|
@ -602,11 +602,6 @@ static void DrawScanlineBars()
|
||||||
DrawVersionString(g_newRodinFont, IM_COL32(255, 255, 255, 70 * alphaMotion));
|
DrawVersionString(g_newRodinFont, IM_COL32(255, 255, 255, 70 * alphaMotion));
|
||||||
}
|
}
|
||||||
|
|
||||||
static float AlignToNextGrid(float value)
|
|
||||||
{
|
|
||||||
return floor(value / GRID_SIZE) * GRID_SIZE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void DrawContainer(ImVec2 min, ImVec2 max, bool isTextArea)
|
static void DrawContainer(ImVec2 min, ImVec2 max, bool isTextArea)
|
||||||
{
|
{
|
||||||
auto &res = ImGui::GetIO().DisplaySize;
|
auto &res = ImGui::GetIO().DisplaySize;
|
||||||
|
|
@ -642,8 +637,9 @@ static void DrawDescriptionContainer()
|
||||||
auto drawList = ImGui::GetForegroundDrawList();
|
auto drawList = ImGui::GetForegroundDrawList();
|
||||||
auto fontSize = Scale(26.0f);
|
auto fontSize = Scale(26.0f);
|
||||||
|
|
||||||
ImVec2 descriptionMin = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X)), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y)) };
|
ImVec2 descriptionMin = { Scale(g_aspectRatioOffsetX + CONTAINER_X), Scale(g_aspectRatioOffsetY + CONTAINER_Y) };
|
||||||
ImVec2 descriptionMax = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH)), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT)) };
|
ImVec2 descriptionMax = { Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) };
|
||||||
|
SetProceduralOrigin(descriptionMin);
|
||||||
DrawContainer(descriptionMin, descriptionMax, true);
|
DrawContainer(descriptionMin, descriptionMax, true);
|
||||||
|
|
||||||
char descriptionText[512];
|
char descriptionText[512];
|
||||||
|
|
@ -742,6 +738,8 @@ static void DrawDescriptionContainer()
|
||||||
{
|
{
|
||||||
ButtonGuide::Close();
|
ButtonGuide::Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ResetProceduralOrigin();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DrawButtonContainer(ImVec2 min, ImVec2 max, int baser, int baseg, float alpha)
|
static void DrawButtonContainer(ImVec2 min, ImVec2 max, int baser, int baseg, float alpha)
|
||||||
|
|
@ -847,16 +845,16 @@ static void ComputeButtonColumnCoordinates(ButtonColumn buttonColumn, float &min
|
||||||
switch (buttonColumn)
|
switch (buttonColumn)
|
||||||
{
|
{
|
||||||
case ButtonColumnLeft:
|
case ButtonColumnLeft:
|
||||||
minX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) + CONTAINER_BUTTON_GAP);
|
minX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_BUTTON_GAP);
|
||||||
maxX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) + CONTAINER_BUTTON_GAP + CONTAINER_BUTTON_WIDTH);
|
maxX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_BUTTON_GAP + CONTAINER_BUTTON_WIDTH);
|
||||||
break;
|
break;
|
||||||
case ButtonColumnMiddle:
|
case ButtonColumnMiddle:
|
||||||
minX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 2.0f) - CONTAINER_BUTTON_WIDTH / 2.0f);
|
minX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 2.0f - CONTAINER_BUTTON_WIDTH / 2.0f);
|
||||||
maxX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 2.0f) + CONTAINER_BUTTON_WIDTH / 2.0f);
|
maxX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 2.0f + CONTAINER_BUTTON_WIDTH / 2.0f);
|
||||||
break;
|
break;
|
||||||
case ButtonColumnRight:
|
case ButtonColumnRight:
|
||||||
minX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) - CONTAINER_BUTTON_GAP - CONTAINER_BUTTON_WIDTH);
|
minX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH - CONTAINER_BUTTON_GAP - CONTAINER_BUTTON_WIDTH);
|
||||||
maxX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) - CONTAINER_BUTTON_GAP);
|
maxX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH - CONTAINER_BUTTON_GAP);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -868,8 +866,8 @@ static void DrawSourceButton(ButtonColumn buttonColumn, float yRatio, const char
|
||||||
ComputeButtonColumnCoordinates(buttonColumn, minX, maxX);
|
ComputeButtonColumnCoordinates(buttonColumn, minX, maxX);
|
||||||
|
|
||||||
float minusY = (CONTAINER_BUTTON_GAP + BUTTON_HEIGHT) * yRatio;
|
float minusY = (CONTAINER_BUTTON_GAP + BUTTON_HEIGHT) * yRatio;
|
||||||
ImVec2 min = { minX, Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) - CONTAINER_BUTTON_GAP - BUTTON_HEIGHT - minusY) };
|
ImVec2 min = { minX, Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT - CONTAINER_BUTTON_GAP - BUTTON_HEIGHT - minusY) };
|
||||||
ImVec2 max = { maxX, Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) - CONTAINER_BUTTON_GAP - minusY) };
|
ImVec2 max = { maxX, Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT - CONTAINER_BUTTON_GAP - minusY) };
|
||||||
DrawButton(min, max, sourceText, true, sourceSet, buttonPressed);
|
DrawButton(min, max, sourceText, true, sourceSet, buttonPressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -882,8 +880,8 @@ static void DrawProgressBar(float progressRatio)
|
||||||
const uint32_t innerColor1 = IM_COL32(0, 32, 0, 255 * alpha);
|
const uint32_t innerColor1 = IM_COL32(0, 32, 0, 255 * alpha);
|
||||||
float xPadding = Scale(6.0f);
|
float xPadding = Scale(6.0f);
|
||||||
float yPadding = Scale(3.0f);
|
float yPadding = Scale(3.0f);
|
||||||
ImVec2 min = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) + BOTTOM_X_GAP), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP) };
|
ImVec2 min = { Scale(g_aspectRatioOffsetX + CONTAINER_X) + BOTTOM_X_GAP, Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP) };
|
||||||
ImVec2 max = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) - BOTTOM_X_GAP), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
ImVec2 max = { Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH - BOTTOM_X_GAP), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
||||||
|
|
||||||
DrawButtonContainer(min, max, 0, 0, alpha);
|
DrawButtonContainer(min, max, 0, 0, alpha);
|
||||||
|
|
||||||
|
|
@ -1070,8 +1068,8 @@ static void DrawLanguagePicker()
|
||||||
ComputeButtonColumnCoordinates((i < 3) ? ButtonColumnLeft : ButtonColumnRight, minX, maxX);
|
ComputeButtonColumnCoordinates((i < 3) ? ButtonColumnLeft : ButtonColumnRight, minX, maxX);
|
||||||
|
|
||||||
float minusY = (CONTAINER_BUTTON_GAP + BUTTON_HEIGHT) * (float(i % 3));
|
float minusY = (CONTAINER_BUTTON_GAP + BUTTON_HEIGHT) * (float(i % 3));
|
||||||
ImVec2 min = { minX, Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) - CONTAINER_BUTTON_GAP - BUTTON_HEIGHT - minusY) };
|
ImVec2 min = { minX, Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT - CONTAINER_BUTTON_GAP - BUTTON_HEIGHT - minusY) };
|
||||||
ImVec2 max = { maxX, Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) - CONTAINER_BUTTON_GAP - minusY) };
|
ImVec2 max = { maxX, Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT - CONTAINER_BUTTON_GAP - minusY) };
|
||||||
|
|
||||||
// TODO: The active button should change its style to show an enabled toggle if it matches the current language.
|
// TODO: The active button should change its style to show an enabled toggle if it matches the current language.
|
||||||
|
|
||||||
|
|
@ -1096,8 +1094,8 @@ static void DrawSourcePickers()
|
||||||
ImVec2 textSize = ComputeTextSize(g_dfsogeistdFont, addFilesText.c_str(), 20.0f, squashRatio, ADD_BUTTON_MAX_TEXT_WIDTH);
|
ImVec2 textSize = ComputeTextSize(g_dfsogeistdFont, addFilesText.c_str(), 20.0f, squashRatio, ADD_BUTTON_MAX_TEXT_WIDTH);
|
||||||
textSize.x += BUTTON_TEXT_GAP;
|
textSize.x += BUTTON_TEXT_GAP;
|
||||||
|
|
||||||
ImVec2 min = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) + BOTTOM_X_GAP), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP) };
|
ImVec2 min = { Scale(g_aspectRatioOffsetX + CONTAINER_X + BOTTOM_X_GAP), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP) };
|
||||||
ImVec2 max = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) + BOTTOM_X_GAP + textSize.x * squashRatio), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
ImVec2 max = { Scale(g_aspectRatioOffsetX + CONTAINER_X + BOTTOM_X_GAP + textSize.x * squashRatio), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
||||||
DrawButton(min, max, addFilesText.c_str(), false, true, buttonPressed, ADD_BUTTON_MAX_TEXT_WIDTH);
|
DrawButton(min, max, addFilesText.c_str(), false, true, buttonPressed, ADD_BUTTON_MAX_TEXT_WIDTH);
|
||||||
if (buttonPressed)
|
if (buttonPressed)
|
||||||
{
|
{
|
||||||
|
|
@ -1232,8 +1230,8 @@ static void DrawNextButton()
|
||||||
ImVec2 textSize = ComputeTextSize(g_newRodinFont, buttonText.c_str(), 20.0f, squashRatio, NEXT_BUTTON_MAX_TEXT_WIDTH);
|
ImVec2 textSize = ComputeTextSize(g_newRodinFont, buttonText.c_str(), 20.0f, squashRatio, NEXT_BUTTON_MAX_TEXT_WIDTH);
|
||||||
textSize.x += BUTTON_TEXT_GAP;
|
textSize.x += BUTTON_TEXT_GAP;
|
||||||
|
|
||||||
ImVec2 min = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) - textSize.x * squashRatio - BOTTOM_X_GAP), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP) };
|
ImVec2 min = { Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH - textSize.x * squashRatio - BOTTOM_X_GAP), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP) };
|
||||||
ImVec2 max = { Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) - BOTTOM_X_GAP), Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
ImVec2 max = { Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH - BOTTOM_X_GAP), Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BOTTOM_Y_GAP + BUTTON_HEIGHT) };
|
||||||
|
|
||||||
bool buttonPressed = false;
|
bool buttonPressed = false;
|
||||||
DrawButton(min, max, buttonText.c_str(), false, nextButtonEnabled, buttonPressed, NEXT_BUTTON_MAX_TEXT_WIDTH);
|
DrawButton(min, max, buttonText.c_str(), false, nextButtonEnabled, buttonPressed, NEXT_BUTTON_MAX_TEXT_WIDTH);
|
||||||
|
|
@ -1318,10 +1316,10 @@ static void DrawHorizontalBorder(bool bottomBorder)
|
||||||
const uint32_t FADE_COLOR_RIGHT = IM_COL32(155, 225, 155, 0);
|
const uint32_t FADE_COLOR_RIGHT = IM_COL32(155, 225, 155, 0);
|
||||||
auto drawList = ImGui::GetForegroundDrawList();
|
auto drawList = ImGui::GetForegroundDrawList();
|
||||||
double borderScale = 1.0 - ComputeMotionInstaller(g_appearTime, g_disappearTime, CONTAINER_LINE_ANIMATION_TIME, CONTAINER_LINE_ANIMATION_DURATION);
|
double borderScale = 1.0 - ComputeMotionInstaller(g_appearTime, g_disappearTime, CONTAINER_LINE_ANIMATION_TIME, CONTAINER_LINE_ANIMATION_DURATION);
|
||||||
float midX = Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 5));
|
float midX = Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH / 5);
|
||||||
float minX = std::lerp(Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) - BORDER_SIZE - BORDER_OVERSHOOT), midX, borderScale);
|
float minX = std::lerp(Scale(g_aspectRatioOffsetX + CONTAINER_X - BORDER_SIZE - BORDER_OVERSHOOT), midX, borderScale);
|
||||||
float maxX = std::lerp(Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH + SIDE_CONTAINER_WIDTH) + BORDER_OVERSHOOT), midX, borderScale);
|
float maxX = std::lerp(Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH + SIDE_CONTAINER_WIDTH + BORDER_OVERSHOOT), midX, borderScale);
|
||||||
float minY = bottomBorder ? Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT)) : Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y) - BORDER_SIZE);
|
float minY = bottomBorder ? Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) : Scale(g_aspectRatioOffsetY + CONTAINER_Y - BORDER_SIZE);
|
||||||
float maxY = minY + Scale(BORDER_SIZE);
|
float maxY = minY + Scale(BORDER_SIZE);
|
||||||
drawList->AddRectFilledMultiColor
|
drawList->AddRectFilledMultiColor
|
||||||
(
|
(
|
||||||
|
|
@ -1350,11 +1348,11 @@ static void DrawVerticalBorder(bool rightBorder)
|
||||||
const uint32_t FADE_COLOR = IM_COL32(155, rightBorder ? 225 : 155, 155, 0);
|
const uint32_t FADE_COLOR = IM_COL32(155, rightBorder ? 225 : 155, 155, 0);
|
||||||
auto drawList = ImGui::GetForegroundDrawList();
|
auto drawList = ImGui::GetForegroundDrawList();
|
||||||
double borderScale = 1.0 - ComputeMotionInstaller(g_appearTime, g_disappearTime, CONTAINER_LINE_ANIMATION_TIME, CONTAINER_LINE_ANIMATION_DURATION);
|
double borderScale = 1.0 - ComputeMotionInstaller(g_appearTime, g_disappearTime, CONTAINER_LINE_ANIMATION_TIME, CONTAINER_LINE_ANIMATION_DURATION);
|
||||||
float minX = rightBorder ? Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH)) : Scale(AlignToNextGrid(g_aspectRatioOffsetX + CONTAINER_X) - BORDER_SIZE);
|
float minX = rightBorder ? Scale(g_aspectRatioOffsetX + CONTAINER_X + CONTAINER_WIDTH) : Scale(g_aspectRatioOffsetX + CONTAINER_X - BORDER_SIZE);
|
||||||
float maxX = minX + Scale(BORDER_SIZE);
|
float maxX = minX + Scale(BORDER_SIZE);
|
||||||
float midY = Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT / 2));
|
float midY = Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT / 2);
|
||||||
float minY = std::lerp(Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y) - BORDER_OVERSHOOT), midY, borderScale);
|
float minY = std::lerp(Scale(g_aspectRatioOffsetY + CONTAINER_Y - BORDER_OVERSHOOT), midY, borderScale);
|
||||||
float maxY = std::lerp(Scale(AlignToNextGrid(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT) + BORDER_OVERSHOOT), midY, borderScale);
|
float maxY = std::lerp(Scale(g_aspectRatioOffsetY + CONTAINER_Y + CONTAINER_HEIGHT + BORDER_OVERSHOOT), midY, borderScale);
|
||||||
drawList->AddRectFilledMultiColor
|
drawList->AddRectFilledMultiColor
|
||||||
(
|
(
|
||||||
{ minX, minY },
|
{ minX, minY },
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue