Prepare v0.6.8-alpha release
This commit is contained in:
parent
dbe0a7b313
commit
31d459b3a7
15 changed files with 139 additions and 41 deletions
|
|
@ -168,14 +168,14 @@ func _run() -> void:
|
|||
"error": {
|
||||
"code": "game_version_mismatch",
|
||||
"message": "generic mismatch",
|
||||
"required_game_version": "0.6.8-alpha",
|
||||
"required_game_version": "99.0.0-alpha",
|
||||
},
|
||||
}
|
||||
var outdated_message: String = str(
|
||||
discovery.call("_request_failure", outdated_discovery_error)
|
||||
)
|
||||
assert("out of date" in outdated_message)
|
||||
assert("0.6.8-alpha" in outdated_message)
|
||||
assert("99.0.0-alpha" in outdated_message)
|
||||
assert("will not be listed" in outdated_message)
|
||||
discovery.set(
|
||||
"_host_request_kind",
|
||||
|
|
@ -196,7 +196,7 @@ func _run() -> void:
|
|||
"error": {
|
||||
"code": "game_version_mismatch",
|
||||
"message": "generic mismatch",
|
||||
"required_game_version": "0.6.6-alpha",
|
||||
"required_game_version": "0.0.0-alpha",
|
||||
},
|
||||
}
|
||||
var newer_message: String = str(
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ func _run() -> void:
|
|||
main.queue_free()
|
||||
for _frame: int in 4:
|
||||
await process_frame
|
||||
await create_timer(0.1).timeout
|
||||
quit()
|
||||
|
||||
|
||||
|
|
@ -97,7 +98,10 @@ func _run_multiplayer_host() -> void:
|
|||
var session := main.get_node("%NetworkSession") as NetworkSession
|
||||
assert(session.set_host_open(true))
|
||||
var client_connected := false
|
||||
var connection_deadline: int = Time.get_ticks_msec() + 30000
|
||||
# Loading the full client world can take longer on a cold import. Keep the
|
||||
# host available until the client has completed authentication rather than
|
||||
# timing out while the client is still starting.
|
||||
var connection_deadline: int = Time.get_ticks_msec() + 60000
|
||||
while Time.get_ticks_msec() < connection_deadline:
|
||||
await process_frame
|
||||
if session.get_authenticated_peer_ids().size() >= 2:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ func _run_host() -> void:
|
|||
"%NetworkFishingService"
|
||||
) as NetworkFishingService
|
||||
|
||||
var join_deadline: int = Time.get_ticks_msec() + 20000
|
||||
var join_deadline: int = Time.get_ticks_msec() + 60000
|
||||
while (
|
||||
Time.get_ticks_msec() < join_deadline
|
||||
and session.get_authenticated_peer_ids().size() < 2
|
||||
|
|
@ -55,7 +55,7 @@ func _run_host() -> void:
|
|||
var remote_visuals := remote_avatar.get_node("Visuals") as Node3D
|
||||
remote_visuals.rotation.y = PI * 0.5
|
||||
session.publish_authoritative_teleport(remote_peer_id)
|
||||
var aiming_deadline: int = Time.get_ticks_msec() + 5000
|
||||
var aiming_deadline: int = Time.get_ticks_msec() + 15000
|
||||
while (
|
||||
Time.get_ticks_msec() < aiming_deadline
|
||||
and int(remote_avatar.get("_fishing_visual_phase"))
|
||||
|
|
@ -110,7 +110,7 @@ func _run_host() -> void:
|
|||
Player.FishingVisualPhase.FISHING,
|
||||
]
|
||||
)
|
||||
var sitting_deadline: int = Time.get_ticks_msec() + 3000
|
||||
var sitting_deadline: int = Time.get_ticks_msec() + 10000
|
||||
while Time.get_ticks_msec() < sitting_deadline and not remote_avatar.is_sitting():
|
||||
await process_frame
|
||||
assert(remote_avatar.is_sitting())
|
||||
|
|
@ -139,6 +139,12 @@ func _run_host() -> void:
|
|||
int(remote_avatar.get("_fishing_visual_phase"))
|
||||
== Player.FishingVisualPhase.RETRACT
|
||||
)
|
||||
var retract_animation_deadline: int = Time.get_ticks_msec() + 3000
|
||||
while (
|
||||
Time.get_ticks_msec() < retract_animation_deadline
|
||||
and remote_animation_player.current_animation != &"retract_sit"
|
||||
):
|
||||
await process_frame
|
||||
assert(remote_animation_player.current_animation == &"retract_sit")
|
||||
|
||||
var completion_deadline: int = Time.get_ticks_msec() + 12000
|
||||
|
|
@ -209,7 +215,7 @@ func _run_client() -> void:
|
|||
for _frame: int in 30:
|
||||
await physics_frame
|
||||
player.set_fishing_visual(false)
|
||||
player.call("_set_sitting", true)
|
||||
player.call("_set_sitting", true, true)
|
||||
assert(player.is_sitting())
|
||||
for _frame: int in 15:
|
||||
await physics_frame
|
||||
|
|
@ -303,6 +309,12 @@ func _run_client() -> void:
|
|||
int(player.get("_fishing_visual_phase"))
|
||||
== Player.FishingVisualPhase.RETRACT
|
||||
)
|
||||
var retract_animation_deadline: int = Time.get_ticks_msec() + 3000
|
||||
while (
|
||||
Time.get_ticks_msec() < retract_animation_deadline
|
||||
and character_animation_player.current_animation != &"retract_sit"
|
||||
):
|
||||
await process_frame
|
||||
assert(character_animation_player.current_animation == &"retract_sit")
|
||||
var bobber := fishing_spot.get_node(
|
||||
"FishingPresentation/Bobber"
|
||||
|
|
|
|||
|
|
@ -162,6 +162,34 @@ func _validate_portable_water_body() -> void:
|
|||
func _validate_starter_region_surfaces() -> void:
|
||||
var region := StarterRegionScene.instantiate() as Node3D
|
||||
root.add_child(region)
|
||||
var ocean_region := region.get_node(
|
||||
"WaterBodies/Ocean/FishingRegions/OceanFishingRegion"
|
||||
) as FishableWaterRegionType
|
||||
var minimum_x: float = INF
|
||||
var maximum_x: float = -INF
|
||||
var minimum_z: float = INF
|
||||
var maximum_z: float = -INF
|
||||
for child: Node in ocean_region.get_children():
|
||||
var shape_node := child as CollisionShape3D
|
||||
assert(shape_node != null and shape_node.shape is BoxShape3D)
|
||||
var box := shape_node.shape as BoxShape3D
|
||||
assert(is_equal_approx(box.size.y, 2.0))
|
||||
minimum_x = minf(minimum_x, shape_node.position.x - box.size.x * 0.5)
|
||||
maximum_x = maxf(maximum_x, shape_node.position.x + box.size.x * 0.5)
|
||||
minimum_z = minf(minimum_z, shape_node.position.z - box.size.z * 0.5)
|
||||
maximum_z = maxf(maximum_z, shape_node.position.z + box.size.z * 0.5)
|
||||
var ocean_footprint := Vector2(
|
||||
maximum_x - minimum_x,
|
||||
maximum_z - minimum_z,
|
||||
)
|
||||
assert(is_equal_approx(
|
||||
ocean_footprint.x * ocean_footprint.y,
|
||||
12840.0,
|
||||
))
|
||||
assert(is_equal_approx(
|
||||
ocean_footprint.x / 107.0,
|
||||
ocean_footprint.y / 80.0,
|
||||
))
|
||||
var fishing_spot := FishingSpotScene.instantiate() as FishingSpotType
|
||||
root.add_child(fishing_spot)
|
||||
await physics_frame
|
||||
|
|
@ -179,6 +207,14 @@ func _validate_starter_region_surfaces() -> void:
|
|||
)
|
||||
assert(ocean.is_fishable())
|
||||
assert(is_equal_approx(ocean.position.y, -0.45))
|
||||
var expanded_ocean: FishingSurfaceSampleType = (
|
||||
fishing_spot.resolve_fishing_surface(
|
||||
Vector3(72.0, -0.45, 0.0),
|
||||
4.0,
|
||||
)
|
||||
)
|
||||
assert(expanded_ocean.is_fishable())
|
||||
assert(is_equal_approx(expanded_ocean.position.y, -0.45))
|
||||
var covered_ocean: FishingSurfaceSampleType = (
|
||||
fishing_spot.resolve_fishing_surface(
|
||||
Vector3(20.0, -0.45, 0.0),
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ func _run() -> void:
|
|||
main.queue_free()
|
||||
for _frame: int in 4:
|
||||
await process_frame
|
||||
await create_timer(0.1).timeout
|
||||
quit()
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue