From bb41976be908d44cdd400926df61860b0ea82674 Mon Sep 17 00:00:00 2001 From: Rod Kay Date: Sun, 15 Sep 2024 00:05:42 +1000 Subject: [PATCH] gel.world.client.is_a_mirror: Log errors detected in tasks when fetching graphics and physics models from mirrored world. --- 4-high/gel/source/world/gel-world-client.adb | 45 ++++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/4-high/gel/source/world/gel-world-client.adb b/4-high/gel/source/world/gel-world-client.adb index bb4cb31..aa28f71 100644 --- a/4-high/gel/source/world/gel-world-client.adb +++ b/4-high/gel/source/world/gel-world-client.adb @@ -458,10 +458,10 @@ is -- the_server_graphics_Models : constant remote.World.id_Map_of_graphics_model := of_World.graphics_Models; -- Fetch graphics models from the server. -- the_server_physics_Models : constant remote.World.id_Map_of_physics_model := of_World. physics_Models; -- Fetch physics models from the server. + -- the_server_Sprites : remote.World.sprite_model_Pairs := of_World.Sprites; -- Fetch sprites from the server. the_server_graphics_Models : remote.World.id_Map_of_graphics_model; the_server_physics_Models : remote.World.id_Map_of_physics_model; - the_server_Sprites : remote.World.sprite_model_Pairs := of_World.Sprites; task graphics_model_Fetcher; @@ -469,6 +469,14 @@ is is begin the_server_graphics_Models := of_World.graphics_Models; -- Fetch graphics models from the server. + exception + when E : others => + log (""); + log ("__________________________________________________________________________"); + log ("Error detected in 'graphics_model_Fetcher'."); + log (ada.Exceptions.exception_Information (E)); + log ("__________________________________________________________________________"); + log (""); end graphics_model_Fetcher; @@ -477,21 +485,40 @@ is is begin the_server_physics_Models := of_World.physics_Models; -- Fetch physics models from the server. + exception + when E : others => + log (""); + log ("__________________________________________________________________________"); + log ("Error detected in 'physics_model_Fetcher'."); + log (ada.Exceptions.exception_Information (E)); + log ("__________________________________________________________________________"); + log (""); end physics_model_Fetcher; - task sprite_Fetcher; - task body sprite_Fetcher - is - begin - the_server_Sprites := of_World.Sprites; -- Fetch sprites from the server. - end sprite_Fetcher; + -- task sprite_Fetcher; + -- task body sprite_Fetcher + -- is + -- begin + -- the_server_Sprites := of_World.Sprites; -- Fetch sprites from the server. + -- exception + -- when E : others => + -- log (""); + -- log ("__________________________________________________________________________"); + -- log ("Error detected in 'sprite_Fetcher'."); + -- log (ada.Exceptions.exception_Information (E)); + -- log ("__________________________________________________________________________"); + -- log (""); + -- end sprite_Fetcher; + + + the_server_Sprites : remote.World.sprite_model_Pairs := of_World.Sprites; begin while not ( graphics_model_Fetcher'Terminated - and physics_model_Fetcher'Terminated - and sprite_Fetcher'Terminated) + and physics_model_Fetcher'Terminated) + -- and sprite_Fetcher'Terminated) loop delay 0.05; end loop;