Compare commits

...

5 commits

Author SHA1 Message Date
ceed12c320 test release 2024-08-04 10:39:05 -07:00
192371e4f7 minor improvements 2024-02-01 20:15:52 -07:00
2f221bbb7a gamepad test 2024-01-27 09:12:30 -07:00
2c525d1658 updaye 2024-01-19 19:39:05 -07:00
00905e5371 fix 2024-01-18 17:56:33 -07:00
13 changed files with 287 additions and 16 deletions

3
.gitignore vendored
View file

@ -1,2 +1,5 @@
# Godot 4+ specific ignores # Godot 4+ specific ignores
.godot/ .godot/
The Red Robot Radio.arm64
The Red Robot Radio.pck
The Red Robot Radio.x86_64

View file

@ -1,22 +1,39 @@
extends Label extends Label
var housefreedom var housefreedom
var welcometext = ""
var playername
func _ready(): func _ready():
if OS.get_data_dir().begins_with("/home"):
playername = OS.get_data_dir().rsplit("/", true, 7)[2]
else:
playername = "player"
housefreedom = OS.get_processor_name().contains("AMD Custom APU") && OS.get_processor_name().contains("0405") housefreedom = OS.get_processor_name().contains("AMD Custom APU") && OS.get_processor_name().contains("0405")
if (OS.get_name() != "Linux" && !OS.get_name().ends_with("BSD")) || OS.get_distribution_name().contains("Kali") || !OS.get_data_dir().begins_with("/home") || OS.get_environment("WSL_DISTRO_NAME").length() < 0: if OS.get_distribution_name().contains("Kali") || OS.get_environment("WSL_DISTRO_NAME").length() < 0:
Global.sk = true Global.sk = true
if Global.sk: if Global.sk:
_sk() _sk()
else: else:
if Global.firstrun: if Global.firstrun:
if housefreedom: welcometext = "Welcome to your first session "+playername
set_text("Welcome to your first session "+OS.get_data_dir().rsplit("/", true, 7)[2]+"\nSteam machines are not dead yet");
else:
set_text("Welcome to your first session "+OS.get_data_dir().rsplit("/", true, 7)[2]);
else: else:
if housefreedom: welcometext = "Welcome back "+playername
set_text("Welcome back "+OS.get_data_dir().rsplit("/", true, 7)[2]+"\nSteam machines are not dead yet"); if housefreedom:
else: welcometext = welcometext+"\nSteam machines are not dead yet"
set_text("Welcome back "+OS.get_data_dir().rsplit("/", true, 7)[2]); if OS.get_environment("MANGOHUD").contains("1"):
Global.mangohud = true
welcometext = welcometext+"\nYour overlay already has a FPS counter, built-in one is disabled"
#This can be used to detect background process, may be useful later
#var output = []
# Execute "get-process" in powershell and save data in "output":
#var chrome_active = false
#OS.execute('/bin/bash', ['-c', "ps aux | grep obs"], output, true)
#var result = output[0].rsplit("/", true, 7).size()
#print(output)
#chrome_active = result > 5 # If there is more than 0 chrome processes, it will be true
#if chrome_active:
# welcometext = welcometext+"\nBe careful"
#print("Number of chrome processes: " + str(result))
set_text(welcometext)
func _sk(): func _sk():
set_text("Script Kiddie detected, only true hackers can cheat here"); set_text("Script Kiddie detected, only true hackers can cheat here");

View file

