introduced FPS cap

This commit is contained in:
betalars 2023-03-21 23:06:45 +01:00
parent 66b521a54a
commit f29abf03b8
6 changed files with 134 additions and 39 deletions

View File

@ -10,7 +10,7 @@
[ext_resource type="AudioStream" uid="uid://cl74a68tjwinh" path="res://base-environments/youth_room/audio/Youth Loop.wav" id="9_i8mqk"]
[ext_resource type="AudioStream" uid="uid://ceoqo46r0kgfv" path="res://base-environments/youth_room/audio/jui-jutsu.mp3" id="10_5rpba"]
[ext_resource type="AudioStream" uid="uid://cho5neuxkvpyh" path="res://base-environments/youth_room/audio/Voice Loop.wav" id="10_wwwdq"]
[ext_resource type="Script" path="res://logic-scenes/collectable/click_passtrough.gd" id="11_674qe"]
[ext_resource type="Script" path="res://dev-util/click-trough-area.gd" id="11_7uxd8"]
[ext_resource type="PackedScene" uid="uid://cceyp2yd6o3sq" path="res://logic-scenes/collectable/collectable_ui.tscn" id="11_jxai0"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"]
@ -462,16 +462,16 @@ func start_soundtrack():
$VoiceTraining.play(70)
"
[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"]
size = Vector3(1.81843, 2.13395, 0.0774798)
[sub_resource type="ViewportTexture" id="ViewportTexture_gwx6q"]
viewport_path = NodePath("Collectable/Collectable_ui/Sprite3D/SubViewport")
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_72g2i"]
radius = 0.342951
height = 1.08154
[sub_resource type="ViewportTexture" id="ViewportTexture_n5aq1"]
viewport_path = NodePath("Collectable/Sprite3D/SubViewport")
[sub_resource type="BoxShape3D" id="BoxShape3D_em4i8"]
size = Vector3(0.29785, 0.380599, 0.0183088)
[node name="youth room" type="Node3D"]
script = ExtResource("1_aitp0")
@ -609,29 +609,31 @@ text = "n out of 3 Memories collected"
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.940637, 1.34703, 0.817837)
collision_layer = 16
[node name="Collectable_ui" type="Area3D" parent="Collectable"]
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -2.38419e-07, 0, 0.071894)
visible = false
script = ExtResource("11_7uxd8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collectable/Collectable_ui"]
transform = Transform3D(2.56, 0, 7.10543e-14, 0, 2.56, 0, -7.10543e-14, 0, 2.56, 0, 0, 0.238397)
shape = SubResource("BoxShape3D_cb3g8")
[node name="Sprite3D" type="Sprite3D" parent="Collectable/Collectable_ui"]
transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758)
pixel_size = 0.015
no_depth_test = true
texture = SubResource("ViewportTexture_gwx6q")
[node name="SubViewport" type="SubViewport" parent="Collectable/Collectable_ui/Sprite3D"]
transparent_bg = true
size = Vector2i(300, 350)
render_target_update_mode = 4
[node name="Collectable_ui" parent="Collectable/Collectable_ui/Sprite3D/SubViewport" instance=ExtResource("11_jxai0")]
[node name="DisplayMenu" type="CollisionShape3D" parent="Collectable"]
shape = SubResource("CapsuleShape3D_72g2i")
[node name="Sprite3D" type="Sprite3D" parent="Collectable"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.213171)
visible = false
pixel_size = 0.001
billboard = 1
texture = SubResource("ViewportTexture_n5aq1")
script = ExtResource("11_674qe")
[node name="SubViewport" type="SubViewport" parent="Collectable/Sprite3D"]
transparent_bg = true
size = Vector2i(256, 384)
render_target_update_mode = 4
[node name="Collectable_ui" parent="Collectable/Sprite3D/SubViewport" instance=ExtResource("11_jxai0")]
[node name="Area3D" type="Area3D" parent="Collectable/Sprite3D"]
collision_layer = 32
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collectable/Sprite3D/Area3D"]
shape = SubResource("BoxShape3D_em4i8")
[connection signal="mouse_entered" from="Collectable" to="Collectable/Sprite3D" method="show"]
[connection signal="mouse_entered" from="Collectable" to="Collectable/Collectable_ui" method="show"]
[connection signal="mouse_entered" from="Collectable" to="Collectable/DisplayMenu" method="set_disabled" binds= [true]]
[connection signal="input_event" from="Collectable/Collectable_ui" to="Collectable/Collectable_ui" method="_on_input_event" flags=18]

View File

