From c0d52d41365b84856924ca746ceeb6b79d7f0b5c Mon Sep 17 00:00:00 2001 From: Yogi Wiguna Date: Wed, 25 Mar 2026 17:33:52 +0800 Subject: [PATCH] feat: Add initial MeshLibrary with various gridmap tiles and a base player character script. --- addons/enhanced_gridmap/meshlibrary/default.tres | 16 ++++++++-------- scenes/player.gd | 5 ++++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/addons/enhanced_gridmap/meshlibrary/default.tres b/addons/enhanced_gridmap/meshlibrary/default.tres index 1e0a22d..5c1d663 100644 --- a/addons/enhanced_gridmap/meshlibrary/default.tres +++ b/addons/enhanced_gridmap/meshlibrary/default.tres @@ -117,56 +117,56 @@ item/6/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, item/6/navigation_layers = 1 item/7/name = "tile_heart" item/7/mesh = SubResource("ArrayMesh_pgnbl") -item/7/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.05, 0) +item/7/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.1, 0) item/7/mesh_cast_shadow = 1 item/7/shapes = [] item/7/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/7/navigation_layers = 1 item/8/name = "tile_diamond" item/8/mesh = SubResource("ArrayMesh_r32il") -item/8/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.05, 0) +item/8/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.1, 0) item/8/mesh_cast_shadow = 1 item/8/shapes = [] item/8/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/8/navigation_layers = 1 item/9/name = "tile_star" item/9/mesh = ExtResource("7_p5epg") -item/9/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.05, 0) +item/9/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.1, 0) item/9/mesh_cast_shadow = 1 item/9/shapes = [] item/9/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/9/navigation_layers = 1 item/10/name = "tile_coin" item/10/mesh = ExtResource("4_76xkl") -item/10/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.05, 0) +item/10/mesh_transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.1, 0) item/10/mesh_cast_shadow = 1 item/10/shapes = [] item/10/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/10/navigation_layers = 1 item/11/name = "tile_speed" item/11/mesh = ExtResource("7_sx8rm") -item/11/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0, 0) +item/11/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0.1, 0) item/11/mesh_cast_shadow = 1 item/11/shapes = [] item/11/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/11/navigation_layers = 1 item/12/name = "tile_area_freeze" item/12/mesh = ExtResource("5_sx8rm") -item/12/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0, 0) +item/12/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0.1, 0) item/12/mesh_cast_shadow = 1 item/12/shapes = [] item/12/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/12/navigation_layers = 1 item/13/name = "tile_wall" item/13/mesh = ExtResource("4_8v5xv") -item/13/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0, 0) +item/13/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0.1, 0) item/13/mesh_cast_shadow = 1 item/13/shapes = [] item/13/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) item/13/navigation_layers = 1 item/14/name = "tile_ghost" item/14/mesh = ExtResource("6_r32il") -item/14/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0, 0) +item/14/mesh_transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0.1, 0) item/14/mesh_cast_shadow = 1 item/14/shapes = [] item/14/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) diff --git a/scenes/player.gd b/scenes/player.gd index 699fa92..56fe728 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -932,7 +932,10 @@ func on_stop_phase_violation(): if pos != Vector2i(-1, -1): var cell = Vector3i(pos.x, 1, pos.y) - rpc("sync_grid_item", cell.x, cell.y, cell.z, item_id) + # MUST call sync_grid_item on Main, not Player! + var main = get_tree().get_root().get_node_or_null("Main") + if main: + main.rpc("sync_grid_item", cell.x, cell.y, cell.z, item_id) NotificationManager.send_message(self , "STOP VIOLATION! Tiles scattered!", NotificationManager.MessageType.WARNING)