MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / BuildSettingsForRatio

Function BuildSettingsForRatio

engine/Poseidon/UI/Settings/AspectRatio.cpp:144–173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

142}
143
144Settings BuildSettingsForRatio(float ratio)
145{
146 ratio = SanitizeRatio(ratio);
147
148 Settings settings{};
149 if (ratio >= kBaseRatio)
150 {
151 settings.leftFOV = kBaseTopFov * ratio;
152 settings.topFOV = kBaseTopFov;
153
154 const float uiWidth = kBaseRatio / ratio;
155 const float insetX = (1.0f - uiWidth) * 0.5f;
156 settings.uiTopLeftX = insetX;
157 settings.uiTopLeftY = 0.0f;
158 settings.uiBottomRightX = 1.0f - insetX;
159 settings.uiBottomRightY = 1.0f;
160 return settings;
161 }
162
163 settings.leftFOV = kBaseLeftFov;
164 settings.topFOV = kBaseLeftFov / ratio;
165
166 const float uiHeight = ratio / kBaseRatio;
167 const float insetY = (1.0f - uiHeight) * 0.5f;
168 settings.uiTopLeftX = 0.0f;
169 settings.uiTopLeftY = insetY;
170 settings.uiBottomRightX = 1.0f;
171 settings.uiBottomRightY = 1.0f - insetY;
172 return settings;
173}
174
175PolicyResult ResolvePolicy(const PolicyInput& input)
176{

Callers 5

ResolvePolicyFunction · 0.85
ResolveSettingsFunction · 0.85
InferPresetFromSettingsFunction · 0.85
ResolveLiveFunction · 0.85

Calls 1

SanitizeRatioFunction · 0.85

Tested by

no test coverage detected