Replace starter RV placeholder with donated motorcoach

This commit is contained in:
Alexander Sellite 2026-08-31 00:31:02 -04:00
parent 826f62c352
commit 9b96a3bf53
4 changed files with 85 additions and 17 deletions

Binary file not shown.

View file

@ -0,0 +1,45 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bhph22caipcj6"
path="res://.godot/imported/starter_motorcoach.glb-153681ef1e622a556fba4df576dc6f84.scn"
[deps]
source_file="res://homes/assets/starter_motorcoach.glb"
dest_files=["res://.godot/imported/starter_motorcoach.glb-153681ef1e622a556fba4df576dc6f84.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
mesh_library/use_node_names_as_mesh_names=false
array_mesh/deduplicate_surfaces=true
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
gltf/texture_map_mode=1

View file

@ -6,10 +6,13 @@ const NetworkHomeProtocolType = preload(
)
const PlayerHomeStateType = preload("res://homes/player_home_state.gd")
const DecorCatalogType = preload("res://homes/decor_catalog.gd")
const STARTER_MOTORCOACH_SCENE: PackedScene = preload(
"res://homes/assets/starter_motorcoach.glb"
)
const EXTERIOR_BODY_SIZE := Vector3(5.6, 2.5, 2.35)
const EXTERIOR_DOOR_LOCAL := Vector3(-1.45, 0.85, 1.48)
const EXTERIOR_SPAWN_LOCAL := Vector3(-1.45, 0.25, 2.45)
const EXTERIOR_DOOR_LOCAL := Vector3(-0.2, 0.85, 1.48)
const EXTERIOR_SPAWN_LOCAL := Vector3(-0.2, 0.25, 2.45)
const EXTERIOR_INTERACTION_DISTANCE: float = 2.7
const INTERIOR_EXIT_DISTANCE: float = 2.1
const INTERIOR_ORIGIN := Vector3(1000.0, 300.0, 1000.0)
@ -819,9 +822,18 @@ func _build_exterior(
root.name = "RV_%s" % fingerprint.left(8)
_exteriors_root.add_child(root)
root.global_transform = world_transform
_add_box(
root, "Body", EXTERIOR_BODY_SIZE, Vector3(0.0, 1.35, 0.0),
Color("d8d2bd"), true,
if not _dedicated_runtime:
var motorcoach: Node3D = STARTER_MOTORCOACH_SCENE.instantiate() as Node3D
if motorcoach != null:
motorcoach.name = "StarterMotorcoach"
root.add_child(motorcoach)
else:
push_error("The starter motorcoach exterior could not be instantiated.")
_add_box_collision(
root,
"Body",
EXTERIOR_BODY_SIZE,
Vector3(0.0, 1.35, 0.0),
)
root.visible = not _dedicated_runtime
return root
@ -986,19 +998,28 @@ func _add_box(
mesh_instance.position = position
parent.add_child(mesh_instance)
if with_collision:
var body := StaticBody3D.new()
body.name = "%sCollision" % node_name
body.position = position
var collision := CollisionShape3D.new()
var shape := BoxShape3D.new()
shape.size = size
collision.shape = shape
body.add_child(collision)
parent.add_child(body)
return body
return _add_box_collision(parent, node_name, size, position)
return null
func _add_box_collision(
parent: Node3D,
node_name: String,
size: Vector3,
position: Vector3,
) -> StaticBody3D:
var body := StaticBody3D.new()
body.name = "%sCollision" % node_name
body.position = position
var collision := CollisionShape3D.new()
var shape := BoxShape3D.new()
shape.size = size
collision.shape = shape
body.add_child(collision)
parent.add_child(body)
return body
func _spawn_decor_poof(
owner_fingerprint: String,
instance_id: String,