@ -0,0 +1,43 @@
extends Area3D
@onready var s: Sprite3D = $Sprite3D
@onready var v: SubViewport = $Sprite3D/SubViewport
func _process(delta):
var camera = get_viewport().get_camera_3d()
# Look in the same direction as the camera
var look = camera.to_global(Vector3(0, 0, -100)) - camera.global_transform.origin
look = position + look
look = Vector3(look.x, 0, look.z)
look_at(look, Vector3.UP)
func _unhandled_input(event):
if event is InputEventMouse:
# Handled via _on_input_event.
return
v.push_input(event)
func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int):
# Position of the event in Sprite3D local coordinates.
var texture_3d_position = s.get_global_transform().affine_inverse() * pos
#if !is_zero_approx(texture_3d_position.z):
# # Discard event because event didn't happen on the side of the Sprite3D.
# return
# Position of the event relative to the texture.
var texture_position: Vector2 = Vector2(texture_3d_position.x, -texture_3d_position.y) / s.pixel_size - s.get_item_rect().position
# Send mouse event.
var e: InputEvent = event.duplicate()
if e is InputEventMouse:
e.set_position(texture_position)
e.set_global_position(texture_position)
v.push_input(e)
func _on_button_pressed():
print("Button pressed")
func _on_line_edit_text_submitted(new_text):
print("Text submitted: ", new_text)

View File

@ -0,0 +1,43 @@
[gd_scene load_steps=4 format=3 uid="uid://c1qli4f05orxk"]
[ext_resource type="Script" path="res://dev-util/click-trough-area.gd" id="1_p7a7n"]
[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"]
[sub_resource type="ViewportTexture" id="ViewportTexture_yre71"]
viewport_path = NodePath("Area3D/Sprite3D/SubViewport")
[node name="Area3D" type="Area3D"]
transform = Transform3D(1, 0, 0, 0, 0.999999, 0, 0, 0, 1, 0, 0, 0)
script = ExtResource("1_p7a7n")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(2.56, 0, 0, 0, 2.56, 0, 0, 0, 2.56, 0, 0, -1.28)
shape = SubResource("BoxShape3D_cb3g8")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(0.99, 0, 0, 0, 0.99, 0, 0, 7.45058e-09, 0.99, 0, 1.49012e-08, -1.28)
size = Vector3(2.56, 2.56, 2.56)
[node name="Sprite3D" type="Sprite3D" parent="."]
texture = SubResource("ViewportTexture_yre71")
[node name="SubViewport" type="SubViewport" parent="Sprite3D"]
size = Vector2i(256, 256)
[node name="LineEdit" type="LineEdit" parent="Sprite3D/SubViewport"]
offset_left = 32.0
offset_top = 32.0
offset_right = 99.0625
offset_bottom = 63.0
[node name="Button" type="Button" parent="Sprite3D/SubViewport"]
offset_left = 50.0
offset_top = 100.0
offset_right = 112.0
offset_bottom = 131.0
text = "Button"
[connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="text_submitted" from="Sprite3D/SubViewport/LineEdit" to="." method="_on_line_edit_text_submitted"]
[connection signal="pressed" from="Sprite3D/SubViewport/Button" to="." method="_on_button_pressed"]

View File

@ -1,16 +1,22 @@
[gd_scene format=3 uid="uid://cceyp2yd6o3sq"]
[node name="VBoxContainer" type="VBoxContainer"]
offset_right = 256.0
offset_bottom = 255.0
[node name="CenterContainer" type="CenterContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Name" type="Label" parent="."]
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="Name" type="Label" parent="VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
text = "old Mask"
horizontal_alignment = 1
[node name="Content Notes" type="RichTextLabel" parent="."]
[node name="Content Notes" type="RichTextLabel" parent="VBoxContainer"]
custom_minimum_size = Vector2(256, 0)
layout_mode = 2
bbcode_enabled = true
@ -19,21 +25,21 @@ Food, Blood, Gore, Whatever, I need a second line.
[/center]"
fit_content = true
[node name="collect_or_listen" type="Button" parent="."]
[node name="collect_or_listen" type="Button" parent="VBoxContainer"]
layout_mode = 2
tooltip_text = "Take this with you, and listen to it's story."
text = "Collect"
[node name="Summary" type="Button" parent="."]
[node name="Summary" type="Button" parent="VBoxContainer"]
layout_mode = 2
tooltip_text = "Take this with you, but get a neutral description of it's story."
text = "get neutral summary"
[node name="skip" type="Button" parent="."]
[node name="skip" type="Button" parent="VBoxContainer"]
layout_mode = 2
tooltip_text = "Choose this to entirely skip this Item without being unable to progress in the story. Skipped Segments can still be interacted with via the Pause Screen, if you decide to change your mind."
text = "skip"
[node name="put_back" type="Button" parent="."]
[node name="put_back" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "put back"

View File

@ -130,7 +130,6 @@ use_hidden_tabs_for_min_size = true
script = SubResource("GDScript_ia432")
[node name="physical Accessibility" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"]
@ -232,6 +231,7 @@ disabled = true
text = "go back"
[node name="Audio Settings" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings"]

View File

@ -13,6 +13,7 @@ config_version=5
config/name="Frame of Mind"
run/main_scene="res://main.tscn"
config/features=PackedStringArray("4.0", "Forward Plus")
run/max_fps=60
config/icon="res://icon.png"
[autoload]