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;
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;
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;
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;
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;
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;
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;
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,
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,
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,
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
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,
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
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,
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,
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,
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
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
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;
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;
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
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
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;
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;
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,
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
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,
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
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,
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
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
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;
--~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;
--~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;
--~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,
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
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
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
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,
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;
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;
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,
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,
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,
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,
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,
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,
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,
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";