diff --git a/godot/Environments/Models/KenneyTrains/track-detailed.glb.import b/godot/Environments/Models/KenneyTrains/track-detailed.glb.import index 4617bf5..674aa7c 100644 --- a/godot/Environments/Models/KenneyTrains/track-detailed.glb.import +++ b/godot/Environments/Models/KenneyTrains/track-detailed.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/track-rail.glb.import b/godot/Environments/Models/KenneyTrains/track-rail.glb.import index 3aaeb8d..145ed7e 100644 --- a/godot/Environments/Models/KenneyTrains/track-rail.glb.import +++ b/godot/Environments/Models/KenneyTrains/track-rail.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/track-segment.glb.import b/godot/Environments/Models/KenneyTrains/track-segment.glb.import index 6ce55d6..b65087d 100644 --- a/godot/Environments/Models/KenneyTrains/track-segment.glb.import +++ b/godot/Environments/Models/KenneyTrains/track-segment.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/track-single-detailed.glb.import b/godot/Environments/Models/KenneyTrains/track-single-detailed.glb.import index 6958f07..e188f2d 100644 --- a/godot/Environments/Models/KenneyTrains/track-single-detailed.glb.import +++ b/godot/Environments/Models/KenneyTrains/track-single-detailed.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/track-single.glb.import b/godot/Environments/Models/KenneyTrains/track-single.glb.import index 25b240e..24ff21f 100644 --- a/godot/Environments/Models/KenneyTrains/track-single.glb.import +++ b/godot/Environments/Models/KenneyTrains/track-single.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/track.glb.import b/godot/Environments/Models/KenneyTrains/track.glb.import index ea80cac..994c3fa 100644 --- a/godot/Environments/Models/KenneyTrains/track.glb.import +++ b/godot/Environments/Models/KenneyTrains/track.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=2.5 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=1 diff --git a/godot/Environments/Models/KenneyTrains/train-tram-classic.glb.import b/godot/Environments/Models/KenneyTrains/train-tram-classic.glb.import index 8b589cd..0f44652 100644 --- a/godot/Environments/Models/KenneyTrains/train-tram-classic.glb.import +++ b/godot/Environments/Models/KenneyTrains/train-tram-classic.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={ "materials": { diff --git a/godot/Environments/Models/KenneyTrains/train-tram-modern.glb.import b/godot/Environments/Models/KenneyTrains/train-tram-modern.glb.import index f370e88..13fee18 100644 --- a/godot/Environments/Models/KenneyTrains/train-tram-modern.glb.import +++ b/godot/Environments/Models/KenneyTrains/train-tram-modern.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=2.5 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={ "materials": { diff --git a/godot/Environments/Models/KenneyTrains/train-tram-round.glb.import b/godot/Environments/Models/KenneyTrains/train-tram-round.glb.import index 9382f1c..0d21a0b 100644 --- a/godot/Environments/Models/KenneyTrains/train-tram-round.glb.import +++ b/godot/Environments/Models/KenneyTrains/train-tram-round.glb.import @@ -17,6 +17,7 @@ nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +29,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={ "materials": { diff --git a/godot/Levels/test_level.tscn b/godot/Levels/test_level.tscn index 0ef0ab3..b1687ae 100644 --- a/godot/Levels/test_level.tscn +++ b/godot/Levels/test_level.tscn @@ -9,8 +9,8 @@ [ext_resource type="PackedScene" uid="uid://ulvv4o73s48a" path="res://Environments/Models/KenneyTrains/track.glb" id="7_8fuqb"] [sub_resource type="NavigationMesh" id="NavigationMesh_8a2j6"] -vertices = PackedVector3Array(-29.401, 0.457877, -9.71053, -29.401, 0.457877, -1.21053, -10.901, 0.457877, -1.21053, -10.901, 0.457877, -9.71053, 3.59903, 0.457877, -1.21053, 3.59903, 0.457877, -2.71053, -8.15097, 0.457877, -2.71053, -9.40097, 0.457877, -1.21053, -8.40097, 0.457877, -6.46053, 4.09903, 0.457877, -6.71053, 4.09903, 0.457877, -9.71053, -9.40097, 0.457877, -9.71053, -9.40097, 0.457877, -1.21053, -8.15097, 0.457877, -2.71053, -8.40097, 0.457877, -6.46053, -9.40097, 0.457877, -9.71053, 6.34903, 0.457877, -2.96053, 5.84903, 0.457877, -2.71053, 9.59903, 0.457877, -2.46053, 4.09903, 0.457877, -9.71053, 4.09903, 0.457877, -6.71053, 6.34903, 0.457877, -6.46053, 9.59903, 0.457877, -9.71053, 6.34903, 0.457877, -6.46053, 6.34903, 0.457877, -2.96053, 9.59903, 0.457877, -2.46053, 9.59903, 0.457877, -9.71053, -7.40097, 4.70788, -5.71053, -7.40097, 4.70788, -3.71053, -1.65097, 4.70788, -3.71053, -1.65097, 4.70788, -5.71053, -0.400969, 4.70788, -5.71053, -0.400969, 4.70788, -3.71053, 5.34903, 4.70788, -3.71053, 5.34903, 4.70788, -5.71053, -7.15097, 0.457877, -5.46053, -7.15097, 0.457877, -3.96053, -1.90097, 0.457877, -3.96053, -1.90097, 0.457877, -5.46053, -0.150969, 0.457877, -5.46053, -0.150969, 0.457877, -3.96053, 5.09903, 0.457877, -3.96053, 5.09903, 0.457877, -5.46053, 3.59903, 0.457877, -2.71053, 3.59903, 0.457877, -1.21053, 4.09903, 0.457877, -0.960529, 5.84903, 0.457877, -2.71053, 3.84903, 0.457877, 0.289471, 1.84903, 0.457877, 0.289471, 1.84903, 0.457877, 5.28947, 7.09903, 0.457877, 5.28947, 5.84903, 0.457877, -2.71053, 4.09903, 0.457877, -0.960529, 3.84903, 0.457877, 0.289471, 7.09903, 0.457877, 5.28947, 9.59903, 0.457877, 8.78947, 9.59903, 0.457877, -2.46053, 7.09903, 0.457877, 5.28947, 7.34903, 0.457877, 8.78947, 9.59903, 0.457877, 8.78947, -29.401, 0.457877, 3.78947, -27.151, 0.457877, 3.28947, -26.901, 0.457877, 1.28947, -29.401, 0.457877, 0.289471, -12.651, 0.457877, 1.28947, -5.15097, 0.457877, 0.289471, -29.401, 0.457877, 0.289471, -26.901, 0.457877, 1.28947, -12.401, 0.457877, 5.03947, -12.901, 0.457877, 5.28947, -12.901, 0.457877, 8.78947, -7.40097, 0.457877, 8.78947, -7.40097, 0.457877, 5.53947, -7.40097, 0.457877, 5.53947, -5.15097, 0.457877, 5.28947, -5.15097, 0.457877, 0.289471, -12.651, 0.457877, 1.28947, -12.401, 0.457877, 5.03947, -5.15097, 0.457877, 5.28947, 1.84903, 0.457877, 5.28947, 1.84903, 0.457877, 0.289471, -5.15097, 0.457877, 0.289471, -26.151, 4.70788, 2.28947, -26.151, 4.70788, 4.28947, -20.401, 4.70788, 4.28947, -20.401, 4.70788, 2.28947, -19.151, 4.70788, 2.28947, -19.151, 4.70788, 4.28947, -13.401, 4.70788, 4.28947, -13.401, 4.70788, 2.28947, -25.901, 0.457877, 2.53947, -25.901, 0.457877, 4.03947, -20.651, 0.457877, 4.03947, -20.651, 0.457877, 2.53947, -18.901, 0.457877, 2.53947, -18.901, 0.457877, 4.03947, -13.651, 0.457877, 4.03947, -13.651, 0.457877, 2.53947, -26.901, 0.457877, 5.28947, -27.151, 0.457877, 3.28947, -29.401, 0.457877, 3.78947, -29.401, 0.457877, 8.78947, -12.901, 0.457877, 8.78947, -12.901, 0.457877, 5.28947, -26.901, 0.457877, 5.28947, -29.401, 0.457877, 8.78947, -6.40097, 4.70788, 6.28947, -6.40097, 4.70788, 8.28947, -0.650969, 4.70788, 8.28947, -0.650969, 4.70788, 6.28947, 0.599031, 4.70788, 6.28947, 0.599031, 4.70788, 8.28947, 6.34903, 4.70788, 8.28947, 6.34903, 4.70788, 6.28947, -6.15097, 0.457877, 6.53947, -6.15097, 0.457877, 8.03947, -0.900969, 0.457877, 8.03947, -0.900969, 0.457877, 6.53947, 0.849031, 0.457877, 6.53947, 0.849031, 0.457877, 8.03947, 6.09903, 0.457877, 8.03947, 6.09903, 0.457877, 6.53947) -polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(13, 12, 14), PackedInt32Array(14, 12, 15), PackedInt32Array(16, 18, 17), PackedInt32Array(20, 19, 21), PackedInt32Array(21, 19, 22), PackedInt32Array(24, 23, 25), PackedInt32Array(25, 23, 26), PackedInt32Array(30, 29, 27), PackedInt32Array(27, 29, 28), PackedInt32Array(34, 33, 31), PackedInt32Array(31, 33, 32), PackedInt32Array(38, 37, 35), PackedInt32Array(35, 37, 36), PackedInt32Array(42, 41, 39), PackedInt32Array(39, 41, 40), PackedInt32Array(44, 43, 45), PackedInt32Array(45, 43, 46), PackedInt32Array(48, 47, 49), PackedInt32Array(49, 47, 50), PackedInt32Array(52, 51, 53), PackedInt32Array(53, 51, 56), PackedInt32Array(53, 56, 54), PackedInt32Array(54, 56, 55), PackedInt32Array(59, 58, 57), PackedInt32Array(61, 60, 62), PackedInt32Array(62, 60, 63), PackedInt32Array(67, 66, 64), PackedInt32Array(64, 66, 65), PackedInt32Array(69, 68, 70), PackedInt32Array(70, 68, 72), PackedInt32Array(70, 72, 71), PackedInt32Array(74, 73, 75), PackedInt32Array(75, 73, 77), PackedInt32Array(75, 77, 76), PackedInt32Array(81, 80, 78), PackedInt32Array(78, 80, 79), PackedInt32Array(85, 84, 82), PackedInt32Array(82, 84, 83), PackedInt32Array(89, 88, 86), PackedInt32Array(86, 88, 87), PackedInt32Array(93, 92, 90), PackedInt32Array(90, 92, 91), PackedInt32Array(97, 96, 94), PackedInt32Array(94, 96, 95), PackedInt32Array(99, 98, 100), PackedInt32Array(100, 98, 101), PackedInt32Array(103, 102, 104), PackedInt32Array(104, 102, 105), PackedInt32Array(109, 108, 106), PackedInt32Array(106, 108, 107), PackedInt32Array(113, 112, 110), PackedInt32Array(110, 112, 111), PackedInt32Array(117, 116, 114), PackedInt32Array(114, 116, 115), PackedInt32Array(121, 120, 118), PackedInt32Array(118, 120, 119)] +vertices = PackedVector3Array(-29.4976, 0.457877, -9.71053, -29.4976, 0.457877, -1.21053, -10.9976, 0.457877, -1.21053, -10.9976, 0.457877, -9.71053, 3.5024, 0.457877, -1.21053, 3.5024, 0.457877, -2.71053, -8.2476, 0.457877, -2.71053, -9.2476, 0.457877, -1.21053, -8.4976, 0.457877, -6.46053, 4.0024, 0.457877, -6.71053, 4.0024, 0.457877, -9.71053, -9.2476, 0.457877, -9.71053, 6.2524, 0.457877, -2.96053, 5.7524, 0.457877, -2.71053, 9.5024, 0.457877, -2.46053, 6.2524, 0.457877, -6.46053, 9.5024, 0.457877, -9.71053, -7.4976, 4.70788, -5.71053, -7.4976, 4.70788, -3.71053, -1.7476, 4.70788, -3.71053, -1.7476, 4.70788, -5.71053, -0.497601, 4.70788, -5.71053, -0.497601, 4.70788, -3.71053, 5.2524, 4.70788, -3.71053, 5.2524, 4.70788, -5.71053, -7.2476, 0.457877, -5.46053, -7.2476, 0.457877, -3.96053, -1.9976, 0.457877, -3.96053, -1.9976, 0.457877, -5.46053, -0.247601, 0.457877, -5.46053, -0.247601, 0.457877, -3.96053, 5.0024, 0.457877, -3.96053, 5.0024, 0.457877, -5.46053, 4.0024, 0.457877, -0.960529, 3.7524, 0.457877, 0.289471, 1.7524, 0.457877, 0.289471, 1.7524, 0.457877, 5.28947, 7.0024, 0.457877, 5.28947, 9.5024, 0.457877, 8.78947, 7.2524, 0.457877, 8.78947, -29.4976, 0.457877, 3.78947, -27.2476, 0.457877, 3.28947, -26.9976, 0.457877, 1.28947, -29.4976, 0.457877, 0.289471, -12.7476, 0.457877, 1.28947, -5.2476, 0.457877, 0.289471, -12.4976, 0.457877, 5.03947, -12.9976, 0.457877, 5.28947, -12.9976, 0.457877, 8.78947, -7.4976, 0.457877, 8.78947, -7.4976, 0.457877, 5.53947, -5.2476, 0.457877, 5.28947, -26.2476, 4.70788, 2.28947, -26.2476, 4.70788, 4.28947, -20.4976, 4.70788, 4.28947, -20.4976, 4.70788, 2.28947, -19.2476, 4.70788, 2.28947, -19.2476, 4.70788, 4.28947, -13.4976, 4.70788, 4.28947, -13.4976, 4.70788, 2.28947, -25.9976, 0.457877, 2.53947, -25.9976, 0.457877, 4.03947, -20.7476, 0.457877, 4.03947, -20.7476, 0.457877, 2.53947, -18.9976, 0.457877, 2.53947, -18.9976, 0.457877, 4.03947, -13.7476, 0.457877, 4.03947, -13.7476, 0.457877, 2.53947, -26.9976, 0.457877, 5.28947, -29.4976, 0.457877, 8.78947, -6.4976, 4.70788, 6.28947, -6.4976, 4.70788, 8.28947, -0.747601, 4.70788, 8.28947, -0.747601, 4.70788, 6.28947, 0.502399, 4.70788, 6.28947, 0.502399, 4.70788, 8.28947, 6.2524, 4.70788, 8.28947, 6.2524, 4.70788, 6.28947, -6.2476, 0.457877, 6.53947, -6.2476, 0.457877, 8.03947, -0.997601, 0.457877, 8.03947, -0.997601, 0.457877, 6.53947, 0.752399, 0.457877, 6.53947, 0.752399, 0.457877, 8.03947, 6.0024, 0.457877, 8.03947, 6.0024, 0.457877, 6.53947) +polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(6, 7, 8), PackedInt32Array(8, 7, 11), PackedInt32Array(12, 14, 13), PackedInt32Array(9, 10, 15), PackedInt32Array(15, 10, 16), PackedInt32Array(12, 15, 14), PackedInt32Array(14, 15, 16), PackedInt32Array(20, 19, 17), PackedInt32Array(17, 19, 18), PackedInt32Array(24, 23, 21), PackedInt32Array(21, 23, 22), PackedInt32Array(28, 27, 25), PackedInt32Array(25, 27, 26), PackedInt32Array(32, 31, 29), PackedInt32Array(29, 31, 30), PackedInt32Array(4, 5, 33), PackedInt32Array(33, 5, 13), PackedInt32Array(35, 34, 36), PackedInt32Array(36, 34, 37), PackedInt32Array(33, 13, 34), PackedInt32Array(34, 13, 14), PackedInt32Array(34, 14, 37), PackedInt32Array(37, 14, 38), PackedInt32Array(38, 39, 37), PackedInt32Array(41, 40, 42), PackedInt32Array(42, 40, 43), PackedInt32Array(42, 43, 44), PackedInt32Array(44, 43, 45), PackedInt32Array(47, 46, 48), PackedInt32Array(48, 46, 50), PackedInt32Array(48, 50, 49), PackedInt32Array(51, 50, 45), PackedInt32Array(45, 50, 46), PackedInt32Array(45, 46, 44), PackedInt32Array(45, 35, 51), PackedInt32Array(51, 35, 36), PackedInt32Array(55, 54, 52), PackedInt32Array(52, 54, 53), PackedInt32Array(59, 58, 56), PackedInt32Array(56, 58, 57), PackedInt32Array(63, 62, 60), PackedInt32Array(60, 62, 61), PackedInt32Array(67, 66, 64), PackedInt32Array(64, 66, 65), PackedInt32Array(41, 68, 40), PackedInt32Array(40, 68, 69), PackedInt32Array(47, 48, 68), PackedInt32Array(68, 48, 69), PackedInt32Array(73, 72, 70), PackedInt32Array(70, 72, 71), PackedInt32Array(77, 76, 74), PackedInt32Array(74, 76, 75), PackedInt32Array(81, 80, 78), PackedInt32Array(78, 80, 79), PackedInt32Array(85, 84, 82), PackedInt32Array(82, 84, 83)] geometry_parsed_geometry_type = 1 geometry_collision_mask = 4294967289 diff --git a/godot/project.godot b/godot/project.godot index ec3b0ae..fe35f0a 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="metro_rts" run/main_scene="res://boot.tscn" -config/features=PackedStringArray("4.2", "Forward Plus") +config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" [display] @@ -54,37 +54,37 @@ mclick={ } direction_left={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) ] } direction_right={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) ] } direction_up={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) ] } direction_down={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) ] } rotate_left={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) ] } rotate_right={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) ] } DEBUG_toggle_debug={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":96,"key_label":0,"unicode":96,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":96,"key_label":0,"unicode":96,"location":0,"echo":false,"script":null) ] } diff --git a/src/enemy_world_state.cpp b/src/enemy_world_state.cpp index 79e9898..4b35de6 100644 --- a/src/enemy_world_state.cpp +++ b/src/enemy_world_state.cpp @@ -11,7 +11,7 @@ void EnemyWorldState::_bind_methods() { GDPROPERTY_HINTED(available_goals_inspector, gd::Variant::ARRAY, gd::PROPERTY_HINT_ARRAY_TYPE, GDRESOURCETYPE("Goal")); } -void EnemyWorldState::_ready() { GDGAMEONLY(); +void EnemyWorldState::_ready() { this->parent_unit->connect("plan_interrupted", callable_mp(this, &EnemyWorldState::queue_select_and_set_target)); this->awareness_area = this->get_node("%AwarenessArea"); this->awareness_area->connect("body_entered", callable_mp(this, &EnemyWorldState::on_awareness_entered)); diff --git a/src/goap/planner.cpp b/src/goap/planner.cpp index e44a3b8..1d54da6 100644 --- a/src/goap/planner.cpp +++ b/src/goap/planner.cpp @@ -85,7 +85,7 @@ void Planner::_bind_methods() { GDPROPERTY_HINTED(actions_inspector, gd::Variant::ARRAY, gd::PROPERTY_HINT_ARRAY_TYPE, ActionDB::get_array_hint()); } -void Planner::_ready() { GDGAMEONLY(); +void Planner::_ready() { this->world_state = this->get_node("%ActorWorldState"); } diff --git a/src/nav_marker.cpp b/src/nav_marker.cpp index f37d52b..f33120f 100644 --- a/src/nav_marker.cpp +++ b/src/nav_marker.cpp @@ -14,8 +14,8 @@ void NavMarker::_bind_methods() { void NavMarker::_process(double) { #ifdef DEBUG_ENABLED - GDEDITORONLY() - if(gd::EditorInterface::get_singleton()->get_selection()->get_selected_nodes().has(this)) { + // only run in editor while selected + if(gd::Engine::get_singleton()->is_editor_hint() && gd::EditorInterface::get_singleton()->get_selection()->get_selected_nodes().has(this)) { gd::RID const map_id{this->get_world_3d()->get_navigation_map()}; gd::Vector3 const new_point{gd::NavigationServer3D::get_singleton()->map_get_closest_point(map_id, this->get_global_position())}; this->set_global_position(new_point); diff --git a/src/nav_room.cpp b/src/nav_room.cpp index 4a94f17..090fa3b 100644 --- a/src/nav_room.cpp +++ b/src/nav_room.cpp @@ -22,12 +22,12 @@ NavRoom *NavRoom::get_closest_room(gd::Vector3 const &closest_to) { return candidate; } -void NavRoom::_enter_tree() { GDGAMEONLY() +void NavRoom::_enter_tree() { NavRoom::rooms.push_back(this); this->connect("child_entered_tree", callable_mp(this, &NavRoom::on_child_entered)); } -void NavRoom::_exit_tree() { GDGAMEONLY() +void NavRoom::_exit_tree() { NavRoom::rooms.erase(this); } diff --git a/src/register_types.cpp b/src/register_types.cpp index e0f5a2f..64061fe 100644 --- a/src/register_types.cpp +++ b/src/register_types.cpp @@ -50,24 +50,24 @@ void initialize_gdextension_types(gd::ModuleInitializationLevel p_level) ItemDB::register_item(); ItemDB::register_item(); - GDREGISTER_CLASS(goap::ActorWorldState); + GDREGISTER_RUNTIME_CLASS(goap::ActorWorldState); GDREGISTER_CLASS(goap::Goal); - GDREGISTER_CLASS(goap::Planner); - GDREGISTER_CLASS(goap::State); + GDREGISTER_RUNTIME_CLASS(goap::Planner); + GDREGISTER_RUNTIME_CLASS(goap::State); - GDREGISTER_CLASS(MoveTo); - GDREGISTER_CLASS(Animate); - GDREGISTER_CLASS(Activate); - GDREGISTER_CLASS(UnitWorldState); - GDREGISTER_CLASS(EnemyWorldState); - GDREGISTER_CLASS(GoalMarker); - GDREGISTER_CLASS(Unit); - GDREGISTER_CLASS(RTSGameMode); - GDREGISTER_CLASS(RTSPlayer); - GDREGISTER_CLASS(EntityHealth); + GDREGISTER_RUNTIME_CLASS(MoveTo); + GDREGISTER_RUNTIME_CLASS(Animate); + GDREGISTER_RUNTIME_CLASS(Activate); + GDREGISTER_RUNTIME_CLASS(UnitWorldState); + GDREGISTER_RUNTIME_CLASS(EnemyWorldState); + GDREGISTER_RUNTIME_CLASS(GoalMarker); + GDREGISTER_RUNTIME_CLASS(Unit); + GDREGISTER_RUNTIME_CLASS(EntityHealth); GDREGISTER_CLASS(NavMarker); - GDREGISTER_CLASS(NavRoom); - GDREGISTER_CLASS(Inventory); + GDREGISTER_RUNTIME_CLASS(NavRoom); + GDREGISTER_RUNTIME_CLASS(Inventory); + GDREGISTER_CLASS(RTSGameMode); + GDREGISTER_RUNTIME_CLASS(RTSPlayer); } extern "C" diff --git a/src/rts_game_mode.cpp b/src/rts_game_mode.cpp index 49c2985..82249db 100644 --- a/src/rts_game_mode.cpp +++ b/src/rts_game_mode.cpp @@ -7,6 +7,6 @@ void RTSGameMode::_bind_methods() { #define CLASSNAME RTSGameMode } -void RTSGameMode::_ready() { GDGAMEONLY(); +void RTSGameMode::_ready() { godot::Engine::get_singleton()->set_max_fps(60); } diff --git a/src/unit.cpp b/src/unit.cpp index 3a083fe..62a1dbe 100644 --- a/src/unit.cpp +++ b/src/unit.cpp @@ -20,7 +20,7 @@ void Unit::_bind_methods() { GDFUNCTION(use_weapon); } -void Unit::_enter_tree() { GDGAMEONLY(); +void Unit::_enter_tree() { this->agent = this->get_node("%NavigationAgent3D"); this->agent->connect("velocity_computed", callable_mp(this, &Unit::on_velocity_computed)); this->planner = this->get_node("%Planner"); @@ -32,7 +32,7 @@ void Unit::_enter_tree() { GDGAMEONLY(); this->inventory = this->get_node("%Inventory"); } -void Unit::_physics_process(double) { GDGAMEONLY(); +void Unit::_physics_process(double) { this->move_and_slide(); if(!this->get_velocity().is_zero_approx()) { gd::RID const map_id{this->get_world_3d()->get_navigation_map()}; diff --git a/src/unit_world_state.cpp b/src/unit_world_state.cpp index cf93525..8a5312d 100644 --- a/src/unit_world_state.cpp +++ b/src/unit_world_state.cpp @@ -24,7 +24,7 @@ void UnitWorldState::_bind_methods() { GDFUNCTION(get_target_global_position); } -void UnitWorldState::_enter_tree() { GDGAMEONLY(); +void UnitWorldState::_enter_tree() { this->parent_unit = gd::Object::cast_to(this->get_parent()); this->agent = this->get_node("%NavigationAgent3D"); this->eye_location = this->get_node("%Eyes");