-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add option to disable creating a native window for game launchers #18093
Merged
spham-amzn
merged 10 commits into
o3de:stabilization/2409
from
spham-amzn:console_only_game_launcher_support
Jul 16, 2024
Merged
Add option to disable creating a native window for game launchers #18093
spham-amzn
merged 10 commits into
o3de:stabilization/2409
from
spham-amzn:console_only_game_launcher_support
Jul 16, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e launcher project - Added settings registry key `/O3DE/Atom/Bootstrap/CreateNativeWindow` to control the creation of a native window on the game client. (Default is true) - Make sure that the Application Multisample State is set and initialized even if the native window is not created - Make sure that we don't capture the mouse if there is no native window created (Even if we don't disable mouse capture) Signed-off-by: Steve Pham <[email protected]>
lemonade-dm
reviewed
Jul 3, 2024
* Add enabling console mode through 3 different ways: * Settings Registry '/O3DE/Launcher/Bootstrap/ConsoleMode' * '-console-mode' command-line argument * '-rhi-null' detection - Add trait to allow console only mode on Linux only since Windows can only do console-mode based on compile time settings Signed-off-by: Steve Pham <[email protected]>
- Code clean-up - Remove in-advertant change Signed-off-by: Steve Pham <[email protected]>
Signed-off-by: Steve Pham <[email protected]>
Signed-off-by: Steve Pham <[email protected]>
gadams3
approved these changes
Jul 9, 2024
moudgils
reviewed
Jul 10, 2024
Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.h
Outdated
Show resolved
Hide resolved
Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.cpp
Show resolved
Hide resolved
…eApplication.h Co-authored-by: moudgils <[email protected]> Signed-off-by: Steve Pham <[email protected]>
- Add checks to include '-NullRenderer' from the command line and '/O3DE/Atom/RPI/Initialization/NullRenderer' from the settings registry - Add comments to describe each 'ApplicationType' Signed-off-by: Steve Pham <[email protected]>
moudgils
approved these changes
Jul 11, 2024
michalpelka
approved these changes
Jul 12, 2024
Signed-off-by: Steve Pham <[email protected]>
Signed-off-by: Steve Pham <[email protected]>
…le_only_game_launcher_support Signed-off-by: Steve Pham <[email protected]>
byrcolin
added
the
needs-sig
Indicates an issue or PR lacks a `sig/foo` label and requires one.
label
Jul 16, 2024
spham-amzn
added
the
sig/simulation
Categorizes an issue or PR as relevant to SIG Simulation
label
Jul 16, 2024
spham-amzn
added a commit
to spham-amzn/o3de
that referenced
this pull request
Jul 17, 2024
…de#18093) * Initial implementation of enabling a 'window-less' client for the game launcher project - Added settings registry key `/O3DE/Atom/Bootstrap/ConsoleMode` to control the creation of a native window on the game client. (Default is false) - Make sure that the Application Multisample State is set and initialized even if the native window is not created - Make sure that we don't capture the mouse if there is no native window created (Even if we don't disable mouse capture) - Add new application type query flag : isConsoleMode - Add enabling console mode through 3 different ways: - '-console-mode' command-line argument - '-rhi-null' detection - Add trait to allow console only mode on Linux only since Windows can only do console-mode based on compile time settings Signed-off-by: Steve Pham <[email protected]> * - Add more comments - Code clean-up - Remove in-advertant change Signed-off-by: Steve Pham <[email protected]> * Add missing newline at end of the traits files Signed-off-by: Steve Pham <[email protected]> * Minor fix to console mode Signed-off-by: Steve Pham <[email protected]> * Update Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.h Co-authored-by: moudgils <[email protected]> Signed-off-by: Steve Pham <[email protected]> * Updates based on PR comments - Add checks to include '-NullRenderer' from the command line and '/O3DE/Atom/RPI/Initialization/NullRenderer' from the settings registry - Add comments to describe each 'ApplicationType' Signed-off-by: Steve Pham <[email protected]> * Initialize the MSAA when in console-only mode Signed-off-by: Steve Pham <[email protected]> * Update comments Signed-off-by: Steve Pham <[email protected]> --------- Signed-off-by: Steve Pham <[email protected]> Co-authored-by: moudgils <[email protected]> Signed-off-by: Steve Pham <[email protected]>
spham-amzn
added a commit
that referenced
this pull request
Jul 22, 2024
…8093) (#18137) * Initial implementation of enabling a 'window-less' client for the game launcher project - Added settings registry key `/O3DE/Atom/Bootstrap/ConsoleMode` to control the creation of a native window on the game client. (Default is false) - Make sure that the Application Multisample State is set and initialized even if the native window is not created - Make sure that we don't capture the mouse if there is no native window created (Even if we don't disable mouse capture) - Add new application type query flag : isConsoleMode - Add enabling console mode through 3 different ways: - '-console-mode' command-line argument - '-rhi-null' detection - '-NullRenderer' detection - '/O3DE/Atom/RPI/Initialization/NullRenderer' registry detection --------- Signed-off-by: Steve Pham <[email protected]>
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
needs-sig
Indicates an issue or PR lacks a `sig/foo` label and requires one.
sig/simulation
Categorizes an issue or PR as relevant to SIG Simulation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a feature to optionally disable the creation of native client windows when launching the
GameLauncher
executable. This use case supports a semi-headless scenario where the game launcher launches a simulation that does not need the native window because the simulation will be part of a wider ROS2 simulation run.The option to disable the native window will creation will be controlled by any of the following:
Settings Registry
or
Command line argument
-console-mode
Setting the null renderer through command line argument
-rhi=null
or
-NullRenderer
This implements o3de/sig-simulation#89
How was this PR tested?
Tested with the RobotManipulation and RobotVacuum projects with the following scenarios:
Linux
-console-mode
argument-rhi=null
argumentbootstrap.setreg
with the key/O3DE/Launcher/Bootstrap/ConsoleMode
set totrue
Windows