Skip to content

Commit be8cf69

Browse files
committed
added steam deck integration for control manager
1 parent 09bc660 commit be8cf69

File tree

14 files changed

+224
-22
lines changed

14 files changed

+224
-22
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1+
control_manager_functions();
2+
13
players = ds_list_create();
24
num_players = 0;
3-
4-
control_manager_functions();
5+
steam_deck_info = get_steam_deck_info();

current-scripts/Demos/useful-scripts/objects/obj_control_manager/obj_control_manager.yy

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

current-scripts/Demos/useful-scripts/objects/obj_control_manager_demo/Create_0.gml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ my_player.set_binding(CONTROL_TYPE.GAMEPAD, CONTROL_SOURCE.GAMEPAD, CONTROLS.INT
5050
my_player.set_binding(CONTROL_TYPE.GAMEPAD, CONTROL_SOURCE.GAMEPAD, CONTROLS.ITEM, 0, gp_face4);
5151

5252
num_controllers_connected = 0;
53-
current_gamepad_index = 0;
53+
current_gamepad_index = control_manager.is_on_steam_deck()
54+
? control_manager.get_steam_deck_gamepad_index()
55+
: 0;
5456
device_count = gamepad_get_device_count();
5557

5658
for (var i=0; i<device_count; i++) {

current-scripts/Demos/useful-scripts/objects/obj_demo_title/Create_0.gml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ rooms = [
1111
room_grid_menu_demo,
1212
room_nested_menu_demo,
1313
room_strings_demo,
14-
room_web_demo
14+
room_web_demo,
15+
room_system_info
1516
];
1617
num_rooms = array_length(rooms);
1718

@@ -28,15 +29,10 @@ room_names = [
2829
"Grid Menu",
2930
"Nested Menu",
3031
"Strings",
31-
"Web"
32+
"Web",
33+
"System Info"
3234
];
3335

34-
os_type_str = get_os_type_string(os_type);
35-
os_version_str = get_os_version_string(os_version);
36-
os_browser_str = get_os_browser_string(os_browser);
37-
os_language = os_get_language();
38-
os_region = os_get_region();
39-
4036
menu = instance_create_layer(32, 64, layer, obj_column_menu);
4137
menu.column_menu_init({
4238
font: fnt_demo,

current-scripts/Demos/useful-scripts/objects/obj_demo_title/Draw_0.gml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,4 @@ draw_set_colour(c_white);
22
draw_set_font(fnt_title);
33
draw_set_halign(fa_left);
44
draw_set_valign(fa_top);
5-
draw_text(16, 16, "Useful GML Script Demos");
6-
7-
draw_set_font(fnt_demo);
8-
draw_text(640, 16, "OS Type: " + os_type_str);
9-
draw_text(640, 48, "OS Version: " + os_version_str);
10-
draw_text(640, 80, "Browser: " + os_browser_str);
11-
draw_text(640, 112, "Connected to Network: " + (os_is_network_connected() ? "Yes" : "No"));
12-
draw_text(640, 144, "Language: " + os_language);
13-
draw_text(640, 176, "Region: " + os_region);
5+
draw_text(16, 16, "Useful GML Script Demos");
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// System Info
2+
os_type_str = get_os_type_string(os_type);
3+
os_version_str = get_os_version_string(os_version);
4+
os_browser_str = get_os_browser_string(os_browser);
5+
os_language = os_get_language();
6+
os_region = os_get_region();
7+
8+
// Used for debugging Steam Deck detection
9+
os_info = -1;
10+
gl_vendor = "";
11+
gl_version = "";
12+
gl_renderer = "";
13+
steam_deck_info = -1;
14+
15+
if (os_type == os_linux) {
16+
os_info = os_get_info();
17+
18+
if (os_info != -1) {
19+
gl_vendor = os_info[? "gl_vendor_string"];
20+
gl_version = os_info[? "gl_version_string"];
21+
gl_renderer = os_info[? "gl_renderer_string"];
22+
}
23+
24+
ds_map_destroy(os_info);
25+
26+
steam_deck_info = get_steam_deck_info();
27+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
draw_set_colour(c_white);
2+
draw_set_font(fnt_title);
3+
draw_set_halign(fa_left);
4+
draw_set_valign(fa_top);
5+
6+
draw_text(16, 16, "System Info");
7+
if (os_type == os_linux) {
8+
draw_text(16, 272, "Linux Info (for debugging Steam Deck stuff)");
9+
}
10+
11+
draw_set_font(fnt_demo);
12+
draw_text(16, 48, "OS Type: " + os_type_str);
13+
draw_text(16, 80, "OS Version: " + os_version_str);
14+
draw_text(16, 112, "Browser: " + os_browser_str);
15+
draw_text(16, 144, "Connected to Network: " + (os_is_network_connected() ? "Yes" : "No"));
16+
draw_text(16, 176, "Language: " + os_language);
17+
draw_text(16, 208, "Region: " + os_region);
18+
19+
if (os_type == os_linux) {
20+
draw_text(16, 304, "Vendor: " + gl_vendor);
21+
draw_text(16, 336, "Version: " + gl_version);
22+
draw_text(16, 368, "Renderer: " + gl_renderer);
23+
draw_text(16, 400, "Is On Steam Deck: " + (steam_deck_info.is_on_steam_deck ? "Yes" : "No"));
24+
draw_text(16, 432, "Steam Deck Gamepad Index: " + string(steam_deck_info.gamepad_index));
25+
}

current-scripts/Demos/useful-scripts/objects/obj_system_info/obj_system_info.yy

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

current-scripts/Demos/useful-scripts/options/linux/options_linux.yy

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

current-scripts/Demos/useful-scripts/options/windows/options_windows.yy

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)