Merge commit '5673f44b2db21987c0abb453c40484c1d223cb99' into setam-demo

This commit is contained in:
betalars 2025-03-24 17:18:11 +01:00
commit ea84619d33
18 changed files with 124 additions and 111 deletions

View File

@ -17,7 +17,7 @@ extends Node3D
@onready var wires:LineRenderer3D = $wires
@onready var diodes:MultiMeshInstance3D = $diodes
@export var seed:int = 42
@export var rng_seed:int = 42
var rng = RandomNumberGenerator.new()
@export var size:float = 0.1:
set(new_size):
@ -32,14 +32,13 @@ func _ready():
rebuild()
func rebuild():
rng.seed = seed
rng.seed = rng_seed
rng.state = 0
for child in wires.get_children(): child.free()
wires.points = light_array
diodes.multimesh.instance_count = light_array.size()
var meshBuffer:PackedFloat32Array
for point in light_array:
rng
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
base = base.scaled(Vector3(size, size, size))
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
@ -56,13 +55,13 @@ albedo_texture = ExtResource("1_xsr58")
normal_enabled = true
normal_texture = ExtResource("1_p3lcj")
[sub_resource type="ImmediateMesh" id="ImmediateMesh_lq63p"]
[sub_resource type="ImmediateMesh" id="ImmediateMesh_30v5y"]
[sub_resource type="MultiMesh" id="MultiMesh_ic3h7"]
transform_format = 1
instance_count = 2
instance_count = 30
mesh = ExtResource("4_qh8yy")
buffer = PackedFloat32Array(0.0998169, 0.00482103, -0.00365424, 0, -0.00428558, 0.0989875, 0.0135316, 0, 0.0042696, -0.0133502, 0.0990128, 0, 0.0700075, -0.0358849, 0.0617351, 0, 0.0525334, 0.0844406, -0.0104897, 1, -0.0483653, 0.0397751, 0.0779663, 0)
buffer = PackedFloat32Array(0.0998169, 0.00482103, -0.00365424, -0.545, -0.00428558, 0.0989875, 0.0135316, 0.915, 0.0042696, -0.0133502, 0.0990128, 1.035, 0.0700075, -0.0358849, 0.0617351, -0.47, 0.0525334, 0.0844406, -0.0104897, 0.855, -0.0483653, 0.0397751, 0.0779663, 0.905, 0.0042587, 0.0920312, -0.0388859, -0.44, -0.00571533, 0.0390819, 0.0918692, 0.871, 0.0997457, -0.00168997, 0.00692427, 0.78, 0.0219999, -0.0870806, -0.0439656, -0.385, 0.0800974, 0.041851, -0.0428124, 0.91, 0.0556813, -0.0257966, 0.0789565, 0.69, 0.0923335, 0.0288341, -0.0253597, -0.38, -0.0359662, 0.088075, -0.0308096, 0.995, 0.0134518, 0.0375685, 0.0916933, 0.595, 0.0410372, 0.0236122, 0.0880819, -0.39, -0.0818364, -0.0330796, 0.0469951, 0.925, 0.0402337, -0.0913685, 0.00574842, 0.465, 0.0963897, 0.0249758, -0.00923199, -0.364, -0.025153, 0.0967818, -0.000788714, 0.86, 0.0087379, 0.00308236, 0.0995698, 0.211, 0.0905162, -0.0353528, 0.0236008, -0.295, 0.00980512, 0.0713907, 0.0693341, 0.82, -0.0413604, -0.0604445, 0.0680866, 0.06, 0.0999699, -0.000440024, 0.00241425, -0.255, 0.00037743, 0.0999657, 0.0025912, 0.805, -0.00242483, -0.00258131, 0.0999373, -0.15, 0.0666952, -0.0744692, 0.00246829, -0.175, 0.0669796, 0.0613729, 0.0417982, 0.83, -0.0326417, -0.0262242, 0.090812, -0.355, 0.00827521, 0.0528018, -0.0845191, -0.135, 0.0951837, -0.0293119, -0.00899272, 0.955, -0.0295225, -0.0797043, -0.0526844, -0.515, 0.0983988, -0.0102168, 0.0146044, -0.025, 0.00642553, 0.0967642, 0.0244007, 0.78, -0.0166249, -0.0230716, 0.0958714, -0.615, -0.0341773, -0.0716575, -0.0608039, 0.115, 0.0144934, 0.059907, -0.078747, 0.63, 0.0928539, -0.0357262, -0.010089, -0.695, -0.0232891, -0.0711249, 0.066324, 0.245, 0.0795472, -0.0531651, -0.0290812, 0.555, 0.0559451, 0.0459861, 0.0689595, -0.745, -0.0599926, -0.0254553, -0.075848, 0.37, -0.0708402, 0.0609612, 0.0355725, 0.595, 0.0371828, 0.0750717, -0.0546048, -0.805, 0.0107775, 0.0912119, 0.0395505, 0.455, 0.0273445, -0.0409675, 0.0870284, 0.745, 0.0955831, 0.00143545, -0.0293567, -0.84, 0.0745873, 0.00700857, -0.0662391, 0.505, -0.0366242, 0.0873785, -0.0319947, 0.89, 0.0556363, 0.0481236, 0.0677401, -0.87, -0.0524777, -0.0408163, -0.0747002, 0.445, -0.0771795, -0.0142038, 0.0619805, 1.175, -0.0359084, 0.0901791, -0.024048, -0.87, 0.0652616, -0.0746751, 0.0128275, 0.26, -0.071962, -0.0663868, -0.0203536, 1.28, 0.0237149, 0.00405218, -0.0970628, -0.815, 0.0477617, -0.0860534, 0.0177096, 0.125, -0.0450234, -0.00666441, 0.089042, 1.35, -0.0754435, -0.0505014, -0.0419272, -0.8, 0.0526553, -0.07791, -0.0340215, -0.037, -0.0570784, -0.00274075, -0.0820643, 1.479, 0.0630038, 0.0626301, -0.0459129, -0.834, 0.0726285, 0.053708, 0.0429017, -0.2, -0.0349996, 0.0826095, -0.0441667, 1.601, -0.0591619, 0.0170622, 0.0787956, -0.851, 0.0581542, 0.0297762, -0.0757065, -0.359, -0.0464154, 0.0885717, -0.000817926, 1.769, 0.0668109, 0.0356151, 0.0653289, -0.85, 0.0875991, -0.0425381, 0.0227357, -0.5, 0.0336438, 0.0876653, 0.0343932, 1.949, -0.0345616, -0.022479, 0.0911054, -0.85, 0.0946831, -0.0299322, -0.0117972, -0.594, 0.0199689, 0.0259233, 0.0944946, 2.126, -0.0252261, -0.0918261, 0.0305222, -0.85, 0.0626413, -0.0766232, 0.0143161, -0.634, 0.0779479, 0.0616799, -0.0109416, 2.238, -0.000446323, 0.0180131, 0.0983633, -0.85, 0.0510754, -0.0397606, 0.076226, -0.634, -0.0155809, 0.0829139, 0.0536891, 2.035, -0.084549, -0.0392986, 0.0361536, -0.85, -0.055891, -0.072196, -0.0407913, -0.614, -0.0700671, 0.0148083, 0.0697948, 1.875, -0.0443486, 0.0675903, -0.0588622, -0.85, -0.0545317, 0.0517385, -0.0659501, -0.65, 0.0389976, 0.0853039, 0.0346761, 1.655, 0.0741989, -0.00680947, -0.0666945, -0.85, 0.0858331, 0.0430527, -0.0279131, -0.65, 0.0302511, -0.0864024, -0.040243, 1.475, -0.0414433, 0.0260978, -0.0871858, -0.87)
[node name="fairylights" type="Node3D"]
script = SubResource("GDScript_2caij")
@ -70,7 +69,7 @@ light_array = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
[node name="wires" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_5ca5e")
mesh = SubResource("ImmediateMesh_lq63p")
mesh = SubResource("ImmediateMesh_30v5y")
script = ExtResource("2_javfj")
points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
start_thickness = 0.01

View File

@ -50,8 +50,9 @@ func _on_scene_finished(id: int, _repeat:bool):
save_game.mementos_complete &= 1 << id
save_room()
#FIXME forgot to comment what this means, just marking it for removal
var fixed := false
func hotfix(discard):
func hotfix(_discard):
print("meep")
if not fixed:
await get_tree().create_timer(0.1).timeout

View File

@ -16,9 +16,9 @@ var max_lines: float = 0
substring_sizes = []
if Engine.is_editor_hint():
TranslationServer.set_locale("en")
for str in array:
label.text += TranslationServer.translate(str).replace("[/p]", "[/p][p][font_size=8] [/font_size][/p]")
substring_sizes.append(TranslationServer.translate(str).replace("[/p]", ".").replace("[p]", "").length())
for string in array:
label.text += TranslationServer.translate(string).replace("[/p]", "[/p][p][font_size=8] [/font_size][/p]")
substring_sizes.append(TranslationServer.translate(string).replace("[/p]", ".").replace("[p]", "").length())
max_lines = float(label.get_line_count())
@export var progress: float = 0:
@ -60,7 +60,7 @@ var substring_sizes: Array[int]
func _ready() -> void:
skip_control = %SkipControl
if skip_control is SkipControl:
if skip_control is SkipControl and not Engine.is_editor_hint():
skip_control.skip.connect(skip_text)
if get_tree().root.get_child(-1) == self:

View File

@ -1420,7 +1420,6 @@ script = ExtResource("1_aitp0")
[node name="PlayerController" parent="logic" groups=["camera_owner"] instance=ExtResource("3_foj4y")]
unique_name_in_owner = true
process_mode = 4
transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925)
[node name="colission" type="Node3D" parent="logic"]
@ -1937,7 +1936,7 @@ transparent_bg = true
size = Vector2i(400, 350)
render_target_update_mode = 4
[node name="CollectableUI" parent="logic/DoorTrigger/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
[node name="CollectableUi" parent="logic/DoorTrigger/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
[node name="HoverDetect" type="CollisionShape3D" parent="logic/DoorTrigger"]
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)

View File

@ -3,13 +3,6 @@ extends Area3D
@export var billboard = true
@onready var sprite: Sprite3D = $UiSprite
@onready var viewport: SubViewport = $UiSprite/SubViewport
func _ready() -> void:
return
var viewport_tex := ViewportTexture.new()
viewport_tex.viewport_path = "SubViewport" #viewport.get_path()
print(viewport_tex.viewport_path)
sprite.texture = viewport_tex
func _process(_delta):

View File

@ -7,21 +7,21 @@ class_name SaveGame extends Resource
@export var mementos_complete: int = 0
@export var board_state: Dictionary = {}
@export var thumbnail: Texture = preload("res://import/interface-elements/empty_save_slot.png")
@export var last_saved: float = Time.get_unix_time_from_system()
@export var last_saved: int = int(Time.get_unix_time_from_system())
@export var is_save_file_valid: bool = false
# FIXME: for some reason this does not prevent the property from being saved.
func _validate_property(property: Dictionary):
if property.name == "thumbnail":
property.usage != PROPERTY_USAGE_STORAGE
property.usage = not PROPERTY_USAGE_STORAGE
func _init(filepath = "") -> void:
func _init(initial_filepath = "") -> void:
if filepath == "":
if initial_filepath == "":
filepath = "%s/%s" % [State.user_saves_path, unique_save_name]
else:
filepath = initial_filepath
read_save_file()
func read_save_file():

View File

@ -41,7 +41,7 @@ var has_stage = false:
@onready var dropzone = $HBoxContainer/dropzone
var dropzone_size: Vector2
@export var dropzone_padding = 100
@export var dropzone_padding:int = 100
@onready var sticky_note_container = $HBoxContainer/ScrollContainer/VBoxContainer
@onready var board_of_devs = $"board of devs"
@onready var current_context:int = NAVIGATE:
@ -145,9 +145,6 @@ func populate_board(card_names: Array[String]):
var all_new:Dictionary = board_of_devs.get_cards_by_name_array(card_names)
var new_cards:Array = all_new["cards"]
var new_sticky_notes:Array = all_new["sticky_notes"]
# spawning the cards and adding them to the dictionary
for new_card in all_new["cards"]:
add_card(new_card)

View File

@ -162,7 +162,7 @@ func _on_mouse_exited():
highlighted = false
is_mouse_entered = false
func _on_input_event(viewport, event, shape_idx):
func _on_input_event(_viewport, event, _shape_idx):
if event is InputEventMouseMotion:
_move_card()

View File

@ -35,9 +35,9 @@ signal transform_tween_finished
if modulate_tween: modulate_tween.kill()
if shift_tween: shift_tween.kill()
if highlighted:
var modulate_tween = get_tree().create_tween()
modulate_tween = get_tree().create_tween()
modulate_tween.tween_property(self, "modulate", highlight_color, 0.1)
var shift_tween = get_tree().create_tween()
shift_tween = get_tree().create_tween()
shift_tween.tween_property($Content, "position", shift_by, 0.2)
else:
modulate_tween = get_tree().create_tween()
@ -140,7 +140,7 @@ func _on_area_exit(card: Area2D):
elif card is StickyNote and is_sticky_note_in_panel():
attached_to.collapse_gap()
func _on_input_event(viewport, event, shape_idx):
func _on_input_event(_viewport, event, _shape_idx):
if event is InputEventMouseButton:
if (event.button_index == MOUSE_BUTTON_LEFT and event.pressed) or event.button_index == MOUSE_BUTTON_RIGHT:
if "handle_hover" in current_handle:

View File

@ -31,7 +31,7 @@ class_name CollectableUi extends CenterContainer
#
# if collapse and has_stage: State.leave_stage(self)
@export var scene: Scenes.id = 0:
@export var scene: Scenes.id = Scenes.id.YOUTH_DRAEVEN:
set(id):
scene = id
if is_inside_tree() and not is_board:

View File

@ -37,8 +37,8 @@ func _ready() -> void:
save_game_handle.picked.connect(_on_save_picked)
continue_button.visible = save_game_handle.get_most_recent_save().current_room != 0
continue_button.pressed.connect(func(): start_game.emit(save_game_handle.get_most_recent_save()))
new_game_button.pressed.connect(func(): save_game_handle.pick_slot(true))
load_game_button.pressed.connect(func(): save_game_handle.pick_slot(false))
new_game_button.pressed.connect(func(): save_game_handle.pick_save_slot(true))
load_game_button.pressed.connect(func(): save_game_handle.pick_save_slot(false))
settings_button.get_popup().index_pressed.connect(settings_popup.show_settings)
quit_button.pressed.connect(get_tree().quit)

View File

@ -10,17 +10,11 @@ class_name PauseManu extends PanelContainer
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
resume_button.pressed.connect(owner.toggle_pause_menu)
to_menu_button.pressed.connect(_process)
#to_menu_button.pressed.connect(_process)
to_desktop_button.pressed.connect(func(): get_tree().quit())
to_settings_button.pressed.connect(_process)
#to_settings_button.pressed.connect(_process)
helpline_button.pressed.connect(func(): OS.shell_open("https://findahelpline.com/"))
skip_story_button.pressed.connect(_process)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
#skip_story_button.pressed.connect(_process)
func _on_help_pressed():
OS.shell_open("https://findahelpline.com/")

View File

@ -16,7 +16,7 @@ var save_buttons: Array[SaveGameDisplay]
load_games()
var scroll_container: ScrollContainer
var create_new_game: bool = false
var override_save_slot: bool = false
func _ready() -> void:
#FIXME: stop this from creating countless save games!
@ -57,7 +57,7 @@ func load_games():
new_button.pressed.connect(func(): _on_game_picked(i))
func _on_game_picked(id: int):
if create_new_game:
if override_save_slot:
if saves[id].current_room == 0:
picked.emit(id)
else:
@ -66,9 +66,10 @@ func _on_game_picked(id: int):
else:
picked.emit(id)
func pick_slot(create_new_game: bool):
# This function is called when the user us supposed to choose a slot to load or create a new game.
func pick_save_slot(create_new_game: bool):
State.take_stage(self)
self.create_new_game = create_new_game
self.override_save_slot = create_new_game
func get_most_recent_save() -> SaveGame:
var most_recent_time := 0.0

View File

@ -1,47 +1,47 @@
extends VBoxContainer
# This is a hack so values changing to the default to not create a recursion.
signal changed
signal leave_stage
var has_stage:bool = false:
set(stage):
has_stage = stage
preset_selected = preset_selected
match preset_selected:
1: %PerformancePreset.grab_focus()
2: %BalancedPreset.grab_focus()
3: %QualityPreset.grab_focus()
_: %FullscreenMode.grab_focus()
@export_file(".json") var settings_path = "user://video_settings.json"
@export_enum("None", "Performance", "Balanced", "Quality") var preset_selected:int = 2:
set(value):
# this may not call changed!
preset_selected = value
if has_stage:
match preset_selected:
1: %PerformancePreset.grab_focus()
2: %BalancedPreset.grab_focus()
3: %QualityPreset.grab_focus()
_: %FullscreenMode.grab_focus()
@export var window_mode: DisplayServer.WindowMode = DisplayServer.WindowMode.WINDOW_MODE_FULLSCREEN:
set(value):
window_mode = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var fullscreen_selector: OptionButton = %FullscreenMode
@export_range(0.5, 2) var render_scale: float = 1:
set(value):
render_scale = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var scale_selector: SpinBox = %RenderScale
@export var upscale_mode: RenderingServer.ViewportScaling3DMode = RenderingServer.ViewportScaling3DMode.VIEWPORT_SCALING_3D_MODE_BILINEAR :
set(value):
upscale_mode = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var upscale_selector: OptionButton = %SuperResolution
@export_range(30, 144) var max_fps: int = 60:
set(value):
max_fps = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var fps_enabler: CheckBox = %EnableFps
var fps_enabled: bool:
set(value):
@ -52,37 +52,39 @@ var fps_enabled: bool:
@export_enum("low", "medium", "high", "ultra") var lighting_quality: int = 3:
set(value):
lighting_quality = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var lightning_selector: OptionButton = %LightingQuality
@export_enum("low", "medium", "high") var shadow_quality: int = 3:
set(value):
shadow_quality = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var shadow_selector: OptionButton = %ShadowQuality
@export_enum("no", "1x", "2x", "4x", "8x") var texture_filtering:int = 3:
set(value):
texture_filtering = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var texture_selector: OptionButton = %TextureFiltering
@export_enum("no", "1x", "2x", "4x") var msaa = 0:
set(value):
msaa = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var msaa_selector: OptionButton = %AntiAlaising
@export var vsync_mode: DisplayServer.VSyncMode = DisplayServer.VSyncMode.VSYNC_ENABLED:
set(value):
vsync_mode = value
changed.emit()
if not ignore_changes: changed.emit()
@onready var vsync_selector: OptionButton = %vSync
var ignore_changes: bool = false
var has_changed: bool = false:
set(value):
has_changed = value
preset_selected = 0
if not ignore_changes:
preset_selected = 0
if has_changed:
%ExitButton.text = "discard"
else:
@ -93,7 +95,7 @@ func _ready() -> void:
propagate_settings()
fullscreen_selector.item_selected.connect(func(value): window_mode = value)
fullscreen_selector.item_selected.connect(func(value): window_mode = select_id_to_window_mode(value))
scale_selector.value_changed.connect(func(value): render_scale = value)
upscale_selector.item_selected.connect(func(value): upscale_mode = value)
lightning_selector.item_selected.connect(func(value): lighting_quality = value)
@ -106,7 +108,7 @@ func _ready() -> void:
fps_selector.value_changed.connect(func(value): max_fps = value)
fps_enabler.toggled.connect(func(value): fps_enabled = value)
changed.connect(func():has_changed = true)
changed.connect(func(): has_changed = true)
preset_selected = preset_selected
@ -114,6 +116,9 @@ func _ready() -> void:
%ConfirmExit.pressed.connect(_on_exit_confirmed)
%ConfirmSave.pressed.connect(_on_confirm_button_pressed)
%ConfirmAbort.pressed.connect($Popup.hide)
%PerformancePreset.pressed.connect(_on_performance_preset_pressed)
%BalancedPreset.pressed.connect(_on_balanced_preset_pressed)
%QualityPreset.pressed.connect(_on_quality_preset_pressed)
func load_settings():
@ -127,7 +132,7 @@ func load_settings():
set(key, parsed[key])
func propagate_settings():
fullscreen_selector.select(window_mode)
fullscreen_selector.select(window_mode_to_select_id(window_mode))
scale_selector.value = render_scale
upscale_selector.select(upscale_mode)
fps_enabler.button_pressed = fps_enabled
@ -172,7 +177,7 @@ func _on_exit_button_pressed() -> void:
State.leave_stage(self)
func _on_confirm_button_pressed() -> void:
ProjectSettings.set_setting("display/window/size/mode", fullscreen_selector)
ProjectSettings.set_setting("display/window/size/mode", window_mode)
ProjectSettings.set_setting("rendering/scaling_3d/scale", render_scale)
ProjectSettings.set_setting("rendering/scaling_3d/mode", upscale_mode)
ProjectSettings.set_setting("application/run/max_fps", max_fps if fps_enabled else 0)
@ -205,6 +210,9 @@ func _on_confirm_button_pressed() -> void:
save_settings()
func _on_performance_preset_pressed() -> void:
ignore_changes = true
has_changed = true
render_scale = 0.8
max_fps = 60
fps_enabled = true
@ -212,13 +220,19 @@ func _on_performance_preset_pressed() -> void:
shadow_quality = 0
texture_filtering = 1
msaa = 0
vsync_mode = 0
vsync_mode = DisplayServer.VSyncMode.VSYNC_DISABLED
propagate_settings()
changed.emit()
ignore_changes = false
preset_selected = 1
func _on_balanced_preset_pressed() -> void:
ignore_changes = true
has_changed = true
render_scale = 1
max_fps = 60
fps_enabled = true
@ -226,13 +240,19 @@ func _on_balanced_preset_pressed() -> void:
shadow_quality = 1
texture_filtering = 3
msaa = 1
vsync_mode = 1
vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED
propagate_settings()
changed.emit()
ignore_changes = false
preset_selected = 2
func _on_quality_preset_pressed() -> void:
ignore_changes = true
has_changed = true
render_scale = 1
max_fps = 60
fps_enabled = false
@ -240,8 +260,17 @@ func _on_quality_preset_pressed() -> void:
shadow_quality = 2
texture_filtering = 4
msaa = 3
vsync_mode = 1
vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED
propagate_settings()
changed.emit()
ignore_changes = false
preset_selected = 3
func window_mode_to_select_id(mode: DisplayServer.WindowMode) -> int:
return int(mode) - 2 if int(mode) != 0 else 0
func select_id_to_window_mode(item_id) -> DisplayServer.WindowMode:
return item_id + 2 if item_id != 0 else 0

View File

@ -44,37 +44,37 @@ func _ready() -> void:
func _input(event: InputEvent) -> void:
if has_focus():
if Input.is_action_just_pressed(\"ui_accept\"):
print(\"pressed!\")
print(pressed)
if event.is_action_pressed(\"ui_accept\"):
pressed = not pressed
print(pressed)
get_viewport().set_input_as_handled()
if pressed:
if Input.is_action_just_pressed(\"ui_up\") or Input.is_action_just_pressed(\"ui_right\"):
grab_focus()
#
if event.is_action_pressed(\"ui_up\") or event.is_action_pressed(\"ui_right\"):
value += step
get_viewport().set_input_as_handled()
await(get_tree().create_timer(hold_down_delay).timeout)
call_deferred(\"check_input_held\", true)
while Input.is_action_pressed(\"ui_up\") or Input.is_action_pressed(\"ui_right\"):
value += step * repeat_multiplier
await(get_tree().create_timer(repeat_delay).timeout)
elif Input.is_action_just_pressed(\"ui_down\") or Input.is_action_just_pressed(\"ui_left\"):
elif event.is_action_pressed(\"ui_down\", true) or event.is_action_pressed(\"ui_left\", true):
value -= step
get_viewport().set_input_as_handled()
else:
if Input.is_action_just_pressed(\"ui_up\"):
print(focus_neighbor_top)
call_deferred(\"check_input_held\", false)
get_viewport().set_input_as_handled()
func _on_focus_enter():
get_line_edit().add_theme_stylebox_override(\"normal\", focus_stylebox)
func _on_focus_exit():
get_line_edit().remove_theme_stylebox_override(\"normal\")
func check_input_held(upward: bool):
await(get_tree().create_timer(repeat_delay).timeout)
while ((Input.is_action_pressed(\"ui_up\", true) or Input.is_action_pressed(\"ui_right\", true) and upward) or (Input.is_action_pressed(\"ui_down\", true) or Input.is_action_pressed(\"ui_left\", true) and not upward)):
value += step * repeat_multiplier * (1 if upward else -1)
await(get_tree().create_timer(repeat_delay).timeout)
"
[node name="Video Settings" type="VBoxContainer"]
@ -134,6 +134,7 @@ layout_mode = 2
selected = 1
item_count = 3
popup/item_0/text = "Windowed"
popup/item_0/id = 0
popup/item_1/text = "Fullscreen"
popup/item_1/id = 1
popup/item_2/text = "exclusive Fullscreen"
@ -152,6 +153,7 @@ text = "reset"
[node name="RenderScale" type="SpinBox" parent="GridContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
focus_mode = 2
min_value = 0.25
@ -174,7 +176,8 @@ layout_mode = 2
selected = 0
item_count = 3
popup/item_0/text = "disabled"
popup/item_1/text = " "
popup/item_0/id = 0
popup/item_1/text = " FSR 1.0"
popup/item_1/id = 1
popup/item_2/text = "FSR 2.2"
popup/item_2/id = 2
@ -214,6 +217,7 @@ layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "minimum"
popup/item_0/id = 0
popup/item_1/text = "low (SDF Global Illumination)"
popup/item_1/id = 1
popup/item_2/text = "medium (SDF and Screen Space Global Illumination)"
@ -231,6 +235,7 @@ layout_mode = 2
selected = 1
item_count = 3
popup/item_0/text = "performance"
popup/item_0/id = 0
popup/item_1/text = "balanced"
popup/item_1/id = 1
popup/item_2/text = "quality"
@ -246,6 +251,7 @@ layout_mode = 2
selected = 1
item_count = 6
popup/item_0/text = "disabled"
popup/item_0/id = 0
popup/item_1/text = "1x (very fast)"
popup/item_1/id = 1
popup/item_2/text = "2x (fast)"
@ -267,6 +273,7 @@ layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "disabled"
popup/item_0/id = 0
popup/item_1/text = "2x MSAA"
popup/item_1/id = 1
popup/item_2/text = "4x MSAA"
@ -284,6 +291,7 @@ layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "disabled"
popup/item_0/id = 0
popup/item_1/text = "enabled"
popup/item_1/id = 1
popup/item_2/text = "adaptive"

View File

@ -176,21 +176,10 @@ func _input(event:InputEvent):
elif Input.is_action_just_pressed("zoom_out_mouse"):
zoomed = false
#FIXME remove this if it has been determined that this kind of reveal all is no longer planned.
#else:
#State.free_focus()
#get_tree().call_group("interactables", "reveal")
if event.is_action_pressed("collect_memento_ui") or event.is_action_pressed("option_memento_ui"):
focus_ray.get_collider().handle(event)
get_viewport().set_input_as_handled()
#FIXME this code jeets focxus back to the player, but I think it may be an anti-pattern.
#else:
# if event is InputEventMouseButton:
# if event.button_index == MOUSE_BUTTON_RIGHT and event.pressed:
# if !Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
# State.take_stage(self, true)
# get_tree().call_group("interactables", "collapse")
if focus_ray.is_colliding():
focus_ray.get_collider().handle(event)
get_viewport().set_input_as_handled()
func play_scene(id: int, _repeat):
if id == Scenes.id.YOUTH_DRAEVEN:

View File

@ -109,8 +109,9 @@ script/source = "extends TabContainer
var focus_list: Array
@onready var disable_rendering = $\"physical Accessibility/Container2/margin2/show nav buttons\"
@onready var simplified_controls = $\"physical Accessibility/Container2/simplified controls\"
#FIXME when accessability setting is implemented properly
@onready var disable_rendering = false
@onready var simplified_controls = false
func _ready():
for child in get_children():
@ -292,6 +293,7 @@ size_flags_vertical = 4
selected = 1
item_count = 5
popup/item_0/text = "messy handwriting"
popup/item_0/id = 0
popup/item_0/disabled = true
popup/item_1/text = "easy handwriting"
popup/item_1/id = 1
@ -317,6 +319,7 @@ disabled = true
selected = 1
item_count = 3
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "spoken text"
popup/item_1/id = 1
popup/item_2/text = "closed captions"

View File

@ -42,7 +42,7 @@ func _ready():
get_tree().tree_process_mode_changed.connect(pause_mode_changed)
func _process(delta: float) -> void:
func _process(_delta: float) -> void:
if currently_loading_room != "":
if ResourceLoader.load_threaded_get_status(currently_loading_room) == 3:
current_room = ResourceLoader.load_threaded_get(youth_room_path).instantiate()
@ -69,7 +69,7 @@ func toggle_pause_menu():
get_tree().paused = false
var state_machine = menu_animation["parameters/playback"]
state_machine.travel("start_game")
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
func debug_youth():
get_child(1).hide()