@ -1,5 +1,7 @@
# r3-next # r3-next
<img src=https://git.asgardius.company/asgardius/r3-next/raw/branch/main/icon.png>
The Red Robot Radio game (standard version) The Red Robot Radio game (standard version)
Humans dissapeared from Earth and machines are looking for a way to bring them back. Before their extinction, humans built a Radio Station at 243 Ida as an attempt to avoid losing their culture. You are a maintenance robot that must keep this radio station in good health while humans from Earth are missing. Travel between Earth and the Asteroid Belt to give supplies to Frank Pi, the radio host whose colour that gives the name to its station (and this game). Includes 13 of the best of Keygen Music Themes. Dodge space junk, old trashcans, astronauts, even martians (because they hate the Asteroid Belt) Humans dissapeared from Earth and machines are looking for a way to bring them back. Before their extinction, humans built a Radio Station at 243 Ida as an attempt to avoid losing their culture. You are a maintenance robot that must keep this radio station in good health while humans from Earth are missing. Travel between Earth and the Asteroid Belt to give supplies to Frank Pi, the radio host whose colour that gives the name to its station (and this game). Includes 13 of the best of Keygen Music Themes. Dodge space junk, old trashcans, astronauts, even martians (because they hate the Asteroid Belt)
@ -8,8 +10,8 @@ Made with Godot Engine
# Known issues # Known issues
* PlayStation 4 controller does not recognize some buttons
This game only offers official releases for GNU/Linux. Don't ask for releases on other platforms (except for BSD). This game only offers official releases for GNU/Linux. Don't ask for releases on other platforms (except for BSD).
Remember: Godot Does what Unitydn't (if you are from the 1990 decade you will know where it came from) Remember: Godot Does what Unitydn't (if you are from the 1990 decade you will know where it came from)
Official video channel https://video.asgardius.company/c/asgardius_virtualx

View file

@ -19,7 +19,7 @@ encrypt_directory=false
custom_template/debug="" custom_template/debug=""
custom_template/release="" custom_template/release=""
debug/export_console_wrapper=1 debug/export_console_wrapper=1
binary_format/embed_pck=true binary_format/embed_pck=false
texture_format/bptc=true texture_format/bptc=true
texture_format/s3tc=true texture_format/s3tc=true
texture_format/etc=false texture_format/etc=false

View file

@ -13,7 +13,7 @@ var firstrun
var musictracks = ["res://music/x-force.wav", "res://music/alien-bulls.wav", "res://music/eternity.wav", "res://music/truth.wav", "res://music/broken.wav", "res://music/maran.wav", "res://music/orion.wav", "res://music/rose.wav", "res://music/oskars.wav", "res://music/rock.wav", "res://music/yes-i-see.wav", "res://music/tekilla.wav", "res://music/sweetest-sin.wav"] var musictracks = ["res://music/x-force.wav", "res://music/alien-bulls.wav", "res://music/eternity.wav", "res://music/truth.wav", "res://music/broken.wav", "res://music/maran.wav", "res://music/orion.wav", "res://music/rose.wav", "res://music/oskars.wav", "res://music/rock.wav", "res://music/yes-i-see.wav", "res://music/tekilla.wav", "res://music/sweetest-sin.wav"]
var sfxtracks = ["res://sfx/title.wav", "res://sfx/crash.ogg", "res://sfx/complete.ogg"] var sfxtracks = ["res://sfx/title.wav", "res://sfx/crash.ogg", "res://sfx/complete.ogg"]
var debug = false var debug = false
var release = "R0.1.3-beta" var release = "R0.1.4-beta"
var sk = false var sk = false
var xm = 0 var xm = 0
var ym = 0 var ym = 0

View file

@ -478,9 +478,9 @@ Matrix Chat
You are free to distribute this game and make modifications, but remember sharing your modifications with source code You are free to distribute this game and make modifications, but remember sharing your modifications with source code
You are free to create guides, but i suggest avoiding cheat codes You can reuse assets for non-commercial purposes only
You can reuse assets for non-commercial purposes only" Be kind and have a happy unfunaversary"
horizontal_alignment = 1 horizontal_alignment = 1
script = ExtResource("6_3q8sp") script = ExtResource("6_3q8sp")

View file

