changelog --------- Current Release: raylib 1.3.0 (01 September 2015) NOTE: Only versions marked as 'Release' are available in installer, updates are only available as source. NOTE: Current Release includes all previous updates. ----------------------------------------------- Release: raylib 1.3.0 (01 September 2015) ----------------------------------------------- NOTE: This version supposed a big boost for raylib, new modules have been added with lots of features. Most of the modules have been completely reviewed to accomodate to the new features. BIG changes: [camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person [gestures] NEW MODULE: Gestures system for Android and HTML5 platforms [raygui] NEW MODULE: Set of IMGUI elements for tools development [rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions) [textures] FORMATS: Added support for multiple internal formats, including compressed formats smaller changes: [rlgl] Added check for OpenGL supported extensions [rlgl] Added function SetBlenMode() to select some predefined blending modes [core] Added support for drop&drag of external files into running program [core] Added functions ShowCursor(), HideCursor(), IsCursorHidden() [core] Renamed function SetFlags() to SetConfigFlags() [shapes] Simplified some functions to improve performance [textures] Added function LoadImageEx() [textures] Added function LoadImageRaw() [textures] Added function LoadTextureEx() [textures] Simplified function parameters LoadTextureFromImage() [textures] Added function GetImageData() [textures] Added function GetTextureData() [textures] Renamed function ConvertToPOT() to ImageConvertToPOT() [textures] Added function ImageConvertFormat() [textures] Added function GenTextureMipmaps() [text] Added support for Latin-1 Extended characters for default font [models] Review of struct: Model (added shaders support) [models] Added 3d collision functions (sphere vs sphere vs box vs box) [models] Added function DrawCubeTexture() [models] Added function DrawQuad() [models] Added function DrawRay() [models] Simplified funtion DrawPlane() [models] Removed function DrawPlaneEx() [models] Simplified funtion DrawGizmo() [models] Removed function DrawGizmoEx() [models] Added function LoadModelEx() [models] Review of function LoadCubicMap() [models] Added function ResolveCollisionCubicmap() [audio] Decopupled from raylib, now this module can be used as standalone [audio] Added function UpdateMusicStream() [raymath] Complete review of the module [stb] Updated to latest headers versions [*] Lots of tweaks around ----------------------------------------------- Release: raylib 1.2.2 (31 December 2014) ----------------------------------------------- [*] Added support for HTML5 compiling (emscripten, asm.js) [core] Corrected bug on input handling (keyboard and mouse) [textures] Renamed function CreateTexture() to LoadTextureFromImage() [textures] Added function ConvertToPOT() [rlgl] Added support for color tint on models on GL 3.3+ and ES2 [rlgl] Added support for normals on models [models] Corrected bug on DrawBillboard() [models] Corrected bug on DrawHeightmap() [models] Renamed LoadCubesmap() to LoadCubicmap() [audio] Added function LoadSoundFromWave() [makefile] Added support for Linux and OSX compiling [stb] Updated to latest headers versions [*] Lots of tweaks around --------------------------------------------------------------- Update: raylib 1.2.1 (17 October 2014) (Small Fixes Update) --------------------------------------------------------------- [core] Added function SetupFlags() to preconfigure raylib Window [core] Corrected bug on fullscreen mode [rlgl] rlglDrawmodel() - Added rotation on Y axis [text] MeasureTextEx() - Corrected bug on measures for default font ----------------------------------------------- Release: raylib 1.2 (16 September 2014) ----------------------------------------------- NOTE: This version supposed a complete redesign of the [core] module to support Android and Raspberry Pi. Multiples modules have also been tweaked to accomodate to the new platforms, specially [rlgl] [core] Added multiple platforms support: Android and Raspberry Pi [core] InitWindow() - Complete rewrite and split for Android [core] InitDisplay() - Internal function added to calculate proper display size [core] InitGraphics() - Internal function where OpenGL graphics are initialized [core] Complete refactoring of input functions to accomodate to new platforms [core] Mouse and Keyboard raw data reading functions added for Raspberry Pi [core] GetTouchX(), GetTouchY() - Added for Android [core] Added Android callbacks to process inputs and Android activity commands [rlgl] Adjusted buffers depending on platform [rlgl] Added security check in case deployed vertex excess buffer size [rlgl] Adjusted indices type depending on GL version (int or short) [rlgl] Fallback to VBOs only usage if VAOs not supported on ES2 [rlgl] rlglLoadModel() stores vbo ids on new Model struct [textures] Added support for PKM files (ETC1, ETC2 compression support) [shapes] DrawRectangleV() - Modified, depending on OGL version uses TRIANGLES or QUADS [text] LoadSpriteFont() - Modified to use LoadImage() [models] Minor changes on models loading to accomodate to new Model struct [audio] PauseMusicStream(), ResumeMusicStream() - Added [audio] Reduced music buffer size to avoid stalls on Raspberry Pi [src] Added makefile for Windows and RPI [src] Added resources file (raylib icon and executable info) [examples] Added makefile for Windows and RPI [examples] Renamed and merged with test examples for coherence with module names [templates] Added multiple templates to be use as a base-code for games ----------------------------------------------- Release: raylib 1.1.1 (22 July 2014) ----------------------------------------------- [core] ShowLogo() - To enable raylib logo animation at startup [core] Corrected bug with window resizing [rlgl] Redefined colors arrays to use byte instead of float [rlgl] Removed double buffer system (no performance improvement) [rlgl] rlglDraw() - Reorganized buffers drawing order [rlgl] Corrected bug on screen resizing [shapes] DrawRectangle() - Use QUADS instead of TRIANGLES [models] DrawSphereWires() - Corrected some issues [models] LoadOBJ() - Redesigned to support multiple meshes [models] LoadCubesMap() - Loading a map as cubes (by pixel color) [textures] Added security check if file doesn't exist [text] Corrected bug on SpriteFont loading [examples] Corrected some 3d examples [test] Added cubesmap loading test ----------------------------------------------- Release: raylib 1.1.0 (19 April 2014) ----------------------------------------------- NOTE: This version supposed a complete internal redesign of the library to support OpenGL 3.3+ and OpenGL ES 2.0. New module [rlgl] has been added to 'translate' immediate mode style functions (i.e. rlVertex3f()) to GL 1.1, 3.3+ or ES2. Another new module [raymath] has also been added with lot of useful 3D math vector-matrix-quaternion functions. [rlgl] New module, abstracts OpenGL rendering (multiple versions support) [raymath] New module, useful 3D math vector-matrix-quaternion functions [core] Adapt all OpenGL code (initialization, drawing) to use [rlgl] [shapes] Rewrite all shapes drawing functions to use [rlgl] [textures] Adapt texture GPU loading to use [rlgl] [textures] Added support for DDS images (compressed and uncompressed) [textures] CreateTexture() - Redesigned to add mipmap automatic generation [textures] DrawTexturePro() - Redesigned and corrected bugs [models] Rewrite all 3d-shapes drawing functions to use [rlgl] [models] Adapt model loading and drawing to use [rlgl] [models] Model struct updated to include texture id [models] SetModelTexture() - Added, link a texture to a model [models] DrawModelEx() - Redesigned with extended parameters [audio] Added music streaming support (OGG files) [audio] Added support for OGG files as Sound [audio] PlayMusicStream() - Added, open a new music stream and play it [audio] StopMusicStream() - Added, stop music stream playing and close stream [audio] PauseMusicStream() - Added, pause music stream playing [audio] MusicIsPlaying() - Added, to check if music is playing [audio] SetMusicVolume() - Added, set volume for music [audio] GetMusicTimeLength() - Added, get current music time length (in seconds) [audio] GetMusicTimePlayed() - Added, get current music time played (in seconds) [utils] Added log tracing functionality - TraceLog(), TraceLogOpen(), TraceLogClose() [*] Log tracing messages all around the code ----------------------------------------------- Release: raylib 1.0.6 (16 March 2014) ----------------------------------------------- [core] Removed unused lighting-system code [core] Removed SetPerspective() function, calculated directly [core] Unload and reload default font on fullscreen toggle [core] Corrected bug gamepad buttons checking if no gamepad available [texture] DrawTextureV() - Added, to draw using Vector2 for position [texture] LoadTexture() - Redesigned, now uses LoadImage() + CreateTexture() [text] FormatText() - Corrected memory leak bug [models] Added Matrix struct and related functions [models] DrawBillboard() - Reviewed, now it works! [models] DrawBillboardRec() - Reviewed, now it works! [tests] Added folder with multiple tests for new functions ----------------------------------------------- Update: raylib 1.0.5 (28 January 2014) ----------------------------------------------- [audio] LoadSound() - Corrected a bug, WAV file was not closed! [core] GetMouseWheelMove() - Added, check mouse wheel Y movement [texture] CreateTexture2D() renamed to CreateTexture() [models] LoadHeightmap() - Added, Heightmap can be loaded as a Model [tool] rREM updated, now supports (partially) drag and drop of files ----------------------------------------------- Release: raylib 1.0.4 (23 January 2014) ----------------------------------------------- [tool] Published a first alpha version of rREM tool (raylib Resource Embedder) [core] GetRandomValue() - Bug corrected, now works right [core] Fade() - Added, fades a color to an alpha percentadge [core] WriteBitmap() - Moved to new module: utils.c, not used anymore [core] TakeScreenshot() - Now uses WritePNG() (utils.c) [utils] New module created with utility functions [utils] WritePNG() - Write a PNG file (used by TakeScreenshot() on core) [utils] DecompressData() - Added, used for rRES resource data decompresion [textures] LoadImageFromRES() - Added, load an image from a rRES resource file [textures] LoadTextureFromRES() - Added, load a texture from a rRES resource file [audio] LoadSoundFromRES() - Added, load a sound from a rRES resource file [audio] IsPlaying() - Added, check if a sound is currently playing [audio] SetVolume() - Added, set the volume for a sound [audio] SetPitch() - Added, set the pitch for a sound [examples] ex06a_color_select completed [examples] ex06b_logo_anim completed [examples] ex06c_font select completed ----------------------------------------------- Release: raylib 1.0.3 (19 December 2013) ----------------------------------------------- [fonts] Added 8 rBMF free fonts to be used on projects! [text] LoadSpriteFont() - Now supports rBMF file loading (raylib Bitmap Font) [examples] ex05a_sprite_fonts completed [examples] ex05b_rbmf_fonts completed [core] InitWindowEx() - InitWindow with extended parameters, resizing option and custom cursor! [core] GetRandomValue() - Added, returns a random value within a range (int) [core] SetExitKey() - Added, sets a key to exit program (default is ESC) [core] Custom cursor not drawn when mouse out of screen [shapes] CheckCollisionPointRec() - Added, check collision between point and rectangle [shapes] CheckCollisionPointCircle() - Added, check collision between point and circle [shapes] CheckCollisionPointTriangle() - Added, check collision between point and triangle [shapes] DrawPoly() - Added, draw regular polygons of n sides, rotation can be defined! ----------------------------------------------- Release: raylib 1.0.2 (1 December 2013) ----------------------------------------------- [text] GetDefaultFont() - Added, get default SpriteFont to be used on DrawTextEx() [shapes] CheckCollisionRecs() - Added, check collision between rectangles [shapes] CheckCollisionCircles() - Added, check collision between circles [shapes] CheckCollisionCircleRec() - Added, check collision circle-rectangle [shapes] GetCollisionRec() - Added, get collision rectangle [textures] CreateTexture2D() - Added, create Texture2D from Image data [audio] Fixed WAV loading function, now audio works! ----------------------------------------------- Update: raylib 1.0.1 (28 November 2013) ----------------------------------------------- [text] DrawText() - Removed spacing parameter [text] MeasureText() - Removed spacing parameter [text] DrawFps() - Renamed to DrawFPS() for coherence with similar function [core] IsKeyPressed() - Change functionality, check if key pressed once [core] IsKeyDown() - Added, check if key is being pressed [core] IsKeyReleased() - Change functionality, check if key released once [core] IsKeyUp() - Added, check if key is being NOT pressed [core] IsMouseButtonDown() - Added, check if mouse button is being pressed [core] IsMouseButtonPressed() - Change functionality, check if mouse button pressed once [core] IsMouseButtonUp() - Added, check if mouse button is NOT being pressed [core] IsMouseButtonReleased() - Change functionality, check if mouse button released once [textures] DrawTexturePro() - Added, texture drawing with 'pro' parameters [examples] Function changes applied to ALL examples ----------------------------------------------- Release: raylib 1.0.0 (18 November 2013) ----------------------------------------------- * Initial version * 6 Modules provided: - core: basic window/context creation functions, input management, timming functions - shapes: basic shapes drawing functions - textures: image data loading and conversion to OpenGL textures - text: text drawing, sprite fonts loading, default font loading - models: basic 3d shapes drawing, OBJ models loading and drawing - audio: audio device initialization, WAV files loading and playing