From 967550e0b806685dc647e2c333d1af2fb94f84a1 Mon Sep 17 00:00:00 2001 From: xolatile Date: Fri, 5 Apr 2024 09:36:42 -0400 Subject: [PATCH] Minor refactoring... --- raylib.ads | 324 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 182 insertions(+), 142 deletions(-) diff --git a/raylib.ads b/raylib.ads index 787f07b..7afd858 100644 --- a/raylib.ads +++ b/raylib.ads @@ -657,9 +657,9 @@ package Raylib is No_Font : Font; type Camera_3D is record - Position : Vector_3D := (0.0, 0.0, 0.0); - Target : Vector_3D := (0.0, 0.0, 0.0); - Up : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); + Target : Vector_3D := (others => 0.0); + Up : Vector_3D := (others => 0.0); Field_Of_View : Float := 0.0; Projection : Camera_Projection := Camera_Perspective; end record with Convention => C_Pass_By_Copy; @@ -667,8 +667,8 @@ package Raylib is No_Camera_3D : Camera_3D; type Camera_2D is record - Offset : Vector_2D := (0.0, 0.0); - Target : Vector_2D := (0.0, 0.0); + Offset : Vector_2D := (others => 0.0); + Target : Vector_2D := (others => 0.0); Rotation : Float := 0.0; Zoom : Float := 0.0; end record with Convention => C_Pass_By_Copy; @@ -723,9 +723,9 @@ package Raylib is No_Material : Material; type Transform is record - Translation : Vector_3D := (0.0, 0.0, 0.0); - Rotation : Vector_4D := (0.0, 0.0, 0.0, 0.0); - Scale : Vector_3D := (0.0, 0.0, 0.0); + Translation : Vector_3D := (others => 0.0); + Rotation : Vector_4D := (others => 0.0); + Scale : Vector_3D := (others => 0.0); end record with Convention => C_Pass_By_Copy; type Character_Array_32 is array (0 .. 31) of Character; @@ -767,8 +767,8 @@ package Raylib is No_Model_Animation : Model_Animation; type Ray is record - Position : Vector_3D := (0.0, 0.0, 0.0); - Direction : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); + Direction : Vector_3D := (others => 0.0); end record with Convention => C_Pass_By_Copy; No_Ray : Ray; @@ -776,15 +776,15 @@ package Raylib is type Ray_Collision is record Hit : Logical := False; Distance : Float := 0.0; - Point : Vector_3D := (0.0, 0.0, 0.0); - Normal : Vector_3D := (0.0, 0.0, 0.0); + Point : Vector_3D := (others => 0.0); + Normal : Vector_3D := (others => 0.0); end record with Convention => C_Pass_By_Copy; No_Ray_Collision : Ray_Collision; type Bounding_Box is record - Min : Vector_3D := (0.0, 0.0, 0.0); - Max : Vector_3D := (0.0, 0.0, 0.0); + Min : Vector_3D := (others => 0.0); + Max : Vector_3D := (others => 0.0); end record with Convention => C_Pass_By_Copy; No_Bounding_Box : Bounding_Box; @@ -835,8 +835,8 @@ package Raylib is Eye_To_Screen_Distance : Float := 0.0; Lens_Separate_Distance : Float := 0.0; Interpupillary_Distance : Float := 0.0; - Lens_Distortion_Values : Float_Array_4 := (0.0, 0.0, 0.0, 0.0); - Chroma_Abberation_Correction : Float_Array_4 := (0.0, 0.0, 0.0, 0.0); + Lens_Distortion_Values : Float_Array_4 := (others => 0.0); + Chroma_Abberation_Correction : Float_Array_4 := (others => 0.0); end record with Convention => C_Pass_By_Copy; No_VR_Device_Info : VR_Device_Info; @@ -847,12 +847,12 @@ package Raylib is type VR_Stereo_Config is record Projection : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix); View_Offset : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix); - Left_Lens_Center : Float_Array_2 := (0.0, 0.0); - Right_Lens_Center : Float_Array_2 := (0.0, 0.0); - Left_Screen_Center : Float_Array_2 := (0.0, 0.0); - Right_Screen_Center : Float_Array_2 := (0.0, 0.0); - Scale : Float_Array_2 := (0.0, 0.0); - Scale_In : Float_Array_2 := (0.0, 0.0); + Left_Lens_Center : Float_Array_2 := (others => 0.0); + Right_Lens_Center : Float_Array_2 := (others => 0.0); + Left_Screen_Center : Float_Array_2 := (others => 0.0); + Right_Screen_Center : Float_Array_2 := (others => 0.0); + Scale : Float_Array_2 := (others => 0.0); + Scale_In : Float_Array_2 := (others => 0.0); end record with Convention => C_Pass_By_Copy; No_VR_Stereo_Config : VR_Stereo_Config; @@ -1441,7 +1441,7 @@ package Raylib is External_Name => "UnloadShader"; function Get_Mouse_Ray ( - Mouse_Position : Vector_2D := (0.0, 0.0); + Mouse_Position : Vector_2D := (others => 0.0); Camera : Camera_3D := No_Camera_3D ) return Ray with Import => True, @@ -1463,7 +1463,7 @@ package Raylib is External_Name => "GetCameraMatrix2D"; function Get_World_To_Screen_3D ( - Position : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); Camera : Camera_3D := No_Camera_3D ) return Vector_2D with Import => True, @@ -1471,7 +1471,7 @@ package Raylib is External_Name => "GetWorldToScreen"; function Get_Screen_To_World_2D ( - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Camera : Camera_2D := No_Camera_2D ) return Vector_2D with Import => True, @@ -1479,7 +1479,7 @@ package Raylib is External_Name => "GetScreenToWorld2D"; function Get_World_To_Screen_Ex ( - Position : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); Camera : Camera_3D := No_Camera_3D; Width : Integer := 0; Height : Integer := 0 @@ -1489,7 +1489,7 @@ package Raylib is External_Name => "GetWorldToScreenEx"; function Get_World_To_Screen_2D ( - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Camera : Camera_2D := No_Camera_2D ) return Vector_2D with Import => True, @@ -1587,11 +1587,6 @@ package Raylib is Convention => C, External_Name => "OpenURL"; - --~procedure TraceLog (int logLevel, const char *text, ...) with - --~Import => True, - --~Convention => C, - --~External_Name => "TraceLog"; - procedure Set_Trace_Log_Level ( Level : Trace_Log_Level := Log_All ) with @@ -2087,8 +2082,8 @@ package Raylib is procedure Update_Camera_Pro ( Data : access Camera_3D := null; - Movement : Vector_3D := (0.0, 0.0, 0.0); - Rotation : Vector_3D := (0.0, 0.0, 0.0); + Movement : Vector_3D := (others => 0.0); + Rotation : Vector_3D := (others => 0.0); Zoom : Float := 0.0 ) with Import => True, @@ -2113,7 +2108,7 @@ package Raylib is External_Name => "DrawPixel"; procedure Draw_Pixel_V ( - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Tint : Color := White ) with Import => True, @@ -2132,8 +2127,8 @@ package Raylib is External_Name => "DrawLine"; procedure Draw_Line_V ( - From : Vector_2D := (0.0, 0.0); - To : Vector_2D := (0.0, 0.0); + From : Vector_2D := (others => 0.0); + To : Vector_2D := (others => 0.0); Tint : Color := Black ) with Import => True, @@ -2141,8 +2136,8 @@ package Raylib is External_Name => "DrawLineV"; procedure Draw_Line_Ex ( - From : Vector_2D := (0.0, 0.0); - To : Vector_2D := (0.0, 0.0); + From : Vector_2D := (others => 0.0); + To : Vector_2D := (others => 0.0); Thick : Float := 0.0; Tint : Color := Black ) with @@ -2160,8 +2155,8 @@ package Raylib is External_Name => "DrawLineStrip"; procedure Draw_Line_Bezier ( - From : Vector_2D := (0.0, 0.0); - To : Vector_2D := (0.0, 0.0); + From : Vector_2D := (others => 0.0); + To : Vector_2D := (others => 0.0); Thick : Float := 0.0; Tint : Color := Black ) with @@ -2180,7 +2175,7 @@ package Raylib is External_Name => "DrawCircle"; procedure Draw_Circle_Sector ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Radius : Float := 0.0; From : Float := 0.0; To : Float := 0.0; @@ -2192,7 +2187,7 @@ package Raylib is External_Name => "DrawCircleSector"; procedure Draw_Circle_Sector_Lines ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Radius : Float := 0.0; From : Float := 0.0; To : Float := 0.0; @@ -2215,7 +2210,7 @@ package Raylib is External_Name => "DrawCircleGradient"; procedure Draw_Circle_V ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Radius : Float := 0.0; Tint : Color := Black ) with @@ -2234,7 +2229,7 @@ package Raylib is External_Name => "DrawCircleLines"; procedure Draw_Circle_Lines_V ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Radius : Float := 0.0; Tint : Color := Black ) with @@ -2265,7 +2260,7 @@ package Raylib is External_Name => "DrawEllipseLines"; procedure Draw_Ring ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Inner_Radius : Float := 0.0; Outer_Radius : Float := 0.0; From : Float := 0.0; @@ -2278,7 +2273,7 @@ package Raylib is External_Name => "DrawRing"; procedure Draw_Ring_Lines ( - Center : Vector_2D := (0.0, 0.0); + Center : Vector_2D := (others => 0.0); Inner_Radius : Float := 0.0; Outer_Radius : Float := 0.0; From : Float := 0.0; @@ -2302,8 +2297,8 @@ package Raylib is External_Name => "DrawRectangle"; procedure Draw_Rectangle_V ( - Position : Vector_2D := (0.0, 0.0); - Size : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); + Size : Vector_2D := (others => 0.0); Tint : Color := Black ) with Import => True, @@ -2320,7 +2315,7 @@ package Raylib is procedure Draw_Rectangle_Pro ( Data : Rectangle := No_Rectangle; - Origin : Vector_2D := (0.0, 0.0); + Origin : Vector_2D := (others => 0.0); Rotation : Float := 0.0; Tint : Color := Black ) with @@ -3024,7 +3019,7 @@ package Raylib is procedure Draw_Texture_V ( Data : Texture := No_Texture; - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Tint : Color := White ) with Import => True, @@ -3033,7 +3028,7 @@ package Raylib is procedure Draw_Texture_Ex ( Data : Texture := No_Texture; - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Rotation : Float := 0.0; Scale : Float := 0.0; Tint : Color := White @@ -3045,7 +3040,7 @@ package Raylib is procedure Draw_Texture_Rec ( Data : Texture := No_Texture; Source : Rectangle := No_Rectangle; - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Tint : Color := White ) with Import => True, @@ -3056,7 +3051,7 @@ package Raylib is Data : Texture := No_Texture; Source : Rectangle := No_Rectangle; Destination : Rectangle := No_Rectangle; - Origin : Vector_2D := (0.0, 0.0); + Origin : Vector_2D := (others => 0.0); Rotation : Float := 0.0; Tint : Color := White ) with @@ -3263,7 +3258,7 @@ package Raylib is procedure Draw_Text_Ex ( Data : Font := Get_Font_Default; Text : String := ""; - Position : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); Font_Size : Float := 0.0; Spacing : Float := 0.0; Tint : Color := White @@ -3275,8 +3270,8 @@ package Raylib is procedure Draw_Text_Pro ( Data : Font := Get_Font_Default; Text : String := ""; - Position : Vector_2D := (0.0, 0.0); - Origin : Vector_2D := (0.0, 0.0); + Position : Vector_2D := (others => 0.0); + Origin : Vector_2D := (others => 0.0); Rotation : Float := 0.0; Font_Size : Float := 0.0; Spacing : Float := 0.0; @@ -3496,7 +3491,7 @@ package Raylib is --~External_Name => ""; procedure Draw_Cube ( - Position : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); Width : Float := 0.0; Height : Float := 0.0; Length : Float := 0.0; @@ -3512,7 +3507,7 @@ package Raylib is --~External_Name => ""; procedure Draw_Cube_Wires ( - Position : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); Width : Float := 0.0; Height : Float := 0.0; Length : Float := 0.0; @@ -3573,8 +3568,8 @@ package Raylib is --~External_Name => ""; procedure Draw_Plane ( - Center : Vector_3D := (0.0, 0.0, 0.0); - Size : Vector_2D := (0.0, 0.0); + Center : Vector_3D := (others => 0.0); + Size : Vector_2D := (others => 0.0); Tint : Color := White ) with Import => True, @@ -3615,14 +3610,16 @@ package Raylib is Convention => C, External_Name => "UnloadModel"; - --~function BoundingBox GetModelBoundingBox (Model model) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + function GetModelBoundingBox ( + Data : Model := No_Model + ) return Bounding_Box with + Import => True, + Convention => C, + External_Name => "GetModelBoundingBox"; procedure Draw_Model ( Data : Model := No_Model; - Position : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); Scale : Float := 1.0; Tint : Color := White ) with @@ -3632,8 +3629,8 @@ package Raylib is procedure Draw_Model_Ex ( Data : Model := No_Model; - Position : Vector_3D := (0.0, 0.0, 0.0); - Axis : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); + Axis : Vector_3D := (others => 0.0); Angle : Float := 0.0; Scale : Vector_3D := (1.0, 1.0, 1.0); Tint : Color := White @@ -3642,15 +3639,20 @@ package Raylib is Convention => C, External_Name => "DrawModelEx"; - --~procedure DrawModelWires (Model model, Vector3 position, float scale, Color tint) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Draw_Model_Wires ( + Data : Model := No_Model; + Position : Vector_3D := (others => 0.0); + Scale : Float := 0.0; + Tint : Color := White + ) with + Import => True, + Convention => C, + External_Name => "DrawModelWires"; procedure Draw_Model_Wires_Ex ( Data : Model := No_Model; - Position : Vector_3D := (0.0, 0.0, 0.0); - Axis : Vector_3D := (0.0, 0.0, 0.0); + Position : Vector_3D := (others => 0.0); + Axis : Vector_3D := (others => 0.0); Angle : Float := 0.0; Scale : Vector_3D := (1.0, 1.0, 1.0); Tint : Color := White @@ -3659,37 +3661,47 @@ package Raylib is Convention => C, External_Name => "DrawModelWiresEx"; - --~procedure DrawBoundingBox (BoundingBox box, Color color) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Draw_Bounding_Box ( + Box : BoundingBox := No_Bounding_Box; + Tint : Color := White + ) with + Import => True, + Convention => C, + External_Name => "DrawBoundingBox"; procedure Draw_Billboard ( - Camera : Camera_3D := No_Camera_3D; - Billboard : Texture := No_Texture; - Position : Vector_3D := (0.0, 0.0, 0.0); - Size : Float := 0.0; - Tint : Color := White + Camera : Camera_3D := No_Camera_3D; + Billboard : Texture := No_Texture; + Position : Vector_3D := (others => 0.0); + Size : Float := 0.0; + Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawBillboard"; - --~procedure DrawBillboardRec (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Draw_Billboard_Rec ( + Camera : Camera_3D := No_Camera_3D; + Billboard : Texture := No_Texture; + Source : Rectangle := No_Rectangle; + Position : Vector_3D := (others => 0.0); + Size : Vector_2D := (others => 0.0); + Tint : Color := White + ) with + Import => True, + Convention => C, + External_Name => "DrawBillboardRec"; procedure Draw_Billboard_Pro ( - Camera : Camera_3D := No_Camera_3D; - Billboard : Texture := No_Texture; - Source : Rectangle := No_Rectangle; - Position : Vector_3D := (0.0, 0.0, 0.0); - Up : Vector_3D := (0.0, 0.0, 0.0); - Size : Vector_2D := (0.0, 0.0); - Origin : Vector_2D := (0.0, 0.0); - Rotation : Float := 0.0; - Tint : Color := White + Camera : Camera_3D := No_Camera_3D; + Billboard : Texture := No_Texture; + Source : Rectangle := No_Rectangle; + Position : Vector_3D := (others => 0.0); + Up : Vector_3D := (others => 0.0); + Size : Vector_2D := (others => 0.0); + Origin : Vector_2D := (others => 0.0); + Rotation : Float := 0.0; + Tint : Color := White ) with Import => True, Convention => C, @@ -3703,15 +3715,23 @@ package Raylib is Convention => C, External_Name => "UploadMesh"; - --~procedure UpdateMeshBuffer (Mesh mesh, int index, const void *data, int dataSize, int offset) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Update_Mesh_Buffer ( + Data : Mesh := No_Mesh; + Index : Integer := 0; + This : Pointer := null; + Data_Size : Natural := 0; + Offset : Integer := 0 + ) with + Import => True, + Convention => C, + External_Name => "UpdateMeshBuffer"; - --~procedure UnloadMesh (Mesh mesh) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Unload_Mesh ( + Data : Mesh := No_Mesh + ) with + Import => True, + Convention => C, + External_Name => "UnloadMesh"; procedure Draw_Mesh ( Data : Mesh := No_Mesh; @@ -3722,35 +3742,53 @@ package Raylib is Convention => C, External_Name => "DrawMesh"; - --~procedure DrawMeshInstanced (Mesh mesh, Material material, const Matrix *transforms, int instances) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Draw_Mesh_Instanced ( + Data : Mesh := No_Mesh; + Use_Material : Material := No_Material; + Transforms : access Matrix_4D := null; + Instances : Integer := 0 + ) with + Import => True, + Convention => C, + External_Name => "DrawMeshInstanced"; - --~function BoundingBox GetMeshBoundingBox (Mesh mesh) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + function Get_Mesh_Bounding_Box ( + Data : Mesh := No_Mesh + ) return Bounding_Box with + Import => True, + Convention => C, + External_Name => "GetMeshBoundingBox"; - --~procedure GenMeshTangents (Mesh *mesh) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + procedure Gen_Mesh_Tangents ( + Data : access Mesh := null + ) with + Import => True, + Convention => C, + External_Name => "GenMeshTangents"; - --~function bool ExportMesh (Mesh mesh, const char *fileName) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + function Export_Mesh ( + Data : Mesh := No_Mesh; + File_Name : String := "" + ) return Logical with + Import => True, + Convention => C, + External_Name => "ExportMesh"; - --~function bool ExportMeshAsCode (Mesh mesh, const char *fileName) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + function Export_Mesh_As_Code ( + Data : Mesh := No_Mesh; + File_Name : String := "" + ) return Logical with + Import => True, + Convention => C, + External_Name => "ExportMeshAsCode"; - --~function Mesh GenMeshPoly (int sides, float radius) with - --~Import => True, - --~Convention => C, - --~External_Name => ""; + function Gen_Mesh_Poly ( + Sides : Integer := 0; + Radius : Float := 0.0 + ) return Mesh with + Import => True, + Convention => C, + External_Name => "GenMeshPoly"; function Gen_Mesh_Plane ( Width : Float := 1.0; @@ -3829,7 +3867,7 @@ package Raylib is function Gen_Mesh_Height_Map ( Height_Map : Image := No_Image; - Size : Vector_3D := (0.0, 0.0, 0.0) + Size : Vector_3D := (others => 0.0) ) return Mesh with Import => True, Convention => C, @@ -3837,7 +3875,7 @@ package Raylib is function Gen_Mesh_Cubic_Map ( Cubic_Map : Image := No_Image; - Size : Vector_3D := (0.0, 0.0, 0.0) + Size : Vector_3D := (others => 0.0) ) return Mesh with Import => True, Convention => C, @@ -3929,9 +3967,9 @@ package Raylib is External_Name => "IsModelAnimationValid"; function Check_Collision_Spheres ( - Center_1 : Vector_3D := (0.0, 0.0, 0.0); + Center_1 : Vector_3D := (others => 0.0); Radius_1 : Float := 0.0; - Center_2 : Vector_3D := (0.0, 0.0, 0.0); + Center_2 : Vector_3D := (others => 0.0); Radius_2 : Float := 0.0 ) return Logical with Import => True, @@ -3948,7 +3986,7 @@ package Raylib is function Check_Collision_Box_Sphere ( Box : Bounding_Box := No_Bounding_Box; - Center : Vector_3D := (0.0, 0.0, 0.0); + Center : Vector_3D := (others => 0.0); Radius : Float := 0.0 ) return Logical with Import => True, @@ -3957,7 +3995,7 @@ package Raylib is function Get_Ray_Collision_Sphere ( Hit : Ray := No_Ray; - Center : Vector_3D := (0.0, 0.0, 0.0); + Center : Vector_3D := (others => 0.0); Radius : Float := 0.0 ) return Ray_Collision with Import => True, @@ -3983,9 +4021,9 @@ package Raylib is function Get_Ray_Collision_Triangle ( Hit : Ray := No_Ray; - Point_1 : Vector_3D := (0.0, 0.0, 0.0); - Point_2 : Vector_3D := (0.0, 0.0, 0.0); - Point_3 : Vector_3D := (0.0, 0.0, 0.0) + Point_1 : Vector_3D := (others => 0.0); + Point_2 : Vector_3D := (others => 0.0); + Point_3 : Vector_3D := (others => 0.0) ) return Ray_Collision with Import => True, Convention => C, @@ -3993,10 +4031,10 @@ package Raylib is function Get_Ray_Collision_Quad ( Hit : Ray := No_Ray; - Point_1 : Vector_3D := (0.0, 0.0, 0.0); - Point_2 : Vector_3D := (0.0, 0.0, 0.0); - Point_3 : Vector_3D := (0.0, 0.0, 0.0); - Point_4 : Vector_3D := (0.0, 0.0, 0.0) + Point_1 : Vector_3D := (others => 0.0); + Point_2 : Vector_3D := (others => 0.0); + Point_3 : Vector_3D := (others => 0.0); + Point_4 : Vector_3D := (others => 0.0) ) return Ray_Collision with Import => True, Convention => C, @@ -4017,7 +4055,9 @@ package Raylib is Convention => C, External_Name => "IsAudioDeviceReady"; - procedure Set_Master_Volume (Volume : Float := 1.0) with + procedure Set_Master_Volume ( + Volume : Float := 1.0 + ) with Import => True, Convention => C, External_Name => "SetMasterVolume";