You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 5, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -217,8 +217,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
217
217
218
218
**Note:** Changing the game window resolution while an Activity is active requires ending the Activity. A dialog box will appear asking to confirm the change.
219
219
220
-
- Moved from C-style random number generation to C++ standard. This includes usage of an mt19937 random number generator.
221
-
- For C++ coders the functions SelectRand, PosRand and RangeRand have been replaced by the function template RandomNum() and its overload RandomNum(T min, T max). The function NormalRand has been replaced by the function template RandomNormalNum(). For lua coders there is no change.
220
+
- Moved from C-style random number generation to C++ standard. This includes usage of an mt19937 random number generator.
221
+
For C++ coders the functions SelectRand, PosRand and RangeRand have been replaced by the function template RandomNum() and its overload RandomNum(T min, T max). The function NormalRand has been replaced by the function template RandomNormalNum(). For lua coders there is no change.
222
+
223
+
- Resolution validation changed to support multiple screens. Incompatible/bad resolution settings will be overridden at startup with messages explaining the issue.
224
+
**Note:** For multi-screen to work properly, the left-most screen MUST be set as primary. Screens having different resolutions does not actually matter but different heights will still be warned about and overridden due to the likeliness of GUI elementes being cropped on the shortest screen.
225
+
Resolution validation can be disabled for multi-screen setups with `Settings.ini` property `DisableMultiScreenResolutionValidation`. Bad settings are likely to crash, use at own risk.
226
+
For setups with more than 3 screens `DisableMultiScreenResolutionValidation` must be set true.
222
227
223
228
- Damage to actors from impulses is now relative to their max health instead of being on a scale from 0 to 100.
allegro_message("Number of screens is too damn high! Overriding to defaults!\n\nPlease disable multi-screen resolution validation in \"Settings.ini\" and run at your own risk!");
"Due to limitations in Cortex Command's graphics API it is impossible to properly run multi-screen mode when the left-most screen is not set as primary.\n"
165
+
"Please configure your left-most screen to be primary to utilize all screens, as the game window will extend right but will not extend left, leaving any screen left of the primary unused.\n\n"
166
+
"You can disable multi-screen resolution validation in \"Settings.ini\" and run at your own risk!\n\nResolution settings will be overridden to fit primary screen only!"
allegro_message("Center screen height is not identical to primary screen, overriding to fit primary screen only!\n\nYou can disable multi-screen resolution validation in \"Settings.ini\" and run at your own risk!");
allegro_message("Right screen height is not identical to primary screen, overriding to extend to center screen only!\n\nYou can disable multi-screen resolution validation in \"Settings.ini\" and run at your own risk!");
/// Sets and switches to a new windowed mode resolution multiplier.
148
154
/// </summary>
@@ -551,8 +557,13 @@ namespace RTE {
551
557
552
558
int m_GfxDriver; //!< The graphics driver that will be used for rendering.
553
559
554
-
unsignedshort m_ScreenResX; //!< Width of the physical screen (desktop resolution).
555
-
unsignedshort m_ScreenResY; //!< Height of the physical screen (desktop resolution).
560
+
bool m_DisableMultiScreenResolutionValidation; //!< Whether to disable resolution validation when running multi-screen mode or not. Allows setting whatever crazy resolution that may or may not crash.
561
+
562
+
unsignedshort m_NumScreens; //!< Number of physical screens.
563
+
unsignedshort m_ScreenResX; //!< Width of the primary or all physical screens combined if more than one available (desktop resolution).
564
+
unsignedshort m_ScreenResY; //!< Height of the primary or tallest screen if more than one available (desktop resolution).
565
+
unsignedshort m_PrimaryScreenResX; //!< Width of the primary physical screen only.
566
+
unsignedshort m_PrimaryScreenResY; //!< Height of the primary physical screen only.
556
567
557
568
unsignedshort m_ResX; //!< Game window width.
558
569
unsignedshort m_ResY; //!< Game window height.
@@ -666,6 +677,14 @@ namespace RTE {
666
677
/// <param name="resMultiplier">Game window resolution multiplier to check.</param>
/// Checks whether the passed in multi-screen resolution settings make sense. If not, overrides them to prevent crashes or unexpected behavior. This is called during ValidateResolution().
682
+
/// </summary>
683
+
/// <param name="resX">Game window width to check.</param>
684
+
/// <param name="resY">Game window height to check.</param>
685
+
/// <param name="resMultiplier">Game window resolution multiplier to check.</param>
0 commit comments