claude godot 4 port

This commit is contained in:
2026-06-13 16:08:36 -04:00
parent aa1f470a7b
commit 1c1109fe93
227 changed files with 3112 additions and 2505 deletions
+17 -23
View File
@@ -2,8 +2,8 @@ extends Node
signal finished
onready var node_speech = $speech
onready var node_music = $music
@onready var node_speech = $speech
@onready var node_music = $music
const greet := [preload("res://assets/audio/clips/greet/voc_en_greet_goodmorning.mp3"), preload("res://assets/audio/clips/greet/voc_en_greet_hello.mp3")]
const its := preload("res://assets/audio/clips/misc/voc_en_its.mp3")
@@ -15,12 +15,12 @@ const weather := [preload("res://assets/audio/clips/weather/voc_en_weather_cloud
const music := [preload("res://assets/audio/clips/music/music_cloudy.wav"), preload("res://assets/audio/clips/music/music_foggy.wav"), preload("res://assets/audio/clips/music/music_partlycloudy.wav"), preload("res://assets/audio/clips/music/music_rainy.wav"), preload("res://assets/audio/clips/music/music_snowy.wav"), preload("res://assets/audio/clips/music/music_stormy.wav"), preload("res://assets/audio/clips/music/music_sunny.wav"), preload("res://assets/audio/clips/music/music_unknown.wav")]
var tween:SceneTreeTween
var tween: Tween
var A_finished = true
var B_finished = true
func play(moment:Moment, day:int, weather:int, music_weather_override=null, play_music := true, speak_time := true):
func play(moment: Moment, day: int, weather_idx: int, music_weather_override = null, play_music: bool = true, speak_time: bool = true):
stop()
if tween:
tween.kill()
@@ -34,16 +34,16 @@ func play(moment:Moment, day:int, weather:int, music_weather_override=null, play
1.0, # sleep for 1 second
greet[0] if moment.is_morning() else greet[1],
its,
load(hours[int(moment.hour-1) % 12]),
load(hours[int(moment.hour - 1) % 12]),
load(minutes[moment.minute]),
am_pm[0 if moment.is_am() else 1],
weekday[day],
]
var tune = music[Constants.WEATHER.UNKNOWN]
if weather < Constants.WEATHER.UNKNOWN:
out.append(self.weather[weather])
tune = music[weather]
if weather_idx < Constants.WEATHER.UNKNOWN:
out.append(self.weather[weather_idx])
tune = music[weather_idx]
if music_weather_override != null:
tune = music[music_weather_override]
@@ -52,15 +52,15 @@ func play(moment:Moment, day:int, weather:int, music_weather_override=null, play
if play_music:
node_music.stream = tune
node_music.play()
if A_finished and B_finished:
emit_signal("finished")
func stop(fadeout:=0.0):
if A_finished and B_finished:
finished.emit()
func stop(fadeout: float = 0.0):
if tween:
tween.kill()
if fadeout > 0:
print("fadeout ",fadeout)
print("fadeout ", fadeout)
tween = get_tree().create_tween()
tween.set_parallel(true)
tween.tween_property(node_music, "volume_db", -60.0, fadeout)
@@ -68,9 +68,7 @@ func stop(fadeout:=0.0):
tween.set_parallel(false)
tween.tween_interval(fadeout)
tween.play()
yield(tween, 'finished')
# tween.connect("finished", self, "stop")
# return
await tween.finished
node_music.stop()
node_speech.stop()
@@ -82,15 +80,11 @@ func is_playing():
func _on_speech_all_finished():
A_finished = true
# print("a_finished")
if A_finished and B_finished:
# print('boop')
emit_signal("finished")
finished.emit()
func _on_music_finished():
B_finished = true
# print("b_finished")
if A_finished and B_finished:
# print('boop')
emit_signal("finished")
finished.emit()