From 7b971e06236c581087a851c8ecda11bb7be12839 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 2 Jul 2018 18:53:46 +0200 Subject: [PATCH] Added Quaternion typedef --- release/include/raylib.h | 38 ++++++++++++++----------- release/libs/win32/mingw32/libraylib.a | Bin 1116822 -> 1118066 bytes src/raylib.h | 2 ++ src/raymath.h | 16 +++++------ 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/release/include/raylib.h b/release/include/raylib.h index 5542db714..96bf2443d 100644 --- a/release/include/raylib.h +++ b/release/include/raylib.h @@ -3,6 +3,8 @@ * raylib - A simple and easy-to-use library to learn videogames programming (www.raylib.com) * * FEATURES: +* - NO external dependencies, all required libraries included with raylib +* - Multiple platforms support: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, MacOS, UWP, Android, Raspberry Pi, HTML5. * - Written in plain C code (C99) in PascalCase/camelCase notation * - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES2 - choose at compile) * - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] @@ -12,10 +14,8 @@ * - Flexible Materials system, supporting classic maps and PBR maps * - Shaders support, including Model shaders and Postprocessing shaders * - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] -* - Audio loading and playing with streaming support (WAV, OGG, FLAC, XM, MOD) -* - Multiple platforms support: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, MacOS, UWP, Android, Raspberry Pi, HTML5. +* - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) * - VR stereo rendering with configurable HMD device parameters -* - NO external dependencies, all required libraries included with raylib * - Complete bindings to LUA (raylib-lua) and Go (raylib-go) * * NOTES: @@ -33,14 +33,15 @@ * stb_image_resize (Sean Barret) for image resizing algorythms [textures] * stb_image_write (Sean Barret) for image writting (PNG) [utils] * stb_truetype (Sean Barret) for ttf fonts loading [text] +* stb_rect_pack (Sean Barret) for rectangles packing [text] * stb_vorbis (Sean Barret) for OGG audio loading [audio] * stb_perlin (Sean Barret) for Perlin noise image generation [textures] * par_shapes (Philip Rideout) for parametric 3d shapes generation [models] * jar_xm (Joshua Reisenauer) for XM audio module loading [audio] * jar_mod (Joshua Reisenauer) for MOD audio module loading [audio] * dr_flac (David Reid) for FLAC audio file loading [audio] +* dr_mp3 (David Reid) for MP3 audio file loading [audio] * rgif (Charlie Tangora, Ramon Santamaria) for GIF recording [core] -* tinfl for data decompression (DEFLATE algorithm) [rres] * * * LICENSE: zlib/libpng @@ -331,6 +332,8 @@ typedef struct Vector4 { float w; } Vector4; +typedef Vector4 Quaternion; + // Matrix type (OpenGL style 4x4 - right handed, column major) typedef struct Matrix { float m0, m4, m8, m12; @@ -540,12 +543,12 @@ typedef struct VrDeviceInfo { // Enumerators Definition //---------------------------------------------------------------------------------- // Trace log type -typedef enum { +typedef enum { LOG_INFO = 1, - LOG_WARNING = 2, - LOG_ERROR = 4, - LOG_DEBUG = 8, - LOG_OTHER = 16 + LOG_WARNING = 2, + LOG_ERROR = 4, + LOG_DEBUG = 8, + LOG_OTHER = 16 } LogType; // Shader location point type @@ -637,16 +640,16 @@ typedef enum { } TextureFilterMode; // Texture parameters: wrap mode -typedef enum { - WRAP_REPEAT = 0, - WRAP_CLAMP, - WRAP_MIRROR +typedef enum { + WRAP_REPEAT = 0, + WRAP_CLAMP, + WRAP_MIRROR } TextureWrapMode; // Color blending modes (pre-defined) -typedef enum { - BLEND_ALPHA = 0, - BLEND_ADDITIVE, +typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; @@ -964,6 +967,7 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest // Font loading/unloading functions RLAPI Font GetDefaultFont(void); // Get the default Font RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM) +RLAPI Font LoadFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load font from file with extended parameters RLAPI CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int charsCount, bool sdf); // Load font data for further use RLAPI Image GenImageFontAtlas(CharInfo *chars, int fontSize, int charsCount, int padding, int packMethod); // Generate image font atlas using chars info RLAPI void UnloadFont(Font font); // Unload Font from GPU memory (VRAM) @@ -1018,7 +1022,7 @@ RLAPI void ExportMesh(const char *fileName, Mesh mesh); // Mesh manipulation functions RLAPI BoundingBox MeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits -RLAPI void MeshTangents(Mesh *mesh); // Compute mesh tangents +RLAPI void MeshTangents(Mesh *mesh); // Compute mesh tangents RLAPI void MeshBinormals(Mesh *mesh); // Compute mesh binormals // Mesh generation functions diff --git a/release/libs/win32/mingw32/libraylib.a b/release/libs/win32/mingw32/libraylib.a index 0bf3c42129d5bf6a3700448c84bd205fcdf150d6..675b11eae0c6d57d500ade67dc112c44bb35fe77 100644 GIT binary patch delta 70312 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
2NBwZjdTqnX`d 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 MbfEe4e|&-^0Ie3f761SM diff --git a/src/raylib.h b/src/raylib.h index de78b8c3d..96bf2443d 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -332,6 +332,8 @@ typedef struct Vector4 { float w; } Vector4; +typedef Vector4 Quaternion; + // Matrix type (OpenGL style 4x4 - right handed, column major) typedef struct Matrix { float m0, m4, m8, m12; diff --git a/src/raymath.h b/src/raymath.h index a574dd0d0..4e100bc38 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -114,6 +114,14 @@ float y; float z; } Vector3; + + // Quaternion type + typedef struct Quaternion { + float x; + float y; + float z; + float w; + } Quaternion; // Matrix type (OpenGL style 4x4 - right handed, column major) typedef struct Matrix { @@ -122,14 +130,6 @@ float m2, m6, m10, m14; float m3, m7, m11, m15; } Matrix; - - // Quaternion type - typedef struct Quaternion { - float x; - float y; - float z; - float w; - } Quaternion; #endif // NOTE: Helper types to be used instead of array return types for *ToFloat functions