last v0.5.1 patches

This commit is contained in:
Persephone Bubblegum-Holidy 2025-06-09 13:54:06 -07:00
parent 4343279e4c
commit 121fc1a005
5 changed files with 21 additions and 17 deletions

Binary file not shown.

View file

@ -247,7 +247,7 @@ offset_right = -8.0
offset_bottom = 16.0 offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
grow_vertical = 2 grow_vertical = 2
text = "Pneumatic Plaything v0.5" text = "Pneumatic Plaything v0.5.1"
horizontal_alignment = 2 horizontal_alignment = 2
vertical_alignment = 1 vertical_alignment = 1

View file

@ -621,14 +621,12 @@ func _on_step_forward_button_pressed() -> void:
update_time_label() update_time_label()
func _on_record_button_toggled(toggled_on: bool) -> void: func _on_record_button_toggled(toggled_on: bool) -> void:
var later_flag = false
if (playing): if (playing):
_on_pause_button_pressed() # starting recording while playing causes issues
later_flag = true _on_stop_button_pressed()
recording = toggled_on recording = toggled_on
if (toggled_on): start_recording.emit() if (toggled_on): start_recording.emit()
else: end_recording.emit() else: end_recording.emit()
if (later_flag): _on_play_button_pressed()
func _on_stop_button_pressed() -> void: func _on_stop_button_pressed() -> void:
playing = false playing = false
@ -658,21 +656,21 @@ func save_data() -> String:
for j in temp_data: for j in temp_data:
if (index_get_safe(i, temp_data[j])): if (index_get_safe(i, temp_data[j])):
if (j <= 32): if (j <= 32):
frame_long_1 += 1 << (j&64)-1 frame_long_1 += 1 << (j&32)-1
elif (j <= 64): elif (j <= 64):
frame_long_2 += 1 << (j&64)-1 frame_long_2 += 1 << (j&32)-1
elif (j <= 96): elif (j <= 96):
frame_long_3 += 1 << (j&64)-1 frame_long_3 += 1 << (j&32)-1
elif (j <= 128): elif (j <= 128):
frame_long_4 += 1 << (j&64)-1 frame_long_4 += 1 << (j&32)-1
elif (j <= 160): elif (j <= 160):
frame_long_5 += 1 << (j&64)-1 frame_long_5 += 1 << (j&32)-1
elif (j <= 192): elif (j <= 192):
frame_long_6 += 1 << (j&64)-1 frame_long_6 += 1 << (j&32)-1
elif (j <= 224): elif (j <= 224):
frame_long_7 += 1 << (j&64)-1 frame_long_7 += 1 << (j&32)-1
elif (j <= 256): elif (j <= 256):
frame_long_8 += 1 << (j&64)-1 frame_long_8 += 1 << (j&32)-1
write_out += (("%08X%08X%08X%08X%08X%08X%08X%08X,") % [frame_long_8, frame_long_7, frame_long_6, frame_long_5, frame_long_4, frame_long_3, frame_long_2, frame_long_1]) write_out += (("%08X%08X%08X%08X%08X%08X%08X%08X,") % [frame_long_8, frame_long_7, frame_long_6, frame_long_5, frame_long_4, frame_long_3, frame_long_2, frame_long_1])
return write_out return write_out
@ -713,9 +711,11 @@ func plot_data(data: String):
check_frame_segment = frame_long_8 check_frame_segment = frame_long_8
if ((check_frame_segment & int(pow(2, check_i))) >> check_i == 1): if ((check_frame_segment & int(pow(2, check_i))) >> check_i == 1):
er = true er = true
$SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).forced_etchable = true
$SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).etching = er $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).etching = er
step.emit(1) step.emit(1)
for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children(): for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children():
movement_row.forced_etchable = false
movement_row.etching = false movement_row.etching = false
end_recording.emit() end_recording.emit()
return_to_zero.emit() return_to_zero.emit()

View file

@ -7,6 +7,7 @@ extends Panel
@export var animatronic : String @export var animatronic : String
@export var movements : Array[bool] @export var movements : Array[bool]
@export var etching: bool = false @export var etching: bool = false
@export var forced_etchable: bool = false
var in_flow : float = 1.0 var in_flow : float = 1.0
var out_flow : float = 1.0 var out_flow : float = 1.0
@ -54,8 +55,12 @@ func check_at_index(cindex: int) -> bool:
if (out == null): return false if (out == null): return false
return out return out
func check_if_erasing() -> bool:
if (forced_etchable): return true
return (!$LockButton.button_pressed) && key_binding.keycode != 0
func _step(amount: int): func _step(amount: int):
if (recording && !$LockButton.button_pressed): if (recording && check_if_erasing()):
if (etching): set_at_current() if (etching): set_at_current()
else: unset_at_current() else: unset_at_current()
if (playing): if (playing):
@ -77,7 +82,6 @@ func _return_to_zero():
func _erase_all() -> void: func _erase_all() -> void:
_return_to_zero() _return_to_zero()
$LockButton.button_pressed = false
_on_clear_button_pressed() _on_clear_button_pressed()
func _start_recording(): func _start_recording():
@ -163,8 +167,8 @@ func _input(event: InputEvent) -> void:
update_text() update_text()
return return
func _on_clear_button_pressed() -> void: func _on_clear_button_pressed() -> void:
if ($LockButton.button_pressed): return
movements = [] movements = []
for indicator in $MovementsBG/InvisibleMask/MovementsHandle.get_children(): for indicator in $MovementsBG/InvisibleMask/MovementsHandle.get_children():
indicator.queue_free() indicator.queue_free()

View file

@ -11,7 +11,7 @@ config_version=5
[application] [application]
config/name="Pneumatic Plaything" config/name="Pneumatic Plaything"
config/version="v0.5" config/version="v0.5.1"
run/main_scene="uid://oiehbor0dlqx" run/main_scene="uid://oiehbor0dlqx"
config/features=PackedStringArray("4.4", "GL Compatibility") config/features=PackedStringArray("4.4", "GL Compatibility")
boot_splash/show_image=false boot_splash/show_image=false