raylib/CHANGELOG

395 lines
21 KiB
Plaintext
Raw Normal View History

changelog
---------
Current Release: raylib 1.5.0 (xx June 2016)
2013-11-30 21:17:41 +04:00
NOTE: Only versions marked as 'Release' are available in installer, updates are only available as source.
2013-11-30 21:17:41 +04:00
NOTE: Current Release includes all previous updates.
2016-06-09 02:23:07 +03:00
-----------------------------------------------
Release: raylib 1.5.0 (xx June 2016)
2016-06-09 02:23:07 +03:00
-----------------------------------------------
NOTE:
Probably this new version is the biggest boost of the library ever, lots of parts of the library have been redesigned,
lots of bugs have been solved and some **AMAZING** new features have been added.
HUGE changes:
[rlgl] OCULUS RIFT CV1: Added support for VR witha bunch of Oculus-specific functions to init/close device and Oculus rendering.
2016-06-09 02:23:07 +03:00
[rlgl] MATERIALS SYSTEM: Added support for Materials (.mtl) and multiple material properties: diffuse, specular, normal.
[rlgl] LIGHTING SYSTEM: Added support for up to 8 lights of 3 different types: Omni, Directional and Spot
[physac] REDESIGNED: Improved performance and simplified usage, physic objects are managed internally
[audio] CHIPTUNES: Added support for module audio music (.xm, .mod) loading and playing
other changes:
[core] Review Android button inputs
[core] Support Android internal data storage
[core] Renamed WorldToScreen() to GetWorldToScreen()
[core] Removed function SetCustomCursor()
[core] Removed functions BeginDrawingEx(), BeginDrawingPro()
2016-06-25 23:42:35 +03:00
[core] Replaced functions InitDisplay() + InitGraphics() with: InitGraphicsDevice()
2016-06-09 02:23:07 +03:00
[core] Added support for field-of-view Y (fovy) on 3d Camera
[core] Added 2D camera mode functions: Begin2dMode() - End2dMode()
[core] Translate mouse inputs to Android touch/gestures internally
[core] Translate mouse inputs as touch inputs in HTML5
[core] Improved function GetKeyPressed() to support multiple keys (including function keys)
[core] Improved gamepad support, specially for RaspberryPi (including multiple gamepads support)
[rlgl] Improved 2D vs 3D drawing system (lines, triangles, quads)
[rlgl] Improved DXT-ETC1 support on HTML5
[rlgl] Review function: rlglUnproject()
[rlgl] Updated Mesh and Shader structs
[rlgl] Simplified internal (default) dynamic buffers
[rlgl] Added support for indexed and dynamic mesh data
[rlgl] Set fixed vertex attribs location points
[rlgl] Improved mesh data loading support
[rlgl] Added standard shader (embeded) to support materials and lighting: standard_shader.h
[rlgl] Added light functions: CreateLight(), DestroyLight()
[rlgl] Added wire mode functions: rlDisableWireMode(), rlEnableWireMode()
[rlgl] Review function consistency, added: rlglLoadMesh(), rlglUpdateMesh(), rlglDrawMesh(), rlglUnloadMesh()
[rlgl] Replaced SetCustomShader() by: BeginShaderMode() - EndShaderMode()
[rlgl] Replaced SetBlendMode() by: BeginBlendMode() - EndBlendMode()
[rlgl] Added functions to customize internal matrices: SetMatrixProjection(), SetMatrixModelview()
[rlgl] Unified internal shaders to only one default shader
[rlgl] Added support for render to texture (RenderTexture2D):
LoadRenderTexture() - UnloadRenderTexture()
BeginTextureMode() - EndTextureMode()
[rlgl] Removed SetShaderMap*() functions
[rlgl] Redesigned default buffers usage functions:
LoadDefaultBuffers() - UnloadDefaultBuffers()
UpdateDefaultBuffers() - DrawDefaultBuffers()
[shapes] Corrected bug on GetCollisionRec()
[textures] Added support for Nearest-Neighbor image scaling
[textures] Added functions to draw text on image: ImageDrawText(), ImageDrawTextEx()
[text] Reorganized internal functions: Added LoadImageFont()
[text] Security check for unsupported BMFonts
[models] Split mesh creation from model loading on heightmap and cubicmap
[models] Updated BoundingBox collision detections
[models] Added color parameter to DrawBoundigBox()
[models] Removed function: DrawQuad()
[models] Removed function: SetModelTexture()
2016-06-09 02:23:07 +03:00
[models] Redesigned DrawPlane() to use RL_TRIANGLES
[models] Redesigned DrawRectangleV() to use RL_TRIANGLES
[models] Redesign to accomodate new materials system: LoadMaterial()
[models] Added material functions: LoadDefaultMaterial(), LoadStandardMaterial()
[models] Added MTL material loading support: LoadMTL()
[models] Added function: DrawLight()
[audio] Renamed SoundIsPlaying() to IsSoundPlaying()
[audio] Renamed MusicIsPlaying() to IsMusicPlaying()
[audio] Support multiple Music streams (indexed)
[gestures] Improved and reviewed gestures system
[raymath] Added QuaternionInvert()
[raymath] Removed function: PrintMatrix()
[raygui] Ported to header-only library
[shaders] Added depth drawing shader (requires a depth texture)
[shaders] Reviewed included shaders and added comments
[OpenAL Soft] Updated to latest version (1.17.2)
[GLFW3] Updated to latest version (3.2)
[GLAD] Converted to header only library
[stb] Updated to latest headers versions
[*] Reorganize library folders: external libs moved to src/external folder
[*] Reorganize src folder for Android library
[*] Review external dependencies usage
[*] Improved Linux and OSX build systems
[*] Lots of tweaks and bugs corrected all around
2016-02-21 04:27:34 +03:00
-----------------------------------------------
Release: raylib 1.4.0 (22 February 2016)
-----------------------------------------------
NOTE:
2016-06-09 02:23:07 +03:00
This version supposed another big improvement for raylib, including new modules and new features.
2016-02-21 04:27:34 +03:00
More than 30 new functions have been added to previous raylib version.
Around 8 new examples and +10 new game samples have been added.
BIG changes:
[textures] IMAGE MANIPULATION: Functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
[text] SPRITEFONT SUPPORT: Added support for AngelCode fonts (.fnt) and TrueType fonts (.ttf).
[gestures] REDESIGN: Gestures system simplified and prepared to process generic touch events, including mouse events (multiplatform).
2016-02-21 04:29:11 +03:00
[physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
2016-02-21 04:27:34 +03:00
other changes:
[rlgl] Removed GLEW library dependency, now using GLAD
[rlgl] Implemented alternative to glGetTexImage() on OpenGL ES
[rlgl] Using depth data on batch drawing
[rlgl] Reviewed glReadPixels() function
[core][rlgl] Reviewed raycast system, now 3D picking works
[core] Android: Reviewed Android App cycle, paused if inactive
[shaders] Implemented Blinn-Phong lighting shading model
[textures] Implemented Floyd-Steinberg dithering - ImageDither()
[text] Added line-break support to DrawText()
[text] Added TrueType Fonts support (using stb_truetype)
[models] Implement function: CalculateBoundingBox(Mesh mesh)
[models] Added functions to check Ray collisions
[models] Improve map resolution control on LoadHeightmap()
[camera] Corrected small-glitch on zoom-in with mouse-wheel
[gestures] Implemented SetGesturesEnabled() to enable only some gestures
[gestures] Implemented GetElapsedTime() on Windows system
[gestures] Support mouse gestures for desktop platforms
[raymath] Complete review of the module and converted to header-only
[easings] Added new module for easing animations
[stb] Updated to latest headers versions
[*] Lots of tweaks around
2015-08-05 20:20:02 +03:00
-----------------------------------------------
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.
2015-08-30 18:46:52 +03:00
Over 50 new functions have been added to previous raylib version.
2015-09-02 02:06:08 +03:00
Most of the examples have been redone and +10 new advanced examples have been added.
2015-08-05 20:20:02 +03:00
BIG changes:
2015-09-02 23:25:50 +03:00
[rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
[textures] FORMATS: Support for multiple internal formats, including compressed formats
2015-08-05 20:20:02 +03:00
[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
2015-09-02 23:25:50 +03:00
[raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
2015-08-05 20:20:02 +03:00
smaller changes:
[rlgl] Added check for OpenGL supported extensions
2015-08-27 17:08:49 +03:00
[rlgl] Added function SetBlenMode() to select some predefined blending modes
2015-08-05 20:20:02 +03:00
[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
2015-08-30 18:46:52 +03:00
[textures] Review of Image struct to support multiple data formats
2015-08-05 20:20:02 +03:00
[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
2015-08-30 18:46:52 +03:00
[text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
[text] Removed function GetFontBaseSize(), use directly spriteFont.size
2015-08-05 20:20:02 +03:00
[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
2014-12-31 21:25:50 +03:00
-----------------------------------------------
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
2014-12-31 21:25:50 +03:00
[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
2014-12-31 21:25:50 +03:00
[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
2014-09-21 20:39:12 +04:00
[examples] Renamed and merged with test examples for coherence with module names
2014-09-18 21:22:06 +04:00
[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!
-----------------------------------------------
2013-12-01 15:37:23 +04:00
Release: raylib 1.0.2 (1 December 2013)
2013-11-30 15:46:57 +04:00
-----------------------------------------------
[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
2013-12-01 15:35:39 +04:00
[audio] Fixed WAV loading function, now audio works!
2013-11-30 15:46:57 +04:00
-----------------------------------------------
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
2013-11-29 23:02:24 +04:00
[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
-----------------------------------------------
2013-11-30 15:46:57 +04:00
Release: raylib 1.0.0 (18 November 2013)
-----------------------------------------------
* Initial version
* 6 Modules provided:
2013-11-30 15:46:57 +04:00
- 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