@ -2,7 +2,7 @@ extends Control
func _ready(): func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
Global.debug = true Global.debug = true
$"VBoxContainer/Scene Selector".grab_focus() $"VBoxContainer/Gamepad Test".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
@ -37,3 +37,7 @@ func _on_sound_test_pressed():
func _on_back_pressed(): func _on_back_pressed():
Global.debug = false Global.debug = false
get_tree().change_scene_to_file("res://levels/tmenu.tscn") get_tree().change_scene_to_file("res://levels/tmenu.tscn")
func _on_gamepad_test_pressed():
get_tree().change_scene_to_file("res://levels/gamepadtest.tscn")

View file

@ -54,6 +54,12 @@ offset_right = 129.5
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 0 grow_vertical = 0
[node name="Gamepad Test" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_821nm")
text = "Gamepad Test"
[node name="Scene Selector" type="Button" parent="VBoxContainer"] [node name="Scene Selector" type="Button" parent="VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
@ -76,6 +82,7 @@ text = "Back"
layout_mode = 1 layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"] [connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Gamepad Test" to="." method="_on_gamepad_test_pressed"]
[connection signal="pressed" from="VBoxContainer/Scene Selector" to="." method="_on_scene_selector_pressed"] [connection signal="pressed" from="VBoxContainer/Scene Selector" to="." method="_on_scene_selector_pressed"]
[connection signal="pressed" from="VBoxContainer/Sound Test" to="." method="_on_sound_test_pressed"] [connection signal="pressed" from="VBoxContainer/Sound Test" to="." method="_on_sound_test_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"] [connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

79
levels/gamepadtest.gd Normal file
View file

@ -0,0 +1,79 @@
extends Control
var joyname
var lxaxis
var lyaxis
var rxaxis
var ryaxis
var dpadup
var dpaddown
var dpadleft
var dpadright
var lt
var rt
var ls
var rs
var l3
var r3
var view
var menu
var xb
var yb
var ab
var bb
# Called when the node enters the scene tree for the first time.
func _ready():
joyname = $Info
lxaxis = $"BoxContainer/VBoxContainer/Left X Axis"
lyaxis = $"BoxContainer/VBoxContainer/Left Y Axis"
rxaxis = $"BoxContainer/VBoxContainer2/Right X Axis"
ryaxis = $"BoxContainer/VBoxContainer2/Right Y Axis"
dpadup = $"BoxContainer/VBoxContainer/DPAD Up"
dpaddown = $"BoxContainer/VBoxContainer2/DPAD Down"
dpadleft = $"BoxContainer/VBoxContainer/DPAD Left"
dpadright = $"BoxContainer/VBoxContainer2/DPAD Right"
lt = $"BoxContainer/VBoxContainer/Left Trigger"
rt = $"BoxContainer/VBoxContainer2/Right Trigger"
ls = $"BoxContainer/VBoxContainer/Left Shoulder"
rs = $"BoxContainer/VBoxContainer2/Right Shoulder"
l3 = $"BoxContainer/VBoxContainer/Left Stick"
r3 = $"BoxContainer/VBoxContainer2/Right Stick"
view = $BoxContainer/VBoxContainer/View
menu = $BoxContainer/VBoxContainer2/Menu
xb = $BoxContainer/VBoxContainer/X
yb = $BoxContainer/VBoxContainer2/Y
ab = $BoxContainer/VBoxContainer/A
bb = $BoxContainer/VBoxContainer2/B
#pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _input(event):
if Input.is_key_pressed(KEY_ESCAPE) || (Input.is_joy_button_pressed(0,JOY_BUTTON_A) && (Input.is_joy_button_pressed(0,JOY_BUTTON_B))):
get_tree().change_scene_to_file("res://levels/debug.tscn")
joyname.set_text("Current Device: "+str(Input.get_joy_name(0))+"\nIf drift threshold is 0.2 or higher, your gamepad need new sticks")
lxaxis.set_text("Left X Axis "+str(Input.get_joy_axis(0,JOY_AXIS_LEFT_X)))
lyaxis.set_text("Left Y Axis "+str(Input.get_joy_axis(0,JOY_AXIS_LEFT_Y)))
rxaxis.set_text("Right X Axis "+str(Input.get_joy_axis(0,JOY_AXIS_RIGHT_X)))
ryaxis.set_text("Right Y Axis "+str(Input.get_joy_axis(0,JOY_AXIS_RIGHT_Y)))
dpadup.set_text("DPAD Up "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_UP)))
dpaddown.set_text("DPAD Down "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_DOWN)))
dpadleft.set_text("DPAD Left "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_LEFT)))
dpadright.set_text("DPAD Right "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_RIGHT)))
lt.set_text("Left Trigger "+str(Input.get_joy_axis(0,JOY_AXIS_TRIGGER_LEFT)))
rt.set_text("Right Trigger "+str(Input.get_joy_axis(0,JOY_AXIS_TRIGGER_RIGHT)))
ls.set_text("Left Shoulder "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_LEFT_SHOULDER)))
rs.set_text("Right Shoulder "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_RIGHT_SHOULDER)))
l3.set_text("Left Stick "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_LEFT_STICK)))
r3.set_text("Right Stick "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_RIGHT_STICK)))
view.set_text("View "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_BACK)))
menu.set_text("Menu "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_START)))
xb.set_text("X "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_X)))
yb.set_text("Y "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_Y)))
ab.set_text("A "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_A)))
bb.set_text("B "+str(Input.is_joy_button_pressed(0,JOY_BUTTON_B)))

