Skip to content

Commit 09bc660

Browse files
committed
add system scripts, add system info to main menu of demo
1 parent 866f8dc commit 09bc660

File tree

6 files changed

+109
-7
lines changed

6 files changed

+109
-7
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ room_names = [
3131
"Web"
3232
];
3333

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+
3440
menu = instance_create_layer(32, 64, layer, obj_column_menu);
3541
menu.column_menu_init({
3642
font: fnt_demo,

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,12 @@ 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");
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);

current-scripts/Demos/useful-scripts/options/operagx/options_operagx.yy

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
global._os_type_strings = [];
2+
global._os_type_strings[os_windows] = "Windows";
3+
global._os_type_strings[os_uwp] = "Universal Windows Platform";
4+
global._os_type_strings[os_operagx] = "Opera GX";
5+
global._os_type_strings[os_linux] = "Linux";
6+
global._os_type_strings[os_macosx] = "macOS";
7+
global._os_type_strings[os_ios] = "iOS";
8+
global._os_type_strings[os_tvos] = "Apple tvOS";
9+
global._os_type_strings[os_android] = "Android";
10+
global._os_type_strings[os_ps4] = "PlayStation 4";
11+
global._os_type_strings[os_ps5] = "PlayStation 5";
12+
global._os_type_strings[os_xboxone] = "Xbox One";
13+
global._os_type_strings[os_xboxseriesxs] = "Xbox Series X/S";
14+
global._os_type_strings[os_switch] = "Nintendo Switch";
15+
16+
global._os_browser_strings = [];
17+
global._os_browser_strings[browser_unknown] = "Unknown Browser";
18+
global._os_browser_strings[browser_ie] = "Internet Explorer";
19+
global._os_browser_strings[browser_ie_mobile] = "Mobile Internet Explorer";
20+
global._os_browser_strings[browser_firefox] = "Firefox";
21+
global._os_browser_strings[browser_chrome] = "Chrome";
22+
global._os_browser_strings[browser_safari] = "Safari";
23+
global._os_browser_strings[browser_safari_mobile] = "Mobile Safari";
24+
global._os_browser_strings[browser_opera] = "Opera";
25+
global._os_browser_strings[browser_tizen] = "Tizen";
26+
global._os_browser_strings[browser_windows_store] = "Windows App";
27+
28+
function get_os_type_string(_os_type){
29+
if (_os_type >= 0 && _os_type < array_length(global._os_type_strings)) {
30+
return global._os_type_strings[_os_type];
31+
} else {
32+
return "Unknown OS";
33+
}
34+
}
35+
36+
function get_os_version_string(_os_version) {
37+
// Browser
38+
if (os_browser != browser_not_a_browser || os_type == os_operagx) {
39+
return "N/A";
40+
}
41+
42+
// Windows
43+
if (os_type == os_windows) {
44+
var _major_v = _os_version >> 16;
45+
var _minor_v = _os_version & 65535;
46+
return string(_major_v) + "." + string(_minor_v);
47+
}
48+
49+
// macOS and iOS
50+
if (os_type == os_macosx || os_type == os_ios) {
51+
var _major_v = _os_version >> 24;
52+
var _minor_v = (_os_version >> 12) & 4095;
53+
var _build = _os_version & 4095;
54+
return string(_major_v) + "." + string(_minor_v) + "." + string(_build);
55+
}
56+
57+
// All other cases (including unknown platform)
58+
return string(_os_version);
59+
}
60+
61+
function get_os_browser_string(_os_browser) {
62+
if (_os_browser == browser_not_a_browser) {
63+
return "Not a browser";
64+
} else if (_os_browser >= 0 && _os_browser < array_length(global._os_browser_strings)) {
65+
return global._os_browser_strings[_os_browser];
66+
} else {
67+
return global._os_browser_strings[browser_unknown];
68+
}
69+
}

current-scripts/Demos/useful-scripts/scripts/system/system.yy

Lines changed: 12 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/useful-scripts.yyp

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

0 commit comments

Comments
 (0)