From 662055e4bf646d24550193c4f07ae10d045f41ee Mon Sep 17 00:00:00 2001 From: Relintai Date: Sat, 30 May 2020 23:23:38 +0200 Subject: [PATCH] Fix skeleton mesh generation in single threaded mode. Also update ThreadPool to get the it's single thread mode fixes. --- HEADS | 2 +- game/player/CharacterSkeletonGD.gd | 3 +-- game/player/CharacterSkeletonMeshJob.gd | 6 ++++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/HEADS b/HEADS index bc6b649d..8f9d6a1f 100644 --- a/HEADS +++ b/HEADS @@ -1 +1 @@ -{"engine": {"3.2": "f108037cbfdd010ca61954fcb0a341f754a7a9f0", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "97f10512f8832394389e1109154b8af34a2ef2c6"}, "entity_spell_system": {"master": "d063f8da2816e9e016112a2cc9a22a61c1f43d92"}, "ui_extensions": {"master": "6fe4f69fea8d71043b08d959b8085404c9c4fe47"}, "voxelman": {"master": "7c93cc8f52a60746aa43c0a78631baecbabfe6dc"}, "texture_packer": {"master": "e3047f7dfab861767c5295ea93d2f1404e8de66e"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "3cc9f15f05be53380e20763efc0be753b621b8a2"}, "procedural_animations": {"master": "e4f048d67c171c34995763519e6d21bf40df29a7"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "fast_quadratic_mesh_simplifier": {"master": "f6d3d65cc6ce4dddfc68054164feec1f612ecd1f"}, "props": {"master": "b2bcb5ea6469b19298cd849c1232ddb5ad26f71c"}, "mesh_utils": {"master": "e540e84f9b9505cbba14d1abcd7777ea0b9963e6"}, "broken_seals_module": {"master": "14c239fd8716988b837c2fcfe20fe7d9f11dd515"}, "thread_pool": {"master": "3891a9b68d60319e6291cc5d33fd1b073dcd6bcc"}} \ No newline at end of file +{"engine": {"3.2": "f108037cbfdd010ca61954fcb0a341f754a7a9f0", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "97f10512f8832394389e1109154b8af34a2ef2c6"}, "entity_spell_system": {"master": "d063f8da2816e9e016112a2cc9a22a61c1f43d92"}, "ui_extensions": {"master": "6fe4f69fea8d71043b08d959b8085404c9c4fe47"}, "voxelman": {"master": "7c93cc8f52a60746aa43c0a78631baecbabfe6dc"}, "texture_packer": {"master": "e3047f7dfab861767c5295ea93d2f1404e8de66e"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "3cc9f15f05be53380e20763efc0be753b621b8a2"}, "procedural_animations": {"master": "e4f048d67c171c34995763519e6d21bf40df29a7"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "fast_quadratic_mesh_simplifier": {"master": "f6d3d65cc6ce4dddfc68054164feec1f612ecd1f"}, "props": {"master": "b2bcb5ea6469b19298cd849c1232ddb5ad26f71c"}, "mesh_utils": {"master": "e540e84f9b9505cbba14d1abcd7777ea0b9963e6"}, "broken_seals_module": {"master": "14c239fd8716988b837c2fcfe20fe7d9f11dd515"}, "thread_pool": {"master": "c2aa3018961655165d31aa4586bf1c2a76ed57c1"}} \ No newline at end of file diff --git a/game/player/CharacterSkeletonGD.gd b/game/player/CharacterSkeletonGD.gd index 88ca514d..bf76b704 100644 --- a/game/player/CharacterSkeletonGD.gd +++ b/game/player/CharacterSkeletonGD.gd @@ -186,8 +186,7 @@ func build(): _mesh_job.data = data ThreadPool.add_job(_mesh_job) - -# build_mesh("") + finish_build_mesh() func setup_build_mesh() -> void: diff --git a/game/player/CharacterSkeletonMeshJob.gd b/game/player/CharacterSkeletonMeshJob.gd index 2797c9a6..32e20336 100644 --- a/game/player/CharacterSkeletonMeshJob.gd +++ b/game/player/CharacterSkeletonMeshJob.gd @@ -89,7 +89,7 @@ func _execute(): mm.add_mesh_data_resource_bone(mesh, bones, bonew, transform, rect) var arr : Array = mm.build_mesh() - + var mesh : ArrayMesh = ArrayMesh.new() mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr) mesh.surface_set_material(0, materials[0]) @@ -108,8 +108,10 @@ func _execute(): meshl3.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr) meshl3.surface_set_material(0, materials[2]) meshes.append(meshl3) - + emit_signal("finished") +# call_deferred("emit_signal", "finished") + complete = true func prepare_textures() -> void: _texture_packer.clear()