Restore Kat and Kim animalese voices
This commit is contained in:
parent
8107e2d89c
commit
86e5980019
149 changed files with 1781 additions and 24 deletions
|
|
@ -964,19 +964,20 @@ func _validate_profile_voice_navigation() -> void:
|
|||
for item: Variant in page.call("_controls_under", sample_grid):
|
||||
sample_buttons.append(item as Control)
|
||||
_expect(
|
||||
sample_buttons.size() == 1,
|
||||
"The voice-set row must expose the project-owned robot set.",
|
||||
sample_buttons.size() == 3,
|
||||
"The voice-set row must expose kat, robot, and kim.",
|
||||
)
|
||||
if sample_buttons.size() != 1:
|
||||
if sample_buttons.size() != 3:
|
||||
page.queue_free()
|
||||
await process_frame
|
||||
return
|
||||
var kat_button := sample_grid.get_node("VoiceSet_kat") as Button
|
||||
var robot_button := sample_grid.get_node("VoiceSet_robot") as Button
|
||||
var kim_button := sample_grid.get_node("VoiceSet_kim") as Button
|
||||
_expect(kat_button.text == "kat", "The default voice set is not labeled kat.")
|
||||
_expect(robot_button.text == "robot", "The tone voice set is not labeled robot.")
|
||||
_expect(
|
||||
robot_button.button_pressed,
|
||||
"The project-owned robot voice set is not selected by default.",
|
||||
)
|
||||
_expect(kim_button.text == "kim", "The kim voice set is not labeled kim.")
|
||||
_expect(kat_button.button_pressed, "The kat voice set is not selected by default.")
|
||||
var option_controls: Array[Control] = []
|
||||
var option_groups: Array = page.call("_controller_option_groups")
|
||||
for item: Variant in option_groups[0]:
|
||||
|
|
@ -991,12 +992,12 @@ func _validate_profile_voice_navigation() -> void:
|
|||
),
|
||||
"The controller voice zone does not contain every voice setting.",
|
||||
)
|
||||
_assert_directionally_reachable(robot_button, option_controls)
|
||||
var robot_down := robot_button.get_node_or_null(
|
||||
robot_button.focus_neighbor_bottom
|
||||
_assert_directionally_reachable(kat_button, option_controls)
|
||||
var kat_down := kat_button.get_node_or_null(
|
||||
kat_button.focus_neighbor_bottom
|
||||
) as Control
|
||||
_expect(
|
||||
robot_down != null and pitch_grid.is_ancestor_of(robot_down),
|
||||
kat_down != null and pitch_grid.is_ancestor_of(kat_down),
|
||||
"Down from the voice-set row does not enter the pitch row.",
|
||||
)
|
||||
if OS.has_environment("NETFISHING_PROFILE_VOICE_CAPTURE"):
|
||||
|
|
@ -1020,6 +1021,18 @@ func _validate_profile_voice_navigation() -> void:
|
|||
str(page.get("_draft_sample_set_id")) == "robot",
|
||||
"Selecting robot did not update the profile draft.",
|
||||
)
|
||||
kim_button.grab_focus()
|
||||
kim_button.button_pressed = true
|
||||
kim_button.pressed.emit()
|
||||
await process_frame
|
||||
_expect(
|
||||
root.gui_get_focus_owner() == kim_button,
|
||||
"Selecting kim moved controller focus out of the voice-set row.",
|
||||
)
|
||||
_expect(
|
||||
str(page.get("_draft_sample_set_id")) == "kim",
|
||||
"Selecting kim did not update the profile draft.",
|
||||
)
|
||||
var category_controls: Array[Control] = []
|
||||
for item: Variant in page.call(
|
||||
"_controls_under", page.get("_category_list")
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ func _run_host() -> void:
|
|||
"deep",
|
||||
profile.speech_speed_id,
|
||||
profile.call_id,
|
||||
"robot",
|
||||
"kim",
|
||||
))
|
||||
var save_manager := main.get("_save_manager") as PlayerSaveManager
|
||||
assert(session.start_private_host(TEST_PORT))
|
||||
|
|
@ -62,7 +62,7 @@ func _run_host() -> void:
|
|||
) as Player
|
||||
assert(local_avatar != null)
|
||||
assert(local_avatar.get_animalese_voice_id() == "deep")
|
||||
assert(local_avatar.get_animalese_sample_set_id() == "robot")
|
||||
assert(local_avatar.get_animalese_sample_set_id() == "kim")
|
||||
assert(save_manager.initialize_new_game())
|
||||
main.call("_enter_gameplay")
|
||||
for _frame: int in 4:
|
||||
|
|
@ -114,7 +114,7 @@ func _run_host() -> void:
|
|||
await process_frame
|
||||
assert(not voice_messages.is_empty())
|
||||
assert(str(voice_messages[0].get("voice_id", "")) == "deep")
|
||||
assert(str(voice_messages[0].get("sample_set_id", "")) == "robot")
|
||||
assert(str(voice_messages[0].get("sample_set_id", "")) == "kim")
|
||||
var disconnect_deadline: int = Time.get_ticks_msec() + 8000
|
||||
while (
|
||||
Time.get_ticks_msec() < disconnect_deadline
|
||||
|
|
@ -182,7 +182,7 @@ func _run_client() -> void:
|
|||
"deep",
|
||||
service.get_persisted_speech_speed_id(),
|
||||
service.get_persisted_call_id(),
|
||||
"robot",
|
||||
"kim",
|
||||
))
|
||||
var apply_deadline: int = Time.get_ticks_msec() + 8000
|
||||
while Time.get_ticks_msec() < apply_deadline and apply_results.is_empty():
|
||||
|
|
@ -191,11 +191,11 @@ func _run_client() -> void:
|
|||
assert(bool(apply_results[0][0]))
|
||||
assert(service.get_persisted_appearance() == changed)
|
||||
assert(service.get_persisted_voice_id() == "deep")
|
||||
assert(service.get_persisted_sample_set_id() == "robot")
|
||||
assert(service.get_persisted_sample_set_id() == "kim")
|
||||
assert(Dictionary(session.get("_local_appearance_snapshot")) == changed)
|
||||
var player := main.get_node("%PlayerSpawnService").get_local_player() as Player
|
||||
assert(player.get_animalese_voice_id() == "deep")
|
||||
assert(player.get_animalese_sample_set_id() == "robot")
|
||||
assert(player.get_animalese_sample_set_id() == "kim")
|
||||
var host_voice_messages: Array[Dictionary] = []
|
||||
for message: Dictionary in chat_service.get_history():
|
||||
if str(message.get("body", "")) == HOST_VOICE_MESSAGE:
|
||||
|
|
@ -217,8 +217,8 @@ func _run_client() -> void:
|
|||
host_voice_messages.append(message)
|
||||
assert(not host_voice_messages.is_empty())
|
||||
assert(str(host_voice_messages[0].get("voice_id", "")) == "deep")
|
||||
assert(str(host_voice_messages[0].get("sample_set_id", "")) == "robot")
|
||||
assert(remote_voice_samples.has("robot"))
|
||||
assert(str(host_voice_messages[0].get("sample_set_id", "")) == "kim")
|
||||
assert(remote_voice_samples.has("kim"))
|
||||
var local_confirmations: Array[Dictionary] = []
|
||||
chat_service.local_message_confirmed.connect(
|
||||
func(message: Dictionary) -> void:
|
||||
|
|
@ -238,7 +238,7 @@ func _run_client() -> void:
|
|||
await process_frame
|
||||
assert(not local_confirmations.is_empty())
|
||||
assert(str(local_confirmations[0].get("voice_id", "")) == "deep")
|
||||
assert(str(local_confirmations[0].get("sample_set_id", "")) == "robot")
|
||||
assert(str(local_confirmations[0].get("sample_set_id", "")) == "kim")
|
||||
print("Profile multiplayer client validation: PASS")
|
||||
await _session_cleanup(main, session)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue