diff --git a/Raylib-cs/AudioStream.cs b/Raylib-cs/AudioStream.cs
deleted file mode 100644
index 275e614..0000000
--- a/Raylib-cs/AudioStream.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Audio stream type
- /// NOTE: Useful to create custom audio streams not bound to a specific file
- [StructLayout(LayoutKind.Sequential)]
- public struct AudioStream
- {
- ///
- /// Pointer to internal data(rAudioBuffer *) used by the audio system
- ///
- public IntPtr audioBuffer;
-
- ///
- /// Frequency (samples per second)
- ///
- public uint sampleRate;
-
- ///
- /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
- ///
- public uint sampleSize;
-
- ///
- /// Number of channels (1-mono, 2-stereo)
- ///
- public uint channels;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/BlendMode.cs b/Raylib-cs/BlendMode.cs
deleted file mode 100644
index 08ca39e..0000000
--- a/Raylib-cs/BlendMode.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace Raylib_cs
-{
- /// Color blending modes (pre-defined)
- public enum BlendMode
- {
- ///
- /// Blend textures considering alpha (default)
- ///
- BLEND_ALPHA = 0,
-
- ///
- /// Blend textures adding colors
- ///
- BLEND_ADDITIVE,
-
- ///
- /// Blend textures multiplying colors
- ///
- BLEND_MULTIPLIED,
-
- ///
- /// Blend textures adding colors (alternative)
- ///
- BLEND_ADD_COLORS,
-
- ///
- /// Blend textures subtracting colors (alternative)
- ///
- BLEND_SUBTRACT_COLORS,
-
- ///
- /// Blend textures using custom src/dst factors (use rlSetBlendMode())
- ///
- BLEND_CUSTOM
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/BoneInfo.cs b/Raylib-cs/BoneInfo.cs
deleted file mode 100644
index 6c9dc3c..0000000
--- a/Raylib-cs/BoneInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Bone information
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct BoneInfo
- {
- ///
- /// Bone name (char[32])
- ///
- public IntPtr name;
-
- ///
- /// Bone parent
- ///
- public int parent;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/BoundingBox.cs b/Raylib-cs/BoundingBox.cs
deleted file mode 100644
index e2458b3..0000000
--- a/Raylib-cs/BoundingBox.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Bounding box type
- [StructLayout(LayoutKind.Sequential)]
- public struct BoundingBox
- {
- ///
- /// Minimum vertex box-corner
- ///
- public Vector3 min;
-
- ///
- /// Maximum vertex box-corner
- ///
- public Vector3 max;
-
- public BoundingBox(Vector3 min, Vector3 max)
- {
- this.min = min;
- this.max = max;
- }
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Camera2D.cs b/Raylib-cs/Camera2D.cs
deleted file mode 100644
index 4b4c3de..0000000
--- a/Raylib-cs/Camera2D.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Camera2D, defines position/orientation in 2d space
- [StructLayout(LayoutKind.Sequential)]
- public struct Camera2D
- {
- ///
- /// Camera offset (displacement from target)
- ///
- public Vector2 offset;
-
- ///
- /// Camera target (rotation and zoom origin)
- ///
- public Vector2 target;
-
- ///
- /// Camera rotation in degrees
- ///
- public float rotation;
-
- ///
- /// Camera zoom (scaling), should be 1.0f by default
- ///
- public float zoom;
-
- public Camera2D(Vector2 offset, Vector2 target, float rotation, float zoom)
- {
- this.offset = offset;
- this.target = target;
- this.rotation = rotation;
- this.zoom = zoom;
- }
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/CameraMode.cs b/Raylib-cs/CameraMode.cs
deleted file mode 100644
index 4b004d0..0000000
--- a/Raylib-cs/CameraMode.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Raylib_cs
-{
- /// Camera system modes
- public enum CameraMode
- {
- CAMERA_CUSTOM = 0,
- CAMERA_FREE,
- CAMERA_ORBITAL,
- CAMERA_FIRST_PERSON,
- CAMERA_THIRD_PERSON
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/CameraProjection.cs b/Raylib-cs/CameraProjection.cs
deleted file mode 100644
index fd45ac3..0000000
--- a/Raylib-cs/CameraProjection.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace Raylib_cs
-{
- /// Camera projection
- public enum CameraProjection
- {
- CAMERA_PERSPECTIVE = 0,
- CAMERA_ORTHOGRAPHIC
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/CubemapLayout.cs b/Raylib-cs/CubemapLayout.cs
deleted file mode 100644
index 89c9924..0000000
--- a/Raylib-cs/CubemapLayout.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace Raylib_cs
-{
- /// Cubemap layouts
- public enum CubemapLayout
- {
- ///
- /// Automatically detect layout type
- ///
- CUBEMAP_LAYOUT_AUTO_DETECT = 0,
-
- ///
- /// Layout is defined by a vertical line with faces
- ///
- CUBEMAP_LAYOUT_LINE_VERTICAL,
-
- ///
- /// Layout is defined by an horizontal line with faces
- ///
- CUBEMAP_LAYOUT_LINE_HORIZONTAL,
-
- ///
- /// Layout is defined by a 3x4 cross with cubemap faces
- ///
- CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR,
-
- ///
- /// Layout is defined by a 4x3 cross with cubemap faces
- ///
- CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE,
-
- ///
- /// Layout is defined by a panorama image (equirectangular map)
- ///
- CUBEMAP_LAYOUT_PANORAMA
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Font.cs b/Raylib-cs/Font.cs
deleted file mode 100644
index da325bd..0000000
--- a/Raylib-cs/Font.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Font, font texture and GlyphInfo array data
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Font
- {
- ///
- /// Base size (default chars height)
- ///
- public int baseSize;
-
- ///
- /// Number of characters
- ///
- public int glyphCount;
-
- ///
- /// Padding around the glyph characters
- ///
- public int glyphPadding;
-
- ///
- /// Texture atlas containing the glyphs
- ///
- public Texture2D texture;
-
- ///
- /// Rectangles in texture for the glyphs
- ///
- public IntPtr recs;
-
- ///
- /// Glyphs info data
- ///
- public IntPtr glyphs;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/FontType.cs b/Raylib-cs/FontType.cs
deleted file mode 100644
index a91cb80..0000000
--- a/Raylib-cs/FontType.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Raylib_cs
-{
- /// Font type, defines generation method
- public enum FontType
- {
- ///
- /// Default font generation, anti-aliased
- ///
- FONT_DEFAULT = 0,
-
- ///
- /// Bitmap font generation, no anti-aliasing
- ///
- FONT_BITMAP,
-
- ///
- /// SDF font generation, requires external shader
- ///
- FONT_SDF
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/GamepadAxis.cs b/Raylib-cs/GamepadAxis.cs
deleted file mode 100644
index ccd107c..0000000
--- a/Raylib-cs/GamepadAxis.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace Raylib_cs
-{
- /// Gamepad axis
- public enum GamepadAxis
- {
- ///
- /// Gamepad left stick X axis
- ///
- GAMEPAD_AXIS_LEFT_X = 0,
-
- ///
- /// Gamepad left stick Y axis
- ///
- GAMEPAD_AXIS_LEFT_Y = 1,
-
- ///
- /// Gamepad right stick X axis
- ///
- GAMEPAD_AXIS_RIGHT_X = 2,
-
- ///
- /// Gamepad right stick Y axis
- ///
- GAMEPAD_AXIS_RIGHT_Y = 3,
-
- ///
- /// Gamepad back trigger left, pressure level: [1..-1]
- ///
- GAMEPAD_AXIS_LEFT_TRIGGER = 4,
-
- ///
- /// Gamepad back trigger right, pressure level: [1..-1]
- ///
- GAMEPAD_AXIS_RIGHT_TRIGGER = 5
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/GamepadButton.cs b/Raylib-cs/GamepadButton.cs
deleted file mode 100644
index af27391..0000000
--- a/Raylib-cs/GamepadButton.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-namespace Raylib_cs
-{
- /// Gamepad buttons
- public enum GamepadButton
- {
- ///
- /// This is here just for error checking
- ///
- GAMEPAD_BUTTON_UNKNOWN = 0,
-
- ///
- /// Gamepad left DPAD up button
- ///
- GAMEPAD_BUTTON_LEFT_FACE_UP,
-
- ///
- /// Gamepad left DPAD right button
- ///
- GAMEPAD_BUTTON_LEFT_FACE_RIGHT,
-
- ///
- /// Gamepad left DPAD down button
- ///
- GAMEPAD_BUTTON_LEFT_FACE_DOWN,
-
- ///
- /// Gamepad left DPAD left button
- ///
- GAMEPAD_BUTTON_LEFT_FACE_LEFT,
-
- ///
- /// Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)
- ///
- GAMEPAD_BUTTON_RIGHT_FACE_UP,
-
- ///
- /// Gamepad right button right (i.e. PS3: Square, Xbox: X)
- ///
- GAMEPAD_BUTTON_RIGHT_FACE_RIGHT,
-
- ///
- /// Gamepad right button down (i.e. PS3: Cross, Xbox: A)
- ///
- GAMEPAD_BUTTON_RIGHT_FACE_DOWN,
-
- ///
- /// Gamepad right button left (i.e. PS3: Circle, Xbox: B)
- ///
- GAMEPAD_BUTTON_RIGHT_FACE_LEFT,
-
- // Triggers
- GAMEPAD_BUTTON_LEFT_TRIGGER_1,
- GAMEPAD_BUTTON_LEFT_TRIGGER_2,
- GAMEPAD_BUTTON_RIGHT_TRIGGER_1,
- GAMEPAD_BUTTON_RIGHT_TRIGGER_2,
-
- // These are buttons in the center of the gamepad
-
- ///
- /// PS3 Select
- ///
- GAMEPAD_BUTTON_MIDDLE_LEFT,
-
- ///
- /// PS Button/XBOX Button
- ///
- GAMEPAD_BUTTON_MIDDLE,
-
- ///
- /// PS3 Start
- ///
- GAMEPAD_BUTTON_MIDDLE_RIGHT,
-
- ///
- /// Left joystick press button
- ///
- GAMEPAD_BUTTON_LEFT_THUMB,
-
- ///
- /// Right joystick press button
- ///
- GAMEPAD_BUTTON_RIGHT_THUMB
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Gestures.cs b/Raylib-cs/Gestures.cs
deleted file mode 100644
index efe4995..0000000
--- a/Raylib-cs/Gestures.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-
-namespace Raylib_cs
-{
- /// Gestures
- /// NOTE: It could be used as flags to enable only some gestures
- [Flags]
- public enum Gestures
- {
- GESTURE_NONE = 0,
- GESTURE_TAP = 1,
- GESTURE_DOUBLETAP = 2,
- GESTURE_HOLD = 4,
- GESTURE_DRAG = 8,
- GESTURE_SWIPE_RIGHT = 16,
- GESTURE_SWIPE_LEFT = 32,
- GESTURE_SWIPE_UP = 64,
- GESTURE_SWIPE_DOWN = 128,
- GESTURE_PINCH_IN = 256,
- GESTURE_PINCH_OUT = 512
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/GlyphInfo.cs b/Raylib-cs/GlyphInfo.cs
deleted file mode 100644
index 891e154..0000000
--- a/Raylib-cs/GlyphInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// GlyphInfo, font characters glyphs info
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct GlyphInfo
- {
- ///
- /// Character value (Unicode)
- ///
- public int value;
-
- ///
- /// Character offset X when drawing
- ///
- public int offsetX;
-
- ///
- /// Character offset Y when drawing
- ///
- public int offsetY;
-
- ///
- /// Character advance position X
- ///
- public int advanceX;
-
- ///
- /// Character image data
- ///
- public Image image;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Image.cs b/Raylib-cs/Image.cs
deleted file mode 100644
index 54be815..0000000
--- a/Raylib-cs/Image.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Image type, bpp always RGBA (32bit)
- ///
- /// NOTE: Data stored in CPU memory (RAM)
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Image
- {
- ///
- /// Image raw data (void *)
- ///
- public IntPtr data;
-
- ///
- /// Image base width
- ///
- public int width;
-
- ///
- /// Image base height
- ///
- public int height;
-
- ///
- /// Mipmap levels, 1 by default
- ///
- public int mipmaps;
-
- ///
- /// Data format (PixelFormat type)
- ///
- public PixelFormat format;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/KeyboardKey.cs b/Raylib-cs/KeyboardKey.cs
deleted file mode 100644
index edd1100..0000000
--- a/Raylib-cs/KeyboardKey.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-namespace Raylib_cs
-{
- /// Keyboard keys (US keyboard layout)
- /// NOTE: Use GetKeyPressed() to allow redefining
- /// required keys for alternative layouts
- public enum KeyboardKey
- {
- ///
- /// NULL, used for no key pressed
- ///
- KEY_NULL = 0,
-
- // Alphanumeric keys
- KEY_APOSTROPHE = 39,
- KEY_COMMA = 44,
- KEY_MINUS = 45,
- KEY_PERIOD = 46,
- KEY_SLASH = 47,
- KEY_ZERO = 48,
- KEY_ONE = 49,
- KEY_TWO = 50,
- KEY_THREE = 51,
- KEY_FOUR = 52,
- KEY_FIVE = 53,
- KEY_SIX = 54,
- KEY_SEVEN = 55,
- KEY_EIGHT = 56,
- KEY_NINE = 57,
- KEY_SEMICOLON = 59,
- KEY_EQUAL = 61,
- KEY_A = 65,
- KEY_B = 66,
- KEY_C = 67,
- KEY_D = 68,
- KEY_E = 69,
- KEY_F = 70,
- KEY_G = 71,
- KEY_H = 72,
- KEY_I = 73,
- KEY_J = 74,
- KEY_K = 75,
- KEY_L = 76,
- KEY_M = 77,
- KEY_N = 78,
- KEY_O = 79,
- KEY_P = 80,
- KEY_Q = 81,
- KEY_R = 82,
- KEY_S = 83,
- KEY_T = 84,
- KEY_U = 85,
- KEY_V = 86,
- KEY_W = 87,
- KEY_X = 88,
- KEY_Y = 89,
- KEY_Z = 90,
-
- // Function keys
- KEY_SPACE = 32,
- KEY_ESCAPE = 256,
- KEY_ENTER = 257,
- KEY_TAB = 258,
- KEY_BACKSPACE = 259,
- KEY_INSERT = 260,
- KEY_DELETE = 261,
- KEY_RIGHT = 262,
- KEY_LEFT = 263,
- KEY_DOWN = 264,
- KEY_UP = 265,
- KEY_PAGE_UP = 266,
- KEY_PAGE_DOWN = 267,
- KEY_HOME = 268,
- KEY_END = 269,
- KEY_CAPS_LOCK = 280,
- KEY_SCROLL_LOCK = 281,
- KEY_NUM_LOCK = 282,
- KEY_PRINT_SCREEN = 283,
- KEY_PAUSE = 284,
- KEY_F1 = 290,
- KEY_F2 = 291,
- KEY_F3 = 292,
- KEY_F4 = 293,
- KEY_F5 = 294,
- KEY_F6 = 295,
- KEY_F7 = 296,
- KEY_F8 = 297,
- KEY_F9 = 298,
- KEY_F10 = 299,
- KEY_F11 = 300,
- KEY_F12 = 301,
- KEY_LEFT_SHIFT = 340,
- KEY_LEFT_CONTROL = 341,
- KEY_LEFT_ALT = 342,
- KEY_LEFT_SUPER = 343,
- KEY_RIGHT_SHIFT = 344,
- KEY_RIGHT_CONTROL = 345,
- KEY_RIGHT_ALT = 346,
- KEY_RIGHT_SUPER = 347,
- KEY_KB_MENU = 348,
- KEY_LEFT_BRACKET = 91,
- KEY_BACKSLASH = 92,
- KEY_RIGHT_BRACKET = 93,
- KEY_GRAVE = 96,
-
- // Keypad keys
- KEY_KP_0 = 320,
- KEY_KP_1 = 321,
- KEY_KP_2 = 322,
- KEY_KP_3 = 323,
- KEY_KP_4 = 324,
- KEY_KP_5 = 325,
- KEY_KP_6 = 326,
- KEY_KP_7 = 327,
- KEY_KP_8 = 328,
- KEY_KP_9 = 329,
- KEY_KP_DECIMAL = 330,
- KEY_KP_DIVIDE = 331,
- KEY_KP_MULTIPLY = 332,
- KEY_KP_SUBTRACT = 333,
- KEY_KP_ADD = 334,
- KEY_KP_ENTER = 335,
- KEY_KP_EQUAL = 336,
-
- // Android key buttons
- KEY_BACK = 4,
- KEY_MENU = 82,
- KEY_VOLUME_UP = 24,
- KEY_VOLUME_DOWN = 25
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Material.cs b/Raylib-cs/Material.cs
deleted file mode 100644
index d853f74..0000000
--- a/Raylib-cs/Material.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Material type (generic)
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Material
- {
- ///
- /// Material shader
- ///
- public Shader shader;
-
- ///
- /// Material maps (MaterialMap *)
- ///
- public IntPtr maps;
-
- ///
- /// Material generic parameters (if required, float *)
- ///
- public IntPtr param;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/MaterialMap.cs b/Raylib-cs/MaterialMap.cs
deleted file mode 100644
index 8324de9..0000000
--- a/Raylib-cs/MaterialMap.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Material texture map
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct MaterialMap
- {
- ///
- /// Material map texture
- ///
- public Texture2D texture;
-
- ///
- /// Material map color
- ///
- public Color color;
-
- ///
- /// Material map value
- ///
- public float value;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/MaterialMapIndex.cs b/Raylib-cs/MaterialMapIndex.cs
deleted file mode 100644
index 47f17af..0000000
--- a/Raylib-cs/MaterialMapIndex.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-namespace Raylib_cs
-{
- /// Material map index
- public enum MaterialMapIndex
- {
- ///
- /// MAP_DIFFUSE
- ///
- MATERIAL_MAP_ALBEDO = 0,
-
- ///
- /// MAP_SPECULAR
- ///
- MATERIAL_MAP_METALNESS = 1,
-
- MATERIAL_MAP_NORMAL = 2,
- MATERIAL_MAP_ROUGHNESS = 3,
- MATERIAL_MAP_OCCLUSION,
- MATERIAL_MAP_EMISSION,
- MATERIAL_MAP_HEIGHT,
-
- ///
- /// NOTE: Uses GL_TEXTURE_CUBE_MAP
- ///
- MATERIAL_MAP_CUBEMAP,
-
- ///
- /// NOTE: Uses GL_TEXTURE_CUBE_MAP
- ///
- MATERIAL_MAP_IRRADIANCE,
-
- ///
- /// NOTE: Uses GL_TEXTURE_CUBE_MAP
- ///
- MATERIAL_MAP_PREFILTER,
-
- MATERIAL_MAP_BRDF,
-
- MATERIAL_MAP_DIFFUSE = MATERIAL_MAP_ALBEDO,
- MATERIAL_MAP_SPECULAR = MATERIAL_MAP_METALNESS,
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/ModelAnimation.cs b/Raylib-cs/ModelAnimation.cs
deleted file mode 100644
index 8b5b4e3..0000000
--- a/Raylib-cs/ModelAnimation.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Model animation
- [StructLayout(LayoutKind.Sequential)]
- public struct ModelAnimation
- {
- ///
- /// Number of bones
- ///
- public int boneCount;
-
- ///
- /// Number of animation frames
- ///
- public int frameCount;
-
- ///
- /// Bones information (skeleton, BoneInfo *)
- ///
- public IntPtr bones;
-
- ///
- /// Poses array by frame (Transform **)
- ///
- public IntPtr framePoses;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/MouseButton.cs b/Raylib-cs/MouseButton.cs
deleted file mode 100644
index 19abbae..0000000
--- a/Raylib-cs/MouseButton.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-namespace Raylib_cs
-{
- /// Mouse buttons
- public enum MouseButton
- {
- ///
- /// Mouse button left
- ///
- MOUSE_BUTTON_LEFT = 0,
-
- ///
- /// Mouse button right
- ///
- MOUSE_BUTTON_RIGHT = 1,
-
- ///
- /// Mouse button middle (pressed wheel)
- ///
- MOUSE_BUTTON_MIDDLE = 2,
-
- ///
- /// Mouse button side (advanced mouse device)
- ///
- MOUSE_BUTTON_SIDE = 3,
-
- ///
- /// Mouse button extra (advanced mouse device)
- ///
- MOUSE_BUTTON_EXTRA = 4,
-
- ///
- /// Mouse button fordward (advanced mouse device)
- ///
- MOUSE_BUTTON_FORWARD = 5,
-
- ///
- /// Mouse button back (advanced mouse device)
- ///
- MOUSE_BUTTON_BACK = 6,
-
- MOUSE_LEFT_BUTTON = MOUSE_BUTTON_LEFT,
- MOUSE_RIGHT_BUTTON = MOUSE_BUTTON_RIGHT,
- MOUSE_MIDDLE_BUTTON = MOUSE_BUTTON_MIDDLE,
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/MouseCursor.cs b/Raylib-cs/MouseCursor.cs
deleted file mode 100644
index b47373f..0000000
--- a/Raylib-cs/MouseCursor.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-namespace Raylib_cs
-{
- /// Mouse cursor
- public enum MouseCursor
- {
- ///
- /// Default pointer shape
- ///
- MOUSE_CURSOR_DEFAULT = 0,
-
- ///
- /// Arrow shape
- ///
- MOUSE_CURSOR_ARROW = 1,
-
- ///
- /// Text writing cursor shape
- ///
- MOUSE_CURSOR_IBEAM = 2,
-
- ///
- /// Cross shape
- ///
- MOUSE_CURSOR_CROSSHAIR = 3,
-
- ///
- /// Pointing hand cursor
- ///
- MOUSE_CURSOR_POINTING_HAND = 4,
-
- ///
- /// Horizontal resize/move arrow shape
- ///
- MOUSE_CURSOR_RESIZE_EW = 5,
-
- ///
- /// Vertical resize/move arrow shape
- ///
- MOUSE_CURSOR_RESIZE_NS = 6,
-
- ///
- /// Top-left to bottom-right diagonal resize/move arrow shape
- ///
- MOUSE_CURSOR_RESIZE_NWSE = 7,
-
- ///
- /// The top-right to bottom-left diagonal resize/move arrow shape
- ///
- MOUSE_CURSOR_RESIZE_NESW = 8,
-
- ///
- /// The omni-directional resize/move cursor shape
- ///
- MOUSE_CURSOR_RESIZE_ALL = 9,
-
- ///
- /// The operation-not-allowed shape
- ///
- MOUSE_CURSOR_NOT_ALLOWED = 10
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Music.cs b/Raylib-cs/Music.cs
deleted file mode 100644
index f75f86c..0000000
--- a/Raylib-cs/Music.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Music stream type (audio file streaming from memory)
- /// NOTE: Anything longer than ~10 seconds should be streamed
- [StructLayout(LayoutKind.Sequential)]
- public struct Music
- {
- ///
- /// Audio stream
- ///
- public AudioStream stream;
-
- ///
- /// Total number of samples
- ///
- public uint frameCount;
-
- ///
- /// Music looping enable
- ///
- public byte looping;
-
- ///
- /// Type of music context (audio filetype)
- ///
- public int ctxType;
-
- ///
- /// Audio context data, depends on type (void *)
- ///
- public IntPtr ctxData;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/NPatchLayout.cs b/Raylib-cs/NPatchLayout.cs
deleted file mode 100644
index 2c81f38..0000000
--- a/Raylib-cs/NPatchLayout.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Raylib_cs
-{
- /// N-patch layout
- public enum NPatchLayout
- {
- ///
- /// Npatch defined by 3x3 tiles
- ///
- NPATCH_NINE_PATCH = 0,
-
- ///
- /// Npatch defined by 1x3 tiles
- ///
- NPATCH_THREE_PATCH_VERTICAL,
-
- ///
- /// Npatch defined by 3x1 tiles
- ///
- NPATCH_THREE_PATCH_HORIZONTAL
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Ray.cs b/Raylib-cs/Ray.cs
deleted file mode 100644
index a74b4e9..0000000
--- a/Raylib-cs/Ray.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Ray, ray for raycasting
- [StructLayout(LayoutKind.Sequential)]
- public struct Ray
- {
- ///
- /// Ray position (origin)
- ///
- public Vector3 position;
-
- ///
- /// Ray direction
- ///
- public Vector3 direction;
-
- public Ray(Vector3 position, Vector3 direction)
- {
- this.position = position;
- this.direction = direction;
- }
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/RayCollision.cs b/Raylib-cs/RayCollision.cs
deleted file mode 100644
index 6af1b09..0000000
--- a/Raylib-cs/RayCollision.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Raycast hit information
- [StructLayout(LayoutKind.Sequential)]
- public struct RayCollision
- {
- ///
- /// Did the ray hit something?
- ///
- public byte hit;
-
- ///
- /// Distance to nearest hit
- ///
- public float distance;
-
- ///
- /// Position of nearest hit
- ///
- public Vector3 point;
-
- ///
- /// Surface normal of hit
- ///
- public Vector3 normal;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Raylib.cs b/Raylib-cs/Raylib.cs
index bb58ace..12ffbab 100644
--- a/Raylib-cs/Raylib.cs
+++ b/Raylib-cs/Raylib.cs
@@ -5,8 +5,6 @@ using System.Security;
namespace Raylib_cs
{
- // Shader attribute data types
-
[SuppressUnmanagedCodeSecurity]
public static class Raylib
{
diff --git a/Raylib-cs/Rectangle.cs b/Raylib-cs/Rectangle.cs
deleted file mode 100644
index f27ba44..0000000
--- a/Raylib-cs/Rectangle.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Rectangle type
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Rectangle
- {
- public float x;
- public float y;
- public float width;
- public float height;
-
- public Rectangle(float x, float y, float width, float height)
- {
- this.x = x;
- this.y = y;
- this.width = width;
- this.height = height;
- }
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Shader.cs b/Raylib-cs/Shader.cs
deleted file mode 100644
index 94d8fd6..0000000
--- a/Raylib-cs/Shader.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Shader type (generic)
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Shader
- {
- ///
- /// Shader program id
- ///
- public uint id;
-
- ///
- /// Shader locations array (MAX_SHADER_LOCATIONS, int *)
- ///
- public IntPtr locs;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/ShaderAttributeDataType.cs b/Raylib-cs/ShaderAttributeDataType.cs
deleted file mode 100644
index b985ea8..0000000
--- a/Raylib-cs/ShaderAttributeDataType.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Raylib_cs
-{
- public enum ShaderAttributeDataType
- {
- SHADER_ATTRIB_FLOAT = 0,
- SHADER_ATTRIB_VEC2,
- SHADER_ATTRIB_VEC3,
- SHADER_ATTRIB_VEC4
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/ShaderUniformDataType.cs b/Raylib-cs/ShaderUniformDataType.cs
deleted file mode 100644
index e3c9e35..0000000
--- a/Raylib-cs/ShaderUniformDataType.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace Raylib_cs
-{
- /// Shader uniform data type
- public enum ShaderUniformDataType
- {
- SHADER_UNIFORM_FLOAT = 0,
- SHADER_UNIFORM_VEC2,
- SHADER_UNIFORM_VEC3,
- SHADER_UNIFORM_VEC4,
- SHADER_UNIFORM_INT,
- SHADER_UNIFORM_IVEC2,
- SHADER_UNIFORM_IVEC3,
- SHADER_UNIFORM_IVEC4,
- SHADER_UNIFORM_SAMPLER2D
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Sound.cs b/Raylib-cs/Sound.cs
deleted file mode 100644
index 1ac229b..0000000
--- a/Raylib-cs/Sound.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Sound source type
- [StructLayout(LayoutKind.Sequential)]
- public struct Sound
- {
- ///
- /// Audio stream
- ///
- public AudioStream stream;
-
- ///
- /// Total number of frames (considering channels)
- ///
- public uint frameCount;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Texture2D.cs b/Raylib-cs/Texture2D.cs
deleted file mode 100644
index d857a12..0000000
--- a/Raylib-cs/Texture2D.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Texture2D type
- ///
- /// NOTE: Data stored in GPU memory
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Texture2D
- {
- ///
- /// OpenGL texture id
- ///
- public uint id;
-
- ///
- /// Texture base width
- ///
- public int width;
-
- ///
- /// Texture base height
- ///
- public int height;
-
- ///
- /// Mipmap levels, 1 by default
- ///
- public int mipmaps;
-
- ///
- /// Data format (PixelFormat type)
- ///
- public PixelFormat format;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/TextureFilter.cs b/Raylib-cs/TextureFilter.cs
deleted file mode 100644
index 505a0b9..0000000
--- a/Raylib-cs/TextureFilter.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-namespace Raylib_cs
-{
- /// Texture parameters: filter mode
- /// NOTE 1: Filtering considers mipmaps if available in the texture
- /// NOTE 2: Filter is accordingly set for minification and magnification
- public enum TextureFilter
- {
- ///
- /// No filter, just pixel aproximation
- ///
- TEXTURE_FILTER_POINT = 0,
-
- ///
- /// Linear filtering
- ///
- TEXTURE_FILTER_BILINEAR,
-
- ///
- /// Trilinear filtering (linear with mipmaps)
- ///
- TEXTURE_FILTER_TRILINEAR,
-
- ///
- /// Anisotropic filtering 4x
- ///
- TEXTURE_FILTER_ANISOTROPIC_4X,
-
- ///
- /// Anisotropic filtering 8x
- ///
- TEXTURE_FILTER_ANISOTROPIC_8X,
-
- ///
- /// Anisotropic filtering 16x
- ///
- TEXTURE_FILTER_ANISOTROPIC_16X,
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/TextureWrap.cs b/Raylib-cs/TextureWrap.cs
deleted file mode 100644
index 7a5cda0..0000000
--- a/Raylib-cs/TextureWrap.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace Raylib_cs
-{
- /// Texture parameters: wrap mode
- public enum TextureWrap
- {
- ///
- /// Repeats texture in tiled mode
- ///
- TEXTURE_WRAP_REPEAT = 0,
-
- ///
- /// Clamps texture to edge pixel in tiled mode
- ///
- TEXTURE_WRAP_CLAMP,
-
- ///
- /// Mirrors and repeats the texture in tiled mode
- ///
- TEXTURE_WRAP_MIRROR_REPEAT,
-
- ///
- /// Mirrors and clamps to border the texture in tiled mode
- ///
- TEXTURE_WRAP_MIRROR_CLAMP
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/TraceLogLevel.cs b/Raylib-cs/TraceLogLevel.cs
deleted file mode 100644
index 28543bd..0000000
--- a/Raylib-cs/TraceLogLevel.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-namespace Raylib_cs
-{
- /// Trace log level
- /// NOTE: Organized by priority level
- public enum TraceLogLevel
- {
- ///
- /// Display all logs
- ///
- LOG_ALL = 0,
-
- ///
- /// Trace logging, intended for internal use only
- ///
- LOG_TRACE,
-
- ///
- /// Debug logging, used for internal debugging, it should be disabled on release builds
- ///
- LOG_DEBUG,
-
- ///
- /// Info logging, used for program execution info
- ///
- LOG_INFO,
-
- ///
- /// Warning logging, used on recoverable failures
- ///
- LOG_WARNING,
-
- ///
- /// Error logging, used on unrecoverable failures
- ///
- LOG_ERROR,
-
- ///
- /// Fatal logging, used to abort program: exit(EXIT_FAILURE)
- ///
- LOG_FATAL,
-
- ///
- /// Disable logging
- ///
- LOG_NONE
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Transform.cs b/Raylib-cs/Transform.cs
deleted file mode 100644
index ded8ecb..0000000
--- a/Raylib-cs/Transform.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- ///
- /// Transform, vectex transformation data
- ///
- [StructLayout(LayoutKind.Sequential)]
- public struct Transform
- {
- ///
- /// Translation
- ///
- public Vector3 translation;
-
- ///
- /// Rotation
- ///
- public Vector4 rotation;
-
- ///
- /// Scale
- ///
- public Vector3 scale;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/VrDeviceInfo.cs b/Raylib-cs/VrDeviceInfo.cs
deleted file mode 100644
index 7bec209..0000000
--- a/Raylib-cs/VrDeviceInfo.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Head-Mounted-Display device parameters
- [StructLayout(LayoutKind.Sequential)]
- public unsafe struct VrDeviceInfo
- {
- ///
- /// HMD horizontal resolution in pixels
- ///
- public int hResolution;
-
- ///
- /// HMD vertical resolution in pixels
- ///
- public int vResolution;
-
- ///
- /// HMD horizontal size in meters
- ///
- public float hScreenSize;
-
- ///
- /// HMD vertical size in meters
- ///
- public float vScreenSize;
-
- ///
- /// HMD screen center in meters
- ///
- public float vScreenCenter;
-
- ///
- /// HMD distance between eye and display in meters
- ///
- public float eyeToScreenDistance;
-
- ///
- /// HMD lens separation distance in meters
- ///
- public float lensSeparationDistance;
-
- ///
- /// HMD IPD (distance between pupils) in meters
- ///
- public float interpupillaryDistance;
-
- ///
- /// HMD lens distortion constant parameters
- ///
- public fixed float lensDistortionValues[4];
-
- ///
- /// HMD chromatic aberration correction parameters
- ///
- public fixed float chromaAbCorrection[4];
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/VrStereoConfig.cs b/Raylib-cs/VrStereoConfig.cs
deleted file mode 100644
index 7b570e1..0000000
--- a/Raylib-cs/VrStereoConfig.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System.Numerics;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// VR Stereo rendering configuration for simulator
- [StructLayout(LayoutKind.Sequential)]
- public struct VrStereoConfig
- {
- ///
- /// VR projection matrices (per eye)
- ///
- public Matrix4x4 projection1;
-
- ///
- /// VR projection matrices (per eye)
- ///
- public Matrix4x4 projection2;
-
- ///
- /// VR view offset matrices (per eye)
- ///
- public Matrix4x4 viewOffset1;
-
- ///
- /// VR view offset matrices (per eye)
- ///
- public Matrix4x4 viewOffset2;
-
- ///
- /// VR left lens center
- ///
- public Vector2 leftLensCenter;
-
- ///
- /// VR right lens center
- ///
- public Vector2 rightLensCenter;
-
- ///
- /// VR left screen center
- ///
- public Vector2 leftScreenCenter;
-
- ///
- /// VR right screen center
- ///
- public Vector2 rightScreenCenter;
-
- ///
- /// VR distortion scale
- ///
- public Vector2 scale;
-
- ///
- /// VR distortion scale in
- ///
- public Vector2 scaleIn;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/Wave.cs b/Raylib-cs/Wave.cs
deleted file mode 100644
index b8e6024..0000000
--- a/Raylib-cs/Wave.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Raylib_cs
-{
- /// Wave type, defines audio wave data
- [StructLayout(LayoutKind.Sequential)]
- public struct Wave
- {
- ///
- /// Number of samples
- ///
- public uint sampleCount;
-
- ///
- /// Frequency (samples per second)
- ///
- public uint sampleRate;
-
- ///
- /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
- ///
- public uint sampleSize;
-
- ///
- /// Number of channels (1-mono, 2-stereo)
- ///
- public uint channels;
-
- ///
- /// Buffer data pointer (void *)
- ///
- public IntPtr data;
- }
-}
\ No newline at end of file
diff --git a/Raylib-cs/types/Audio.cs b/Raylib-cs/types/Audio.cs
new file mode 100644
index 0000000..a6a11d5
--- /dev/null
+++ b/Raylib-cs/types/Audio.cs
@@ -0,0 +1,107 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ /// Wave type, defines audio wave data
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Wave
+ {
+ ///
+ /// Number of samples
+ ///
+ public uint sampleCount;
+
+ ///
+ /// Frequency (samples per second)
+ ///
+ public uint sampleRate;
+
+ ///
+ /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
+ ///
+ public uint sampleSize;
+
+ ///
+ /// Number of channels (1-mono, 2-stereo)
+ ///
+ public uint channels;
+
+ ///
+ /// Buffer data pointer (void *)
+ ///
+ public IntPtr data;
+ }
+
+ /// Audio stream type
+ /// NOTE: Useful to create custom audio streams not bound to a specific file
+ [StructLayout(LayoutKind.Sequential)]
+ public struct AudioStream
+ {
+ ///
+ /// Pointer to internal data(rAudioBuffer *) used by the audio system
+ ///
+ public IntPtr audioBuffer;
+
+ ///
+ /// Frequency (samples per second)
+ ///
+ public uint sampleRate;
+
+ ///
+ /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
+ ///
+ public uint sampleSize;
+
+ ///
+ /// Number of channels (1-mono, 2-stereo)
+ ///
+ public uint channels;
+ }
+
+ /// Sound source type
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Sound
+ {
+ ///
+ /// Audio stream
+ ///
+ public AudioStream stream;
+
+ ///
+ /// Total number of frames (considering channels)
+ ///
+ public uint frameCount;
+ }
+
+ /// Music stream type (audio file streaming from memory)
+ /// NOTE: Anything longer than ~10 seconds should be streamed
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Music
+ {
+ ///
+ /// Audio stream
+ ///
+ public AudioStream stream;
+
+ ///
+ /// Total number of samples
+ ///
+ public uint frameCount;
+
+ ///
+ /// Music looping enable
+ ///
+ public byte looping;
+
+ ///
+ /// Type of music context (audio filetype)
+ ///
+ public int ctxType;
+
+ ///
+ /// Audio context data, depends on type (void *)
+ ///
+ public IntPtr ctxData;
+ }
+}
diff --git a/Raylib-cs/Camera3D.cs b/Raylib-cs/types/Camera.cs
similarity index 50%
rename from Raylib-cs/Camera3D.cs
rename to Raylib-cs/types/Camera.cs
index 2ee5f13..09f499e 100644
--- a/Raylib-cs/Camera3D.cs
+++ b/Raylib-cs/types/Camera.cs
@@ -3,6 +3,56 @@ using System.Runtime.InteropServices;
namespace Raylib_cs
{
+ /// Camera2D, defines position/orientation in 2d space
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Camera2D
+ {
+ ///
+ /// Camera offset (displacement from target)
+ ///
+ public Vector2 offset;
+
+ ///
+ /// Camera target (rotation and zoom origin)
+ ///
+ public Vector2 target;
+
+ ///
+ /// Camera rotation in degrees
+ ///
+ public float rotation;
+
+ ///
+ /// Camera zoom (scaling), should be 1.0f by default
+ ///
+ public float zoom;
+
+ public Camera2D(Vector2 offset, Vector2 target, float rotation, float zoom)
+ {
+ this.offset = offset;
+ this.target = target;
+ this.rotation = rotation;
+ this.zoom = zoom;
+ }
+ }
+
+ /// Camera system modes
+ public enum CameraMode
+ {
+ CAMERA_CUSTOM = 0,
+ CAMERA_FREE,
+ CAMERA_ORBITAL,
+ CAMERA_FIRST_PERSON,
+ CAMERA_THIRD_PERSON
+ }
+
+ /// Camera projection
+ public enum CameraProjection
+ {
+ CAMERA_PERSPECTIVE = 0,
+ CAMERA_ORTHOGRAPHIC
+ }
+
///
/// Camera3D, defines position/orientation in 3d space
///
@@ -43,4 +93,4 @@ namespace Raylib_cs
this.projection = projection;
}
}
-}
\ No newline at end of file
+}
diff --git a/Raylib-cs/Color.cs b/Raylib-cs/types/Color.cs
similarity index 99%
rename from Raylib-cs/Color.cs
rename to Raylib-cs/types/Color.cs
index 13f05bc..01ce6b5 100644
--- a/Raylib-cs/Color.cs
+++ b/Raylib-cs/types/Color.cs
@@ -1,4 +1,5 @@
using System;
+using System.Numerics;
using System.Runtime.InteropServices;
namespace Raylib_cs
@@ -64,4 +65,4 @@ namespace Raylib_cs
return string.Concat(r.ToString(), " ", g.ToString(), " ", b.ToString(), " ", a.ToString());
}
}
-}
\ No newline at end of file
+}
diff --git a/Raylib-cs/ConfigFlags.cs b/Raylib-cs/types/Core.cs
similarity index 52%
rename from Raylib-cs/ConfigFlags.cs
rename to Raylib-cs/types/Core.cs
index 61b5819..b3eba85 100644
--- a/Raylib-cs/ConfigFlags.cs
+++ b/Raylib-cs/types/Core.cs
@@ -78,4 +78,83 @@ namespace Raylib_cs
///
FLAG_INTERLACED_HINT = 0x00010000,
}
-}
\ No newline at end of file
+
+ /// Trace log level
+ /// NOTE: Organized by priority level
+ public enum TraceLogLevel
+ {
+ ///
+ /// Display all logs
+ ///
+ LOG_ALL = 0,
+
+ ///
+ /// Trace logging, intended for internal use only
+ ///
+ LOG_TRACE,
+
+ ///
+ /// Debug logging, used for internal debugging, it should be disabled on release builds
+ ///
+ LOG_DEBUG,
+
+ ///
+ /// Info logging, used for program execution info
+ ///
+ LOG_INFO,
+
+ ///
+ /// Warning logging, used on recoverable failures
+ ///
+ LOG_WARNING,
+
+ ///
+ /// Error logging, used on unrecoverable failures
+ ///
+ LOG_ERROR,
+
+ ///
+ /// Fatal logging, used to abort program: exit(EXIT_FAILURE)
+ ///
+ LOG_FATAL,
+
+ ///
+ /// Disable logging
+ ///
+ LOG_NONE
+ }
+
+ /// Color blending modes (pre-defined)
+ public enum BlendMode
+ {
+ ///
+ /// Blend textures considering alpha (default)
+ ///
+ BLEND_ALPHA = 0,
+
+ ///
+ /// Blend textures adding colors
+ ///
+ BLEND_ADDITIVE,
+
+ ///
+ /// Blend textures multiplying colors
+ ///
+ BLEND_MULTIPLIED,
+
+ ///
+ /// Blend textures adding colors (alternative)
+ ///
+ BLEND_ADD_COLORS,
+
+ ///
+ /// Blend textures subtracting colors (alternative)
+ ///
+ BLEND_SUBTRACT_COLORS,
+
+ ///
+ /// Blend textures using custom src/dst factors (use rlSetBlendMode())
+ ///
+ BLEND_CUSTOM
+ }
+}
diff --git a/Raylib-cs/types/Font.cs b/Raylib-cs/types/Font.cs
new file mode 100644
index 0000000..7917202
--- /dev/null
+++ b/Raylib-cs/types/Font.cs
@@ -0,0 +1,93 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ /// Font type, defines generation method
+ public enum FontType
+ {
+ ///
+ /// Default font generation, anti-aliased
+ ///
+ FONT_DEFAULT = 0,
+
+ ///
+ /// Bitmap font generation, no anti-aliasing
+ ///
+ FONT_BITMAP,
+
+ ///
+ /// SDF font generation, requires external shader
+ ///
+ FONT_SDF
+ }
+
+ ///
+ /// GlyphInfo, font characters glyphs info
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct GlyphInfo
+ {
+ ///
+ /// Character value (Unicode)
+ ///
+ public int value;
+
+ ///
+ /// Character offset X when drawing
+ ///
+ public int offsetX;
+
+ ///
+ /// Character offset Y when drawing
+ ///
+ public int offsetY;
+
+ ///
+ /// Character advance position X
+ ///
+ public int advanceX;
+
+ ///
+ /// Character image data
+ ///
+ public Image image;
+ }
+
+ ///
+ /// Font, font texture and GlyphInfo array data
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Font
+ {
+ ///
+ /// Base size (default chars height)
+ ///
+ public int baseSize;
+
+ ///
+ /// Number of characters
+ ///
+ public int glyphCount;
+
+ ///
+ /// Padding around the glyph characters
+ ///
+ public int glyphPadding;
+
+ ///
+ /// Texture atlas containing the glyphs
+ ///
+ public Texture2D texture;
+
+ ///
+ /// Rectangles in texture for the glyphs
+ ///
+ public IntPtr recs;
+
+ ///
+ /// Glyphs info data
+ ///
+ public IntPtr glyphs;
+ }
+}
diff --git a/Raylib-cs/PixelFormat.cs b/Raylib-cs/types/Image.cs
similarity index 75%
rename from Raylib-cs/PixelFormat.cs
rename to Raylib-cs/types/Image.cs
index b301b19..4e77382 100644
--- a/Raylib-cs/PixelFormat.cs
+++ b/Raylib-cs/types/Image.cs
@@ -1,3 +1,6 @@
+using System;
+using System.Runtime.InteropServices;
+
namespace Raylib_cs
{
/// Pixel formats
@@ -109,4 +112,38 @@ namespace Raylib_cs
///
PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA
}
-}
\ No newline at end of file
+
+ ///
+ /// Image type, bpp always RGBA (32bit)
+ ///
+ /// NOTE: Data stored in CPU memory (RAM)
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Image
+ {
+ ///
+ /// Image raw data (void *)
+ ///
+ public IntPtr data;
+
+ ///
+ /// Image base width
+ ///
+ public int width;
+
+ ///
+ /// Image base height
+ ///
+ public int height;
+
+ ///
+ /// Mipmap levels, 1 by default
+ ///
+ public int mipmaps;
+
+ ///
+ /// Data format (PixelFormat type)
+ ///
+ public PixelFormat format;
+ }
+}
diff --git a/Raylib-cs/types/Input.cs b/Raylib-cs/types/Input.cs
new file mode 100644
index 0000000..18677ae
--- /dev/null
+++ b/Raylib-cs/types/Input.cs
@@ -0,0 +1,480 @@
+using System;
+using System.Numerics;
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ /// Keyboard keys (US keyboard layout)
+ /// NOTE: Use GetKeyPressed() to allow redefining
+ /// required keys for alternative layouts
+ public enum KeyboardKey
+ {
+ ///
+ /// NULL, used for no key pressed
+ ///
+ KEY_NULL = 0,
+
+ // Alphanumeric keys
+ KEY_APOSTROPHE = 39,
+ KEY_COMMA = 44,
+ KEY_MINUS = 45,
+ KEY_PERIOD = 46,
+ KEY_SLASH = 47,
+ KEY_ZERO = 48,
+ KEY_ONE = 49,
+ KEY_TWO = 50,
+ KEY_THREE = 51,
+ KEY_FOUR = 52,
+ KEY_FIVE = 53,
+ KEY_SIX = 54,
+ KEY_SEVEN = 55,
+ KEY_EIGHT = 56,
+ KEY_NINE = 57,
+ KEY_SEMICOLON = 59,
+ KEY_EQUAL = 61,
+ KEY_A = 65,
+ KEY_B = 66,
+ KEY_C = 67,
+ KEY_D = 68,
+ KEY_E = 69,
+ KEY_F = 70,
+ KEY_G = 71,
+ KEY_H = 72,
+ KEY_I = 73,
+ KEY_J = 74,
+ KEY_K = 75,
+ KEY_L = 76,
+ KEY_M = 77,
+ KEY_N = 78,
+ KEY_O = 79,
+ KEY_P = 80,
+ KEY_Q = 81,
+ KEY_R = 82,
+ KEY_S = 83,
+ KEY_T = 84,
+ KEY_U = 85,
+ KEY_V = 86,
+ KEY_W = 87,
+ KEY_X = 88,
+ KEY_Y = 89,
+ KEY_Z = 90,
+
+ // Function keys
+ KEY_SPACE = 32,
+ KEY_ESCAPE = 256,
+ KEY_ENTER = 257,
+ KEY_TAB = 258,
+ KEY_BACKSPACE = 259,
+ KEY_INSERT = 260,
+ KEY_DELETE = 261,
+ KEY_RIGHT = 262,
+ KEY_LEFT = 263,
+ KEY_DOWN = 264,
+ KEY_UP = 265,
+ KEY_PAGE_UP = 266,
+ KEY_PAGE_DOWN = 267,
+ KEY_HOME = 268,
+ KEY_END = 269,
+ KEY_CAPS_LOCK = 280,
+ KEY_SCROLL_LOCK = 281,
+ KEY_NUM_LOCK = 282,
+ KEY_PRINT_SCREEN = 283,
+ KEY_PAUSE = 284,
+ KEY_F1 = 290,
+ KEY_F2 = 291,
+ KEY_F3 = 292,
+ KEY_F4 = 293,
+ KEY_F5 = 294,
+ KEY_F6 = 295,
+ KEY_F7 = 296,
+ KEY_F8 = 297,
+ KEY_F9 = 298,
+ KEY_F10 = 299,
+ KEY_F11 = 300,
+ KEY_F12 = 301,
+ KEY_LEFT_SHIFT = 340,
+ KEY_LEFT_CONTROL = 341,
+ KEY_LEFT_ALT = 342,
+ KEY_LEFT_SUPER = 343,
+ KEY_RIGHT_SHIFT = 344,
+ KEY_RIGHT_CONTROL = 345,
+ KEY_RIGHT_ALT = 346,
+ KEY_RIGHT_SUPER = 347,
+ KEY_KB_MENU = 348,
+ KEY_LEFT_BRACKET = 91,
+ KEY_BACKSLASH = 92,
+ KEY_RIGHT_BRACKET = 93,
+ KEY_GRAVE = 96,
+
+ // Keypad keys
+ KEY_KP_0 = 320,
+ KEY_KP_1 = 321,
+ KEY_KP_2 = 322,
+ KEY_KP_3 = 323,
+ KEY_KP_4 = 324,
+ KEY_KP_5 = 325,
+ KEY_KP_6 = 326,
+ KEY_KP_7 = 327,
+ KEY_KP_8 = 328,
+ KEY_KP_9 = 329,
+ KEY_KP_DECIMAL = 330,
+ KEY_KP_DIVIDE = 331,
+ KEY_KP_MULTIPLY = 332,
+ KEY_KP_SUBTRACT = 333,
+ KEY_KP_ADD = 334,
+ KEY_KP_ENTER = 335,
+ KEY_KP_EQUAL = 336,
+
+ // Android key buttons
+ KEY_BACK = 4,
+ KEY_MENU = 82,
+ KEY_VOLUME_UP = 24,
+ KEY_VOLUME_DOWN = 25
+ }
+
+ /// Mouse buttons
+ public enum MouseButton
+ {
+ ///
+ /// Mouse button left
+ ///
+ MOUSE_BUTTON_LEFT = 0,
+
+ ///
+ /// Mouse button right
+ ///
+ MOUSE_BUTTON_RIGHT = 1,
+
+ ///
+ /// Mouse button middle (pressed wheel)
+ ///
+ MOUSE_BUTTON_MIDDLE = 2,
+
+ ///
+ /// Mouse button side (advanced mouse device)
+ ///
+ MOUSE_BUTTON_SIDE = 3,
+
+ ///
+ /// Mouse button extra (advanced mouse device)
+ ///
+ MOUSE_BUTTON_EXTRA = 4,
+
+ ///
+ /// Mouse button fordward (advanced mouse device)
+ ///
+ MOUSE_BUTTON_FORWARD = 5,
+
+ ///
+ /// Mouse button back (advanced mouse device)
+ ///
+ MOUSE_BUTTON_BACK = 6,
+
+ MOUSE_LEFT_BUTTON = MOUSE_BUTTON_LEFT,
+ MOUSE_RIGHT_BUTTON = MOUSE_BUTTON_RIGHT,
+ MOUSE_MIDDLE_BUTTON = MOUSE_BUTTON_MIDDLE,
+ }
+
+ /// Mouse cursor
+ public enum MouseCursor
+ {
+ ///
+ /// Default pointer shape
+ ///
+ MOUSE_CURSOR_DEFAULT = 0,
+
+ ///
+ /// Arrow shape
+ ///
+ MOUSE_CURSOR_ARROW = 1,
+
+ ///
+ /// Text writing cursor shape
+ ///
+ MOUSE_CURSOR_IBEAM = 2,
+
+ ///
+ /// Cross shape
+ ///
+ MOUSE_CURSOR_CROSSHAIR = 3,
+
+ ///
+ /// Pointing hand cursor
+ ///
+ MOUSE_CURSOR_POINTING_HAND = 4,
+
+ ///
+ /// Horizontal resize/move arrow shape
+ ///
+ MOUSE_CURSOR_RESIZE_EW = 5,
+
+ ///
+ /// Vertical resize/move arrow shape
+ ///
+ MOUSE_CURSOR_RESIZE_NS = 6,
+
+ ///
+ /// Top-left to bottom-right diagonal resize/move arrow shape
+ ///
+ MOUSE_CURSOR_RESIZE_NWSE = 7,
+
+ ///
+ /// The top-right to bottom-left diagonal resize/move arrow shape
+ ///
+ MOUSE_CURSOR_RESIZE_NESW = 8,
+
+ ///
+ /// The omni-directional resize/move cursor shape
+ ///
+ MOUSE_CURSOR_RESIZE_ALL = 9,
+
+ ///
+ /// The operation-not-allowed shape
+ ///
+ MOUSE_CURSOR_NOT_ALLOWED = 10
+ }
+
+ /// Gamepad axis
+ public enum GamepadAxis
+ {
+ ///
+ /// Gamepad left stick X axis
+ ///
+ GAMEPAD_AXIS_LEFT_X = 0,
+
+ ///
+ /// Gamepad left stick Y axis
+ ///
+ GAMEPAD_AXIS_LEFT_Y = 1,
+
+ ///
+ /// Gamepad right stick X axis
+ ///
+ GAMEPAD_AXIS_RIGHT_X = 2,
+
+ ///
+ /// Gamepad right stick Y axis
+ ///
+ GAMEPAD_AXIS_RIGHT_Y = 3,
+
+ ///
+ /// Gamepad back trigger left, pressure level: [1..-1]
+ ///
+ GAMEPAD_AXIS_LEFT_TRIGGER = 4,
+
+ ///
+ /// Gamepad back trigger right, pressure level: [1..-1]
+ ///
+ GAMEPAD_AXIS_RIGHT_TRIGGER = 5
+ }
+
+ /// Gamepad buttons
+ public enum GamepadButton
+ {
+ ///
+ /// This is here just for error checking
+ ///
+ GAMEPAD_BUTTON_UNKNOWN = 0,
+
+ ///
+ /// Gamepad left DPAD up button
+ ///
+ GAMEPAD_BUTTON_LEFT_FACE_UP,
+
+ ///
+ /// Gamepad left DPAD right button
+ ///
+ GAMEPAD_BUTTON_LEFT_FACE_RIGHT,
+
+ ///
+ /// Gamepad left DPAD down button
+ ///
+ GAMEPAD_BUTTON_LEFT_FACE_DOWN,
+
+ ///
+ /// Gamepad left DPAD left button
+ ///
+ GAMEPAD_BUTTON_LEFT_FACE_LEFT,
+
+ ///
+ /// Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)
+ ///
+ GAMEPAD_BUTTON_RIGHT_FACE_UP,
+
+ ///
+ /// Gamepad right button right (i.e. PS3: Square, Xbox: X)
+ ///
+ GAMEPAD_BUTTON_RIGHT_FACE_RIGHT,
+
+ ///
+ /// Gamepad right button down (i.e. PS3: Cross, Xbox: A)
+ ///
+ GAMEPAD_BUTTON_RIGHT_FACE_DOWN,
+
+ ///
+ /// Gamepad right button left (i.e. PS3: Circle, Xbox: B)
+ ///
+ GAMEPAD_BUTTON_RIGHT_FACE_LEFT,
+
+ // Triggers
+ GAMEPAD_BUTTON_LEFT_TRIGGER_1,
+ GAMEPAD_BUTTON_LEFT_TRIGGER_2,
+ GAMEPAD_BUTTON_RIGHT_TRIGGER_1,
+ GAMEPAD_BUTTON_RIGHT_TRIGGER_2,
+
+ // These are buttons in the center of the gamepad
+
+ ///
+ /// PS3 Select
+ ///
+ GAMEPAD_BUTTON_MIDDLE_LEFT,
+
+ ///
+ /// PS Button/XBOX Button
+ ///
+ GAMEPAD_BUTTON_MIDDLE,
+
+ ///
+ /// PS3 Start
+ ///
+ GAMEPAD_BUTTON_MIDDLE_RIGHT,
+
+ ///
+ /// Left joystick press button
+ ///
+ GAMEPAD_BUTTON_LEFT_THUMB,
+
+ ///
+ /// Right joystick press button
+ ///
+ GAMEPAD_BUTTON_RIGHT_THUMB
+ }
+
+ /// Gestures
+ /// NOTE: It could be used as flags to enable only some gestures
+ [Flags]
+ public enum Gestures
+ {
+ GESTURE_NONE = 0,
+ GESTURE_TAP = 1,
+ GESTURE_DOUBLETAP = 2,
+ GESTURE_HOLD = 4,
+ GESTURE_DRAG = 8,
+ GESTURE_SWIPE_RIGHT = 16,
+ GESTURE_SWIPE_LEFT = 32,
+ GESTURE_SWIPE_UP = 64,
+ GESTURE_SWIPE_DOWN = 128,
+ GESTURE_PINCH_IN = 256,
+ GESTURE_PINCH_OUT = 512
+ }
+
+ /// Head-Mounted-Display device parameters
+ [StructLayout(LayoutKind.Sequential)]
+ public unsafe struct VrDeviceInfo
+ {
+ ///
+ /// HMD horizontal resolution in pixels
+ ///
+ public int hResolution;
+
+ ///
+ /// HMD vertical resolution in pixels
+ ///
+ public int vResolution;
+
+ ///
+ /// HMD horizontal size in meters
+ ///
+ public float hScreenSize;
+
+ ///
+ /// HMD vertical size in meters
+ ///
+ public float vScreenSize;
+
+ ///
+ /// HMD screen center in meters
+ ///
+ public float vScreenCenter;
+
+ ///
+ /// HMD distance between eye and display in meters
+ ///
+ public float eyeToScreenDistance;
+
+ ///
+ /// HMD lens separation distance in meters
+ ///
+ public float lensSeparationDistance;
+
+ ///
+ /// HMD IPD (distance between pupils) in meters
+ ///
+ public float interpupillaryDistance;
+
+ ///
+ /// HMD lens distortion constant parameters
+ ///
+ public fixed float lensDistortionValues[4];
+
+ ///
+ /// HMD chromatic aberration correction parameters
+ ///
+ public fixed float chromaAbCorrection[4];
+ }
+
+ /// VR Stereo rendering configuration for simulator
+ [StructLayout(LayoutKind.Sequential)]
+ public struct VrStereoConfig
+ {
+ ///
+ /// VR projection matrices (per eye)
+ ///
+ public Matrix4x4 projection1;
+
+ ///
+ /// VR projection matrices (per eye)
+ ///
+ public Matrix4x4 projection2;
+
+ ///
+ /// VR view offset matrices (per eye)
+ ///
+ public Matrix4x4 viewOffset1;
+
+ ///
+ /// VR view offset matrices (per eye)
+ ///
+ public Matrix4x4 viewOffset2;
+
+ ///
+ /// VR left lens center
+ ///
+ public Vector2 leftLensCenter;
+
+ ///
+ /// VR right lens center
+ ///
+ public Vector2 rightLensCenter;
+
+ ///
+ /// VR left screen center
+ ///
+ public Vector2 leftScreenCenter;
+
+ ///
+ /// VR right screen center
+ ///
+ public Vector2 rightScreenCenter;
+
+ ///
+ /// VR distortion scale
+ ///
+ public Vector2 scale;
+
+ ///
+ /// VR distortion scale in
+ ///
+ public Vector2 scaleIn;
+ }
+}
diff --git a/Raylib-cs/types/Material.cs b/Raylib-cs/types/Material.cs
new file mode 100644
index 0000000..2252fe6
--- /dev/null
+++ b/Raylib-cs/types/Material.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ /// Material map index
+ public enum MaterialMapIndex
+ {
+ ///
+ /// MAP_DIFFUSE
+ ///
+ MATERIAL_MAP_ALBEDO = 0,
+
+ ///
+ /// MAP_SPECULAR
+ ///
+ MATERIAL_MAP_METALNESS = 1,
+
+ MATERIAL_MAP_NORMAL = 2,
+ MATERIAL_MAP_ROUGHNESS = 3,
+ MATERIAL_MAP_OCCLUSION,
+ MATERIAL_MAP_EMISSION,
+ MATERIAL_MAP_HEIGHT,
+
+ ///
+ /// NOTE: Uses GL_TEXTURE_CUBE_MAP
+ ///
+ MATERIAL_MAP_CUBEMAP,
+
+ ///
+ /// NOTE: Uses GL_TEXTURE_CUBE_MAP
+ ///
+ MATERIAL_MAP_IRRADIANCE,
+
+ ///
+ /// NOTE: Uses GL_TEXTURE_CUBE_MAP
+ ///
+ MATERIAL_MAP_PREFILTER,
+
+ MATERIAL_MAP_BRDF,
+
+ MATERIAL_MAP_DIFFUSE = MATERIAL_MAP_ALBEDO,
+ MATERIAL_MAP_SPECULAR = MATERIAL_MAP_METALNESS,
+ }
+
+ ///
+ /// Material texture map
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct MaterialMap
+ {
+ ///
+ /// Material map texture
+ ///
+ public Texture2D texture;
+
+ ///
+ /// Material map color
+ ///
+ public Color color;
+
+ ///
+ /// Material map value
+ ///
+ public float value;
+ }
+
+ ///
+ /// Material type (generic)
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Material
+ {
+ ///
+ /// Material shader
+ ///
+ public Shader shader;
+
+ ///
+ /// Material maps (MaterialMap *)
+ ///
+ public IntPtr maps;
+
+ ///
+ /// Material generic parameters (if required, float *)
+ ///
+ public IntPtr param;
+ }
+}
diff --git a/Raylib-cs/Mesh.cs b/Raylib-cs/types/Mesh.cs
similarity index 85%
rename from Raylib-cs/Mesh.cs
rename to Raylib-cs/types/Mesh.cs
index 5e2b9d8..c7746a2 100644
--- a/Raylib-cs/Mesh.cs
+++ b/Raylib-cs/types/Mesh.cs
@@ -1,8 +1,31 @@
using System;
+using System.Numerics;
using System.Runtime.InteropServices;
namespace Raylib_cs
{
+ ///
+ /// Transform, vectex transformation data
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Transform
+ {
+ ///
+ /// Translation
+ ///
+ public Vector3 translation;
+
+ ///
+ /// Rotation
+ ///
+ public Vector4 rotation;
+
+ ///
+ /// Scale
+ ///
+ public Vector3 scale;
+ }
+
///
/// Vertex data definning a mesh
/// NOTE: Data stored in CPU memory (and GPU)
@@ -97,4 +120,4 @@ namespace Raylib_cs
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/Raylib-cs/Model.cs b/Raylib-cs/types/Model.cs
similarity index 57%
rename from Raylib-cs/Model.cs
rename to Raylib-cs/types/Model.cs
index 1e4eed2..6d44978 100644
--- a/Raylib-cs/Model.cs
+++ b/Raylib-cs/types/Model.cs
@@ -4,6 +4,23 @@ using System.Runtime.InteropServices;
namespace Raylib_cs
{
+ ///
+ /// Bone information
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct BoneInfo
+ {
+ ///
+ /// Bone name (char[32])
+ ///
+ public IntPtr name;
+
+ ///
+ /// Bone parent
+ ///
+ public int parent;
+ }
+
///
/// Model type
///
@@ -55,4 +72,29 @@ namespace Raylib_cs
///
public IntPtr bindPose;
}
-}
\ No newline at end of file
+
+ /// Model animation
+ [StructLayout(LayoutKind.Sequential)]
+ public struct ModelAnimation
+ {
+ ///
+ /// Number of bones
+ ///
+ public int boneCount;
+
+ ///
+ /// Number of animation frames
+ ///
+ public int frameCount;
+
+ ///
+ /// Bones information (skeleton, BoneInfo *)
+ ///
+ public IntPtr bones;
+
+ ///
+ /// Poses array by frame (Transform **)
+ ///
+ public IntPtr framePoses;
+ }
+}
diff --git a/Raylib-cs/NPatchInfo.cs b/Raylib-cs/types/NPatchInfo.cs
similarity index 65%
rename from Raylib-cs/NPatchInfo.cs
rename to Raylib-cs/types/NPatchInfo.cs
index c9534ad..d44f9ae 100644
--- a/Raylib-cs/NPatchInfo.cs
+++ b/Raylib-cs/types/NPatchInfo.cs
@@ -2,6 +2,25 @@ using System.Runtime.InteropServices;
namespace Raylib_cs
{
+ /// N-patch layout
+ public enum NPatchLayout
+ {
+ ///
+ /// Npatch defined by 3x3 tiles
+ ///
+ NPATCH_NINE_PATCH = 0,
+
+ ///
+ /// Npatch defined by 1x3 tiles
+ ///
+ NPATCH_THREE_PATCH_VERTICAL,
+
+ ///
+ /// Npatch defined by 3x1 tiles
+ ///
+ NPATCH_THREE_PATCH_HORIZONTAL
+ }
+
///
/// N-Patch layout info
///
@@ -38,4 +57,4 @@ namespace Raylib_cs
///
public NPatchLayout layout;
}
-}
\ No newline at end of file
+}
diff --git a/Raylib-cs/RenderTexture2D.cs b/Raylib-cs/types/RenderTexture2D.cs
similarity index 99%
rename from Raylib-cs/RenderTexture2D.cs
rename to Raylib-cs/types/RenderTexture2D.cs
index 6d1ccc4..6aef0d9 100644
--- a/Raylib-cs/RenderTexture2D.cs
+++ b/Raylib-cs/types/RenderTexture2D.cs
@@ -23,4 +23,4 @@ namespace Raylib_cs
///
public Texture2D depth;
}
-}
\ No newline at end of file
+}
diff --git a/Raylib-cs/ShaderLocationIndex.cs b/Raylib-cs/types/Shader.cs
similarity index 52%
rename from Raylib-cs/ShaderLocationIndex.cs
rename to Raylib-cs/types/Shader.cs
index c8c6435..9b520a9 100644
--- a/Raylib-cs/ShaderLocationIndex.cs
+++ b/Raylib-cs/types/Shader.cs
@@ -1,3 +1,6 @@
+using System;
+using System.Runtime.InteropServices;
+
namespace Raylib_cs
{
/// Shader location index
@@ -33,4 +36,44 @@ namespace Raylib_cs
SHADER_LOC_MAP_DIFFUSE = SHADER_LOC_MAP_ALBEDO,
SHADER_LOC_MAP_SPECULAR = SHADER_LOC_MAP_METALNESS,
}
-}
\ No newline at end of file
+
+ // Shader attribute data types
+ public enum ShaderAttributeDataType
+ {
+ SHADER_ATTRIB_FLOAT = 0,
+ SHADER_ATTRIB_VEC2,
+ SHADER_ATTRIB_VEC3,
+ SHADER_ATTRIB_VEC4
+ }
+
+ /// Shader uniform data type
+ public enum ShaderUniformDataType
+ {
+ SHADER_UNIFORM_FLOAT = 0,
+ SHADER_UNIFORM_VEC2,
+ SHADER_UNIFORM_VEC3,
+ SHADER_UNIFORM_VEC4,
+ SHADER_UNIFORM_INT,
+ SHADER_UNIFORM_IVEC2,
+ SHADER_UNIFORM_IVEC3,
+ SHADER_UNIFORM_IVEC4,
+ SHADER_UNIFORM_SAMPLER2D
+ }
+
+ ///
+ /// Shader type (generic)
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Shader
+ {
+ ///
+ /// Shader program id
+ ///
+ public uint id;
+
+ ///
+ /// Shader locations array (MAX_SHADER_LOCATIONS, int *)
+ ///
+ public IntPtr locs;
+ }
+}
diff --git a/Raylib-cs/types/Shapes.cs b/Raylib-cs/types/Shapes.cs
new file mode 100644
index 0000000..15684c6
--- /dev/null
+++ b/Raylib-cs/types/Shapes.cs
@@ -0,0 +1,92 @@
+using System.Numerics;
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ ///
+ /// Rectangle type
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Rectangle
+ {
+ public float x;
+ public float y;
+ public float width;
+ public float height;
+
+ public Rectangle(float x, float y, float width, float height)
+ {
+ this.x = x;
+ this.y = y;
+ this.width = width;
+ this.height = height;
+ }
+ }
+
+ /// Bounding box type
+ [StructLayout(LayoutKind.Sequential)]
+ public struct BoundingBox
+ {
+ ///
+ /// Minimum vertex box-corner
+ ///
+ public Vector3 min;
+
+ ///
+ /// Maximum vertex box-corner
+ ///
+ public Vector3 max;
+
+ public BoundingBox(Vector3 min, Vector3 max)
+ {
+ this.min = min;
+ this.max = max;
+ }
+ }
+
+ /// Ray, ray for raycasting
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Ray
+ {
+ ///
+ /// Ray position (origin)
+ ///
+ public Vector3 position;
+
+ ///
+ /// Ray direction
+ ///
+ public Vector3 direction;
+
+ public Ray(Vector3 position, Vector3 direction)
+ {
+ this.position = position;
+ this.direction = direction;
+ }
+ }
+
+ /// Raycast hit information
+ [StructLayout(LayoutKind.Sequential)]
+ public struct RayCollision
+ {
+ ///
+ /// Did the ray hit something?
+ ///
+ public byte hit;
+
+ ///
+ /// Distance to nearest hit
+ ///
+ public float distance;
+
+ ///
+ /// Position of nearest hit
+ ///
+ public Vector3 point;
+
+ ///
+ /// Surface normal of hit
+ ///
+ public Vector3 normal;
+ }
+}
diff --git a/Raylib-cs/types/Texture2D.cs b/Raylib-cs/types/Texture2D.cs
new file mode 100644
index 0000000..f8c7f0d
--- /dev/null
+++ b/Raylib-cs/types/Texture2D.cs
@@ -0,0 +1,132 @@
+using System.Runtime.InteropServices;
+
+namespace Raylib_cs
+{
+ /// Texture parameters: filter mode
+ /// NOTE 1: Filtering considers mipmaps if available in the texture
+ /// NOTE 2: Filter is accordingly set for minification and magnification
+ public enum TextureFilter
+ {
+ ///
+ /// No filter, just pixel aproximation
+ ///
+ TEXTURE_FILTER_POINT = 0,
+
+ ///
+ /// Linear filtering
+ ///
+ TEXTURE_FILTER_BILINEAR,
+
+ ///
+ /// Trilinear filtering (linear with mipmaps)
+ ///
+ TEXTURE_FILTER_TRILINEAR,
+
+ ///
+ /// Anisotropic filtering 4x
+ ///
+ TEXTURE_FILTER_ANISOTROPIC_4X,
+
+ ///
+ /// Anisotropic filtering 8x
+ ///
+ TEXTURE_FILTER_ANISOTROPIC_8X,
+
+ ///
+ /// Anisotropic filtering 16x
+ ///
+ TEXTURE_FILTER_ANISOTROPIC_16X,
+ }
+
+ /// Texture parameters: wrap mode
+ public enum TextureWrap
+ {
+ ///
+ /// Repeats texture in tiled mode
+ ///
+ TEXTURE_WRAP_REPEAT = 0,
+
+ ///
+ /// Clamps texture to edge pixel in tiled mode
+ ///
+ TEXTURE_WRAP_CLAMP,
+
+ ///
+ /// Mirrors and repeats the texture in tiled mode
+ ///
+ TEXTURE_WRAP_MIRROR_REPEAT,
+
+ ///
+ /// Mirrors and clamps to border the texture in tiled mode
+ ///
+ TEXTURE_WRAP_MIRROR_CLAMP
+ }
+
+ /// Cubemap layouts
+ public enum CubemapLayout
+ {
+ ///
+ /// Automatically detect layout type
+ ///
+ CUBEMAP_LAYOUT_AUTO_DETECT = 0,
+
+ ///
+ /// Layout is defined by a vertical line with faces
+ ///
+ CUBEMAP_LAYOUT_LINE_VERTICAL,
+
+ ///
+ /// Layout is defined by an horizontal line with faces
+ ///
+ CUBEMAP_LAYOUT_LINE_HORIZONTAL,
+
+ ///
+ /// Layout is defined by a 3x4 cross with cubemap faces
+ ///
+ CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR,
+
+ ///
+ /// Layout is defined by a 4x3 cross with cubemap faces
+ ///
+ CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE,
+
+ ///
+ /// Layout is defined by a panorama image (equirectangular map)
+ ///
+ CUBEMAP_LAYOUT_PANORAMA
+ }
+
+ ///
+ /// Texture2D type
+ ///
+ /// NOTE: Data stored in GPU memory
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct Texture2D
+ {
+ ///
+ /// OpenGL texture id
+ ///
+ public uint id;
+
+ ///
+ /// Texture base width
+ ///
+ public int width;
+
+ ///
+ /// Texture base height
+ ///
+ public int height;
+
+ ///
+ /// Mipmap levels, 1 by default
+ ///
+ public int mipmaps;
+
+ ///
+ /// Data format (PixelFormat type)
+ ///
+ public PixelFormat format;
+ }
+}