159
levels/gamepadtest.tscn Normal file
View file

@ -0,0 +1,159 @@
[gd_scene load_steps=5 format=3 uid="uid://qun4scsrsp00"]
[ext_resource type="Script" path="res://levels/gamepadtest.gd" id="1_w4qrm"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_i62na"]
[ext_resource type="Script" path="res://nebula.gd" id="3_5yjm5"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_88ejd"]
[node name="Gamepadtest" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_w4qrm")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_i62na")
autoplay = true
script = ExtResource("3_5yjm5")
[node name="Label" type="Label" parent="."]
layout_mode = 0
offset_right = 40.0
offset_bottom = 23.0
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Gamepad Test"
[node name="Info" type="Label" parent="."]
layout_mode = 0
offset_left = 28.0
offset_top = 94.0
offset_right = 322.0
offset_bottom = 164.0
theme_override_font_sizes/font_size = 20
[node name="Stop" type="Label" parent="."]
layout_mode = 0
offset_left = 5.0
offset_top = 672.0
offset_right = 444.0
offset_bottom = 708.0
theme_override_font_sizes/font_size = 22
text = "Press Escape or A + B to return"
[node name="BoxContainer" type="BoxContainer" parent="."]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -640.0
offset_top = -419.0
grow_horizontal = 0
grow_vertical = 0
[node name="VBoxContainer" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Left X Axis" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "Left X Axis"
[node name="Left Y Axis" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "Left Y Axis"
[node name="DPAD Up" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "DPAD Up"
[node name="DPAD Left" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "DPAD Left"
[node name="Left Trigger" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "Left Trigger"
[node name="Left Shoulder" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "Left Shoulder"
[node name="Left Stick" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "Left Stick"
[node name="View" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "View"
[node name="X" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "X"
[node name="A" type="Label" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
text = "A"
[node name="VBoxContainer2" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Right X Axis" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Right X Axis"
[node name="Right Y Axis" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Right Y Axis"
[node name="DPAD Down" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "DPAD Down
"
[node name="DPAD Right" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "DPAD Right"
[node name="Right Trigger" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Right Trigger"
[node name="Right Shoulder" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Right Shoulder"
[node name="Right Stick" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Right Stick"
[node name="Menu" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Menu"
[node name="Y" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "Y"
[node name="B" type="Label" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
text = "B"
[node name="Bottomhud" parent="." instance=ExtResource("4_88ejd")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]

Binary file not shown.

Binary file not shown.

Binary file not shown.