393 lines
21 KiB
Plaintext
393 lines
21 KiB
Plaintext
changelog
|
|
---------
|
|
|
|
Current Release: raylib 1.5.0 (23 June 2016)
|
|
|
|
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.5.0 (23 June 2016)
|
|
-----------------------------------------------
|
|
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:
|
|
[core] OCULUS RIFT CV1: Added support for VR witha bunch of Oculus-specific functions to init/close device and Oculus rendering.
|
|
[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()
|
|
[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] 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
|
|
|
|
|
|
-----------------------------------------------
|
|
Release: raylib 1.4.0 (22 February 2016)
|
|
-----------------------------------------------
|
|
NOTE:
|
|
This version supposed another big improvement for raylib, including new modules and new features.
|
|
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).
|
|
[physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
|
|
|
|
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
|
|
|
|
-----------------------------------------------
|
|
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.
|
|
Over 50 new functions have been added to previous raylib version.
|
|
Most of the examples have been redone and +10 new advanced examples have been added.
|
|
|
|
BIG changes:
|
|
[rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
|
|
[textures] FORMATS: Support for multiple internal formats, including compressed formats
|
|
[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 (experimental)
|
|
|
|
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] Review of Image struct to support multiple data formats
|
|
[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
|
|
[text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
|
|
[text] Removed function GetFontBaseSize(), use directly spriteFont.size
|
|
[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
|